/* LAVIYERE — Premium Luxury CSS v2 */
:root{--gold:#c8a96e;--gold-l:#e2c98a;--gold-d:#8B6914;--black:#0a0a0a;--dark:#111;--dark2:#1a1a1a;--dark3:#222;--white:#f5f0e8;--gray:#888;--serif:'Cormorant Garamond',Georgia,serif;--sans:'Montserrat',sans-serif;--ease:cubic-bezier(0.4,0,0.2,1);--tr:0.35s;--r:6px}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px}
body{background:var(--black);color:var(--white);font-family:var(--sans);font-weight:300;overflow-x:hidden;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}ul{list-style:none}
::selection{background:var(--gold);color:var(--black)}
::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:var(--dark)}::-webkit-scrollbar-thumb{background:var(--gold-d);border-radius:3px}
.container{max-width:1240px;margin:0 auto;padding:0 28px}
.ann-bar{background:var(--gold-d);color:var(--white);text-align:center;padding:10px 40px;font-size:13px;letter-spacing:.04em;position:relative;z-index:1001;min-height:40px;display:flex;align-items:center;justify-content:center}
.ann-msg{display:none;transition:opacity .5s ease}
.ann-msg-active{display:inline}
.ann-close{position:absolute;right:16px;top:50%;transform:translateY(-50%);background:none;border:none;color:rgba(255,255,255,.7);font-size:20px;cursor:pointer;line-height:1}
.navbar{position:sticky;top:0;z-index:1000;background:rgba(10,10,10,.97);border-bottom:1px solid rgba(200,169,110,.12);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);transition:box-shadow var(--tr)}
.navbar.scrolled{box-shadow:0 4px 40px rgba(0,0,0,.6)}
.nav-inner{max-width:1240px;margin:0 auto;padding:0 28px;display:flex;align-items:center;justify-content:space-between;height:72px}
.nav-logo{font-family:var(--serif);font-size:26px;font-weight:600;letter-spacing:.2em;color:var(--gold);transition:color var(--tr)}
.nav-logo:hover{color:var(--gold-l)}
.nav-links{display:flex;gap:36px;align-items:center}
.nav-links a{font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:rgba(245,240,232,.75);transition:color var(--tr);position:relative;padding-bottom:2px}
.nav-links a::after{content:'';position:absolute;bottom:0;left:0;width:0;height:1px;background:var(--gold);transition:width var(--tr)}
.nav-links a:hover{color:var(--gold)}.nav-links a:hover::after{width:100%}
.nav-right{display:flex;align-items:center;gap:12px}
.nav-icon-btn{background:none;border:none;color:rgba(245,240,232,.7);cursor:pointer;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:var(--tr);position:relative}
.nav-icon-btn:hover{color:var(--white);background:rgba(255,255,255,.06)}
.cart-count{position:absolute;top:2px;right:2px;background:var(--gold);color:var(--black);font-size:9px;font-weight:700;width:16px;height:16px;border-radius:50%;display:flex;align-items:center;justify-content:center;opacity:0;transition:var(--tr)}
.cart-count.has-items{opacity:1}
.nav-wa-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:rgba(37,211,102,.1);color:#25d166;transition:var(--tr)}
.nav-wa-btn:hover{background:#25d166;color:#fff}
.hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:4px}
.hamburger span{display:block;width:22px;height:2px;background:var(--gold);transition:var(--tr);border-radius:2px}
.search-bar-wrap{max-height:0;transition:max-height .4s var(--ease);background:rgba(17,17,17,.98);border-bottom:1px solid rgba(200,169,110,.1);overflow:hidden}
.search-bar-wrap.open{max-height:600px;overflow:visible}
.search-inner{max-width:800px;margin:0 auto;padding:16px 28px;display:flex;align-items:center;gap:12px}
.search-inner svg{color:var(--gray);flex-shrink:0}
.search-inner input{flex:1;background:none;border:none;outline:none;font-size:16px;color:var(--white);font-family:var(--sans)}
.search-inner input::placeholder{color:var(--gray)}
.search-inner button{background:none;border:none;color:var(--gray);font-size:22px;cursor:pointer;line-height:1}
.search-results{max-width:800px;margin:0 auto;padding:0 28px 16px;background:rgba(17,17,17,.98);border-radius:0 0 10px 10px;box-shadow:0 16px 40px rgba(0,0,0,.6);position:relative;z-index:1001}
.sr-item{display:flex;align-items:center;gap:16px;padding:12px 16px;border-radius:var(--r);cursor:pointer;transition:var(--tr)}
.sr-item:hover{background:rgba(200,169,110,.08)}
.sr-item-name{font-size:14px;color:var(--white);font-weight:500}
.sr-item-sub{font-size:12px;color:var(--gray)}
.sr-item-price{font-size:14px;color:var(--gold);font-weight:600;margin-left:auto}
.sr-no-result{font-size:14px;color:var(--gray);padding:12px 16px}
/* "See all results for …" row at bottom of suggestions */
.sr-view-all{
  font-size:12px;color:var(--gold);padding:10px 16px 14px;
  cursor:pointer;text-align:center;opacity:.8;
  border-top:1px solid rgba(200,169,110,.1);
  transition:opacity var(--tr);
}
.sr-view-all:hover{opacity:1}
.sr-view-all strong{font-weight:600}
/* ── Search filter bar (shown above products grid) ── */
#search-filter-bar{
  display:flex;align-items:center;justify-content:space-between;
  gap:16px;flex-wrap:wrap;
  background:rgba(200,169,110,.07);
  border:1px solid rgba(200,169,110,.22);
  border-radius:8px;
  padding:12px 20px;
  margin-bottom:24px;
}
.sfb-text{font-size:13px;color:rgba(245,240,232,.75)}
.sfb-text strong{color:var(--gold);font-weight:600}
.sfb-text em{color:var(--gold-l);font-style:normal}
.sfb-clear{
  background:none;border:1px solid rgba(200,169,110,.3);
  color:var(--gold);font-size:11px;letter-spacing:.1em;
  padding:6px 14px;border-radius:4px;cursor:pointer;
  font-family:var(--sans);transition:var(--tr);white-space:nowrap;
}
.sfb-clear:hover{background:rgba(200,169,110,.12);border-color:var(--gold)}
/* ── Card states during filter ── */
.product-card.search-dimmed{
  display:none;
}
.product-card.search-match{
  box-shadow:0 0 0 2px var(--gold), 0 16px 48px rgba(200,169,110,.22);
  border-color:rgba(200,169,110,.5) !important;
  transition:box-shadow .35s ease, border-color .35s ease;
}
.btn{display:inline-flex;align-items:center;gap:8px;padding:13px 32px;font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-family:var(--sans);font-weight:500;border-radius:var(--r);cursor:pointer;transition:var(--tr);border:none;white-space:nowrap}
.btn-gold{background:var(--gold);color:var(--black)}
.btn-gold:hover{background:var(--gold-l);transform:translateY(-2px);box-shadow:0 8px 28px rgba(200,169,110,.35)}
.btn-outline{background:transparent;color:var(--gold);border:1px solid var(--gold)}
.btn-outline:hover{background:var(--gold);color:var(--black)}
.btn-wa-order{background:rgba(37,211,102,.12);color:#25d166;border:1px solid rgba(37,211,102,.25)}
.btn-wa-order:hover{background:#25d166;color:#fff;border-color:#25d166}
.btn-full{width:100%;justify-content:center}
.hero{position:relative;min-height:calc(100svh - 72px);overflow:hidden;display:flex;align-items:center;justify-content:center}
.hero-slides{position:absolute;inset:0}
.hero-slide{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity 1.2s ease;background-size:cover;background-position:center}
.hero-slide.active{opacity:1}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(10,10,10,.9) 0%,rgba(10,10,10,.35) 60%,rgba(10,10,10,.75) 100%)}
.hero-content{position:relative;z-index:2;text-align:center;padding:24px;max-width:860px;animation:fadeUp 1.2s var(--ease) forwards}
@keyframes fadeUp{from{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}
.hero-eyebrow{font-size:10px;letter-spacing:.45em;text-transform:uppercase;color:var(--gold);margin-bottom:20px;opacity:.9}
.hero-title{font-family:var(--serif);font-size:clamp(52px,9vw,108px);font-weight:300;color:var(--white);line-height:.95;margin-bottom:20px;letter-spacing:.04em}
.hero-subtitle{font-size:14px;color:rgba(245,240,232,.65);letter-spacing:.1em;margin-bottom:44px}
.hero-actions{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}
.slide-dots{position:absolute;bottom:36px;left:50%;transform:translateX(-50%);display:flex;gap:10px;z-index:10}
.dot{width:8px;height:8px;border-radius:50%;background:rgba(200,169,110,.2);border:1px solid var(--gold);cursor:pointer;transition:var(--tr)}
.dot.active{background:var(--gold)}
.hero-particles{position:absolute;inset:0;pointer-events:none;z-index:1;overflow:hidden}
.particle{position:absolute;width:1px;height:1px;background:var(--gold);border-radius:50%;opacity:0;animation:rise linear infinite}
@keyframes rise{0%{opacity:0;transform:translateY(0) scale(1)}10%{opacity:.5}90%{opacity:.3}100%{opacity:0;transform:translateY(-100vh) scale(0)}}
.hero-scroll-hint{position:absolute;bottom:52px;right:40px;display:flex;flex-direction:column;align-items:center;z-index:10}
.hero-scroll-hint span{width:1px;height:60px;background:linear-gradient(to bottom,transparent,var(--gold));animation:scrollHint 1.5s ease-in-out infinite}
@keyframes scrollHint{0%,100%{opacity:0;transform:scaleY(0);transform-origin:top}50%{opacity:1;transform:scaleY(1)}}
section{padding:110px 0}
.sec-header{text-align:center;margin-bottom:64px}
.eyebrow{display:inline-block;font-size:10px;letter-spacing:.4em;text-transform:uppercase;color:var(--gold);margin-bottom:16px}
.eyebrow::before,.eyebrow::after{content:'—';margin:0 8px;opacity:.5}
.serif-heading{font-family:var(--serif);font-size:clamp(36px,5vw,60px);font-weight:300;color:var(--white);line-height:1.05}
.serif-heading em{font-style:italic;color:var(--gold)}
.sec-sub{font-size:14px;color:var(--gray);margin-top:16px;letter-spacing:.06em}
.story-section{background:var(--dark)}
.story-wrap{display:grid;grid-template-columns:1fr auto;gap:80px;align-items:center}
.story-text .eyebrow{display:block;margin-bottom:16px}
.story-text .serif-heading{margin-bottom:24px;font-size:clamp(32px,4vw,52px)}
.story-text p{font-size:15px;color:rgba(245,240,232,.6);line-height:1.85;margin-bottom:16px}
.emblem-ring{border-radius:50%;display:flex;align-items:center;justify-content:center}
.emblem-ring.outer{width:220px;height:220px;border:1px solid rgba(200,169,110,.25);animation:spin 25s linear infinite;flex-shrink:0}
.emblem-ring.inner{width:158px;height:158px;border:1px solid rgba(200,169,110,.45);background:radial-gradient(circle,rgba(200,169,110,.06) 0%,transparent 70%);animation:spin 25s linear infinite reverse}
.emblem-ring span{font-family:var(--serif);font-size:80px;color:var(--gold);font-weight:300;animation:spin 25s linear infinite;line-height:1}
@keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
.fragrances-section{background:var(--black)}
.frag-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:3px}
.frag-card{position:relative;overflow:hidden;aspect-ratio:3/5;cursor:pointer;isolation:isolate}
.frag-color-bar{position:absolute;top:0;left:0;right:0;height:4px;z-index:3;transition:height var(--tr)}
.frag-card:hover .frag-color-bar{height:6px}
.frag-bg{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform .8s var(--ease)}
.frag-card:hover .frag-bg{transform:scale(1.1)}
.frag-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.96) 0%,rgba(0,0,0,.15) 50%,rgba(0,0,0,.4) 100%);transition:var(--tr)}
.frag-card:hover .frag-overlay{background:linear-gradient(to top,rgba(0,0,0,.98) 0%,rgba(0,0,0,.5) 65%,rgba(0,0,0,.25) 100%)}
.frag-content{position:absolute;bottom:0;left:0;right:0;padding:32px 26px;transform:translateY(52px);transition:transform .45s var(--ease)}
.frag-card:hover .frag-content{transform:translateY(0)}
.frag-name{font-family:var(--serif);font-size:34px;color:var(--white);letter-spacing:.1em;margin-bottom:6px;font-weight:400}
.frag-mood{font-size:9px;letter-spacing:.35em;text-transform:uppercase;color:var(--gold);margin-bottom:14px}
.frag-notes{font-size:11px;color:rgba(245,240,232,.55);line-height:1.7;opacity:0;transition:opacity .3s ease .1s;margin-bottom:16px}
.frag-card:hover .frag-notes{opacity:1}
.frag-cta{opacity:0;transform:translateY(8px);transition:opacity .3s ease .15s,transform .3s ease .15s}
.frag-card:hover .frag-cta{opacity:1;transform:translateY(0)}
.frag-shop-btn{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);border-bottom:1px solid rgba(200,169,110,.3);padding-bottom:2px}
.products-section{background:var(--dark)}
.products-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.product-card{background:var(--dark2);border:1px solid rgba(200,169,110,.08);border-radius:12px;overflow:hidden;transition:var(--tr);position:relative}
.product-card:hover{border-color:rgba(200,169,110,.25);transform:translateY(-8px);box-shadow:0 24px 64px rgba(0,0,0,.55)}
.prod-badge{position:absolute;top:18px;left:18px;background:var(--gold);color:var(--black);font-size:9px;letter-spacing:.15em;text-transform:uppercase;font-weight:700;padding:5px 12px;border-radius:3px;z-index:2}
.prod-img-wrap{aspect-ratio:1/1;background:linear-gradient(135deg,var(--dark3),var(--dark2));display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative}
.prod-img-wrap img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.product-card:hover .prod-img-wrap img{transform:scale(1.05)}
.prod-img-placeholder{display:flex;flex-direction:column;align-items:center;gap:12px}
.pip-icon{font-size:64px;filter:grayscale(1) brightness(.4)}
.prod-img-placeholder span{font-family:var(--serif);font-size:20px;color:rgba(200,169,110,.3);letter-spacing:.2em}
.prod-info{padding:28px}
.prod-size-tag{display:inline-block;font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);background:rgba(200,169,110,.07);border:1px solid rgba(200,169,110,.18);padding:4px 10px;border-radius:2px;margin-bottom:12px}
.prod-name{font-family:var(--serif);font-size:26px;font-weight:400;color:var(--white);margin-bottom:10px}
.prod-desc{font-size:13px;color:var(--gray);line-height:1.7;margin-bottom:16px}
.prod-frags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:20px}
.frag-chip{font-size:9px;letter-spacing:.1em;padding:3px 9px;border-radius:20px;border:1px solid rgba(200,169,110,.18);color:rgba(200,169,110,.65)}
.variant-selector{margin-bottom:18px}
.variant-label{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--gray);display:block;margin-bottom:8px}
.variant-opts{display:flex;flex-wrap:wrap;gap:8px}
.variant-btn{background:var(--dark3);border:1px solid rgba(200,169,110,.15);color:var(--gray);font-size:11px;padding:6px 14px;border-radius:4px;cursor:pointer;transition:var(--tr);font-family:var(--sans)}
.variant-btn.active,.variant-btn:hover{border-color:var(--gold);color:var(--gold);background:rgba(200,169,110,.08)}
.prod-price-row{display:flex;align-items:center;gap:10px;margin-bottom:20px}
.price-orig{font-size:14px;color:var(--gray);text-decoration:line-through}
.price-offer{font-family:var(--serif);font-size:30px;font-weight:600;color:var(--gold);line-height:1}
.price-disc{font-size:10px;background:rgba(200,169,110,.12);color:var(--gold);padding:3px 8px;border-radius:3px;font-weight:600;letter-spacing:.05em}
.prod-actions{display:flex;gap:10px;flex-wrap:wrap}
.prod-actions .btn{flex:1;justify-content:center;padding:12px 16px;font-size:10px}
.out-of-stock{font-size:11px;color:#e55;text-align:center;padding:12px;border:1px solid rgba(255,100,100,.18);border-radius:var(--r);letter-spacing:.1em;text-transform:uppercase}
.reviews-section{background:var(--black)}
.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:24px}
/* Reviews — hide beyond 8 until "See more" is clicked */
.review-card.review-hidden{display:none}
.review-card.review-hidden.review-visible{display:block}
.see-more-reviews-wrap{text-align:center;margin-bottom:48px}
.see-more-reviews-btn{background:transparent;border:1px solid rgba(200,169,110,.35);color:var(--gold);font-family:var(--sans);font-size:11px;letter-spacing:.18em;text-transform:uppercase;padding:12px 36px;border-radius:var(--r);cursor:pointer;transition:var(--tr)}
.see-more-reviews-btn:hover{background:rgba(200,169,110,.1);border-color:var(--gold)}
.review-card{background:var(--dark2);border:1px solid rgba(200,169,110,.08);border-radius:12px;padding:32px;transition:var(--tr)}
.review-card:hover{border-color:rgba(200,169,110,.22);transform:translateY(-4px);box-shadow:0 16px 48px rgba(0,0,0,.4)}
.review-stars{color:var(--gold);font-size:16px;letter-spacing:2px;margin-bottom:16px}
.review-text{font-size:14px;color:rgba(245,240,232,.72);line-height:1.8;margin-bottom:24px;font-style:italic;position:relative;padding-left:18px}
.review-text::before{content:'"';position:absolute;left:0;top:-4px;font-family:var(--serif);font-size:40px;color:var(--gold);opacity:.3;line-height:1}
.review-author{display:flex;align-items:center;gap:14px}
.review-avatar{width:44px;height:44px;border-radius:50%;background:var(--gold-d);display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:20px;font-weight:700;color:var(--black);flex-shrink:0}
.review-name{font-size:13px;font-weight:500;color:var(--white);margin-bottom:3px}
.review-meta{font-size:11px;color:var(--gray)}
.review-form-wrap{max-width:720px;margin:0 auto;background:var(--dark2);border:1px solid rgba(200,169,110,.12);border-radius:12px;padding:44px}
.review-form-wrap h3{font-family:var(--serif);font-size:30px;font-weight:400;color:var(--white);text-align:center;margin-bottom:28px}
.form-row-2{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}
.form-group{display:flex;flex-direction:column}
.star-input-wrap{display:flex;align-items:center;gap:8px;background:var(--dark3);border:1px solid rgba(200,169,110,.12);border-radius:var(--r);padding:10px 14px}
.star-label{font-size:11px;color:var(--gray);white-space:nowrap}
.star-btn{background:none;border:none;color:rgba(200,169,110,.25);font-size:24px;cursor:pointer;transition:color .2s;line-height:1;padding:0 2px}
.star-btn.active,.star-btn:hover{color:var(--gold)}
input,textarea,select{width:100%;background:var(--dark3);border:1px solid rgba(200,169,110,.12);border-radius:var(--r);padding:12px 15px;font-size:13px;color:var(--white);font-family:var(--sans);font-weight:300;outline:none;transition:border-color .25s;margin-bottom:16px}
input::placeholder,textarea::placeholder{color:var(--gray)}
input:focus,textarea:focus,select:focus{border-color:var(--gold)}
select option{background:var(--dark3)}
textarea{resize:vertical;min-height:100px}
.form-msg{font-size:13px;text-align:center;margin-top:10px;min-height:18px;transition:all .3s}
.form-msg.success{color:#4ecb71}.form-msg.error{color:#e55}
.contact-section{background:var(--dark)}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}
.contact-left .eyebrow{display:block;margin-bottom:16px}
.contact-left h2{font-family:var(--serif);font-size:clamp(32px,4vw,50px);font-weight:300;color:var(--white);margin-bottom:36px;line-height:1.1}
.contact-left h2 em{font-style:italic;color:var(--gold)}
.contact-card{display:flex;align-items:center;gap:18px;padding:20px 24px;background:var(--dark2);border:1px solid rgba(200,169,110,.08);border-radius:10px;margin-bottom:14px;transition:var(--tr)}
.contact-card:hover{border-color:rgba(200,169,110,.25);transform:translateX(5px)}
.cc-icon{width:48px;height:48px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.cc-icon svg{width:26px;height:26px}
.wa-color{background:rgba(37,211,102,.1);color:#25d166}
.ig-color{background:rgba(225,48,108,.1);color:#e1306c}
.contact-card strong{display:block;font-size:13px;font-weight:500;color:var(--white);margin-bottom:3px}
.contact-card span{font-size:12px;color:var(--gray)}
.contact-right h3{font-family:var(--serif);font-size:26px;color:var(--white);margin-bottom:22px;font-weight:400}
.footer{background:var(--dark);border-top:1px solid rgba(200,169,110,.08);padding:88px 0 44px}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:44px;margin-bottom:64px}
.footer-logo{font-family:var(--serif);font-size:30px;font-weight:600;letter-spacing:.2em;color:var(--gold);margin-bottom:16px}
.footer-col p{font-size:13px;color:var(--gray);line-height:1.75;margin-bottom:6px}
.footer-socials{display:flex;gap:10px;margin-top:22px}
.footer-socials a{width:42px;height:42px;border-radius:50%;border:1px solid rgba(200,169,110,.18);display:flex;align-items:center;justify-content:center;color:var(--gold);transition:var(--tr)}
.footer-socials a svg{width:18px;height:18px}
.footer-socials a:hover{background:var(--gold);color:var(--black);border-color:var(--gold)}
.footer-col h4{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:20px;font-weight:500}
.footer-col ul li{margin-bottom:10px}
.footer-col ul a{font-size:13px;color:var(--gray);transition:color var(--tr)}
.footer-col ul a:hover{color:var(--white)}
.footer-bottom{border-top:1px solid rgba(200,169,110,.08);padding-top:28px;text-align:center}
.footer-bottom p{font-size:12px;color:rgba(136,136,136,.55);letter-spacing:.04em}
.float-wa{position:fixed;bottom:32px;right:32px;width:62px;height:62px;border-radius:50%;background:#25d166;color:#fff;display:flex;align-items:center;justify-content:center;z-index:9998;transition:var(--tr);animation:waPulse 3s infinite}
.float-wa svg{width:28px;height:28px}
.float-wa:hover{transform:scale(1.12);box-shadow:0 8px 36px rgba(37,209,102,.6)}
@keyframes waPulse{0%,100%{box-shadow:0 4px 24px rgba(37,209,102,.4),0 0 0 0 rgba(37,209,102,.15)}50%{box-shadow:0 4px 24px rgba(37,209,102,.4),0 0 0 14px rgba(37,209,102,0)}}
.float-wa-tip{position:absolute;right:74px;background:var(--dark2);color:var(--white);font-size:12px;padding:6px 12px;border-radius:4px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s;border:1px solid rgba(200,169,110,.18)}
.float-wa:hover .float-wa-tip{opacity:1}
.cart-overlay{position:fixed;inset:0;background:rgba(0,0,0,.65);z-index:8000;opacity:0;pointer-events:none;transition:opacity var(--tr)}
.cart-overlay.open{opacity:1;pointer-events:all}
.cart-drawer{position:fixed;top:0;right:0;bottom:0;width:420px;max-width:100vw;background:var(--dark2);z-index:8001;display:flex;flex-direction:column;transform:translateX(100%);transition:transform .4s var(--ease);border-left:1px solid rgba(200,169,110,.1)}
.cart-drawer.open{transform:translateX(0)}
.cart-header{padding:24px 24px 20px;border-bottom:1px solid rgba(200,169,110,.1);display:flex;align-items:center;justify-content:space-between;flex-shrink:0}
.cart-header h3{font-family:var(--serif);font-size:24px;color:var(--white);font-weight:400}
.cart-header button{background:none;border:none;color:var(--gray);font-size:28px;cursor:pointer;line-height:1}
.cart-header button:hover{color:var(--white)}
.cart-items{flex:1;overflow-y:auto;padding:16px 24px}
.cart-empty{text-align:center;padding:60px 20px;color:var(--gray)}
.cart-empty p{font-size:15px;margin-bottom:20px}
.cart-item{display:flex;align-items:flex-start;gap:16px;padding:16px 0;border-bottom:1px solid rgba(255,255,255,.05)}
.cart-item-img{width:68px;height:68px;border-radius:8px;background:var(--dark3);overflow:hidden;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:28px}
.cart-item-img img{width:100%;height:100%;object-fit:cover}
.cart-item-info{flex:1}
.cart-item-name{font-size:14px;color:var(--white);font-weight:500;margin-bottom:4px}
.cart-item-size{font-size:10px;color:var(--gold);letter-spacing:.1em;text-transform:uppercase}
.cart-item-price{font-size:14px;color:var(--gold);font-family:var(--serif);margin-top:6px}
.cart-item-qty{display:flex;align-items:center;gap:10px;margin-top:8px}
.qty-btn{width:26px;height:26px;border-radius:4px;background:var(--dark3);border:1px solid rgba(200,169,110,.15);color:var(--white);font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--tr);line-height:1}
.qty-btn:hover{border-color:var(--gold);color:var(--gold)}
.qty-num{font-size:14px;color:var(--white);min-width:20px;text-align:center}
.cart-item-del{background:none;border:none;color:rgba(200,100,100,.4);cursor:pointer;font-size:18px;line-height:1;transition:color .2s;padding:4px;margin-left:auto}
.cart-item-del:hover{color:#e55}
.cart-footer{padding:20px 24px;border-top:1px solid rgba(200,169,110,.1);flex-shrink:0}
.cart-coupon-row{display:flex;gap:8px;margin-bottom:12px}
.cart-coupon-row input{margin-bottom:0;flex:1}
.cart-coupon-row button{background:rgba(200,169,110,.12);border:1px solid rgba(200,169,110,.25);color:var(--gold);padding:0 16px;border-radius:var(--r);cursor:pointer;font-size:12px;white-space:nowrap;transition:var(--tr);font-family:var(--sans)}
.cart-coupon-row button:hover{background:var(--gold);color:var(--black)}
.cart-coupon-msg{font-size:12px;margin-bottom:10px;min-height:16px}
.cart-totals{background:var(--dark3);border-radius:8px;padding:16px;margin-bottom:16px;border:1px solid rgba(200,169,110,.08)}
.cart-total-row{display:flex;justify-content:space-between;font-size:13px;color:var(--gray);margin-bottom:8px}
.cart-total-row.total-final{font-family:var(--serif);font-size:22px;color:var(--gold);font-weight:600;border-top:1px solid rgba(200,169,110,.15);padding-top:10px;margin-top:4px;margin-bottom:0}
.cart-checkout-btn{width:100%;padding:15px;background:var(--gold);color:var(--black);border:none;border-radius:var(--r);font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;cursor:pointer;transition:var(--tr)}
.cart-checkout-btn:hover{background:var(--gold-l)}
.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.87);z-index:9000;display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;pointer-events:none;transition:opacity .3s}
.modal-overlay.open{opacity:1;pointer-events:all}
.checkout-box{background:var(--dark2);border:1px solid rgba(200,169,110,.18);border-radius:16px;width:100%;max-width:580px;max-height:92vh;overflow-y:auto;position:relative;transform:scale(.94);transition:transform .3s}
.modal-overlay.open .checkout-box{transform:scale(1)}
.modal-x{position:absolute;top:16px;right:18px;background:none;border:none;color:var(--gray);font-size:28px;cursor:pointer;line-height:1;z-index:1;transition:color .2s}
.modal-x:hover{color:var(--white)}
.checkout-inner{padding:40px}
.checkout-title{font-family:var(--serif);font-size:28px;color:var(--white);margin-bottom:8px}
.checkout-subtitle{font-size:13px;color:var(--gray);margin-bottom:28px}
.payment-options{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:24px}
.payment-opt{background:var(--dark3);border:2px solid rgba(200,169,110,.12);border-radius:10px;padding:20px 16px;cursor:pointer;transition:var(--tr);text-align:center}
.payment-opt:hover,.payment-opt.selected{border-color:var(--gold);background:rgba(200,169,110,.06)}
.payment-opt-icon{font-size:28px;margin-bottom:10px}
.payment-opt-title{font-size:13px;font-weight:600;color:var(--white);margin-bottom:4px}
.payment-opt-sub{font-size:11px;color:var(--gray);line-height:1.5}
.checkout-breakdown{background:var(--dark3);border-radius:8px;padding:16px;margin-bottom:20px;border:1px solid rgba(200,169,110,.1)}
.cb-row{display:flex;justify-content:space-between;font-size:13px;color:var(--gray);margin-bottom:8px}
.cb-row.highlight{color:var(--white);font-weight:500}
.cb-row.total{font-family:var(--serif);font-size:20px;color:var(--gold);font-weight:600;border-top:1px solid rgba(200,169,110,.15);padding-top:10px;margin-top:4px;margin-bottom:0}
.frag-shop-box{background:var(--dark2);border:1px solid rgba(200,169,110,.18);border-radius:16px;width:100%;max-width:640px;max-height:90vh;overflow-y:auto;position:relative;transform:scale(.94);transition:transform .3s}
.modal-overlay.open .frag-shop-box{transform:scale(1)}
.frag-shop-inner{padding:36px}
.frag-shop-header{padding-bottom:24px;border-bottom:1px solid rgba(200,169,110,.1);margin-bottom:24px}
.frag-shop-name{font-family:var(--serif);font-size:44px;color:var(--white);font-weight:300;margin-bottom:4px}
.frag-shop-mood{font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold)}
.frag-shop-desc{font-size:14px;color:var(--gray);line-height:1.75;margin:16px 0}
.frag-shop-notes{font-size:12px;color:rgba(200,169,110,.6);margin-bottom:24px}
.frag-variants-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px;margin:20px 0 28px}
.fv-card{background:var(--dark3);border:2px solid rgba(200,169,110,.12);border-radius:10px;padding:18px 14px;cursor:pointer;text-align:center;transition:var(--tr)}
.fv-card:hover,.fv-card.selected{border-color:var(--gold);background:rgba(200,169,110,.06)}
.fv-size{font-size:14px;font-weight:600;color:var(--white);margin-bottom:6px}
.fv-price{font-family:var(--serif);font-size:20px;color:var(--gold)}
.fv-orig{font-size:11px;color:var(--gray);text-decoration:line-through;display:block}
.fv-disc{font-size:10px;color:#4ecb71;margin-top:2px;display:block}
.toast{position:fixed;bottom:110px;right:32px;background:var(--dark2);border:1px solid rgba(200,169,110,.25);color:var(--white);padding:14px 20px;border-radius:10px;font-size:13px;z-index:99999;transform:translateX(160%);transition:transform .4s var(--ease);max-width:320px;box-shadow:0 8px 32px rgba(0,0,0,.4)}
.toast.show{transform:translateX(0)}.toast.success{border-color:rgba(78,203,113,.4)}.toast.error{border-color:rgba(231,76,60,.4)}
@media(max-width:1100px){.products-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr 1fr;gap:32px}}
@media(max-width:900px){.frag-grid{grid-template-columns:repeat(2,1fr)}.contact-grid{grid-template-columns:1fr;gap:48px}.story-wrap{grid-template-columns:1fr}.emblem-ring.outer{display:none}}
@media(max-width:768px){.nav-links{display:none;position:fixed;inset:0;background:rgba(10,10,10,.98);flex-direction:column;align-items:center;justify-content:center;gap:28px;z-index:999}.nav-links.open{display:flex}.nav-links a{font-size:16px}.hamburger{display:flex;z-index:1000}.products-grid{grid-template-columns:1fr}.reviews-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.form-row-2{grid-template-columns:1fr}.payment-options{grid-template-columns:1fr}.frag-variants-grid{grid-template-columns:1fr 1fr 1fr}.cart-drawer{width:100vw}section{padding:72px 0}.hero-title{font-size:52px}}
@media(max-width:480px){.frag-grid{grid-template-columns:1fr}.hero-title{font-size:40px}.float-wa{bottom:20px;right:20px;width:54px;height:54px}.float-wa svg{width:24px;height:24px}}

