/* Fiorenza Design System — demofinalbyfiorenza */
:root {
  --burgundy: #3D0F1A;
  --burgundy-rich: #2A0910;
  --burgundy-mid: #5C1828;
  --burgundy-soft: #7A2036;
  --cappuccino: #C8B9A8;
  --cappuccino-lt: #E4DDD4;
  --cappuccino-dk: #9E8874;
  --ivory: #F2EDE4;
  --ivory-warm: #EDE6DB;
  --noir: #0A0608;
  --noir-mid: #1C1418;
  --noir-soft: #2E2228;
  --cream-text: #F7F3EC;
  --text-dark: #140C0F;
  --text-mid: #4A3038;
  --text-muted: #8C6E78;
  --gold: #A8875A;
  --gold-lt: #C9A878;
  --ff-display: 'Bodoni Moda', Georgia, serif;
  --ff-body: 'DM Sans', system-ui, sans-serif;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  background:var(--ivory);color:var(--text-dark);
  font-family:var(--ff-body);font-weight:300;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
img{max-width:100%;height:auto;display:block}
a{text-decoration:none;color:inherit}

/* Announcement Bar */
.bar{
  background:var(--burgundy-rich);color:var(--cappuccino-lt);
  font-family:var(--ff-body);font-size:9.5px;font-weight:400;
  letter-spacing:.22em;text-transform:uppercase;text-align:center;
  padding:9px 16px;overflow:hidden;
}
.bar-inner{display:inline-flex;gap:56px;white-space:nowrap;animation:slide 22s linear infinite}
@keyframes slide{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.bar-inner{animation:none}}

/* Nav */
.nav{
  position:sticky;top:0;z-index:200;
  background:var(--ivory);border-bottom:.5px solid var(--cappuccino);
}
.nav-inner{
  display:flex;align-items:center;justify-content:space-between;
  padding:0 36px;height:64px;max-width:1400px;margin:0 auto;
}
.nav-links{display:flex;align-items:center;gap:30px}
.nav-link{
  font-family:var(--ff-body);font-size:10px;font-weight:400;
  letter-spacing:.18em;text-transform:uppercase;
  color:var(--text-dark);transition:color .15s;white-space:nowrap;
}
.nav-link:hover,.nav-link.active{color:var(--burgundy-mid)}
.nav-logo{
  font-family:var(--ff-display);font-weight:600;font-size:28px;
  letter-spacing:.35em;text-transform:uppercase;color:var(--text-dark);
}
.nav-logo img{height:48px;width:auto;display:block}
.nav-r{display:flex;align-items:center;gap:16px}
.nav-icon{
  background:none;border:none;color:var(--text-dark);
  cursor:pointer;padding:4px;position:relative;
}
.cart-dot{
  position:absolute;top:-2px;right:-4px;
  background:var(--burgundy);color:var(--cream-text);
  width:16px;height:16px;border-radius:50%;
  font-size:9px;font-weight:600;
  display:flex;align-items:center;justify-content:center;
}

/* Hamburger */
.hmb{display:none;flex-direction:column;gap:5px;background:none;border:none;padding:8px;cursor:pointer}
.hmb span{display:block;width:22px;height:2px;background:var(--text-dark);transition:.3s;border-radius:1px}
.mobile-menu-overlay{display:none;position:fixed;inset:0;background:rgba(10,6,8,.5);z-index:199}
.mobile-menu{
  position:fixed;top:0;right:-320px;width:300px;max-width:80vw;
  height:100vh;background:var(--ivory);z-index:200;
  display:flex;flex-direction:column;padding:80px 32px 32px;
  transition:right .35s ease;box-shadow:-4px 0 20px rgba(0,0,0,.1);
}
.mobile-menu.open,.mobile-menu-overlay.open{display:block}
.mobile-menu.open{right:0}
.mobile-menu-close{
  position:absolute;top:16px;right:16px;
  background:none;border:none;color:var(--text-dark);cursor:pointer;padding:8px;
}
.mobile-menu a{
  display:block;padding:14px 0;
  font-family:var(--ff-body);font-size:13px;font-weight:400;
  letter-spacing:.12em;text-transform:uppercase;color:var(--text-dark);
  border-bottom:.5px solid var(--cappuccino);transition:.2s;
}
.mobile-menu a:hover{color:var(--burgundy-mid)}
.mobile-menu .mobile-cart-link{color:var(--burgundy);font-weight:500}

/* Hero */
.hero{
  position:relative;height:96vh;min-height:620px;
  overflow:hidden;background:var(--noir);
}
.hero-bg{position:absolute;inset:0;filter:brightness(.52) saturate(.8)}
.hero-bg img{width:100%;height:100%;object-fit:cover;object-position:center 18%}
.hero-vignette{
  position:absolute;inset:0;
  background:linear-gradient(to right,rgba(10,6,8,.88) 0%,rgba(10,6,8,.4) 40%,transparent 70%),
             linear-gradient(to top,rgba(10,6,8,.7) 0%,transparent 40%);
}
.hero-content{
  position:relative;z-index:2;height:100%;
  display:flex;flex-direction:column;justify-content:flex-end;
  padding:0 64px 80px;max-width:620px;
}
.hero-tag{
  display:inline-flex;align-items:center;gap:10px;
  font-size:9px;font-weight:400;letter-spacing:.26em;
  text-transform:uppercase;color:var(--gold);margin-bottom:22px;
}
.hero-tag::before{content:'';width:28px;height:.5px;background:var(--gold)}
.hero-h1{margin-bottom:22px;display:flex;flex-direction:column;gap:4px}
.hero-h1-top{
  font-family:var(--ff-display);font-size:clamp(46px,6.5vw,82px);
  font-weight:600;line-height:.96;color:var(--cream-text);
  letter-spacing:-.01em;text-transform:uppercase;
}
.hero-h1-bot{
  font-family:var(--ff-display);font-size:clamp(40px,5.6vw,70px);
  font-weight:400;font-style:italic;line-height:1.05;
  color:var(--cappuccino-lt);letter-spacing:.01em;
}
.hero-sub{
  font-family:var(--ff-body);font-size:13px;font-weight:300;
  line-height:1.75;color:rgba(247,243,236,.55);
  margin-bottom:36px;max-width:360px;
}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap}
.hero-badge{
  position:absolute;top:36px;right:44px;z-index:3;
  border:.5px solid rgba(168,135,90,.45);
  background:rgba(61,15,26,.65);backdrop-filter:blur(8px);
  padding:10px 20px;font-size:9px;font-weight:400;
  letter-spacing:.22em;text-transform:uppercase;color:var(--gold-lt);
}

