*{margin:0;padding:0;box-sizing:border-box}
:root{
  --burgundy:#5c1a1a;
  --burgundy-deep:#3d1010;
  --burgundy-mid:#7a2525;
  --burgundy-light:#a03030;
  --concrete:#b0aeab;
  --concrete-light:#d4d2cf;
  --concrete-dark:#6e6c69;
  --off-white:#f5f3f0;
  --cream:#ede9e4;
  --near-black:#111010;
  --dark:#1a1717;
  --text-main:#1a1717;
  --text-muted:#6e6c69;
}
body.dark-mode{
  --off-white: #111010;
  --cream: #1a1717;
  --text-main: #f5f3f0;
  --text-muted: #b0aeab;
  --burgundy: #a03030;
  --burgundy-deep: #7a2525;
}
body.dark-mode nav.scrolled {
  background: rgba(17, 16, 16, .95);
  border-bottom: 1px solid rgba(160, 48, 48, .2);
}
body.dark-mode .mega-menu {
  background: #1a1717;
  border-color: rgba(255,255,255,0.05);
}
body.dark-mode .product-card {
  background: #1a1717;
}
body.dark-mode .cart-item, body.dark-mode .admin-section, body.dark-mode .checkout-form {
  background: #1a1717;
}
body.dark-mode input, body.dark-mode select, body.dark-mode textarea {
  background: #111010;
  color: #f5f3f0;
  border-color: #333;
}
body.dark-mode .theme-btn {
  color: #f5f3f0;
}
.theme-btn {
  background: none; border: none; font-size: 1.2rem; cursor: pointer; color: var(--text-main); transition: transform 0.2s; padding: 0 10px;
}
.theme-btn:hover { transform: scale(1.1); }
html{scroll-behavior:smooth}
body{background:var(--off-white);color:var(--text-main);font-family:'Montserrat',sans-serif;overflow-x:hidden}

/* CURSOR */
.cursor{position:fixed;width:8px;height:8px;background:var(--burgundy);border-radius:50%;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);transition:transform .15s}
.cursor-ring{position:fixed;width:32px;height:32px;border:1px solid var(--burgundy);border-radius:50%;pointer-events:none;z-index:9998;transform:translate(-50%,-50%);transition:all .2s ease;opacity:.5}
body:hover .cursor,body:hover .cursor-ring{opacity:1}

/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:1.4rem 3rem;transition:background .4s,backdrop-filter .4s}
nav.scrolled{background:rgba(245,243,240,.95);backdrop-filter:blur(12px);border-bottom:1px solid rgba(92,26,26,.1)}
.nav-logo{font-family:'UnifrakturMaguntia',cursive;font-size:1.8rem;color:var(--burgundy);letter-spacing:.02em;text-decoration:none}
.nav-links{display:flex;gap:2.5rem;list-style:none;align-items:center}
.nav-links a{font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;color:var(--text-muted);text-decoration:none;transition:color .2s;font-weight:500}
.nav-links a:hover{color:var(--burgundy)}
.nav-right{display:flex;align-items:center;gap:2rem}
.nav-cart{background:var(--burgundy);color:var(--off-white);font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;padding:.55rem 1.4rem;border:none;cursor:pointer;font-family:'Montserrat',sans-serif;font-weight:500;transition:background .2s;text-decoration:none;}
.nav-cart:hover{background:var(--burgundy-deep)}

/* MEGA MENU */
.nav-item { position: relative; padding: 1.4rem 0; }
.mega-menu {
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%) translateY(10px);
    background: #fff;
    border: 1px solid rgba(0,0,0,0.05);
    padding: 2.5rem;
    display: flex;
    gap: 4rem;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
    box-shadow: 0 10px 30px rgba(0,0,0,0.05);
    min-width: max-content;
    border-top: 2px solid var(--burgundy);
}
.nav-item:hover .mega-menu {
    opacity: 1;
    visibility: visible;
    transform: translateX(-50%) translateY(0);
}
.mega-col {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}
.mega-title {
    font-size: 0.65rem;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--near-black);
    font-weight: 600;
    margin-bottom: 0.5rem;
}
.mega-link {
    font-size: 0.6rem;
    color: var(--text-muted);
    text-decoration: none;
    text-transform: uppercase;
    transition: color 0.2s;
    letter-spacing: 0.1em;
}
.mega-link:hover {
    color: var(--burgundy);
}

