/* =========================================================
   RG QATAR — SHARED STYLESHEET
   Structure: variables -> base/typography -> shared components
   -> page-specific blocks (scoped under .page-home / .page-shop / .page-product)
   ========================================================= */

:root{
  --brand:#b90061;
  --brand-container:#e6007a;
  --brand-fixed:#ffd9e2;
  --dark:#0c050e;
  --darker:#08020a;
  --ink:#201927;
  --muted:#625c67;
  --surface:#fff7fe;
  --surface-alt:#faf9fb;
  --hairline:#e3bdc6;
}

/* ---------- Base / typography (shared) ---------- */
html{scroll-behavior:smooth;}
body{font-family:'Outfit',sans-serif;color:var(--ink);background:var(--surface);}
h1,h2,h3,h4,.font-display{font-family:'Playfair Display',serif;}
.material-symbols-outlined{font-variation-settings:'FILL' 0,'wght' 400,'GRAD' 0,'opsz' 24;vertical-align:middle;}
a{text-decoration:none;}
.text-brand{color:var(--brand)!important;}
.bg-brand{background-color:var(--brand-container)!important;}

/* ---------- Shared buttons ---------- */
.btn-brand{background:var(--brand-container);border:none;color:#fff;font-weight:700;letter-spacing:.06em;text-transform:uppercase;font-size:.75rem;padding:.85rem 1.9rem;border-radius:50px;box-shadow:0 0 20px rgba(230,0,122,.4);transition:.25s;}
.btn-brand:hover{background:var(--brand);color:#fff;transform:translateY(-1px);box-shadow:0 0 28px rgba(230,0,122,.55);}
.btn-outline-light-glass{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.25);color:#fff;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;font-weight:600;border-radius:50px;padding:.9rem 1.8rem;backdrop-filter:blur(6px);}
.btn-outline-light-glass:hover{background:rgba(255,255,255,.18);color:#fff;}
.btn-dark-pill{background:var(--ink);color:#fff;border-radius:50px;font-size:.75rem;letter-spacing:.05em;text-transform:uppercase;font-weight:700;padding:.7rem 1.6rem;border:none;}
.btn-dark-pill:hover{background:#000;color:#fff;}

/* ---------- Shared navbar / header ---------- */
.navbar-rg{background:rgba(12,5,14,.95)!important;backdrop-filter:blur(10px);border-bottom:1px solid rgba(230,0,122,.2);}
.navbar-rg .nav-link{color:rgba(255,255,255,.75);font-size:.75rem;letter-spacing:.12em;font-weight:600;text-transform:uppercase;}
.navbar-rg .nav-link:hover,.navbar-rg .nav-link.active{color:var(--brand-container);}
.navbar-rg .form-control{background:rgba(255,255,255,.1);border:1px solid rgba(230,0,122,.3);color:#fff;font-size:.8rem;}
.navbar-rg .form-control::placeholder{color:rgba(255,255,255,.4);}
.icon-btn{color:rgba(255,255,255,.75);}
.icon-btn:hover{color:#fff;}
.cart-pill{background:linear-gradient(90deg,var(--brand-container),var(--brand));color:#fff;border-radius:50px;font-size:.75rem;font-weight:700;padding:.5rem 1rem;box-shadow:0 0 14px rgba(230,0,122,.4);}
.cart-pill:hover{color:#fff;}

/* ---------- Shared: cart offcanvas drawer (slides from right) ---------- */
.cart-offcanvas{background:#150d19;color:#fff;width:400px;max-width:92vw;border-left:1px solid rgba(230,0,122,.25);}
.cart-offcanvas .offcanvas-header{border-bottom:1px solid rgba(255,255,255,.08);}
.cart-line-thumb{width:64px;height:64px;flex-shrink:0;background:#fff;border-radius:.6rem;overflow:hidden;display:flex;align-items:center;justify-content:center;}
.cart-line-thumb img{width:85%;height:85%;object-fit:contain;}
.drawer-qty{background:rgba(255,255,255,.08);border-radius:50px;}
.drawer-qty button{line-height:1;padding:.1rem .5rem;}
.cart-remove-btn:hover{color:#fff!important;}
.cart-summary{background:rgba(255,255,255,.03);border-top:1px solid rgba(255,255,255,.08);}

/* ---------- Shared footer ---------- */
footer.site-footer{background:#352d3d;color:rgba(249,236,255,.75);}
footer.site-footer a{color:rgba(249,236,255,.75);}
footer.site-footer a:hover{color:#fff;}

/* ---------- Shared keyframes ---------- */
@keyframes pulse{0%,100%{opacity:1;}50%{opacity:.4;}}
@keyframes spin{to{transform:translate(-50%,-50%) rotate(360deg);}}
@keyframes scrollmq{0%{transform:translateX(0);}100%{transform:translateX(-50%);}}
@keyframes ribbonWave{0%,100%{d:path("M 0 150 C 300 80, 500 240, 800 130 C 1100 20, 1300 220, 1600 140");}50%{d:path("M 0 130 C 320 220, 520 70, 820 180 C 1120 250, 1320 90, 1600 170");}}
@keyframes floatParticle{0%,100%{transform:translateY(0) rotate(0deg);opacity:.3;}50%{transform:translateY(-25px) rotate(180deg);opacity:.85;}}
@keyframes badgeFloat{0%,100%{transform:translateY(0);}50%{transform:translateY(-8px);}}
@keyframes productFadeUp{from{opacity:0;transform:translateY(16px);}to{opacity:1;transform:translateY(0);}}
@keyframes cartFlyRibbon{0%{opacity:0;transform:translate(0,0) scale(.85) rotate(-8deg);}12%{opacity:1;transform:translate(calc(var(--fly-x,0) * .08),calc(var(--fly-y,0) * .08)) scale(1) rotate(-4deg);}100%{opacity:0;transform:translate(var(--fly-x,0),var(--fly-y,0)) scale(.4) rotate(12deg);}}
@keyframes cartPulse{0%,100%{transform:scale(1);}50%{transform:scale(1.08);}}
.pulse-dot{width:8px;height:8px;border-radius:50px;background:#22c55e;display:inline-block;animation:pulse 1.4s infinite;}
.cart-pill.cart-pulse{animation:cartPulse .45s ease;}
.cart-fly-ribbon{position:fixed;z-index:2500;pointer-events:none;width:30px;height:30px;border-radius:50px;background:linear-gradient(135deg,var(--brand-container),var(--brand));box-shadow:0 8px 22px rgba(230,0,122,.35);display:flex;align-items:center;justify-content:center;color:#fff;animation:cartFlyRibbon 1.35s cubic-bezier(.22,.61,.36,1) forwards;}
.cart-fly-ribbon .material-symbols-outlined{font-size:17px;}
.web-toast-bottom .toast{min-width:min(92vw,320px);border-radius:50px!important;box-shadow:0 12px 32px rgba(12,5,14,.18);font-weight:600;font-size:.9rem;}
.web-toast-bottom .toast.text-bg-success{background:linear-gradient(90deg,var(--brand-container),var(--brand))!important;}
.animate-ribbon{animation:ribbonWave 12s ease-in-out infinite;}
.animate-float-particle{animation:floatParticle 6s ease-in-out infinite;}
.animate-float-slow{animation:badgeFloat 4.5s ease-in-out infinite;}

/* ---------- Shared: cursor spotlight, 3D tilt, scroll reveal ---------- */
#cursor-spotlight{position:fixed;inset:0;z-index:1;pointer-events:none;transition:opacity .3s;background:radial-gradient(650px circle at var(--x,50%) var(--y,50%),rgba(230,0,122,.06),transparent 70%);}
.perspective-1000{perspective:1000px;}
.preserve-3d{transform-style:preserve-3d;}
.reveal-on-scroll{opacity:0;transform:translateY(22px);filter:blur(4px);transition:opacity .75s cubic-bezier(.16,1,.3,1),transform .75s cubic-bezier(.16,1,.3,1),filter .75s cubic-bezier(.16,1,.3,1);transition-delay:calc(var(--reveal-i,0) * 60ms);will-change:opacity,transform,filter;}
.reveal-on-scroll.reveal-fade{transform:none;filter:none;}
.reveal-on-scroll.reveal-slide-left{transform:translateX(-22px);}
.reveal-on-scroll.reveal-slide-right{transform:translateX(22px);}
.reveal-on-scroll.revealed{opacity:1;transform:translateY(0) translateX(0);filter:blur(0);}
.reveal-on-scroll.reveal-text{transform:translateY(14px);filter:blur(2px);}
.reveal-on-scroll.reveal-text.revealed{transform:translateY(0);filter:blur(0);}
body.site-preload .navbar-rg{opacity:0;transform:translateY(-8px);}
body.site-loaded .navbar-rg{opacity:1;transform:none;transition:opacity .55s cubic-bezier(.16,1,.3,1),transform .55s cubic-bezier(.16,1,.3,1);}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  .reveal-on-scroll{opacity:1!important;transform:none!important;filter:none!important;transition:none!important;}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;}
}


/* =========================================================
   HOME PAGE (index.html) — scoped under body.page-home
   ========================================================= */
.page-home .home-corner-ribbons{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;}
.page-home .corner-ribbon{position:absolute;width:min(26vw,200px);height:min(26vw,200px);opacity:.18;animation:ribbonCornerPulse 12s ease-in-out infinite;}
.page-home .corner-ribbon-tl{top:0;left:0;}
.page-home .corner-ribbon-tr{top:0;right:0;transform:scaleX(-1);animation-delay:-3s;}
.page-home .corner-ribbon-bl{bottom:0;left:0;transform:scaleY(-1);animation-delay:-6s;}
.page-home .corner-ribbon-br{bottom:0;right:0;transform:scale(-1,-1);animation-delay:-9s;}
@keyframes ribbonCornerPulse{0%,100%{opacity:.12;}50%{opacity:.26;}}
.page-home .announce{background:var(--darker);color:rgba(255,255,255,.85);font-size:.72rem;letter-spacing:.05em;}

.page-home .hero{position:relative;background:var(--darker);color:#fff;overflow:hidden;padding:5rem 0;border-bottom:1px solid rgba(230,0,122,.2);}
.page-home .hero-bg{position:absolute;inset:0;z-index:0;}
.page-home .hero-bg img{width:100%;height:100%;object-fit:cover;opacity:.85;}
.page-home .hero-bg::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--darker) 15%,rgba(8,2,10,.75) 55%,transparent 100%);}
.page-home .hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,var(--darker),transparent 40%,rgba(8,2,10,.4));}
.page-home .hero .container{position:relative;z-index:2;}
.page-home .badge-glass{background:rgba(255,255,255,.1);border:1px solid rgba(230,0,122,.35);color:#fff;font-size:.68rem;letter-spacing:.12em;font-weight:700;border-radius:50px;padding:.4rem .9rem;}
.page-home .hero h1{font-size:clamp(2.2rem,4.5vw,3.6rem);font-weight:700;line-height:1.1;}
.page-home .stat-tile{padding:.6rem;border-radius:.75rem;transition:.2s;}
.page-home .stat-tile:hover{background:rgba(255,255,255,.08);}
.page-home .stat-tile p.lab{font-size:.66rem;letter-spacing:.1em;font-weight:700;text-transform:uppercase;color:var(--brand-fixed);margin-bottom:0;}
.page-home .stat-tile p.sub{font-size:.72rem;color:rgba(255,255,255,.7);margin-bottom:0;}
.page-home .hero-card{background:rgba(12,5,14,.95);border:1px solid rgba(230,0,122,.25);border-radius:1.5rem;overflow:hidden;box-shadow:0 25px 60px rgba(0,0,0,.5);}
.page-home .hero-card img{height:340px;object-fit:cover;width:100%;}
.page-home .hero-card .card-foot{background:rgba(12,5,14,.92);backdrop-filter:blur(8px);}
.page-home .floating-badge{position:absolute;top:-14px;right:14px;background:rgba(26,21,32,.95);border:1px solid rgba(230,0,122,.35);border-radius:50px;padding:.4rem .9rem;font-size:.62rem;font-weight:700;letter-spacing:.1em;color:#fff;z-index:5;box-shadow:0 8px 20px rgba(0,0,0,.4);}

.page-home .filter-bar{background:#fff;border-bottom:1px solid rgba(0,0,0,.06);}
.page-home .filter-pill{background:#f6f4f8;border:none;border-radius:50px;font-size:.75rem;font-weight:500;padding:.4rem 1rem;color:var(--ink);transition:.2s;display:inline-flex;align-items:center;}
.page-home .filter-pill.active,.page-home .filter-pill:hover{background:var(--ink);color:#fff;}
.page-home .featured-products-grid{--bs-gutter-x:1.5rem;--bs-gutter-y:1.5rem;}
.page-home .product-card--home{background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:1rem;padding:.75rem .75rem 1rem;transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s,border-color .3s;}
.page-home .product-card--home:hover{border-color:rgba(185,0,97,.35);box-shadow:0 20px 35px rgba(0,0,0,.08);transform:translateY(-4px);}
.page-home .product-card--home .product-thumb{background:#f8f6f9;border-radius:.75rem;height:230px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;padding:.5rem;}
.page-home .product-card--home .product-thumb a{display:flex;align-items:center;justify-content:center;width:100%;height:100%;}
.page-home .product-card--home .product-thumb img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;transition:transform .45s cubic-bezier(.16,1,.3,1);}
.page-home .product-card--home:hover .product-thumb img{transform:scale(1.06);}
.page-home .product-card--home .add-bag-btn{width:38px;height:38px;border-radius:50px;background:var(--ink);color:#fff;border:none;display:inline-flex;align-items:center;justify-content:center;transition:.2s;flex-shrink:0;}
.page-home .product-card--home .add-bag-btn:hover{background:var(--brand-container);color:#fff;transform:translateY(-1px);}
.page-home .product-card--home .add-bag-btn--view{background:#fff;color:var(--ink);border:1px solid rgba(0,0,0,.1);}
.page-home .product-card--home .add-bag-btn--view:hover{background:#fdf3f8;border-color:rgba(230,0,122,.35);color:var(--brand);}

.page-home .marquee-wrap{overflow:hidden;background:#fff;border-bottom:1px solid rgba(0,0,0,.06);padding:.9rem 0;}
.page-home .marquee-track{display:flex;width:max-content;gap:2.5rem;animation:scrollmq 26s linear infinite;white-space:nowrap;font-size:.72rem;letter-spacing:.12em;font-weight:600;text-transform:uppercase;color:var(--muted);}
.page-home .marquee-track:hover{animation-play-state:paused;}

.page-home .section-label{font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--brand);}
.page-home .bento-card{background:var(--surface-alt);border:1px solid rgba(0,0,0,.05);border-radius:1.5rem;overflow:hidden;transition:.3s;}
.page-home .bento-card:hover{box-shadow:0 20px 40px rgba(0,0,0,.08);border-color:rgba(185,0,97,.3);}
.page-home .bento-img{background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden;}
.page-home .bento-img img{transition:.5s;object-fit:contain;}
.page-home .bento-card:hover .bento-img img{transform:scale(1.08);}

.page-home .badge-fig{background:#fff;border:1px solid rgba(0,0,0,.06);font-size:.6rem;font-weight:700;letter-spacing:.08em;}

.page-home .spec-section{background:var(--darker);color:#fff;}
.page-home .spec-tab{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:.9rem;color:#fff;text-align:left;padding:.75rem 1rem;width:100%;}
.page-home .spec-tab.active{background:rgba(255,255,255,.12);border-color:var(--brand);}
.page-home .spec-orb{width:280px;height:280px;border-radius:50%;background:radial-gradient(circle at 35% 30%,var(--brand-container),var(--brand) 70%);box-shadow:0 0 60px rgba(230,0,122,.5);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:1.5rem;margin:0 auto;position:relative;}
.page-home .spec-ring{width:340px;height:340px;border-radius:50%;border:1px dashed rgba(230,0,122,.4);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);animation:spin 22s linear infinite;}

.page-home .manifesto{background:#352d3d;color:#f9ecff;}

.page-home .newsletter{background:#1a1520;color:#fff;}
.page-home .newsletter .form-control{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);color:#fff;border-radius:50px;}
.page-home .newsletter .form-control::placeholder{color:rgba(255,255,255,.4);}

.page-home .accordion-button:not(.collapsed){color:var(--brand);background:#fdf3f8;}
.page-home .accordion-button:focus{box-shadow:none;}
.page-home .accordion-button::after{display:none;}
.page-home .accordion-button{display:flex;align-items:center;gap:.75rem;}
.page-home .faq-icon{transition:transform .3s;flex-shrink:0;color:var(--brand);}
.page-home .accordion-button:not(.collapsed) .faq-icon{transform:rotate(45deg);}

.page-home .hero-ribbon-svg{position:absolute;inset:0;width:100%;height:100%;z-index:1;opacity:.5;pointer-events:none;}
.page-home .hero-particle{position:absolute;width:6px;height:6px;border-radius:50px;background:var(--brand-container);z-index:1;pointer-events:none;box-shadow:0 0 8px rgba(230,0,122,.6);}
.page-home .hero-card-sheen{position:absolute;inset:0;opacity:0;transition:opacity .2s;pointer-events:none;z-index:3;}

.page-home .concierge-card{background:#1a1520;color:#fff;border-radius:1.5rem;overflow:hidden;box-shadow:0 25px 60px rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.08);}
.page-home .concierge-header{background:rgba(255,255,255,.05);border-bottom:1px solid rgba(255,255,255,.1);}
.page-home .concierge-btn{background:rgba(255,255,255,.1);border:none;color:#fff;font-size:.72rem;font-weight:600;padding:.4rem 1rem;border-radius:50px;transition:.2s;}
.page-home .concierge-btn:hover{background:rgba(255,255,255,.2);}
.page-home .concierge-btn.active{background:var(--brand-container);}
.page-home .concierge-map{position:relative;background:#1a1520;min-height:360px;overflow:hidden;padding:0!important;}
.page-home .concierge-map-embed{position:absolute;inset:0;width:100%;height:100%;border:0;display:block;filter:brightness(0.72) saturate(0.88) contrast(1.06);transition:filter .45s ease;}
.page-home .concierge-map:hover .concierge-map-embed{filter:brightness(0.82) saturate(0.92) contrast(1.05);}
.page-home .concierge-map-overlay{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(160deg,rgba(26,21,32,.65) 0%,rgba(12,5,14,.4) 45%,rgba(230,0,122,.15) 100%);mix-blend-mode:multiply;}
.page-home .concierge-map .concierge-pin{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2;background:rgba(26,21,32,.92);color:#fff;border:1px solid rgba(230,0,122,.35);border-radius:1rem;padding:1.25rem 1.5rem;box-shadow:0 20px 40px rgba(0,0,0,.45);backdrop-filter:blur(8px);max-width:calc(100% - 2rem);transition:transform .3s,border-color .3s;}
.page-home .concierge-map .concierge-pin:hover{transform:translate(-50%,-50%) scale(1.03);border-color:rgba(230,0,122,.55);}
.page-home .concierge-map .concierge-pin .text-muted{color:rgba(255,255,255,.65)!important;}
.page-home .concierge-map .concierge-pin .fw-bold{color:#fff;}
.page-home .pin-dot{width:40px;height:40px;border-radius:50%;background:var(--brand-container);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 0 24px rgba(230,0,122,.5);}


/* =========================================================
   SHOP / CATEGORY PAGE (shop.html) — scoped under body.page-shop
   ========================================================= */
.page-shop .hero-page{background:linear-gradient(180deg,var(--surface-alt),var(--surface));border-bottom:1px solid rgba(0,0,0,.06);position:relative;overflow:hidden;}
.page-shop .hero-page .blob{position:absolute;border-radius:50%;filter:blur(60px);opacity:.35;z-index:0;}
.page-shop .stat-card{background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:1rem;text-align:center;padding:1rem;}

.page-shop .shop-category-bar{background:rgba(255,247,254,.98);position:sticky;top:0;z-index:1020;}
.page-shop .shop-category-scroll{scrollbar-width:thin;}
.page-shop .shop-filter-sidebar{background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:1.25rem;padding:1.25rem;top:5.5rem;}
.page-shop .chip{border-radius:50px;font-size:.78rem;font-weight:600;padding:.5rem 1rem;white-space:nowrap;border:1px solid rgba(0,0,0,.08);background:#fff;color:var(--ink);transition:.2s;}
.page-shop .chip:hover{border-color:rgba(185,0,97,.35);}
.page-shop .chip.active{background:var(--dark);color:#fff;border-color:var(--dark);}
.page-shop .tag{border-radius:50px;font-size:.72rem;background:#f1e9f0;padding:.2rem .7rem;}
.page-shop .badge-dark{background:var(--dark);color:#fff;font-size:.62rem;letter-spacing:.06em;}

.page-shop .cta-band{background:var(--dark);border-radius:1.5rem;}
.page-shop .page-btn{width:40px;height:40px;border-radius:50px;display:flex;align-items:center;justify-content:center;}


/* =========================================================
   PRODUCT DETAIL PAGE (product.html) — scoped under body.page-product
   ========================================================= */
.page-product .gallery-main{background:#0e0712;border-radius:1.25rem;aspect-ratio:1/1;position:relative;overflow:hidden;box-shadow:0 20px 45px rgba(0,0,0,.2);padding:0;min-height:280px;}
.page-product .gallery-main::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at center,rgba(230,0,122,.18),transparent 72%);z-index:1;pointer-events:none;}
.page-product .gallery-zoom-viewport{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;overflow:hidden;cursor:zoom-in;z-index:2;}
.page-product .gallery-zoom-viewport.is-zoomed{cursor:zoom-out;}
.page-product .gallery-zoom-viewport img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;position:relative;z-index:2;transition:transform .35s cubic-bezier(.16,1,.3,1),opacity .25s ease;transform-origin:center center;will-change:transform;}
.page-product .gallery-lightbox-btn{position:absolute;top:.75rem;right:.75rem;z-index:5;width:40px;height:40px;border-radius:50px;border:none;background:rgba(255,255,255,.14);color:#fff;backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;transition:.2s;}
.page-product .gallery-lightbox-btn:hover{background:rgba(255,255,255,.28);transform:scale(1.05);}
.page-product .gallery-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:6;width:38px;height:38px;border-radius:50px;border:none;background:rgba(255,255,255,.92);color:var(--ink);box-shadow:0 4px 16px rgba(0,0,0,.12);display:flex;align-items:center;justify-content:center;transition:.2s;}
.page-product .gallery-nav:hover{background:#fff;color:var(--brand);transform:translateY(-50%) scale(1.05);}
.page-product .gallery-nav-prev{left:.65rem;}
.page-product .gallery-nav-next{right:.65rem;}
.page-product .product-thumbs-track{width:100%;overflow-x:auto;overflow-y:hidden;scroll-behavior:smooth;scrollbar-width:thin;padding:.2rem 0;-webkit-overflow-scrolling:touch;}
.page-product .product-thumbs-track .thumb{flex:0 0 64px;width:64px;height:64px;background:#f3eef2;border-radius:.65rem;border:2px solid transparent;overflow:hidden;cursor:pointer;transition:border-color .2s,transform .2s;}
.page-product .product-thumbs-track .thumb:hover,.page-product .product-thumbs-track .thumb.active{border-color:var(--brand-container);transform:translateY(-1px);}
.page-product .product-thumbs-track .thumb img{width:100%;height:100%;object-fit:contain;display:block;background:#fff;}
.page-product .product-lightbox-content{background:#fff;border-radius:1.25rem;box-shadow:0 24px 60px rgba(0,0,0,.12);}
.page-product .product-lightbox-content .modal-body .lightbox-nav{top:50%;transform:translateY(-50%);}
.page-product .product-lightbox-content .lightbox-nav.gallery-nav-prev{left:.5rem;}
.page-product .product-lightbox-content .lightbox-nav.gallery-nav-next{right:.5rem;}
.page-product .gallery-badge{font-size:.62rem;letter-spacing:.08em;border-radius:50px;padding:.3rem .7rem;}
.page-product .product-description{line-height:1.65;font-size:.92rem;}
.page-product .product-description p:last-child{margin-bottom:0;}
.page-product .product-description ul,.page-product .product-description ol{padding-left:1.2rem;}
.page-product .product-lightbox-img{max-height:78vh;object-fit:contain;}

.page-product .price-box{background:#fdf3f8;border:1px solid #f1d9e6;border-radius:1rem;}
.page-product .swatch{width:36px;height:36px;border-radius:50%;border:2px solid transparent;padding:2px;cursor:pointer;}
.page-product .swatch.active{border-color:var(--brand-container);}
.page-product .swatch span{display:block;width:100%;height:100%;border-radius:50%;}
.page-product .spec-pill{background:#f7e9fe;border:1px solid rgba(0,0,0,.05);border-radius:.7rem;}
.page-product .qty-box{border:1px solid rgba(0,0,0,.15);border-radius:50px;}

.page-product .btn-brand-lg{background:var(--brand-container);border:none;color:#fff;font-weight:700;letter-spacing:.05em;text-transform:uppercase;font-size:.85rem;padding:.85rem 1.5rem;border-radius:50px;box-shadow:0 10px 26px rgba(230,0,122,.35);}
.page-product .btn-brand-lg:hover{background:var(--brand);color:#fff;}
.page-product .btn-buy-now{background:var(--dark);color:#fff;border-radius:50px;font-size:.78rem;font-weight:600;padding:.7rem 1.5rem;border:1px solid rgba(255,255,255,.1);}
.page-product .btn-buy-now:hover{background:#000;color:#fff;}
.page-product .availability-box{background:#f1e3f8;border-radius:1rem;}
.page-product .spec-dark{background:#110915;color:#fff;border-radius:1.25rem;}
.page-product .progress-brand{height:6px;border-radius:50px;}
.page-product .progress-brand .progress-bar{background:var(--brand-container);}
.page-product .related-card{background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:1rem;transition:.25s;}
.page-product .related-card:hover{box-shadow:0 15px 30px rgba(0,0,0,.08);}


/* =========================================================
   LOGIN PAGE (login.html) — scoped under body.page-login
   ========================================================= */
.page-login{background:var(--surface);}
.page-login .auth-wrap{min-height:calc(100vh - 64px);}
.page-login .auth-visual{background:linear-gradient(160deg,#150d19,var(--darker));color:#fff;position:relative;overflow:hidden;}
.page-login .auth-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.35;}
.page-login .auth-visual::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,2,10,.4),rgba(8,2,10,.9));}
.page-login .auth-visual-content{position:relative;z-index:2;}
.page-login .auth-card{background:#fff;border-radius:1.25rem;box-shadow:0 25px 60px rgba(0,0,0,.08);}
.page-login .nav-pills .nav-link{border-radius:50px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:.6rem 1.4rem;}
.page-login .nav-pills .nav-link.active{background:var(--ink);color:#fff;}
.page-login .form-control,.page-login .form-select{border-radius:.7rem;padding:.7rem 1rem;border-color:rgba(0,0,0,.12);}
.page-login .form-control:focus,.page-login .form-select:focus{border-color:var(--brand-container);box-shadow:0 0 0 .2rem rgba(230,0,122,.12);}
.page-login .social-btn{border:1px solid rgba(0,0,0,.12);border-radius:.7rem;background:#fff;font-weight:600;font-size:.82rem;transition:.2s;}
.page-login .social-btn:hover{border-color:var(--brand-container);background:#fdf3f8;}


/* =========================================================
   CART PAGE (cart.html) — scoped under body.page-cart
   ========================================================= */
.page-cart .cart-item-row{border:1px solid rgba(0,0,0,.06);border-radius:1rem;}
.page-cart .cart-item-thumb{width:96px;height:96px;background:#faf9fb;border-radius:.8rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden;}
.page-cart .cart-item-thumb img{width:80%;height:80%;object-fit:contain;}
.page-cart .qty-stepper{border:1px solid rgba(0,0,0,.12);border-radius:50px;}
.page-cart .summary-card{background:var(--surface-alt);border:1px solid rgba(0,0,0,.06);border-radius:1.25rem;}
.page-cart .promo-input{border-radius:.7rem 0 0 .7rem;}


/* =========================================================
   CHECKOUT PAGE (checkout.html) — scoped under body.page-checkout
   ========================================================= */
.page-checkout{background:var(--surface-alt);}
.page-checkout .checkout-steps{display:flex;align-items:center;gap:.5rem;}
.page-checkout .checkout-step{display:flex;align-items:center;gap:.5rem;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);}
.page-checkout .checkout-step .num{width:26px;height:26px;border-radius:50%;background:#e9e3ec;color:var(--muted);display:flex;align-items:center;justify-content:center;font-size:.7rem;}
.page-checkout .checkout-step.done .num,.page-checkout .checkout-step.active .num{background:var(--brand-container);color:#fff;}
.page-checkout .checkout-step.active,.page-checkout .checkout-step.done{color:var(--ink);}
.page-checkout .step-divider{width:32px;height:1px;background:rgba(0,0,0,.15);}
.page-checkout .option-card{border:1.5px solid rgba(0,0,0,.1);border-radius:1rem;background:#fff;cursor:pointer;transition:.2s;}
.page-checkout .option-card:hover{border-color:rgba(230,0,122,.4);}
.page-checkout .option-card.selected{border-color:var(--brand-container);background:#fdf3f8;}
.page-checkout .summary-card{background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:1.25rem;}


/* =========================================================
   ACCOUNT PAGES (profile / addresses / loyalty / order-details)
   scoped under body.page-account
   ========================================================= */
.page-account{background:var(--surface-alt);}
.page-account .account-sidebar{background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:1.25rem;overflow:hidden;}
.page-account .account-avatar{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,var(--brand-container),var(--brand));color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.2rem;}
.page-account .account-nav-link{display:flex;align-items:center;gap:.7rem;padding:.75rem 1.25rem;color:var(--ink);font-size:.85rem;font-weight:500;border-left:3px solid transparent;transition:.2s;}
.page-account .account-nav-link:hover{background:#faf5f8;color:var(--brand);}
.page-account .account-nav-link.active{background:#fdf3f8;color:var(--brand);border-left-color:var(--brand-container);font-weight:700;}
.page-account .account-card{background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:1.25rem;}
.page-account .form-control,.page-account .form-select{border-radius:.7rem;padding:.65rem 1rem;border-color:rgba(0,0,0,.12);}
.page-account .form-control:focus,.page-account .form-select:focus{border-color:var(--brand-container);box-shadow:0 0 0 .2rem rgba(230,0,122,.12);}
.page-account .address-card{border:1.5px solid rgba(0,0,0,.08);border-radius:1rem;background:#fff;position:relative;}
.page-account .address-card.default{border-color:var(--brand-container);}
.page-account .add-address-card{border:1.5px dashed rgba(0,0,0,.2);border-radius:1rem;display:flex;align-items:center;justify-content:center;flex-direction:column;color:var(--muted);min-height:170px;cursor:pointer;transition:.2s;}
.page-account .add-address-card:hover{border-color:var(--brand-container);color:var(--brand);}
.page-account .tier-card{background:linear-gradient(135deg,#1a1520,#3a1a2e);color:#fff;border-radius:1.25rem;position:relative;overflow:hidden;}
.page-account .tier-progress{height:8px;border-radius:50px;background:rgba(255,255,255,.15);}
.page-account .tier-progress .progress-bar{background:linear-gradient(90deg,#ffd27a,#ffb300);}
.page-account .reward-card{border:1px solid rgba(0,0,0,.06);border-radius:1rem;background:#fff;}
.page-account .order-timeline{list-style:none;padding:0;margin:0;position:relative;}
.page-account .order-timeline li{position:relative;padding-left:2.5rem;padding-bottom:1.75rem;}
.page-account .order-timeline li:last-child{padding-bottom:0;}
.page-account .order-timeline li::before{content:"";position:absolute;left:8px;top:22px;bottom:-4px;width:2px;background:rgba(0,0,0,.1);}
.page-account .order-timeline li:last-child::before{display:none;}
.page-account .order-timeline .dot{position:absolute;left:0;top:2px;width:18px;height:18px;border-radius:50%;background:#e9e3ec;border:2px solid #fff;box-shadow:0 0 0 1px rgba(0,0,0,.08);}
.page-account .order-timeline li.done .dot{background:var(--brand-container);}
.page-account .order-status-badge{font-size:.68rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:.35rem .8rem;border-radius:50px;}

/* =========================================================
   SHARED PRODUCT CARDS (home, shop, product related)
   ========================================================= */
.product-card-wrap .product-card{background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:1rem;overflow:hidden;transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s,border-color .3s;height:100%;}
.product-card-wrap .product-card:hover{border-color:rgba(185,0,97,.35);box-shadow:0 18px 32px rgba(0,0,0,.08);transform:translateY(-3px);}
.product-card-wrap .product-thumb{aspect-ratio:1/1;background:#f8f6f9;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:0;}
.product-card-wrap .product-thumb a{display:flex;align-items:center;justify-content:center;width:100%;height:100%;padding:.5rem;}
.product-card-wrap .product-thumb img{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;object-position:center center;transition:transform .4s cubic-bezier(.16,1,.3,1);}
.product-card-wrap .product-card:hover .product-thumb img{transform:scale(1.03);}
.product-card-wrap .product-card .h6,.product-card-wrap .product-card h3{font-size:1rem;line-height:1.35;font-weight:600;}
.product-card-wrap .add-bag-btn{width:40px;height:40px;border-radius:50px;background:var(--ink);color:#fff;border:none;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .2s,transform .2s,box-shadow .2s;box-shadow:0 4px 12px rgba(12,5,14,.15);}
.product-card-wrap .add-bag-btn .material-symbols-outlined{font-size:18px;line-height:1;}
.product-card-wrap .add-bag-btn:hover{background:var(--brand-container);color:#fff;transform:translateY(-1px);}
.product-card-wrap .add-bag-btn:active{transform:translateY(0);}
.product-card-wrap .add-bag-btn--view{background:#fff;color:var(--ink);border:1px solid rgba(0,0,0,.12);box-shadow:none;}
.product-card-wrap .add-bag-btn--view:hover{background:#fdf3f8;border-color:rgba(230,0,122,.35);color:var(--brand);}
.product-card-wrap .quick-view{position:absolute;left:1rem;right:1rem;bottom:1rem;opacity:0;transform:translateY(8px);transition:.25s;}
.product-card-wrap .product-card:hover .quick-view{opacity:1;transform:translateY(0);}

/* Uploaded logo (Admin > E-Commerce > Website & Email) */
.site-logo{display:block;width:auto;height:auto;object-fit:contain;}
.site-logo--header{max-height:44px;max-width:200px;}
.site-logo--footer{max-height:56px;max-width:220px;}
@media (max-width:575.98px){.site-logo--header{max-height:36px;max-width:150px;}}

/* ---- search auto-suggest ---- */
.suggest-box{position:absolute;left:0;top:calc(100% + 6px);min-width:100%;width:340px;max-width:92vw;background:#fff;border:1px solid rgba(0,0,0,.1);border-radius:14px;box-shadow:0 14px 34px rgba(0,0,0,.18);z-index:1500;overflow:hidden;text-align:left;}
.suggest-item{display:flex;align-items:center;gap:.7rem;padding:.55rem .75rem;text-decoration:none;color:#1a1a1a;border-bottom:1px solid rgba(0,0,0,.05);}
.suggest-item img{width:42px;height:42px;object-fit:cover;border-radius:8px;background:#f3f0f2;flex:0 0 42px;}
.suggest-text{display:flex;flex-direction:column;min-width:0;flex:1;}
.suggest-name{font-size:.82rem;font-weight:600;line-height:1.2;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;}
.suggest-sub{font-size:.68rem;color:#8a8088;}
.suggest-price{font-size:.78rem;font-weight:700;white-space:nowrap;}
.suggest-item:hover,.suggest-item.active,.suggest-all:hover,.suggest-all.active{background:#fdf3f8;}
.suggest-all{display:block;padding:.6rem .75rem;font-size:.78rem;font-weight:600;color:var(--brand-container,#e6007a);text-decoration:none;text-align:center;}
.suggest-empty{padding:.8rem;font-size:.8rem;color:#8a8088;}
.page-product .qty-box.in-bag{border-color:var(--brand-container,#e6007a);}