/* Buttons */
.btn{
  display:inline-block;font-family:var(--ff-body);
  font-size:10px;font-weight:400;letter-spacing:.2em;
  text-transform:uppercase;padding:13px 30px;
  cursor:pointer;transition:all .2s;white-space:nowrap;border:none;
}
.btn-solid{background:var(--burgundy);color:var(--cream-text);border:1px solid var(--burgundy)}
.btn-solid:hover{background:var(--burgundy-rich)}
.btn-line{background:transparent;color:var(--cream-text);border:1px solid rgba(247,243,236,.5)}
.btn-line:hover{border-color:var(--cream-text)}
.btn-dark{background:var(--burgundy);color:var(--cream-text);border:1px solid var(--burgundy)}
.btn-dark:hover{background:var(--burgundy-rich)}
.btn-dark-line{background:transparent;color:var(--burgundy);border:1px solid var(--burgundy)}
.btn-dark-line:hover{background:var(--burgundy);color:var(--cream-text)}
.btn-small{padding:9px 20px;font-size:8.5px}

/* Ticker Strip */
.strip{
  background:var(--burgundy);padding:12px 0;overflow:hidden;
  border-top:.5px solid var(--burgundy-soft);border-bottom:.5px solid var(--burgundy-rich);
}
.strip-inner{display:inline-flex;gap:44px;white-space:nowrap;animation:slide 28s linear infinite}
.strip-word{font-family:var(--ff-display);font-style:italic;font-size:13.5px;color:rgba(228,221,212,.75)}
.strip-sep{color:var(--burgundy-soft);font-size:10px}

/* Sections */
.pad{padding:88px 64px}
.pad-sm{padding:64px 64px}
.sec{max-width:1400px;margin:0 auto;padding:0 36px}

/* Eyebrow */
.eyebrow{font-size:9px;font-weight:400;letter-spacing:.24em;text-transform:uppercase;color:var(--text-muted)}
.eyebrow-gold{color:var(--gold)}

/* Section Header */
.row-header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:44px}
.row-header-left{display:flex;flex-direction:column;gap:10px}
.section-title{font-family:var(--ff-display);font-size:34px;font-weight:400;color:var(--text-dark);line-height:1.1}
.section-title em{font-style:italic;font-weight:400}
.section-title-light{color:var(--cream-text)}
.see-all{font-size:10px;font-weight:400;letter-spacing:.18em;text-transform:uppercase;color:var(--burgundy-mid);display:flex;align-items:center;gap:8px;transition:gap .2s}
.see-all:hover{gap:13px}