/* HERO */
.hero{position:relative;height:100vh;overflow:hidden;display:flex;align-items:flex-end}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(26,23,23,.1) 0%,rgba(26,23,23,.0) 40%,rgba(26,23,23,.55) 100%)}
.hero-content{position:relative;z-index:2;padding:0 3rem 4rem;width:100%}
.hero-eyebrow{font-size:.6rem;letter-spacing:.35em;text-transform:uppercase;color:rgba(245,243,240,.7);margin-bottom:1rem;font-weight:400}
.hero-title{font-family:'Cormorant Garamond',serif;font-size:clamp(4rem,9vw,7.5rem);font-weight:300;color:var(--off-white);line-height:.92;margin-bottom:1.8rem;letter-spacing:-.01em}
.hero-title em{font-style:italic;font-weight:300}
.hero-sub{font-size:.65rem;letter-spacing:.15em;color:rgba(245,243,240,.65);text-transform:uppercase;margin-bottom:2.2rem;font-weight:400;max-width:380px;line-height:2}
.hero-ctas{display:flex;gap:1rem;align-items:center}
.btn-light{background:var(--off-white);color:var(--burgundy);font-family:'Montserrat',sans-serif;font-size:.6rem;letter-spacing:.22em;text-transform:uppercase;padding:.85rem 2.2rem;border:none;cursor:pointer;font-weight:500;transition:all .25s;text-decoration:none;}
.btn-light:hover{background:var(--cream)}
.btn-outline-light{background:transparent;color:var(--off-white);font-family:'Montserrat',sans-serif;font-size:.6rem;letter-spacing:.22em;text-transform:uppercase;padding:.85rem 2.2rem;border:1px solid rgba(245,243,240,.4);cursor:pointer;font-weight:500;transition:all .25s;text-decoration:none;}
.btn-outline-light:hover{border-color:var(--off-white);background:rgba(245,243,240,.08)}
.hero-scroll{position:absolute;bottom:2rem;right:3rem;z-index:2;display:flex;flex-direction:column;align-items:center;gap:.5rem}
.scroll-line{width:1px;height:50px;background:rgba(245,243,240,.3);position:relative;overflow:hidden}
.scroll-line::after{content:'';position:absolute;top:-100%;left:0;width:100%;height:100%;background:var(--off-white);animation:scrolldown 2s ease-in-out infinite}
@keyframes scrolldown{0%{top:-100%}100%{top:100%}}
.scroll-label{font-size:.45rem;letter-spacing:.3em;color:rgba(245,243,240,.5);text-transform:uppercase;writing-mode:vertical-rl}

