html, body { background:#f3e7e3; color:#1f1f1f; }
body { font-family:'Inter', system-ui, sans-serif; -webkit-font-smoothing:antialiased; }
.font-display { font-family:'Cormorant Garamond', Georgia, serif; }

.eyebrow{ font-size:11px; letter-spacing:.28em; text-transform:uppercase; color:#8a847b; }

/* Dots */
.sdot{ width:9px; height:9px; border-radius:999px; background:transparent; border:1.25px solid rgba(255,255,255,.7); transition:all .3s; cursor:pointer; }
.sdot.active{ background:#fff; border-color:#fff; width:26px; border-radius:999px; }

/* Buttons */
.btn-sage{ background:#8eb8a8; color:#fff; padding:13px 30px; border-radius:999px; font-size:13px; letter-spacing:.04em; font-weight:500; transition:background .25s; display:inline-flex; align-items:center; gap:8px; }
.btn-sage:hover{ background:#6e9a89; }
.btn-dark{ background:#1f1f1f; color:#fff; padding:12px 22px; font-size:13px; font-weight:500; width:100%; border-radius:2px; transition:background .25s; }
.btn-dark:hover{ background:#2d2a26; }
.btn-outline{ border:1px solid #d6cbbd; color:#1f1f1f; padding:12px 22px; font-size:13px; font-weight:500; width:100%; background:#fff; border-radius:2px; }
.btn-ghost-light{ border:1px solid rgba(255,255,255,.8); color:#fff; padding:12px 26px; font-size:12px; letter-spacing:.22em; text-transform:uppercase; border-radius:999px; transition:all .25s; backdrop-filter: blur(4px); }
.btn-ghost-light:hover{ background:#fff; color:#1f1f1f; }
.btn-ghost-sage{ border:1px solid #8eb8a8; color:#1f1f1f; padding:12px 26px; font-size:12px; letter-spacing:.22em; text-transform:uppercase; border-radius:999px; transition:all .25s; }
.btn-ghost-sage:hover{ background:#8eb8a8; color:#fff; }
.btn-cream{ background:#f4ebe1; color:#1f1f1f; padding:12px 22px; font-size:13px; font-weight:500; transition:background .25s; border-radius:2px; width:100%; }
.btn-cream:hover{ background:#eadfd1; }

/* Link underline */
.link-u{ position:relative; }
.link-u::after{ content:''; position:absolute; left:0; right:0; bottom:-4px; height:1px; background:currentColor; transform:scaleX(0); transform-origin:left; transition: transform .35s ease; }
.link-u:hover::after{ transform:scaleX(1); }

/* Slider */
.slide{ opacity:0; transition: opacity 1s ease; pointer-events:none; }
.slide.active{ opacity:1; pointer-events:auto; }

/* Product card */
.p-card img.alt{ opacity:0; transition: opacity .5s ease; }
.p-card:hover img.alt{ opacity:1; }
.p-card .wish, .p-card .quick{ opacity:0; transform:translateY(-4px); transition:all .3s ease; }
.p-card:hover .wish, .p-card:hover .quick{ opacity:1; transform:translateY(0); }
.p-card img.main{ transition: transform .7s ease; }
.p-card:hover img.main{ transform: scale(1.04); }

/* Marble texture */
.marble-card .inner{
  background:
    radial-gradient(600px 280px at 20% 20%, rgba(239,226,201,.6), transparent 60%),
    radial-gradient(500px 300px at 80% 80%, rgba(232,218,196,.6), transparent 60%),
    repeating-linear-gradient(115deg, rgba(31,31,31,.04) 0 1px, transparent 1px 120px),
    #fbf7f1;
}

/* Drawer */
.drawer{ transform: translateX(-100%); transition: transform .45s cubic-bezier(.2,.8,.2,1); }
.drawer.right{ transform: translateX(100%); }
.drawer.open{ transform: translateX(0); }
.scrim{ opacity:0; pointer-events:none; transition: opacity .35s; }
.scrim.open{ opacity:1; pointer-events:auto; }

/* Search modal */
.search-pane{ opacity:0; pointer-events:none; transition: opacity .3s cubic-bezier(.2,.8,.2,1); }
.search-pane.open{ opacity:1; pointer-events:auto; }
.search-pane .search-modal{ transform: translateY(-12px) scale(.98); transition: transform .3s cubic-bezier(.2,.8,.2,1); }
.search-pane.open .search-modal{ transform: translateY(0) scale(1); }

/* Fade up */
.fade-up { opacity:0; transform:translateY(10px); animation: fadeUp .9s ease forwards; }
@keyframes fadeUp { to { opacity:1; transform:none; } }

/* Badges */
.chip{ display:inline-flex; align-items:center; gap:6px; font-size:10px; letter-spacing:.22em; text-transform:uppercase; padding:5px 10px; border-radius:999px; }

/* Toast */
.toast{ position:fixed; left:50%; bottom:24px; transform:translate(-50%, 60px); background:#1f1f1f; color:#fff; padding:14px 22px; border-radius:999px; font-size:13px; box-shadow:0 10px 30px rgba(0,0,0,.25); opacity:0; pointer-events:none; transition: all .4s cubic-bezier(.2,.8,.2,1); z-index:70; display:inline-flex; align-items:center; gap:10px; }
.toast.show{ transform: translate(-50%, 0); opacity:1; }

/* No scrollbar */
.no-sb::-webkit-scrollbar{ display:none; }
.no-sb{ scrollbar-width:none; }

/* Scrollbar hide utility */
.scrollbar-hide::-webkit-scrollbar { display: none; }
.scrollbar-hide { 
  -ms-overflow-style: none;
  scrollbar-width: none; 
}

/* Mobile nav icon spacing */
@media (max-width: 767px){
  .icon-btn{ width:38px; height:38px; }
}