/* Ornament */
.ornament{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:14px}
.orn-line{flex:0 0 36px;height:.5px}
.orn-line-dk{background:var(--cappuccino-dk)}
.orn-line-lt{background:rgba(200,185,168,.3)}
.orn-gem{width:5px;height:5px;transform:rotate(45deg)}
.orn-gem-bur{background:var(--burgundy-mid)}
.orn-gem-cap{background:var(--cappuccino)}

/* Category Grid (shop by category) */
.cat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;background:var(--cappuccino-lt)}
.cat-card{
  position:relative;overflow:hidden;aspect-ratio:3/4;
  cursor:pointer;background:var(--ivory-warm);
}
.cat-card img{width:100%;height:100%;object-fit:cover;object-position:center top;transition:transform .7s}
.cat-card:hover img{transform:scale(1.06)}
.cat-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(10,6,8,.6) 0%,transparent 50%)}
.cat-label{position:absolute;bottom:0;left:0;right:0;padding:20px;color:var(--cream-text)}
.cat-label h3{font-family:var(--ff-display);font-size:18px;font-weight:400;margin-bottom:4px}
.cat-label span{font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--cappuccino)}

/* Product Grid */
.prod-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;background:var(--cappuccino-lt)}
.prod-card{background:var(--ivory);cursor:pointer;overflow:hidden}
.prod-img{aspect-ratio:3/4;position:relative;overflow:hidden;background:var(--ivory-warm)}
.prod-img img{width:100%;height:100%;object-fit:cover;object-position:center top;transition:transform .7s ease;filter:saturate(.93) sepia(.04)}
.prod-card:hover .prod-img img{transform:scale(1.07)}
.prod-flag{
  position:absolute;top:12px;left:12px;font-size:8px;font-weight:400;
  letter-spacing:.16em;text-transform:uppercase;padding:4px 10px;z-index:2;
}
.flag-burg{background:var(--burgundy);color:var(--cream-text)}
.flag-noir{background:var(--noir-mid);color:var(--gold-lt);border:.5px solid var(--gold)}
.flag-gold{background:var(--gold);color:var(--noir);border:.5px solid var(--gold-lt)}
.prod-info{padding:14px 16px 18px;border-top:.5px solid var(--cappuccino-lt)}
.prod-name{
  font-family:var(--ff-display);font-size:15px;font-weight:400;
  color:var(--text-dark);margin-bottom:4px;
}
.prod-category{font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);margin-bottom:8px}
.prod-price{font-size:13px;color:var(--text-mid)}
.prod-compare{font-size:12px;color:var(--cappuccino-dk);text-decoration:line-through;margin-left:8px}
.dots{display:flex;gap:5px;margin-top:8px}
.dot{width:9px;height:9px;border-radius:50%;border:.5px solid rgba(74,48,56,.2)}

/* Taller */
.taller{
  background:var(--burgundy-rich);display:grid;
  grid-template-columns:1fr 1fr;min-height:62vh;
  position:relative;overflow:hidden;
}
.taller-photos{display:grid;grid-template-columns:1fr 1fr;gap:2px;position:relative;z-index:1}
.taller-photo{overflow:hidden;background:var(--burgundy)}
.taller-photo img{width:100%;height:100%;object-fit:cover;filter:saturate(.75) brightness(.82);transition:transform .8s}
.taller-photo:hover img{transform:scale(1.06)}
.taller-copy{display:flex;flex-direction:column;justify-content:center;padding:72px 56px;gap:20px;position:relative;z-index:1}
.taller-copy::before{
  content:'TALLER';position:absolute;top:50%;left:50%;
  transform:translate(-50%,-50%);font-family:var(--ff-display);
  font-size:100px;font-weight:600;letter-spacing:.2em;
  color:rgba(247,243,236,.022);white-space:nowrap;pointer-events:none;
}
.taller-h{display:flex;flex-direction:column;gap:4px}
.taller-h-top{font-family:var(--ff-display);font-size:clamp(30px,3.5vw,48px);font-weight:600;text-transform:uppercase;color:var(--cream-text);letter-spacing:.03em;line-height:.95}
.taller-h-bot{font-family:var(--ff-display);font-size:clamp(26px,3vw,42px);font-weight:400;font-style:italic;color:var(--cappuccino-lt);line-height:1.1}
.taller-body{font-size:13.5px;font-weight:300;line-height:1.8;color:rgba(247,243,236,.46);max-width:320px}
.taller-specs{display:flex;flex-direction:column;gap:8px;padding-top:14px;border-top:.5px solid rgba(200,185,168,.18)}
.taller-spec{display:flex;align-items:center;gap:10px;font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--cappuccino)}
.taller-spec svg{width:14px;height:14px;color:var(--gold);flex-shrink:0}