/* MARQUEE */
.marquee-wrap{background:var(--burgundy);padding:.75rem 0;overflow:hidden}
.marquee-inner{display:flex;gap:5rem;animation:marq 22s linear infinite;white-space:nowrap}
.marquee-item{font-family:'Cormorant Garamond',serif;font-size:1.05rem;font-style:italic;font-weight:300;color:rgba(245,243,240,.7);letter-spacing:.08em}
.marquee-item strong{font-style:normal;font-weight:600;color:var(--off-white);font-family:'Montserrat',sans-serif;font-size:.6rem;letter-spacing:.2em;vertical-align:middle;margin:0 .3rem}
@keyframes marq{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* SECTION BASE */
section{padding:6rem 3rem}
.s-label{font-size:.55rem;letter-spacing:.35em;text-transform:uppercase;color:var(--burgundy);margin-bottom:1rem;font-weight:500}
.s-title{font-family:'Cormorant Garamond',serif;font-size:clamp(2.5rem,5vw,4rem);font-weight:300;color:var(--text-main);line-height:1;margin-bottom:.5rem;letter-spacing:-.01em}
.s-title em{font-style:italic}
.s-rule{width:32px;height:1px;background:var(--burgundy);margin-bottom:2.5rem}

/* COLLECTION GRID */
.collection-hdr{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:3rem}
.btn-text{background:none;border:none;font-family:'Montserrat',sans-serif;font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--text-muted);cursor:pointer;padding:0;border-bottom:1px solid transparent;padding-bottom:2px;transition:all .2s;text-decoration:none;}
.btn-text:hover{color:var(--burgundy);border-bottom-color:var(--burgundy)}
.collection-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1.5rem}
.product-card{background:var(--cream);position:relative;cursor:pointer;overflow:hidden;text-decoration:none;display:block;}
.product-card:hover .card-img{transform:scale(1.04)}
.product-card:hover .card-actions{opacity:1;transform:translateY(0)}
.card-img-wrap{aspect-ratio:3/4;overflow:hidden;position:relative;background:var(--concrete-light)}
.card-img-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.placeholder-video{width:100%;height:100%;object-fit:cover;object-position:center top}
.card-img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease;display:flex;align-items:center;justify-content:center}
.card-badge{position:absolute;top:1rem;left:1rem;z-index:2;font-size:.45rem;letter-spacing:.2em;text-transform:uppercase;padding:.3rem .7rem;font-weight:600}
.badge-new{background:var(--burgundy);color:var(--off-white)}
.badge-sold{background:var(--concrete-dark);color:var(--off-white)}
.badge-value{background:var(--near-black);color:var(--off-white)}
.card-actions{position:absolute;bottom:0;left:0;right:0;z-index:3;padding:1rem;opacity:0;transform:translateY(8px);transition:all .3s ease}
.btn-add{width:100%;background:var(--burgundy);color:var(--off-white);font-family:'Montserrat',sans-serif;font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;padding:.75rem;border:none;cursor:pointer;font-weight:500;transition:background .2s}
.btn-add:hover{background:var(--burgundy-deep)}
.btn-add.sold{background:var(--concrete-dark);cursor:default}
.card-info{padding:1.2rem 1rem 1.4rem}
.card-cat{font-size:.5rem;letter-spacing:.25em;text-transform:uppercase;color:var(--text-muted);margin-bottom:.4rem;font-weight:500}
.card-name{font-family:'Cormorant Garamond',serif;font-size:1.25rem;font-weight:400;color:var(--text-main);margin-bottom:.6rem;letter-spacing:.01em}
.card-foot{display:flex;justify-content:space-between;align-items:center}
.card-price{font-size:.85rem;font-weight:500;color:var(--text-main);letter-spacing:.05em}
.card-stock{font-size:.5rem;letter-spacing:.15em;text-transform:uppercase;color:var(--text-muted)}
.card-stock.low{color:var(--burgundy-light)}

/* THE VALUE */
.value-section{background:var(--near-black);padding:7rem 3rem}
.value-inner{display:grid;grid-template-columns:1fr 1fr;gap:6rem;align-items:center}
.value-visual{position:relative}
.value-video{width:100%;aspect-ratio:9/16;object-fit:cover;object-position:center top;display:block}
.value-frame{position:absolute;inset:-12px;border:1px solid rgba(92,26,26,.4);pointer-events:none}
.value-badge-float{position:absolute;top:1.5rem;right:-1.5rem;background:var(--burgundy);padding:1rem 1.4rem;writing-mode:vertical-rl;font-size:.5rem;letter-spacing:.3em;text-transform:uppercase;color:var(--off-white);font-weight:600}
.value-content .s-label{color:var(--burgundy-light)}
.value-content .s-title{color:var(--off-white)}
.value-content .s-rule{background:var(--burgundy-light)}
.value-desc{font-size:.7rem;line-height:2;color:var(--concrete);margin-bottom:2.5rem;font-weight:300;letter-spacing:.04em}
.value-perks{list-style:none;margin-bottom:2.5rem;border-top:1px solid rgba(176,174,171,.1)}
.value-perks li{font-size:.62rem;color:var(--concrete);letter-spacing:.08em;padding:.85rem 0;border-bottom:1px solid rgba(176,174,171,.1);display:flex;gap:1rem;align-items:flex-start;line-height:1.7;font-weight:300}
.value-perks li::before{content:'—';color:var(--burgundy-light);flex-shrink:0;margin-top:.05rem}
.btn-primary{background:var(--burgundy);color:var(--off-white);font-family:'Montserrat',sans-serif;font-size:.6rem;letter-spacing:.22em;text-transform:uppercase;padding:.9rem 2.4rem;border:none;cursor:pointer;font-weight:500;transition:background .25s;display:inline-block;text-decoration:none;}
.btn-primary:hover{background:var(--burgundy-mid)}
.btn-outline{background:transparent;color:var(--concrete-light);font-family:'Montserrat',sans-serif;font-size:.6rem;letter-spacing:.22em;text-transform:uppercase;padding:.9rem 2.4rem;border:1px solid rgba(176,174,171,.3);cursor:pointer;font-weight:500;transition:all .25s;text-decoration:none;}
.btn-outline:hover{border-color:var(--concrete-light);color:var(--off-white)}
.value-ctas{display:flex;gap:1rem}

