/* ── THE KALYANS — SHARED CSS ── */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }

:root {
  --void:          #0A0A08;
  --deep-cosmos:   #111110;
  --obsidian:      #1C1C19;
  --ancient-stone: #2E2D28;
  --ash:           #7A786E;
  --parchment:     #C8C3B0;
  --bone:          #E8E3D0;
  --pure:          #FFFFFF;
  --solar-white:   #F8F5EC;
  --solar-corona:  #F5EDD4;
  --ancient-gold:  #C9A84C;
  --solar-flare:   #E8C96A;
  --deep-amber:    #8A6E28;
  --nav-main-h:    48px;
  --nav-h:         var(--nav-main-h);
  --surface-bg:    var(--solar-white);
  --surface-radius: 22px;
  --surface-radius-sm: 16px;
  --surface-shadow:inset 0 1px 0 rgba(255,255,255,0.38), 0 1px 2px rgba(10,10,8,0.035), 0 8px 18px rgba(10,10,8,0.055);
  --surface-shadow-soft:inset 0 1px 0 rgba(255,255,255,0.32), 0 1px 2px rgba(10,10,8,0.025), 0 5px 12px rgba(10,10,8,0.04);
  --surface-shadow-hover:inset 0 1px 0 rgba(255,255,255,0.48), 0 2px 4px rgba(10,10,8,0.05), 0 12px 28px rgba(10,10,8,0.085);
  --surface-shadow-active:inset 0 1px 0 rgba(255,255,255,0.42), 0 1px 2px rgba(10,10,8,0.04), 0 6px 14px rgba(10,10,8,0.06);
  --surface-transition:transform 0.42s cubic-bezier(0.2,0,0,1), box-shadow 0.42s cubic-bezier(0.2,0,0,1), background 0.42s cubic-bezier(0.2,0,0,1);
}

html { scroll-behavior:smooth; font-size:16px; }

body {
  background: var(--solar-white);
  color: var(--void);
  font-family: 'Jost', sans-serif;
  font-weight: 300;
  min-height: 100vh;
  overflow-x: hidden;
  padding-top: var(--nav-h);
}

body::before {
  display:none;
}

/* ── WATERMARK ── */
.bg-watermark {
  display:none !important;
  position:fixed; top:50%; left:50%; transform:translate(-50%,-50%);
  width:min(72vw,72vh); height:min(72vw,72vh);
  border-radius:50%;
  border:1px solid rgba(201,168,76,0.18);
  align-items:center; justify-content:center;
  pointer-events:none; z-index:0;
  background:transparent;
}
.bg-watermark-mid {
  width:62%; height:62%; border-radius:50%;
  border:1px solid rgba(201,168,76,0.28);
  display:flex; align-items:center; justify-content:center;
  background:transparent;
}
.bg-watermark-core {
  width:80px; height:80px; border-radius:50%;
  background:var(--pure);
}
/* ── NAV ── */
.site-nav {
  position:fixed; top:0; left:0; right:0;
  height:var(--nav-h);
  background:var(--void);
  border-bottom:1px solid rgba(200,195,176,0.22);
  z-index:500;
  transition:box-shadow 0.3s;
}
.site-nav.scrolled { box-shadow:0 4px 32px rgba(10,10,8,0.3); }
.site-nav { z-index:500; }
.nav-mobile-menu,
.container,
.site-footer,
.toast,
#loginModal,
#gateOverlay {
  position:relative;
  z-index:1;
}

.nav-utility-actions { display:flex; align-items:center; justify-content:flex-end; gap:16px; min-width:0; }

.nav-inner {
  max-width:none; margin:0 auto; padding:0 40px;
  height:var(--nav-main-h); display:flex; align-items:center;
  justify-content:space-between; gap:28px;
}

.nav-logo { display:flex; align-items:center; gap:14px; flex-shrink:0; text-decoration:none; }
.nav-circle {
  width:32px; height:32px; border-radius:50%;
  background-color:var(--pure);
  background-image:url('/brand-circle-logo.svg');
  background-position:center;
  background-repeat:no-repeat;
  background-size:contain;
  border:1px solid rgba(255,255,255,0.18);
  flex-shrink:0;
}
.nav-brand { font-family:'Cormorant SC',serif; font-size:12px; font-weight:300; letter-spacing:0.46em; color:var(--bone); white-space:nowrap; }