/* Quote Band */
.quote-band{background:var(--burgundy);display:grid;grid-template-columns:1fr 1fr;min-height:52vh}
.quote-copy{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:72px 60px;gap:20px;text-align:center}
.quote-text{font-family:var(--ff-display);font-size:clamp(20px,2.4vw,30px);font-weight:400;font-style:italic;line-height:1.45;color:var(--cream-text)}
.quote-text em{font-style:normal;font-weight:600}
.quote-img{overflow:hidden;background:var(--burgundy-rich)}
.quote-img img{width:100%;height:100%;object-fit:cover;filter:saturate(.8) brightness(.88);object-position:center top}

/* Reviews */
.reviews{background:var(--noir-mid)}
.reviews-header{text-align:center;padding:72px 64px 56px}
.reviews-title{font-family:var(--ff-display);font-size:36px;font-weight:400;color:var(--cream-text);margin-top:12px}
.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(200,185,168,.1);border-top:.5px solid rgba(200,185,168,.1)}
.rev-card{background:var(--noir-mid);padding:40px 36px;display:flex;flex-direction:column;gap:18px}
.rev-stars{color:var(--gold);font-size:11px;letter-spacing:3px}
.rev-text{font-family:var(--ff-display);font-size:15px;font-weight:400;font-style:italic;line-height:1.8;color:rgba(247,243,236,.6);flex:1}
.rev-meta{display:flex;flex-direction:column;gap:3px}
.rev-name{font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--cappuccino-dk);display:flex;align-items:center;gap:7px}
.rev-name::before{content:'—';color:var(--gold)}
.rev-product{font-size:8.5px;letter-spacing:.12em;text-transform:uppercase;color:rgba(168,140,126,.38)}
.reviews-footer{padding:48px 64px 72px;text-align:center}

/* Archivo / Categories */
.archivo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;padding:0 64px}
.archivo-card{position:relative;overflow:hidden;cursor:pointer;background:var(--ivory-warm)}
.archivo-img{aspect-ratio:2/3;position:relative;overflow:hidden}
.archivo-img img{width:100%;height:100%;object-fit:cover;filter:saturate(.55) sepia(.2);transition:transform .7s,filter .5s}
.archivo-card:hover .archivo-img img{transform:scale(1.06);filter:saturate(.85) sepia(.06)}
.archivo-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(61,15,26,.8) 0%,transparent 50%);display:flex;align-items:flex-end;padding:16px 18px}
.archivo-season{font-family:var(--ff-display);font-style:italic;font-size:20px;font-weight:400;color:var(--cream-text)}
.archivo-year{font-size:8px;letter-spacing:.2em;text-transform:uppercase;color:var(--cappuccino);margin-top:2px}
.archivo-chip{position:absolute;top:12px;right:12px;background:rgba(61,15,26,.7);backdrop-filter:blur(4px);padding:3px 8px;font-size:7.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--cappuccino-lt);border:.5px solid rgba(200,185,168,.3)}

/* Instagram */
.ig{background:var(--ivory)}
.ig-header{text-align:center;padding:72px 64px 44px}
.ig-handle{font-family:var(--ff-display);font-size:30px;font-weight:400;color:var(--text-dark);margin-top:8px}
.ig-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;padding:0 64px}
.ig-cell{aspect-ratio:1;overflow:hidden;position:relative;cursor:pointer;background:var(--ivory-warm)}
.ig-cell img{width:100%;height:100%;object-fit:cover;filter:saturate(.9) sepia(.05);transition:transform .6s}
.ig-cell:hover img{transform:scale(1.08)}
.ig-over{position:absolute;inset:0;background:rgba(61,15,26,.5);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .25s}
.ig-cell:hover .ig-over{opacity:1}
.ig-over svg{color:var(--cream-text)}
.ig-footer{text-align:center;padding:40px 64px 72px}