/* FOOTER */
footer{background:var(--near-black);padding:5rem 3rem 3rem;border-top:1px solid rgba(92,26,26,.2)}
.footer-top{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:4rem;margin-bottom:4rem}
.footer-brand-name{font-family:'UnifrakturMaguntia',cursive;font-size:2.2rem;color:var(--burgundy);margin-bottom:.8rem;display:block}
.footer-brand-tag{font-size:.6rem;line-height:2;color:var(--concrete-dark);letter-spacing:.08em;max-width:240px;margin-bottom:1.5rem}
.footer-socials{display:flex;gap:.8rem}
.footer-social{width:32px;height:32px;border:1px solid rgba(176,174,171,.15);display:flex;align-items:center;justify-content:center;font-size:.55rem;letter-spacing:.05em;color:var(--concrete-dark);cursor:pointer;transition:all .2s;text-decoration:none}
.footer-social:hover{border-color:var(--burgundy);color:var(--burgundy)}
.footer-col-title{font-size:.55rem;letter-spacing:.3em;text-transform:uppercase;color:var(--concrete-dark);margin-bottom:1.2rem;font-weight:600}
.footer-col ul{list-style:none}
.footer-col ul li{margin-bottom:.7rem}
.footer-col ul li a{font-size:.62rem;color:rgba(176,174,171,.5);text-decoration:none;letter-spacing:.06em;transition:color .2s;font-weight:300}
.footer-col ul li a:hover{color:var(--off-white)}
.footer-bottom{border-top:1px solid rgba(176,174,171,.08);padding-top:2rem;display:flex;justify-content:space-between;align-items:center}
.footer-copy{font-size:.5rem;color:rgba(176,174,171,.3);letter-spacing:.12em;text-transform:uppercase}
.footer-pay{display:flex;gap:.8rem;align-items:center}
.pay-tag{font-size:.45rem;letter-spacing:.15em;text-transform:uppercase;color:rgba(176,174,171,.25);padding:.25rem .5rem;border:1px solid rgba(176,174,171,.1)}

/* BNPL BANNER */
.bnpl-bar{background:var(--burgundy);padding:.7rem 3rem;display:flex;align-items:center;justify-content:center;gap:2rem}
.bnpl-bar span{font-size:.55rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(245,243,240,.7);font-weight:400}
.bnpl-bar strong{font-size:.55rem;letter-spacing:.2em;text-transform:uppercase;color:var(--off-white);font-weight:600}

/* TRANSITIONS / ANIMS */
.fade-up{opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s ease}
.fade-up.visible{opacity:1;transform:translateY(0)}

/* ============================
   HAMBURGER MENU
   ============================ */