/* ============================================================
   PRODUCT VARIANT PILLS — fully explicit (overrides browser button defaults)
   ============================================================ */
.variant-pills-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 18px;
  margin-top: 4px;
}
.variant-pill {
  /* Reset browser button styles completely */
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-color: rgba(200,169,110,0.08) !important;
  border: 1px solid rgba(200,169,110,0.30) !important;
  /* Typography — match prod-size-tag */
  font-family: var(--sans) !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
  color: var(--gold) !important;
  /* Shape */
  padding: 6px 14px !important;
  border-radius: 3px !important;
  /* Interaction */
  cursor: pointer !important;
  transition: background-color 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease, color 0.25s ease !important;
  white-space: nowrap !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
  outline: none !important;
  user-select: none !important;
}
.variant-pill:hover {
  background-color: rgba(200,169,110,0.18) !important;
  border-color: var(--gold) !important;
  color: #e2c98a !important;
}
.variant-pill.selected {
  background-color: rgba(200,169,110,0.22) !important;
  border-color: var(--gold) !important;
  color: #e2c98a !important;
  box-shadow: 0 0 0 1px rgba(200,169,110,0.35), 0 2px 10px rgba(200,169,110,0.15) !important;
}
.variant-pill.oos,
.variant-pill:disabled {
  opacity: 0.35 !important;
  cursor: not-allowed !important;
  text-decoration: line-through !important;
}