/* Newsletter */
.nl-wrap{display:grid;grid-template-columns:1fr 1fr;min-height:40vh}
.nl-img{overflow:hidden}
.nl-img img{width:100%;height:100%;object-fit:cover}
.nl-body{display:flex;flex-direction:column;justify-content:center;padding:60px 56px;gap:14px;background:var(--ivory-warm)}
.nl-tag{font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);font-weight:400;font-family:var(--ff-body)}
.nl-body h2{font-family:var(--ff-display);font-size:28px;font-weight:400;color:var(--text-dark);line-height:1.15}
.nl-body p{font-size:13px;color:var(--text-muted);line-height:1.7;max-width:380px}
.nl-form{display:flex;gap:0;max-width:400px}
.nl-in{flex:1;padding:12px 16px;border:.5px solid var(--cappuccino);border-right:none;font-family:var(--ff-body);font-size:13px;background:var(--ivory);color:var(--text-dark);outline:none}
.nl-in:focus{border-color:var(--burgundy-mid)}
.nl-btn{background:var(--burgundy);color:var(--cream-text);border:none;padding:12px 24px;font-family:var(--ff-body);font-size:10px;letter-spacing:.18em;text-transform:uppercase;cursor:pointer;white-space:nowrap;transition:.2s}
.nl-btn:hover{background:var(--burgundy-rich)}

/* Trust */
.trust{display:grid;grid-template-columns:repeat(4,1fr);background:var(--ivory-warm);border-top:.5px solid var(--cappuccino-lt);border-bottom:.5px solid var(--cappuccino-lt)}
.trust-item{padding:28px 20px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px;border-right:.5px solid var(--cappuccino-lt)}
.trust-item:last-child{border-right:none}
.trust-item svg{width:18px;height:18px;color:var(--burgundy-mid)}
.trust-name{font-family:var(--ff-display);font-size:13.5px;font-weight:400;color:var(--text-dark)}
.trust-desc{font-size:10px;color:var(--text-muted);line-height:1.5}

/* Footer */
.footer{background:var(--noir);padding:72px 64px 32px}
.footer-top{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:44px;padding-bottom:52px;border-bottom:.5px solid rgba(200,185,168,.12);margin-bottom:28px}
.footer-logo{font-family:var(--ff-display);font-size:24px;font-weight:600;letter-spacing:.35em;text-transform:uppercase;color:var(--cream-text);margin-bottom:10px}
.footer-tagline{font-family:var(--ff-display);font-size:13px;font-weight:400;font-style:italic;line-height:1.7;color:rgba(247,243,236,.3);max-width:240px}
.footer-col-h{font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:var(--burgundy-soft);margin-bottom:14px;font-weight:400}
.footer-links{display:flex;flex-direction:column;gap:9px;list-style:none}
.footer-link{font-size:12px;font-weight:300;color:rgba(247,243,236,.4);transition:color .15s}
.footer-link:hover{color:var(--cappuccino-lt)}
.footer-bot{display:flex;justify-content:space-between;align-items:center}
.footer-copy{font-size:9.5px;color:rgba(247,243,236,.18);letter-spacing:.08em}
.footer-social{display:flex;gap:16px}
.footer-social a{color:rgba(247,243,236,.3);transition:color .15s}
.footer-social a:hover{color:var(--cappuccino-lt)}

/* Breadcrumb */
.breadcrumb{padding:20px 0 10px;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted)}
.breadcrumb a{color:var(--text-muted);transition:.15s}
.breadcrumb a:hover{color:var(--burgundy-mid)}
.breadcrumb span{margin:0 6px;color:var(--cappuccino-dk)}

/* Category Hero */
.cat-hero{padding:60px 36px 40px;text-align:center;background:var(--ivory-warm);border-bottom:.5px solid var(--cappuccino)}
.cat-hero h1{font-family:var(--ff-display);font-size:34px;font-weight:400;color:var(--text-dark);margin-bottom:8px}
.cat-hero p{font-size:13px;color:var(--text-muted)}
.cat-breadcrumb{margin-bottom:16px;font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--text-muted)}
.cat-breadcrumb a{color:var(--gold)}
.cat-breadcrumb span{margin:0 6px}
.cat-empty{text-align:center;padding:80px 20px}
.cat-empty h3{font-family:var(--ff-display);font-size:20px;font-weight:400;color:var(--text-muted);margin:16px 0 8px}
.cat-empty p{font-size:13px;color:var(--text-muted)}

/* Product Detail */
.prod-page{max-width:1400px;margin:0 auto;padding:0 36px}
.prod-detail{display:grid;grid-template-columns:1fr 1fr;gap:60px;padding:40px 0 80px}
.gallery{position:sticky;top:80px;align-self:start}
.gallery-main{aspect-ratio:3/4;overflow:hidden;border-radius:8px;background:var(--ivory-warm);margin-bottom:12px;border:.5px solid var(--cappuccino-lt)}
.gallery-main img{width:100%;height:100%;object-fit:cover}
.gallery-thumbs{display:flex;gap:6px}
.gallery-thumbs img{width:80px;height:105px;object-fit:cover;cursor:pointer;border:.5px solid transparent;border-radius:4px;transition:.2s;opacity:.6}
.gallery-thumbs img.active,.gallery-thumbs img:hover{opacity:1;border-color:var(--burgundy)}