.nav-hamburger {
  display: none;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  cursor: pointer;
  background: none;
  border: none;
  padding: 4px;
  z-index: 200;
}
.nav-hamburger span {
  display: block;
  width: 24px;
  height: 2px;
  background: var(--text-main);
  border-radius: 2px;
  transition: all 0.3s ease;
  transform-origin: center;
}
.nav-hamburger.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.nav-hamburger.open span:nth-child(2) { opacity: 0; transform: scaleX(0); }
.nav-hamburger.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* Mobile drawer */
.mobile-nav-drawer {
  display: none;
  position: fixed;
  top: 0; left: 0; right: 0; bottom: 0;
  background: var(--off-white);
  z-index: 150;
  flex-direction: column;
  padding: 90px 2rem 3rem;
  overflow-y: auto;
  transform: translateX(100%);
  transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}
.mobile-nav-drawer.open {
  transform: translateX(0);
}
body.dark-mode .mobile-nav-drawer {
  background: #111010;
}
.mobile-nav-links {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0;
  margin-bottom: 2rem;
}
.mobile-nav-links > li {
  border-bottom: 1px solid rgba(110,108,105,0.15);
}
.mobile-nav-links > li > a,
.mobile-nav-links > li > span {
  display: block;
  padding: 1.1rem 0;
  font-size: 0.75rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  font-weight: 500;
  color: var(--text-main);
  text-decoration: none;
  cursor: pointer;
}
.mobile-nav-submenu {
  list-style: none;
  padding-bottom: 0.8rem;
}
.mobile-nav-submenu li a {
  display: block;
  padding: 0.5rem 0 0.5rem 1rem;
  font-size: 0.65rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--text-muted);
  text-decoration: none;
}
.mobile-nav-bottom {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-top: auto;
  padding-top: 2rem;
}
.mobile-nav-close {
  position: absolute;
  top: 1.2rem;
  right: 1.2rem;
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: none;
  border: 1px solid rgba(110,108,105,0.2);
  border-radius: 50%;
  cursor: pointer;
  z-index: 160;
  transition: border-color 0.2s, transform 0.2s;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}
.mobile-nav-close:hover,
.mobile-nav-close:active {
  border-color: var(--burgundy);
  transform: scale(1.05);
}
.mobile-nav-close svg {
  width: 18px;
  height: 18px;
  stroke: var(--text-main);
  stroke-width: 2;
  stroke-linecap: round;
  fill: none;
}

/* ============================
   TABLET  (≤ 900px)
   ============================ */
@media (max-width: 900px) {
  nav { padding: 1rem 1.5rem; }
  section { padding: 4rem 1.5rem; }

  .collection-grid { grid-template-columns: 1fr 1fr; }
  .value-inner { grid-template-columns: 1fr; }
  .footer-top { grid-template-columns: 1fr 1fr; gap: 2rem; }

  .single-product { flex-direction: column; gap: 40px; }
  .product-details { position: static; }

  .value-badge-float { right: 0.5rem; }
  .admin-container { padding: 120px 1.5rem 4rem; }
}

/* ============================
   MOBILE  (≤ 768px)
   ============================ */