.nav-links { display:flex; align-items:center; gap:30px; flex:1; justify-content:center; }
.nav-link {
  font-size:9px; font-weight:300; letter-spacing:0.34em; text-transform:uppercase;
  color:var(--parchment); text-decoration:none; transition:color 0.3s; position:relative;
}
.nav-link::after {
  content:''; position:absolute; bottom:-4px; left:0; right:0;
  height:1px; background:var(--ancient-gold);
  transform:scaleX(0); transition:transform 0.3s;
}
.nav-link:hover, .nav-link.active { color:var(--bone); }
.nav-link:hover::after, .nav-link.active::after { transform:scaleX(1); }

.nav-actions { display:flex; align-items:center; gap:16px; }
.nav-action { color:var(--parchment); transition:color 0.3s; position:relative; display:flex; align-items:center; gap:6px; text-decoration:none; font-size:8px; letter-spacing:0.24em; text-transform:uppercase; white-space:nowrap; }
.nav-action:hover { color:var(--pure); }
.nav-action-label { line-height:1; }
.nav-signin-action {
  font-family:'Cormorant SC',serif;
  font-size:12px;
  letter-spacing:0.46em;
  color:var(--bone);
}

.cart-badge {
  position:absolute; top:-9px; right:-9px;
  width:15px; height:15px; border-radius:50%;
  background:var(--ancient-gold); color:var(--void);
  font-size:8px; font-weight:300;
  display:flex; align-items:center; justify-content:center;
}

.nav-mobile-toggle { display:none; flex-direction:column; gap:5px; background:none; border:none; cursor:pointer; padding:4px; }
.nav-mobile-toggle span { display:block; width:22px; height:1px; background:var(--parchment); transition:all 0.3s; }
.nav-mobile-toggle.open span:nth-child(1) { transform:rotate(45deg) translate(4px,4px); }
.nav-mobile-toggle.open span:nth-child(2) { opacity:0; }
.nav-mobile-toggle.open span:nth-child(3) { transform:rotate(-45deg) translate(4px,-4px); }

.nav-mobile-menu { display:none; flex-direction:column; background:var(--deep-cosmos); border-top:1px solid var(--ancient-stone); }
.nav-mobile-menu.open { display:flex; }
.nav-mobile-menu a, .nav-mobile-menu button {
  padding:16px 32px; font-size:11px; font-weight:300; letter-spacing:0.4em;
  text-transform:uppercase; color:var(--parchment); text-decoration:none;
  border-bottom:1px solid rgba(46,45,40,0.4); transition:color 0.2s, background 0.2s;
  background:none; border-left:none; border-right:none; border-top:none; cursor:pointer;
  font-family:inherit; text-align:left; width:100%;
}
.nav-mobile-menu a:hover, .nav-mobile-menu button:hover { color:var(--pure); background:rgba(255,255,255,0.03); }

/* ── FOOTER ── */
.site-footer { background:var(--void); margin-top:88px; box-shadow:0 -18px 46px rgba(10,10,8,0.08); }
.footer-inner { max-width:1280px; margin:0 auto; padding:0 32px; }
.footer-top {
  display:grid; grid-template-columns:1fr 2fr; gap:80px;
  padding:60px 0 44px;
}
.footer-logo { display:flex; align-items:center; gap:18px; margin-bottom:20px; }
.footer-circle {
  width:36px; height:36px; border-radius:50%;
  background-color:var(--pure);
  background-image:url('/brand-circle-logo.svg');
  background-position:center;
  background-repeat:no-repeat;
  background-size:contain;
  flex-shrink:0;
}
.footer-name { font-family:'Cormorant SC',serif; font-size:13px; font-weight:300; letter-spacing:0.48em; color:var(--bone); white-space:nowrap; }
.footer-links { display:grid; grid-template-columns:repeat(3,1fr); gap:40px; }
.footer-col { display:flex; flex-direction:column; gap:14px; }
.footer-col #footerCategoryLinks { display:flex; flex-direction:column; gap:14px; }
.footer-col-title { font-size:8px; font-weight:300; letter-spacing:0.42em; text-transform:uppercase; color:var(--ancient-gold); margin-bottom:4px; }
.footer-col a { font-size:10px; font-weight:300; letter-spacing:0.16em; color:var(--ash); transition:color 0.3s; text-decoration:none; }
.footer-col a:hover { color:var(--parchment); }
.footer-bottom {
  display:flex; justify-content:space-between; align-items:center;
  padding:22px 0; font-size:9px; font-weight:300;
  letter-spacing:0.2em; text-transform:uppercase; color:var(--ash);
}
.footer-bottom a { transition:color 0.3s; text-decoration:none; color:var(--ash); }
.footer-bottom a:hover { color:var(--parchment); }