/* ============================================================
   FRAGRANCE NOTES — clean, spaced, on-theme
   ============================================================ */
.prod-notes {
  margin: 4px 0 20px;
  padding: 14px 16px;
  background: rgba(200,169,110,0.05);
  border-left: 2px solid rgba(200,169,110,0.35);
  border-radius: 0 4px 4px 0;
}
.prod-note-row {
  display: flex;
  align-items: flex-start;
  gap: 0;
  padding: 4px 0;
}
.prod-note-row + .prod-note-row {
  border-top: 1px solid rgba(200,169,110,0.08);
  margin-top: 2px;
  padding-top: 6px;
}
.note-label {
  font-family: var(--sans);
  font-size: 9px;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--gold);
  font-weight: 700;
  min-width: 44px;
  flex-shrink: 0;
  padding-top: 1px;
  opacity: 0.85;
}
.note-sep {
  color: rgba(200,169,110,0.4);
  font-size: 11px;
  margin-right: 8px;
  flex-shrink: 0;
}
.note-val {
  font-family: var(--serif);
  font-size: 12px;
  color: rgba(245,240,232,0.62);
  line-height: 1.55;
  font-style: italic;
}
.prod-short-desc {
  font-size: 13px;
  color: var(--gray);
  line-height: 1.75;
  margin-bottom: 16px;
}