@media (max-width: 768px) {

  /* Hide desktop nav links, show hamburger */
  .nav-links { display: none; }
  .nav-hamburger { display: flex; }
  .mobile-nav-drawer { display: flex; }

  /* Cursor off on touch */
  .cursor, .cursor-ring { display: none; }

  /* NAV */
  nav { padding: 1rem 1.2rem; }
  .nav-logo { font-size: 1.5rem; }
  .nav-right { gap: 0.8rem; }
  .nav-cart { padding: 0.5rem 1rem; font-size: 0.58rem; }

  /* HERO */
  .hero { height: 100svh; align-items: flex-end; }
  .hero-content { padding: 0 1.2rem 3.5rem; }
  .hero-title { font-size: clamp(3rem, 12vw, 5rem); margin-bottom: 1.2rem; }
  .hero-eyebrow { font-size: 0.58rem; }
  .hero-sub { font-size: 0.6rem; margin-bottom: 1.8rem; max-width: 100%; }
  .hero-ctas { flex-direction: column; align-items: flex-start; gap: 0.8rem; }
  .btn-light, .btn-outline-light { padding: 0.8rem 1.8rem; font-size: 0.6rem; width: 100%; text-align: center; }
  .hero-scroll { display: none; }

  /* BNPL BAR */
  .bnpl-bar {
    flex-direction: column;
    gap: 0.4rem;
    padding: 0.7rem 1rem;
    text-align: center;
  }
  .bnpl-bar span:nth-child(2), .bnpl-bar span:nth-child(4) { display: none; }

  /* SECTIONS */
  section { padding: 3rem 1.2rem; }
  .s-title { font-size: clamp(2rem, 8vw, 3rem); }

  /* COLLECTION */
  .collection-hdr { flex-direction: column; align-items: flex-start; gap: 1rem; margin-bottom: 2rem; }
  .collection-grid { grid-template-columns: 1fr 1fr; gap: 0.8rem; }
  .card-info { padding: 0.9rem 0.75rem 1.1rem; }
  .card-name { font-size: 1.05rem; }
  .card-price { font-size: 0.78rem; }

  /* THE VALUE */
  .value-section { padding: 4rem 1.2rem; }
  .value-inner { grid-template-columns: 1fr; gap: 3rem; }
  .value-badge-float { position: relative; top: auto; right: auto; writing-mode: horizontal-tb; display: inline-block; margin-top: 1rem; }
  .value-frame { display: none; }
  .value-ctas { flex-direction: column; gap: 0.8rem; }
  .btn-primary, .btn-outline { width: 100%; text-align: center; padding: 0.9rem 1.5rem; }

  /* FOOTER */
  footer { padding: 3rem 1.2rem 2rem; }
  .footer-top { grid-template-columns: 1fr; gap: 2rem; margin-bottom: 2.5rem; }
  .footer-bottom { flex-direction: column; align-items: flex-start; gap: 1rem; }
  .footer-pay { flex-wrap: wrap; gap: 0.5rem; }

  /* SINGLE PRODUCT PAGE */
  .shop-container { padding: 100px 1.2rem 4rem !important; }
  .single-product { flex-direction: column; gap: 2rem; margin-top: 2rem; }
  .product-details { position: static; }
  .product-details h1 { font-size: clamp(1.8rem, 7vw, 2.5rem); }
  .product-details .price { font-size: 1.2rem; margin-bottom: 25px; }
  .product-details .desc { font-size: 0.75rem; margin-bottom: 30px; }
  #product-gallery { gap: 8px; }

  /* CART */
  .admin-container { padding: 100px 1.2rem 3rem; }
  .cart-item { flex-direction: column; align-items: flex-start; gap: 1rem; padding: 18px; }
  .cart-item-info { width: 100%; gap: 1rem; }
  .cart-item-info img { width: 70px; height: 85px; }
  .cart-actions { width: 100%; justify-content: space-between; }
  .cart-summary-box { padding: 25px 18px; }
  .cart-total { font-size: 1.8rem; margin-bottom: 25px; }

  /* CHECKOUT */
  .checkout-form { padding: 2rem 1.2rem; margin: 0; max-width: 100%; }
  .form-group input, .form-group textarea, .form-group select { padding: 14px; font-size: 0.85rem; }
  #proof-dropzone { padding: 18px 12px; }

  /* ADMIN */
  .login-panel { padding: 2rem 1.2rem; margin: 60px auto; }
  .admin-section { padding: 1.5rem 1rem; }
  .admin-section h2 { font-size: 1.5rem; }
  /* Make admin tables scrollable horizontally */
  .admin-section { overflow-x: auto; }
  table { min-width: 540px; }
}

/* ============================
   SMALL MOBILE  (≤ 480px)
   ============================ */
@media (max-width: 480px) {
  .collection-grid { grid-template-columns: 1fr; gap: 1.2rem; }
  .hero-title { font-size: clamp(2.6rem, 14vw, 4rem); }
  .card-img-wrap { aspect-ratio: 4/5; }
  .nav-logo { font-size: 1.35rem; }
  .nav-cart { display: none; } /* hide text nav-cart, FAB replaces it */
  .value-perks li { font-size: 0.6rem; }
  .checkout-form { padding: 1.5rem 1rem; }
  .admin-container { padding: 90px 1rem 2.5rem; }
}

