:root{
  --ink:#F3E7DE;
  --muted:#AC9C92;
  --berry:#FF6E86;
  --berry-dark:#E14F6B;
  --sage:#8FCB9E;
  --gold:#E8B27E;
  --blush:#1C1512;
  --cream:#120D0B;
  --line:rgba(243,231,222,0.12);
  --white:#FFFFFF;
  --surface:#211915;
  --void:#0A0706;
  --radius:16px;
  --shadow: 0 16px 40px rgba(0,0,0,0.55);
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:'Work Sans', sans-serif;
  color:var(--ink);
  background:var(--cream);
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{font-family:'Fraunces', serif; font-weight:700; line-height:1.1;}
a{text-decoration:none; color:inherit;}
ul{list-style:none;}
img,svg{max-width:100%; display:block;}
.wrap{max-width:1180px; margin:0 auto; padding:0 24px;}
button{font-family:inherit; cursor:pointer; border:none; background:none;}

/* ANNOUNCEMENT BAR */
.announce{
  background:var(--void); color:var(--ink); font-size:13px; letter-spacing:.03em;
  text-align:center; padding:9px 12px;
}

/* HEADER */
header{background:var(--surface); border-bottom:1px solid var(--line); position:sticky; top:0; z-index:50;}
.header-inner{display:flex; align-items:center; justify-content:space-between; padding:16px 24px; gap:24px;}
.logo{font-size:26px; font-weight:700; color:var(--berry); letter-spacing:.01em;}
.logo em{font-style:normal; color:var(--sage);}
nav.main-nav{display:flex; gap:26px;}
nav.main-nav a{font-size:14.5px; font-weight:500; color:var(--ink); position:relative; padding:4px 0;}
nav.main-nav a::after{content:'';position:absolute;left:0;bottom:-2px;width:0;height:2px;background:var(--berry);transition:width .25s;}
nav.main-nav a:hover::after, nav.main-nav a.active::after{width:100%;}
nav.main-nav a.active{color:var(--berry);}
.search-box{
  flex:1; max-width:360px; display:flex; align-items:center; background:var(--blush);
  border-radius:999px; padding:9px 16px; gap:8px; position:relative;
}
.search-box input{border:none; background:none; outline:none; width:100%; font-size:14px; font-family:inherit;}
.search-results{
  display:none; position:absolute; top:calc(100% + 10px); left:0; right:0; background:var(--surface);
  border-radius:16px; box-shadow:0 20px 50px rgba(0,0,0,.6); overflow:hidden; z-index:60;
  max-height:420px; overflow-y:auto; text-align:left;
}
.search-results.show{display:block;}
.search-result-item{
  display:flex; align-items:center; gap:12px; padding:10px 14px; text-decoration:none; color:var(--ink);
  border-bottom:1px solid rgba(0,0,0,.06);
}
.search-result-item:last-child{border-bottom:none;}
.search-result-item:hover{background:var(--blush);}
.search-result-item .prod-icon{width:38px; height:38px; flex-shrink:0;}
.search-result-item .sr-info{flex:1; min-width:0;}
.search-result-item .sr-info h5{font-size:14px; font-weight:600; margin:0 0 2px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.search-result-item .sr-info span{font-size:12px; color:var(--muted);}
.search-result-item .sr-price{font-size:13px; font-weight:700; color:var(--berry); white-space:nowrap;}
.search-empty{padding:22px 16px; text-align:center; color:var(--muted); font-size:14px;}
.search-empty .se-icon{font-size:26px; display:block; margin-bottom:6px;}
.header-icons{display:flex; gap:18px; align-items:center; font-size:19px;}
.cart-count{
  background:var(--berry); color:#fff; font-size:10px; font-weight:700; border-radius:999px;
  padding:1px 6px; position:relative; top:-9px; left:-8px;
}
.wishlist-wrap{position:relative;}
.wishlist-toggle{background:none; border:none; font-size:19px; font-family:inherit; color:var(--ink); cursor:pointer; line-height:1; display:inline-flex;}
.wish-count{
  background:var(--berry); color:#fff; font-size:10px; font-weight:700; border-radius:999px;
  padding:1px 6px; position:absolute; top:-9px; right:-10px;
}
.wishlist-panel{
  display:none; position:absolute; top:calc(100% + 14px); right:0; width:300px; background:var(--surface);
  border-radius:16px; box-shadow:0 20px 50px rgba(0,0,0,.6); overflow:hidden; z-index:60;
  max-height:420px; overflow-y:auto; text-align:left;
}
.wishlist-panel.show{display:block;}
.wish{transition:transform .15s, background .2s, color .2s;}
.wish.liked{color:var(--berry); background:var(--blush);}
.wish.pop{animation:wishPop .4s ease;}
@keyframes wishPop{0%{transform:scale(1);} 35%{transform:scale(1.35);} 60%{transform:scale(.9);} 100%{transform:scale(1);}}
.mobile-toggle{display:none; font-size:24px;}

/* CATEGORY TAB BAR (site-wide, every page) */
.tab-bar{background:var(--blush); border-bottom:1px solid var(--line); overflow-x:auto;}
.tab-bar .wrap{display:flex; gap:6px; padding-top:10px; padding-bottom:10px;}
.tab-bar a{
  white-space:nowrap; font-size:13px; font-weight:600; padding:8px 16px; border-radius:999px;
  color:var(--ink); display:flex; align-items:center; gap:6px; transition:background .2s, color .2s;
}
.tab-bar a:hover{background:var(--surface);}
.tab-bar a.active{background:var(--berry); color:#fff;}

/* MOBILE NAV DRAWER */
.mobile-nav{
  display:none; position:fixed; inset:0; background:rgba(6,4,3,.72); z-index:100; opacity:0; pointer-events:none; transition:opacity .25s;
}
.mobile-nav.open{opacity:1; pointer-events:auto;}
.mobile-nav-panel{
  background:var(--cream); width:78%; max-width:320px; height:100%; padding:24px; transform:translateX(-100%); transition:transform .25s;
}
.mobile-nav.open .mobile-nav-panel{transform:translateX(0);}
.mobile-nav-panel a{display:block; padding:12px 4px; font-size:15px; font-weight:600; border-bottom:1px solid var(--line);}
.mobile-nav-close{font-size:20px; margin-bottom:16px; display:block;}

/* BREADCRUMB */
.breadcrumb{font-size:13px; color:#AC9C92; padding:16px 0 0;}
.breadcrumb a:hover{color:var(--berry);}

/* HERO (home) */
.hero{background:radial-gradient(circle at 12% 18%, rgba(232,178,126,.14), transparent 55%), linear-gradient(120deg, var(--blush) 0%, var(--cream) 100%); overflow:hidden; position:relative;}
.hero-inner{display:grid; grid-template-columns:1.1fr .9fr; align-items:center; gap:40px; padding:64px 24px 72px;}
.hero-eyebrow{
  display:inline-flex; align-items:center; gap:8px; background:var(--surface); border:1px solid var(--line);
  padding:6px 14px; border-radius:999px; font-size:12.5px; font-weight:600; color:var(--berry);
  margin-bottom:20px; letter-spacing:.03em;
}
.hero h1{font-size:50px; max-width:560px; margin-bottom:18px;}
.hero h1 .accent{color:var(--berry); font-style:italic; font-weight:500;}
.hero p{font-size:16.5px; max-width:440px; color:#C9B7AD; margin-bottom:30px;}
.btn-row{display:flex; gap:14px; flex-wrap:wrap;}
.btn{
  padding:14px 28px; border-radius:999px; font-weight:600; font-size:14.5px;
  display:inline-flex; align-items:center; gap:8px; transition:transform .2s, box-shadow .2s; cursor:pointer;
}
.btn-primary{background:var(--berry); color:#fff; box-shadow:0 10px 26px rgba(255,110,134,.30);}
.btn-primary:hover{transform:translateY(-2px); box-shadow:0 14px 32px rgba(255,110,134,.42);}
.btn-ghost{background:var(--surface); color:var(--ink); border:1px solid var(--line);}
.btn-ghost:hover{border-color:var(--berry); color:var(--berry);}

.hero-visual{position:relative; height:400px; display:flex; align-items:center; justify-content:center;}
.hero-blob{position:absolute; width:320px; height:320px; border-radius:44% 56% 60% 40% / 45% 40% 60% 55%; background:linear-gradient(135deg, rgba(255,110,134,.30), rgba(232,178,126,.28)); filter:blur(38px); opacity:.85; animation:blobmove 9s ease-in-out infinite;}
@keyframes blobmove{0%,100%{border-radius:44% 56% 60% 40% / 45% 40% 60% 55%;} 50%{border-radius:60% 40% 44% 56% / 55% 60% 40% 45%;}}
.hero-visual .prod-icon{width:170px; height:170px; position:relative; z-index:2;}
.seal{
  position:absolute; width:120px; height:120px; border-radius:50%;
  background:var(--gold); color:#fff; display:flex; flex-direction:column; align-items:center; justify-content:center;
  font-family:'Fraunces', serif; text-align:center; box-shadow:0 14px 30px rgba(232,178,126,.42);
  transform:rotate(-8deg); z-index:3;
}
.seal span:first-child{font-size:24px; font-weight:700;}
.seal span:last-child{font-size:10.5px; letter-spacing:.05em;}
.float-card{
  position:absolute; background:var(--surface); border-radius:var(--radius); box-shadow:var(--shadow);
  padding:12px 16px; display:flex; align-items:center; gap:8px; font-size:13px; font-weight:600; z-index:3;
}

/* CATEGORY PAGE HERO (small banner) */
.cat-hero{background:radial-gradient(circle at 85% 0%, rgba(232,178,126,.10), transparent 60%), linear-gradient(120deg, var(--blush), var(--cream)); padding:40px 0 48px; border-bottom:1px solid var(--line);}
.cat-hero-inner{display:flex; align-items:center; gap:28px; flex-wrap:wrap;}
.cat-hero .prod-icon{width:96px; height:96px; flex-shrink:0;}
.cat-hero h1{font-size:34px; margin-bottom:6px;}
.cat-hero p{color:#C9B7AD; font-size:14.5px; max-width:520px;}
.cat-hero-meta{display:flex; gap:18px; margin-top:14px; font-size:13px; color:#AC9C92; flex-wrap:wrap;}
.cat-hero-meta b{color:var(--ink);}

/* SECTION HEADER */
.sec-head{display:flex; align-items:flex-end; justify-content:space-between; margin-bottom:28px; flex-wrap:wrap; gap:12px;}
.sec-head .eyebrow{font-size:12.5px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--sage); margin-bottom:6px; display:block;}
.sec-head h2{font-size:30px;}
.sec-head a.view-all{font-size:13.5px; font-weight:600; color:var(--berry); border-bottom:1px solid var(--berry); padding-bottom:2px;}
section{padding:60px 0;}
section.alt{background:var(--blush);}
section.tight{padding-top:36px;}

/* OFFER STRIP */
.offer-strip{display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-top:-40px; position:relative; z-index:5;}
.offer-chip{
  background:var(--surface); border-radius:var(--radius); box-shadow:var(--shadow); padding:18px 20px;
  display:flex; align-items:center; gap:12px; border:1px solid var(--line);
}
.offer-chip .ic{font-size:24px;}
.offer-chip b{display:block; font-size:14px;}
.offer-chip small{color:#AC9C92; font-size:12px;}

.countdown{display:flex; gap:8px; align-items:center; background:var(--void); color:#fff; padding:6px 14px; border-radius:999px; font-size:13px; font-weight:600;}
.countdown span{background:rgba(255,255,255,.15); padding:2px 8px; border-radius:6px; font-variant-numeric:tabular-nums;}

/* FLASH DEALS MARQUEE (home) — continuous auto-scrolling product row */
.marquee-wrap{overflow:hidden; position:relative; -webkit-mask-image:linear-gradient(90deg, transparent, #000 4%, #000 96%, transparent); mask-image:linear-gradient(90deg, transparent, #000 4%, #000 96%, transparent);}
.marquee-wrap .product-grid.marquee-track{display:flex; gap:20px; width:max-content; animation:marqueeScroll 30s linear infinite;}
.marquee-wrap:hover .marquee-track{animation-play-state:paused;}
.marquee-track .card{flex:0 0 220px;}
@keyframes marqueeScroll{0%{transform:translateX(0);} 100%{transform:translateX(-50%);}}

/* FILTER BAR (category pages) */
.filter-bar{display:flex; align-items:center; justify-content:space-between; margin-bottom:22px; flex-wrap:wrap; gap:12px;}
.filter-pills{display:flex; gap:8px; flex-wrap:wrap;}
.filter-pills button{
  font-size:12.5px; font-weight:600; padding:8px 16px; border-radius:999px; border:1px solid var(--line); background:var(--surface);
  transition:background .2s, color .2s, border-color .2s;
}
.filter-pills button.active, .filter-pills button:hover{background:var(--berry); color:#fff; border-color:var(--berry);}
.sort-select{font-size:12.5px; font-weight:600; padding:8px 14px; border-radius:999px; border:1px solid var(--line); background:var(--surface);}
.result-count{font-size:13px; color:#AC9C92;}

/* PRODUCT GRID / CARD */
.product-grid{display:grid; grid-template-columns:repeat(6,1fr); gap:20px;}
.product-grid.cols-4{grid-template-columns:repeat(4,1fr);}
.card{
  background:var(--surface); border-radius:var(--radius); border:1px solid var(--line); overflow:hidden;
  transition:transform .25s, box-shadow .25s; position:relative; opacity:0; transform:translateY(20px);
}
.card.in{opacity:1; transform:translateY(0);}
.card:hover{transform:translateY(-6px); box-shadow:var(--shadow); border-color:transparent;}
.card:hover .prod-icon{transform:scale(1.06);}
.card-media{background:var(--void); height:150px; display:flex; align-items:center; justify-content:center; position:relative; border-bottom:1px solid var(--line); padding:14px;}
.card-media .prod-icon{width:92px; height:92px; transition:transform .3s;}
.badge{position:absolute; top:10px; left:10px; font-size:10.5px; font-weight:700; padding:4px 9px; border-radius:999px; letter-spacing:.03em; z-index:2;}
.badge.sale{background:var(--berry); color:#fff;}
.badge.new{background:var(--sage); color:#fff;}
.badge.hot{background:var(--gold); color:#fff;}
.wish{position:absolute; top:10px; right:10px; background:var(--surface); width:28px; height:28px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:13px; box-shadow:0 2px 8px rgba(0,0,0,.5); z-index:2;}
.card-body{padding:14px 16px 16px;}
.card-body .cat{font-size:10.5px; text-transform:uppercase; letter-spacing:.06em; color:var(--sage); font-weight:700;}
.card-body h4{font-size:14.5px; font-weight:600; font-family:'Work Sans',sans-serif; margin:6px 0 6px; min-height:38px;}
.stars{color:var(--gold); font-size:12px; margin-bottom:6px;}
.stars span{color:rgba(255,255,255,.22); font-size:11px; margin-left:4px;}
.price-row{display:flex; align-items:center; gap:8px; margin-bottom:10px;}
.price{font-weight:700; font-size:15.5px; color:var(--berry);}
.old-price{font-size:12.5px; color:#8A7972; text-decoration:line-through;}
.add-btn{
  width:100%; padding:9px; background:var(--void); color:#fff; border-radius:8px; font-size:12.5px; font-weight:600;
  display:flex; align-items:center; justify-content:center; gap:6px; transition:background .2s;
}
.add-btn:hover{background:var(--berry);}
.add-btn.added{background:var(--sage);}

/* CATEGORY STRIP (home) — one line of small circular icons */
#categories{padding-top:22px;}
.cat-grid{display:flex; gap:14px; justify-content:space-between; overflow-x:auto; overflow-y:visible; padding:24px 2px 14px; scrollbar-width:thin;}
.cat-tile{flex:0 0 auto; width:100px; text-align:center; background:none; border:none; padding:0; animation:catFloat 3.2s ease-in-out infinite;}
.cat-tile:nth-child(2n){animation-delay:.35s;}
.cat-tile:nth-child(3n){animation-delay:.65s;}
.cat-tile:nth-child(4n){animation-delay:.2s;}
@keyframes catFloat{0%,100%{transform:translateY(0);} 50%{transform:translateY(-5px);}}
.cat-circle{
  width:76px; height:76px; margin:0 auto 10px; border-radius:50%;
  background:radial-gradient(circle at 35% 30%, color-mix(in srgb, var(--cat-tint, var(--berry)) 22%, #fff), var(--blush) 75%);
  border:1.5px solid color-mix(in srgb, var(--cat-tint, var(--berry)) 35%, var(--line));
  display:flex; align-items:center; justify-content:center; overflow:hidden;
  transition:transform .3s cubic-bezier(.22,1,.36,1), box-shadow .3s, border-color .3s;
}
.cat-circle .prod-icon{width:40px; height:40px;}
.cat-circle svg{animation:iconBreathe 3.6s ease-in-out infinite;}
@keyframes iconBreathe{0%,100%{transform:scale(1);} 50%{transform:scale(1.1);}}
.cat-tile:hover .cat-circle{transform:translateY(-4px) scale(1.08); border-color:var(--berry); box-shadow:0 14px 24px -8px color-mix(in srgb, var(--cat-tint, var(--berry)) 50%, transparent);}
.cat-label{font-size:12px; font-weight:600; line-height:1.25; display:block;}
@media(max-width:640px){
  .cat-grid{justify-content:flex-start;}
}

/* PROMO BANNERS */
.promo-duo{display:grid; grid-template-columns:1fr 1fr; gap:22px;}
.promo-card{border-radius:20px; padding:34px; min-height:180px; display:flex; flex-direction:column; justify-content:center; gap:12px;}
.promo-card.a{background:linear-gradient(120deg,#241A10,#171009); border:1px solid rgba(232,178,126,.22);}
.promo-card.b{background:linear-gradient(120deg,#132018,#0D1712); border:1px solid rgba(143,203,158,.22);}
.promo-card h3{font-size:22px; max-width:280px;}
.promo-card .btn{width:fit-content;}

/* TRUST STRIP */
.trust-strip{display:grid; grid-template-columns:repeat(4,1fr); gap:20px; text-align:center;}
.trust-strip div{padding:10px;}
.trust-strip .ic{font-size:26px; margin-bottom:8px;}
.trust-strip b{display:block; font-size:14px; margin-bottom:2px;}
.trust-strip small{color:#AC9C92; font-size:12.5px;}

/* NEWSLETTER / POPUP */
.popup-overlay{position:fixed; inset:0; background:rgba(6,4,3,.75); display:flex; align-items:center; justify-content:center; z-index:200; opacity:0; pointer-events:none; transition:opacity .3s;}
.popup-overlay.show{opacity:1; pointer-events:auto;}
.popup-box{background:var(--cream); border-radius:20px; max-width:400px; width:90%; padding:36px 32px; text-align:center; position:relative; transform:scale(.9); transition:transform .3s; box-shadow:0 30px 70px rgba(0,0,0,.65);}
.popup-overlay.show .popup-box{transform:scale(1);}
.popup-box .seal{position:static; margin:0 auto 16px; transform:rotate(-6deg);}
.popup-box h3{font-size:23px; margin-bottom:8px;}
.popup-box p{color:#C9B7AD; font-size:14px; margin-bottom:20px;}
.popup-close{position:absolute; top:14px; right:16px; font-size:18px; color:#AC9C92;}
.popup-form{display:flex; gap:8px;}
.popup-form input{flex:1; padding:12px 14px; border-radius:999px; border:1px solid var(--line); font-size:13.5px; outline:none;}
.popup-form button{background:var(--berry); color:#fff; padding:0 20px; border-radius:999px; font-size:13px; font-weight:700;}
.form-note{font-size:11.5px; color:#AC9C92; margin-top:10px;}

/* TOAST */
.toast{position:fixed; bottom:24px; left:50%; transform:translateX(-50%) translateY(20px); background:var(--void); color:#fff; padding:12px 22px; border-radius:999px; font-size:13.5px; font-weight:600; opacity:0; transition:opacity .3s, transform .3s; z-index:300; pointer-events:none;}
.toast.show{opacity:1; transform:translateX(-50%) translateY(0);}

/* EMPTY STATE */
.empty-state{text-align:center; padding:60px 20px; color:#AC9C92;}
.empty-state .prod-icon{width:80px; height:80px; margin:0 auto 16px; opacity:.5;}

/* FOOTER */
footer{background:var(--void); color:#e9dfe1; padding:60px 0 24px; margin-top:20px; border-top:3px solid var(--gold); position:relative;}
.footer-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1.2fr; gap:40px; padding-bottom:36px; border-bottom:1px solid rgba(255,255,255,.1);}
.footer-grid h5{font-size:13px; text-transform:uppercase; letter-spacing:.06em; color:var(--gold); margin-bottom:16px; position:relative; padding-bottom:8px;}
.footer-grid h5::after{content:''; position:absolute; left:0; bottom:0; width:26px; height:2px; background:var(--gold); border-radius:2px;}
.footer-grid .logo{color:#fff; margin-bottom:12px; display:inline-block;}
.footer-grid p{font-size:13.5px; color:#C9B6AE; max-width:260px; margin-bottom:16px;}
.footer-grid ul li{margin-bottom:10px; font-size:13.5px; color:#C9B6AE;}
.footer-grid ul li a{transition:color .2s, padding-left .2s; display:inline-block;}
.footer-grid ul li a:hover{color:#fff; padding-left:4px;}
.foot-bottom{display:flex; justify-content:space-between; align-items:center; padding-top:22px; font-size:12.5px; color:#9C8B82; flex-wrap:wrap; gap:10px;}
.social{display:flex; gap:10px;}
.social a{width:34px; height:34px; border-radius:50%; background:rgba(255,255,255,.08); display:flex; align-items:center; justify-content:center; font-size:14px; transition:background .2s, transform .2s;}
.social a:hover{background:var(--gold); transform:translateY(-3px);}

/* RESPONSIVE */
@media(max-width:1024px){
  .product-grid{grid-template-columns:repeat(3,1fr);}
  .product-grid.cols-4{grid-template-columns:repeat(3,1fr);}
  .cat-grid{grid-template-columns:repeat(3,1fr);}
  .offer-strip{grid-template-columns:repeat(2,1fr);}
  .trust-strip{grid-template-columns:repeat(2,1fr);}
  .hero-inner{grid-template-columns:1fr; text-align:center;}
  .hero p, .hero-eyebrow{margin-left:auto; margin-right:auto;}
  .btn-row{justify-content:center;}
  .hero-visual{height:260px;}
  .footer-grid{grid-template-columns:1fr 1fr;}
}
@media(max-width:640px){
  nav.main-nav, .search-box{display:none;}
  .mobile-toggle{display:block;}
  .mobile-nav{display:block;}
  .product-grid{grid-template-columns:repeat(2,1fr);}
  .product-grid.cols-4{grid-template-columns:repeat(2,1fr);}
  .cat-grid{grid-template-columns:repeat(2,1fr);}
  .offer-strip{grid-template-columns:1fr 1fr;}
  .trust-strip{grid-template-columns:1fr 1fr;}
  .promo-duo{grid-template-columns:1fr;}
  .hero h1{font-size:32px;}
  .cat-hero-inner{flex-direction:column; text-align:center;}
  .footer-grid{grid-template-columns:1fr; text-align:center; gap:30px;}
  .footer-grid > div{padding-bottom:26px; border-bottom:1px solid rgba(255,255,255,.08);}
  .footer-grid > div:last-child{border-bottom:none; padding-bottom:0;}
  .footer-grid h5::after{left:50%; transform:translateX(-50%);}
  .footer-grid p{margin-left:auto; margin-right:auto;}
  .social{justify-content:center;}
  .foot-bottom{justify-content:center; text-align:center;}
}

/* ============================================================
   ADDED: hero poster carousel, product page, cart/checkout page
   ============================================================ */

/* Card media link reset */
.card-media-link{display:block;}

/* HERO POSTER CAROUSEL */
.poster-carousel{position:relative; min-height:400px; border-radius:24px; overflow:hidden;}
.poster-slide{
  position:absolute; inset:0; display:grid; grid-template-columns:1.1fr .9fr; align-items:center; gap:40px;
  padding:56px 48px; opacity:0; pointer-events:none; transition:opacity .6s ease;
}
.poster-slide.active{opacity:1; pointer-events:auto; position:relative;}
.poster-slide.p1{background:radial-gradient(circle at 15% 20%, rgba(232,178,126,.14), transparent 55%), linear-gradient(120deg, var(--blush) 0%, var(--cream) 100%);}
.poster-slide.p2{background:radial-gradient(circle at 85% 15%, rgba(143,203,158,.14), transparent 55%), linear-gradient(120deg, #101A15 0%, #0D1512 100%);}
.poster-slide.p3{background:radial-gradient(circle at 80% 80%, rgba(232,178,126,.10), transparent 55%), linear-gradient(120deg, #191320 0%, #120E17 100%);}
.poster-demo-tag{
  position:absolute; top:18px; right:18px; background:var(--void); color:#fff; font-size:11px; font-weight:700;
  letter-spacing:.08em; text-transform:uppercase; padding:6px 14px; border-radius:999px; z-index:5; opacity:.85;
}
.poster-dots{position:absolute; bottom:20px; left:50%; transform:translateX(-50%); display:flex; gap:8px; z-index:5;}
.poster-dot{width:9px; height:9px; border-radius:50%; background:rgba(243,231,222,.28); border:none; cursor:pointer; transition:background .2s, width .2s;}
.poster-dot.active{background:var(--berry); width:24px; border-radius:5px;}
.poster-visual{position:relative; height:280px; display:flex; align-items:center; justify-content:center;}
.poster-visual .prod-icon{width:150px; height:150px; position:relative; z-index:2;}
@media(max-width:1024px){
  .poster-slide{grid-template-columns:1fr; text-align:center; padding:40px 24px;}
  .poster-slide .btn-row, .poster-slide .hero-eyebrow{margin-left:auto; margin-right:auto;}
  .poster-visual{height:200px;}
}

/* PRODUCT PAGE */
.product-layout{display:grid; grid-template-columns:.85fr 1.15fr; gap:48px; align-items:flex-start;}
.product-media-box{background:var(--surface); border:1px solid var(--line); border-radius:20px; height:380px; display:flex; align-items:center; justify-content:center; position:relative;}
.product-media-box .prod-icon{width:200px; height:200px;}
.product-info .cat{font-size:11px; text-transform:uppercase; letter-spacing:.06em; color:var(--sage); font-weight:700;}
.product-info h1{font-size:30px; margin:8px 0 10px;}
.product-info .price-row{margin-bottom:18px;}
.product-info .price{font-size:26px;}
.product-info .old-price{font-size:16px;}
.variant-row, .color-row{display:flex; align-items:center; gap:10px; margin-bottom:18px; flex-wrap:wrap;}
.variant-row span, .color-row span{font-size:13.5px; font-weight:600; margin-right:4px;}
.variant-pill{border:1.5px solid var(--line); background:var(--surface); padding:8px 16px; border-radius:10px; font-size:13.5px; font-weight:600; transition:border-color .2s, background .2s, color .2s;}
.variant-pill.active, .variant-pill:hover{border-color:var(--berry); background:var(--berry); color:#fff;}
.color-swatch{width:30px; height:30px; border-radius:50%; background:var(--sw); border:2px solid transparent; box-shadow:0 0 0 1px var(--line); cursor:pointer; transition:box-shadow .2s, transform .2s;}
.color-swatch.active{box-shadow:0 0 0 2px var(--white), 0 0 0 4px var(--berry); transform:scale(1.08);}
.qty-row{display:flex; align-items:center; gap:16px; margin-bottom:20px;}
.qty-control{display:flex; align-items:center; gap:0; border:1px solid var(--line); border-radius:10px; overflow:hidden;}
.qty-control button{padding:8px 14px; font-size:15px; font-weight:700; background:var(--surface); transition:background .2s;}
.qty-control button:hover{background:var(--blush);}
.qty-control span{padding:0 16px; font-weight:600; font-size:14px; min-width:20px; text-align:center;}
.product-cta{display:flex; gap:12px; margin-bottom:26px; flex-wrap:wrap;}
.trust-mini{display:flex; gap:20px; flex-wrap:wrap; font-size:13px; color:#AC9C92; padding-top:18px; border-top:1px solid var(--line);}
.trust-mini span{display:flex; align-items:center; gap:6px;}

.tabs{display:flex; gap:8px; border-bottom:1px solid var(--line); margin:44px 0 24px;}
.tab-btn{padding:12px 4px; margin-right:24px; font-weight:600; font-size:14.5px; color:#AC9C92; border-bottom:2px solid transparent; position:relative; top:1px;}
.tab-btn.active{color:var(--ink); border-color:var(--berry);}
.tab-panel{display:none; color:#C9B7AD; font-size:14.5px; line-height:1.7; max-width:720px;}
.tab-panel.active{display:block;}
.reviews-box{background:var(--blush); border-radius:var(--radius); padding:22px 24px; max-width:340px;}
.reviews-stars{color:var(--gold); font-size:22px; margin-bottom:8px;}
.reviews-line{margin:0 0 4px; font-size:14px;}
.reviews-line:last-child{margin-bottom:0; color:var(--sage); font-weight:600;}

@media(max-width:1024px){
  .product-layout{grid-template-columns:1fr;}
  .product-media-box{height:280px;}
}

/* CART PAGE */
.cart-layout{display:grid; grid-template-columns:1.4fr 1fr; gap:36px; align-items:flex-start;}
.cart-line{display:grid; grid-template-columns:60px 1fr auto auto; gap:16px; align-items:center; padding:18px 0; border-bottom:1px solid var(--line);}
.cart-line-icon{width:56px; height:56px;}
.cart-line-info h4{font-size:14.5px; font-weight:600; margin:4px 0 6px;}
.cart-line-info .cat{font-size:10.5px; text-transform:uppercase; letter-spacing:.05em; color:var(--sage); font-weight:700;}
.cart-remove{font-size:12px; color:#C79AA6; text-decoration:underline;}
.cart-remove:hover{color:var(--berry);}
.cart-line-total{font-weight:700; color:var(--berry); font-size:14.5px; white-space:nowrap;}
.summary-box{background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); padding:24px;}
.summary-row{display:flex; justify-content:space-between; font-size:14px; margin-bottom:12px; color:#C9B7AD;}
.summary-row.total{font-weight:700; font-size:16.5px; color:var(--ink); border-top:1px solid var(--line); padding-top:14px; margin-top:6px;}
.promo-row{display:flex; gap:8px; margin:18px 0;}
.promo-row input{flex:1; padding:10px 14px; border-radius:10px; border:1px solid var(--line); font-size:13.5px;}
.promo-row button{background:var(--void); color:#fff; padding:0 16px; border-radius:10px; font-size:12.5px; font-weight:700;}
#promo-msg{font-size:12.5px; margin-bottom:14px; min-height:16px;}

.checkout-section{margin-top:36px;}
.form-grid{display:grid; grid-template-columns:1fr 1fr; gap:16px;}
.form-grid .full{grid-column:1 / -1;}
.field label{display:block; font-size:12.5px; font-weight:600; margin-bottom:6px; color:#C9B7AD;}
.field input, .field textarea{width:100%; padding:11px 14px; border-radius:10px; border:1px solid var(--line); font-size:14px; font-family:inherit; outline:none;}
.field input:focus, .field textarea:focus{border-color:var(--berry);}
.pay-methods{display:flex; flex-direction:column; gap:10px; margin:18px 0 26px;}
.pay-option{display:flex; align-items:center; gap:12px; border:1.5px solid var(--line); border-radius:12px; padding:14px 16px; cursor:pointer; transition:border-color .2s, background .2s;}
.pay-option:has(input:checked){border-color:var(--berry); background:var(--blush);}
.pay-option input{accent-color:var(--berry);}
.pay-option .ic{font-size:20px;}
.pay-option b{font-size:14px; display:block;}
.pay-option small{color:#AC9C92; font-size:12px;}
.order-confirm{text-align:center; padding:60px 20px;}
.order-confirm .seal{margin:0 auto 20px;}
.order-confirm h2{font-size:26px; margin-bottom:10px;}
.order-confirm p{color:#C9B7AD; margin-bottom:24px;}

@media(max-width:1024px){
  .cart-layout{grid-template-columns:1fr;}
  .form-grid{grid-template-columns:1fr;}
  .cart-line{grid-template-columns:44px 1fr; grid-template-areas:"icon info" "icon qty" "icon total";}
}

/* ============================================================
   ADDED: signature brand polish — grain texture, logo mark,
   wave divider, button shine, tinted card glow, stat counters,
   hero parallax
   ============================================================ */

/* Subtle film-grain overlay across the whole site for a less
   "template" / more considered print-like feel */
body::before{
  content:""; position:fixed; inset:0; pointer-events:none; z-index:9000; opacity:.035; mix-blend-mode:overlay;
  background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="120" height="120"><filter id="n"><feTurbulence type="fractalNoise" baseFrequency="0.9" numOctaves="2" stitchTiles="stitch"/></filter><rect width="100%25" height="100%25" filter="url(%23n)"/></svg>');
}

/* Logo monogram badge */
.logo{display:inline-flex; align-items:center; gap:9px;}
.logo-mark{
  width:34px; height:34px; border-radius:50%; flex-shrink:0;
  background:linear-gradient(135deg, var(--berry), var(--gold));
  color:#fff; display:flex; align-items:center; justify-content:center;
  font-family:'Fraunces', serif; font-size:17px; font-weight:700;
  box-shadow:0 4px 12px rgba(255,110,134,.4);
}

/* Wave divider under the hero carousel */
.wave-divider{display:block; width:100%; height:48px; margin-top:-2px;}
.wave-divider path{fill:var(--cream);}

/* Button shine sweep */
.btn-primary{position:relative; overflow:hidden;}
.btn-primary::after{
  content:""; position:absolute; top:0; left:-60%; width:40%; height:100%;
  background:linear-gradient(115deg, transparent, rgba(255,255,255,.35), transparent);
  transform:skewX(-20deg); transition:left .6s ease;
}
.btn-primary:hover::after{left:130%;}

/* Tinted glow on card hover, using each product's own accent color */
.card{ --card-tint:#FF6E86; }
.card:hover{
  box-shadow: 0 18px 34px -10px color-mix(in srgb, var(--card-tint) 45%, transparent);
}

/* Smoother, springier easing across key interactive elements */
.card, .cat-tile, .btn, .variant-pill, .color-swatch, .poster-dot{
  transition-timing-function: cubic-bezier(.22,1,.36,1);
}

/* STAT COUNTER STRIP */
.stat-strip{display:grid; grid-template-columns:repeat(4,1fr); gap:20px; text-align:center;}
.stat-strip div{
  padding:26px 14px; background:var(--surface); border:1px solid var(--line); border-radius:var(--radius);
  box-shadow:var(--shadow); transition:transform .3s, box-shadow .3s;
}
.stat-strip div:hover{transform:translateY(-6px); box-shadow:0 16px 30px -10px rgba(255,110,134,.28);}
.stat-num{font-family:'Fraunces', serif; font-size:38px; font-weight:700; color:var(--berry); line-height:1;}
.stat-strip small{display:block; margin-top:8px; font-size:13px; color:#AC9C92; font-weight:600; letter-spacing:.02em;}
.reveal-box{opacity:0; transform:translateY(24px) scale(.96); transition:opacity .55s ease, transform .55s ease;}
.reveal-box.in{opacity:1; transform:translateY(0) scale(1);}
.reveal-box:nth-child(2){transition-delay:.1s;}
.reveal-box:nth-child(3){transition-delay:.2s;}
.reveal-box:nth-child(4){transition-delay:.3s;}

/* Hero blob parallax (JS sets --mx/--my) */
.poster-carousel{ --mx:0px; --my:0px; }
.hero-blob{ transform:translate(var(--mx), var(--my)); transition:transform .3s ease-out; }

@media(max-width:640px){
  .stat-strip{grid-template-columns:repeat(2,1fr);}
}