.detail-info{display:flex;flex-direction:column;gap:16px}
.detail-category{font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold)}
.detail-info h1{font-family:var(--ff-display);font-size:clamp(24px,3vw,38px);font-weight:400;color:var(--text-dark);line-height:1.1}
.detail-price{font-family:var(--ff-display);font-size:24px;color:var(--burgundy);font-weight:600}
.detail-compare{font-size:14px;color:var(--cappuccino-dk);text-decoration:line-through}
.detail-description{font-size:13px;line-height:1.8;color:var(--text-mid);font-weight:300}
.detail-label{font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--text-muted);margin-bottom:4px}
.color-options{display:flex;gap:8px;flex-wrap:wrap}
.color-btn{font-size:10px;padding:8px 16px;border:.5px solid var(--cappuccino);background:var(--ivory);color:var(--text-dark);cursor:pointer;transition:.2s;text-transform:uppercase;letter-spacing:.08em;font-family:var(--ff-body)}
.color-btn.active,.color-btn:hover{border-color:var(--burgundy);background:var(--burgundy);color:var(--cream-text)}
.size-options{display:flex;gap:8px;flex-wrap:wrap}
.size-btn{font-size:11px;padding:10px 18px;border:.5px solid var(--cappuccino);background:var(--ivory);color:var(--text-dark);cursor:pointer;transition:.2s;font-weight:500;font-family:var(--ff-body)}
.size-btn.active,.size-btn:hover{border-color:var(--noir);background:var(--noir);color:var(--cream-text)}
.quantity-selector{display:flex;align-items:center;gap:0;border:.5px solid var(--cappuccino);width:fit-content;border-radius:4px;overflow:hidden}
.quantity-selector button{width:40px;height:40px;border:none;background:var(--ivory);cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-dark);transition:.15s;font-size:18px}
.quantity-selector button:hover{background:var(--cappuccino-lt)}
.quantity-selector span{width:50px;text-align:center;font-size:14px;font-weight:500}
.detail-add-btn{display:flex;align-items:center;justify-content:center;gap:10px;padding:16px 32px;background:var(--burgundy);color:var(--cream-text);border:none;cursor:pointer;font-family:var(--ff-body);font-size:10px;letter-spacing:.2em;text-transform:uppercase;transition:.2s;border-radius:4px}
.detail-add-btn:hover{background:var(--burgundy-rich)}
.detail-meta{padding-top:16px;border-top:.5px solid var(--cappuccino-lt)}
.detail-meta p{font-size:12px;color:var(--text-muted);margin-bottom:6px}
.detail-meta strong{color:var(--text-mid);font-weight:500}

/* Related */
.related{padding:64px 36px}
.related h2{font-family:var(--ff-display);font-size:28px;font-weight:400;margin-bottom:28px;color:var(--text-dark)}
.related-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;background:var(--cappuccino-lt)}

/* Cart Sidebar */
.cart-overlay{position:fixed;inset:0;background:rgba(10,6,8,.5);z-index:300;display:none}
.cart-overlay.open{display:block}
.cart-sidebar{position:fixed;top:0;right:-420px;width:400px;max-width:90vw;height:100vh;background:var(--ivory);z-index:301;display:flex;flex-direction:column;transition:right .35s ease}
.cart-sidebar.open{right:0}
.cart-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:.5px solid var(--cappuccino)}
.cart-header h2{font-family:var(--ff-display);font-size:18px}
.cart-close{background:none;border:none;color:var(--text-dark);cursor:pointer;padding:4px}
.cart-items{flex:1;overflow-y:auto;padding:16px 24px}
.cart-item{display:flex;gap:14px;padding:16px 0;border-bottom:.5px solid var(--cappuccino-lt);position:relative}
.cart-item img{width:64px;height:84px;object-fit:cover;border-radius:4px;flex-shrink:0}
.cart-item-info{flex:1;display:flex;flex-direction:column;gap:4px}
.cart-item-name{font-family:var(--ff-display);font-size:13px;color:var(--text-dark)}
.cart-item-price{font-size:12px;color:var(--burgundy);font-weight:500}
.cart-item-qty{display:flex;align-items:center;gap:10px;margin-top:6px}
.cart-item-qty button{width:28px;height:28px;border:.5px solid var(--cappuccino);background:var(--ivory);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:.15s;color:var(--text-dark)}
.cart-item-qty button:hover{background:var(--cappuccino-lt)}
.cart-item-qty span{font-size:13px;min-width:24px;text-align:center}
.cart-item-remove{position:absolute;top:16px;right:0;background:none;border:none;color:var(--cappuccino-dk);cursor:pointer;padding:4px;transition:.15s}
.cart-item-remove:hover{color:var(--burgundy)}
.cart-empty{text-align:center;padding:60px 20px}
.cart-empty h3{font-size:15px;color:var(--text-muted);margin:4px 0}
.cart-footer{display:none;padding:20px 24px;border-top:.5px solid var(--cappuccino)}
.cart-footer.open{display:block}
.cart-total{display:flex;justify-content:space-between;font-size:15px;font-weight:500;margin-bottom:14px;color:var(--text-dark)}
.cart-checkout-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 24px;background:var(--burgundy);color:var(--cream-text);font-family:var(--ff-body);font-size:10px;letter-spacing:.18em;text-transform:uppercase;border-radius:4px;transition:.2s}
.cart-checkout-btn:hover{background:var(--burgundy-rich);color:var(--cream-text)}