/* ============================
   FLOATING CART FAB (MOBILE)
   ============================ */
.cart-fab {
  display: none; /* hidden on desktop */
}
@media (max-width: 768px) {
  .cart-fab {
    display: flex;
    align-items: center;
    justify-content: center;
    position: fixed;
    bottom: 1.5rem;
    right: 1.2rem;
    z-index: 200;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: var(--burgundy);
    color: var(--off-white);
    box-shadow: 0 4px 20px rgba(92, 26, 26, 0.45), 0 2px 8px rgba(0,0,0,0.15);
    text-decoration: none;
    transition: transform 0.25s ease, box-shadow 0.25s ease, background 0.25s ease;
    -webkit-tap-highlight-color: transparent;
    touch-action: manipulation;
  }
  .cart-fab:hover,
  .cart-fab:active {
    background: var(--burgundy-deep);
    transform: scale(1.08);
    box-shadow: 0 6px 28px rgba(92, 26, 26, 0.55), 0 3px 12px rgba(0,0,0,0.2);
  }
  .cart-fab svg {
    width: 22px;
    height: 22px;
    stroke: var(--off-white);
    fill: none;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
  }
  .cart-fab-badge {
    position: absolute;
    top: -2px;
    right: -2px;
    min-width: 20px;
    height: 20px;
    line-height: 20px;
    text-align: center;
    font-size: 0.6rem;
    font-weight: 700;
    font-family: 'Montserrat', sans-serif;
    background: var(--near-black);
    color: var(--off-white);
    border-radius: 10px;
    padding: 0 5px;
    pointer-events: none;
    transition: transform 0.2s ease;
  }
  .cart-fab-badge.pulse {
    animation: fabPulse 0.35s ease;
  }
  @keyframes fabPulse {
    0%   { transform: scale(1); }
    50%  { transform: scale(1.35); }
    100% { transform: scale(1); }
  }

  /* When product page has sticky add-to-cart, move FAB up */
  body.has-sticky-btn .cart-fab {
    bottom: 5rem;
  }
}

/* SINGLE PRODUCT OVERRIDES */
.single-product { display: flex; gap: 80px; align-items: flex-start; margin-top: 4rem;}
.product-media { flex: 1; position: relative; background: var(--concrete-light); }
.product-media img, .product-media video { width: 100%; height: auto; display: block; object-fit: cover; }
.product-details { flex: 1; position: sticky; top: 140px; }
.product-details h1 { font-family: 'Cormorant Garamond', serif; font-size: clamp(2rem, 4vw, 3.5rem); margin-bottom: 20px; font-weight: 300; letter-spacing: -0.01em; color: var(--text-main); }
.product-details .price { font-size: 1.5rem; margin-bottom: 40px; font-weight: 500; color: var(--burgundy); }
.product-details .desc { color: var(--text-muted); margin-bottom: 50px; font-size: 0.8rem; line-height: 1.8; font-weight: 300;}
.add-to-cart-btn { width: 100%; padding: 1.2rem; background: var(--burgundy); color: var(--off-white); font-size: 0.6rem; font-weight: 600; border: none; cursor: pointer; text-transform: uppercase; letter-spacing: 0.2em; transition: background 0.3s; font-family: 'Montserrat', sans-serif;}
.add-to-cart-btn:hover { background: var(--burgundy-deep); }
.size-selector { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 12px; }
.size-btn { padding: 10px 20px; border: 1px solid rgba(110,108,105,0.3); background: transparent; color: var(--text-muted); cursor: pointer; transition: all 0.3s; font-family: inherit; font-size: 0.6rem; text-transform: uppercase; letter-spacing: 0.1em; }
.size-btn:hover { border-color: var(--burgundy); color: var(--burgundy); }
.size-btn.active { background: var(--burgundy); color: var(--off-white); border-color: var(--burgundy); font-weight: 600; }
/* CART & CHECKOUT & ADMIN OVERRIDES */
.cart-list { display: flex; flex-direction: column; gap: 20px; margin-bottom: 50px; }
.cart-item { display: flex; justify-content: space-between; align-items: center; background: var(--cream); padding: 25px; }
.cart-item-info { display: flex; align-items: center; gap: 30px; }
.cart-item-info img { width: 100px; height: 120px; object-fit: cover; }
.cart-actions { display: flex; align-items: center; gap: 30px; }
.cart-actions input { width: 60px; padding: 10px; background: transparent; color: var(--text-main); border: 1px solid rgba(110,108,105,0.3); text-align: center; font-size: 0.8rem; font-family: 'Montserrat', sans-serif;}
.remove-btn { color: var(--text-muted); cursor: pointer; font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.1em; transition: color 0.3s; background: none; border: none; font-family: 'Montserrat', sans-serif;}
.remove-btn:hover { color: var(--burgundy); }
.cart-summary-box { background: var(--cream); padding: 40px; margin-top: 40px; }
.cart-total { font-family: 'Cormorant Garamond', serif; font-size: 2.5rem; text-align: right; margin-bottom: 40px; font-weight: 300; color: var(--text-main); }
.checkout-btn { display: block; width: 100%; text-align: center; padding: 1.2rem; background: var(--burgundy); color: var(--off-white); font-size: 0.6rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.2em; transition: all 0.3s; border: none; text-decoration: none; font-family: 'Montserrat', sans-serif;}
.checkout-btn:hover { background: var(--burgundy-deep); }