/* ── CONTAINER ── */
.container { max-width:1280px; margin:0 auto; padding:0 32px; }

/* ── PAGE HEADER ── */
.page-header { padding:52px 0 36px; margin-bottom:36px; }
.page-eyebrow { font-size:8px; font-weight:300; letter-spacing:0.46em; text-transform:uppercase; color:var(--ancient-gold); margin-bottom:14px; }
.page-title { font-family:'Cormorant Garamond',serif; font-size:clamp(30px,4vw,48px); font-weight:300; color:var(--void); line-height:1.05; }
.page-title em { font-style:italic; color:var(--deep-amber); }
.page-desc { margin-top:14px; font-size:12px; font-weight:300; letter-spacing:0.06em; color:var(--ash); max-width:440px; line-height:1.8; }

/* ── TYPOGRAPHY ── */
h1,h2,h3,h4 { font-family:'Cormorant Garamond',serif; font-weight:300; line-height:1.1; }
p { font-size:13px; font-weight:300; line-height:1.78; letter-spacing:0.015em; color:var(--ancient-stone); }
a { text-decoration:none; color:inherit; }
em { font-style:italic; color:var(--deep-amber); }

/* ── BUTTONS ── */
.btn-primary {
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  background:var(--void); color:var(--pure); border:none;
  padding:13px 24px; font-family:'Jost',sans-serif; font-size:10px; font-weight:300;
  letter-spacing:0.32em; text-transform:uppercase; cursor:pointer; transition:var(--surface-transition); white-space:nowrap;
  border-radius:var(--surface-radius-sm);
  box-shadow:var(--surface-shadow);
}
.btn-primary:hover { background:var(--ancient-stone); transform:translateY(-1px); box-shadow:var(--surface-shadow-hover); }
.btn-primary:active { transform:translateY(0); box-shadow:var(--surface-shadow-active); }

.btn-outline {
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  background:var(--surface-bg); color:var(--void); border:none;
  padding:12px 22px; font-family:'Jost',sans-serif; font-size:10px; font-weight:300;
  letter-spacing:0.3em; text-transform:uppercase; cursor:pointer; transition:var(--surface-transition); white-space:nowrap;
  border-radius:var(--surface-radius-sm);
  box-shadow:var(--surface-shadow);
}
.btn-outline:hover { background:var(--surface-bg); color:var(--void); transform:translateY(-1px); box-shadow:var(--surface-shadow-hover); }
.btn-outline:active { transform:translateY(0); box-shadow:var(--surface-shadow-active); }

.btn-gold {
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  background:var(--ancient-gold); color:var(--void); border:none;
  padding:13px 24px; font-family:'Jost',sans-serif; font-size:10px; font-weight:300;
  letter-spacing:0.3em; text-transform:uppercase; cursor:pointer; transition:var(--surface-transition); white-space:nowrap;
  border-radius:var(--surface-radius-sm);
  box-shadow:var(--surface-shadow);
}
.btn-gold:hover { background:var(--solar-flare); transform:translateY(-1px); box-shadow:var(--surface-shadow-hover); }
.btn-gold:active { transform:translateY(0); box-shadow:var(--surface-shadow-active); }
.btn-gold:disabled { opacity:0.5; cursor:not-allowed; }

/* ── FORMS ── */
.form-group { display:flex; flex-direction:column; gap:8px; }
.form-label { font-size:8px; font-weight:300; letter-spacing:0.38em; text-transform:uppercase; color:var(--ash); }
.form-input, .form-select, .form-textarea {
  background:var(--surface-bg); border:none; outline:none;
  padding:12px 14px; font-family:'Jost',sans-serif; font-size:12px; font-weight:300;
  letter-spacing:0.06em; color:var(--void); transition:box-shadow 0.3s, transform 0.3s; width:100%; appearance:none;
  border-radius:var(--surface-radius-sm);
  box-shadow:var(--surface-shadow-soft);
}
.form-input:focus, .form-select:focus, .form-textarea:focus { box-shadow:var(--surface-shadow); }
.form-input::placeholder, .form-textarea::placeholder { color:var(--parchment); }
.form-textarea { resize:vertical; min-height:120px; }

