/* ═══════════════════════════════════════════════════════
   RIYA VENTURES – Personalized Gift Studio
   Single stylesheet for all pages (rose gold + white)
═══════════════════════════════════════════════════════ */
:root {
  --white:#fff;
  --blush:#FDF4F2;          /* soft page tint            */
  --blush-deep:#FBEAEA;     /* section background        */
  --rose-light:#F8E4E4;
  --rose:#E8C5C5;
  --rose-deep:#B76E79;      /* primary rose gold         */
  --rose-darker:#9D5560;
  --gold:#C9A96E; --gold-dark:#A8823F;
  --charcoal:#2C2C2C; --grey-dark:#5A4A4D; --grey:#8A797C;
  --sh-sm:0 2px 12px rgba(183,110,121,.12);
  --sh-md:0 8px 30px rgba(183,110,121,.18);
  --r:16px; --r-sm:10px;
  --ease:.25s cubic-bezier(.4,0,.2,1);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;width:100%;overflow-x:hidden;}
/* overscroll-behavior-x:none stops the horizontal rubber-band/bounce some
   mobile browsers trigger on a sideways touch-drag, which can visually
   reveal off-screen content even though overflow-x:hidden blocks real
   scrolling. */
body{width:100%;font-family:'Lato',sans-serif;background:var(--white);color:var(--charcoal);line-height:1.65;overflow-x:hidden;overscroll-behavior-x:none;}
/* iOS auto-zooms a focused input if its font-size is under 16px — keep all
   form fields at 16px so tapping a field never triggers that zoom. */
input,select,textarea{font-size:16px;}
img,svg{display:block;max-width:100%;}
a{text-decoration:none;color:inherit;}
button{cursor:pointer;border:none;background:none;font-family:inherit;}
h1,h2,h3,h4{font-family:'Playfair Display',Georgia,serif;line-height:1.25;}
h1{font-size:clamp(2rem,4.6vw,3.4rem);}
h2{font-size:clamp(1.7rem,3.4vw,2.5rem);}

/* Reveal-on-scroll */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease;}
.reveal.in-view{opacity:1;transform:none;}

/* ── ANNOUNCEMENT BAR ─────────────────────────── */
.announce-bar{background:linear-gradient(135deg,var(--rose-deep),var(--rose-darker));color:#fff;text-align:center;font-size:.8rem;font-weight:700;letter-spacing:.05em;padding:.5rem 1rem;}

/* ── HEADER ───────────────────────────────────── */
#site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--rose-light);box-shadow:0 2px 16px rgba(183,110,121,.08);}
.header-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:.8rem 2rem;gap:1rem;}
.logo{display:flex;align-items:center;gap:.75rem;}
.logo-img{height:46px;width:auto;border-radius:10px;display:block;}
.logo-name{font-family:'Playfair Display',serif;font-size:1.25rem;font-weight:700;color:var(--charcoal);line-height:1.1;}
.header-actions{display:flex;align-items:center;gap:1.4rem;}
nav{display:flex;gap:1.8rem;}
nav a{font-size:.9rem;font-weight:700;color:var(--grey-dark);letter-spacing:.03em;transition:color var(--ease);}
nav a:hover{color:var(--rose-deep);}
.back-link{display:flex;align-items:center;gap:.4rem;font-size:.88rem;font-weight:700;color:var(--grey-dark);transition:color var(--ease);white-space:nowrap;}
.back-link:hover{color:var(--rose-deep);}

/* ── HERO ─────────────────────────────────────── */
.hero{position:relative;max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:3rem;padding:5rem 2rem 4.5rem;}
.hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 60% 70% at 80% 20%,var(--blush-deep) 0%,transparent 70%);pointer-events:none;z-index:-1;}
.hero-pre{font-size:.85rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-dark);font-weight:700;margin-bottom:.9rem;}
.hero h1{margin-bottom:1.2rem;}
.hero h1 em{font-style:italic;color:var(--rose-deep);}
.hero-sub{font-size:1.05rem;color:var(--grey-dark);max-width:480px;margin-bottom:1.8rem;font-weight:300;}
.hero-cta{display:flex;gap:.9rem;flex-wrap:wrap;align-items:center;margin-bottom:1.6rem;}
.btn-primary{display:inline-block;padding:.85rem 2rem;background:linear-gradient(135deg,var(--rose-deep),var(--rose-darker));color:#fff;border-radius:50px;font-size:.95rem;font-weight:700;letter-spacing:.04em;transition:var(--ease);box-shadow:0 4px 18px rgba(183,110,121,.35);}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 26px rgba(183,110,121,.45);}
.hero-trust{display:flex;gap:1.4rem;flex-wrap:wrap;font-size:.83rem;font-weight:700;color:var(--grey-dark);}
.hero-art{display:flex;justify-content:center;}
.hero-svg{width:100%;max-width:400px;filter:drop-shadow(0 12px 32px rgba(183,110,121,.2));}

/* ── MARQUEE ──────────────────────────────────── */
.marquee-strip{background:linear-gradient(135deg,var(--rose-deep),var(--rose-darker));padding:.85rem 0;overflow:hidden;white-space:nowrap;}
.marquee-inner{display:inline-block;animation:marquee 30s linear infinite;}
.marquee-inner span{display:inline-block;margin:0 2.4rem;font-size:.82rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#fff;opacity:.92;}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ── SECTION HEADERS ──────────────────────────── */
.section-header{text-align:center;margin-bottom:3.2rem;}
.section-pre{font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-dark);font-weight:700;margin-bottom:.6rem;}
.section-sub{color:var(--grey);margin-top:.6rem;font-size:1rem;}

/* ── PRODUCTS GRID ────────────────────────────── */
.products-section{max-width:1200px;margin:0 auto;padding:5rem 2rem;}
.products-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;}
@media(max-width:900px){.products-grid{grid-template-columns:repeat(2,1fr);gap:1.4rem;}}
/* phones: one product per row, full-width cards */
@media(max-width:640px){.products-grid{grid-template-columns:1fr;gap:1.1rem;}}