.checkout-form { max-width: 700px; margin: 0 auto; background: var(--cream); padding: 60px; }
.form-group { margin-bottom: 30px; }
.form-group label { display: block; margin-bottom: 12px; color: var(--text-muted); font-size: 0.6rem; text-transform: uppercase; letter-spacing: 0.1em; font-weight: 600;}
.form-group input, .form-group textarea, .form-group select { width: 100%; padding: 18px; background: transparent; border: 1px solid rgba(110,108,105,0.3); color: var(--text-main); font-family: 'Montserrat', sans-serif; font-size: 0.8rem; transition: border-color 0.3s; }
.form-group input:focus, .form-group textarea:focus, .form-group select:focus { outline: none; border-color: var(--burgundy); }
.submit-btn { width: 100%; padding: 1.2rem; background: var(--burgundy); color: var(--off-white); font-size: 0.6rem; font-weight: 600; border: none; cursor: pointer; text-transform: uppercase; letter-spacing: 0.2em; transition: all 0.3s; font-family: 'Montserrat', sans-serif;}
.submit-btn:hover { background: var(--burgundy-deep); }
.submit-btn:disabled { background: var(--concrete-light); color: var(--text-muted); cursor: not-allowed; }

.admin-container { max-width: 1200px; margin: 0 auto; padding: 140px 3rem; min-height: 80vh;}
.login-panel { max-width: 450px; margin: 100px auto; background: var(--cream); padding: 60px; }
.admin-section { margin-bottom: 80px; background: var(--cream); padding: 50px; }
.admin-section h2 { font-family: 'Cormorant Garamond', serif; margin-bottom: 30px; font-weight: 300; font-size: 2rem; color: var(--text-main);}
table { width: 100%; border-collapse: collapse; font-family: 'Montserrat', sans-serif;}
th, td { text-align: left; padding: 20px; border-bottom: 1px solid rgba(110,108,105,0.1); color: var(--text-main);}
th { color: var(--text-muted); text-transform: uppercase; font-size: 0.6rem; letter-spacing: 0.1em; font-weight: 600;}
td { font-size: 0.8rem; }
.delete-btn { background: transparent; color: var(--burgundy); border: 1px solid var(--burgundy); padding: 8px 15px; cursor: pointer; text-transform: uppercase; font-size: 0.6rem; font-family: 'Montserrat', sans-serif; transition: all 0.3s; font-weight: 600; letter-spacing: 0.1em;}
.delete-btn:hover { background: var(--burgundy); color: var(--off-white); }