/* ── PRODUCT CARD ── */
.product-card { display:flex; flex-direction:column; cursor:pointer; transition:var(--surface-transition); text-decoration:none; background:var(--surface-bg); padding:12px; border-radius:var(--surface-radius); box-shadow:var(--surface-shadow); }
.product-card:hover { transform:translateY(-3px); box-shadow:var(--surface-shadow-hover); }
.product-card:active { transform:translateY(-1px); box-shadow:var(--surface-shadow-active); }
.product-card-image { aspect-ratio:3/4; background:var(--surface-bg); position:relative; overflow:hidden; margin-bottom:14px; display:flex; align-items:center; justify-content:center; border-radius:calc(var(--surface-radius) - 6px); }
.product-card-image img { width:auto; height:auto; max-width:100%; max-height:100%; object-fit:contain; object-position:center center; transition:transform 0.6s; }
.product-card:hover .product-card-image img { transform:scale(1.018); }
.product-card-placeholder { width:100%; height:100%; display:flex; align-items:center; justify-content:center; }
.product-card-placeholder .p-circle { width:60px; height:60px; border-radius:50%; background:var(--parchment); opacity:0.5; }
.product-card-category { font-size:8px; font-weight:300; letter-spacing:0.38em; text-transform:uppercase; color:var(--ancient-gold); margin-bottom:6px; }
.product-card-name { font-family:'Cormorant Garamond',serif; font-size:17px; font-weight:300; color:var(--void); margin-bottom:6px; line-height:1.2; }
.circle-rating { display:inline-flex; align-items:center; gap:4px; flex-shrink:0; }
.circle-rating-dot { width:8px; height:8px; border-radius:50%; border:1px solid var(--void); background:transparent; display:inline-block; }
.circle-rating-dot.filled { background:var(--pure); }
.product-card-rating { display:flex; align-items:center; gap:12px; min-height:14px; margin-bottom:6px; font-size:10px; font-weight:300; letter-spacing:0.12em; color:var(--ash); }
.product-card-price { font-size:12px; font-weight:300; letter-spacing:0.08em; color:var(--ancient-stone); }

/* ── BREADCRUMB ── */
.breadcrumb { display:flex; align-items:center; gap:10px; font-size:10px; font-weight:300; letter-spacing:0.3em; text-transform:uppercase; color:var(--ash); margin-bottom:40px; }
.breadcrumb a { transition:color 0.3s; }
.breadcrumb a:hover { color:var(--void); }
.breadcrumb-sep { opacity:0.4; }

/* ── TOAST ── */
.toast {
  position:fixed; bottom:32px; right:32px;
  background:var(--void); color:var(--bone);
  padding:14px 18px; font-size:10px; font-weight:300;
  letter-spacing:0.18em; text-transform:uppercase;
  border-left:2px solid var(--ancient-gold); z-index:9000;
  opacity:0; transform:translateY(16px);
  transition:all 0.4s cubic-bezier(0.16,1,0.3,1); pointer-events:none;
}
.toast.show { opacity:1; transform:translateY(0); }

/* ── LOADING ── */
.loading-ring {
  display:none;
  width:32px; height:32px;
  position:relative; overflow:hidden;
  border:1px solid rgba(201,168,76,0.28);
  border-radius:50%;
  background:rgba(255,255,255,0.08);
  margin:40px auto;
}
.loading-ring::before {
  content:'';
  position:absolute;
  left:50%; top:50%;
  width:100%; height:100%;
  border-radius:50%;
  background:var(--pure);
  transform:translate(-50%,-50%) scale(0);
  transform-origin:center;
  animation:circleFill 1.15s cubic-bezier(0.16,1,0.3,1) infinite;
}
@keyframes circleFill {
  0% { transform:translate(-50%,-50%) scale(0); opacity:0.95; }
  72% { transform:translate(-50%,-50%) scale(1); opacity:1; }
  100% { transform:translate(-50%,-50%) scale(1); opacity:0; }
}
.tk-waiting-overlay {
  position:fixed;
  inset:0;
  z-index:12000;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px;
  background:rgba(0,0,0,0.28);
  opacity:0;
  pointer-events:none;
  transition:opacity 0.18s ease;
}
.tk-waiting-overlay.show {
  opacity:1;
  pointer-events:auto;
}
.tk-waiting-pop {
  width:min(210px, calc(100vw - 48px));
  min-height:118px;
  background:rgba(12,12,10,0.94);
  border:1px solid rgba(201,168,76,0.34);
  box-shadow:0 22px 70px rgba(0,0,0,0.38);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:14px;
  padding:24px 18px 22px;
  text-align:center;
}
.tk-waiting-pop .loading-ring {
  display:block;
  margin:0;
}
.tk-waiting-detail {
  color:var(--ash);
  font-family:'Jost',sans-serif;
  font-size:10px;
  font-weight:300;
  line-height:1.55;
  letter-spacing:0.14em;
  text-transform:uppercase;
  overflow-wrap:anywhere;
}
@keyframes fadeUp { from{opacity:0;transform:translateY(24px)} to{opacity:1;transform:translateY(0)} }
@keyframes fadeIn  { from{opacity:0} to{opacity:1} }