/* Toast */
.toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);background:var(--noir-mid);color:var(--cream-text);padding:12px 28px;border-radius:8px;font-size:13px;z-index:400;box-shadow:0 8px 30px rgba(0,0,0,.3);font-family:var(--ff-body)}

/* WhatsApp Float */
.whatsapp-float{position:fixed;bottom:25px;right:25px;z-index:100}
.whatsapp-float a{display:flex;width:56px;height:56px;background:#25D366;color:#fff;border-radius:50%;align-items:center;justify-content:center;box-shadow:0 4px 20px rgba(37,211,102,.35);transition:transform .2s}
.whatsapp-float a:hover{transform:scale(1.08)}
.whatsapp-float svg{width:26px;height:26px}

/* Page Header */
.page-header{padding:50px 36px 20px;text-align:center}
.page-header h1{font-family:var(--ff-display);font-size:36px;font-weight:400;color:var(--text-dark);margin-bottom:8px}
.page-header p{font-size:13px;color:var(--text-muted)}

/* Product swatches */
.pswatches{display:flex;gap:4px;padding:0 16px 10px}
.sw{width:14px;height:14px;border-radius:50%;display:inline-block}
.sw-more{font-size:9px;color:var(--text-muted);line-height:14px}
.pimg{aspect-ratio:3/4;position:relative;overflow:hidden;background:var(--ivory-warm)}
.pimg img{width:100%;height:100%;object-fit:cover;object-position:center top;transition:transform .7s ease}
.pimg .img2{position:absolute;inset:0;opacity:0}
.prod-card:hover .pimg .img2{opacity:1}
.prod-card:hover .pimg img:first-child:not(.img2){opacity:0}
.pbadge{position:absolute;top:10px;left:10px;font-size:8px;font-weight:400;letter-spacing:.12em;text-transform:uppercase;padding:3px 8px;z-index:2}
.pb-sale{background:var(--burgundy);color:var(--cream-text)}
.pname{font-family:var(--ff-display);font-size:15px;color:var(--text-dark);padding:0 16px;margin-top:8px}
.pname a{color:inherit}
.pprice{padding:4px 16px 14px;font-size:13px}
.pr-c{text-decoration:line-through;color:var(--cappuccino-dk);font-size:12px;margin-right:6px}
.pr-s{color:var(--burgundy);font-weight:500}
.pr-r{color:var(--text-mid)}
.add-cart-btn{display:block;margin:0 16px 12px;padding:8px 0;text-align:center;font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--burgundy);border:.5px solid var(--burgundy);background:transparent;cursor:pointer;transition:.2s;font-family:var(--ff-body);border-radius:4px}
.add-cart-btn:hover{background:var(--burgundy);color:var(--cream-text)}

/* Banner */
.banner-full{position:relative;height:50vh;overflow:hidden}
.banner-full img{width:100%;height:100%;object-fit:cover}
.banner-overlay{position:absolute;inset:0;background:linear-gradient(to right,rgba(10,6,8,.7),transparent 60%)}
.banner-content{position:absolute;left:64px;top:50%;transform:translateY(-50%);max-width:460px;color:var(--cream-text)}
.banner-content h2{font-family:var(--ff-display);font-size:32px;font-weight:400;margin-bottom:12px}
.banner-content p{font-size:13px;line-height:1.7;color:rgba(247,243,236,.55);margin-bottom:20px}

/* Alert */
.alert{background:var(--burgundy);color:var(--cream-text);padding:12px 20px;border-radius:8px;font-size:12px;margin-bottom:16px;display:flex;align-items:center;gap:8px;font-family:var(--ff-body)}