/* ── Countdown Bar ──────────────────────────────────────────── */
.countdown-bar {
  background: linear-gradient(90deg,#8B1a1a,#b94040);
  color:#fff; display:flex; align-items:center; justify-content:center;
  gap:12px; padding:9px 40px; font-size:13px; letter-spacing:.03em;
  position:relative; z-index:1002; flex-wrap:wrap;
}
.cdb-text { opacity:.9; }
.cdb-timer {
  font-family:var(--sans); font-size:15px; font-weight:700;
  background:rgba(0,0,0,.25); padding:3px 10px; border-radius:4px;
  letter-spacing:.12em; min-width:72px; text-align:center;
}
.cdb-close {
  position:absolute; right:14px; top:50%; transform:translateY(-50%);
  background:none; border:none; color:rgba(255,255,255,.7);
  font-size:20px; cursor:pointer; line-height:1;
}

/* ── Product Image Slider ───────────────────────────────────── */
.img-slider { position:relative; overflow:hidden; border-radius:0; }
.img-slider .slider-img {
  display:none; width:100%; height:100%; object-fit:cover;
  transition:opacity .35s ease;
}
.img-slider .slider-img.active { display:block; }
.sl-prev, .sl-next {
  position:absolute; top:50%; transform:translateY(-50%);
  background:rgba(0,0,0,.45); border:none; color:#fff;
  width:32px; height:32px; border-radius:50%; font-size:20px; line-height:1;
  cursor:pointer; display:flex; align-items:center; justify-content:center;
  z-index:3; transition:background .2s; padding:0;
}
.sl-prev { left:6px; }
.sl-next { right:6px; }
.sl-prev:hover,.sl-next:hover { background:rgba(200,169,110,.7); }
.sl-dots { position:absolute; bottom:6px; left:50%; transform:translateX(-50%);
           display:flex; gap:5px; z-index:3; }
.sl-dot {
  width:6px; height:6px; border-radius:50%;
  background:rgba(255,255,255,.4); cursor:pointer; transition:.2s;
}
.sl-dot.active { background:#fff; }

/* ── Live Visitor Counter ───────────────────────────────────── */
.live-visitors {
  display:inline-flex; align-items:center; gap:7px;
  margin-top:12px; font-size:12px; color:rgba(136,136,136,.7);
}
.lv-dot {
  width:8px; height:8px; border-radius:50%; background:#4ecb71;
  animation:lvPulse 1.8s ease-in-out infinite; flex-shrink:0;
}
@keyframes lvPulse {
  0%,100%{box-shadow:0 0 0 0 rgba(78,203,113,.45)}
  50%{box-shadow:0 0 0 5px rgba(78,203,113,0)}
}

/* ── Cart Icon Pulse on Add ─────────────────────────────────── */
@keyframes cartPop {
  0%  { transform:scale(1); }
  30% { transform:scale(1.45); }
  55% { transform:scale(.9); }
  75% { transform:scale(1.2); }
  100%{ transform:scale(1); }
}
.cart-btn.pop { animation:cartPop .55s var(--ease); }

/* ── Mobile — Banner & Global ───────────────────────────────── */
@media(max-width:768px) {
  .hero { min-height:calc(100svh - 60px); }
  .hero-title { font-size:clamp(34px,10vw,52px); line-height:1.05; }
  .hero-subtitle { font-size:13px; letter-spacing:.05em; margin-bottom:28px; }
  .hero-eyebrow { font-size:9px; letter-spacing:.3em; margin-bottom:12px; }
  .hero-actions { gap:10px; }
  .hero-actions .btn { padding:11px 22px; font-size:10px; }
  .hero-scroll-hint { display:none; }
  .hero-content { padding:20px; }
  .countdown-bar { font-size:12px; gap:8px; padding:8px 36px; }
  .cdb-timer { font-size:13px; }
  section { padding:60px 0; }
  .container { padding:0 18px; }
  .navbar { background:#0a0a0a !important; }
  .sec-header { margin-bottom:40px; }
  .serif-heading { font-size:clamp(28px,8vw,44px); }
  .nav-links { display:none; position:fixed; inset:0;
    background:rgba(10,10,10,.98); flex-direction:column;
    align-items:center; justify-content:center; gap:28px; z-index:999; }
  .nav-links.open { display:flex; }
  .nav-links a { font-size:16px; }
  .hamburger { display:flex; z-index:1000; }
  .products-grid { grid-template-columns:1fr 1fr; gap:14px; }
  .product-card { border-radius:10px; }
  .prod-info { padding:14px; }
  .prod-name { font-size:15px; }
  .prod-actions { gap:8px; }
  .prod-actions .btn { padding:10px 14px; font-size:10px; }
  .reviews-grid { grid-template-columns:1fr; }
  .footer-grid { grid-template-columns:1fr; }
  .form-row-2 { grid-template-columns:1fr; }
  .payment-options { grid-template-columns:1fr; }
  .cart-drawer { width:100vw; }
  .toast { right:16px; bottom:90px; max-width:calc(100vw - 32px); }
  .float-wa { bottom:18px; right:18px; width:52px; height:52px; }
  .float-wa svg { width:22px; height:22px; }
}
@media(max-width:480px) {
  .products-grid { grid-template-columns:1fr; }
}

/* ── Hero Subheadline ────────────────────────────────────── */
.hero-subheadline {
  font-size:15px; color:rgba(245,240,232,.75); max-width:500px;
  margin:8px auto 28px; line-height:1.65; text-align:center;
}

/* ── Stats Row ───────────────────────────────────────────── */
.stats-row {
  display:flex; align-items:center; justify-content:center;
  background:rgba(200,169,110,.04); border-top:1px solid rgba(200,169,110,.1);
  border-bottom:1px solid rgba(200,169,110,.1); padding:28px 20px; gap:0;
}
.stat-item { text-align:center; padding:0 40px; display:flex; flex-direction:column; gap:6px; }
.stat-num { font-family:var(--serif); font-size:32px; font-weight:600; color:var(--gold); line-height:1; }
.stat-sub { font-size:13px; color:var(--gray); }
.stat-div { width:1px; height:48px; background:rgba(200,169,110,.2); }
@media(max-width:600px) {
  .stats-row { gap:0; padding:18px 10px; }
  .stat-item { padding:0 16px; }
  .stat-num { font-size:22px; }
}

/* ── Trust Badges Strip ──────────────────────────────────── */
.trust-strip {
  background:#f8f8f8; border-top:1px solid #e8e8e8;
  border-bottom:1px solid #e8e8e8; padding:12px 0; overflow:hidden;
}
.trust-badges {
  display:flex; align-items:center; justify-content:center;
  gap:0; max-width:1240px; margin:0 auto; padding:0 28px;
  flex-wrap:nowrap; overflow-x:auto; -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
}
.trust-badges::-webkit-scrollbar { display:none; }
.trust-badge {
  display:flex; align-items:center; gap:8px; padding:8px 20px;
  font-size:13px; color:#333; white-space:nowrap; flex-shrink:0;
  border-right:1px solid #e0e0e0;
}
.trust-badge:last-child { border-right:none; }
.tb-icon { font-size:18px; }

/* ── Product Trust Line ──────────────────────────────────── */
.prod-trust-line {
  font-size:11px; color:#888; text-align:center;
  margin-top:10px; line-height:1.4;
}

/* ── Why Laviyere Section ────────────────────────────────── */
.why-section { background:var(--dark2); }
.why-grid {
  display:grid; grid-template-columns:1fr 1fr; gap:20px;
}
.why-card {
  background:var(--dark3); border-radius:12px; padding:24px;
  box-shadow:0 2px 12px rgba(0,0,0,.2);
  border:1px solid rgba(200,169,110,.08);
  transition:border-color .3s;
}
.why-card:hover { border-color:rgba(200,169,110,.25); }
.why-icon { font-size:28px; margin-bottom:12px; }
.why-title { font-size:15px; font-weight:600; color:var(--white); margin-bottom:8px; }
.why-text { font-size:13px; color:var(--gray); line-height:1.65; }
@media(max-width:600px) { .why-grid { grid-template-columns:1fr; } }

/* ── Reviews Summary Bar ─────────────────────────────────── */
.reviews-summary {
  font-size:16px; color:var(--gold); margin-top:12px;
  letter-spacing:.02em;
}
.reviews-summary strong { color:var(--white); }

/* ── Verified Purchase Badge ─────────────────────────────── */
.review-verified {
  font-size:11px; color:#27ae60; margin-top:4px; font-weight:500;
}

/* ── Footer Trust Row ────────────────────────────────────── */
.footer-trust {
  font-size:12px; color:rgba(136,136,136,.6); text-align:center;
  border-top:1px solid rgba(200,169,110,.08); padding:16px 0 8px;
  margin-top:8px; line-height:1.8;
}

/* ── Sticky Bottom Bar (mobile only) ────────────────────── */
.sticky-bar {
  display:none; position:fixed; bottom:0; left:0; right:0; z-index:9500;
  background:#1a1a1a; color:#fff; height:52px;
  align-items:center; justify-content:space-between;
  padding:0 18px; font-size:13px;
  border-top:1px solid rgba(240,165,0,.3);
  transform:translateY(100%); transition:transform .35s var(--ease);
}
.sticky-bar-visible { transform:translateY(0) !important; }
.sticky-bar-btn {
  background:#f0a500; color:#000; font-size:12px; font-weight:700;
  padding:8px 20px; border-radius:20px; white-space:nowrap;
  letter-spacing:.08em; text-transform:uppercase; transition:background .2s;
}
.sticky-bar-btn:hover { background:#e09400; }
@media(max-width:768px) {
  .sticky-bar { display:flex; }
}
/* pad body so sticky bar doesn't cover content on mobile */
@media(max-width:768px) {
  body { padding-bottom:52px; }
}

/* ── BxGy Auto-Offer Savings Row ──────────────────────────── */
.offer-savings-row {
  color: #2ecc71;
  background: rgba(39,174,96,.06);
  border-radius: 6px;
  padding: 6px 8px;
  margin: 2px 0;
  font-weight: 500;
}

/* ── Review Image ─────────────────────────────────────────── */
.review-image-wrap {
  margin: 12px 0 10px;
  border-radius: 10px;
  overflow: hidden;
  border: 1px solid rgba(200,169,110,.12);
}
.review-img {
  width: 100%;
  max-height: 220px;
  object-fit: cover;
  display: block;
  border-radius: 10px;
}
@media(max-width:600px) {
  .review-img { max-height: 180px; }
}