/* ── SECTION HEADERS ── */
.section-eyebrow { font-size:8px; font-weight:300; letter-spacing:0.48em; text-transform:uppercase; color:var(--ancient-gold); margin-bottom:10px; }
.section-title { font-family:'Cormorant Garamond',serif; font-size:clamp(24px,3.2vw,40px); font-weight:300; color:var(--void); line-height:1.1; }
.section-title em { font-style:italic; color:var(--deep-amber); }
.section-header { display:flex; align-items:flex-end; justify-content:space-between; margin-bottom:40px; }

.products-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }

/* ── POLICY PAGES ── */
.policy-body { max-width:720px; margin:0 auto; padding-bottom:84px; }
.policy-body h2 { font-family:'Cormorant Garamond',serif; font-size:22px; font-weight:300; color:var(--void); margin:34px 0 12px; }
.policy-body p { font-size:12px; font-weight:300; line-height:1.78; letter-spacing:0.05em; color:var(--ancient-stone); margin-bottom:14px; }
.policy-body ul { padding-left:18px; margin-bottom:14px; }
.policy-body ul li { font-size:12px; font-weight:300; line-height:1.78; letter-spacing:0.05em; color:var(--ancient-stone); margin-bottom:6px; }

/* ── RESPONSIVE ── */
@media(max-width:1100px){ .nav-inner,.container,.footer-inner{ padding:0 24px; } .products-grid{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:900px){
  .nav-links{ display:none; } .nav-mobile-toggle{ display:flex; }
  .nav-inner{ justify-content:space-between; }
  .nav-inner,.container,.footer-inner{ padding:0 20px; }
  .footer-top{ grid-template-columns:1fr; gap:48px; }
  .footer-links{ grid-template-columns:1fr 1fr; }
  .products-grid{ grid-template-columns:repeat(2,1fr); gap:24px; }
}
@media(max-width:640px){
  :root{ --nav-top-h:0px; --nav-main-h:48px; }
  :root{
    --surface-shadow:inset 0 1px 0 rgba(255,255,255,0.46), 0 1px 2px rgba(10,10,8,0.055), 0 7px 18px rgba(10,10,8,0.085);
    --surface-shadow-soft:inset 0 1px 0 rgba(255,255,255,0.42), 0 1px 2px rgba(10,10,8,0.045), 0 5px 14px rgba(10,10,8,0.07);
    --surface-shadow-hover:inset 0 1px 0 rgba(255,255,255,0.52), 0 2px 4px rgba(10,10,8,0.06), 0 10px 24px rgba(10,10,8,0.105);
  }
  .nav-inner,.container,.footer-inner{ padding:0 16px; }
  .nav-inner{ justify-content:space-between; }
  .nav-logo{ gap:12px; }
  .nav-circle{ width:32px; height:32px; }
  .nav-brand{ font-size:11px; letter-spacing:0.36em; }
  .footer-logo{ gap:12px; }
  .footer-circle{ width:32px; height:32px; }
  .footer-name{ font-size:11px; letter-spacing:0.36em; }
  .nav-utility-actions{ gap:13px; width:100%; justify-content:flex-end; }
  .nav-action{ font-size:7px; letter-spacing:0.16em; gap:5px; }
  .nav-signin-action{ font-size:11px; letter-spacing:0.36em; }
  .nav-stat{ gap:6px; font-size:8px; letter-spacing:.18em; }
  .footer-links{ grid-template-columns:1fr 1fr; }
  .footer-bottom{ flex-direction:column; gap:12px; text-align:center; }
  .products-grid{ grid-template-columns:1fr 1fr; gap:16px; }
}
@media(max-width:420px){
  .nav-action-label{ display:none; }
  .nav-utility-actions{ gap:18px; }
  .nav-stat{ letter-spacing:.12em; }
  .cart-badge{ right:-10px; }
}