/* Capsule Intro (Fiorenza exclusive) */
.capsule-intro{display:grid;grid-template-columns:55% 45%;min-height:75vh;background:var(--noir-mid)}
.cap-img{position:relative;overflow:hidden}
.cap-img img{filter:saturate(.88);object-position:center top;transition:transform .9s ease;width:100%;height:100%;object-fit:cover}
.capsule-intro:hover .cap-img img{transform:scale(1.04)}
.cap-text{display:flex;flex-direction:column;justify-content:center;padding:72px 56px;gap:24px;position:relative}
.cap-ghost{position:absolute;bottom:32px;right:32px;font-family:var(--ff-display);font-size:160px;font-weight:600;font-style:italic;color:rgba(200,185,168,.055);line-height:1;pointer-events:none;user-select:none}
.cap-headline{display:flex;flex-direction:column;gap:4px}
.cap-h-top{font-family:var(--ff-display);font-size:clamp(34px,4vw,54px);font-weight:600;text-transform:uppercase;color:var(--cream-text);letter-spacing:.02em;line-height:.95}
.cap-h-bot{font-family:var(--ff-display);font-size:clamp(30px,3.5vw,48px);font-weight:400;font-style:italic;color:var(--cappuccino-lt);line-height:1.1}
.cap-body{font-family:var(--ff-body);font-size:13.5px;font-weight:300;line-height:1.8;color:rgba(247,243,236,.48);max-width:340px}
.cap-ctas{display:flex;gap:12px;padding-top:8px}

/* Outfit Inspo grid */
.outfit-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr;grid-template-rows:1fr 1fr;gap:2px;height:72vh;min-height:520px}
.outfit-cell{position:relative;overflow:hidden;cursor:pointer;background:var(--ivory-warm)}
.outfit-cell.tall{grid-row:span 2}
.outfit-cell img{height:100%;width:100%;object-fit:cover;object-position:center top;filter:saturate(.9) sepia(.04);transition:transform .7s}
.outfit-cell:hover img{transform:scale(1.05)}
.outfit-hover{position:absolute;inset:0;background:linear-gradient(to top,rgba(10,6,8,.75) 0%,transparent 55%);opacity:0;transition:opacity .3s;display:flex;align-items:flex-end;padding:20px}
.outfit-cell:hover .outfit-hover{opacity:1}
.outfit-label{font-family:var(--ff-display);font-style:italic;font-size:15px;color:var(--cream-text)}
.tall{grid-row:span 2}

/* Misc Fiorenza helpers */
.eyebrow-cap{color:var(--cappuccino)}
.prod-cat{font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);margin-bottom:8px}
.nav-links-right{justify-content:flex-end}
.nav-icons{display:flex;gap:18px;align-items:center}
.hl,.nav-link.hl{color:var(--burgundy-mid)}

/* Responsive */
@media(max-width:860px){
  .nav-inner{padding:0 20px}
  .nav-links{display:none}
  .hmb{display:flex}
  .hero-content{padding:0 28px 56px}
  .hero-badge{top:16px;right:16px}
  .cat-grid{grid-template-columns:1fr 1fr}
  .prod-grid{grid-template-columns:1fr 1fr}
  .prod-detail{grid-template-columns:1fr;gap:30px}
  .gallery{position:static}
  .taller,.quote-band,.nl-wrap{grid-template-columns:1fr}
  .taller-photos{grid-template-columns:1fr 1fr;aspect-ratio:16/9}
  .quote-img,.nl-img{aspect-ratio:4/3}
  .pad,.pad-sm{padding:52px 24px}
  .reviews-grid{grid-template-columns:1fr}
  .reviews-header{padding:52px 24px 40px}
  .archivo-grid,.ig-grid{grid-template-columns:1fr 1fr;padding:0 24px}
  .trust{grid-template-columns:1fr 1fr}
  .footer-top{grid-template-columns:1fr 1fr}
  .footer{padding:52px 24px 28px}
  .capsule-intro{grid-template-columns:1fr}
  .cap-img{aspect-ratio:4/3;min-height:auto}
  .outfit-grid{grid-template-columns:1fr 1fr;height:auto}
  .outfit-cell.tall{grid-row:span 1;aspect-ratio:4/3}
  .outfit-cell:not(.tall){aspect-ratio:4/3}
}

@media(max-width:480px){
  .cat-grid,.prod-grid{grid-template-columns:1fr}
  .archivo-grid,.ig-grid{grid-template-columns:1fr}
  .mobile-menu{width:100%}
  .cart-sidebar{width:100%}
}