a.product-card{display:block;color:inherit;background:var(--white);border-radius:var(--r);border:1px solid var(--rose-light);box-shadow:var(--sh-sm);overflow:hidden;transition:var(--ease);}
a.product-card:hover{transform:translateY(-6px);box-shadow:var(--sh-md);border-color:var(--rose);}
.card-img-wrap{position:relative;background:var(--blush);overflow:hidden;}
.product-img{width:100%;height:250px;display:flex;align-items:center;justify-content:center;padding:1rem;transition:transform .4s ease;}
.product-img svg{height:100%;width:auto;}
.product-img.photo{padding:0;}
.product-img.photo img{width:100%;height:100%;object-fit:cover;}
/* one-per-row phone cards: let the image breathe instead of a cramped fixed height */
@media(max-width:640px){.product-img{height:auto;aspect-ratio:4/3;padding:1.4rem;}.product-img.photo{padding:0;}}
a.product-card:hover .product-img{transform:scale(1.05);}
.badge-bestseller{position:absolute;top:12px;left:12px;z-index:2;background:linear-gradient(135deg,var(--gold),var(--gold-dark));color:#fff;padding:.3rem .8rem;border-radius:50px;font-size:.72rem;font-weight:700;letter-spacing:.05em;}
.card-info{padding:1.3rem;}
.card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem;margin-bottom:.45rem;}
.card-top h3{font-size:1.1rem;}
.rating-row{display:flex;align-items:center;gap:.35rem;white-space:nowrap;}
.stars{color:var(--gold);font-size:.9rem;letter-spacing:1px;}
.review-count{font-size:.72rem;color:var(--grey);}
.card-sizes{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;margin-bottom:.9rem;font-size:.78rem;color:var(--grey);}
.card-footer{display:flex;flex-direction:column;align-items:stretch;gap:.8rem;}
.btn-view{width:100%;text-align:center;padding:.62rem 1.2rem;background:var(--charcoal);color:#fff;border-radius:50px;font-size:.83rem;font-weight:700;transition:var(--ease);display:inline-block;pointer-events:none;}
a.product-card:hover .btn-view{background:var(--rose-deep);}

/* ── PRICE BLOCK (black prices per house style) ── */
.price-block{display:flex;align-items:baseline;gap:.55rem;flex-wrap:wrap;}
.price-now{font-weight:700;color:#000 !important;}
.price-mrp{font-size:.82em;color:#000 !important;text-decoration:line-through;opacity:.75;}
.price-off{font-size:.72rem;font-weight:700;color:#1a7a3c;background:#e7f6ec;border-radius:50px;padding:.12rem .55rem;}
.card-footer .price-block .price-now{font-size:1.1rem;font-family:'Lato',sans-serif;}
.card-footer .price-block .price-mrp{font-size:.8rem;}
@media(max-width:520px){.card-info{padding:1rem;}.card-footer .price-block .price-now{font-size:1rem;}}

/* ── VIDEO REVIEWS (homepage + product strip) ─── */
.video-reviews{background:var(--blush-deep);padding:5rem 2rem;}
.vr-inner,.pv-inner{max-width:1200px;margin:0 auto;}
.video-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1.2rem;margin-bottom:2.5rem;}
.video-card{position:relative;border-radius:var(--r);overflow:hidden;background:#000;border:1px solid var(--rose-light);box-shadow:var(--sh-sm);aspect-ratio:9/16;transition:var(--ease);}
.video-card:hover{transform:translateY(-4px);box-shadow:var(--sh-md);}
.video-card video{width:100%;height:100%;object-fit:cover;display:block;background:#000;}
.video-card .vc-name{position:absolute;left:0;right:0;bottom:0;padding:.7rem .8rem .6rem;background:linear-gradient(transparent,rgba(0,0,0,.75));color:#fff;font-size:.8rem;font-weight:700;display:flex;align-items:center;justify-content:space-between;gap:.4rem;pointer-events:none;}
.video-card .vc-stars{color:var(--gold);font-size:.78rem;}
.vr-empty{text-align:center;color:var(--grey);padding:1.6rem 0 2rem;font-size:.95rem;}
.vr-upload{background:#fff;border-radius:var(--r);padding:1.8rem;border:1px solid var(--rose-light);box-shadow:var(--sh-sm);max-width:620px;margin:0 auto;}
.vr-upload h3{font-family:'Playfair Display',serif;font-size:1.25rem;margin-bottom:.4rem;text-align:center;}
.vr-upload p.vr-sub{text-align:center;color:var(--grey);font-size:.88rem;margin-bottom:1.2rem;}
.vr-upload input[type="text"]{display:block;width:100%;padding:.7rem 1rem;margin-bottom:.8rem;border-radius:var(--r-sm);border:1.5px solid var(--rose);background:#fff;font-family:'Lato',sans-serif;font-size:16px;outline:none;transition:border-color var(--ease);}
.vr-upload input[type="text"]:focus{border-color:var(--rose-deep);}
.vr-upload .btn-primary{border:none;width:100%;}
@media(max-width:1024px){.video-grid{grid-template-columns:repeat(3,1fr);}}
@media(max-width:680px){.video-grid{grid-template-columns:repeat(2,1fr);gap:.8rem;}.video-reviews{padding:4rem 1.2rem;}}

/* product page video strip */
.pv-videos{background:var(--blush-deep);padding:4.5rem 2rem;margin-top:3.5rem;}
.pv-videos .video-grid{margin-bottom:0;}

/* ── RELATED PRODUCTS (product page, between detail & video reviews) ──
   Percentage flex-basis + percentage translateX (same recipe as the photo
   gallery's .gal-track above) — spacing comes from padding inside each
   card, not `gap`, so the 100%/N split stays exact at any card count. */
.related-products{padding:4rem 2rem 0;}
.related-slider{position:relative;overflow:hidden;}
.related-track{display:flex;transition:transform .4s cubic-bezier(.4,0,.2,1);will-change:transform;}
.related-card{flex:0 0 33.3333%;min-width:0;box-sizing:border-box;padding:0 .8rem;}
.rel-nav{position:absolute;top:38%;transform:translateY(-50%);width:42px;height:42px;border-radius:50%;background:#fff;border:1px solid var(--rose-light);color:var(--rose-darker);font-size:1.6rem;line-height:1;font-weight:700;box-shadow:var(--sh-sm);transition:var(--ease);display:flex;align-items:center;justify-content:center;z-index:2;}
.rel-nav:hover{background:var(--rose-deep);color:#fff;border-color:var(--rose-deep);}
.rel-nav:disabled{opacity:.3;cursor:default;pointer-events:none;}
.rel-prev{left:-4px;}
.rel-next{right:-4px;}
@media(max-width:900px){.related-card{flex-basis:50%;}}
@media(max-width:640px){.related-card{flex-basis:100%;padding:0 .4rem;}.related-products{padding:3rem 1.2rem 0;}}

/* ── HOW IT WORKS ─────────────────────────────── */
.how-section{max-width:1100px;margin:0 auto;padding:5rem 2rem 4rem;}
.how-grid{display:flex;align-items:stretch;justify-content:center;gap:1rem;}
.how-card{flex:1;max-width:300px;position:relative;background:var(--white);border:1px solid var(--rose-light);border-radius:var(--r);padding:2.2rem 1.5rem 1.8rem;text-align:center;box-shadow:var(--sh-sm);transition:var(--ease);}
.how-card:hover{transform:translateY(-4px);box-shadow:var(--sh-md);}
.how-num{position:absolute;top:-16px;left:50%;transform:translateX(-50%);width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,var(--rose-deep),var(--rose-darker));color:#fff;font-weight:700;font-size:.9rem;display:flex;align-items:center;justify-content:center;box-shadow:0 3px 10px rgba(183,110,121,.4);}
.how-icon{font-size:2.1rem;margin-bottom:.7rem;}
.how-card h4{font-family:'Lato',sans-serif;margin-bottom:.5rem;}
.how-card p{font-size:.87rem;color:var(--grey-dark);}
.how-arrow{align-self:center;font-size:1.6rem;color:var(--rose-deep);font-weight:700;}
@media(max-width:760px){.how-grid{flex-direction:column;align-items:center;}.how-arrow{transform:rotate(90deg);}}

/* ── WHY US ───────────────────────────────────── */
.why-section{background:var(--blush);padding:5rem 2rem;}
.why-grid{max-width:1000px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.8rem;}
.why-card{background:var(--white);border-radius:var(--r);padding:2rem 1.5rem;text-align:center;border:1px solid var(--rose-light);box-shadow:var(--sh-sm);transition:var(--ease);}
.why-card:hover{transform:translateY(-4px);box-shadow:var(--sh-md);}
.why-icon{font-size:2.2rem;margin-bottom:.8rem;}
.why-card h4{font-family:'Lato',sans-serif;margin-bottom:.5rem;}
.why-card p{font-size:.88rem;color:var(--grey-dark);}

/* ── CONTACT ──────────────────────────────────── */
.contact-section{padding:5rem 2rem;}
.contact-inner{max-width:1000px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;}
.contact-text h2{margin-bottom:1rem;}
.contact-text p{color:var(--grey-dark);margin-bottom:1.6rem;font-size:.95rem;}
.contact-text .section-pre{display:block;}
.contact-alt{font-size:.85rem;margin-top:1.1rem;}
.contact-alt a{color:var(--rose-deep);font-weight:700;}
.contact-form-wrap{background:var(--blush);border-radius:var(--r);padding:2rem;border:1px solid var(--rose-light);}
.contact-form h4{font-family:'Playfair Display',serif;margin-bottom:1.2rem;font-size:1.05rem;}
.contact-form input,.contact-form select,.contact-form textarea{display:block;width:100%;padding:.7rem 1rem;margin-bottom:.9rem;border-radius:var(--r-sm);border:1.5px solid var(--rose);background:#fff;font-family:'Lato',sans-serif;font-size:16px;color:var(--charcoal);outline:none;transition:border-color var(--ease);}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--rose-deep);}
.contact-form textarea{resize:vertical;}
.contact-form .btn-primary{width:100%;border:none;cursor:pointer;}

/* ── FOOTER ───────────────────────────────────── */
footer{background:var(--charcoal);color:#bbb;}
.footer-main{max-width:1200px;margin:0 auto;padding:3.5rem 2rem 2.5rem;display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:2.5rem;}
.footer-col h5{font-family:'Lato',sans-serif;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:#F8E4E4;font-weight:700;margin-bottom:1.1rem;}
.footer-col{display:flex;flex-direction:column;gap:.7rem;}
.footer-brand{gap:.6rem;align-items:flex-start;}
.footer-brand .logo-img{height:44px;width:auto;margin-bottom:.3rem;}
.footer-brand .logo-name{color:#F8E4E4;font-size:1.2rem;}
.footer-about{font-size:.85rem;color:#999;line-height:1.6;max-width:320px;}
.footer-col a{font-size:.88rem;color:#aaa;transition:color var(--ease);}
.footer-col a:hover{color:var(--rose);}
.footer-bottom{border-top:1px solid rgba(255,255,255,.08);padding:1.3rem 2rem;text-align:center;}
.footer-copy{font-size:.8rem;color:#888;}
@media(max-width:760px){.footer-main{grid-template-columns:1fr;gap:2rem;padding:3rem 1.5rem 2rem;text-align:center;}.footer-col{align-items:center;}.footer-about{max-width:100%;}}

/* ── TOAST ────────────────────────────────────── */
.toast{position:fixed;bottom:2rem;left:50%;transform:translateX(-50%) translateY(80px);background:var(--charcoal);color:#fff;padding:.75rem 2rem;border-radius:50px;font-size:.88rem;font-weight:700;z-index:9999;opacity:0;transition:all .35s;pointer-events:none;white-space:nowrap;}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0);}

/* ═══════════════════════════════════════════════
   PRODUCT DETAIL PAGE
═══════════════════════════════════════════════ */
.breadcrumb{max-width:1150px;margin:0 auto;display:flex;align-items:center;gap:.5rem;padding:1.2rem 2rem 0;font-size:.85rem;color:var(--grey);}
.breadcrumb a{color:var(--rose-deep);font-weight:700;}
.breadcrumb a:hover{text-decoration:underline;}

.product-detail{max-width:1150px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:3rem;padding:2rem;align-items:start;}

/* Grid items default to min-width:auto, which sizes them to fit their
   widest content (e.g. the thumbnail strip) instead of shrinking to the
   track — the classic cause of a grid silently overflowing its container
   on narrow screens. min-width:0 lets them shrink properly. */
.img-panel,.detail-panel{min-width:0;}

/* image / zoom panel */
.img-panel{position:sticky;top:110px;}

/* photo gallery slider */
.gallery{background:var(--blush);border:1px solid var(--rose-light);border-radius:var(--r);padding:1.2rem;box-shadow:var(--sh-sm);}
/* -webkit-transform forces its own compositing layer, which works around a
   real iOS Safari bug where overflow:hidden fails to clip a transformed flex
   child (the sliding track below spills past the right edge without this). */
/* touch-action:pan-y tells the browser this element's own horizontal swipes
   are handled by our JS slider, not its native pan/rubber-band gesture —
   without this, a sideways drag here can trigger iOS Safari's elastic
   overscroll even though overflow-x:hidden is set on body. */
.gal-main{position:relative;border-radius:var(--r-sm);overflow:hidden;background:#fff;aspect-ratio:1/1;touch-action:pan-y;-webkit-transform:translateZ(0);transform:translateZ(0);}
.gal-track{display:flex;height:100%;transition:transform .45s cubic-bezier(.4,0,.2,1);will-change:transform;}
.gal-track img{width:100%;height:100%;flex-shrink:0;object-fit:cover;cursor:zoom-in;display:block;}
.gal-nav{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.92);color:var(--rose-darker);font-size:1.6rem;line-height:1;font-weight:700;box-shadow:0 2px 10px rgba(0,0,0,.18);transition:var(--ease);display:flex;align-items:center;justify-content:center;}
.gal-nav:hover{background:var(--rose-deep);color:#fff;}
.gal-prev{left:12px;}
.gal-next{right:12px;}
.gal-count{position:absolute;bottom:10px;right:12px;background:rgba(0,0,0,.55);color:#fff;font-size:.75rem;font-weight:700;padding:.18rem .65rem;border-radius:50px;pointer-events:none;}
.gal-thumbs{display:flex;gap:.55rem;margin-top:.85rem;overflow-x:auto;padding-bottom:.2rem;}
.gal-thumbs img{width:64px;height:64px;flex-shrink:0;object-fit:cover;border-radius:8px;border:2px solid transparent;cursor:pointer;opacity:.65;transition:var(--ease);background:#fff;}
.gal-thumbs img:hover{opacity:1;}
.gal-thumbs img.active{border-color:var(--rose-deep);opacity:1;}
/* fullscreen lightbox */
.gal-lightbox{position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,.93);display:flex;align-items:center;justify-content:center;cursor:zoom-out;}
.gal-lightbox img{max-width:92vw;max-height:92vh;border-radius:10px;cursor:default;}
.gal-lightbox .gal-nav{background:rgba(255,255,255,.16);color:#fff;}
.gal-lightbox .gal-nav:hover{background:var(--rose-deep);}
.gal-close{position:absolute;top:1rem;right:1.2rem;color:#fff;font-size:1.5rem;padding:.4rem;opacity:.85;}
.gal-close:hover{opacity:1;}
.zoom-wrap{background:var(--blush);border:1px solid var(--rose-light);border-radius:var(--r);padding:1.2rem;box-shadow:var(--sh-sm);}
.zoom-box{overflow:hidden;border-radius:var(--r-sm);background:#fff;touch-action:none;-webkit-transform:translateZ(0);transform:translateZ(0);}
.zoom-box svg{width:100%;height:auto;transition:transform .15s ease-out;transform-origin:center;}
.zoom-controls{display:flex;justify-content:center;gap:.6rem;margin-top:.9rem;}
.zoom-controls button{width:38px;height:38px;border-radius:50%;background:#fff;border:1.5px solid var(--rose);color:var(--rose-deep);font-size:1.1rem;font-weight:700;transition:var(--ease);}
.zoom-controls button:hover{background:var(--rose-deep);border-color:var(--rose-deep);color:#fff;}
.zoom-tip{text-align:center;font-size:.75rem;color:var(--grey);margin-top:.6rem;}

/* detail panel */
.detail-badges{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:.9rem;}
.badge{padding:.3rem .85rem;border-radius:50px;font-size:.74rem;font-weight:700;letter-spacing:.04em;}
.badge-gold{background:linear-gradient(135deg,var(--gold),var(--gold-dark));color:#fff;}
.badge-rose{background:var(--rose-light);color:var(--rose-darker);border:1px solid var(--rose);}
.detail-panel h1{margin-bottom:.5rem;}
.detail-panel .rating-row{margin-bottom:1.1rem;}
.rating-text{font-size:.85rem;color:var(--grey);}
.detail-desc{font-size:.95rem;color:var(--grey-dark);margin-bottom:1.3rem;}

.feature-list{list-style:none;margin-bottom:1.5rem;display:grid;gap:.45rem;}
.feature-list li{font-size:.9rem;color:var(--grey-dark);display:flex;gap:.55rem;align-items:baseline;}
.feat-heart{color:var(--rose-deep);font-weight:700;}

/* variants */
.variant-group{margin-bottom:1.3rem;}
.variant-group label{display:block;font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--grey);margin-bottom:.55rem;}
.variant-pills{display:flex;gap:.6rem;flex-wrap:wrap;}
.vpill{padding:.55rem 1.2rem;border-radius:50px;border:1.6px solid var(--rose);background:#fff;color:#000;font-size:.88rem;font-weight:700;transition:var(--ease);}
.vpill:hover{border-color:var(--rose-deep);background:var(--rose-deep);color:#fff;}
.vpill.active{background:var(--rose-deep);border-color:var(--rose-deep);color:#fff;box-shadow:0 3px 12px rgba(183,110,121,.35);}

/* design (photo) picker — e.g. Big Name Keychain colourways */
.design-pills{display:flex;gap:.7rem;flex-wrap:wrap;}
.design-pill{display:flex;flex-direction:column;align-items:center;gap:.4rem;width:84px;padding:.5rem;border-radius:var(--r-sm);border:1.6px solid var(--rose);background:#fff;cursor:pointer;transition:var(--ease);}
.design-pill img{width:64px;height:64px;object-fit:cover;border-radius:6px;}
.design-pill span{font-size:.7rem;font-weight:700;text-align:center;color:var(--charcoal);line-height:1.25;}
.design-pill:hover{border-color:var(--rose-deep);}
.design-pill.active{border-color:var(--rose-deep);background:var(--rose-light);box-shadow:0 3px 12px rgba(183,110,121,.25);}
.design-preview{display:none;align-items:center;gap:.7rem;background:var(--blush);border-radius:var(--r-sm);padding:.6rem .8rem;margin-top:.7rem;}
.design-preview img{width:56px;height:56px;object-fit:cover;border-radius:6px;flex-shrink:0;}
.design-preview p{margin:0;font-size:.85rem;color:var(--grey-dark);}

.detail-price{display:flex;align-items:baseline;gap:.6rem;flex-wrap:wrap;margin-bottom:1.4rem;}
.detail-price .price-now{font-size:1.9rem;font-family:'Playfair Display',serif;}
.detail-price .price-mrp{font-size:1rem;}
.detail-price .price-off{font-size:.8rem;}

/* Purchase box */
.buy-box{background:var(--blush);border-radius:var(--r);padding:1.5rem;border:1px solid var(--rose-light);}
.buy-box-title{font-weight:700;font-size:.95rem;margin-bottom:.9rem;}
.buy-box-title span{font-weight:400;font-size:.8rem;color:var(--grey);}
.buy-box-title .required-tag{display:inline-block;background:var(--rose-deep);color:#fff;font-size:.68rem;font-weight:700;padding:.15rem .55rem;border-radius:50px;margin-left:.4rem;text-transform:uppercase;letter-spacing:.03em;vertical-align:middle;}
.buy-box input,.buy-box select,.buy-box textarea{display:block;width:100%;padding:.68rem 1rem;margin-bottom:.7rem;border-radius:var(--r-sm);border:1.5px solid var(--rose);background:#fff;font-family:'Lato',sans-serif;font-size:16px;color:var(--charcoal);outline:none;transition:border-color var(--ease);resize:vertical;}
.buy-box input:focus,.buy-box select:focus,.buy-box textarea:focus{border-color:var(--rose-deep);}
.of-name-row{display:flex;gap:.5rem;align-items:center;}
.of-name-row input{flex:1;}
.of-remove-name{flex-shrink:0;width:36px;height:36px;margin-bottom:.7rem;border-radius:50%;border:1.5px solid var(--rose);background:#fff;color:var(--grey);cursor:pointer;font-size:.85rem;}
.of-remove-name:hover{background:var(--rose-light);color:var(--rose-deep);}
.btn-add-name{background:none;border:1.5px dashed var(--rose-deep);color:var(--rose-deep);border-radius:var(--r-sm);padding:.5rem 1rem;font-size:.82rem;font-weight:700;cursor:pointer;margin-bottom:.6rem;}
.btn-add-name:hover{background:var(--rose-light);}
.of-names-hint{font-size:.74rem;color:var(--grey);margin:-.2rem 0 .8rem;}
.custom-size-panel{background:#fff;border:1px solid var(--rose-light);border-radius:var(--r-sm);padding:1rem;margin-bottom:1rem;}
.custom-size-price{font-size:.85rem;font-weight:700;color:var(--rose-deep);margin:.3rem 0 0;}
.buy-actions{display:flex;gap:.7rem;margin-top:.3rem;}
.btn-addcart,.btn-buynow{flex:1;padding:.95rem;border-radius:50px;font-size:.95rem;font-weight:700;cursor:pointer;transition:var(--ease);border:none;}
.btn-addcart{background:#fff;border:2px solid var(--rose-deep);color:var(--rose-deep);}
.btn-addcart:hover{background:var(--rose-light);}
.btn-buynow{background:linear-gradient(135deg,var(--rose-deep),var(--rose-darker));color:#fff;box-shadow:0 4px 18px rgba(183,110,121,.35);}
.btn-buynow:hover{transform:translateY(-2px);box-shadow:0 8px 26px rgba(183,110,121,.45);}
.btn-addcart:disabled,.btn-buynow:disabled{opacity:.6;cursor:wait;transform:none;}
@media(max-width:420px){.buy-actions{flex-direction:column;}}
.buy-note{font-size:.78rem;color:var(--grey);text-align:center;margin-top:.8rem;line-height:1.5;}

/* ── WRITTEN REVIEWS ──────────────────────────── */
.reviews-section{max-width:900px;margin:0 auto;padding:4rem 2rem 5rem;}
.reviews-section h2{text-align:center;margin-bottom:2.2rem;}
.write-review{background:var(--blush);border:1px solid var(--rose-light);border-radius:var(--r);padding:1.8rem;margin-bottom:2.5rem;}
.write-review h3{font-family:'Playfair Display',serif;font-size:1.2rem;margin-bottom:.9rem;}
.star-picker{display:flex;gap:.3rem;font-size:1.7rem;color:var(--rose);cursor:pointer;margin-bottom:.9rem;}
.sp{transition:color .15s,transform .15s;user-select:none;}
.sp:hover{transform:scale(1.15);}
.sp.lit{color:var(--gold);}
.write-review input[type="text"],.write-review textarea{display:block;width:100%;padding:.7rem 1rem;margin-bottom:.8rem;border-radius:var(--r-sm);border:1.5px solid var(--rose);background:#fff;font-family:'Lato',sans-serif;font-size:16px;color:var(--charcoal);outline:none;transition:border-color var(--ease);resize:vertical;}
.write-review input[type="text"]:focus,.write-review textarea:focus{border-color:var(--rose-deep);}
.photo-label{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1.1rem;border-radius:50px;border:1.5px dashed var(--rose-deep);color:var(--rose-darker);font-size:.85rem;font-weight:700;cursor:pointer;margin-bottom:.9rem;transition:var(--ease);}
.photo-label:hover{background:var(--rose-light);}
.photo-label input[type="file"]{display:none;}
.video-label{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1.1rem;border-radius:50px;border:1.5px dashed var(--gold);color:var(--gold-dark);font-size:.85rem;font-weight:700;cursor:pointer;margin:0 0 .9rem .5rem;transition:var(--ease);}
.video-label:hover{background:#faf3e3;}
.video-label input[type="file"]{display:none;}
.photo-previews{display:flex;gap:.6rem;flex-wrap:wrap;margin-bottom:.9rem;}
.photo-previews img{width:72px;height:72px;object-fit:cover;border-radius:8px;border:2px solid var(--rose);}
.video-preview{display:flex;gap:.6rem;flex-wrap:wrap;margin-bottom:.9rem;}
.video-preview video{width:96px;height:128px;object-fit:cover;border-radius:8px;border:2px solid var(--gold);background:#000;}
.btn-review{padding:.75rem 2rem;background:linear-gradient(135deg,var(--rose-deep),var(--rose-darker));color:#fff;border-radius:50px;font-size:.9rem;font-weight:700;transition:var(--ease);box-shadow:0 4px 16px rgba(183,110,121,.3);}
.btn-review:hover{transform:translateY(-2px);box-shadow:0 7px 22px rgba(183,110,121,.4);}
.btn-review:disabled{opacity:.6;cursor:wait;transform:none;}

.reviews-list{display:flex;flex-direction:column;gap:1rem;}
.review-item{background:#fff;border:1px solid var(--rose-light);border-radius:var(--r);padding:1.3rem 1.5rem;box-shadow:var(--sh-sm);}
.review-header{display:flex;justify-content:space-between;align-items:center;gap:.6rem;flex-wrap:wrap;}
.reviewer-name{font-weight:700;font-size:.98rem;}
.review-stars{color:var(--gold);letter-spacing:1px;}
.review-date{font-size:.76rem;color:var(--grey);margin:.15rem 0 .5rem;}
.review-text{font-size:.92rem;color:var(--grey-dark);}
.review-photos{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:.7rem;}
.review-photos img{width:86px;height:86px;object-fit:cover;border-radius:8px;border:2px solid var(--rose-light);cursor:zoom-in;transition:var(--ease);}
.review-photos img:hover{transform:scale(1.05);}
.review-videos{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:.7rem;}
.review-videos video{width:120px;height:160px;object-fit:cover;border-radius:8px;border:2px solid var(--rose-light);background:#000;}
.no-reviews{text-align:center;color:var(--grey);padding:1.6rem;background:var(--blush);border-radius:var(--r);}

/* ── HEADER: CART + LOGIN ────────────────────────── */
.nav-cart{position:relative;display:flex;align-items:center;padding:.5rem;color:var(--charcoal);font-size:1.3rem;line-height:1;}
.cart-badge{position:absolute;top:-2px;right:-6px;background:var(--rose-deep);color:#fff;font-size:.66rem;font-weight:700;min-width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;padding:0 3px;}
.nav-login{display:flex;align-items:center;gap:.4rem;font-size:.85rem;font-weight:700;color:var(--grey-dark);white-space:nowrap;}
.nav-login img{width:26px;height:26px;border-radius:50%;object-fit:cover;}
.nav-login a{color:var(--rose-deep);}
.nav-login a:hover{color:var(--rose-darker);}
.nav-menu{display:flex;align-items:center;gap:1.6rem;}
.nav-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:34px;height:30px;padding:0;flex-shrink:0;}
.nav-toggle span{display:block;width:100%;height:2px;background:var(--charcoal);border-radius:2px;transition:var(--ease);}
.nav-toggle.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.nav-toggle.open span:nth-child(2){opacity:0;}
.nav-toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

/* ── CART PAGE ────────────────────────────────── */
.cart-wrap{max-width:920px;margin:0 auto;padding:2rem 1.5rem 4rem;}
.cart-wrap h1{font-family:'Playfair Display',serif;margin-bottom:1.5rem;}
.cart-empty{text-align:center;color:var(--grey);padding:3rem 1.5rem;background:var(--blush);border-radius:var(--r);}
.cart-empty a{display:inline-block;margin-top:1rem;}
.cart-list{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem;}
.cart-item{display:flex;gap:1rem;align-items:center;background:#fff;border:1px solid var(--rose-light);border-radius:var(--r);padding:1rem;box-shadow:var(--sh-sm);}
.cart-item img{width:76px;height:76px;object-fit:cover;border-radius:10px;flex-shrink:0;background:var(--blush);}
.ci-info{flex:1;min-width:0;}
.ci-info h4{font-size:1rem;margin-bottom:.15rem;}
.ci-info .ci-variant{font-size:.8rem;color:var(--grey);}
.ci-info .ci-custom{font-size:.76rem;color:var(--grey);margin-top:.2rem;font-style:italic;}
.ci-photos{display:flex;gap:.4rem;margin-top:.3rem;}
.ci-photos img{width:40px;height:40px;object-fit:cover;border-radius:6px;border:1.5px solid var(--rose-light);}
.ci-names-list{display:flex;flex-wrap:wrap;gap:.35rem;margin:.3rem 0;}
.ci-name-chip{display:inline-flex;align-items:center;gap:.3rem;background:var(--rose-light);color:var(--rose-darker);border-radius:50px;padding:.25rem .5rem .25rem .7rem;font-size:.76rem;font-weight:700;}
.ci-name-chip button{background:none;border:none;color:var(--rose-deep);cursor:pointer;font-size:.7rem;line-height:1;padding:.15rem;}
.ci-name-chip button:hover{color:var(--rose-darker);}
.ci-price{font-weight:700;color:var(--rose-deep);white-space:nowrap;}
.ci-qty{display:flex;align-items:center;gap:.5rem;}
.ci-qty button{width:28px;height:28px;border-radius:50%;border:1.5px solid var(--rose);background:#fff;color:var(--rose-deep);font-weight:700;cursor:pointer;}
.ci-qty button:hover{background:var(--rose-deep);border-color:var(--rose-deep);color:#fff;}
.ci-remove{width:28px;height:28px;border-radius:50%;border:1.5px solid transparent;background:none;font-size:.9rem;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;opacity:.7;transition:var(--ease);}
.ci-remove:hover{opacity:1;background:var(--rose-light);border-color:var(--rose);}
.cart-summary{background:var(--blush);border-radius:var(--r);padding:1.5rem;border:1px solid var(--rose-light);}
.cs-row{display:flex;justify-content:space-between;font-size:.92rem;margin-bottom:.6rem;color:var(--grey-dark);}
.cs-row.cs-total{font-size:1.15rem;font-weight:700;color:var(--charcoal);border-top:1px dashed var(--rose);padding-top:.8rem;margin-top:.4rem;}
.cs-row.cs-discount{color:var(--rose-deep);}
.cs-row.cs-cod-split{background:var(--rose-light);border-radius:var(--r-sm);padding:.6rem .8rem;margin:.4rem 0;font-weight:700;color:var(--charcoal);}
.cart-item-gift{border-style:dashed;border-color:var(--gold);background:#FFFBF2;}
.ci-gift-badge{display:inline-block;background:var(--gold);color:#fff;font-size:.68rem;font-weight:700;padding:.15rem .55rem;border-radius:50px;margin-left:.4rem;vertical-align:middle;}
.cart-notice{background:var(--rose-light);border:1px solid var(--rose);border-radius:var(--r-sm);padding:.8rem 1rem;font-size:.85rem;color:var(--charcoal);margin-bottom:1rem;}
.promo-banner{background:var(--rose-light);border:1.5px dashed var(--rose-deep);border-radius:var(--r-sm);padding:.9rem 1rem;font-size:.85rem;color:var(--charcoal);margin-bottom:1rem;display:flex;flex-wrap:wrap;gap:.7rem;align-items:center;justify-content:space-between;}
.promo-banner .btn-primary{padding:.5rem 1rem;font-size:.8rem;white-space:nowrap;}
.promo-progress-wrap{display:block;}
.promo-progress-track{background:#fff;border:1px solid var(--rose);border-radius:50px;height:8px;margin-top:.6rem;overflow:hidden;}
.promo-progress-fill{background:var(--rose-deep);height:100%;border-radius:50px;transition:width .3s ease;}
.promo-badge-urgent{background:linear-gradient(135deg,var(--gold),var(--gold-dark));color:#fff;padding:.2rem .6rem;border-radius:50px;font-size:.7rem;font-weight:700;white-space:nowrap;}

/* ── CHECKOUT PAGE ────────────────────────────── */
.checkout-wrap{max-width:1000px;margin:0 auto;padding:2rem 1.5rem 4rem;display:grid;grid-template-columns:1.4fr 1fr;gap:2.5rem;align-items:start;}
.checkout-wrap h1{font-family:'Playfair Display',serif;grid-column:1/-1;margin-bottom:0;}
.checkout-form{background:#fff;border:1px solid var(--rose-light);border-radius:var(--r);padding:1.8rem;box-shadow:var(--sh-sm);}
.checkout-form label{display:block;font-size:.82rem;font-weight:700;color:var(--grey-dark);margin-bottom:.35rem;}
.checkout-form input,.checkout-form select,.checkout-form textarea{display:block;width:100%;padding:.7rem 1rem;margin-bottom:1rem;border-radius:var(--r-sm);border:1.5px solid var(--rose);background:#fff;font-family:'Lato',sans-serif;font-size:16px;color:var(--charcoal);outline:none;transition:border-color var(--ease);}
.checkout-form input:focus,.checkout-form select:focus,.checkout-form textarea:focus{border-color:var(--rose-deep);}
.checkout-form textarea{resize:vertical;font-size:.9rem;}
.checkout-form .field-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.delivery-estimate{font-size:.8rem;color:var(--grey);margin:-.5rem 0 1rem;min-height:1em;}
.delivery-estimate.fast{color:#2a9d5c;font-weight:700;}
.coupon-row{display:flex;gap:.6rem;margin-bottom:.4rem;}
.coupon-row input{margin-bottom:0;}
.coupon-row button{padding:.7rem 1.3rem;border-radius:var(--r-sm);border:1.5px solid var(--rose-deep);background:#fff;color:var(--rose-deep);font-weight:700;font-size:.85rem;cursor:pointer;white-space:nowrap;}
.coupon-row button:hover{background:var(--rose-deep);color:#fff;}
.coupon-msg{font-size:.8rem;margin-bottom:1rem;min-height:1em;}
.coupon-msg.ok{color:#2a9d5c;}
.coupon-msg.err{color:#c0392b;}
.checkout-summary{background:var(--blush);border-radius:var(--r);padding:1.5rem;border:1px solid var(--rose-light);position:sticky;top:96px;}
.checkout-summary h3{font-size:1rem;margin-bottom:1rem;}

/* ── PAYMENT METHOD ───────────────────────────── */
.pay-method-row{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem;margin-bottom:.6rem;}
.pay-method-opt{position:relative;display:flex;flex-direction:column;gap:.2rem;border:1.5px solid var(--rose);border-radius:var(--r-sm);padding:.8rem 2.3rem .8rem .9rem;cursor:pointer;transition:var(--ease);background:#fff;}
.pay-method-opt input{position:absolute;top:50%;right:.9rem;transform:translateY(-50%);width:18px;height:18px;margin:0;accent-color:var(--rose-deep);cursor:pointer;}
.pay-method-opt.active{border-color:var(--rose-deep);background:var(--rose-light);box-shadow:0 0 0 1px var(--rose-deep) inset;}
.pay-method-opt .pm-title{font-weight:700;font-size:.9rem;color:var(--charcoal);}
.pay-method-opt .pm-sub{font-size:.72rem;color:var(--grey);line-height:1.4;}
.cs-item-warning{background:#FFF4E5;border:1px solid #F0C36D;color:#8a5a00;border-radius:var(--r-sm);padding:.5rem .7rem;font-size:.76rem;line-height:1.4;margin-top:.5rem;}

/* ── EXIT-INTENT COUPON POPUP ─────────────────── */
.exit-coupon-overlay{position:fixed;inset:0;z-index:9999;background:rgba(44,26,26,.6);display:flex;align-items:center;justify-content:center;padding:1rem;}
.exit-coupon-card{position:relative;background:#fff;border-radius:var(--r);padding:2.4rem 2rem 2rem;max-width:360px;width:100%;text-align:center;box-shadow:var(--sh-md);animation:exitCouponIn .3s ease;}
@keyframes exitCouponIn{from{transform:scale(.92);opacity:0;}to{transform:scale(1);opacity:1;}}
.exit-coupon-close{position:absolute;top:.8rem;right:.9rem;background:none;border:none;font-size:1.1rem;color:var(--grey);cursor:pointer;line-height:1;}
.exit-coupon-close:hover{color:var(--charcoal);}
.exit-coupon-emoji{font-size:2.4rem;margin-bottom:.4rem;}
.exit-coupon-card h3{font-family:'Playfair Display',serif;font-size:1.3rem;margin-bottom:.5rem;}
.exit-coupon-card p{font-size:.88rem;color:var(--grey-dark);margin-bottom:1rem;}
.exit-coupon-code{font-family:'Playfair Display',serif;font-weight:700;font-size:1.3rem;letter-spacing:.05em;background:var(--rose-light);border:1.5px dashed var(--rose-deep);border-radius:var(--r-sm);padding:.7rem;color:var(--rose-deep);margin-bottom:.8rem;}
.exit-coupon-note{font-size:.74rem;color:var(--grey);margin-top:-.5rem;margin-bottom:1.2rem !important;}
.exit-coupon-cta{width:100%;border:none;cursor:pointer;}
.cart-added-overlay{position:fixed;inset:0;z-index:9999;background:rgba(44,26,26,.6);display:flex;align-items:center;justify-content:center;padding:1rem;}
.cart-added-card{position:relative;background:#fff;border-radius:var(--r);padding:2.4rem 2rem 2rem;max-width:340px;width:100%;text-align:center;box-shadow:var(--sh-md);animation:exitCouponIn .3s ease;}
.cart-added-close{position:absolute;top:.8rem;right:.9rem;background:none;border:none;font-size:1.1rem;color:var(--grey);cursor:pointer;line-height:1;}
.cart-added-close:hover{color:var(--charcoal);}
.cart-added-emoji{font-size:2.4rem;margin-bottom:.4rem;}
.cart-added-card h3{font-family:'Playfair Display',serif;font-size:1.3rem;margin-bottom:1.2rem;}
.cart-added-view{width:100%;border:none;cursor:pointer;}

/* ── SHARED MODAL (leave-intent nudges, delivery estimate popup) ─── */
.rv-modal-overlay{position:fixed;inset:0;z-index:9999;background:rgba(44,26,26,.6);display:flex;align-items:center;justify-content:center;padding:1rem;}
.rv-modal-card{position:relative;background:#fff;border-radius:var(--r);padding:2.4rem 2rem 2rem;max-width:380px;width:100%;text-align:center;box-shadow:var(--sh-md);animation:exitCouponIn .3s ease;}
.rv-modal-close{position:absolute;top:.8rem;right:.9rem;background:none;border:none;font-size:1.1rem;color:var(--grey);cursor:pointer;line-height:1;}
.rv-modal-close:hover{color:var(--charcoal);}
.rv-modal-emoji{font-size:2.4rem;margin-bottom:.4rem;}
.rv-modal-card h3{font-family:'Playfair Display',serif;font-size:1.25rem;margin-bottom:.6rem;}
.rv-modal-card p{font-size:.9rem;color:var(--grey-dark);line-height:1.55;margin-bottom:1.3rem;}
.rv-modal-cta{width:100%;border:none;cursor:pointer;}
.cs-item{display:flex;justify-content:space-between;font-size:.85rem;color:var(--grey-dark);margin-bottom:.5rem;gap:.6rem;}
.cs-item span:first-child{flex:1;}
.cs-item-row{display:flex;justify-content:space-between;align-items:flex-start;gap:.6rem;padding:.6rem 0;border-bottom:1px solid var(--rose-light);}
.cs-item-row:last-child{border-bottom:none;}
.cs-item-photo{width:52px;height:52px;object-fit:cover;border-radius:8px;flex-shrink:0;background:var(--blush);}
.cs-item-info{flex:1;}
.cs-item-name{font-size:.85rem;color:var(--grey-dark);display:block;margin-bottom:.5rem;}
.cs-item-price{font-size:.85rem;font-weight:700;color:var(--charcoal);white-space:nowrap;}
.cs-item-gift .cs-item-name{color:var(--gold-dark);}
.cs-item-personalize{font-size:.76rem;color:var(--grey);margin:.15rem 0 .4rem;}
.ci-add-name-wrap{margin-top:.4rem;display:flex;gap:.4rem;align-items:center;}
.ci-add-name{background:none;border:1.5px dashed var(--rose-deep);color:var(--rose-deep);border-radius:50px;padding:.3rem .8rem;font-size:.74rem;font-weight:700;cursor:pointer;}
.ci-add-name:hover{background:var(--rose-light);}
.ci-add-name-input{flex:1;padding:.4rem .7rem !important;margin-bottom:0 !important;font-size:.8rem !important;}
.ci-add-name-confirm{flex-shrink:0;border:none;background:var(--rose-deep);color:#fff;border-radius:var(--r-sm);padding:.4rem .8rem;font-size:.78rem;font-weight:700;cursor:pointer;}
.btn-pay{width:100%;padding:.95rem;margin-top:1rem;border:none;border-radius:50px;background:linear-gradient(135deg,var(--rose-deep),var(--rose-darker));color:#fff;font-weight:700;font-size:1rem;cursor:pointer;box-shadow:0 4px 18px rgba(183,110,121,.35);transition:var(--ease);}
.btn-pay:hover{transform:translateY(-2px);box-shadow:0 8px 26px rgba(183,110,121,.45);}
.btn-pay:disabled{opacity:.6;cursor:wait;transform:none;}

/* ── ORDER SUCCESS ────────────────────────────── */
.order-success{max-width:600px;margin:3rem auto 5rem;padding:0 1.5rem;text-align:center;}
.order-success .os-icon{font-size:3.5rem;margin-bottom:1rem;}
.order-success h1{font-family:'Playfair Display',serif;margin-bottom:.6rem;}
.order-success .os-ref{display:inline-block;background:var(--blush);border:1px dashed var(--rose);border-radius:var(--r-sm);padding:.6rem 1.2rem;font-weight:700;color:var(--rose-deep);margin:1rem 0 1.6rem;}

/* ── ADMIN FUNNEL DASHBOARD ───────────────────── */
.admin-wrap{max-width:920px;margin:0 auto;padding:2rem 1.5rem 4rem;}
.admin-top{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem;}
.admin-top h1{font-family:'Playfair Display',serif;}
.admin-nav{display:flex;gap:1.1rem;margin-left:1.3rem;}
.admin-nav a{font-size:.82rem;font-weight:700;color:var(--grey-dark);padding-bottom:.2rem;}
.admin-nav a.active{color:var(--rose-deep);border-bottom:2px solid var(--rose-deep);}
.badge-status-pending{background:#fff3cd;color:#8a6d3b;}
.badge-status-paid{background:#d4edda;color:#2f6f3e;}
.badge-status-shipped{background:#d6e8fb;color:#2c5f8a;}
.badge-status-cancelled{background:#f2f2f2;color:#777;}
.badge-status-failed{background:#f8d7da;color:#a12a37;}
.admin-range{display:flex;gap:.5rem;}
.admin-range a{padding:.45rem 1rem;border-radius:50px;border:1.5px solid var(--rose);font-size:.82rem;font-weight:700;color:var(--grey-dark);}
.admin-range a.active{background:var(--rose-deep);border-color:var(--rose-deep);color:#fff;}
.admin-stats{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:2rem;}
.admin-stat{flex:1;min-width:140px;background:#fff;border:1px solid var(--rose-light);border-radius:var(--r);padding:1.2rem;box-shadow:var(--sh-sm);}
.admin-stat .n{font-size:1.6rem;font-weight:700;color:var(--rose-deep);font-family:'Playfair Display',serif;}
.admin-stat .l{font-size:.78rem;color:var(--grey);margin-top:.2rem;}
.funnel-step{margin-bottom:.9rem;}
.funnel-step-label{display:flex;justify-content:space-between;font-size:.85rem;font-weight:700;margin-bottom:.3rem;}
.funnel-step-label .pct{color:var(--grey);font-weight:400;}
.funnel-bar-bg{background:var(--blush);border-radius:50px;height:26px;overflow:hidden;}
.funnel-bar-fill{background:linear-gradient(135deg,var(--rose-deep),var(--rose-darker));height:100%;border-radius:50px;transition:width .4s;}
.admin-table{width:100%;border-collapse:collapse;background:#fff;border-radius:var(--r);overflow:hidden;box-shadow:var(--sh-sm);margin-top:1rem;}
.admin-table th,.admin-table td{padding:.7rem 1rem;text-align:left;font-size:.85rem;border-bottom:1px solid var(--rose-light);}
.admin-table th{background:var(--blush);font-weight:700;color:var(--grey-dark);}
.admin-logout{font-size:.82rem;color:var(--grey);}

/* ── REVIEW APPROVAL QUEUE ─────────────────────── */
.approval-list{display:flex;flex-direction:column;gap:1rem;}
.approval-item{position:relative;}
.approval-actions{display:flex;gap:.7rem;margin-top:1rem;}
.approval-actions form{margin:0;}
.btn-approve,.btn-reject{padding:.55rem 1.3rem;border-radius:50px;font-size:.85rem;font-weight:700;border:none;cursor:pointer;transition:var(--ease);}
.btn-approve{background:#1a7a3c;color:#fff;}
.btn-approve:hover{background:#146530;}
.btn-reject{background:#fff;color:#c0392b;border:1.5px solid #c0392b;}
.btn-reject:hover{background:#c0392b;color:#fff;}

/* ── RESPONSIVE ───────────────────────────────── */
@media(max-width:900px){
  .nav-toggle{display:flex;}
  .nav-menu{position:absolute;top:100%;left:0;right:0;background:#fff;flex-direction:column;align-items:flex-start;gap:1rem;padding:1.2rem 1.5rem 1.5rem;border-top:1px solid var(--rose-light);box-shadow:0 12px 24px rgba(183,110,121,.14);max-height:0;overflow:hidden;opacity:0;pointer-events:none;transition:max-height .3s ease,opacity .2s ease;}
  .nav-menu.open{max-height:420px;opacity:1;pointer-events:auto;}
  .nav-menu nav{flex-direction:column;align-items:flex-start;gap:.9rem;}
  .nav-menu .back-link{font-size:.95rem;}
  .contact-inner{grid-template-columns:1fr;gap:2.5rem;}
  .product-detail{grid-template-columns:1fr;gap:2rem;}
  .img-panel{position:static;}
  .checkout-wrap{grid-template-columns:1fr;}
  .checkout-summary{position:static;}
}
@media(max-width:680px){
  .hero{grid-template-columns:1fr;padding:3rem 1.2rem;text-align:center;}
  .hero-art{display:none;}
  .hero-sub{max-width:100%;margin-left:auto;margin-right:auto;}
  .hero-cta,.hero-trust{justify-content:center;}
  .products-section,.why-section,.contact-section,.how-section{padding:3.5rem 1.2rem;}
  .pv-videos{padding:3.5rem 1.2rem;}
  .header-inner{padding:.7rem 1rem;}
  .logo-img{height:38px;}
  .footer-inner{flex-direction:column;text-align:center;}
  .announce-bar{font-size:.7rem;}
  .product-detail{padding:1.5rem 1.2rem;}
  .reviews-section{padding:3rem 1.2rem 4rem;}
  .breadcrumb{padding:1rem 1.2rem 0;}
  .checkout-form .field-row{grid-template-columns:1fr;}
  .pay-method-row{grid-template-columns:1fr;}
  .cart-item{flex-wrap:wrap;}
  .nav-login{gap:.6rem;font-size:.85rem;}
}
