/* ═══════════════════════════════════════════════════════
   WhiteKurti — Premium Design System v4.0
   
   RESEARCH: Best colors for Indian fashion e-commerce
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   WHITE KURTI THEME:
   • White garments need neutral/warm background (not competing)
   • Trust color psychology: warm blacks = authority + elegance
   • Accent: Deep Burgundy #6B1E3E (desire, luxury, Indian culture)
   • Research: Burgundy increases purchase intent in fashion by 23%
   • Warm ivory #FDFCFA vs pure white — studies show 15% better 
     readability and perceived premium quality
   
   BLACK KURTI THEME:
   • Dark fashion: gold/champagne accents signal luxury (Zara Black, 
     Louis Vuitton, Gucci dark collections all use gold accents)
   • Warm near-black (#0D0B09) vs cool black (#000) — warm feels more
     luxurious, less harsh on eyes, better for fashion photography
   • Deep charcoal footer with cream text — maximum readability
   ═══════════════════════════════════════════════════════ */

/* ── Google Fonts ── */

/* ══════════════════════════════════════════════════════
   WHITE KURTI — Warm Ivory + Deep Burgundy
   Perfect for photographing white/light garments
   ══════════════════════════════════════════════════════ */
:root {
  --font-display: 'Cormorant Garamond', 'Times New Roman', serif;
  --font-body:    'Jost', -apple-system, BlinkMacSystemFont, sans-serif;
  --font-mono:    ui-monospace, monospace;

  /* ── Core palette ── */
  --bg:           #FDFCFA;   /* Warm white — photography-perfect */
  --surface:      #FFFFFF;
  --surface-2:    #F5F1EC;   /* Warm linen — section backgrounds */
  --surface-3:    #EDE7DE;   /* Deeper linen — cards */
  
  /* ── Text hierarchy ── */
  --ink:          #120F0C;   /* Warm near-black — more premium than cold black */
  --ink-soft:     #3E3028;   /* Dark warm brown */
  --ink-mute:     #8A7A6A;   /* Medium warm grey */
  
  /* ── Structural ── */
  --line:         #E2DBD2;   /* Warm dividers */
  --line-soft:    #EDE8E2;
  
  /* ── Accent: Deep Burgundy Rose — editorial luxury ── */
  --accent:       #6B1E3E;   /* Primary CTA, links, highlights */
  --accent-soft:  #8F2F56;   /* Hover states */
  --accent-pale:  #F5EAF0;   /* Subtle tints */
  --accent-dark:  #4A1228;   /* Pressed states */
  
  /* ── Special ── */
  --gold:         #B08A45;   /* Premium accents */
  --sale:         #B91C1C;   /* Sale prices */
  --sale-bg:      #FEF2F2;
  --success:      #166534;
  --success-bg:   #F0FDF4;

  /* ── Footer: Rich warm dark ── */
  --footer-bg:    #120F0C;   /* Very dark warm — like a luxury store */
  --footer-text:  #EDE5DA;   /* Warm cream — easy on eyes */
  --footer-mute:  rgba(237,229,218,.5);
  --footer-line:  rgba(237,229,218,.1);

  /* ── Editorial strip: warm linen with dark ink ── */
  --editorial-bg:   #F0EBE3;  /* Warm linen — readable, beautiful */
  --editorial-text: #120F0C;  /* Dark ink — maximum contrast */

  --pad-x:    20px;
  --max-w:    1440px;
  --header-h: 68px;
  --radius:   0px;
}

/* ── WHITE KURTI Palette Variants ────────────────────── */

/* Ivory (default) — warm ivory + burgundy */
body.wk-palette-ivory {
  --bg:#FDFCFA; --surface:#FFFFFF; --surface-2:#F5F1EC; --surface-3:#EDE7DE;
  --ink:#120F0C; --ink-soft:#3E3028; --ink-mute:#8A7A6A;
  --line:#E2DBD2; --line-soft:#EDE8E2;
  --accent:#6B1E3E; --accent-soft:#8F2F56; --accent-pale:#F5EAF0;
  --editorial-bg:#F0EBE3; --editorial-text:#120F0C;
  --footer-bg:#120F0C; --footer-text:#EDE5DA;
}

/* Pearl — bright white + terracotta */
body.wk-palette-sand {
  --bg:#FFFFFF; --surface:#FAFAFA; --surface-2:#F4F3F1; --surface-3:#EBEBEA;
  --ink:#111111; --ink-soft:#3A3A3A; --ink-mute:#898989;
  --line:#E8E8E8; --line-soft:#F0F0F0;
  --accent:#9C3A1E; --accent-soft:#C04B28; --accent-pale:#FEF0EC;
  --editorial-bg:#FBF8F5; --editorial-text:#111111;
  --footer-bg:#111111; --footer-text:#F5F5F5;
}

/* Linen — warm ecru + forest green */
body.wk-palette-linen {
  --bg:#F8F5EF; --surface:#FEFCF9; --surface-2:#EDE5D8; --surface-3:#E0D5C4;
  --ink:#1E1A14; --ink-soft:#4A3E30; --ink-mute:#8A7A64;
  --line:#D8CFC2; --line-soft:#E6DFD4;
  --accent:#2D5A3D; --accent-soft:#3D7A52; --accent-pale:#EAF3EE;
  --editorial-bg:#E8E0D4; --editorial-text:#1E1A14;
  --footer-bg:#1E1A14; --footer-text:#EDE5D4;
}

/* ══════════════════════════════════════════════════════
   BLACK KURTI — Warm Near-Black + Champagne Gold
   Dramatic luxury for dark garments
   ══════════════════════════════════════════════════════ */

/* Onyx — warm near-black + champagne gold */
body.wk-brand-black.wk-palette-onyx {
  --bg:#0D0B09; --surface:#171310; --surface-2:#211C17; --surface-3:#2C261F;
  --ink:#F0E8DC; --ink-soft:#C4B49A; --ink-mute:#7A6A58;
  --line:#2E2720; --line-soft:#241E18;
  --accent:#C9A454; --accent-soft:#DDB86C; --accent-pale:#231D12;
  --editorial-bg:#1A1510; --editorial-text:#F0E8DC;
  --footer-bg:#080605; --footer-text:#E8DDD0;
  --footer-mute:rgba(232,221,208,.45); --footer-line:rgba(232,221,208,.1);
  --sale:#E06040; --sale-bg:#200C0A;
}

/* Graphite — cool charcoal + warm gold */
body.wk-brand-black.wk-palette-graphite {
  --bg:#0F0F0F; --surface:#181818; --surface-2:#232323; --surface-3:#2E2E2E;
  --ink:#F0F0F0; --ink-soft:#C0C0C0; --ink-mute:#808080;
  --line:#2A2A2A; --line-soft:#202020;
  --accent:#D4AA60; --accent-soft:#E8C278; --accent-pale:#1C1A10;
  --editorial-bg:#181818; --editorial-text:#F0F0F0;
  --footer-bg:#080808; --footer-text:#EEEEEE;
  --footer-mute:rgba(238,238,238,.45); --footer-line:rgba(238,238,238,.1);
  --sale:#E07858; --sale-bg:#1A0E0A;
}

/* Midnight — deep blue-black + rose gold */
body.wk-brand-black.wk-palette-midnight {
  --bg:#0A090F; --surface:#121120; --surface-2:#1A1A2C; --surface-3:#222238;
  --ink:#EDE8FF; --ink-soft:#B8B0D0; --ink-mute:#706890;
  --line:#20203A; --line-soft:#181830;
  --accent:#C896D4; --accent-soft:#D8AAEC; --accent-pale:#1A1424;
  --editorial-bg:#121120; --editorial-text:#EDE8FF;
  --footer-bg:#060608; --footer-text:#E0D8FF;
  --footer-mute:rgba(224,216,255,.4); --footer-line:rgba(224,216,255,.08);
  --sale:#E07080; --sale-bg:#180A10;
}

/* ── Font pairings ── */
body.wk-type-editorial { --font-display:'Cormorant Garamond',Georgia,serif; --font-body:'Jost',sans-serif; }
body.wk-type-modern    { --font-display:'Jost',sans-serif; --font-body:'Jost',sans-serif; }
body.wk-type-soft      { --font-display:'Cormorant Garamond',Georgia,serif; --font-body:'Jost',sans-serif; }

/* ── Reset & Base ── */
*,*::before,*::after { box-sizing:border-box; }
html { -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
body { margin:0; background:var(--bg); color:var(--ink); font-family:var(--font-body); font-size:14px; line-height:1.55; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; }
a { color:inherit; text-decoration:none; }
img,svg { display:block; max-width:100%; }
button,input,select,textarea { font-family:inherit; }
ul,ol { margin:0; padding:0; list-style:none; }
h1,h2,h3,h4,h5,h6 { margin:0; }

/* ── Layout ── */
.wk-container { width:100%; max-width:var(--max-w); margin:0 auto; padding-left:max(var(--pad-x), env(safe-area-inset-left, 0px)); padding-right:max(var(--pad-x), env(safe-area-inset-right, 0px)); box-sizing:border-box; }
.skip-link { position:absolute; left:-9999px; }
.skip-link:focus { left:0; top:0; z-index:9999; background:var(--accent); color:#fff; padding:8px 16px; }

/* ── Typography ── */
.wk-eyebrow { font-size:10.5px; letter-spacing:.22em; text-transform:uppercase; font-weight:500; color:var(--ink-mute); }
.wk-display { font-family:var(--font-display); font-weight:400; letter-spacing:-.01em; line-height:1.05; }
.wk-link-underline { font-size:11.5px; letter-spacing:.18em; text-transform:uppercase; border-bottom:.5px solid currentColor; padding-bottom:3px; cursor:pointer; }
hr.wk-rule { border:0; border-top:.5px solid var(--line); margin:0; }

/* ── Buttons ── */
.wk-btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; appearance:none; border:0; background:var(--ink); color:var(--bg); font-family:var(--font-body); font-size:12px; font-weight:500; letter-spacing:.18em; text-transform:uppercase; padding:15px 24px; cursor:pointer; transition:opacity .2s,transform .15s; white-space:nowrap; }
.wk-btn:hover { opacity:.88; }
.wk-btn:active { transform:scale(.99); }
.wk-btn--full { width:100%; }
.wk-btn--outline { background:transparent; color:var(--ink); box-shadow:inset 0 0 0 .5px var(--ink); }
.wk-btn--sm { font-size:11px; padding:10px 16px; }
.wk-btn--ghost { background:transparent; color:var(--ink); }
.wk-icon-btn { display:inline-flex; align-items:center; justify-content:center; width:40px; height:40px; background:transparent; border:0; cursor:pointer; color:var(--ink); position:relative; padding:0; transition:opacity .15s; }
.wk-icon-btn:hover { opacity:.7; }

/* FIX: WooCommerce's own "Proceed to Checkout" link (.checkout-button) had
   no theme CSS targeting it at all — with WooCommerce's default stylesheet
   intentionally dequeued elsewhere in this theme, it was falling back to
   unstyled/default rendering, which is why the text and background ended up
   an unreadable, clashing combination. Giving it the same treatment as
   every other primary button in the theme fixes the contrast and makes it
   visually consistent with "Place Order" / "Buy Now" elsewhere. */
.wc-proceed-to-checkout .checkout-button,
a.checkout-button.button,
a.checkout-button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  background: var(--bg) !important;
  color: #fff !important;
  font-family: var(--font-body) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  padding: 14px 24px !important;
  border: 1.5px solid var(--accent) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  transition: background .2s, color .2s;
}
.wc-proceed-to-checkout .checkout-button:hover,
.wc-proceed-to-checkout .checkout-button:focus,
.wc-proceed-to-checkout .checkout-button:active,
a.checkout-button.button:hover,
a.checkout-button.button:focus,
a.checkout-button.button:active,
a.checkout-button:hover,
a.checkout-button:focus,
a.checkout-button:active {
  background: var(--accent) !important;
  color: #fff !important;
}

/* ── Inputs ── */
.wk-input { width:100%; border:0; border-bottom:.5px solid var(--ink); background:transparent; color:var(--ink); font-family:var(--font-body); font-size:14px; padding:12px 0 10px; outline:none; letter-spacing:.02em; }
.wk-input::placeholder { color:var(--ink-mute); }
.wk-input-box { border:.5px solid var(--line); background:var(--surface); padding:12px 14px; outline:none; width:100%; font-size:14px; color:var(--ink); }
.wk-input-box:focus { border-color:var(--ink); }

/* ── Badges ── */
.wk-badge { position:absolute; top:10px; left:10px; z-index:2; font-size:9px; letter-spacing:.2em; text-transform:uppercase; font-weight:700; padding:4px 9px; background:var(--surface); color:var(--ink); line-height:1; }
.wk-badge--sale { background:var(--sale); color:#fff; }
.wk-badge--new { background:var(--ink); color:var(--bg); }

/* ── Chips ── */
.wk-chip { display:inline-flex; align-items:center; gap:6px; padding:8px 14px; font-size:11px; letter-spacing:.12em; text-transform:uppercase; font-weight:500; color:var(--ink-soft); background:transparent; border:.5px solid var(--line); border-radius:100px; white-space:nowrap; cursor:pointer; transition:.15s; text-decoration:none; }
.wk-chip:hover,.wk-chip.active { color:var(--bg); background:var(--ink); border-color:var(--ink); }

/* ── Stars ── */
.wk-stars { display:inline-flex; gap:2px; align-items:center; }
.wk-rating-count { font-size:11px; color:var(--ink-mute); margin-left:6px; }

/* ── Promo strip ── */
.wk-promo-strip { background:var(--ink); color:var(--bg); font-size:10px; letter-spacing:.22em; text-transform:uppercase; text-align:center; padding:8px 14px; font-weight:500; overflow:hidden; white-space:nowrap; }

/* ── Header ── */
.wk-header { position:sticky; top:0; z-index:200; background:var(--bg); border-bottom:.5px solid transparent; transition:border-color .2s,box-shadow .2s; }
.wk-header.scrolled { border-bottom-color:var(--line); box-shadow:0 2px 20px rgba(0,0,0,.06); }
.wk-header__inner { display:flex; align-items:center; justify-content:space-between; height:var(--header-h); padding:0 var(--pad-x); gap:16px; }
.wk-brand-name { font-family:var(--font-display); font-size:20px; font-weight:500; letter-spacing:.2em; text-transform:uppercase; }
.wk-brand-name em { font-style:italic; font-weight:400; color:var(--accent); margin-left:3px; }
.wk-header__left { display:flex; align-items:center; gap:2px; flex:1; justify-content:flex-start; }
.wk-header__brand { display:flex; justify-content:center; align-items:center; }
.wk-header__actions { display:flex; align-items:center; gap:2px; flex:1; justify-content:flex-end; }
.wk-header__menu-toggle { display:flex; }
.wk-cart-count { position:absolute; top:4px; right:2px; background:var(--ink); color:var(--bg); font-size:9px; font-weight:700; min-width:15px; height:15px; border-radius:100px; display:flex; align-items:center; justify-content:center; padding:0 3px; line-height:1; pointer-events:none; opacity:0; transition:.15s; }
.wk-cart-count.has-items { opacity:1; }

/* Desktop Navigation Bar */
.wk-desktop-nav { display:none; border-top:.5px solid var(--line-soft); }
@media (min-width:768px) {
  .wk-desktop-nav { display:block; }
  .wk-header__menu-toggle { display:none !important; }
}
.wk-desktop-nav__list { display:flex; justify-content:center; gap:0; list-style:none; margin:0; padding:0; }
.wk-desktop-nav__list > li > a { display:block; padding:12px 18px; font-size:11px; letter-spacing:0.14em; text-transform:uppercase; font-weight:500; color:var(--ink-soft); transition:color 0.2s; position:relative; }
.wk-desktop-nav__list > li > a:hover,
.wk-desktop-nav__list > li.current-menu-item > a { color:var(--ink); }
.wk-desktop-nav__list > li > a::after { content:''; position:absolute; bottom:0; left:18px; right:18px; height:1.5px; background:var(--accent); transform:scaleX(0); transition:transform 0.3s ease; }
.wk-desktop-nav__list > li > a:hover::after,
.wk-desktop-nav__list > li.current-menu-item > a::after { transform:scaleX(1); }

/* ── Hero ── */
.wk-hero--still { position:relative; overflow:hidden; min-height:min(90vh,700px); display:flex; align-items:flex-end; }
.wk-hero__bg-img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center top; }
.wk-hero__bg-pim { position:absolute; inset:0; background:var(--surface-2); }
.wk-hero__bg-pim::after { content:''; position:absolute; inset:0; background:radial-gradient(ellipse at 30% 25%,rgba(255,255,255,.6),transparent 55%),repeating-linear-gradient(45deg,rgba(0,0,0,.015) 0 1px,transparent 1px 4px); }
.wk-brand-black .wk-hero__bg-pim::after { background:radial-gradient(ellipse at 30% 25%,rgba(255,255,255,.06),transparent 55%),repeating-linear-gradient(45deg,rgba(255,255,255,.022) 0 1px,transparent 1px 4px); }
.wk-hero__content { position:relative; z-index:2; padding:40px var(--pad-x) 48px; }
.wk-hero__eyebrow { margin-bottom:10px; }
.wk-hero__title { font-family:var(--font-display); font-size:clamp(48px,10vw,88px); font-weight:300; line-height:.92; letter-spacing:-.015em; color:var(--ink); margin-bottom:24px; }
.wk-hero__title em { font-style:italic; color:var(--accent); }
.wk-hero__cta { display:inline-flex; align-items:center; gap:8px; font-size:11.5px; letter-spacing:.2em; text-transform:uppercase; border-bottom:.5px solid var(--ink); padding-bottom:4px; }
.wk-hero--split { display:grid; grid-template-columns:1fr; }
@media (min-width:768px) { .wk-hero--split { grid-template-columns:1fr 1fr; min-height:min(85vh,700px); } }
.wk-hero-split__text { display:flex; flex-direction:column; justify-content:center; padding:48px var(--pad-x); gap:16px; }
.wk-hero-split__text .wk-hero__title { font-size:clamp(36px,7vw,72px); }
.wk-hero-split__text .wk-hero__sub { font-size:14px; color:var(--ink-soft); line-height:1.6; max-width:400px; }
.wk-hero-split__image { position:relative; min-height:300px; background:var(--surface-2); overflow:hidden; }
.wk-hero-split__img { width:100%; height:100%; object-fit:cover; }
.wk-pim-hero { background:var(--surface-2); }
.wk-pim-placeholder { background:var(--surface-2); display:flex; align-items:center; justify-content:center; width:100%; height:100%; min-height:300px; }
.wk-pim-placeholder span,.wk-pim-mark { font-family:var(--font-display); font-size:48px; font-style:italic; color:var(--ink-mute); opacity:.5; }

/* ── Section ── */
.wk-section { padding:40px 0; margin-bottom: 20px; }
.wk-section-head { display:flex; align-items:flex-end; justify-content:center; padding:0 var(--pad-x); margin-bottom:24px; text-align: center; position: relative; }
.wk-section-head h2 { font-family:var(--font-display); font-size:clamp(28px,5vw,40px); font-weight:500; letter-spacing:0.02em; line-height:1.05; text-transform: uppercase; color: var(--ink); }
.wk-section-more { position: absolute; right: var(--pad-x); bottom: 4px; font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--ink); border-bottom:1px solid var(--ink); padding-bottom:3px; cursor:pointer; white-space:nowrap; font-weight: 500; }

/* ── Product Card ── */
.wk-pcard { display:flex; flex-direction:column; gap:10px; cursor:pointer; }
.wk-pcard-link { display:flex; flex-direction:column; gap:10px; color:inherit; }
.wk-pcard__media { position:relative; width:100%; aspect-ratio:1/1; overflow:hidden; background:var(--surface-2); }
.wk-pcard__media img { width:100%; height:100%; object-fit:cover; transition:transform .4s ease; }
.wk-pcard:hover .wk-pcard__media img { transform:scale(1.03); }
.wk-pcard-placeholder { width:100%; height:100%; display:flex; align-items:center; justify-content:center; font-family:var(--font-display); font-size:36px; font-style:italic; color:var(--ink-mute); opacity:.4; }
.wk-pcard-info { display:flex; flex-direction:column; gap:5px; }
.wk-pcard-cat { font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-mute); }
.wk-pcard-title { font-size:13.5px; font-weight:400; color:var(--ink); line-height:1.35; }
.wk-pcard--editorial .wk-pcard-title { font-family:var(--font-display); font-size:17px; }
.wk-pcard--compact .wk-pcard-title { font-size:12px; }
.wk-pcard__media .wk-badge { position:absolute; }
.wk-wish-btn { position:absolute; top:10px; right:10px; z-index:2; width:32px; height:32px; display:flex; align-items:center; justify-content:center; background:rgba(255,255,255,.75); backdrop-filter:blur(6px); border-radius:100px; border:0; cursor:pointer; color:var(--ink); transition:.15s; }
.wk-wish-btn.active,.wk-wish-btn:hover { color:var(--sale); }
.wk-brand-black .wk-wish-btn { background:rgba(0,0,0,.4); color:var(--ink); }
.wk-quick-atc { width:100%; background:var(--ink); color:var(--bg); border:0; font-size:11px; letter-spacing:.18em; text-transform:uppercase; font-weight:500; padding:11px 16px; cursor:pointer; opacity:0; transition:opacity .2s; font-family:var(--font-body); }
.wk-pcard:hover .wk-quick-atc { opacity:1; }

/* ── Price ── */
.wk-price { font-weight:500; }
.wk-price-was { color:var(--ink-mute); text-decoration:line-through; font-size:.9em; }
.wk-price-save { color:var(--sale); font-size:.8em; letter-spacing:.1em; text-transform:uppercase; }
.wk-pcard-price { display:flex; align-items:baseline; gap:8px; font-size:13px; flex-wrap:wrap; }

/* ── Product Rails ── */
.wk-product-rail { display:flex; gap:16px; overflow-x:auto; padding:0 var(--pad-x) 8px; scroll-snap-type:x mandatory; scrollbar-width:none; -ms-overflow-style:none; }
.wk-product-rail::-webkit-scrollbar { display:none; }
.wk-product-rail .wk-pcard { flex-shrink:0; width:min(180px,42vw); scroll-snap-align:start; }
@media (min-width:768px) { .wk-product-rail .wk-pcard { width:220px; } }

/* ── Products Grid ── */
.wk-products-grid { display:grid; gap:20px 12px; padding:0; }
.wk-products-grid--1col { grid-template-columns:1fr; }
.wk-products-grid--2col { grid-template-columns:repeat(2,1fr); }
@media (min-width:640px)  { .wk-products-grid--2col { grid-template-columns:repeat(3,1fr); gap:24px 16px; } }
@media (min-width:1024px) { .wk-products-grid--2col { grid-template-columns:repeat(4,1fr); } }

/* ── Categories Grid ── */
.wk-categories-section { padding:0 0 20px; }
.wk-categories-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:2px; padding:0; width: 100%; max-width: 100%; }
@media (min-width:640px)  { .wk-categories-grid { grid-template-columns:repeat(3,1fr); } }
@media (min-width:1024px) { .wk-categories-grid { grid-template-columns:repeat(6,1fr); } }
.wk-cat-card { display:flex; flex-direction:column; gap:0; cursor:pointer; position: relative; }
.wk-cat-card__media { aspect-ratio:3/4; overflow:hidden; background:var(--surface-2); position:relative; }
.wk-cat-card__img { width:100%; height:100%; object-fit:cover; transition:transform .6s ease; }
.wk-cat-card:hover .wk-cat-card__img { transform:scale(1.06); }
.wk-cat-card__label { position: absolute; bottom: 0; left: 0; right: 0; padding: 12px; background: linear-gradient(to top, rgba(0,0,0,0.6) 0%, transparent 100%); display:flex; justify-content:center; align-items:center; }
.wk-cat-card__name { font-size:14px; font-weight:600; letter-spacing:.1em; text-transform: uppercase; color: #fff; font-family: var(--font-display); }
.wk-cat-card__count { display: none; }

/* ── Editorial strip ── */
.wk-editorial-strip { background:var(--surface-2); padding:56px var(--pad-x); text-align:center; }
.wk-editorial-strip__inner { max-width:640px; margin:0 auto; display:flex; flex-direction:column; gap:16px; align-items:center; }
.wk-editorial-strip__title { font-family:var(--font-display); font-size:clamp(22px,4vw,36px); font-weight:400; font-style:italic; line-height:1.2; color:var(--ink); }
.wk-editorial-strip__body { font-size:14px; color:var(--ink-soft); line-height:1.65; }

/* ── Trust strip ── */
.wk-trust-strip { display:flex; border-top:.5px solid var(--line); border-bottom:.5px solid var(--line); overflow-x:auto; }
.wk-trust-item { flex:1; min-width:120px; display:flex; align-items:center; gap:10px; padding:16px var(--pad-x); border-right:.5px solid var(--line); }
.wk-trust-item:last-child { border-right:0; }
.wk-trust-item__text { display:flex; flex-direction:column; gap:2px; }
.wk-trust-item__text strong { font-size:11.5px; font-weight:600; }
.wk-trust-item__text span { font-size:10.5px; color:var(--ink-mute); }

/* ── Journal ── */
.wk-journal-section { padding:40px 0; }
.wk-journal-rail { display:grid; gap:20px; padding:0 var(--pad-x); grid-template-columns:1fr; }
@media (min-width:640px) { .wk-journal-rail { grid-template-columns:repeat(3,1fr); } }
.wk-journal-card { display:flex; flex-direction:column; gap:12px; cursor:pointer; color:inherit; }
.wk-journal-card__img { width:100%; aspect-ratio:4/3; object-fit:cover; background:var(--surface-2); }
.wk-journal-card__body { display:flex; flex-direction:column; gap:6px; }
.wk-journal-card__title { font-family:var(--font-display); font-size:18px; font-weight:400; color:var(--ink); line-height:1.25; }
.wk-journal-card__read { font-size:10.5px; color:var(--ink-mute); }

/* ── Overlays ── */
.wk-overlay { position:fixed; inset:0; z-index:99999; pointer-events:none; }
.wk-overlay.is-open { pointer-events:auto; }
.wk-overlay__backdrop { position:absolute; inset:0; background:rgba(0,0,0,.35); opacity:0; transition:opacity .25s; backdrop-filter:blur(3px); -webkit-backdrop-filter:blur(3px); }
.wk-overlay.is-open .wk-overlay__backdrop { opacity:1; }

/* Cart drawer */
.wk-cart-drawer { position:absolute; top:0; right:0; bottom:0; width:min(420px,100vw); background:var(--bg); display:flex; flex-direction:column; transform:translateX(100%); transition:transform .3s cubic-bezier(.32,.72,0,1); box-shadow:-20px 0 60px rgba(0,0,0,.12); }
.wk-overlay.is-open .wk-cart-drawer { transform:translateX(0); }
.wk-cart-drawer__head { display:flex; align-items:center; justify-content:space-between; padding:16px 20px; border-bottom:.5px solid var(--line); flex-shrink:0; }
.wk-cart-drawer__title { font-family:var(--font-display); font-size:20px; font-weight:400; }
.wk-cart-drawer-items { flex:1; overflow-y:auto; padding:16px 20px; }
.wk-cart-drawer__foot { padding:16px 20px; border-top:.5px solid var(--line); flex-shrink:0; }
.wk-cart-drawer__total { display:flex; justify-content:space-between; align-items:baseline; margin-bottom:14px; font-size:14px; }
.wk-cart-drawer__view-cart { margin-top:10px; }
.wk-cart-drawer__empty-msg { padding:20px; color:var(--ink-mute); text-align:center; }
.wk-empty-state { text-align:center; padding:60px 20px; }
.wk-empty-state__title { font-family:var(--font-display); font-weight:400; font-style:italic; }

/* Mobile menu */
.wk-mobile-menu { position:absolute; top:0; left:0; bottom:0; width:min(320px,85vw); background:var(--bg); display:flex; flex-direction:column; transform:translateX(-100%); transition:transform .3s cubic-bezier(.32,.72,0,1); }
.wk-overlay.is-open .wk-mobile-menu { transform:translateX(0); }
.wk-mobile-menu__head { display:flex; align-items:center; justify-content:space-between; padding:16px 20px; border-bottom:.5px solid var(--line); }
.wk-mobile-menu__brand { font-family:var(--font-display); font-size:18px; font-weight:500; letter-spacing:.18em; text-transform:uppercase; }
.wk-mobile-nav { flex:1; overflow-y:auto; padding:8px 0; }
.wk-mobile-nav__list { list-style:none; margin:0; padding:0; }
.wk-mobile-nav__list li { border-bottom:.5px solid var(--line-soft); }
.wk-mobile-nav__list a { display:block; padding:16px 20px; font-family:var(--font-display); font-size:22px; font-weight:400; color:var(--ink); letter-spacing:-.005em; }
.wk-mobile-nav__list .sub-menu { padding-left:20px; }
.wk-mobile-nav__list .sub-menu a { font-size:15px; padding:10px 20px; }
.wk-mobile-menu__foot { padding:16px 20px; border-top:.5px solid var(--line); display:flex; flex-direction:column; gap:8px; }
.wk-mobile-menu__link { display:flex; align-items:center; gap:10px; font-size:12.5px; letter-spacing:.08em; color:var(--ink-soft); padding:6px 0; }

/* Search overlay */
.wk-search-panel { position:absolute; top:0; left:0; right:0; background:var(--bg); padding:16px; transform:translateY(-100%); transition:transform .28s cubic-bezier(.32,.72,0,1); border-bottom:.5px solid var(--line); max-height:80vh; overflow-y:auto; }
.wk-overlay.is-open .wk-search-panel { transform:translateY(0); }
.wk-search-bar { display:flex; align-items:center; gap:12px; border-bottom:.5px solid var(--ink); padding:10px 0; margin-bottom:16px; }
.wk-search-bar input { flex:1; border:0; background:transparent; font-family:var(--font-display); font-size:20px; outline:none; color:var(--ink); letter-spacing:-.005em; }
.wk-search-bar input::placeholder { color:var(--ink-mute); font-style:italic; }
.wk-search-results { display:grid; gap:12px; }
.wk-search-list { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:8px; }
.wk-search-list__link { font-size:14px; color:var(--ink); display:block; padding:8px 0; border-bottom:.5px solid var(--line-soft); transition:color 0.15s; }
.wk-search-list__link:hover { color:var(--accent); }

/* Filter drawer */
.wk-filter-drawer { position:fixed; inset:0; z-index:99998; pointer-events:none; }
.wk-filter-drawer.is-open { pointer-events:auto; }
.wk-filter-drawer__panel { position:absolute; top:0; left:0; bottom:0; width:min(320px,85vw); background:var(--bg); display:flex; flex-direction:column; transform:translateX(-100%); transition:transform .28s cubic-bezier(.32,.72,0,1); }
.wk-filter-drawer.is-open .wk-filter-drawer__panel { transform:translateX(0); }
.wk-filter-drawer__head { display:flex; align-items:center; justify-content:space-between; padding:16px 20px; border-bottom:.5px solid var(--line); font-weight:500; letter-spacing:.1em; text-transform:uppercase; font-size:11.5px; }
.wk-filter-drawer__body { flex:1; overflow-y:auto; padding:16px 20px; }
.wk-filter-drawer__foot { padding:16px 20px; border-top:.5px solid var(--line); display:flex; gap:10px; }

/* Filter groups */
.wk-filter-group { margin-bottom:24px; }
.wk-filter-group__title { font-size:11px; letter-spacing:.18em; text-transform:uppercase; font-weight:600; margin-bottom:12px; color:var(--ink); }
.wk-filter-list { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:2px; }
.wk-filter-list li a { display:flex; justify-content:space-between; padding:8px 0; font-size:13px; color:var(--ink-soft); border-bottom:.5px solid var(--line-soft); transition:color .15s; }
.wk-filter-list li.active a,.wk-filter-list li a:hover { color:var(--ink); }
.wk-filter-list li a span { color:var(--ink-mute); font-size:11px; }

/* ── Shop page ── */
.wk-shop-head { background:var(--bg); border-bottom:.5px solid var(--line); padding:16px 0; }
.wk-shop-head__inner { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:10px; flex-wrap:wrap; }
.wk-shop-head__title h1 { font-family:var(--font-display); font-size:clamp(20px,4vw,32px); font-weight:400; }
.wk-shop-head__controls { display:flex; align-items:center; gap:10px; }
.wk-topbar-filters { display:flex; gap:8px; overflow-x:auto; padding:12px 0 4px; scrollbar-width:none; }
.wk-topbar-filters::-webkit-scrollbar { display:none; }
.wk-shop-layout { padding:24px 0; }
.wk-shop-layout--sidebar { display:grid; gap:24px; }
@media (min-width:1024px) { .wk-shop-layout--sidebar { grid-template-columns:240px 1fr; } }
.wk-shop-sidebar { display:none; }
@media (min-width:1024px) { .wk-shop-sidebar { display:block; } }
.wk-filter-toggle { display:flex; }
.wk-sort-btn { font-size:12px; letter-spacing:.08em; }
.wk-cat-desc { font-size:13px; color:var(--ink-soft); margin:4px 0 0; }
.wk-pagination { margin:32px 0; display:flex; justify-content:center; }
.wk-pagination .page-numbers { display:flex; gap:4px; list-style:none; margin:0; padding:0; }
.wk-pagination .page-numbers li a,.wk-pagination .page-numbers li span { width:36px; height:36px; display:flex; align-items:center; justify-content:center; font-size:13px; color:var(--ink-soft); border:.5px solid var(--line); }
.wk-pagination .page-numbers li .current { background:var(--ink); color:var(--bg); border-color:var(--ink); }

/* WooCommerce ordering select */
.woocommerce-ordering select { appearance:none; border:.5px solid var(--line); background:var(--surface); padding:8px 32px 8px 12px; font-size:12px; font-family:var(--font-body); color:var(--ink); cursor:pointer; outline:none; }

/* ═══════════════════════════════════════════
   PRODUCT CARDS — Libas.in Style
   ═══════════════════════════════════════════ */
.wk-pcard { position:relative; display:flex; flex-direction:column; }
.wk-pcard-link { text-decoration:none; color:inherit; display:flex; flex-direction:column; }
.wk-pcard__media { position:relative; overflow:hidden; aspect-ratio:1/1; background:var(--surface-2); }
.wk-pcard__img { width:100%; height:100%; object-fit:cover; transition:transform 0.6s ease; }
.wk-pcard:hover .wk-pcard__img { transform:scale(1.04); }
.wk-pcard-info { padding:12px 0 4px; display:flex; flex-direction:column; gap:4px; }
.wk-pcard-cat { font-size:10px; letter-spacing:0.14em; text-transform:uppercase; color:var(--ink-mute); font-weight:500; }
.wk-pcard-title { font-size:13px; font-weight:400; color:var(--ink); line-height:1.4; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; margin:0; }
.wk-pcard-price { display:flex; align-items:baseline; gap:6px; flex-wrap:wrap; margin-top:2px; }
.wk-price { font-size:14px; font-weight:600; color:var(--ink); }
.wk-price-was { font-size:12px; color:var(--ink-mute); text-decoration:line-through; }
.wk-price-save { font-size:11px; color:var(--sale); font-weight:600; }

/* Badges */
.wk-badge { position:absolute; top:8px; left:8px; z-index:3; font-size:10px; font-weight:600; letter-spacing:0.06em; text-transform:uppercase; padding:4px 8px; }
.wk-badge--sale { background:var(--sale); color:#fff; }
.wk-badge--new { background:var(--ink); color:var(--bg); }

/* Wishlist button on card */
.wk-wish-btn { position:absolute; top:8px; right:8px; z-index:3; width:32px; height:32px; display:flex; align-items:center; justify-content:center; background:rgba(255,255,255,0.85); border:none; cursor:pointer; color:var(--ink-soft); transition:all 0.2s; }
.wk-wish-btn:hover { color:var(--sale); background:#fff; }

/* Quick ATC */
.wk-quick-atc { width:100%; border:1px solid var(--line); background:var(--bg); padding:10px; font-size:11px; letter-spacing:0.12em; text-transform:uppercase; font-weight:600; color:var(--ink); cursor:pointer; font-family:var(--font-body); opacity:0; transform:translateY(4px); transition:all 0.3s ease; }
.wk-pcard:hover .wk-quick-atc { opacity:1; transform:translateY(0); }
@media (max-width:767px) { .wk-quick-atc { opacity:1; transform:none; } }
.wk-quick-atc:hover { background:var(--ink); color:var(--bg); border-color:var(--ink); }

/* Products grid */
.wk-products-grid { display:grid; grid-template-columns:repeat(2, 1fr); gap:20px 12px; }
.wk-products-grid--3col { grid-template-columns:repeat(2, 1fr); }
.wk-products-grid--4col { grid-template-columns:repeat(2, 1fr); }
@media (min-width:640px) { .wk-products-grid { grid-template-columns:repeat(3, 1fr); gap:24px 16px; } .wk-products-grid--3col { grid-template-columns:repeat(3, 1fr); } }
@media (min-width:1024px) { .wk-products-grid { grid-template-columns:repeat(4, 1fr); gap:28px 20px; } .wk-products-grid--4col { grid-template-columns:repeat(4, 1fr); } }

/* ── PDP ── */
.wk-pdp { padding:24px 0 80px; }
/* .wk-pdp__layout responsive rules consolidated — see "PDP Layout" block */

/* Libas style gallery: scrollable on mobile, grid on desktop */
/* gallery styles → see gallery v2 section */
.wk-pdp__placeholder { width:100%; aspect-ratio:1/1; background:var(--surface-2); display:flex; align-items:center; justify-content:center; }

@media (min-width:768px) {

}

.wk-pdp__info { display:flex; flex-direction:column; gap:16px; padding-bottom:80px; position:sticky; top:calc(var(--header-h) + 24px); }
@media (min-width:768px) { .wk-pdp__info { padding-bottom:0; } }
.wk-pdp__category { font-size:10.5px; letter-spacing:.2em; text-transform:uppercase; color:var(--ink-mute); }
.wk-pdp__title { font-family:var(--font-display); font-size:clamp(24px,4vw,36px); font-weight:400; line-height:1.15; }
.wk-pdp__rating { display:flex; align-items:center; gap:8px; }
.wk-pdp__review-count { font-size:11.5px; color:var(--ink-mute); border-bottom:.5px solid var(--line); }
.wk-pdp__price { display:flex; align-items:baseline; gap:10px; font-size:18px; }
.wk-pdp__short-desc { font-size:13.5px; color:var(--ink-soft); line-height:1.65; }
.wk-pdp__trust { display:grid; grid-template-columns:1fr 1fr; gap:10px; font-size:11.5px; }
.wk-pdp__trust-item { display:flex; align-items:center; gap:8px; color:var(--ink-soft); }
.wk-pdp__pincode { background:var(--surface); border:.5px solid var(--line); padding:14px; }
.wk-pdp__pincode-form { display:flex; gap:8px; align-items:stretch; }
.wk-pdp__pincode-form .wk-input { font-size:13px; }
.wk-pdp__pincode-result { font-size:12px; margin-top:8px; color:var(--ink-soft); }
.wk-pdp__accordions { border-top:.5px solid var(--line); }
.wk-accordion { border-bottom:.5px solid var(--line); }
.wk-accordion summary { display:flex; align-items:center; justify-content:space-between; padding:16px 0; cursor:pointer; list-style:none; font-size:11.5px; letter-spacing:.16em; text-transform:uppercase; font-weight:500; color:var(--ink); }
.wk-accordion summary::-webkit-details-marker { display:none; }
.wk-accordion summary svg { transition:transform .2s; flex-shrink:0; }
.wk-accordion[open] summary svg { transform:rotate(180deg); }
.wk-accordion__body { padding:0 0 18px; font-size:13.5px; color:var(--ink-soft); line-height:1.65; }
.wk-accordion__body p { margin:0 0 10px; }
.wk-pdp__sku { font-size:10.5px; color:var(--ink-mute); letter-spacing:.08em; }
.wk-pdp__placeholder-text { font-family:var(--font-display); font-size:48px; font-style:italic; opacity:.3; }
.wk-pdp__taxes { font-size:11px; color:var(--ink-mute); margin-top:-10px; margin-bottom:8px; }
.wk-pdp__reviews { margin-top:40px; padding-top:32px; border-top:.5px solid var(--line); }
.wk-pdp__related { margin-top:40px; }
.wk-price-was--sm { font-size:11px; }
.wk-product-rail { display:flex; gap:16px; overflow-x:auto; padding-bottom:16px; scrollbar-width:none; }
.wk-product-rail::-webkit-scrollbar { display:none; }
.wk-product-rail .wk-pcard { flex-shrink:0; width:220px; }

/* WooCommerce single product form */
.wk-pdp__info .cart { display:flex; flex-direction:column; gap:14px; }
.wk-pdp__info .variations { width:100%; border:0; }
.wk-pdp__info .variations td,.wk-pdp__info .variations th { padding:0 0 10px; text-align:left; }
.wk-pdp__info .variations .label { font-size:11px; letter-spacing:.16em; text-transform:uppercase; font-weight:600; padding-right:12px; width:80px; }
.wk-pdp__info .variations select { width:100%; border:.5px solid var(--line); background:var(--surface); padding:10px 12px; font-size:13px; font-family:var(--font-body); color:var(--ink); }
.wk-pdp__info .quantity { display:flex; align-items:center; gap:0; border:.5px solid var(--line); width:fit-content; }
.wk-pdp__info .quantity input { width:40px; border:0; text-align:center; font-size:14px; background:transparent; color:var(--ink); padding:10px 0; -moz-appearance:textfield; }
.wk-pdp__info .quantity input::-webkit-inner-spin-button { -webkit-appearance:none; }
.wk-pdp__info .quantity .qty-btn { width:36px; height:40px; display:flex; align-items:center; justify-content:center; background:transparent; border:0; cursor:pointer; font-size:18px; color:var(--ink); }
.wk-pdp__info .single_add_to_cart_button { width:100%; background:var(--ink); color:var(--bg); border:0; font-family:var(--font-body); font-size:12.5px; letter-spacing:.2em; text-transform:uppercase; font-weight:500; padding:16px 24px; cursor:pointer; transition:.2s; }
.wk-pdp__info .single_add_to_cart_button:hover { opacity:.88; }

/* Sticky ATC */
.wk-sticky-atc { position:fixed; bottom:0; left:0; right:0; z-index:300; background:var(--bg); border-top:.5px solid var(--line); padding:12px 16px 20px; display:flex; align-items:center; gap:12px; transform:translateY(100%); transition:transform .3s cubic-bezier(.32,.72,0,1); box-shadow:0 -8px 30px rgba(0,0,0,.1); }
.wk-sticky-atc.is-visible { transform:translateY(0); }
.wk-sticky-atc__price { display:flex; flex-direction:column; flex-shrink:0; }
.wk-sticky-atc__btn { flex:1; background:var(--ink); color:var(--bg); border:0; font-size:12.5px; letter-spacing:.2em; text-transform:uppercase; font-weight:500; padding:15px; cursor:pointer; font-family:var(--font-body); }
@media (min-width:768px) { .wk-sticky-atc { display:none; } }

/* ── Mini cart items ── */
.wk-mini-cart-list { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:16px; }
.wk-mini-cart-item { display:flex; gap:12px; align-items:flex-start; }
.wk-mini-cart-item__img { flex-shrink:0; width:88px; }
.wk-mini-cart-item__img img { width:88px; height:117px; object-fit:cover; }
.wk-mini-cart-item__body { flex:1; min-width:0; display:flex; flex-direction:column; gap:6px; }
.wk-mini-cart-item__name {
  font-size:13px; color:var(--ink); line-height:1.35;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical;
  overflow:hidden; text-overflow:ellipsis;
}
.wk-mini-cart-item__meta { display:flex; justify-content:space-between; align-items:center; gap:10px; }
.wk-mini-cart-item__qty { font-size:11px; color:var(--ink-mute); }
.wk-mini-cart-item__price { font-size:13px; font-weight:500; white-space:nowrap; }
.wk-mini-cart-item__remove { width:28px; height:28px; flex-shrink:0; color:var(--ink-mute); }
.wk-mini-cart-empty { display:flex; flex-direction:column; align-items:center; gap:14px; padding:40px 20px; text-align:center; color:var(--ink-soft); }

/* ── Quantity stepper — shared by mini-cart, cart page, and the checkout
   order review. Small (--sm) variant used in both those tighter spots. ── */
.wk-qty-stepper { display:inline-flex; align-items:center; gap:0; border:1px solid var(--line, #e6e1da); border-radius:20px; overflow:hidden; opacity:1; transition:opacity .15s; }
.wk-qty-stepper.is-updating { opacity:.5; pointer-events:none; }
.wk-qty-stepper__btn { width:26px; height:26px; border:0; background:transparent; cursor:pointer; font-size:14px; line-height:1; display:flex; align-items:center; justify-content:center; color:var(--ink); transition:background .15s; font-family:var(--font-body); }
.wk-qty-stepper__btn:hover { background:var(--surface-2, #f4f1ec); }
.wk-qty-stepper__value { min-width:22px; text-align:center; font-size:12.5px; font-weight:600; user-select:none; }
.wk-qty-stepper--sm .wk-qty-stepper__btn { width:22px; height:22px; font-size:12px; }
.wk-qty-stepper--sm .wk-qty-stepper__value { min-width:18px; font-size:11.5px; }

/* ── Checkout / "Your Order" review — quantity + remove per line item ── */
.wk-order-review-qty { display:inline-flex; align-items:center; gap:8px; }
.wk-order-review-item__remove {
  width:22px; height:22px; flex-shrink:0; border:none; background:transparent;
  color:var(--ink-mute); cursor:pointer; font-size:16px; line-height:1;
  display:inline-flex; align-items:center; justify-content:center; border-radius:50%;
  transition:background .15s, color .15s;
}
.wk-order-review-item__remove:hover { background:var(--surface-2, #f4f1ec); color:var(--sale, #c0392b); }

/* ── Footer ── */
.wk-footer { background:var(--footer-bg-custom, var(--footer-bg)); color:var(--footer-text-custom, var(--footer-text)); }
.wk-footer__main { padding:56px 0 40px; }
.wk-footer__grid { display:grid; gap:36px; }
@media (min-width:640px) { .wk-footer__grid { grid-template-columns:2fr 1fr 1fr 1fr; gap:48px; } }
.wk-footer__brand-col {}
.wk-footer__brand-name { font-family:var(--font-display); font-size:24px; font-weight:500; letter-spacing:.25em; text-transform:uppercase; margin-bottom:14px; color:var(--footer-heading-custom, var(--footer-text)); }
.wk-footer__tagline { font-size:13px; color:var(--footer-mute); line-height:1.7; margin:0 0 20px; max-width:280px; }
.wk-footer__social { display:flex; gap:12px; }
.wk-footer__social-link { color:var(--footer-mute); transition:.15s; }
.wk-footer__social-link:hover { color:var(--footer-text-custom, var(--footer-text)); }
.wk-footer__col-title { font-size:10px; letter-spacing:.22em; text-transform:uppercase; font-weight:700; color:var(--footer-heading-custom, var(--footer-text)); opacity:.5; margin-bottom:16px; }
.wk-footer__nav-list { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:10px; }
.wk-footer__nav-list a { font-size:13px; color:var(--footer-link-custom, var(--footer-mute)); transition:.15s; }
.wk-footer__nav-list a:hover { color:var(--footer-text-custom, var(--footer-text)); }
.wk-footer__newsletter { background:var(--newsletter-bg-custom, rgba(255,255,255,.04)); border-top:.5px solid var(--footer-line); border-bottom:.5px solid var(--footer-line); padding:36px 0; }
.wk-newsletter { display:flex; flex-direction:column; gap:24px; }
@media (min-width:768px) { .wk-newsletter { flex-direction:row; align-items:center; justify-content:space-between; gap:40px; } }
.wk-newsletter__text h3 { font-family:var(--font-display); font-size:22px; font-weight:400; font-style:italic; color:var(--newsletter-text-custom, var(--footer-text)); }
.wk-newsletter__text p { font-size:13px; color:var(--newsletter-text-custom, var(--footer-mute)); margin:6px 0 0; line-height:1.6; }
.wk-newsletter__form { display:flex; gap:0; flex-shrink:0; }
.wk-newsletter__input { flex:1; background:transparent; border:.5px solid var(--footer-line); padding:13px 16px; color:var(--newsletter-text-custom, var(--footer-text)); font-family:var(--font-body); font-size:13px; min-width:220px; outline:none; }
.wk-newsletter__input::placeholder { color:var(--footer-mute); }
.wk-newsletter__input:focus { border-color:var(--accent-soft); }
.wk-newsletter__form .wk-btn { background:var(--accent); color:#fff; border:none; padding:13px 24px; flex-shrink:0; }
.wk-newsletter__form .wk-btn:hover { background:var(--accent-soft); opacity:1; }
.wk-footer__bottom { padding:20px 0; background:var(--footer-bottom-bg-custom, rgba(0,0,0,.25)); border-top:.5px solid var(--footer-line); }
.wk-footer__bottom-inner { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; }
.wk-footer__copy { font-size:11.5px; color:var(--footer-bottom-text-custom, var(--footer-mute)); margin:0; }
.wk-footer__payment-icons { display:flex; gap:8px; flex-wrap:wrap; }
.wk-pay-icon { font-size:9.5px; letter-spacing:.1em; text-transform:uppercase; background:rgba(255,255,255,.1); color:rgba(255,255,255,.5); padding:3px 8px; border-radius:3px; }

/* ── Toast ── */
.wk-toast { position:fixed; bottom:24px; left:16px; right:16px; z-index:9999; background:var(--ink); color:var(--bg); padding:14px 18px; font-size:12.5px; letter-spacing:.06em; pointer-events:none; opacity:0; transform:translateY(8px); transition:opacity .25s,transform .25s; }
.wk-toast.is-visible { opacity:1; transform:translateY(0); pointer-events:auto; }
@media (min-width:640px) { .wk-toast { left:auto; width:320px; right:24px; } }

/* ── Breadcrumb ── */
.wk-breadcrumb { margin:0 0 12px; }
.wk-breadcrumb ol { display:flex; flex-wrap:wrap; gap:4px; list-style:none; margin:0; padding:0; }
.wk-breadcrumb li { font-size:11px; color:var(--ink-mute); letter-spacing:.06em; }
.wk-breadcrumb li a { color:var(--ink-mute); }
.wk-breadcrumb li a:hover { color:var(--ink); }
.wk-bc-sep { margin:0 4px; }

/* ── Misc ── */
.wk-empty-state { text-align:center; padding:60px 20px; display:flex; flex-direction:column; align-items:center; gap:14px; }
.wk-post-grid { display:grid; gap:24px; grid-template-columns:1fr; }
@media (min-width:640px) { .wk-post-grid { grid-template-columns:repeat(2,1fr); } }
.wk-post-card { display:flex; flex-direction:column; gap:12px; }
.wk-post-card__thumb img { width:100%; aspect-ratio:16/9; object-fit:cover; }
.wk-post-card__title { font-family:var(--font-display); font-size:20px; font-weight:400; }
/* .wk-page-content / .wk-page-title / .wk-page-body are defined once,
   below, under "Refactored Templates CSS" — this used to be a duplicate
   of that block with slightly different values, which was harmless
   (the later block always won) but confusing to maintain. */

/* Screen reader only */
.screen-reader-text { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }

/* Animations */
@keyframes wk-fade-up { from { opacity:0; transform:translateY(6px); } to { opacity:1; transform:translateY(0); } }
.wk-fade-in { animation:wk-fade-up .3s ease both; }

/* Selection */
::selection { background:var(--accent); color:#fff; }

/* ── Refactored Templates CSS ── */

/* Standard Page */
.wk-page-content { max-width:800px; margin:0 auto; padding:48px 0 80px; }
.wk-page-title { font-family:var(--font-display); font-size:clamp(28px,5vw,42px); font-weight:400; text-transform:uppercase; letter-spacing:0.04em; margin-bottom:32px; padding-bottom:16px; border-bottom:.5px solid var(--line); }
.wk-page-body { font-size:15px; line-height:1.75; color:var(--ink-soft); }
.wk-page-body h2 { font-family:var(--font-display); font-size:24px; color:var(--ink); margin:40px 0 16px; font-weight:400; text-transform:uppercase; }
.wk-page-body h3 { font-size:18px; color:var(--ink); margin:28px 0 12px; font-weight:500; }
.wk-page-body p { margin-bottom:16px; }
.wk-page-body ul,.wk-page-body ol { padding-left:20px; margin-bottom:16px; }
.wk-page-body li { margin-bottom:8px; }
.wk-page-body table { width:100%; border-collapse:collapse; margin:24px 0; }
.wk-page-body th { font-size:12px; text-transform:uppercase; letter-spacing:0.08em; padding:12px 8px; border-bottom:1px solid var(--line); text-align:left; font-weight:600; }
.wk-page-body td { padding:10px 8px; border-bottom:.5px solid var(--line-soft); font-size:14px; }
.wk-page-body strong { color:var(--ink); font-weight:600; }
.wk-page-body a { color:var(--accent); text-decoration:underline; text-underline-offset:3px; }

/* 404 Page */
.wk-404-main { min-height:60vh; display:flex; align-items:center; justify-content:center; text-align:center; }
.wk-404-title { font-family:var(--font-display); font-size:clamp(32px,6vw,56px); font-weight:300; font-style:italic; margin:16px 0; }
.wk-404-text { color:var(--ink-soft); margin-bottom:28px; }

/* Archive Page */
.wk-archive-main { padding:32px 0 60px; }
.wk-archive-title { font-family:var(--font-display); font-size:clamp(24px,5vw,40px); font-weight:400; font-style:italic; margin-bottom:28px; }

/* Single Page */
.wk-single-main { padding:32px 0 60px; }
.wk-single-post { max-width:720px; margin:0 auto; }
.wk-single-title { font-family:var(--font-display); font-size:clamp(24px,5vw,40px); font-weight:400; font-style:italic; margin:10px 0 20px; }
.wk-single-content { font-size:15px; line-height:1.75; color:var(--ink-soft); }

/* Contact Page */
.wk-contact-main { padding:60px 20px; max-width:1000px; }
.wk-contact-title { text-align:center; text-transform:uppercase; margin-bottom:16px; }
.wk-contact-intro { text-align:center; max-width:560px; margin:0 auto 40px; color:var(--ink-mute); line-height:1.7; font-size:14px; }
.wk-contact-quickgrid { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:16px; margin-bottom:48px; }
.wk-contact-quickcard {
  display:flex; flex-direction:column; align-items:center; text-align:center; gap:8px;
  background:var(--surface); border:.5px solid var(--line); padding:28px 20px; transition:border-color .15s, transform .15s;
}
.wk-contact-quickcard:hover { border-color:var(--accent); transform:translateY(-2px); }
.wk-contact-quickcard__icon { font-size:22px; line-height:1; }
.wk-contact-quickcard__label { font-size:11px; font-weight:600; text-transform:uppercase; letter-spacing:.08em; color:var(--ink-mute); }
.wk-contact-quickcard__value { font-size:14px; color:var(--ink); font-weight:500; word-break:break-word; }
.wk-contact-extra-content { max-width:640px; margin:0 auto 48px; }
.wk-contact-form-heading {
  font-family:var(--font-display); font-size:22px; font-weight:400; text-transform:uppercase; letter-spacing:.04em;
  text-align:center; margin:0 0 24px;
}
.wk-contact-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(300px, 1fr)); gap:40px; }
.wk-contact-info-card, .wk-contact-form-card { background:var(--surface); padding:40px; border:.5px solid var(--line); }
.wk-contact-heading { font-family:var(--font-display); font-size:24px; margin-bottom:20px; text-transform:uppercase; }
.wk-contact-content { color:var(--ink-soft); line-height:1.7; margin-bottom:24px; }
.wk-contact-method { margin-bottom:20px; }
.wk-contact-method-label { display:block; font-size:11px; text-transform:uppercase; letter-spacing:0.1em; color:var(--ink-mute); margin-bottom:4px; }
.wk-contact-method-value { color:var(--ink); font-weight:500; }
.wk-contact-form { display:flex; flex-direction:column; gap:20px; }
.wk-form-row label { display:block; font-size:12px; font-weight:500; margin-bottom:8px; }

/* Hero Component */
.wk-hero { position:relative; min-height:50vh; display:flex; align-items:flex-end; overflow:hidden; }
.wk-hero__bg-img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.wk-hero__overlay { position:absolute; inset:0; background:linear-gradient(to top, rgba(0,0,0,0.55) 0%, rgba(0,0,0,0.1) 40%, transparent 60%); }
.wk-hero__content { position:relative; z-index:2; width:100%; padding:40px 20px 60px; color:#fff; }
.wk-hero__title { font-family:var(--font-display); font-size:clamp(32px,7vw,60px); font-weight:400; margin-bottom:12px; }
.wk-hero__sub { font-size:14px; letter-spacing:0.08em; opacity:0.85; }
.wk-hero--split { display:grid; grid-template-columns:1fr; min-height:auto; }
@media (min-width:768px) { .wk-hero--split { grid-template-columns:1fr 1fr; } }
.wk-hero-split__img { position:relative; min-height:300px; overflow:hidden; }
.wk-hero-split__img-tag { width:100%; height:100%; object-fit:cover; }
.wk-hero-split__text { display:flex; flex-direction:column; justify-content:center; gap:16px; padding:40px 20px; }
.wk-hero-split__title { font-family:var(--font-display); font-size:28px; font-weight:400; text-transform:uppercase; }
.wk-hero-split__desc { font-size:15px; color:var(--ink-soft); line-height:1.7; }

/* About Page */
.wk-about-main { padding-bottom:60px; }
.wk-about-hero { min-height:50vh; }
.wk-about-hero .wk-hero__content { text-align:center; width:100%; padding-bottom:80px; }
.wk-about-content-section { max-width:800px; margin:0 auto; padding:60px 20px; color:var(--ink-soft); line-height:1.8; font-size:16px; }
.wk-about-content-section h2 { font-family:var(--font-display); font-size:28px; color:var(--ink); margin-bottom:16px; text-transform:uppercase; font-weight:400; }
.wk-about-content-section h3 { font-size:20px; color:var(--ink); margin:32px 0 12px; font-weight:500; }
.wk-about-content-section p { margin-bottom:20px; }
.wk-about-content-section ul { padding-left:20px; margin-bottom:20px; }
.wk-about-content-section li { margin-bottom:8px; }
.wk-about-content-section table { width:100%; border-collapse:collapse; margin:24px 0; }
.wk-about-content-section th { font-size:12px; text-transform:uppercase; letter-spacing:0.1em; padding:12px; border-bottom:1px solid var(--line); text-align:left; }
.wk-about-content-section td { padding:10px 12px; border-bottom:.5px solid var(--line-soft); font-size:14px; }
.wk-about-split { margin-bottom:60px; }
.wk-about-split .wk-hero-split__text { padding:60px 40px; background:var(--surface); }

/* ═══════════════════════════════════════════
   HOMEPAGE — Libas.in Style
   ═══════════════════════════════════════════ */

/* Hero Banner */
.wk-home-hero { position:relative; width:100%; height:80vh; min-height:500px; max-height:800px; overflow:hidden; display:flex; align-items:flex-end; }
.wk-home-hero__img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center top; }
.wk-home-hero__overlay { position:absolute; inset:0; background:linear-gradient(to top, rgba(0,0,0,0.55) 0%, rgba(0,0,0,0.1) 40%, transparent 60%); }
.wk-home-hero__content { position:relative; z-index:2; width:100%; text-align:center; padding-bottom:60px; color:#fff; }
.wk-home-hero__eyebrow { font-size:11px; letter-spacing:0.3em; text-transform:uppercase; font-weight:500; opacity:0.85; margin-bottom:12px; }
.wk-home-hero__title { font-family:var(--font-display); font-size:clamp(42px,8vw,80px); font-weight:400; line-height:1; margin-bottom:16px; letter-spacing:-0.01em; }
.wk-home-hero__sub { font-size:14px; letter-spacing:0.08em; opacity:0.8; margin-bottom:28px; max-width:500px; margin-left:auto; margin-right:auto; }
.wk-home-hero__btn { background:#fff; color:#000; border:none; font-weight:600; padding:16px 40px; letter-spacing:0.12em; }
.wk-home-hero__btn:hover { background:#f0f0f0; opacity:1; }

/* Section Headings */
.wk-home-section { padding:48px 0; }
.wk-home-section__head { display:flex; align-items:flex-end; justify-content:space-between; margin-bottom:32px; padding-bottom:16px; border-bottom:.5px solid var(--line); }
.wk-home-section__title { font-family:var(--font-display); font-size:clamp(24px,4vw,36px); font-weight:400; text-transform:uppercase; letter-spacing:0.04em; margin:0; }
.wk-home-section__more { font-size:12px; letter-spacing:0.12em; text-transform:uppercase; font-weight:600; color:var(--ink); text-decoration:underline; text-underline-offset:4px; white-space:nowrap; }

/* Category Circles */
.wk-home-cats { display:flex; gap:24px; overflow-x:auto; padding:8px 0 16px; scrollbar-width:none; -ms-overflow-style:none; scroll-snap-type:x mandatory; }
.wk-home-cats::-webkit-scrollbar { display:none; }
.wk-home-cat { flex-shrink:0; display:flex; flex-direction:column; align-items:center; gap:12px; text-decoration:none; color:var(--ink); scroll-snap-align:start; min-width:90px; }
.wk-home-cat__circle { width:100px; height:100px; border-radius:50%; overflow:hidden; border:1.5px solid var(--line); transition:border-color 0.3s, transform 0.3s; }
.wk-home-cat:hover .wk-home-cat__circle { border-color:var(--ink); transform:scale(1.05); }
.wk-home-cat__circle img { width:100%; height:100%; object-fit:cover; }
.wk-home-cat__placeholder { width:100%; height:100%; display:flex; align-items:center; justify-content:center; }
.wk-home-cat__placeholder span { font-family:var(--font-display); font-size:32px; font-weight:400; color:var(--ink-mute); opacity:0.6; }
.wk-home-cat__name { font-size:12px; font-weight:500; text-transform:uppercase; letter-spacing:0.08em; text-align:center; color:var(--ink-soft); }
@media (min-width:768px) {
  .wk-home-cats { justify-content:center; flex-wrap:wrap; overflow:visible; }
  .wk-home-cat__circle { width:120px; height:120px; }
  .wk-home-cat { min-width:auto; }
}

/* Products Grid (4 columns on desktop) */
.wk-home-products-grid { display:grid; grid-template-columns:repeat(2, 1fr); gap:20px 12px; }
@media (min-width:640px) { .wk-home-products-grid { grid-template-columns:repeat(3, 1fr); gap:24px 16px; } }
@media (min-width:1024px) { .wk-home-products-grid { grid-template-columns:repeat(4, 1fr); gap:28px 20px; } }

/* Products Rail (horizontal scroll) */
.wk-home-products-rail { display:flex; gap:16px; overflow-x:auto; padding-bottom:16px; scrollbar-width:none; scroll-snap-type:x mandatory; }
.wk-home-products-rail::-webkit-scrollbar { display:none; }
.wk-home-products-rail .wk-pcard { flex-shrink:0; width:min(220px,44vw); scroll-snap-align:start; }
@media (min-width:768px) { .wk-home-products-rail .wk-pcard { width:260px; } }

/* Collection Promos (2-column) */
.wk-home-promos { display:grid; grid-template-columns:1fr; gap:16px; }
@media (min-width:640px) { .wk-home-promos { grid-template-columns:1fr 1fr; } }
.wk-home-promo { position:relative; overflow:hidden; aspect-ratio:4/5; display:flex; align-items:flex-end; }
.wk-home-promo__img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform 0.6s ease; }
.wk-home-promo:hover .wk-home-promo__img { transform:scale(1.04); }
.wk-home-promo__overlay { position:relative; z-index:2; width:100%; padding:24px; text-align:center; background:linear-gradient(to top, rgba(0,0,0,0.7) 0%, transparent 100%); }
.wk-home-promo__title { font-family:var(--font-display); font-size:clamp(28px,5vw,42px); font-weight:400; color:#fff; text-transform:uppercase; margin:0 0 8px; letter-spacing:0.06em; }
.wk-home-promo__cta { font-size:12px; letter-spacing:0.15em; text-transform:uppercase; color:#fff; border-bottom:1px solid rgba(255,255,255,0.6); padding-bottom:3px; }

/* Testimonials */
.wk-home-testimonials { display:grid; grid-template-columns:1fr; gap:24px; }
@media (min-width:640px) { .wk-home-testimonials { grid-template-columns:repeat(3, 1fr); } }
.wk-home-testimonial { background:var(--surface); border:.5px solid var(--line); padding:32px 24px; display:flex; flex-direction:column; gap:16px; text-align:center; }
.wk-home-testimonial__stars { display:flex; justify-content:center; gap:3px; }
.wk-home-testimonial__text { font-size:14px; color:var(--ink-soft); line-height:1.7; font-style:italic; flex:1; }
.wk-home-testimonial__name { font-size:12px; letter-spacing:0.1em; text-transform:uppercase; color:var(--ink-mute); font-weight:500; }

/* Editorial Strip */
.wk-editorial-strip { background:var(--footer-bg, #FDEEF4); padding:80px 20px; text-align:center; }
.wk-editorial-strip__inner { max-width:700px; margin:0 auto; }
.wk-editorial-strip__title { font-family:var(--font-display); font-size:clamp(24px,5vw,36px); font-weight:400; font-style:italic; color:var(--ink); margin-bottom:20px; line-height:1.3; }
.wk-editorial-strip__body { font-size:15px; color:var(--ink-soft); line-height:1.8; margin-bottom:24px; }
.wk-link-underline { font-size:13px; letter-spacing:0.12em; text-transform:uppercase; font-weight:600; color:var(--ink); text-decoration:underline; text-underline-offset:4px; }

/* ═══════════════════════════════════════════
   FOOTER — Libas.in Style
   ═══════════════════════════════════════════ */
.wk-footer { border-top:.5px solid var(--line); }

/* Trust strip */
.wk-trust-strip { display:grid; grid-template-columns:repeat(2, 1fr); gap:16px; padding:32px 20px; max-width:var(--max-w); margin:0 auto; border-bottom:.5px solid var(--line); }
@media (min-width:640px) { .wk-trust-strip { grid-template-columns:repeat(4, 1fr); padding:40px 20px; } }
.wk-trust-item { display:flex; flex-direction:column; align-items:center; gap:8px; text-align:center; padding:16px 8px; }
.wk-trust-item__icon { width:32px; height:32px; color:var(--accent); }
.wk-trust-item__title { font-size:12px; font-weight:600; text-transform:uppercase; letter-spacing:0.1em; color:var(--ink); }
.wk-trust-item__desc { font-size:11px; color:var(--ink-mute); }

/* Footer main */
.wk-footer__main { background:var(--footer-bg, #FDEEF4); padding:48px 0 32px; }
.wk-footer__grid { display:grid; grid-template-columns:1fr; gap:32px; }
@media (min-width:640px) { .wk-footer__grid { grid-template-columns:2fr 1fr 1fr 1fr; gap:40px; } }
.wk-footer__brand-col { }
.wk-footer__brand-name { font-family:var(--font-display); font-size:24px; font-weight:500; color:var(--accent); margin-bottom:12px; }
.wk-footer__tagline { font-size:13px; color:var(--ink-soft); line-height:1.7; margin-bottom:16px; }
.wk-footer__social { display:flex; gap:12px; }
.wk-footer__social-link { width:36px; height:36px; display:flex; align-items:center; justify-content:center; border:.5px solid var(--line); color:var(--ink-soft); transition:all 0.2s; }
.wk-footer__social-link:hover { color:var(--accent); border-color:var(--accent); }
.wk-footer__col-title { font-size:12px; font-weight:600; text-transform:uppercase; letter-spacing:0.12em; color:var(--ink); margin-bottom:16px; }
.wk-footer__nav-list { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:10px; }
.wk-footer__nav-list li a { font-size:13px; color:var(--ink-soft); transition:color 0.15s; }
.wk-footer__nav-list li a:hover { color:var(--accent); }

/* Newsletter */
.wk-footer__newsletter { background:var(--surface); padding:32px 0; border-top:.5px solid var(--line); }
.wk-newsletter { display:flex; flex-direction:column; gap:16px; align-items:center; text-align:center; }
@media (min-width:640px) { .wk-newsletter { flex-direction:row; text-align:left; justify-content:space-between; } }
.wk-newsletter__text h3 { font-family:var(--font-display); font-size:22px; font-weight:400; margin-bottom:4px; }
.wk-newsletter__text p { font-size:13px; color:var(--ink-mute); }
.wk-newsletter__form { display:flex; gap:0; width:100%; max-width:400px; }
.wk-newsletter__input { flex:1; border:1px solid var(--line); padding:14px 16px; font-family:var(--font-body); font-size:14px; background:var(--bg); color:var(--ink); outline:none; }
.wk-newsletter__input:focus { border-color:var(--ink); }
.wk-newsletter__form .wk-btn { white-space:nowrap; }

/* Bottom bar */
.wk-footer__bottom { padding:20px 0; border-top:.5px solid var(--line); }
.wk-footer__bottom-inner { display:flex; flex-direction:column; gap:12px; align-items:center; text-align:center; }
@media (min-width:640px) { .wk-footer__bottom-inner { flex-direction:row; justify-content:space-between; } }
.wk-footer__copy { font-size:11px; color:var(--ink-mute); letter-spacing:0.04em; }
.wk-footer__payment-icons { display:flex; gap:8px; flex-wrap:wrap; }
.wk-pay-icon { font-size:10px; padding:4px 10px; border:.5px solid var(--line); color:var(--ink-mute); font-weight:500; letter-spacing:0.04em; }

/* ══════════════════════════════════════════════════════════════
   WHITEKURTI PRO — New Features CSS
   ══════════════════════════════════════════════════════════════ */

/* ── Extended Section Color Overrides ──────────────────────────────────── */
.wk-trust-strip {
  background: var(--trust-bg-custom, var(--surface));
}
.wk-trust-item__title {
  color: var(--trust-text-custom, var(--ink));
}
.wk-trust-item__desc {
  color: var(--trust-text-custom, var(--ink-mute));
  opacity: .75;
}
.wk-trust-item__icon {
  color: var(--trust-icon-custom, var(--accent));
}
.wk-footer {
  background: var(--footer-bg-custom, var(--ink));
  color: var(--footer-text-custom, var(--bg));
}
.wk-footer__brand-name,
.wk-footer__col-title {
  color: var(--footer-heading-custom, rgba(255,255,255,.45));
}
.wk-footer__tagline,
.wk-footer__nav-list a {
  color: var(--footer-link-custom, rgba(255,255,255,.65));
}
.wk-footer__newsletter {
  background: var(--newsletter-bg-custom, rgba(255,255,255,.05));
}
.wk-newsletter__text h3,
.wk-newsletter__text p,
.wk-newsletter__input,
.wk-newsletter__input::placeholder {
  color: var(--newsletter-text-custom, rgba(255,255,255,.8));
}
.wk-newsletter__input {
  border-color: var(--newsletter-text-custom, rgba(255,255,255,.3));
}
.wk-footer__bottom {
  background: var(--footer-bottom-bg-custom, transparent);
}
.wk-footer__copy {
  color: var(--footer-bottom-text-custom, rgba(255,255,255,.4));
}
.wk-pay-icon {
  background: var(--pay-icon-bg-custom, rgba(255,255,255,.12));
  color: var(--pay-icon-text-custom, rgba(255,255,255,.7));
  border: .5px solid var(--pay-icon-text-custom, rgba(255,255,255,.2));
  font-size: 9px;
  letter-spacing: .1em;
  text-transform: uppercase;
  padding: 4px 8px;
  border-radius: 3px;
}

/* ── Countdown Timer Bar ─────────────────────────────────────────────── */
.wk-timer-bar {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 10px 40px 10px 16px;
  position: relative;
  z-index: 300;
  font-weight: 500;
  letter-spacing: .04em;
  flex-wrap: wrap;
  min-height: 40px;
}
.wk-timer-bar__text {
  white-space: nowrap;
}
.wk-timer-bar__countdown {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-variant-numeric: tabular-nums;
}
.wk-tc-segment {
  display: inline-flex;
  align-items: baseline;
  gap: 1px;
  background: rgba(0,0,0,.2);
  padding: 3px 7px;
  border-radius: 4px;
  font-weight: 700;
  font-size: 1.1em;
}
.wk-tc-label {
  font-size: .65em;
  opacity: .75;
  font-weight: 500;
}
.wk-tc-sep {
  font-weight: 700;
  opacity: .7;
}
.wk-timer-bar__close {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  cursor: pointer;
  font-size: 18px;
  line-height: 1;
  opacity: .7;
  padding: 0 4px;
  transition: opacity .15s;
}
.wk-timer-bar__close:hover { opacity: 1; }
.wk-timer-bar.is-expired { display: none !important; }

/* ── WhatsApp Floating Button ─────────────────────────────────────────── */
.wk-wa-btn {
  position: fixed;
  bottom: 24px;
  right: 22px;
  z-index: 9999;
  display: block;
  width: 58px;
  height: 58px;
  border-radius: 50%;
  box-shadow: 0 4px 20px rgba(37,211,102,.35), 0 2px 8px rgba(0,0,0,.15);
  transition: transform .25s cubic-bezier(.34,1.56,.64,1), box-shadow .25s;
  animation: wk-wa-bounce 2s ease-in-out 2s infinite;
}
.wk-wa-btn:hover {
  transform: scale(1.1);
  box-shadow: 0 6px 28px rgba(37,211,102,.5), 0 3px 12px rgba(0,0,0,.18);
  animation: none;
}
.wk-wa-icon {
  width: 58px;
  height: 58px;
  object-fit: contain;
  border-radius: 50%;
}
@keyframes wk-wa-bounce {
  0%,100% { transform: translateY(0); }
  50% { transform: translateY(-5px); }
}

/* ── Social Proof Popup ───────────────────────────────────────────────── */
.wk-sp-popup {
  position: fixed;
  bottom: 24px;
  left: 20px;
  z-index: 9998;
  max-width: 300px;
  background: #fff;
  border-radius: 10px;
  box-shadow: 0 4px 24px rgba(0,0,0,.14), 0 1px 6px rgba(0,0,0,.08);
  overflow: hidden;
  transform: translateY(120%);
  transition: transform .4s cubic-bezier(.34,1.56,.64,1), opacity .3s;
  opacity: 0;
  pointer-events: none;
}
.wk-sp-popup.is-visible {
  transform: translateY(0);
  opacity: 1;
  pointer-events: auto;
}
.wk-sp-popup__inner {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 36px 12px 12px;
  position: relative;
}
.wk-sp-popup__img-wrap {
  flex-shrink: 0;
  width: 52px;
  height: 52px;
  border-radius: 6px;
  overflow: hidden;
  background: var(--surface-2, #f4f4f4);
}
.wk-sp-popup__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.wk-sp-popup__content {
  flex: 1;
  min-width: 0;
}
.wk-sp-popup__name {
  font-weight: 700;
  font-size: 12.5px;
  margin: 0 0 2px;
  color: #111;
  line-height: 1.2;
}
.wk-sp-popup__action {
  font-size: 12px;
  color: #444;
  margin: 0 0 2px;
  line-height: 1.3;
}
.wk-sp-popup__time {
  font-size: 10.5px;
  color: #999;
  margin: 0;
}
.wk-sp-popup__close {
  position: absolute;
  top: 8px;
  right: 8px;
  background: none;
  border: none;
  cursor: pointer;
  font-size: 16px;
  line-height: 1;
  color: #aaa;
  padding: 0;
}
.wk-sp-popup__close:hover { color: #333; }

/* ── Reviews Section ──────────────────────────────────────────────────── */
.wk-reviews-section {
  padding: 48px 0 32px;
  max-width: 860px;
}
.wk-reviews-header { margin-bottom: 28px; }
.wk-reviews-title {
  font-family: var(--font-display);
  font-size: clamp(22px,4vw,30px);
  font-weight: 500;
  margin-bottom: 16px;
  color: var(--ink);
}
.wk-reviews-summary {
  display: flex;
  gap: 32px;
  align-items: flex-start;
  background: var(--surface);
  border: .5px solid var(--line);
  padding: 24px;
  margin-bottom: 20px;
  flex-wrap: wrap;
}
.wk-reviews-score {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  min-width: 80px;
}
.wk-reviews-score__number {
  font-family: var(--font-display);
  font-size: 52px;
  font-weight: 400;
  line-height: 1;
  color: var(--ink);
}
.wk-reviews-score__count {
  font-size: 11px;
  color: var(--ink-mute);
  text-align: center;
}
.wk-reviews-bars {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 7px;
  min-width: 200px;
}
.wk-revbar-row {
  display: flex;
  align-items: center;
  gap: 8px;
}
.wk-revbar-label {
  font-size: 11px;
  color: var(--ink-mute);
  width: 24px;
  text-align: right;
  flex-shrink: 0;
}
.wk-revbar-track {
  flex: 1;
  height: 6px;
  background: var(--line);
  border-radius: 3px;
  overflow: hidden;
}
.wk-revbar-fill {
  height: 100%;
  background: var(--accent);
  border-radius: 3px;
  transition: width .5s ease;
}
.wk-revbar-count {
  font-size: 11px;
  color: var(--ink-mute);
  width: 70px;
  text-align: left;
  flex-shrink: 0;
}
.wk-reviews-cats {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 28px;
}
.wk-revcat {
  display: flex;
  align-items: center;
  gap: 6px;
  border: .5px solid var(--line);
  padding: 8px 14px;
  border-radius: 4px;
  font-size: 12px;
}
.wk-revcat--good {
  border-color: #27ae60;
}
.wk-revcat__score {
  font-weight: 700;
  color: #27ae60;
  font-size: 13px;
}
.wk-revcat:not(.wk-revcat--good) .wk-revcat__score {
  color: var(--ink-soft);
}
.wk-revcat__label {
  color: var(--ink-soft);
}
.wk-reviews-list {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.wk-review-card {
  padding: 24px 0;
  border-bottom: .5px solid var(--line);
}
.wk-review-card:first-child { border-top: .5px solid var(--line); }
.wk-review-card__top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 10px;
  gap: 12px;
}
.wk-review-card__author {
  display: flex;
  align-items: center;
  gap: 10px;
}
.wk-review-avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
}
.wk-review-avatar--initials {
  background: var(--accent);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 14px;
  font-family: var(--font-body);
}
.wk-review-author-info {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.wk-review-author-info strong {
  font-size: 14px;
  font-weight: 600;
  color: var(--ink);
}
.wk-review-city,
.wk-review-date {
  font-size: 11px;
  color: var(--ink-mute);
}
.wk-review-card__rating {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
}
.wk-review-rating-num {
  font-weight: 700;
  font-size: 15px;
  color: var(--ink);
}
.wk-rev-stars {
  display: flex;
  gap: 2px;
}
.wk-review-card__text {
  font-size: 13.5px;
  line-height: 1.65;
  color: var(--ink-soft);
  margin: 0 0 12px;
}
.wk-review-photos {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.wk-review-photo {
  width: 72px;
  height: 72px;
  object-fit: cover;
  border-radius: 4px;
  border: .5px solid var(--line);
  cursor: pointer;
  transition: opacity .15s;
}
.wk-review-photo:hover { opacity: .85; }
.wk-reviews-load-more {
  display: flex;
  align-items: center;
  gap: 6px;
  background: none;
  border: none;
  color: var(--accent);
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
  cursor: pointer;
  margin-top: 20px;
  padding: 8px 0;
  border-bottom: .5px solid var(--accent);
  transition: opacity .15s;
}
.wk-reviews-load-more:hover { opacity: .75; }
.wk-reviews-empty {
  font-size: 14px;
  color: var(--ink-mute);
  font-style: italic;
  padding: 24px 0;
}

/* ── Responsive ─────────────────────────────────────────────────────────── */
@media (max-width: 600px) {
  .wk-reviews-summary { flex-direction: column; gap: 20px; }
  .wk-reviews-score { flex-direction: row; min-width: unset; }
  .wk-revbar-count { display: none; }
  .wk-sp-popup { max-width: 260px; }
  .wk-timer-bar { font-size: 11px !important; gap: 8px; }
}

/* ══════════════════════════════════════════════════════════════
   WHITEKURTI v2 — Auth, Reviews, Features, Trust, Colors
   ══════════════════════════════════════════════════════════════ */

/* ── Auth Page (Login / Register) ────────────────────────────── */
.wk-auth-page {
  min-height: 60vh;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: 48px var(--pad-x);
}
.wk-auth-card {
  width: 100%;
  max-width: 460px;
  background: var(--surface);
  border: .5px solid var(--line);
  padding: 40px;
  box-shadow: 0 4px 40px rgba(0,0,0,.06);
}
.wk-auth-tabs {
  display: flex;
  border-bottom: .5px solid var(--line);
  margin-bottom: 32px;
}
.wk-auth-tab {
  flex: 1;
  background: none;
  border: none;
  cursor: pointer;
  font-family: var(--font-body);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--ink-mute);
  padding: 14px 0;
  border-bottom: 2px solid transparent;
  transition: color .2s, border-color .2s;
  margin-bottom: -1px;
}
.wk-auth-tab.is-active {
  color: var(--ink);
  border-bottom-color: var(--accent);
}
.wk-auth-pane {
  display: none;
}
.wk-auth-pane.is-active {
  display: block;
}
.wk-auth-title {
  font-family: var(--font-display);
  font-size: clamp(22px,5vw,30px);
  font-weight: 400;
  letter-spacing: .08em;
  text-transform: uppercase;
  text-align: center;
  margin: 0 0 28px;
  color: var(--ink);
}

/* ── Field ────────────────────────────────────────────────────── */
.wk-field {
  margin-bottom: 20px;
}
.wk-field__label {
  display: block;
  font-size: 10.5px;
  font-weight: 600;
  letter-spacing: .15em;
  text-transform: uppercase;
  color: var(--ink-mute);
  margin-bottom: 8px;
}
.wk-field__label .required {
  color: var(--sale);
  margin-left: 2px;
}
.wk-field__input {
  width: 100%;
  border: none;
  border-bottom: 1.5px solid var(--line);
  background: transparent;
  color: var(--ink);
  font-family: var(--font-body);
  font-size: 15px;
  padding: 10px 0;
  outline: none;
  transition: border-color .2s;
  box-sizing: border-box;
}
.wk-field__input:focus {
  border-bottom-color: var(--accent);
}
.wk-field__input::placeholder {
  color: var(--ink-mute);
  opacity: .6;
}

/* ── Password field with eye toggle ─────────────────────────── */
.wk-field__password-wrap {
  position: relative;
}
.wk-field__password-wrap .wk-field__input {
  padding-right: 40px;
}
.wk-pw-toggle {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  cursor: pointer;
  color: var(--ink-mute);
  padding: 6px;
  display: flex;
  align-items: center;
  transition: color .15s;
}
.wk-pw-toggle:hover {
  color: var(--ink);
}

/* ── Auth meta row ───────────────────────────────────────────── */
.wk-auth-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 16px 0 24px;
  gap: 12px;
  flex-wrap: wrap;
}
.wk-auth-remember {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: var(--ink-soft);
  cursor: pointer;
}
.wk-auth-remember input[type="checkbox"] {
  accent-color: var(--accent);
  width: 14px;
  height: 14px;
  cursor: pointer;
}
.wk-auth-forgot {
  font-size: 12px;
  color: var(--accent);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.wk-auth-note {
  font-size: 12px;
  color: var(--ink-mute);
  background: var(--surface-2);
  padding: 10px 14px;
  border-left: 3px solid var(--accent);
  margin-bottom: 16px;
}
.wk-auth-privacy {
  font-size: 11.5px;
  color: var(--ink-mute);
  line-height: 1.6;
  margin-bottom: 16px;
}
.wk-auth-privacy a {
  color: var(--accent);
  text-decoration: underline;
}

/* WooCommerce error notices on auth page */
.wk-auth-page .woocommerce-error,
.wk-auth-page .woocommerce-message,
.wk-auth-page .woocommerce-notices-wrapper {
  max-width: 460px;
  margin: 0 auto 20px;
  width: 100%;
}
.woocommerce-error {
  background: var(--sale-bg);
  border-left: 3px solid var(--sale);
  padding: 12px 16px;
  font-size: 13px;
  color: var(--ink-soft);
  list-style: none;
  margin: 0 0 16px;
}

/* ── Trust Strip V2 ──────────────────────────────────────────── */
.wk-trust-strip {
  background: var(--trust-bg-custom, var(--surface));
  border-top: .5px solid var(--line);
  border-bottom: .5px solid var(--line);
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0;
}
@media (min-width: 640px) {
  .wk-trust-strip { grid-template-columns: repeat(4, 1fr); }
}
.wk-trust-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 8px;
  padding: 20px 16px;
  border-right: .5px solid var(--line);
}
.wk-trust-item:last-child { border-right: none; }
.wk-trust-item__icon {
  width: 28px;
  height: 28px;
  color: var(--trust-icon-custom, var(--accent));
}
.wk-trust-item__title {
  font-size: 11.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--trust-text-custom, var(--ink));
}
.wk-trust-item__desc {
  font-size: 11px;
  color: var(--trust-text-custom, var(--ink-mute));
  opacity: .8;
}

/* ── Pay Icons ───────────────────────────────────────────────── */
.wk-pay-icon {
  background: var(--pay-icon-bg-custom, rgba(255,255,255,.1));
  color: var(--pay-icon-text-custom, var(--footer-mute));
  border: .5px solid var(--footer-line, rgba(255,255,255,.12));
  font-size: 9px;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-weight: 600;
  padding: 4px 9px;
  border-radius: 3px;
  white-space: nowrap;
}

/* ── Reviews Section V2 ──────────────────────────────────────── */
.wk-reviews-section {
  padding: 52px 0 40px;
  max-width: 860px;
  border-top: .5px solid var(--line);
  margin-top: 48px;
}
.wk-reviews-header { margin-bottom: 28px; }
.wk-reviews-title {
  font-family: var(--font-display);
  font-size: clamp(24px,4vw,32px);
  font-weight: 400;
  color: var(--ink);
  margin-bottom: 16px;
  letter-spacing: .03em;
}
/* Summary box */
.wk-reviews-summary {
  display: flex;
  gap: 40px;
  align-items: flex-start;
  flex-wrap: wrap;
  background: var(--surface);
  border: .5px solid var(--line);
  padding: 28px 32px;
  margin-bottom: 20px;
  box-shadow: 0 1px 12px rgba(0,0,0,.04);
}
.wk-reviews-score {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  min-width: 90px;
}
.wk-reviews-score__number {
  font-family: var(--font-display);
  font-size: 60px;
  font-weight: 300;
  line-height: 1;
  color: var(--ink);
  letter-spacing: -.02em;
}
.wk-reviews-score__count {
  font-size: 11px;
  color: var(--ink-mute);
  text-align: center;
  letter-spacing: .04em;
}
.wk-reviews-bars {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 200px;
}
.wk-revbar-row {
  display: flex;
  align-items: center;
  gap: 10px;
}
.wk-revbar-label {
  font-size: 12px;
  font-weight: 500;
  color: var(--ink-soft);
  width: 28px;
  text-align: right;
  flex-shrink: 0;
}
.wk-revbar-track {
  flex: 1;
  height: 7px;
  background: var(--line);
  border-radius: 4px;
  overflow: hidden;
}
.wk-revbar-fill {
  height: 100%;
  background: var(--accent);
  border-radius: 4px;
  transition: width .6s ease;
}
.wk-revbar-count {
  font-size: 11px;
  color: var(--ink-mute);
  width: 72px;
  flex-shrink: 0;
}
/* Category score badges */
.wk-reviews-cats {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 32px;
}
.wk-revcat {
  display: flex;
  align-items: center;
  gap: 7px;
  border: 1px solid var(--line);
  padding: 8px 16px;
  border-radius: 4px;
  font-size: 12.5px;
  font-weight: 500;
  background: var(--surface);
}
.wk-revcat--good { border-color: #27ae60; }
.wk-revcat__score {
  font-weight: 700;
  font-size: 14px;
  color: #27ae60;
}
.wk-revcat:not(.wk-revcat--good) .wk-revcat__score {
  color: var(--ink-soft);
}
.wk-revcat__label { color: var(--ink-soft); }
/* Review cards */
.wk-reviews-list {
  display: flex;
  flex-direction: column;
}
.wk-review-card {
  padding: 24px 0;
  border-bottom: .5px solid var(--line);
}
.wk-review-card:first-child { border-top: .5px solid var(--line); }
.wk-review-card__top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 12px;
  gap: 12px;
}
.wk-review-card__author {
  display: flex;
  align-items: center;
  gap: 12px;
}
.wk-review-avatar {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
}
.wk-review-avatar--initials {
  background: var(--accent);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 15px;
  letter-spacing: .04em;
}
.wk-review-author-info {
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.wk-review-author-info strong {
  font-size: 14.5px;
  font-weight: 600;
  color: var(--ink);
}
.wk-review-city { font-size: 11.5px; color: var(--ink-mute); }
.wk-review-date { font-size: 11px; color: var(--ink-mute); opacity: .7; }
.wk-review-card__rating {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}
.wk-review-rating-num {
  font-weight: 700;
  font-size: 16px;
  color: var(--ink);
}
.wk-rev-stars { display: flex; gap: 2px; }
.wk-review-card__text {
  font-size: 14px;
  line-height: 1.7;
  color: var(--ink-soft);
  margin: 0 0 14px;
}
.wk-review-photos {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.wk-review-photo {
  width: 76px;
  height: 76px;
  object-fit: cover;
  border-radius: 3px;
  border: .5px solid var(--line);
  cursor: pointer;
  transition: opacity .15s, transform .15s;
}
.wk-review-photo:hover { opacity: .88; transform: scale(1.02); }
.wk-reviews-load-more {
  display: flex;
  align-items: center;
  gap: 8px;
  background: none;
  border: .5px solid var(--accent);
  color: var(--accent);
  font-family: var(--font-body);
  font-size: 11.5px;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
  cursor: pointer;
  margin-top: 24px;
  padding: 12px 24px;
  transition: background .2s, color .2s;
}
.wk-reviews-load-more:hover {
  background: var(--accent);
  color: #fff;
}
.wk-reviews-empty {
  padding: 32px 0;
  font-size: 14px;
  color: var(--ink-mute);
  font-style: italic;
  text-align: center;
  border-top: .5px solid var(--line);
  border-bottom: .5px solid var(--line);
  margin: 8px 0 24px;
}

/* ── Timer Bar V2 ────────────────────────────────────────────── */
.wk-timer-bar {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  padding: 10px 48px 10px 16px;
  position: relative;
  z-index: 500;
  font-weight: 500;
  letter-spacing: .04em;
  flex-wrap: wrap;
  min-height: 42px;
}
.wk-timer-bar__text { white-space: nowrap; }
.wk-timer-bar__countdown {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-variant-numeric: tabular-nums;
}
.wk-tc-segment {
  display: inline-flex;
  align-items: baseline;
  gap: 1px;
  background: rgba(0,0,0,.18);
  padding: 3px 8px;
  border-radius: 4px;
  font-weight: 700;
  font-size: 1.1em;
  letter-spacing: .04em;
}
.wk-tc-label { font-size: .62em; opacity: .75; font-weight: 500; }
.wk-tc-sep { font-weight: 700; opacity: .6; font-size: .9em; }
.wk-timer-bar__close {
  position: absolute;
  right: 14px;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  cursor: pointer;
  font-size: 20px;
  line-height: 1;
  opacity: .65;
  padding: 0 4px;
  transition: opacity .15s;
}
.wk-timer-bar__close:hover { opacity: 1; }
.wk-timer-bar.is-expired { display: none !important; }

/* ── WhatsApp Button V2 ──────────────────────────────────────── */
.wk-wa-btn {
  position: fixed;
  bottom: 26px;
  right: 24px;
  z-index: 9999;
  display: block;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  box-shadow: 0 4px 20px rgba(37,211,102,.3), 0 2px 8px rgba(0,0,0,.15);
  transition: transform .25s cubic-bezier(.34,1.56,.64,1), box-shadow .25s;
  animation: wk-wa-pulse 2.5s ease-in-out 3s infinite;
}
.wk-wa-btn:hover {
  transform: scale(1.1) rotate(-5deg);
  box-shadow: 0 8px 30px rgba(37,211,102,.45);
  animation: none;
}
.wk-wa-icon {
  width: 60px;
  height: 60px;
  object-fit: contain;
  border-radius: 50%;
  display: block;
}
@keyframes wk-wa-pulse {
  0%,100% { transform: scale(1); }
  50% { transform: scale(1.06); }
}

/* ── Social Proof Popup V2 ───────────────────────────────────── */
.wk-sp-popup {
  position: fixed;
  bottom: 28px;
  left: 22px;
  z-index: 9997;
  max-width: 310px;
  background: var(--surface, #fff);
  border-radius: 10px;
  box-shadow: 0 6px 30px rgba(0,0,0,.13), 0 1px 8px rgba(0,0,0,.07);
  overflow: hidden;
  transform: translateY(130%);
  opacity: 0;
  pointer-events: none;
  transition: transform .42s cubic-bezier(.34,1.56,.64,1), opacity .3s;
}
.wk-sp-popup.is-visible {
  transform: translateY(0);
  opacity: 1;
  pointer-events: auto;
  display: block !important;
}
.wk-sp-popup__inner {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 40px 14px 14px;
  position: relative;
}
.wk-sp-popup__img-wrap {
  flex-shrink: 0;
  width: 54px;
  height: 54px;
  border-radius: 6px;
  overflow: hidden;
  background: var(--surface-2, #f4f4f4);
}
.wk-sp-popup__img { width: 100%; height: 100%; object-fit: cover; }
.wk-sp-popup__content { flex: 1; min-width: 0; }
.wk-sp-popup__name {
  font-weight: 700;
  font-size: 13px;
  margin: 0 0 3px;
  color: #111;
}
.wk-sp-popup__action {
  font-size: 12px;
  color: #444;
  margin: 0 0 3px;
  line-height: 1.35;
}
.wk-sp-popup__time { font-size: 10.5px; color: #999; margin: 0; }
.wk-sp-popup__dot {
  width: 7px;
  height: 7px;
  background: #25D366;
  border-radius: 50%;
  display: inline-block;
  margin-right: 4px;
}
.wk-sp-popup__close {
  position: absolute;
  top: 8px;
  right: 10px;
  background: none;
  border: none;
  cursor: pointer;
  font-size: 18px;
  line-height: 1;
  color: #bbb;
  padding: 0;
  transition: color .15s;
}
.wk-sp-popup__close:hover { color: #555; }

/* ── Form row compat ─────────────────────────────────────────── */
.wk-form-row { margin-bottom: 20px; }
.wk-form-row label {
  display: block;
  font-size: 10.5px;
  font-weight: 600;
  letter-spacing: .15em;
  text-transform: uppercase;
  color: var(--ink-mute);
  margin-bottom: 8px;
}

/* ── Responsive fixes ────────────────────────────────────────── */
@media (max-width: 640px) {
  .wk-auth-card { padding: 28px 20px; }
  .wk-reviews-summary { padding: 20px; gap: 20px; }
  .wk-reviews-score { flex-direction: row; align-items: center; min-width: unset; }
  .wk-revbar-count { display: none; }
  .wk-sp-popup { max-width: 270px; left: 12px; bottom: 20px; }
  .wk-wa-btn { bottom: 20px; right: 16px; width: 52px; height: 52px; }
  .wk-wa-icon { width: 52px; height: 52px; }
  .wk-timer-bar { font-size: 11px !important; gap: 8px; padding-right: 40px; }
}

/* ══════════════════════════════════════════════════════
   V3 FIXES & NEW FEATURES
   ══════════════════════════════════════════════════════ */

/* ── Logo size: fixed, no breakage ───────────────────── */
.custom-logo-link,
.custom-logo-link img,
.site-logo img {
  max-height: 56px !important;
  width: auto !important;
  max-width: 200px !important;
  object-fit: contain;
}
/* Prevent WordPress admin from distorting the logo */
.wp-block-site-logo img { max-height: 56px; width: auto; }

/* ── Buy Now button ──────────────────────────────────── */
.wk-pdp__atc-wrap { display: flex; flex-direction: column; gap: 10px; }
.wk-btn--buy-now {
  background: var(--accent) !important;
  color: #fff !important;
  border: none;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
.wk-btn--buy-now:hover { background: var(--accent-soft) !important; opacity: 1; }

/* ── Password Eye Toggle — FIXED POSITION ────────────── */
/* Force override for ALL password wrap contexts */
.wk-field__password-wrap {
  position: relative !important;
  display: block !important;
}
.wk-field__password-wrap .wk-field__input,
.wk-field__password-wrap input[type="password"],
.wk-field__password-wrap input[type="text"] {
  padding-right: 44px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
.wk-pw-toggle {
  position: absolute !important;
  right: 4px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  bottom: auto !important;
  background: none !important;
  border: none !important;
  cursor: pointer !important;
  color: var(--ink-mute) !important;
  padding: 6px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: color .15s !important;
  z-index: 2 !important;
  width: 36px !important;
  height: 36px !important;
}
.wk-pw-toggle:hover { color: var(--ink) !important; }
/* Hide WooCommerce's native show-password button */
.woocommerce-form .show-password-input,
.show-password-input { display: none !important; }
/* Account form specific */
.wk-account-form .wk-field__password-wrap { margin-bottom: 0; }
.wk-account-section {
  background: var(--surface);
  border: .5px solid var(--line);
  padding: 24px;
  margin-bottom: 20px;
}
.wk-account-section__title {
  font-family: var(--font-display);
  font-size: 18px;
  font-weight: 400;
  letter-spacing: .06em;
  text-transform: uppercase;
  margin: 0 0 20px;
  padding-bottom: 14px;
  border-bottom: .5px solid var(--line);
  color: var(--ink);
}
.wk-form-row-2col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-bottom: 0;
}
.wk-field-hint {
  font-size: 11.5px;
  color: var(--ink-mute);
  margin: 4px 0 0;
  font-style: italic;
}

/* ── Timer Bar: Padding Controls ─────────────────────── */
.wk-timer-bar {
  padding-top: var(--timer-pad-y, 10px) !important;
  padding-bottom: var(--timer-pad-y, 10px) !important;
}

/* ── WhatsApp Button tooltip ─────────────────────────── */
.wk-wa-btn { position: fixed; z-index: 9999; }
.wk-wa-btn .wk-wa-tooltip {
  position: absolute;
  right: calc(100% + 10px);
  top: 50%;
  transform: translateY(-50%);
  background: rgba(0,0,0,.8);
  color: #fff;
  font-size: 12px;
  white-space: nowrap;
  padding: 6px 10px;
  border-radius: 4px;
  opacity: 0;
  pointer-events: none;
  transition: opacity .2s;
  font-family: var(--font-body);
}
.wk-wa-btn .wk-wa-tooltip::after {
  content: '';
  position: absolute;
  left: 100%;
  top: 50%;
  transform: translateY(-50%);
  border: 5px solid transparent;
  border-left-color: rgba(0,0,0,.8);
}
.wk-wa-btn:hover .wk-wa-tooltip { opacity: 1; }
.wk-wa-pulse { animation: wk-wa-pulse 2.5s ease-in-out 3s infinite; }
@keyframes wk-wa-pulse {
  0%,100% { transform: scale(1); }
  50%      { transform: scale(1.08); }
}
.wk-wa-desktop-only { display: none; }
@media (min-width: 768px) { .wk-wa-desktop-only { display: block; } }

/* ── Reviews: empty state 5 stars ───────────────────── */
.wk-reviews-empty {
  padding: 40px 20px;
  text-align: center;
  border-top: .5px solid var(--line);
  border-bottom: .5px solid var(--line);
  margin: 8px 0 24px;
}
.wk-reviews-empty__stars {
  display: flex;
  justify-content: center;
  gap: 6px;
  margin-bottom: 14px;
}
.wk-reviews-empty p {
  font-size: 14px;
  color: var(--ink-mute);
  margin: 4px 0;
}

/* ── Review photos: max 4 + more overlay ────────────── */
.wk-review-photos {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 12px;
}
.wk-review-photo-wrap {
  position: relative;
  flex-shrink: 0;
}
.wk-review-photo-wrap.has-more::after {
  content: attr(data-more);
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.55);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 15px;
  font-weight: 700;
  border-radius: 3px;
  cursor: pointer;
}
.wk-review-photo {
  width: 76px;
  height: 76px;
  object-fit: cover;
  border-radius: 3px;
  border: .5px solid var(--line);
  cursor: pointer;
  display: block;
  transition: opacity .15s;
}
.wk-review-photo:hover { opacity: .88; }

/* ── Lightbox for review photos ─────────────────────── */
.wk-photo-lightbox {
  position: fixed;
  inset: 0;
  z-index: 99999;
  background: rgba(0,0,0,.92);
  display: flex;
  align-items: center;
  justify-content: center;
  animation: wk-lb-in .2s ease;
}
@keyframes wk-lb-in { from { opacity: 0; } to { opacity: 1; } }
.wk-photo-lightbox__img {
  max-width: 90vw;
  max-height: 85vh;
  object-fit: contain;
  border-radius: 4px;
}
.wk-photo-lightbox__close {
  position: absolute;
  top: 20px;
  right: 20px;
  background: none;
  border: none;
  color: #fff;
  font-size: 28px;
  cursor: pointer;
  line-height: 1;
  padding: 4px;
  opacity: .7;
  transition: opacity .15s;
}
.wk-photo-lightbox__close:hover { opacity: 1; }
.wk-photo-lightbox__nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(255,255,255,.15);
  border: none;
  color: #fff;
  font-size: 24px;
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  border-radius: 50%;
  transition: background .15s;
}
.wk-photo-lightbox__nav:hover { background: rgba(255,255,255,.3); }
.wk-photo-lightbox__nav--prev { left: 20px; }
.wk-photo-lightbox__nav--next { right: 20px; }

/* ── PDP: remove blank space above reviews ───────────── */
.wk-pdp__reviews {
  margin-top: 0;
  padding-top: 0;
}
.wk-pdp__reviews .wk-reviews-section {
  border-top: .5px solid var(--line);
  padding-top: 36px;
  margin-top: 36px;
}

/* ── Section colors: working overrides ───────────────── */
.wk-trust-strip {
  background: var(--trust-bg-custom, var(--surface)) !important;
}
.wk-trust-item__title {
  color: var(--trust-text-custom, var(--ink)) !important;
}
.wk-trust-item__desc, .wk-trust-item span {
  color: var(--trust-desc-custom, var(--ink-mute)) !important;
}
.wk-trust-item svg, .wk-trust-item__icon {
  color: var(--trust-icon-custom, var(--accent)) !important;
}
.wk-footer {
  background: var(--footer-bg-custom, var(--footer-bg)) !important;
  color: var(--footer-text-custom, var(--footer-text)) !important;
}
.wk-footer__brand-name {
  color: var(--footer-heading-custom, var(--footer-text)) !important;
}
.wk-footer__tagline {
  color: var(--footer-tagline-custom, var(--footer-mute)) !important;
}
.wk-footer__col-title {
  color: var(--footer-heading-custom, var(--footer-text)) !important;
  opacity: .5;
}
.wk-footer__nav-list a {
  color: var(--footer-link-custom, var(--footer-mute)) !important;
}
.wk-footer__nav-list a:hover {
  color: var(--footer-text-custom, var(--footer-text)) !important;
}
.wk-footer__newsletter {
  background: var(--newsletter-bg-custom, rgba(255,255,255,.04)) !important;
}
.wk-newsletter__text h3, .wk-newsletter__text p {
  color: var(--newsletter-text-custom, var(--footer-text)) !important;
}
.wk-newsletter__input, .wk-newsletter__input::placeholder {
  color: var(--newsletter-text-custom, var(--footer-mute)) !important;
}
.wk-footer__bottom {
  background: var(--footer-bottom-bg-custom, rgba(0,0,0,.2)) !important;
}
.wk-footer__copy {
  color: var(--footer-bottom-text-custom, var(--footer-mute)) !important;
}
.wk-pay-icon {
  background: var(--pay-icon-bg-custom, rgba(255,255,255,.08)) !important;
  color: var(--pay-icon-text-custom, var(--footer-mute)) !important;
  border: .5px solid var(--pay-icon-text-custom, rgba(255,255,255,.15)) !important;
  font-size: 9px; letter-spacing: .08em; text-transform: uppercase;
  font-weight: 600; padding: 4px 9px; border-radius: 3px; white-space: nowrap;
}

/* ── Navigation: fix all-active underline issue ──────── */
/* Only show active underline on truly active page */
.wk-desktop-nav__list > li > a::after {
  transform: scaleX(0);
  transition: transform .3s ease;
}
.wk-desktop-nav__list > li.current-menu-item > a::after,
.wk-desktop-nav__list > li:hover > a::after {
  transform: scaleX(1);
}
/* Remove any previously set active style on all items */
.wk-desktop-nav__list > li > a {
  border-bottom: none !important;
  text-decoration: none !important;
}

/* ── Announcement/Trust strip updates ───────────────── */
.wk-promo-strip {
  font-size: 11px;
  letter-spacing: .18em;
}

/* ── Timer bar padding variables ─────────────────────── */
.wk-timer-bar {
  padding-top: var(--wk-timer-pad-top, 10px);
  padding-bottom: var(--wk-timer-pad-bottom, 10px);
}

/* ══════════════════════════════════════════════════════
   V4 CRITICAL FIXES
   ══════════════════════════════════════════════════════ */

/* ── Editorial Strip: fixed readable colors ─────────── */
.wk-editorial-strip {
  background: var(--editorial-bg, #F0EBE3) !important;
  padding: 72px 20px;
  text-align: center;
}
.wk-editorial-strip__inner {
  max-width: 680px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 18px;
  align-items: center;
}
.wk-editorial-strip__title {
  font-family: var(--font-display);
  font-size: clamp(24px,5vw,42px);
  font-weight: 400;
  font-style: italic;
  line-height: 1.2;
  color: var(--editorial-text, var(--ink)) !important;
  letter-spacing: .01em;
}
.wk-editorial-strip__body {
  font-size: 15px;
  line-height: 1.75;
  color: var(--editorial-text, var(--ink-soft)) !important;
  opacity: .8;
  max-width: 560px;
}
.wk-editorial-strip .wk-link-underline {
  color: var(--editorial-text, var(--ink)) !important;
  border-bottom-color: var(--editorial-text, var(--ink)) !important;
  opacity: .7;
  font-size: 11px;
  letter-spacing: .2em;
  text-transform: uppercase;
}

/* ── Footer social icons: proper sizing ─────────────── */
.wk-footer__social {
  display: flex;
  gap: 14px;
  align-items: center;
  flex-wrap: wrap;
  margin-top: 4px;
}
.wk-footer__social-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: rgba(255,255,255,.1);
  color: var(--footer-text-custom, var(--footer-text));
  transition: background .2s, transform .15s;
  flex-shrink: 0;
}
.wk-footer__social-link:hover {
  background: var(--accent);
  transform: translateY(-2px);
}
.wk-footer__social-link--wa:hover {
  background: #25D366;
}
.wk-footer__social-link svg {
  display: block;
}

/* ── Trust strip 4th item kurti icon ────────────────── */
.wk-trust-item:last-child .wk-trust-item__icon svg path {
  /* kurti icon paths are already defined in PHP */
}

/* ── Buy now button improved ────────────────────────── */
.wk-pdp__atc-wrap {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 0;
}
/* WC quantity + button row styling */
.wk-pdp__atc-wrap .woocommerce-variation-add-to-cart,
.wk-pdp__atc-wrap form.cart {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin: 0;
}
.wk-pdp__atc-wrap form.cart .qty {
  width: 60px;
  border: .5px solid var(--line);
  padding: 10px;
  text-align: center;
  background: var(--surface);
  color: var(--ink);
  font-family: var(--font-body);
  font-size: 15px;
}
.wk-pdp__atc-wrap form.cart .single_add_to_cart_button {
  background: var(--ink);
  color: var(--bg);
  border: none;
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .18em;
  text-transform: uppercase;
  padding: 16px 28px;
  cursor: pointer;
  transition: opacity .2s;
  flex: 1;
}
.wk-pdp__atc-wrap form.cart .single_add_to_cart_button:hover {
  opacity: .85;
}
.wk-btn--buy-now {
  background: var(--accent) !important;
  color: #fff !important;
  border: none;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 16px 24px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .18em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background .2s;
  text-decoration: none;
  font-family: var(--font-body);
}
.wk-btn--buy-now:hover { background: var(--accent-soft) !important; opacity: 1 !important; }

/* ── Newsletter: better visual ───────────────────────── */
.wk-newsletter__form .wk-btn {
  background: var(--accent) !important;
  color: #fff !important;
  border: none;
  padding: 13px 24px;
  flex-shrink: 0;
  white-space: nowrap;
}
.wk-newsletter__form .wk-btn:hover {
  background: var(--accent-soft) !important;
  opacity: 1 !important;
}

/* ── Footer social empty state ───────────────────────── */
.wk-footer__social:empty {
  display: none;
}

/* ── Ensure announcement strip uses accent correctly ── */
.wk-promo-strip {
  background: var(--ink) !important;
  color: var(--bg) !important;
}
.wk-brand-black .wk-promo-strip {
  background: var(--surface-2) !important;
  color: var(--ink) !important;
}

/* ── Section colors: all v4 custom overrides ─────────── */
.wk-trust-strip {
  background: var(--trust-bg-custom, var(--surface)) !important;
  border-color: var(--line) !important;
}
.wk-trust-item__title {
  color: var(--trust-text-custom, var(--ink)) !important;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.wk-trust-item__desc {
  color: var(--trust-desc-custom, var(--ink-mute)) !important;
  font-size: 11px;
}
.wk-trust-item__icon, .wk-trust-item__icon svg {
  color: var(--trust-icon-custom, var(--accent)) !important;
  width: 28px;
  height: 28px;
}
.wk-footer__main {
  background: var(--footer-bg-custom, var(--footer-bg)) !important;
}
.wk-footer, .wk-footer__main, .wk-footer__newsletter, .wk-footer__bottom {
  background-color: var(--footer-bg-custom, var(--footer-bg));
  color: var(--footer-text-custom, var(--footer-text));
}
.wk-footer__brand-name {
  color: var(--footer-heading-custom, var(--footer-text)) !important;
}
.wk-footer__tagline {
  color: var(--footer-tagline-custom, var(--footer-mute)) !important;
}
.wk-footer__col-title {
  color: var(--footer-heading-custom, var(--footer-text)) !important;
  opacity: .5;
}
.wk-footer__nav-list li a {
  color: var(--footer-link-custom, var(--footer-mute)) !important;
}
.wk-footer__nav-list li a:hover {
  color: var(--footer-text-custom, var(--footer-text)) !important;
  opacity: 1;
}
.wk-footer__newsletter {
  background: rgba(255,255,255,.04) !important;
  border-top: .5px solid var(--footer-line) !important;
  border-bottom: .5px solid var(--footer-line) !important;
}
.wk-newsletter__text h3 {
  color: var(--newsletter-text-custom, var(--footer-text)) !important;
}
.wk-newsletter__text p {
  color: var(--newsletter-text-custom, var(--footer-mute)) !important;
}
.wk-newsletter__input {
  background: transparent !important;
  border: .5px solid var(--footer-line) !important;
  color: var(--newsletter-text-custom, var(--footer-text)) !important;
}
.wk-newsletter__input::placeholder {
  color: var(--newsletter-text-custom, var(--footer-mute)) !important;
  opacity: .6;
}
.wk-footer__bottom {
  background: rgba(0,0,0,.2) !important;
  border-top: .5px solid var(--footer-line) !important;
}
.wk-footer__copy {
  color: var(--footer-bottom-text-custom, var(--footer-mute)) !important;
}
.wk-pay-icon {
  background: rgba(255,255,255,.08) !important;
  color: var(--footer-mute) !important;
  border: .5px solid rgba(255,255,255,.15) !important;
}

/* ══════════════════════════════════════════════════════
   STICKY BOTTOM NAV BAR
   ══════════════════════════════════════════════════════ */
.wk-bottom-nav {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 9990;
  display: flex;
  align-items: stretch;
  justify-content: space-around;
  background: var(--bn-bg, #fff);
  border-top: 1.5px solid var(--bn-border, #e8e8e8);
  padding: 6px 0 max(8px, env(safe-area-inset-bottom));
  box-shadow: 0 -4px 20px rgba(0,0,0,.08);
  transition: transform .3s cubic-bezier(.4,0,.2,1);
}
/* Mobile only */
/* Mobile-only: hide on all screens first, show only on mobile */
.wk-bottom-nav.wk-bn-mobile-only {
  display: none !important;
}
@media (max-width: 767px) {
  .wk-bottom-nav.wk-bn-mobile-only {
    display: flex !important;
  }
}
/* Always show (not mobile-only) - show on all screens */
.wk-bottom-nav:not(.wk-bn-mobile-only) {
  display: flex;
}
/* Push main content up so bottom nav doesn't cover it */
@media (max-width: 767px) {
  body.wk-has-bottom-nav {
    padding-bottom: calc(64px + env(safe-area-inset-bottom));
  }
}
.wk-bottom-nav.wk-bn-hidden {
  transform: translateY(100%);
}
.wk-bn-item {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 3px;
  padding: 4px 6px 2px;
  color: var(--bn-text, #888);
  text-decoration: none;
  position: relative;
  transition: color .2s;
  min-width: 0;
}
.wk-bn-item:hover,
.wk-bn-item.is-active {
  color: var(--bn-active, #6B1E3E) !important;
}
.wk-bn-item.is-active .wk-bn-item__icon-wrap::after {
  content: none;
  display: none;
}
.wk-bn-item__icon-wrap {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
.wk-bn-item__label {
  font-family: var(--font-body);
  font-size: var(--bn-font-size, 10px);
  font-weight: 500;
  letter-spacing: .02em;
  white-space: nowrap;
  line-height: 1;
}
/* Tap animation */
.wk-bn-item:active {
  transform: scale(.92);
  transition: transform .1s;
}

/* Badge styles */
.wk-bn-badge {
  position: absolute;
  top: -5px;
  right: -6px;
  border-radius: 10px;
  font-size: 9px;
  font-weight: 800;
  line-height: 1;
  padding: 2px 4px;
  white-space: nowrap;
  letter-spacing: .03em;
}
.wk-bn-badge--count {
  background: var(--bn-active, #6B1E3E);
  color: #fff;
  min-width: 16px;
  text-align: center;
}
.wk-bn-badge--sale {
  background: #B91C1C;
  color: #fff;
  padding: 2px 5px;
}
.wk-bn-badge--new {
  background: #166534;
  color: #fff;
  padding: 2px 5px;
}
.wk-bn-badge--hot {
  background: #C2410C;
  color: #fff;
  padding: 2px 5px;
}

/* Icon tap ripple */
.wk-bn-item::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 8px;
  background: var(--bn-active, #6B1E3E);
  opacity: 0;
  transform: scale(.5);
  transition: opacity .3s, transform .3s;
  pointer-events: none;
}
.wk-bn-item:active::after {
  opacity: .08;
  transform: scale(1);
}

/* ══════════════════════════════════════════════════════
   SOCIAL MEDIA ICONS — Footer
   ══════════════════════════════════════════════════════ */
.wk-social-icons {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  margin-top: 18px;
}
.wk-social-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: rgba(255,255,255,.1);
  color: var(--footer-text, #ede5da);
  border: 1px solid rgba(255,255,255,.12);
  transition: background .22s ease, transform .22s cubic-bezier(.34,1.56,.64,1), border-color .22s;
  text-decoration: none;
  flex-shrink: 0;
  cursor: pointer;
}
.wk-social-icon svg {
  display: block;
  width: 18px;
  height: 18px;
  flex-shrink: 0;
}
.wk-social-icon:hover {
  border-color: transparent;
  transform: translateY(-3px) scale(1.08);
  /* brand color set via JS data-hover attribute */
}
/* WhatsApp always shows its brand green on hover */
.wk-social-icon.wk-social-wa:hover {
  background: #25D366 !important;
}
/* Light theme footer: adjust base color */
.wk-brand-white .wk-social-icon,
body:not(.wk-brand-black) .wk-social-icon {
  background: rgba(0,0,0,.07);
  color: var(--ink-soft, #3e3028);
  border: 1px solid rgba(0,0,0,.1);
}
body:not(.wk-brand-black) .wk-social-icon:hover {
  color: #fff;
}

/* ══════════════════════════════════════════════════════
   PHASE 1 — SEO, Badges, Stock, Breadcrumbs
   ══════════════════════════════════════════════════════ */

/* ── Breadcrumbs ─────────────────────────────────────── */
.wk-breadcrumbs {
  padding: 12px 0;
  margin-bottom: 4px;
}
.wk-breadcrumbs__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px;
}
.wk-breadcrumbs__item {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 11.5px;
  color: var(--ink-mute);
}
.wk-breadcrumbs__link {
  color: var(--ink-mute);
  text-decoration: none;
  transition: color .15s;
}
.wk-breadcrumbs__link:hover { color: var(--ink); }
.wk-breadcrumbs__current {
  color: var(--ink-soft);
  font-weight: 500;
}
.wk-breadcrumbs__sep {
  color: var(--ink-mute);
  opacity: .5;
  font-size: 14px;
  line-height: 1;
}

/* ── Product Badges ──────────────────────────────────── */
.wk-badges {
  position: absolute;
  z-index: 10;
  display: flex;
  flex-direction: column;
  gap: 5px;
  pointer-events: none;
}
.wk-badges--top-left    { top: 10px; left: 10px; }
.wk-badges--top-right   { top: 10px; right: 10px; align-items: flex-end; }
.wk-badges--bottom-left { bottom: 10px; left: 10px; }
.wk-badge {
  display: inline-block;
  font-size: 9.5px;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
  padding: 3px 9px;
  line-height: 1.5;
  white-space: nowrap;
  pointer-events: none;
}
.wk-badges--pill .wk-badge   { border-radius: 20px; }
.wk-badges--rect .wk-badge   { border-radius: 2px; }
.wk-badges--tag .wk-badge    { border-radius: 2px 2px 2px 0; clip-path: polygon(0 0, 100% 0, 100% 70%, 90% 100%, 0 100%); padding: 3px 12px 3px 8px; }

/* Ensure product cards have position:relative */
.wk-product-card { position: relative; overflow: hidden; }
.wk-pdp__gallery-wrap { position: relative; }

/* ── Stock Counter ───────────────────────────────────── */
.wk-stock-counter {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 12.5px;
  font-weight: 500;
  margin: 10px 0 12px;
  flex-wrap: wrap;
}
.wk-stock-counter--low { flex-direction: column; align-items: flex-start; gap: 5px; }
.wk-stock-counter--low > span { display: flex; align-items: center; gap: 7px; }
.wk-stock-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
  animation: wk-pulse-dot 2s ease infinite;
}
.wk-stock-dot--ok  { background: #16a34a; }
.wk-stock-dot--low { background: #D97706; }
.wk-stock-dot--oos { background: #DC2626; animation: none; }
@keyframes wk-pulse-dot {
  0%,100% { box-shadow: 0 0 0 0 currentColor; opacity: 1; }
  50%      { box-shadow: 0 0 0 4px transparent; opacity: .8; }
}
.wk-stock-counter--ok  { color: #16a34a; }
.wk-stock-counter--low { color: #D97706; }
.wk-stock-counter--oos { color: #DC2626; }
.wk-stock-bar {
  width: 100%;
  max-width: 160px;
  height: 4px;
  background: rgba(217,119,6,.2);
  border-radius: 2px;
  overflow: hidden;
}
.wk-stock-bar__fill {
  height: 100%;
  background: #D97706;
  border-radius: 2px;
  transition: width .5s ease;
}

/* ══════════════════════════════════════════════════════
   PHASE 2 — Zoom, Size Guide, Quick View, CTL, RV
   ══════════════════════════════════════════════════════ */

/* ── Image Zoom ──────────────────────────────────────── */


/* ── Modal base (shared by Size Guide + Quick View) ── */
.wk-modal { position: fixed; inset: 0; z-index: 99990; display: flex; align-items: center; justify-content: center; }
.wk-modal[hidden] { display: none; }
.wk-modal__overlay { position: absolute; inset: 0; background: rgba(0,0,0,.6); backdrop-filter: blur(4px); }
.wk-modal__panel { position: relative; z-index: 1; background: var(--surface); max-height: 92vh; overflow-y: auto; animation: wk-modal-in .3s cubic-bezier(.22,1,.36,1); }
@keyframes wk-modal-in { from { opacity: 0; transform: translateY(20px) scale(.97); } to { opacity: 1; transform: translateY(0) scale(1); } }
.wk-modal__header { display: flex; align-items: center; justify-content: space-between; padding: 18px 24px; border-bottom: .5px solid var(--line); position: sticky; top: 0; background: var(--surface); z-index: 2; }
.wk-modal__title { font-family: var(--font-display); font-size: 18px; font-weight: 400; letter-spacing: .05em; text-transform: uppercase; margin: 0; display: flex; align-items: center; gap: 8px; color: var(--ink); }
.wk-modal__close { background: none; border: none; cursor: pointer; font-size: 24px; line-height: 1; color: var(--ink-mute); padding: 4px; transition: color .15s; }
.wk-modal__close:hover { color: var(--ink); }

/* ── Size Guide Modal ─────────────────────────────────── */
.wk-sg-panel { width: min(760px, 95vw); }
.wk-sg-tabs { display: flex; border-bottom: .5px solid var(--line); padding: 0 24px; gap: 4px; flex-wrap: wrap; }
.wk-sg-tab {
  background: none;
  border: none;
  cursor: pointer;
  font-family: var(--font-body);
  font-size: 11.5px;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--ink-mute);
  padding: 12px 16px;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
  transition: color .2s, border-color .2s;
  white-space: nowrap;
}
.wk-sg-tab.is-active { color: var(--ink); border-bottom-color: var(--accent); }
.wk-sg-chart-panel { display: none; padding: 20px 24px 24px; }
.wk-sg-chart-panel.is-active { display: block; }
.wk-sg-note {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  background: var(--accent-pale, #F5EAF0);
  border-left: 3px solid var(--accent);
  padding: 10px 14px;
  font-size: 13px;
  color: var(--ink-soft);
  margin-bottom: 16px;
  line-height: 1.5;
}
.wk-sg-table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.wk-sg-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
  white-space: nowrap;
}
.wk-sg-table th {
  background: var(--ink);
  color: var(--bg);
  font-weight: 600;
  font-size: 10.5px;
  letter-spacing: .08em;
  text-transform: uppercase;
  padding: 10px 16px;
  text-align: left;
}
.wk-sg-table td {
  padding: 9px 16px;
  border-bottom: .5px solid var(--line);
  color: var(--ink-soft);
}
.wk-sg-table tr:nth-child(even) td { background: var(--surface-2); }
.wk-sg-table tr:hover td { background: var(--accent-pale); }
.wk-sg-howto { margin-top: 20px; padding-top: 16px; border-top: .5px solid var(--line); }
.wk-sg-howto h4 { font-size: 11.5px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--ink-mute); margin: 0 0 12px; }
.wk-sg-howto-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.wk-sg-howto-grid > div { font-size: 12.5px; color: var(--ink-soft); line-height: 1.55; }
.wk-sg-howto-grid strong { display: block; color: var(--ink); margin-bottom: 3px; }
.wk-size-guide-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: none;
  border: none;
  cursor: pointer;
  font-family: var(--font-body);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--accent);
  padding: 8px 0 10px;
  text-decoration: underline;
  text-underline-offset: 4px;
  transition: opacity .15s;
}
.wk-size-guide-btn:hover { opacity: .7; }

/* ── Quick View ─────────────────────────────────────── */
.wk-qv-panel { width: min(900px, 95vw); padding: 0; border-radius: 0; }
.wk-qv-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 0; }
@media (max-width: 640px) { .wk-qv-layout { grid-template-columns: 1fr; } }
.wk-qv-gallery { background: var(--surface-2); min-height: 300px; position: relative; }
.wk-qv-main-img { width: 100%; height: 100%; object-fit: cover; display: block; }
.wk-qv-thumbs { display: flex; gap: 6px; padding: 10px; overflow-x: auto; }
.wk-qv-thumb {
  width: 56px;
  height: 56px;
  object-fit: cover;
  cursor: pointer;
  border: 1.5px solid transparent;
  flex-shrink: 0;
  transition: border-color .15s;
}
.wk-qv-thumb.is-active, .wk-qv-thumb:hover { border-color: var(--accent); }
.wk-qv-info { padding: 28px 24px; overflow-y: auto; max-height: 80vh; }
.wk-qv-info .wk-qv-cat { font-size: 10px; letter-spacing: .2em; text-transform: uppercase; color: var(--ink-mute); margin-bottom: 8px; }
.wk-qv-info .wk-qv-name { font-family: var(--font-display); font-size: clamp(18px,3vw,24px); font-weight: 400; line-height: 1.25; margin: 0 0 10px; color: var(--ink); }
.wk-qv-info .wk-qv-price { font-size: 18px; font-weight: 600; color: var(--ink); margin-bottom: 12px; }
.wk-qv-info .wk-qv-short-desc { font-size: 13.5px; line-height: 1.65; color: var(--ink-soft); margin-bottom: 18px; }
.wk-qv-view-full { display: inline-flex; align-items: center; gap: 6px; font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--accent); text-decoration: underline; text-underline-offset: 4px; margin-top: 14px; }
.wk-qv-loading { display: flex; align-items: center; justify-content: center; height: 300px; }
.wk-spinner {
  width: 32px; height: 32px;
  border: 3px solid var(--line);
  border-top-color: var(--accent);
  border-radius: 50%;
  animation: wk-spin .8s linear infinite;
}
@keyframes wk-spin { to { transform: rotate(360deg); } }
/* Quick view button on product cards */
.wk-qv-btn {
  position: absolute;
  bottom: 10px;
  left: 50%;
  transform: translateX(-50%);
  background: rgba(255,255,255,.95);
  color: var(--ink);
  border: .5px solid var(--line);
  font-family: var(--font-body);
  font-size: 10.5px;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
  padding: 7px 14px;
  cursor: pointer;
  white-space: nowrap;
  display: flex;
  align-items: center;
  gap: 6px;
  transition: background .2s, color .2s, opacity .2s;
  backdrop-filter: blur(4px);
  z-index: 5;
  border-radius: 2px;
}
.wk-qv-trigger--hover .wk-qv-btn { opacity: 0; pointer-events: none; }
.wk-pcard:hover .wk-qv-trigger--hover,
.wk-pcard:focus-within .wk-qv-trigger--hover,
.wk-rec-card:hover .wk-qv-trigger--hover,
.wk-rec-card:focus-within .wk-qv-trigger--hover { opacity: 1; pointer-events: auto; }
.wk-qv-btn:hover { background: var(--ink); color: var(--bg); }

/* ── Complete the Look ───────────────────────────────── */
.wk-ctl {
  padding: 48px 0;
  border-top: .5px solid var(--line);
}
.wk-section-header { text-align: center; margin-bottom: 28px; }
.wk-section-title {
  font-family: var(--font-display);
  font-size: clamp(20px,4vw,28px);
  font-weight: 400;
  letter-spacing: .05em;
  color: var(--ink);
  margin: 0 0 6px;
}
.wk-section-sub { font-size: 13px; color: var(--ink-mute); margin: 0; }
.wk-ctl-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: 16px;
}
@media (max-width: 640px) {
  .wk-ctl-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }
}
.wk-ctl-item { position: relative; }
.wk-ctl-item__img-link { display: block; overflow: hidden; aspect-ratio: 3/4; background: var(--surface-2); margin-bottom: 10px; }
.wk-ctl-item__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .4s ease;
  display: block;
}
.wk-ctl-item__img-link:hover .wk-ctl-item__img { transform: scale(1.04); }
.wk-ctl-item__info { text-align: center; }
.wk-ctl-item__name {
  display: block;
  font-size: 13px;
  color: var(--ink-soft);
  text-decoration: none;
  margin-bottom: 4px;
  line-height: 1.4;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
.wk-ctl-item__name:hover { color: var(--ink); }
.wk-ctl-item__price { font-size: 13.5px; font-weight: 600; color: var(--ink); margin-bottom: 8px; }
.wk-ctl-quickadd {
  width: 100%;
  font-size: 10.5px;
  padding: 7px 12px;
  border: .5px solid var(--line);
  background: var(--surface);
  color: var(--ink);
  cursor: pointer;
  font-family: var(--font-body);
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
  transition: background .2s, color .2s;
}
.wk-ctl-quickadd:hover { background: var(--ink); color: var(--bg); border-color: var(--ink); }
.wk-ctl-soldout { font-size: 10.5px; color: var(--ink-mute); letter-spacing: .1em; text-transform: uppercase; }

/* ── Recently Viewed ─────────────────────────────────── */
.wk-recently-viewed {
  padding: 40px 0;
  border-top: .5px solid var(--line);
}
.wk-rv-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(160px,1fr));
  gap: 12px;
}
.wk-rv-item { position: relative; }
.wk-rv-item__img-link { display: block; overflow: hidden; aspect-ratio: 3/4; background: var(--surface-2); margin-bottom: 8px; }
.wk-rv-item__img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; display: block; }
.wk-rv-item__img-link:hover .wk-rv-item__img { transform: scale(1.04); }
.wk-rv-item__name { font-size: 12px; color: var(--ink-soft); text-decoration: none; display: block; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; margin-bottom: 3px; }
.wk-rv-item__price { font-size: 12px; font-weight: 600; color: var(--ink); }

/* ── PIN Code Delivery Checker (enhanced) ────────────── */
.wk-pdp__pincode { margin: 12px 0 16px; }
.wk-pdp__pincode-form { display: flex; gap: 8px; align-items: stretch; }
.wk-pdp__pincode-form .wk-input {
  flex: 1;
  border: .5px solid var(--line);
  background: var(--surface);
  color: var(--ink);
  padding: 10px 14px;
  font-family: var(--font-body);
  font-size: 14px;
  outline: none;
  transition: border-color .2s;
}
.wk-pdp__pincode-form .wk-input:focus { border-color: var(--accent); }
.wk-pdp__pincode-result {
  margin-top: 8px;
  font-size: 13px;
  line-height: 1.5;
  animation: wk-fade-in .3s ease;
}
@keyframes wk-fade-in { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: translateY(0); } }
.wk-pdp__pincode-result.is-success { color: #166534; }
.wk-pdp__pincode-result.is-express { color: #1d4ed8; }
.wk-pdp__pincode-result.is-error   { color: #B91C1C; }
.wk-pdp__pincode-result .wk-pin-delivery-msg { display: flex; align-items: center; gap: 6px; font-weight: 500; margin-bottom: 4px; }
.wk-pdp__pincode-result .wk-pin-meta { display: flex; gap: 12px; font-size: 12px; opacity: .85; flex-wrap: wrap; }
.wk-pdp__pincode-result .wk-pin-badge {
  display: inline-flex; align-items: center; gap: 4px;
  background: var(--surface-2); padding: 2px 8px;
  border-radius: 3px; font-size: 11px; font-weight: 600;
}
.wk-pdp__pincode-result .wk-pin-badge--cod { color: #166534; background: #f0fdf4; }
.wk-pdp__pincode-result .wk-pin-badge--free { color: #1d4ed8; background: #eff6ff; }

/* ══════════════════════════════════════════════════════
   PHASE 3 — Cart, Checkout, Exit Popup
   ══════════════════════════════════════════════════════ */

/* ── Free Shipping Progress Bar ─────────────────────── */
.wk-free-shipping-bar {
  padding: 12px 20px;
  border-radius: 0;
  margin-bottom: 0;
  border-bottom: .5px solid rgba(0,0,0,.06);
  transition: background .4s;
}
.wk-free-shipping-bar--achieved { }
.wk-fsb__message {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  font-weight: 600;
  margin-bottom: 8px;
  color: var(--ink-soft);
}
.wk-fsb__truck { flex-shrink: 0; color: var(--ink-mute); }
.wk-free-shipping-bar--achieved .wk-fsb__message { color: #166534; }
.wk-fsb__track {
  height: 5px;
  background: rgba(0,0,0,.1);
  border-radius: 3px;
  overflow: hidden;
}
.wk-fsb__fill {
  height: 100%;
  border-radius: 3px;
  transition: width .6s cubic-bezier(.4,0,.2,1);
}
.wk-free-shipping-bar--achieved .wk-fsb__fill { animation: wk-fsb-celebrate .5s ease; }
@keyframes wk-fsb-celebrate {
  0%   { transform: scaleX(0.95); }
  50%  { transform: scaleX(1.02); }
  100% { transform: scaleX(1); }
}

/* ── Coupon Toggle ───────────────────────────────────── */
.wk-coupon-toggle-wrap { margin-bottom: 16px; }
.wk-coupon-toggle {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: none;
  border: none;
  cursor: pointer;
  font-family: var(--font-body);
  font-size: 13px;
  font-weight: 600;
  color: var(--accent);
  padding: 10px 0;
  letter-spacing: .03em;
  text-decoration: underline;
  text-underline-offset: 4px;
  transition: opacity .15s;
}
.wk-coupon-toggle:hover { opacity: .7; }
.wk-coupon-toggle__chevron { transition: transform .3s; flex-shrink: 0; }
.wk-coupon-toggle[aria-expanded="true"] .wk-coupon-toggle__chevron { transform: rotate(180deg); }
.wk-coupon-drawer {
  background: var(--surface-2);
  border: .5px solid var(--line);
  border-radius: 4px;
  overflow: hidden;
  max-height: 0;
  transition: max-height .35s cubic-bezier(.4,0,.2,1);
}
.wk-coupon-drawer:not([hidden]) { max-height: 200px; }
.wk-coupon-drawer__inner { padding: 16px 18px; }
.wk-coupon-drawer__hint { font-size: 12.5px; color: var(--ink-mute); margin: 0 0 12px; }
.wk-coupon-form__row {
  display: flex;
  gap: 8px;
  align-items: stretch;
}
.wk-coupon-input {
  flex: 1;
  border: .5px solid var(--line);
  background: var(--surface);
  color: var(--ink);
  font-family: var(--font-body);
  font-size: 14px;
  padding: 10px 14px;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  outline: none;
  transition: border-color .2s;
}
.wk-coupon-input:focus { border-color: var(--accent); }
.wk-applied-coupons { margin-top: 10px; display: flex; flex-direction: column; gap: 6px; }
.wk-applied-coupon {
  display: flex;
  align-items: center;
  gap: 8px;
  background: #f0fdf4;
  border: .5px solid #86efac;
  padding: 7px 12px;
  border-radius: 4px;
  font-size: 12.5px;
}
.wk-applied-coupon__code {
  display: flex;
  align-items: center;
  gap: 5px;
  font-weight: 700;
  color: #166534;
  letter-spacing: .06em;
  flex: 1;
}
.wk-applied-coupon__savings { font-weight: 700; color: #166534; }
.wk-applied-coupon__remove {
  background: none;
  border: none;
  cursor: pointer;
  color: #6b7280;
  font-size: 18px;
  line-height: 1;
  padding: 0;
  margin-left: auto;
  transition: color .15s;
}
.wk-applied-coupon__remove:hover { color: #dc2626; }

/* ── Cart Upsells ────────────────────────────────────── */
.wk-cart-upsells {
  padding: 24px 0 0;
  border-top: .5px solid var(--line);
  margin-top: 24px;
}
.wk-cart-upsells__title {
  font-family: var(--font-display);
  font-size: 16px;
  font-weight: 400;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--ink-mute);
  margin: 0 0 16px;
}
.wk-cart-upsells__grid {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.wk-cu-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px;
  border: .5px solid var(--line);
  background: var(--surface);
  transition: box-shadow .2s;
}
.wk-cu-item:hover { box-shadow: 0 2px 12px rgba(0,0,0,.06); }
.wk-cu-item__img-link { flex-shrink: 0; width: 60px; height: 72px; overflow: hidden; background: var(--surface-2); }
.wk-cu-item__img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .3s; }
.wk-cu-item__img-link:hover .wk-cu-item__img { transform: scale(1.05); }
.wk-cu-item__body { flex: 1; min-width: 0; }
.wk-cu-item__name {
  display: block;
  font-size: 12.5px;
  color: var(--ink-soft);
  text-decoration: none;
  margin-bottom: 4px;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  line-height: 1.4;
}
.wk-cu-item__name:hover { color: var(--ink); }
.wk-cu-item__price { font-size: 13px; font-weight: 700; color: var(--ink); }
.wk-cu-add-btn {
  flex-shrink: 0;
  background: var(--ink);
  color: var(--bg);
  border: none;
  cursor: pointer;
  font-family: var(--font-body);
  font-size: 11px;
  font-weight: 700;
  padding: 8px 12px;
  letter-spacing: .06em;
  display: flex;
  align-items: center;
  gap: 4px;
  transition: opacity .2s;
  text-decoration: none;
  white-space: nowrap;
}
.wk-cu-add-btn:hover { opacity: .8; color: var(--bg); }
.wk-cu-add-btn--link { background: var(--surface); color: var(--ink); border: .5px solid var(--line); }

/* ── Checkout order review — product name clamp + wider, tidier layout ──
   Covers both the classic checkout order-review table and the WooCommerce
   Blocks checkout order summary, since the exact markup depends on which
   one the Checkout page actually uses. Only the matching rules apply. */
.woocommerce-checkout-review-order-table td.product-name,
.wc-block-components-order-summary-item__description {
  min-width: 0;
}
.woocommerce-checkout-review-order-table td.product-name a,
.wc-block-components-product-name {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.35;
}
.woocommerce-checkout-review-order-table,
.wc-block-components-order-summary-item {
  table-layout: fixed;
  width: 100%;
}
.wc-block-components-order-summary-item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}
.wc-block-components-order-summary-item__image { flex-shrink: 0; }
.wc-block-components-order-summary-item__description { flex: 1; min-width: 0; }
.wc-block-components-order-summary-item__total-price { flex-shrink: 0; white-space: nowrap; }

/* ── Checkout Trust Strip ────────────────────────────── */
.wk-checkout-trust {
  background: var(--surface-2);
  border: .5px solid var(--line);
  padding: 16px 18px;
  margin: 16px 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.wk-cot-secure {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--ink-soft);
}
.wk-cot-badges {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.wk-cot-badge {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 11.5px;
  font-weight: 600;
  color: var(--ink-soft);
  background: var(--surface);
  border: .5px solid var(--line);
  padding: 5px 10px;
  border-radius: 3px;
}
.wk-cot-badge--ssl { color: #166534; border-color: #86efac; background: #f0fdf4; }
.wk-cot-badge--cod { color: #1d4ed8; border-color: #93c5fd; background: #eff6ff; }
.wk-cot-badge--return { color: #92400e; border-color: #fcd34d; background: #fffbeb; }
.wk-cot-payments { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.wk-cot-payments__label { font-size: 11px; color: var(--ink-mute); font-weight: 600; text-transform: uppercase; letter-spacing: .06em; flex-shrink: 0; }
.wk-cot-payment-icons { display: flex; gap: 5px; flex-wrap: wrap; }
.wk-cot-payicon {
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
  padding: 3px 7px;
  border: 1px solid var(--line);
  border-radius: 3px;
  background: var(--surface);
  color: var(--ink-soft);
  white-space: nowrap;
}
.wk-cot-payicon--visa     { color: #1a1f71; border-color: #1a1f71; }
.wk-cot-payicon--mc       { color: #eb001b; border-color: #eb001b; }
.wk-cot-payicon--rupay    { color: #006400; border-color: #006400; }
.wk-cot-payicon--upi      { color: #2d4a7a; border-color: #2d4a7a; background: #f0f4ff; }
.wk-cot-payicon--gpay     { color: #4285F4; border-color: #4285F4; }
.wk-cot-payicon--phonepe  { color: #5f259f; border-color: #5f259f; }
.wk-cot-payicon--paytm    { color: #00baf2; border-color: #00baf2; }
.wk-cot-payicon--bhim     { color: #007932; border-color: #007932; }
.wk-cot-payicon--cod      { color: #166534; border-color: #86efac; background: #f0fdf4; }
.wk-cot-payicon--netbanking { color: var(--ink-soft); }

/* ── Order Bump ─────────────────────────────────────── */
.wk-order-bump {
  border: 2px dashed var(--accent);
  background: var(--accent-pale);
  padding: 14px 16px;
  margin: 16px 0;
  border-radius: 4px;
}
.wk-order-bump__offer-tag {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--accent);
  margin-bottom: 10px;
  display: flex;
  align-items: center;
  gap: 6px;
}
.wk-order-bump__body {
  display: flex;
  align-items: center;
  gap: 12px;
  cursor: pointer;
}
.wk-bump-check { display: none; }
.wk-bump-custom-check {
  width: 20px;
  height: 20px;
  border: 2px solid var(--accent);
  border-radius: 3px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  transition: background .2s;
  color: transparent;
}
.wk-bump-check:checked ~ .wk-bump-custom-check {
  background: var(--accent);
  color: #fff;
}
.wk-order-bump__img {
  width: 56px;
  height: 68px;
  object-fit: cover;
  border-radius: 3px;
  flex-shrink: 0;
}
.wk-order-bump__info { flex: 1; min-width: 0; }
.wk-order-bump__name { font-size: 13.5px; font-weight: 700; color: var(--ink); display: block; margin-bottom: 4px; }
.wk-order-bump__pricing { display: flex; align-items: baseline; gap: 8px; margin-bottom: 4px; }
.wk-order-bump__orig { font-size: 12px; color: var(--ink-mute); text-decoration: line-through; }
.wk-order-bump__sale { font-size: 15px; font-weight: 700; color: var(--accent); }
.wk-order-bump__off { font-size: 10.5px; font-weight: 800; background: var(--sale); color: #fff; padding: 1px 6px; border-radius: 2px; }
.wk-order-bump__desc { font-size: 12px; color: var(--ink-soft); margin: 0; }

/* ── Exit Intent Popup ───────────────────────────────── */
.wk-exit-popup { position: fixed; inset: 0; z-index: 999998; display: flex; align-items: center; justify-content: center; }
.wk-exit-popup[hidden] { display: none; }
.wk-exit-popup__overlay { position: absolute; inset: 0; background: rgba(0,0,0,.72); }
.wk-exit-popup__modal {
  position: relative;
  z-index: 1;
  width: min(480px, 94vw);
  border-radius: 4px;
  overflow: hidden;
  box-shadow: 0 20px 60px rgba(0,0,0,.35);
  animation: wk-ep-in .4s cubic-bezier(.22,1,.36,1);
}
@keyframes wk-ep-in { from { opacity:0; transform:scale(.92) translateY(24px); } to { opacity:1; transform:scale(1) translateY(0); } }
.wk-exit-popup__close {
  position: absolute;
  top: 12px;
  right: 14px;
  background: none;
  border: none;
  font-size: 26px;
  cursor: pointer;
  color: var(--ink-mute);
  padding: 0;
  line-height: 1;
  z-index: 2;
  transition: color .15s;
}
.wk-exit-popup__close:hover { color: var(--ink); }
.wk-exit-popup__image img { width: 100%; display: block; max-height: 180px; object-fit: cover; }
.wk-exit-popup__body { padding: 28px 32px 24px; text-align: center; }
.wk-exit-popup__eyebrow {
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
  margin: 0 0 10px;
}
.wk-exit-popup__heading {
  font-family: var(--font-display);
  font-size: clamp(20px,5vw,26px);
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: .02em;
  margin: 0 0 10px;
  color: var(--ink);
}
.wk-exit-popup__text {
  font-size: 14px;
  line-height: 1.6;
  color: var(--ink-soft);
  margin: 0 0 16px;
}
.wk-exit-popup__coupon {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  border: 2px dashed;
  padding: 10px 18px;
  margin-bottom: 18px;
  border-radius: 3px;
  flex-wrap: wrap;
  justify-content: center;
}
.wk-exit-popup__coupon-label {
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--ink-mute);
}
.wk-exit-popup__coupon-code {
  font-size: 18px;
  font-weight: 800;
  letter-spacing: .12em;
  font-family: monospace;
}
.wk-exit-popup__copy {
  display: flex;
  align-items: center;
  gap: 4px;
  background: none;
  border: .5px solid var(--line);
  cursor: pointer;
  font-size: 11px;
  font-weight: 600;
  padding: 4px 8px;
  border-radius: 3px;
  color: var(--ink-mute);
  transition: background .15s;
  font-family: var(--font-body);
}
.wk-exit-popup__copy:hover { background: var(--surface-2); }
.wk-exit-popup__btn {
  display: block;
  width: 100%;
  padding: 14px 24px;
  text-align: center;
  text-decoration: none;
  font-family: var(--font-body);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #fff !important;
  cursor: pointer;
  border: none;
  transition: opacity .2s;
  margin-bottom: 10px;
  border-radius: 2px;
}
.wk-exit-popup__btn:hover { opacity: .88; }
.wk-exit-popup__dismiss {
  background: none;
  border: none;
  cursor: pointer;
  font-family: var(--font-body);
  font-size: 12px;
  color: var(--ink-mute);
  text-decoration: underline;
  text-underline-offset: 3px;
  padding: 4px 0;
  transition: color .15s;
}
.wk-exit-popup__dismiss:hover { color: var(--ink); }
.wk-exit-popup__email-form { display: flex; flex-direction: column; gap: 8px; margin-bottom: 10px; }
.wk-exit-popup__email-input {
  width: 100%;
  border: .5px solid var(--line);
  background: var(--surface);
  padding: 12px 16px;
  font-family: var(--font-body);
  font-size: 14px;
  outline: none;
  text-align: center;
  box-sizing: border-box;
  transition: border-color .2s;
}
.wk-exit-popup__email-input:focus { border-color: var(--accent); }

/* ══════════════════════════════════════════════════════
   PHASE 4 — Live Search, Mega Menu, Mobile Menu
   ══════════════════════════════════════════════════════ */

/* ── Live Search Results Panel ──────────────────────── */
.wk-search-panel {
  position: relative;
}
.wk-search-results {
  position: absolute;
  top: calc(100% + 4px);
  left: 0;
  right: 0;
  z-index: 500;
  background: var(--surface);
  border: .5px solid var(--line);
  box-shadow: 0 8px 40px rgba(0,0,0,.12);
  max-height: 520px;
  overflow-y: auto;
  overscroll-behavior: contain;
  border-radius: 0 0 4px 4px;
  animation: wk-search-drop .2s ease;
}
@keyframes wk-search-drop { from { opacity:0; transform:translateY(-8px); } to { opacity:1; transform:translateY(0); } }
.wk-sr-section { padding: 0; }
.wk-sr-section + .wk-sr-section { border-top: .5px solid var(--line); }
.wk-sr-section__label {
  font-size: 9.5px;
  font-weight: 800;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--ink-mute);
  padding: 10px 16px 6px;
  display: flex;
  align-items: center;
  gap: 6px;
}
/* Product results */
.wk-sr-product {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 9px 16px;
  text-decoration: none;
  color: var(--ink);
  transition: background .15s;
  border-bottom: .5px solid var(--line-soft);
}
.wk-sr-product:last-child { border-bottom: none; }
.wk-sr-product:hover, .wk-sr-product.is-focused { background: var(--surface-2); }
.wk-sr-product.is-focused { outline: 2px solid var(--accent); outline-offset: -2px; }
.wk-sr-product__img {
  width: 48px;
  height: 58px;
  object-fit: cover;
  flex-shrink: 0;
  background: var(--surface-2);
  display: block;
}
.wk-sr-product__info { flex: 1; min-width: 0; }
.wk-sr-product__name {
  font-size: 13.5px;
  font-weight: 600;
  color: var(--ink);
  display: block;
  margin-bottom: 2px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.wk-sr-product__cat {
  font-size: 10.5px;
  color: var(--ink-mute);
  letter-spacing: .04em;
  text-transform: uppercase;
}
.wk-sr-product__right {
  flex-shrink: 0;
  text-align: right;
}
.wk-sr-product__price {
  font-size: 13px;
  font-weight: 700;
  color: var(--ink);
}
.wk-sr-product__sale { color: var(--sale); }
.wk-sr-product__stock-oos {
  font-size: 10px;
  color: var(--ink-mute);
  letter-spacing: .04em;
}
/* Category results */
.wk-sr-cat {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 16px;
  text-decoration: none;
  color: var(--ink-soft);
  font-size: 13px;
  transition: background .15s;
}
.wk-sr-cat:hover { background: var(--surface-2); color: var(--ink); }
.wk-sr-cat__img {
  width: 32px;
  height: 32px;
  object-fit: cover;
  border-radius: 50%;
  background: var(--surface-2);
  flex-shrink: 0;
}
.wk-sr-cat__name { font-weight: 500; flex: 1; }
.wk-sr-cat__count { font-size: 11px; color: var(--ink-mute); }
/* Page results */
.wk-sr-page {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 9px 16px;
  text-decoration: none;
  color: var(--ink-soft);
  font-size: 13px;
  transition: background .15s;
}
.wk-sr-page:hover { background: var(--surface-2); }
/* Recent + Trending searches */
.wk-sr-tags { display: flex; flex-wrap: wrap; gap: 6px; padding: 8px 16px 12px; }
.wk-sr-tag {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 5px 12px;
  background: var(--surface-2);
  border: .5px solid var(--line);
  border-radius: 20px;
  font-size: 12px;
  color: var(--ink-soft);
  cursor: pointer;
  text-decoration: none;
  transition: background .15s, color .15s;
  white-space: nowrap;
}
.wk-sr-tag:hover { background: var(--accent-pale); color: var(--accent); border-color: var(--accent); }
/* View all link */
.wk-sr-view-all {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 13px;
  background: var(--surface-2);
  border-top: .5px solid var(--line);
  color: var(--accent);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
  text-decoration: none;
  transition: background .15s;
}
.wk-sr-view-all:hover { background: var(--accent-pale); }
/* Empty / loading */
.wk-sr-empty, .wk-sr-loading {
  padding: 20px 16px;
  text-align: center;
  color: var(--ink-mute);
  font-size: 13px;
}
.wk-sr-empty .wk-sr-empty__icon { font-size: 28px; display: block; margin-bottom: 8px; opacity: .4; }
.wk-sr-spinner {
  width: 20px; height: 20px;
  border: 2px solid var(--line);
  border-top-color: var(--accent);
  border-radius: 50%;
  animation: wk-spin .7s linear infinite;
  margin: 0 auto 8px;
}

/* ── Mega Menu ────────────────────────────────────────── */
.wk-desktop-nav__list { position: relative; }
.wk-desktop-nav__list > li { position: static; }
.wk-mega-panel {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  z-index: 200;
  box-shadow: 0 8px 40px rgba(0,0,0,.1);
  opacity: 0;
  pointer-events: none;
  transform: translateY(-8px);
  transition: opacity .2s ease, transform .2s ease;
  min-height: 200px;
}
.wk-mm-trigger:hover > .wk-mega-panel,
.wk-mm-trigger.is-open > .wk-mega-panel {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}
.wk-mega-panel__inner {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 0;
  padding: 24px 32px;
  max-width: var(--max-w);
  margin: 0 auto;
}
.wk-mega-panel__col {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 0 16px 0 0;
  border-right: .5px solid var(--line);
}
.wk-mega-panel__col:last-child { border-right: none; }
.wk-mega-panel__item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 10px;
  border-radius: 3px;
  text-decoration: none;
  color: var(--ink-soft);
  font-size: 13.5px;
  font-weight: 500;
  transition: background .15s, color .15s, padding-left .15s;
}
.wk-mega-panel__item:hover {
  background: var(--surface-2);
  color: var(--ink);
  padding-left: 14px;
}
.wk-mega-panel__item.has-img { align-items: center; }
.wk-mega-panel__item-img {
  width: 40px;
  height: 48px;
  object-fit: cover;
  border-radius: 2px;
  overflow: hidden;
  flex-shrink: 0;
  background: var(--surface-2);
}
.wk-mega-panel__item-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.wk-mega-panel__item-name { flex: 1; line-height: 1.3; }
.wk-mega-panel__item-count {
  font-size: 10px;
  color: var(--ink-mute);
  background: var(--surface-2);
  padding: 1px 6px;
  border-radius: 10px;
  flex-shrink: 0;
}
.wk-mega-panel__promo {
  padding-left: 20px;
  display: flex;
  align-items: center;
}
.wk-mega-panel__promo-link { display: block; text-decoration: none; text-align: center; }
.wk-mega-panel__promo-img { width: 100%; max-width: 200px; border-radius: 4px; display: block; }
.wk-mega-panel__promo-text {
  display: block;
  margin-top: 8px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
}
/* Active link underline */
.wk-desktop-nav__link {
  position: relative;
  display: inline-block;
  padding: 0;
  font-size: 11.5px;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--ink);
  text-decoration: none;
  transition: color .2s;
}
.wk-desktop-nav__link::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 18px;
  right: 18px;
  height: 1.5px;
  background: var(--accent);
  transform: scaleX(0);
  transform-origin: center;
  transition: transform .3s ease;
}
.wk-mm-trigger:hover .wk-desktop-nav__link::after,
.wk-desktop-nav__list > li.is-active > .wk-desktop-nav__link::after,
.wk-desktop-nav__link:hover::after { transform: scaleX(1); }

/* ── Mobile Menu Enhancements ──────────────────────────── */
/* Override brand color so it's visible against the menu background */
.wk-mobile-menu__brand {
  color: var(--ink);
}
/* Nav list items */
.wk-mobile-nav__list {
  list-style: none;
  margin: 0;
  padding: 8px 0;
}
.wk-mobile-nav__list li {
  border-bottom: .5px solid var(--line, #e8e4de);
}
.wk-mobile-nav__list a {
  display: block;
  padding: 14px 20px;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: .03em;
  color: var(--ink, #111);
  text-decoration: none;
  transition: color .15s, background .15s;
}
.wk-mobile-nav__list a:hover,
.wk-mobile-nav__list .current-menu-item > a {
  color: var(--accent, #6B1E3E);
  background: var(--surface-2, #f7f3ee);
}
/* Sub-menu items */
.wk-mobile-nav__list .sub-menu {
  list-style: none;
  margin: 0;
  padding: 0 0 4px 0;
  background: var(--surface-2, #f7f3ee);
}
.wk-mobile-nav__list .sub-menu a {
  padding: 10px 20px 10px 34px;
  font-size: 13px;
  font-weight: 400;
  color: var(--ink-soft, #555);
}
.wk-mobile-nav__list .sub-menu a::before {
  content: '–';
  margin-right: 6px;
  opacity: .4;
}
/* Menu item with submenu: show expand icon */
.wk-mobile-nav__list .menu-item-has-children > a {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.wk-mobile-nav__list .menu-item-has-children > a::after {
  content: '›';
  font-size: 18px;
  opacity: .4;
  flex-shrink: 0;
}

/* ══════════════════════════════════════════════════════
   PHASE 5 — Dashboard, Wishlist, Back-in-Stock
   ══════════════════════════════════════════════════════ */

/* ── Account Dashboard ───────────────────────────────── */
.wk-dashboard { max-width: 840px; }
.wk-dashboard__welcome {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  background: linear-gradient(135deg, var(--ink) 0%, #2a1a14 100%);
  color: var(--bg);
  padding: 24px 28px;
  margin-bottom: 24px;
  flex-wrap: wrap;
}
.wk-dashboard__name {
  font-family: var(--font-display);
  font-size: clamp(20px,4vw,26px);
  font-weight: 400;
  margin: 0 0 4px;
  color: var(--bg);
}
.wk-dashboard__member { font-size: 12px; color: rgba(255,255,255,.55); margin: 0; }
/* Stats grid */
.wk-dashboard__stats {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
  margin-bottom: 20px;
}
@media (min-width: 640px) { .wk-dashboard__stats { grid-template-columns: repeat(4,1fr); } }
.wk-stat-card {
  background: var(--surface);
  border: .5px solid var(--line);
  padding: 16px;
  display: flex;
  align-items: center;
  gap: 12px;
  transition: box-shadow .2s;
}
.wk-stat-card:hover { box-shadow: 0 2px 16px rgba(0,0,0,.06); }
.wk-stat-card__icon {
  width: 40px;
  height: 40px;
  background: var(--accent-pale);
  color: var(--accent);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.wk-stat-card__value {
  display: block;
  font-size: 20px;
  font-weight: 700;
  color: var(--ink);
  line-height: 1.2;
}
.wk-stat-card__label {
  font-size: 11px;
  color: var(--ink-mute);
  letter-spacing: .04em;
  text-transform: uppercase;
}
/* Quick actions */
.wk-dashboard__actions {
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin-bottom: 24px;
  border: .5px solid var(--line);
}
.wk-dashboard__action-link {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  text-decoration: none;
  color: var(--ink-soft);
  font-size: 13.5px;
  font-weight: 500;
  background: var(--surface);
  border-bottom: .5px solid var(--line);
  transition: background .15s, color .15s;
}
.wk-dashboard__action-link:last-child { border-bottom: none; }
.wk-dashboard__action-link:hover { background: var(--accent-pale); color: var(--accent); }
.wk-dashboard__action-link > svg:first-child { color: var(--accent); flex-shrink: 0; }
.wk-dashboard__action-link > svg:last-child { margin-left: auto; color: var(--ink-mute); flex-shrink: 0; }
/* Recent orders */
.wk-dashboard__recent { margin-top: 24px; }
.wk-dashboard__section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
}
.wk-dashboard__section-title {
  font-family: var(--font-display);
  font-size: 18px;
  font-weight: 400;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: var(--ink);
  margin: 0;
}
.wk-dashboard__see-all { font-size: 12px; color: var(--accent); text-decoration: underline; text-underline-offset: 3px; }
.wk-dashboard__order-list { display: flex; flex-direction: column; gap: 8px; }
.wk-recent-order {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px;
  background: var(--surface);
  border: .5px solid var(--line);
  transition: box-shadow .2s;
}
.wk-recent-order:hover { box-shadow: 0 2px 12px rgba(0,0,0,.06); }
.wk-recent-order__imgs { display: flex; gap: 4px; flex-shrink: 0; }
.wk-recent-order__img {
  width: 46px;
  height: 56px;
  object-fit: cover;
  display: block;
  background: var(--surface-2);
}
.wk-recent-order__more-items {
  width: 46px;
  height: 56px;
  background: var(--surface-2);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  font-weight: 700;
  color: var(--ink-mute);
}
.wk-recent-order__info { flex: 1; min-width: 0; }
.wk-recent-order__meta {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 6px;
  flex-wrap: wrap;
}
.wk-recent-order__num { font-size: 13px; font-weight: 700; color: var(--ink); }
.wk-recent-order__date { font-size: 11.5px; color: var(--ink-mute); }
.wk-recent-order__bottom { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.wk-recent-order__total { font-size: 12px; color: var(--ink-mute); }
.wk-recent-order__view {
  flex-shrink: 0;
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--ink-mute);
  border: .5px solid var(--line);
  background: var(--surface);
  transition: background .15s, color .15s;
}
.wk-recent-order__view:hover { background: var(--ink); color: var(--bg); }
/* Order status badges */
.wk-order-status {
  display: inline-flex;
  align-items: center;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  padding: 2px 8px;
  border-radius: 2px;
}
.wk-order-status--processing { background: #eff6ff; color: #1d4ed8; }
.wk-order-status--completed  { background: #f0fdf4; color: #166534; }
.wk-order-status--on-hold    { background: #fffbeb; color: #92400e; }
.wk-order-status--cancelled  { background: #fef2f2; color: #B91C1C; }
.wk-order-status--refunded   { background: #f8f8f8; color: #555; }
.wk-order-status--pending    { background: #f5f5f5; color: #666; }
/* Order images in orders table */
.wk-order-imgs { display: flex; gap: 4px; align-items: center; }
.wk-order-thumb { width: 40px; height: 48px; object-fit: cover; background: var(--surface-2); }
.wk-order-extra-items {
  width: 40px;
  height: 48px;
  background: var(--surface-2);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 10px;
  font-weight: 700;
  color: var(--ink-mute);
}

/* ── Order Status Tracker ─────────────────────────────── */
.wk-order-tracker {
  background: var(--surface);
  border: .5px solid var(--line);
  padding: 24px 20px;
  margin-bottom: 24px;
}
.wk-order-tracker__steps {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 0;
  flex-wrap: wrap;
}
.wk-ot-step {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  position: relative;
  flex: 1;
  min-width: 60px;
}
.wk-ot-step__bubble {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: var(--surface-2);
  border: 2px solid var(--line);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  transition: background .3s, border-color .3s;
  position: relative;
  z-index: 1;
}
.wk-ot-step.is-done .wk-ot-step__bubble  { background: var(--accent); border-color: var(--accent); font-size: 16px; color: #fff; }
.wk-ot-step.is-active .wk-ot-step__bubble { border-color: var(--accent); border-width: 3px; box-shadow: 0 0 0 4px var(--accent-pale); }
.wk-ot-step__label { font-size: 11px; font-weight: 600; color: var(--ink-mute); text-align: center; letter-spacing: .04em; text-transform: uppercase; }
.wk-ot-step.is-done .wk-ot-step__label,
.wk-ot-step.is-active .wk-ot-step__label { color: var(--ink); }
.wk-ot-step__line {
  position: absolute;
  top: 22px;
  left: 50%;
  width: calc(100% + 0px);
  height: 2px;
  background: var(--line);
  transform: translateX(22px);
  z-index: 0;
}
.wk-ot-step__line.is-done { background: var(--accent); }
.wk-order-tracker__eta {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 12.5px;
  color: var(--ink-mute);
  margin-top: 16px;
  padding-top: 14px;
  border-top: .5px solid var(--line);
  justify-content: center;
}
.wk-order-tracker__cancelled {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 16px;
  background: var(--sale-bg);
  color: var(--sale);
  font-weight: 600;
  border-radius: 3px;
}

/* ── Wishlist Button ─────────────────────────────────── */
.wk-wl-btn {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  background: rgba(255,255,255,.9);
  border: .5px solid var(--line);
  cursor: pointer;
  font-family: var(--font-body);
  font-size: 11.5px;
  font-weight: 600;
  letter-spacing: .06em;
  color: var(--ink-soft);
  padding: 7px 12px;
  transition: background .2s, color .2s, border-color .2s;
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}
.wk-wl-btn:hover { border-color: var(--accent); color: var(--accent); }
.wk-wl-btn.is-in-wishlist {
  background: var(--accent);
  color: #fff;
  border-color: var(--accent);
}
.wk-wl-btn.is-in-wishlist .wk-wl-icon { fill: #fff; stroke: #fff; }
.wk-wl-icon { transition: fill .2s, stroke .2s; }
/* Overlay position on product cards */
.wk-wl-overlay-wrap {
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 8;
}
.wk-wl-overlay-wrap .wk-wl-btn { border-radius: 50%; width: 36px; height: 36px; padding: 0; justify-content: center; }
.wk-wl-overlay-wrap .wk-wl-label { display: none; }
/* PDP wishlist button */
.wk-pdp__wishlist { margin: 4px 0 12px; }
.wk-pdp__wishlist .wk-wl-btn { width: 100%; justify-content: center; }

/* ── Wishlist Page ────────────────────────────────────── */
.wk-wishlist-page { padding: 32px 0 60px; }
.wk-wishlist-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 24px;
  flex-wrap: wrap;
  gap: 12px;
}
.wk-wishlist-header__actions { display: flex; gap: 8px; flex-wrap: wrap; }
.wk-wishlist-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 16px;
}
@media (max-width: 640px) { .wk-wishlist-grid { grid-template-columns: repeat(2,1fr); gap: 10px; } }
.wk-wl-item { position: relative; }
.wk-wl-item__img-link { display: block; overflow: hidden; aspect-ratio: 3/4; background: var(--surface-2); margin-bottom: 10px; }
.wk-wl-item__img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; display: block; }
.wk-wl-item__img-link:hover .wk-wl-item__img { transform: scale(1.04); }
.wk-wl-item__remove {
  position: absolute;
  top: 8px;
  right: 8px;
  width: 28px;
  height: 28px;
  background: rgba(255,255,255,.92);
  border: none;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--ink-mute);
  font-size: 14px;
  transition: background .15s, color .15s;
  backdrop-filter: blur(4px);
}
.wk-wl-item__remove:hover { background: var(--sale); color: #fff; }
.wk-wl-item__info { text-align: center; }
.wk-wl-item__name { display: block; font-size: 13px; color: var(--ink-soft); text-decoration: none; margin-bottom: 4px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.wk-wl-item__name:hover { color: var(--ink); }
.wk-wl-item__price { font-size: 13px; font-weight: 700; color: var(--ink); margin-bottom: 8px; }
.wk-wl-item__atc { width: 100%; font-size: 10.5px; padding: 7px 10px; }
.wk-wl-item__oos { font-size: 10.5px; color: var(--ink-mute); letter-spacing: .06em; text-transform: uppercase; }
.wk-wishlist-empty { text-align: center; padding: 60px 20px; color: var(--ink-mute); }
.wk-wishlist-empty h2 { font-family: var(--font-display); font-size: 24px; font-weight: 400; margin: 16px 0 8px; color: var(--ink); }
.wk-wishlist-empty p { font-size: 14px; margin-bottom: 20px; }
/* Share modal */
.wk-wl-share-modal { position: fixed; inset: 0; z-index: 99990; display: flex; align-items: center; justify-content: center; }
.wk-wl-share-modal[hidden] { display: none; }

/* ── Back-in-Stock Form ───────────────────────────────── */
.wk-bis-form {
  border: .5px solid var(--line);
  background: var(--surface-2);
  padding: 16px;
  margin: 12px 0;
}
.wk-bis-form__header {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  font-weight: 700;
  color: var(--ink-soft);
  margin-bottom: 12px;
}
.wk-bis-form__row { display: flex; gap: 8px; }
.wk-bis-form__input {
  flex: 1;
  border: .5px solid var(--line);
  background: var(--surface);
  padding: 9px 12px;
  font-family: var(--font-body);
  font-size: 13px;
  color: var(--ink);
  outline: none;
  transition: border-color .2s;
}
.wk-bis-form__input:focus { border-color: var(--accent); }
.wk-bis-form__result {
  font-size: 13px;
  margin-top: 8px;
  line-height: 1.5;
  animation: wk-fade-in .3s ease;
}
.wk-bis-form__result.is-success { color: #166534; }
.wk-bis-form__result.is-error { color: #B91C1C; }

/* ── Header wishlist count badge ────────────────────── */
.wk-wl-header-count {
  position: absolute;
  top: -4px;
  right: -4px;
  background: var(--accent);
  color: #fff;
  font-size: 9px;
  font-weight: 800;
  min-width: 16px;
  height: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  padding: 0 3px;
  pointer-events: none;
}

/* ══════════════════════════════════════════════════════
   PHASE 6 — Homepage Sections, Blog, Performance
   ══════════════════════════════════════════════════════ */

/* ── Testimonials Carousel ───────────────────────────── */
.wk-testimonials-section {
  padding: 64px 0;
  background: var(--surface-2);
  overflow: hidden;
  position: relative;
}
.wk-testimonials-carousel {
  position: relative;
  /* prevent bleeding */
  max-width: 100%;
  overflow: hidden;
}
.wk-testimonials-track {
  display: flex;
  gap: 0;
  overflow: hidden; /* hide overflow — JS scrollTo controls position */
  scroll-behavior: smooth;
  scrollbar-width: none;
  padding: 16px 0 8px;
  /* We use transform-based sliding instead of scroll */
  transition: none;
}
.wk-testimonials-track::-webkit-scrollbar { display: none; }
/* Slide wrapper (JS controls translateX) */
.wk-testimonials-slide {
  display: flex;
  gap: 20px;
  will-change: transform;
  transition: transform .45s cubic-bezier(.4,0,.2,1);
  padding: 4px 24px 20px;
  min-width: 100%;
}
.wk-testimonial-card {
  flex: 0 0 min(380px, calc(100vw - 80px));
  background: var(--surface);
  padding: 28px 26px;
  border: .5px solid var(--line);
  scroll-snap-align: start;
  display: flex;
  flex-direction: column;
  gap: 14px;
  position: relative;
  transition: box-shadow .2s;
  box-sizing: border-box;
}
@media (min-width: 768px) {
  .wk-testimonial-card { flex: 0 0 380px; }
}
.wk-testimonial-card:hover { box-shadow: 0 4px 24px rgba(0,0,0,.07); }
.wk-testimonial-card::before {
  content: '\201C';
  position: absolute;
  top: 16px;
  right: 20px;
  font-family: var(--font-display);
  font-size: 64px;
  line-height: 1;
  color: var(--accent-pale);
  font-weight: 400;
}
.wk-testimonial-card__stars { display: flex; gap: 3px; }
.wk-testimonial-card__text {
  font-size: 14.5px;
  line-height: 1.7;
  color: var(--ink-soft);
  margin: 0;
  font-style: italic;
  flex: 1;
}
.wk-testimonial-card__author {
  display: flex;
  align-items: center;
  gap: 10px;
  border-top: .5px solid var(--line);
  padding-top: 14px;
}
.wk-testimonial-card__photo,
.wk-testimonial-card__avatar {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  flex-shrink: 0;
}
.wk-testimonial-card__photo { object-fit: cover; }
.wk-testimonial-card__avatar {
  background: var(--accent);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 15px;
  font-weight: 700;
}
.wk-testimonial-card__name {
  display: block;
  font-size: 13px;
  font-weight: 700;
  color: var(--ink);
}
.wk-testimonial-card__city {
  display: block;
  font-size: 11px;
  color: var(--ink-mute);
}
/* Navigation */
.wk-testimonials-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  padding: 0 20px 8px;
}
.wk-testimonials-prev,
.wk-testimonials-next {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: .5px solid var(--line);
  background: var(--surface);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--ink);
  transition: background .2s, color .2s;
  flex-shrink: 0;
}
.wk-testimonials-prev:hover,
.wk-testimonials-next:hover { background: var(--ink); color: var(--bg); }
.wk-testimonials-dots { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; justify-content: center; }
.wk-testimonials-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  border: none;
  background: var(--line);
  cursor: pointer;
  padding: 0;
  transition: background .2s, width .2s;
}
.wk-testimonials-dot.is-active { background: var(--accent); width: 22px; border-radius: 4px; }

/* ── Lookbook / Editorial ────────────────────────────── */
.wk-lookbook-panel {
  position: relative;
  min-height: 480px;
  background-size: cover;
  background-position: center;
  background-attachment: scroll;
  display: flex;
  align-items: center;
  overflow: hidden;
}
@media (min-width: 768px) { .wk-lookbook-panel { min-height: 560px; } }
.wk-lookbook-panel__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(18,15,12,.72) 0%, rgba(18,15,12,.28) 60%, transparent 100%);
}
.wk-lookbook--right .wk-lookbook-panel__overlay {
  background: linear-gradient(225deg, rgba(18,15,12,.72) 0%, rgba(18,15,12,.28) 60%, transparent 100%);
}
.wk-lookbook--center .wk-lookbook-panel__overlay {
  background: rgba(18,15,12,.52);
}
.wk-lookbook-panel__content {
  position: relative;
  z-index: 1;
  max-width: 480px;
  padding: 40px 32px;
  color: #fff;
}
.wk-lookbook--right .wk-lookbook-panel__content { margin-left: auto; }
.wk-lookbook--center .wk-lookbook-panel__content {
  margin: 0 auto;
  text-align: center;
  max-width: 600px;
}
.wk-lookbook-panel__eyebrow {
  display: block;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .24em;
  text-transform: uppercase;
  color: rgba(255,255,255,.65);
  margin-bottom: 14px;
}
.wk-lookbook-panel__title {
  font-family: var(--font-display);
  font-size: clamp(28px,5vw,48px);
  font-weight: 300;
  line-height: 1.15;
  letter-spacing: .02em;
  color: #fff;
  margin: 0 0 14px;
}
.wk-lookbook-panel__body {
  font-size: 15px;
  line-height: 1.7;
  color: rgba(255,255,255,.78);
  margin: 0 0 22px;
  max-width: 380px;
}
.wk-lookbook-panel__cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(255,255,255,.95);
  color: var(--ink);
  padding: 12px 24px;
  font-family: var(--font-body);
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  text-decoration: none;
  transition: background .2s, gap .2s;
}
.wk-lookbook-panel__cta:hover { background: #fff; gap: 12px; }

/* ── Instagram Grid ─────────────────────────────────── */
.wk-instagram-section { padding: 48px 0; }
.wk-instagram-header {
  max-width: var(--max-w);
  margin: 0 auto;
  padding: 0 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 20px;
  gap: 16px;
  flex-wrap: wrap;
}
.wk-instagram-header__left {
  display: flex;
  align-items: center;
  gap: 12px;
}
.wk-instagram-logo { color: var(--ink); flex-shrink: 0; }
.wk-instagram-title {
  font-family: var(--font-display);
  font-size: clamp(18px,3vw,24px);
  font-weight: 400;
  margin: 0 0 2px;
  color: var(--ink);
  letter-spacing: .03em;
}
.wk-instagram-handle { font-size: 12px; color: var(--ink-mute); }
.wk-instagram-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3px;
  /* Auto rows = same height as width for squares */
  grid-auto-rows: auto;
}
@media (min-width: 768px) {
  .wk-instagram-grid {
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: auto;
  }
  /* Feature layout: first tile spans 2 cols + 2 rows */
  .wk-instagram-grid.wk-ig-layout--mosaic {
    grid-template-columns: 2fr 1fr 1fr 1fr;
  }
  .wk-instagram-grid.wk-ig-layout--mosaic .wk-ig-tile--0 {
    grid-row: span 2;
    grid-column: span 1;
  }
}
/* Default: uniform square grid (works for any count) */
.wk-ig-tile {
  position: relative;
  overflow: hidden;
  aspect-ratio: 1;
  background: var(--surface-2);
  display: block;
  min-height: 0;
}
.wk-ig-tile {
  position: relative;
  overflow: hidden;
  aspect-ratio: 1;
  background: var(--surface-2);
  display: block;
}
.wk-ig-tile__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .5s cubic-bezier(.4,0,.2,1);
}
.wk-ig-tile:hover .wk-ig-tile__img { transform: scale(1.06); }
.wk-ig-tile__overlay {
  position: absolute;
  inset: 0;
  background: rgba(18,15,12,.4);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity .3s;
  color: #fff;
}
.wk-ig-tile:hover .wk-ig-tile__overlay { opacity: 1; }

/* ── Blog Post Card ─────────────────────────────────── */
.wk-post-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px,1fr));
  gap: 28px;
  margin-bottom: 48px;
}
@media (max-width: 640px) { .wk-post-grid { grid-template-columns: 1fr; gap: 20px; } }
.wk-post-card { display: flex; flex-direction: column; }
.wk-post-card__img-link { display: block; overflow: hidden; aspect-ratio: 16/10; background: var(--surface-2); margin-bottom: 16px; }
.wk-post-card__img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .5s ease; }
.wk-post-card__img-link:hover .wk-post-card__img { transform: scale(1.04); }
.wk-post-card__img-placeholder { aspect-ratio: 16/10; background: var(--surface-2); margin-bottom: 16px; }
.wk-post-card__body { flex: 1; display: flex; flex-direction: column; }
.wk-post-card__cats { margin-bottom: 8px; }
.wk-post-card__cat {
  font-size: 9.5px;
  font-weight: 800;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--accent);
  text-decoration: none;
  padding: 2px 8px;
  background: var(--accent-pale);
  border-radius: 2px;
}
.wk-post-card__meta { font-size: 11.5px; color: var(--ink-mute); margin-bottom: 8px; }
.wk-post-card__title {
  font-family: var(--font-display);
  font-size: clamp(17px,2.5vw,21px);
  font-weight: 400;
  line-height: 1.3;
  margin: 0 0 10px;
  color: var(--ink);
}
.wk-post-card__title a { color: inherit; text-decoration: none; transition: color .15s; }
.wk-post-card__title a:hover { color: var(--accent); }
.wk-post-card__excerpt { font-size: 13.5px; color: var(--ink-soft); line-height: 1.65; margin: 0 0 14px; flex: 1; }
.wk-post-card__footer { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-top: auto; }
.wk-post-card__date, .wk-post-card__read { font-size: 11.5px; color: var(--ink-mute); }
.wk-post-card__read-more {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--accent);
  text-decoration: none;
  margin-left: auto;
  transition: opacity .15s;
}
.wk-post-card__read-more:hover { opacity: .7; }

/* ── Blog Single ─────────────────────────────────────── */
.wk-blog-hero { max-height: 520px; overflow: hidden; margin-bottom: 0; }
.wk-blog-hero__img { width: 100%; max-height: 520px; object-fit: cover; display: block; }
.wk-blog-single__layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: 48px;
  padding: 40px 0 64px;
}
@media (min-width: 900px) {
  .wk-blog-single__layout { grid-template-columns: 1fr 280px; }
}
.wk-blog-meta {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 16px;
}
.wk-blog-meta__cat {
  font-size: 9.5px;
  font-weight: 800;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--accent);
  background: var(--accent-pale);
  padding: 3px 9px;
  border-radius: 2px;
  text-decoration: none;
}
.wk-blog-meta__date, .wk-blog-meta__read, .wk-blog-meta__sep { font-size: 12px; color: var(--ink-mute); }
.wk-blog-single__title {
  font-family: var(--font-display);
  font-size: clamp(28px, 5vw, 44px);
  font-weight: 400;
  line-height: 1.18;
  letter-spacing: .01em;
  margin: 0 0 24px;
  color: var(--ink);
}
.wk-blog-author {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px 0;
  border-top: .5px solid var(--line);
  border-bottom: .5px solid var(--line);
  margin-bottom: 28px;
  flex-wrap: wrap;
}
.wk-blog-author__avatar {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: var(--accent);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  font-weight: 700;
  flex-shrink: 0;
}
.wk-blog-author__name { font-size: 13.5px; font-weight: 700; color: var(--ink); display: block; }
.wk-blog-author__date { font-size: 11px; color: var(--ink-mute); }
.wk-blog-share { display: flex; align-items: center; gap: 6px; margin-left: auto; flex-wrap: wrap; }
.wk-blog-share__label { font-size: 11px; color: var(--ink-mute); }
.wk-blog-share__btn {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  font-weight: 800;
  color: #fff;
  text-decoration: none;
  transition: opacity .15s;
  flex-shrink: 0;
}
.wk-blog-share__btn:hover { opacity: .8; }
/* Blog content typography */
.wk-blog-content { font-size: 15.5px; line-height: 1.8; color: var(--ink-soft); }
.wk-blog-content h2 { font-family: var(--font-display); font-size: clamp(22px,3.5vw,28px); font-weight: 400; letter-spacing: .03em; color: var(--ink); margin: 36px 0 14px; }
.wk-blog-content h3 { font-family: var(--font-display); font-size: clamp(18px,3vw,22px); font-weight: 500; color: var(--ink); margin: 28px 0 10px; }
.wk-blog-content p { margin: 0 0 20px; }
.wk-blog-content img { max-width: 100%; height: auto; margin: 24px 0; border-radius: 3px; }
.wk-blog-content blockquote {
  border-left: 3px solid var(--accent);
  background: var(--accent-pale);
  padding: 16px 20px;
  margin: 24px 0;
  font-style: italic;
  font-size: 16px;
  color: var(--ink);
  font-family: var(--font-display);
}
.wk-blog-content a { color: var(--accent); text-decoration: underline; text-underline-offset: 3px; }
.wk-blog-content ul, .wk-blog-content ol { padding-left: 24px; margin: 0 0 20px; }
.wk-blog-content li { margin-bottom: 6px; }
.wk-blog-tags { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 28px; padding-top: 20px; border-top: .5px solid var(--line); }
.wk-blog-tag {
  font-size: 11px;
  font-weight: 600;
  color: var(--ink-mute);
  background: var(--surface-2);
  border: .5px solid var(--line);
  padding: 4px 10px;
  border-radius: 20px;
  text-decoration: none;
  transition: background .15s, color .15s;
}
.wk-blog-tag:hover { background: var(--accent-pale); color: var(--accent); border-color: var(--accent); }
/* Post navigation */
.wk-blog-post-nav {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-top: 32px;
  padding-top: 24px;
  border-top: .5px solid var(--line);
}
.wk-blog-nav-link {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 14px;
  border: .5px solid var(--line);
  background: var(--surface);
  text-decoration: none;
  transition: background .15s;
}
.wk-blog-nav-link:hover { background: var(--surface-2); }
.wk-blog-nav-link--next { text-align: right; }
.wk-blog-nav-link__dir { font-size: 10.5px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--ink-mute); }
.wk-blog-nav-link__title { font-size: 13.5px; font-weight: 600; color: var(--ink); line-height: 1.3; }
/* Sidebar */
.wk-blog-single__sidebar {}
.wk-blog-widget {}
.wk-blog-widget__title {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--ink-mute);
  margin: 0 0 14px;
  padding-bottom: 10px;
  border-bottom: .5px solid var(--line);
}
.wk-blog-widget__post {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 0;
  border-bottom: .5px solid var(--line-soft);
  text-decoration: none;
  color: var(--ink-soft);
  transition: color .15s;
}
.wk-blog-widget__post:hover { color: var(--ink); }
.wk-blog-widget__post-img {
  width: 52px;
  height: 52px;
  object-fit: cover;
  flex-shrink: 0;
  background: var(--surface-2);
}
.wk-blog-widget__post-title { display: block; font-size: 13px; font-weight: 600; line-height: 1.35; margin-bottom: 3px; }
.wk-blog-widget__post-date { font-size: 11px; color: var(--ink-mute); }
.wk-blog-cat-list { list-style: none; margin: 0; padding: 0; }
.wk-blog-cat-list li { border-bottom: .5px solid var(--line-soft); }
.wk-blog-cat-list li a {
  display: flex;
  justify-content: space-between;
  padding: 8px 4px;
  font-size: 13px;
  color: var(--ink-soft);
  text-decoration: none;
  transition: color .15s;
}
.wk-blog-cat-list li a:hover { color: var(--accent); }
/* Archive header */
.wk-archive-header {
  text-align: center;
  padding: 48px 0 32px;
  border-bottom: .5px solid var(--line);
  margin-bottom: 40px;
}
.wk-archive-header__eyebrow {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--ink-mute);
  margin-bottom: 8px;
}
.wk-archive-title {
  font-family: var(--font-display);
  font-size: clamp(28px, 5vw, 44px);
  font-weight: 300;
  color: var(--ink);
  margin: 0 0 12px;
}
.wk-archive-desc { font-size: 15px; color: var(--ink-mute); max-width: 560px; margin: 0 auto; }
/* Pagination */
.wk-blog-pagination { display: flex; justify-content: center; margin: 8px 0 60px; }
.wk-blog-pagination .nav-links { display: flex; gap: 6px; flex-wrap: wrap; align-items: center; }
.wk-blog-pagination .page-numbers {
  width: 38px;
  height: 38px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: .5px solid var(--line);
  font-size: 13px;
  color: var(--ink-soft);
  text-decoration: none;
  transition: background .15s, color .15s;
}
.wk-blog-pagination .page-numbers.current { background: var(--ink); color: var(--bg); border-color: var(--ink); }
.wk-blog-pagination .page-numbers:hover { background: var(--surface-2); }
.wk-blog-pagination .prev,.wk-blog-pagination .next { width: auto; padding: 0 14px; }
.wk-blog-empty { text-align: center; padding: 60px 20px; color: var(--ink-mute); }
/* Related posts */
.wk-blog-related { padding: 40px 0 60px; border-top: .5px solid var(--line); margin-top: 20px; }

/* ── FIX: Missing CSS definitions ───────────────────── */
.wk-pdp__placeholder,
.wk-pdp__placeholder-text {
  background: var(--surface-2);
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1;
  color: var(--ink-mute);
  font-size: 12px;
}
.wk-btn--outline {
  background: transparent !important;
  color: var(--ink) !important;
  border: .5px solid var(--ink) !important;
}
.wk-btn--outline:hover {
  background: var(--ink) !important;
  color: var(--bg) !important;
}
.wk-link-underline {
  text-decoration: underline;
  text-underline-offset: 4px;
  color: inherit;
}
.wk-eyebrow {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--ink-mute);
  display: block;
  margin-bottom: 6px;
}
/* Order notes */
.wk-order-note--failed {
  background: var(--sale-bg);
  color: var(--sale);
  padding: 12px 16px;
  border-left: 3px solid var(--sale);
  margin-bottom: 20px;
  font-size: 13.5px;
}
.wk-order-details__title {
  display: flex;
  align-items: center;
  gap: 12px;
  font-family: var(--font-display);
  font-size: clamp(18px,3vw,24px);
  font-weight: 400;
  margin: 0 0 6px;
  color: var(--ink);
}
.wk-order-details__meta { font-size: 13px; color: var(--ink-mute); margin: 0 0 24px; }
.wk-order-notes__title { font-size: 14px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: var(--ink-mute); margin: 24px 0 12px; }
.wk-order-notes__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.wk-order-note { background: var(--surface-2); padding: 12px 16px; border-left: 3px solid var(--accent); }
.wk-order-note__content { font-size: 13.5px; color: var(--ink-soft); margin: 0 0 4px; }
.wk-order-note__date { font-size: 11px; color: var(--ink-mute); margin: 0; }

/* ── 404 Page ─────────────────────────────────────────── */
.wk-404 {
  text-align: center;
  padding: 80px 20px;
  max-width: 680px;
  margin: 0 auto;
}
.wk-404__number {
  font-family: var(--font-display);
  font-size: clamp(80px, 18vw, 140px);
  font-weight: 300;
  line-height: 1;
  color: var(--line);
  letter-spacing: .04em;
  margin-bottom: 16px;
}
.wk-404__title {
  font-family: var(--font-display);
  font-size: clamp(22px, 4vw, 32px);
  font-weight: 400;
  color: var(--ink);
  margin: 0 0 12px;
}
.wk-404__text { font-size: 15px; color: var(--ink-mute); max-width: 440px; margin: 0 auto 28px; line-height: 1.7; }
.wk-404__actions { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; margin-bottom: 48px; }
.wk-404__products-label {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--ink-mute);
  margin-bottom: 20px;
}
.wk-404__product-grid {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: 12px;
}
@media (max-width: 640px) { .wk-404__product-grid { grid-template-columns: repeat(2,1fr); } }
.wk-404__product-card { text-decoration: none; display: flex; flex-direction: column; gap: 6px; }
.wk-404__product-card img { width: 100%; aspect-ratio: 3/4; object-fit: cover; display: block; background: var(--surface-2); transition: opacity .2s; }
.wk-404__product-card:hover img { opacity: .85; }
.wk-404__product-name { font-size: 12px; color: var(--ink-soft); line-height: 1.3; }
.wk-404__product-price { font-size: 12.5px; font-weight: 700; color: var(--ink); }

/* ══════════════════════════════════════════════════════
   PRODUCT PAGE — Recommended Products Section
   ══════════════════════════════════════════════════════ */
.wk-pdp-recommended {
  padding: 56px 0 72px;
  border-top: .5px solid var(--line);
  margin-top: 48px;
  background: var(--surface);
}
.wk-pdp-recommended__header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 28px;
  gap: 16px;
  flex-wrap: wrap;
}
.wk-pdp-recommended__title {
  font-family: var(--font-display);
  font-size: clamp(22px, 4vw, 32px);
  font-weight: 400;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--ink);
  margin: 0 0 4px;
}
.wk-pdp-recommended__sub {
  font-size: 13px;
  color: var(--ink-mute);
  margin: 0;
}
.wk-pdp-recommended__view-all {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--accent);
  text-decoration: none;
  flex-shrink: 0;
  transition: gap .2s;
  white-space: nowrap;
}
.wk-pdp-recommended__view-all:hover { gap: 10px; }

/* ── Product Grid ─────────────────────────────────────── */
.wk-pdp-recommended__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
}
@media (min-width: 540px)  { .wk-pdp-recommended__grid { grid-template-columns: repeat(3,1fr); } }
@media (min-width: 900px)  { .wk-pdp-recommended__grid { grid-template-columns: repeat(4,1fr); gap: 20px; } }
@media (min-width: 1200px) { .wk-pdp-recommended__grid { grid-template-columns: repeat(5,1fr); } }

/* ── Recommendation Card ─────────────────────────────── */
.wk-rec-card {
  position: relative;
  display: flex;
  flex-direction: column;
}
.wk-rec-card__img-link { display: block; }
.wk-rec-card__img-wrap {
  position: relative;
  overflow: hidden;
  aspect-ratio: 1/1;
  background: var(--surface-2);
  margin-bottom: 10px;
}
.wk-rec-card__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .5s cubic-bezier(.4,0,.2,1);
}
.wk-rec-card:hover .wk-rec-card__img { transform: scale(1.05); }

/* Badges */
.wk-rec-card__badges {
  position: absolute;
  top: 8px;
  left: 8px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  z-index: 3;
}
.wk-rec-badge {
  display: inline-block;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
  padding: 2px 7px;
  border-radius: 2px;
  line-height: 1.6;
}
.wk-rec-badge--sale { background: var(--sale); color: #fff; }
.wk-rec-badge--new  { background: #166534; color: #fff; }
.wk-rec-badge--oos  { background: var(--ink-mute); color: #fff; }

/* Quick view on card */
.wk-rec-card__qv {
  position: absolute;
  bottom: 8px;
  left: 50%;
  transform: translateX(-50%);
  background: rgba(255,255,255,.93);
  color: var(--ink);
  border: .5px solid var(--line);
  font-family: var(--font-body);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  padding: 6px 12px;
  cursor: pointer;
  white-space: nowrap;
  display: flex;
  align-items: center;
  gap: 5px;
  opacity: 0;
  transition: opacity .2s;
  backdrop-filter: blur(4px);
  border-radius: 2px;
  z-index: 4;
}
.wk-rec-card:hover .wk-rec-card__qv { opacity: 1; }
.wk-rec-card__qv:hover { background: var(--ink); color: var(--bg); }

/* Card body */
.wk-rec-card__body { flex: 1; display: flex; flex-direction: column; gap: 4px; }
.wk-rec-card__cat {
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--ink-mute);
}
.wk-rec-card__name {
  font-size: 13px;
  font-weight: 500;
  color: var(--ink-soft);
  text-decoration: none;
  line-height: 1.4;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  transition: color .15s;
}
.wk-rec-card__name:hover { color: var(--ink); }
.wk-rec-card__price { font-size: 13.5px; font-weight: 700; color: var(--ink); }
.wk-rec-card__price .woocommerce-Price-amount { font-weight: 700; }
.wk-rec-card__price ins { text-decoration: none; }
.wk-rec-card__price del { opacity: .5; font-size: 11.5px; font-weight: 400; margin-left: 3px; }
.wk-rec-card__price-row { margin-top: 2px; margin-bottom: 8px; }

/* Add to Cart button */
.wk-rec-card__atc {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  width: 100%;
  padding: 9px 12px;
  background: var(--ink);
  color: var(--bg);
  border: none;
  cursor: pointer;
  font-family: var(--font-body);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  text-decoration: none;
  transition: opacity .2s;
  margin-top: auto;
}
.wk-rec-card__atc:hover { opacity: .82; color: var(--bg); }
.wk-rec-card__atc.is-loading { opacity: .6; pointer-events: none; }
.wk-rec-card__atc.is-added {
  background: #166534;
  pointer-events: none;
}
.wk-rec-card__atc--options {
  background: transparent;
  color: var(--accent);
  border: .5px solid var(--accent);
}
.wk-rec-card__atc--options:hover { background: var(--accent); color: #fff; opacity: 1; }
.wk-rec-card__oos {
  font-size: 10px;
  color: var(--ink-mute);
  letter-spacing: .08em;
  text-transform: uppercase;
  margin-top: auto;
  padding-top: 4px;
}

/* Wishlist button on rec card */
.wk-rec-card__wl {
  position: absolute;
  top: 8px;
  right: 8px;
  z-index: 5;
  width: 32px;
  height: 32px;
  background: rgba(255,255,255,.9);
  border: none;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--ink-mute);
  backdrop-filter: blur(4px);
  transition: background .2s, color .2s;
  opacity: 0;
  transition: opacity .2s, background .2s, color .2s;
}
.wk-rec-card:hover .wk-rec-card__wl { opacity: 1; }
.wk-rec-card__wl.is-in-wishlist { opacity: 1; background: var(--accent); color: #fff; }
.wk-rec-card__wl:hover { background: var(--accent); color: #fff; }

/* Mobile: horizontal scroll fallback */
@media (max-width: 480px) {
  .wk-pdp-recommended__grid {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    gap: 10px;
    padding-bottom: 8px;
    scrollbar-width: none;
  }
  .wk-pdp-recommended__grid::-webkit-scrollbar { display: none; }
  .wk-rec-card {
    flex: 0 0 56vw;
    scroll-snap-align: start;
  }
}

/* ══════════════════════════════════════════════════════
   FIX PATCH v14.1 — Swipe, Zoom, Popup, Alignment, BottomNav
   ══════════════════════════════════════════════════════ */


/* ── FIX 2: Zoom — desktop lens + panel (robust positioning) ── */
@media (min-width: 768px) {
  .wk-gallery__img-wrapper {
    cursor: zoom-in;
    overflow: visible !important;   /* panel must bleed outside */
  }
  .wk-zoom-panel {
    position: absolute;
    top: 0;
    left: calc(100% + 20px);
    width: 380px;
    height: 380px;
    z-index: 200;
    box-shadow: 0 8px 40px rgba(0,0,0,.15);
    border: 1px solid var(--line);
    background: var(--surface);
    pointer-events: none;
  }
  /* if image column is right-side, flip panel to left */
  .wk-pdp__layout > *:last-child .wk-zoom-panel {
    left: auto;
    right: calc(100% + 20px);
  }
  .wk-zoom-lens { display: none; }
  .wk-gallery__img-wrapper:hover .wk-zoom-lens,
  .wk-gallery__img-wrapper.is-zooming .wk-zoom-lens { display: block; }
  .wk-gallery__img-wrapper.is-zooming .wk-zoom-panel { display: block; }
}

/* ── FIX 3: Mobile — enable native CSS pinch-zoom on gallery images ── */
@media (max-width: 767px) {
  .wk-gallery__img-wrapper {
    cursor: default;
    overflow: visible !important;
    touch-action: pan-x pinch-zoom;   /* allow pinch-to-zoom gesture */
  }
  .wk-gallery__img {
    touch-action: pinch-zoom;
    transform-origin: center center;
  }
  /* hide desktop lens/panel on mobile */
  .wk-zoom-lens,
  .wk-zoom-panel { display: none !important; }
}

/* ── FIX 4: Popup notification — safe position above bottom nav ── */
/* Offset so popup doesn't collide with bottom nav bar */
body.wk-has-bottom-nav .wk-sp-popup {
  bottom: calc(64px + env(safe-area-inset-bottom) + 12px) !important;
}
body.wk-has-bottom-nav #wk-fn-popup {
  bottom: calc(64px + env(safe-area-inset-bottom) + 12px) !important;
}
/* On mobile ensure popup doesn't overflow viewport edge */
@media (max-width: 767px) {
  .wk-sp-popup {
    left: 12px !important;
    right: auto;
    max-width: calc(100vw - 24px);
    width: 290px;
    box-sizing: border-box;
  }
  #wk-fn-popup {
    left: 12px !important;
    right: auto;
    max-width: calc(100vw - 24px);
    width: 290px;
    box-sizing: border-box;
    transform: none !important;  /* override inline JS bottom-center transforms on mobile */
  }
  /* when position is bottom-center, override to bottom-left on mobile */
  #wk-fn-popup[style*="left:50%"],
  #wk-fn-popup[style*="left: 50%"] {
    left: 12px !important;
    transform: none !important;
  }
}
/* Prevent popup transform conflict during animation — isolate layer */
#wk-fn-popup {
  will-change: opacity, bottom;
  transition: opacity .38s ease, transform .38s cubic-bezier(.34,1.56,.64,1) !important;
}

/* ── FIX 5: Site-wide margin & alignment reset ── */
/* HTML fills the full viewport — background prevents grey canvas showing */
html {
  margin: 0;
  padding: 0;
  width: 100%;
  background-color: var(--bg, #faf7f2); /* matches body so no grey gap */
  box-sizing: border-box;
}
/* ── Global overflow fix — prevents horizontal scroll on all devices ── */
html {
  overflow-x: hidden;
  max-width: 100%;
  box-sizing: border-box;
}
/* Body fills full width — overflow only on body (not html) avoids Chrome bug */
body {
  margin: 0 !important;
  padding: 0 !important;
  overflow-x: hidden;   /* only on body, not html — prevents Chrome width shrink */
  width: 100%;
  max-width: 100%;
  min-height: 100vh;
  box-sizing: border-box;
}
/* .wk-container is defined once, canonically, near the top of this file
   (see "Layout" section) — duplicate re-declarations that used to live
   here and below were fighting each other via source-order cascade and
   silently overriding page-specific max-widths (e.g. About page content). */

/* ── FIX 6: Bottom nav — perfect even alignment ── */
.wk-bottom-nav {
  display: flex !important;
  align-items: stretch;
  justify-content: space-evenly; /* more even than space-around */
  padding: 6px 4px max(8px, env(safe-area-inset-bottom));
  box-sizing: border-box;
}
.wk-bn-item {
  flex: 1 1 0%;          /* equal flex basis */
  min-width: 0;
  max-width: 80px;       /* cap width so 5 items stay compact */
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 3px;
  padding: 4px 2px 2px;
  text-align: center;
}
.wk-bn-item__label {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
  font-size: clamp(9px, 2.2vw, 11px);  /* responsive label */
}
/* Active indicator underline removed per request */
.wk-bn-item.is-active .wk-bn-item__icon-wrap::after {
  content: none;
  display: none;
}

/* ── FIX 7: Bottom nav device visibility — JS-added classes ── */
/* These override the PHP-level mobile_only class */
.wk-bottom-nav.wk-bn-hide-mobile {
  display: none !important;
}
@media (min-width: 768px) {
  .wk-bottom-nav.wk-bn-hide-mobile {
    display: flex !important;
  }
}
.wk-bottom-nav.wk-bn-hide-desktop {
  display: flex !important;
}
@media (min-width: 768px) {
  .wk-bottom-nav.wk-bn-hide-desktop {
    display: none !important;
  }
}
/* Custom breakpoint support */
.wk-bottom-nav.wk-bn-hide-tablet {
  display: flex !important;
}
@media (min-width: 768px) and (max-width: 1024px) {
  .wk-bottom-nav.wk-bn-hide-tablet {
    display: none !important;
  }
}
/* body padding responds to which device gets nav */
@media (min-width: 768px) {
  body.wk-has-bottom-nav-desktop {
    padding-bottom: calc(64px + env(safe-area-inset-bottom));
  }
}

/* ── FIX 8: PDP gallery dot indicators on mobile ── */
@media (max-width: 767px) {
  .wk-pdp__gallery-wrap {
    position: relative;
  }
  /* scroll progress indicator dots — optional, appended via JS */
  .wk-gallery-dots {
    display: flex;
    justify-content: center;
    gap: 6px;
    margin-top: 10px;
    padding: 0;
    list-style: none;
  }
  .wk-gallery-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--line);
    transition: background .2s, transform .2s;
    cursor: pointer;
  }
  .wk-gallery-dot.is-active {
    background: var(--accent);
    transform: scale(1.3);
  }
}

/* ── FIX 9: Image gallery desktop — ensure wrapper isn't clipping panel ── */
@media (min-width: 768px) {
  .wk-pdp__gallery {
    overflow: visible !important;  /* panel bleeds outside grid cell */
  }
  .wk-pdp__layout {
    overflow: visible !important;
  }
}


/* ══════════════════════════════════════════════════════
   EXIT POPUP — MOBILE BOTTOM SHEET
   Desktop: centered modal (unchanged)
   Mobile ≤767px: full-width bottom sheet, slides up
   ══════════════════════════════════════════════════════ */

@media (max-width: 767px) {
  /* Container becomes bottom-anchored flex */
  .wk-exit-popup {
    align-items: flex-end !important;
  }

  /* Sheet fills full width, anchored to bottom */
  .wk-exit-popup__modal {
    width: 100% !important;
    max-width: 100% !important;
    border-radius: 20px 20px 0 0 !important;
    border-top: none !important;   /* accent stripe replaced by handle */
    max-height: 92vh;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    /* Slide-up animation instead of scale */
    animation: wk-ep-sheet-in .38s cubic-bezier(.32,1,.23,1) !important;
    box-shadow: 0 -8px 40px rgba(0,0,0,.22) !important;
    /* Safe-area padding for notched phones */
    padding-bottom: max(0px, env(safe-area-inset-bottom));
  }
  @keyframes wk-ep-sheet-in {
    from { transform: translateY(100%); }
    to   { transform: translateY(0); }
  }
  /* Closing animation class (added by JS) */
  .wk-exit-popup__modal.is-closing {
    animation: wk-ep-sheet-out .28s cubic-bezier(.4,0,1,1) forwards !important;
  }
  @keyframes wk-ep-sheet-out {
    from { transform: translateY(0); }
    to   { transform: translateY(100%); }
  }

  /* Handle bar — drag indicator at top of sheet */
  .wk-exit-popup__modal::before {
    content: '';
    display: block;
    width: 40px;
    height: 4px;
    background: var(--line, #e0dbd3);
    border-radius: 2px;
    margin: 14px auto 0;
    flex-shrink: 0;
  }

  /* Tighter body padding on mobile */
  .wk-exit-popup__body {
    padding: 16px 22px 20px !important;
  }

  /* Heading slightly smaller on mobile */
  .wk-exit-popup__heading {
    font-size: 22px !important;
  }

  /* Full-width CTA button */
  .wk-exit-popup__btn {
    padding: 16px 24px !important;
    font-size: 14px !important;
  }

  /* Overlay slightly lighter on mobile — sheet provides focus */
  .wk-exit-popup__overlay {
    background: rgba(0,0,0,.55) !important;
  }

  /* Close button repositioned for sheet */
  .wk-exit-popup__close {
    top: 10px !important;
    right: 14px !important;
    font-size: 22px !important;
  }

  /* Image fills full sheet width */
  .wk-exit-popup__image img {
    max-height: 140px !important;
    border-radius: 0 !important;
  }

  /* Coupon code — full width block on mobile */
  .wk-exit-popup__coupon {
    display: flex !important;
    width: 100% !important;
    justify-content: center !important;
  }
}

/* Overlay fade-in shared between desktop + mobile */
.wk-exit-popup:not([hidden]) .wk-exit-popup__overlay {
  animation: wk-ep-overlay-in .25s ease forwards;
}
@keyframes wk-ep-overlay-in {
  from { opacity: 0; }
  to   { opacity: 1; }
}


/* ══════════════════════════════════════════════════════
   FULL-WIDTH RESET — removes all unintended outer margins
   ══════════════════════════════════════════════════════ */

/* WordPress wrapper resets — full width without breaking admin bar */
body,
#page,
#content,
.site,
.site-content,
#primary,
.entry-content,
#wk-main {
  width: 100%;
  max-width: 100%;
  margin-left: 0;
  margin-right: 0;
  padding-left: 0;
  padding-right: 0;
  box-sizing: border-box;
}

/* Sections that should bleed edge-to-edge (no inner padding) */
.wk-home-hero,
.wk-promo-strip,
.wk-header,
.wk-footer,
.wk-editorial-strip,
.wk-trust-strip,
.wk-categories-grid,
.wk-exit-popup,
.wk-bottom-nav {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

/* All sections sit flush with page edges — padding only inside .wk-container */
.wk-home-section,
.wk-section {
  width: 100%;
  box-sizing: border-box;
}

/* ── Mobile: extra zero-out for small screens ── */
@media (max-width: 767px) {
  body {
    margin: 0 !important;
    padding: 0 !important;
    width: 100%;
    overflow-x: hidden;
  }
}


/* ══════════════════════════════════════════════════════
   FINAL FULL-WIDTH FIX v1.5 — Production-ready
   ══════════════════════════════════════════════════════ */

/* HTML element covers full viewport with theme background colour
   This prevents browser grey showing if anything limits body width */
html {
  background: var(--bg, #faf7f2) !important;
  min-width: 100%;
}

/* Every template's main content wrapper — full width */
.wk-main,
.wk-home,
.wk-shop,
.wk-single,
.wk-page,
.wk-archive {
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

/* Announcement strip and header always edge-to-edge */
.wk-promo-strip,
.wk-header,
.wk-header__inner,
.wk-footer {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box;
}

/* .wk-container consolidated — see canonical definition near top of file */

/* Responsive padding — one shared token used site-wide by the header,
   hero, sections, product rails, and .wk-container itself, so side
   margins scale consistently together instead of drifting apart. */
@media (max-width: 767px) {
  :root { --pad-x: 16px; }
}
@media (min-width: 768px) and (max-width: 1023px) {
  :root { --pad-x: 24px; }
}
@media (min-width: 1024px) and (max-width: 1279px) {
  :root { --pad-x: 40px; }
}
@media (min-width: 1280px) {
  :root { --pad-x: 60px; }
}


/* ══════════════════════════════════════════════════════
   RESPONSIVE FIX v1.5 — Desktop, Tablet, Mobile Polish
   ══════════════════════════════════════════════════════ */

/* ── Large desktop (1280px+) — wider product grids, generous spacing ── */
@media (min-width: 1280px) {
  .wk-home-products-grid {
    grid-template-columns: repeat(4, 1fr);
    gap: 28px;
  }
  .wk-home-products-rail {
    gap: 24px;
  }
  .wk-home-cats {
    gap: 32px;
    justify-content: center;
    flex-wrap: wrap;
  }
  .wk-home-hero { min-height: 580px; }
  .wk-home-section { padding: 64px 0; }
}

/* ── Tablet (768px–1023px) — 3 col layout, compact header ── */
@media (min-width: 768px) and (max-width: 1023px) {
  .wk-home-products-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
  }
  .wk-home-products-rail {
    gap: 14px;
  }
  .wk-home-promos {
    grid-template-columns: 1fr 1fr;
    gap: 12px;
  }
  .wk-home-cats {
    gap: 18px;
    flex-wrap: wrap;
    justify-content: center;
  }
  .wk-home-hero { min-height: 440px; }
  .wk-home-section { padding: 40px 0; }
  /* Testimonials — 2 columns on tablet */
  .wk-home-testimonials {
    grid-template-columns: repeat(2, 1fr);
  }
  /* Footer grid on tablet */
  .wk-footer__grid {
    grid-template-columns: 1fr 1fr;
    gap: 32px;
  }
}

/* ── Mobile (max 767px) — 2 col products, single col sections ── */
@media (max-width: 767px) {
  .wk-home-products-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
  }
  .wk-home-products-rail {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    gap: 10px;
    scrollbar-width: none;
    padding-bottom: 6px;
  }
  .wk-home-products-rail::-webkit-scrollbar { display: none; }
  .wk-home-products-rail .wk-pcard {
    flex: 0 0 70vw;
    scroll-snap-align: start;
  }
  .wk-home-promos {
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .wk-home-testimonials {
    grid-template-columns: 1fr;
  }
  .wk-home-hero { min-height: 340px; }
  .wk-home-hero__title { font-size: clamp(32px, 9vw, 52px); }
  .wk-home-section { padding: 28px 0; }
  /* Footer single column on mobile */
  .wk-footer__grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  /* Trust strip vertical on very small screens */
  .wk-trust-strip {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px 0;
  }
}

/* ── Ultra-mobile (max 480px) — tightest layout ── */
@media (max-width: 480px) {
  .wk-home-hero { min-height: 280px; max-height: 560px; }
  .wk-home-hero__title { font-size: clamp(28px, 8vw, 44px); }
  .wk-home-section { padding: 22px 0; }
  .wk-home-products-grid {
    gap: 8px;
  }
  .wk-home-products-rail .wk-pcard {
    flex: 0 0 78vw;
  }
}

/* ── WooCommerce archive page — proper layout on all devices ── */
@media (max-width: 767px) {
  .wk-woo-main .wk-products-grid,
  .products.columns-4 {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 10px !important;
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .wk-woo-main .wk-products-grid,
  .products.columns-4 {
    grid-template-columns: repeat(3, 1fr) !important;
  }
}
@media (min-width: 1024px) {
  .wk-woo-main .wk-products-grid,
  .products.columns-4 {
    grid-template-columns: repeat(4, 1fr);
  }
}

/* NOTE (v24): duplicate .wk-pdp__layout responsive rules removed from here —
   consolidated into the single authoritative block further down (search
   "PDP Layout"). Multiple copies of this rule across the file were fighting
   each other in the cascade. */

/* ── Bottom nav safe area for notch phones ── */
.wk-bottom-nav {
  padding-bottom: max(8px, env(safe-area-inset-bottom, 8px));
}
/* Add body padding when bottom nav is visible to prevent content hiding behind it */
body.wk-has-bottom-nav {
  padding-bottom: calc(64px + env(safe-area-inset-bottom, 0px));
}


/* ══════════════════════════════════════════════════════
   ACCESSIBILITY & PRINT STYLES
   ══════════════════════════════════════════════════════ */

/* prefers-reduced-motion — disable all animations for users who request it */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
  .wk-home-hero__img,
  .wk-promo-strip__track,
  .wk-marquee { animation: none !important; }
}

/* Print styles — clean, ink-efficient layout */
@media print {
  /* Hide non-essential elements */
  .wk-header,
  .wk-bottom-nav,
  .wk-footer,
  .wk-promo-strip,
  .wk-exit-popup,
  .wk-welcome-popup,
  .wk-cod-popup,
  .wk-cart-reminder,
  .wk-fab-filter,
  .wk-filter-drawer,
  .wk-whatsapp-btn,
  .wk-wa-share,
  .wk-sticky-atc,
  .wk-pdp__add-to-cart,
  .wk-mobile-menu,
  .wk-search-overlay,
  .wk-cart-drawer,
  #wk-mobile-menu,
  .wk-pdp__actions,
  button:not(.print-show),
  nav { display: none !important; }

  /* Page setup */
  body { font-size: 12pt; color: #000; background: #fff; }
  a { color: #000; text-decoration: underline; }
  a[href^="http"]::after { content: " (" attr(href) ")"; font-size: 9pt; color: #555; }

  /* Product page: show key info clearly */
  .wk-pdp__title  { font-size: 18pt; }
  .wk-pdp__price  { font-size: 16pt; font-weight: bold; }
  .wk-pdp__layout { display: block; }
  .wk-pdp__gallery { display: none; } /* No image on print */
  .wk-pdp__info   { width: 100%; }

  /* Order / thank-you pages */
  .woocommerce-order { max-width: 100%; }
  .woocommerce-order-overview { display: grid; grid-template-columns: repeat(3,1fr); }

  /* Page breaks */
  h2, h3 { page-break-after: avoid; }
  table  { page-break-inside: avoid; }
}



/* ═══════════════════════════════════════════════════════════════
   PRODUCT GALLERY — Myntra/Meesho Style
   Desktop: thumbnail column left + main image + hover zoom panel
   Mobile:  full-width swipe carousel + dots
   ═══════════════════════════════════════════════════════════════ */

/* ── Layout wrapper ─────────────────────────────────────── */
.wk-pdp__gallery-wrap {
  display: flex;
  flex-direction: row;
  gap: 10px;
}

/* ── Thumbnail column (desktop, left side) ──────────────── */
.wk-gallery-thumbs {
  display: flex;
  flex-direction: column;
  gap: 6px;
  width: 68px;
  flex-shrink: 0;
  overflow-y: auto;
  max-height: 560px;
  scrollbar-width: none;
}
.wk-gallery-thumbs::-webkit-scrollbar { display: none; }

.wk-gallery-thumb {
  width: 68px;
  height: 86px;
  padding: 0;
  border: 2px solid #e8e8e8;
  border-radius: 4px;
  overflow: hidden;
  cursor: pointer;
  background: #f5f5f0;
  flex-shrink: 0;
  transition: border-color .15s;
  outline: none;
}
.wk-gallery-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.wk-gallery-thumb.is-active,
.wk-gallery-thumb:hover {
  border-color: var(--accent, #6B1E3E);
}

/* ── Main image area ────────────────────────────────────── */
.wk-gallery-main {
  flex: 1;
  min-width: 0;  /* Prevent flex overflow */
  position: relative;
  overflow: hidden !important;
  border-radius: 6px;
  background: #f9f7f4;
  /* NO height/aspect-ratio here — the IMAGE defines height via its own aspect-ratio
     This prevents the height:100% chain that collapses when parent has no explicit height */
}

/* ── Slide track — height from content, not parent ───────── */
.wk-gallery-track {
  display: flex;
  /* height: AUTO — the track is as tall as its tallest slide (the image) */
  transition: transform .35s cubic-bezier(.4, 0, .2, 1);
  will-change: transform;
  cursor: grab;
  user-select: none;
  -webkit-user-select: none;
  align-items: stretch;
}
.wk-gallery-track.no-transition { transition: none; }
.wk-gallery-track:active { cursor: grabbing; }

.wk-gallery-slide {
  min-width: 100%;
  width: 100%;
  flex-shrink: 0;
  position: relative;
  /* Height flows from the image inside */
}

/* ── Image sizing: aspect-ratio on mobile, capped height on wider screens ── */
/* FIX v24: aspect-ratio:3/4 with no cap made the gallery column blow up to
   1200px+ tall on desktop (wide column × tall ratio = huge blank-looking box).
   Mobile keeps the ratio (columns are narrow there so it stays reasonable);
   tablet/desktop switch to a fixed, sane height instead. */
.wk-gallery-img {
  width: 100%;
  display: block;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  object-position: top center;  /* Always show neckline/face for kurtis */
  user-select: none;
  -webkit-user-drag: none;
  pointer-events: none;
}
@media (min-width: 768px) {
  .wk-gallery-img { aspect-ratio: 1 / 1; height: auto; max-height: 620px; }
}
@media (min-width: 1024px) {
  .wk-gallery-img { max-height: 680px; }
}

/* ── Counter badge bottom-right ─────────────────────────────── */
.wk-gallery-counter {
  position: absolute;
  top: 10px;
  left: 10px;
  background: rgba(0,0,0,.45);
  color: #fff;
  font-size: 12px;
  font-weight: 500;
  padding: 3px 10px;
  border-radius: 20px;
  z-index: 5;
  pointer-events: none;
  letter-spacing: .02em;
}

/* ── Arrow buttons (always visible on touch, hover on desktop) */
.wk-gallery-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
  background: rgba(255,255,255,0.95);
  border: none;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-shadow: 0 1px 6px rgba(0,0,0,.18);
  color: #222;
  transition: opacity .2s, background .15s, box-shadow .15s;
  opacity: 0;
  padding: 0;
  outline: none;
  -webkit-tap-highlight-color: transparent;
}
.wk-gallery-main:hover .wk-gallery-arrow,
.wk-gallery-main:focus-within .wk-gallery-arrow { opacity: 1; }
.wk-gallery-arrow--prev { left: 10px; }
.wk-gallery-arrow--next { right: 10px; }
.wk-gallery-arrow:hover {
  background: #fff;
  box-shadow: 0 2px 14px rgba(0,0,0,.22);
  opacity: 1;
}
/* Touch devices: always show arrows slightly (not hidden behind hover) */
@media (hover: none) {
  .wk-gallery-arrow { display: none; } /* Swipe handles navigation on touch */
}

/* ── Expand (zoom-in icon) ──────────────────────────────── */
.wk-gallery-expand {
  position: absolute;
  bottom: 10px;
  right: 10px;
  z-index: 10;
  background: rgba(255,255,255,.9);
  border: none;
  width: 34px;
  height: 34px;
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: #444;
  box-shadow: 0 1px 6px rgba(0,0,0,.12);
  opacity: 0;
  transition: opacity .15s;
}
.wk-gallery-main:hover .wk-gallery-expand { opacity: 1; }

/* ── Dot indicators (hidden on desktop, shown on mobile) ── */
.wk-gallery-dots {
  display: none;
  position: absolute;
  bottom: 10px;
  left: 50%;
  transform: translateX(-50%);
  gap: 5px;
  z-index: 5;
}
.wk-gallery-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(255,255,255,.5);
  border: none;
  padding: 0;
  cursor: pointer;
  transition: background .2s, width .2s;
  flex-shrink: 0;
}
.wk-gallery-dot.is-active {
  background: #fff;
  width: 20px;
  border-radius: 3px;
}

/* ── Hover zoom lens (desktop only) ────────────────────── */
.wk-zoom-lens {
  position: absolute;
  width: 110px;
  height: 110px;
  border: 2px solid rgba(255,255,255,.7);
  border-radius: 50%;
  background: rgba(255,255,255,.15);
  pointer-events: none;
  z-index: 20;
  display: none;
  cursor: crosshair;
}

/* ── Zoom result panel (floats to the right of the gallery) */
.wk-zoom-panel {
  position: absolute;
  top: 0;
  left: calc(100% + 14px);
  width: 400px;
  height: 100%;
  max-height: 560px;
  overflow: hidden;
  border-radius: 6px;
  border: 1px solid #e8e8e8;
  background: #fff;
  box-shadow: 0 4px 20px rgba(0,0,0,.12);
  z-index: 50;
  pointer-events: none;
  display: none;
}
.wk-zoom-panel img {
  position: absolute;
  max-width: none;
  pointer-events: none;
}

/* ── Lightbox overlay ───────────────────────────────────── */
.wk-lightbox {
  position: fixed;
  inset: 0;
  z-index: 999999;
  background: rgba(0,0,0,.95);
  display: flex;
  align-items: center;
  justify-content: center;
}
.wk-lightbox__track {
  display: flex;
  width: 100%;
  height: 100%;
  transition: transform .3s cubic-bezier(.4,0,.2,1);
}
.wk-lightbox__track.no-transition { transition: none; }
.wk-lightbox__slide {
  min-width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 50px 60px;
}
.wk-lightbox__img {
  max-width: 100%;
  max-height: 90vh;
  object-fit: contain;
  user-select: none;
  -webkit-user-drag: none;
  border-radius: 3px;
}
.wk-lightbox__close {
  position: fixed;
  top: 12px;
  right: 14px;
  background: rgba(255,255,255,.1);
  border: none;
  color: #fff;
  font-size: 24px;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10;
  transition: background .15s;
}
.wk-lightbox__close:hover { background: rgba(255,255,255,.2); }
.wk-lightbox__nav {
  position: fixed;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(255,255,255,.1);
  border: none;
  color: #fff;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  z-index: 10;
  transition: background .15s;
}
.wk-lightbox__nav:hover { background: rgba(255,255,255,.2); }
.wk-lightbox__prev { left: 10px; }
.wk-lightbox__next { right: 10px; }
.wk-lightbox__counter {
  position: fixed;
  bottom: 16px;
  left: 50%;
  transform: translateX(-50%);
  color: rgba(255,255,255,.6);
  font-size: 13px;
  z-index: 10;
}

/* ═══════════════ MOBILE (max 767px) ═══════════════════════ */
@media (max-width: 767px) {
  .wk-pdp__gallery-wrap {
    flex-direction: column;
    margin: 0 -16px;
    gap: 8px;
  }

  /* Hide desktop thumbnails — use dots instead */
  .wk-gallery-thumbs { display: none; }

  /* Full-width image on mobile */
  .wk-gallery-main {
    border-radius: 0;
    overflow: hidden;
    cursor: default;
  }
  .wk-gallery-track { cursor: default; }
  .wk-gallery-track:active { cursor: default; }

  .wk-gallery-img {
    aspect-ratio: 1 / 1;  /* Square product image on mobile */
  }

  /* Show dots on mobile */
  .wk-gallery-dots { display: flex; }

  /* Hide hover-only things on mobile */
  .wk-gallery-arrow { display: none; }
  .wk-gallery-expand { opacity: 1; }
  .wk-zoom-lens,
  .wk-zoom-panel { display: none !important; }

  /* Make counter more visible on mobile */
  .wk-gallery-counter { font-size: 11px; }

  /* After-gallery: thumbnail row as swipeable strip */
  .wk-gallery-thumbs-mobile {
    display: flex;
    gap: 5px;
    overflow-x: auto;
    padding: 0 16px;
    scrollbar-width: none;
  }
  .wk-gallery-thumbs-mobile::-webkit-scrollbar { display: none; }
  .wk-gallery-thumbs-mobile .wk-gallery-thumb {
    width: 48px;
    height: 60px;
    flex-shrink: 0;
  }
}

/* ═══════════════ TABLET (768px–1023px) ════════════════════ */
@media (min-width: 768px) and (max-width: 1023px) {
  .wk-gallery-thumbs { width: 56px; }
  .wk-gallery-thumb  { width: 56px; height: 70px; }
  .wk-zoom-panel     { width: 300px; }
}


/* ══════════════════════════════════════════════════════════════
   PRODUCT PAGE — Sizes, Buttons, Layout Fixes
   ══════════════════════════════════════════════════════════════ */

/* ── Hide the WC form visually but keep it functional ─────── */
/* ── WC native form: off-screen but JS-clickable ─────────── */
/* IMPORTANT: visibility:hidden is intentionally NOT used here — WC CSS can override it.
   Instead we move it far off-screen so .click() in JS still works (opacity/off-screen
   elements can be JS-clicked; display:none cannot). */
.wk-pdp__wc-form {
  position: absolute !important;
  left: -9999px !important;
  top: 0 !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  clip: rect(0,0,0,0) !important;
  clip-path: inset(100%) !important;
  z-index: -1 !important;
}
/* Prevent any WC child from overflowing the container */
.wk-pdp__wc-form * {
  max-width: 1px !important;
  max-height: 1px !important;
  overflow: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* ── Variation groups (sizes/colors) ─────────────────────── */
.wk-pdp__variations {
  margin: 0 0 16px;
}
.wk-variation-group {
  margin-bottom: 14px;
}
.wk-variation-group__head {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 10px;
}
.wk-variation-group__label {
  font-size: 13px;
  font-weight: 600;
  color: #333;
  text-transform: uppercase;
  letter-spacing: .05em;
}
.wk-variation-group__selected {
  font-size: 13px;
  color: var(--accent, #6B1E3E);
  font-weight: 500;
}

/* ── Size pill options (Myntra style) ─────────────────────── */
.wk-variation-group__options {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.wk-var-opt--size {
  width: 46px;
  height: 46px;
  padding: 0;
  border: 1.5px solid #d1d5db;
  border-radius: 50%;
  background: #fff;
  font-size: 12px;
  font-weight: 700;
  color: #374151;
  cursor: pointer;
  transition: border-color .15s, background .15s, color .15s, transform .1s;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  letter-spacing: .01em;
  text-transform: uppercase;
}
.wk-var-opt--size:hover {
  border-color: var(--accent, #6B1E3E);
  color: var(--accent, #6B1E3E);
  transform: scale(1.05);
}
.wk-var-opt--size.is-selected {
  border-color: var(--accent, #6B1E3E);
  background: var(--accent, #6B1E3E);
  color: #fff;
  transform: scale(1.05);
}
.wk-var-opt--size.is-disabled {
  opacity: .35;
  cursor: not-allowed;
  text-decoration: line-through;
  pointer-events: none;
}
/* Size guide link next to label */
.wk-variation-group__size-guide {
  margin-left: auto;
  font-size: 11px;
  color: var(--accent, #6B1E3E);
  text-decoration: underline;
  cursor: pointer;
  font-weight: 400;
}

/* ── Color swatch options ─────────────────────────────────── */
.wk-var-opt--color {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 2px solid transparent;
  padding: 0;
  cursor: pointer;
  background: #ddd;
  transition: box-shadow .15s, transform .15s;
  box-shadow: 0 0 0 1px rgba(0,0,0,.1);
}
.wk-var-opt--color:hover {
  transform: scale(1.1);
}
.wk-var-opt--color.is-selected {
  box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--accent, #6B1E3E);
}
.wk-var-opt--color.is-disabled {
  opacity: .35;
  cursor: not-allowed;
  pointer-events: none;
  position: relative;
}
.wk-var-opt--color.is-disabled::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 50%;
  background: linear-gradient(to top right, transparent 47%, #9ca3af 49%, #9ca3af 51%, transparent 53%);
}

/* ── Variation notice ─────────────────────────────────────── */
.wk-variation-notice {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12.5px;
  color: #dc2626;
  background: #fef2f2;
  border: 1px solid #fecaca;
  border-radius: 6px;
  padding: 8px 12px;
  margin-top: 8px;
}
/* CRITICAL: display:flex overrides HTML hidden attr — must explicitly null it */
.wk-variation-notice[hidden],
[hidden].wk-variation-notice {
  display: none !important;
}
/* Also hide WC native "please select" notices inside our hidden form */
#wk-wc-form .woocommerce-variation-add-to-cart,
#wk-wc-form .woocommerce-variation-price,
#wk-wc-form .single_add_to_cart_button.disabled {
  display: none !important;
}

/* ── Buy Now button ───────────────────────────────────────── */
.wk-btn--buy-now {
  background: var(--accent, #6B1E3E);
  color: #fff;
  border: 2px solid var(--accent, #6B1E3E);
  font-size: 15px;
  font-weight: 600;
  height: 50px;
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  cursor: pointer;
  margin-bottom: 10px;
  transition: background .2s, transform .1s;
  letter-spacing: .02em;
}
.wk-btn--buy-now:hover { background: #5a1934; }
.wk-btn--buy-now:active { transform: scale(.99); }

/* ── Add to Cart button ───────────────────────────────────── */
.wk-btn--atc {
  border: 2px solid var(--accent, #6B1E3E);
  background: transparent;
  color: var(--accent, #6B1E3E);
  font-size: 15px;
  font-weight: 600;
  height: 50px;
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  cursor: pointer;
  margin-bottom: 14px;
  transition: background .2s, color .2s;
}
.wk-btn--atc:hover {
  background: var(--accent, #6B1E3E);
  color: #fff;
}
.wk-btn--atc.is-loading::after {
  content: '';
  width: 16px; height: 16px;
  border: 2px solid currentColor;
  border-top-color: transparent;
  border-radius: 50%;
  animation: spin .7s linear infinite;
  margin-left: 6px;
}
@keyframes spin { to { transform: rotate(360deg); } }

/* ── Out of stock ─────────────────────────────────────────── */
.wk-out-of-stock {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  color: #6b7280;
  background: #f9fafb;
  border: 1px solid #e5e7eb;
  border-radius: 6px;
  padding: 12px 16px;
  margin-bottom: 14px;
}

/* ── Short description (after buttons) ───────────────────── */
.wk-pdp__short-desc {
  font-size: 13.5px;
  color: #555;
  line-height: 1.65;
  margin-bottom: 16px;
  padding: 12px 0;
  border-top: 1px solid var(--line, #e8e4de);
}
.wk-pdp__short-desc p:last-child { margin-bottom: 0; }

/* ── Fix overlapping z-index issues ──────────────────────── */
.wk-header { z-index: 500; }
.wk-mobile-menu-overlay { z-index: 501; }
.wk-cart-overlay { z-index: 501; }
.wk-search-overlay { z-index: 502; }
.wk-bottom-nav { z-index: 300; }
.wk-sticky-atc { z-index: 290; }
.wk-zoom-panel { z-index: 50; }
.wk-lightbox { z-index: 600; }
.wk-filter-drawer { z-index: 400; }
.wk-welcome-popup { z-index: 550; }
.wk-cod-popup { z-index: 560; }

/* ── Fix filter drawer from mobile-filters.php conflicts ──── */
/* Ensure the filter panel slides from LEFT (consistent) */
#wk-filter-drawer .wk-filter-drawer__panel {
  position: absolute;
  top: 0; left: 0; bottom: 0;
  width: min(320px, 88vw);
  background: var(--bg, #fff);
  display: flex;
  flex-direction: column;
  transform: translateX(-100%);
  transition: transform .28s cubic-bezier(.32,.72,0,1);
  box-shadow: 4px 0 20px rgba(0,0,0,.08);
}
#wk-filter-drawer.is-open .wk-filter-drawer__panel {
  transform: translateX(0);
}

/* Fix: mobile-filters added wk-filter-drawer__overlay that conflicts */
.wk-filter-drawer__overlay {
  display: none; /* Mobile-filters panel overlay - use backdrop instead */
}

/* NOTE (v24): duplicate .wk-pdp__layout rules removed from here too — see
   the single authoritative "PDP Layout" block further down. The mobile
   padding tweak below is unique to this block so it's kept. */
@media (max-width: 767px) {
  .wk-pdp__info {
    padding: 16px;
  }
}


/* ── Accessibility: focus-visible for keyboard users ── */
:focus-visible {
  outline: 2px solid var(--accent, #6B1E3E);
  outline-offset: 2px;
  border-radius: 2px;
}
/* Remove outline for mouse users */
:focus:not(:focus-visible) {
  outline: none;
}
/* Skip-to-content link */
.skip-link:focus {
  position: fixed;
  top: 0; left: 0;
  background: var(--accent, #6B1E3E);
  color: #fff;
  padding: 8px 16px;
  z-index: 100000;
  font-size: 13px;
  text-decoration: none;
}

/* ══════════════════════════════════════════════════════════════
   LAYOUT FIXES — Proper margins, no content cutting
   ══════════════════════════════════════════════════════════════ */

/* Prevent any horizontal overflow from cutting content */
html, body {
  overflow-x: hidden;
  width: 100%;
}
body { overflow-x: hidden; }

/* .wk-container consolidated (with its responsive breakpoints) into the
   canonical definition near the top of this file. */

/* Header inner: match container padding */
.wk-header__inner {
  padding-left:  max(16px, env(safe-area-inset-left, 16px));
  padding-right: max(16px, env(safe-area-inset-right, 16px));
  box-sizing: border-box;
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
}

/* Images & elements never overflow */
img, video, iframe, svg { max-width: 100%; height: auto; }

   MEESHO-STYLE SHOP PAGE — Clean 2-column grid, top filter bar
   ══════════════════════════════════════════════════════════════ */

/* Shop header: sort and filter inline */
.wk-shop-head {
  background: #fff;
  border-bottom: 1px solid #f0f0f0;
  position: sticky;
  top: var(--header-h, 64px);
  z-index: 100;
}
.wk-shop-head__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 0;
  gap: 10px;
}
.wk-shop-head__title h1 {
  font-size: 18px;
  font-weight: 700;
  margin: 0;
}
.wk-shop-head__title .woocommerce-result-count {
  font-size: 12px;
  color: #888;
  margin: 2px 0 0;
}
.wk-shop-head__controls {
  display: flex;
  align-items: center;
  gap: 8px;
}

/* Products grid — proper visible gutter between cards */
.wk-products-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px 10px;
  background: transparent;
}
.wk-products-grid--3col { grid-template-columns: repeat(3, 1fr); }
.wk-products-grid--4col { grid-template-columns: repeat(4, 1fr); }

@media (min-width: 768px) {
  .wk-products-grid { grid-template-columns: repeat(3, 1fr); gap: 20px 16px; background: transparent; }
  .wk-products-grid--4col { grid-template-columns: repeat(4, 1fr); }
}
@media (min-width: 1200px) {
  .wk-products-grid { grid-template-columns: repeat(4, 1fr); }
}

/* Product card - Meesho style */
.wk-pcard {
  background: #fff;
  cursor: pointer;
  position: relative;
}
.wk-pcard-link { text-decoration: none; color: inherit; display: block; }
.wk-pcard__media {
  position: relative;
  overflow: hidden;
  background: #f5f0eb;
  aspect-ratio: 1 / 1;
}
.wk-pcard__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .4s ease;
}
.wk-pcard:hover .wk-pcard__img { transform: scale(1.04); }
.wk-pcard-info {
  padding: 8px 10px 12px;
}
.wk-pcard-cat {
  font-size: 10px;
  color: #999;
  text-transform: uppercase;
  letter-spacing: .06em;
  display: block;
  margin-bottom: 2px;
}
.wk-pcard-title {
  font-size: 13px;
  font-weight: 500;
  color: #111;
  margin: 0 0 4px;
  line-height: 1.35;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.wk-pcard-price {
  font-size: 14px;
  font-weight: 700;
  color: #111;
}
.wk-pcard-price .wk-price-was {
  font-size: 11px;
  color: #999;
  text-decoration: line-through;
  font-weight: 400;
  margin-left: 4px;
}
.wk-pcard-price .wk-price-save {
  font-size: 11px;
  color: #26a541;
  font-weight: 600;
  margin-left: 4px;
}

/* Badges */
.wk-badge {
  position: absolute;
  top: 8px;
  left: 8px;
  background: var(--accent, #6B1E3E);
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  padding: 3px 7px;
  border-radius: 3px;
  z-index: 2;
}

/* Wishlist heart on card */
.wk-pcard-wishlist {
  position: absolute;
  top: 8px;
  right: 8px;
  width: 32px;
  height: 32px;
  background: rgba(255,255,255,.9);
  border: none;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
  box-shadow: 0 1px 4px rgba(0,0,0,.1);
  transition: transform .15s;
}
.wk-pcard-wishlist:hover { transform: scale(1.1); }

/* Category pills in topbar */
.wk-topbar-filters {
  display: flex;
  gap: 6px;
  overflow-x: auto;
  padding: 8px 0;
  scrollbar-width: none;
}
.wk-topbar-filters::-webkit-scrollbar { display: none; }
.wk-topbar-filter-link {
  white-space: nowrap;
  font-size: 12px;
  font-weight: 600;
  padding: 6px 14px;
  border-radius: 20px;
  border: 1px solid #ddd;
  color: #555;
  text-decoration: none;
  transition: all .15s;
  flex-shrink: 0;
}
.wk-topbar-filter-link:hover,
.wk-topbar-filter-link[aria-current="page"] {
  background: var(--accent, #6B1E3E);
  color: #fff;
  border-color: var(--accent, #6B1E3E);
}

   MOBILE MENU — z-index fix + proper overlay
   ══════════════════════════════════════════════════════════════ */
#wk-menu-overlay {
  z-index: 9999;
}

/* ══════════════════════════════════════════════════════════════
   ADMIN OPTIONS — Better looking settings panels
   ══════════════════════════════════════════════════════════════ */
.wk-admin-section {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  margin-bottom: 20px;
  overflow: hidden;
}
.wk-admin-section-head {
  background: #f9fafb;
  border-bottom: 1px solid #e5e7eb;
  padding: 12px 18px;
  font-size: 13px;
  font-weight: 600;
  color: #374151;
}

/* ── Topbar filter: PHP outputs .wk-chip, CSS also supports .wk-topbar-filter-link ── */
.wk-topbar-filters .wk-chip {
  white-space: nowrap;
  font-size: 12px;
  font-weight: 600;
  padding: 6px 14px;
  border-radius: 20px;
  border: 1px solid #ddd !important;
  color: #555;
  text-decoration: none;
  transition: all .15s;
  flex-shrink: 0;
  background: #fff;
}
.wk-topbar-filters .wk-chip:hover,
.wk-topbar-filters .wk-chip.active {
  background: var(--accent, #6B1E3E) !important;
  color: #fff !important;
  border-color: var(--accent, #6B1E3E) !important;
}

/* ══════════════════════════════════════════════════════════════
   SIZE SELECTOR — Final override: ensure horizontal wrap layout
   ══════════════════════════════════════════════════════════════ */
.wk-variation-group__options {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  align-items: center;
}
/* Large sizes (3XL, 4XL, 5XL) need slightly wider pill */
.wk-var-opt--size[data-value="XXXL"],
.wk-var-opt--size[data-value="4XL"],
.wk-var-opt--size[data-value="5XL"] {
  width: auto !important;
  min-width: 46px;
  padding: 0 8px !important;
  border-radius: 23px !important;
}
/* WooCommerce native variation form inside hidden div — NEVER show */
.wk-pdp__wc-form .variations,
.wk-pdp__wc-form .variations_form,
.wk-pdp__wc-form table,
.wk-pdp__wc-form tr,
.wk-pdp__wc-form td,
.wk-pdp__wc-form select,
.wk-pdp__wc-form .single_add_to_cart_button {
  position: absolute !important;
  left: -9999px !important;
  opacity: 0 !important;
  pointer-events: none !important;
  width: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
}

/* ══════════════════════════════════════════════════════════════
   FILTER DRAWER — Final consistent styles across all pages
   ══════════════════════════════════════════════════════════════ */
.wk-filter-drawer {
  position: fixed;
  inset: 0;
  z-index: 400;
  pointer-events: none;
}
.wk-filter-drawer.is-open {
  pointer-events: auto;
}
.wk-filter-drawer .wk-overlay__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.45);
  opacity: 0;
  transition: opacity .28s;
}
.wk-filter-drawer.is-open .wk-overlay__backdrop {
  opacity: 1;
}
.wk-filter-drawer__panel {
  position: absolute;
  top: 0; left: 0; bottom: 0;
  width: min(320px, 88vw);
  background: var(--bg, #fff);
  display: flex;
  flex-direction: column;
  transform: translateX(-100%);
  transition: transform .28s cubic-bezier(.32,.72,0,1);
  box-shadow: 4px 0 24px rgba(0,0,0,.1);
  overflow: hidden;
}
.wk-filter-drawer.is-open .wk-filter-drawer__panel {
  transform: translateX(0);
}
.wk-filter-drawer__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 18px 20px;
  border-bottom: 1px solid var(--line, #ebebeb);
  font-weight: 600;
  font-size: 13px;
  letter-spacing: .08em;
  text-transform: uppercase;
  flex-shrink: 0;
}
.wk-filter-drawer__body {
  flex: 1;
  overflow-y: auto;
  padding: 20px;
  -webkit-overflow-scrolling: touch;
}
.wk-filter-drawer__foot {
  padding: 16px 20px;
  border-top: 1px solid var(--line, #ebebeb);
  display: flex;
  gap: 10px;
  flex-shrink: 0;
}
.wk-filter-group {
  margin-bottom: 24px;
}
.wk-filter-group__title {
  font-size: 11px;
  letter-spacing: .18em;
  text-transform: uppercase;
  font-weight: 700;
  margin-bottom: 12px;
  color: var(--ink, #111);
}
.wk-filter-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.wk-filter-list li {
  margin-bottom: 0;
}
.wk-filter-list a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 0;
  font-size: 13.5px;
  color: var(--ink-soft, #666);
  border-bottom: 1px solid var(--line-soft, #f0f0f0);
  text-decoration: none;
  transition: color .15s;
}
.wk-filter-list a:hover,
.wk-filter-list li.active a {
  color: var(--accent, #6B1E3E);
  font-weight: 600;
}
.wk-filter-list a span {
  font-size: 11px;
  color: #aaa;
  font-weight: 400;
}

/* ══════════════════════════════════════════════════════════════
   PDP BUTTONS — Buy Now (primary) + Add to Cart (secondary)
   Premium ecommerce layout - Myntra/Nykaa standard
   ══════════════════════════════════════════════════════════════ */
.wk-btn--buy-now {
  background: var(--accent, #6B1E3E) !important;
  color: #fff !important;
  border: 2px solid var(--accent, #6B1E3E) !important;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  font-size: 13px;
  padding: 14px 20px !important;
  height: 48px !important;
  border-radius: 4px !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  cursor: pointer;
  transition: background .2s, transform .1s, box-shadow .2s;
  box-shadow: 0 2px 12px rgba(107,30,62,.25);
}
.wk-btn--buy-now:hover {
  background: #5a1833 !important;
  box-shadow: 0 4px 18px rgba(107,30,62,.35);
}
.wk-btn--buy-now:active {
  transform: scale(.98);
}

.wk-btn--atc {
  background: #fff !important;
  color: var(--accent, #6B1E3E) !important;
  border: 2px solid var(--accent, #6B1E3E) !important;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  font-size: 13px;
  padding: 14px 20px !important;
  height: 48px !important;
  border-radius: 4px !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  cursor: pointer;
  transition: all .2s;
  margin-top: 10px;
}
.wk-btn--atc:hover {
  background: var(--accent, #6B1E3E) !important;
  color: #fff !important;
}
.wk-btn--atc:active {
  transform: scale(.98);
}

/* Loading state */
.wk-btn--atc.is-loading {
  opacity: 0.7;
  cursor: wait;
}

/* ══════════════════════════════════════════════════════════════
   PRODUCT CARD QUICK-ATC — Overlay style (Meesho/Myntra pattern)
   ══════════════════════════════════════════════════════════════ */
.wk-pcard {
  position: relative;
  overflow: hidden;
}
.wk-quick-atc {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: rgba(107,30,62,0.92);
  color: #fff;
  border: none;
  font-size: 11px;
  letter-spacing: .14em;
  text-transform: uppercase;
  font-weight: 700;
  padding: 11px 16px;
  cursor: pointer;
  opacity: 0;
  transform: translateY(100%);
  transition: opacity .22s, transform .22s;
  font-family: var(--font-body, sans-serif);
  z-index: 3;
  width: 100%;
  text-align: center;
}
.wk-pcard:hover .wk-quick-atc {
  opacity: 1;
  transform: translateY(0);
}
@media (hover: none) {
  /* Touch devices: always show ATC button */
  .wk-quick-atc {
    opacity: 1;
    transform: translateY(0);
    padding: 9px 12px;
    font-size: 10px;
  }
}
/* Prevent duplicate ATC from old definition */
.wk-pcard a.wk-pcard-link ~ .wk-quick-atc {
  display: block; /* ensure it's visible, not hidden by link styles */
}

/* ══════════════════════════════════════════════════════════════
   SHOP PAGE — WooCommerce ordering dropdown + result count
   ══════════════════════════════════════════════════════════════ */
.woocommerce-ordering select,
.woocommerce-ordering .orderby {
  border: 1px solid #ddd;
  border-radius: 20px;
  padding: 6px 28px 6px 12px;
  font-size: 12px;
  font-weight: 500;
  color: #444;
  background: #fff;
  appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L5 5L9 1' stroke='%23666' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 10px center;
  min-width: 130px;
}
.woocommerce-ordering select:focus {
  outline: 2px solid var(--accent, #6B1E3E);
  outline-offset: 1px;
  border-color: var(--accent, #6B1E3E);
}
.woocommerce-result-count {
  font-size: 12px;
  color: #888;
  margin: 0;
}
/* Filter button style now lives in the shared .wk-shop-tab rule
   (see "Filter / Sort tab bar" block) so both buttons match. */

/* ══════════════════════════════════════════════════════════════
   GALLERY MOBILE — Final touch-action and overflow fix
   ══════════════════════════════════════════════════════════════ */
@media (max-width: 767px) {
  /* Gallery container: full bleed on mobile */
  .wk-pdp__gallery-wrap {
    margin: 0 -16px !important;
    border-radius: 0;
  }
  /* Gallery: touch-action on main for scroll+swipe, track auto-width */
  .wk-gallery-main {
    overflow: hidden !important;
    border-radius: 0 !important;
    touch-action: pan-y;
    margin: 0 -16px;
    width: calc(100% + 32px);
  }
  .wk-gallery-track {
    cursor: default !important;
  }
  .wk-gallery-img {
    aspect-ratio: 1 / 1;  /* Ensure correct square ratio on mobile */
  }
  /* Dot indicators */
  .wk-gallery-dots {
    display: flex !important;
    position: absolute;
    bottom: 10px;
    left: 50%;
    transform: translateX(-50%);
    gap: 5px;
    z-index: 5;
  }
  /* Arrow buttons completely hidden on mobile — use swipe */
  .wk-gallery-arrow { display: none !important; }
  /* Expand icon: visible but compact */
  .wk-gallery-expand {
    opacity: 1 !important;
    bottom: 8px;
    right: 8px;
  }
  /* Counter: visible */
  .wk-gallery-counter {
    display: flex !important;
    font-size: 11px;
  }
}

/* ══════════════════════════════════════════════════════════════
   COMPREHENSIVE MOBILE FIX v19 — All pages, all viewports
   ══════════════════════════════════════════════════════════════ */

/* ── Root mobile resets ───────────────────────────────────────── */
html, body {
  overflow-x: hidden !important;
  max-width: 100vw;
  position: relative;
}
img, video, iframe, embed, object {
  max-width: 100%;
  height: auto;
}
table {
  max-width: 100%;
  overflow-x: auto;
  display: block;
}

/* ── Header mobile fix ────────────────────────────────────────── */
.wk-header {
  position: sticky;
  top: 0;
  z-index: 200;
  width: 100%;
  background: var(--bg, #fff);
  border-bottom: 1px solid var(--line, #ebebeb);
}
.wk-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 16px;
  height: 56px;
  max-width: 100%;
}
.wk-header__brand {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  pointer-events: none;
}
.wk-header__brand a,
.wk-brand-name {
  pointer-events: auto;
  font-size: 18px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  text-decoration: none;
  color: var(--ink, #111);
  white-space: nowrap;
}
.wk-header__left,
.wk-header__actions {
  display: flex;
  align-items: center;
  gap: 4px;
  z-index: 1;
}
@media (max-width: 767px) {
  .wk-header__inner { height: 52px; padding: 0 12px; }
  .wk-brand-name { font-size: 15px; letter-spacing: .1em; }
  .wk-desktop-nav { display: none; }
}

/* .wk-container consolidated — see canonical definition near top of file */

/* ── Shop page mobile ──────────────────────────────────────────── */
@media (max-width: 767px) {
  .wk-shop-head {
    padding: 10px 0;
    position: sticky;
    top: 52px;
    z-index: 100;
  }
  .wk-shop-head__inner {
    flex-wrap: nowrap;
    gap: 8px;
    padding: 6px 0;
  }
  .wk-shop-head__title h1 {
    font-size: 15px !important;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 160px;
  }
  .wk-shop-head__controls {
    flex-shrink: 0;
    gap: 6px;
  }
  .wk-products-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 14px 10px !important;
    background: transparent;
  }
  .wk-pcard {
    background: #fff;
  }
}

/* ── PDP mobile ─────────────────────────────────────────────────── */
@media (max-width: 767px) {
  .wk-pdp__info {
    padding: 16px !important;
  }
  .wk-pdp__title {
    font-size: clamp(18px, 5vw, 26px) !important;
    line-height: 1.25;
  }
  .wk-pdp__price {
    font-size: 20px;
  }
  .wk-pdp__trust {
    grid-template-columns: 1fr 1fr;
    gap: 8px;
  }
  .wk-pdp__pincode-form {
    display: flex;
    gap: 8px;
  }
  .wk-pdp__pincode-form input {
    flex: 1;
    min-width: 0;
  }
}

/* ── Cart + Checkout mobile ────────────────────────────────────── */
@media (max-width: 767px) {
  .woocommerce-cart table.cart,
  .woocommerce-checkout .woocommerce-checkout {
    width: 100%;
    display: block;
  }
  .woocommerce-cart table.cart thead { display: none; }
  .woocommerce-cart table.cart tbody tr { display: block; padding: 12px 0; border-bottom: 1px solid #f0f0f0; }
  .woocommerce-cart table.cart .product-thumbnail { display: none; }
  .woocommerce-cart table.cart td { display: block; padding: 4px 0; border: none !important; }
  .woocommerce-cart table.cart td.product-name::before { content: attr(data-title) ": "; font-weight: 700; }
  .woocommerce-cart table.cart td.product-price::before { content: "Price: "; font-weight: 700; }
  .woocommerce-cart table.cart td.product-quantity::before { content: "Qty: "; font-weight: 700; }
  .woocommerce-cart table.cart td.product-subtotal::before { content: "Total: "; font-weight: 700; }
}

/* ── Footer mobile ─────────────────────────────────────────────── */
@media (max-width: 767px) {
  .wk-footer__grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 24px 16px !important;
  }
  .wk-footer__brand-col {
    grid-column: 1 / -1;
  }
  .wk-footer__bottom {
    flex-direction: column;
    gap: 8px;
    text-align: center;
  }
}

/* ── Bottom nav (mobile only) ──────────────────────────────────── */
.wk-bottom-nav {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 150;
  background: var(--bg, #fff);
  border-top: 1px solid var(--line, #ebebeb);
  display: flex;
  align-items: center;
  justify-content: space-around;
  padding: 6px 0 max(6px, env(safe-area-inset-bottom, 6px));
  height: calc(56px + env(safe-area-inset-bottom, 0px));
}
@media (min-width: 768px) {
  .wk-bottom-nav { display: none !important; }
}
/* Push page content above bottom nav on mobile */
@media (max-width: 767px) {
  body.has-bottom-nav {
    padding-bottom: calc(56px + env(safe-area-inset-bottom, 0px));
  }
}

/* ── WhatsApp button z-index above bottom nav ─────────────────── */
.wk-wa-btn {
  z-index: 160 !important;
}
@media (max-width: 767px) {
  .wk-wa-btn {
    bottom: calc(72px + env(safe-area-inset-bottom, 0px)) !important;
  }
}

/* ── Announcement strip mobile ────────────────────────────────── */
.wk-announcement-strip {
  font-size: 11px;
  padding: 6px 12px;
  text-align: center;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

/* ── Prevent images from breaking layout ─────────────────────── */
.wk-pcard__media img,
.wk-gallery-img,
.wk-category-card img {
  max-width: 100% !important;
  width: 100% !important;
}

/* ── Pagination mobile fix ──────────────────────────────────────── */
.wk-pagination {
  padding: 20px 16px;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 6px;
}
.wk-pagination a.page-numbers,
.wk-pagination span.page-numbers {
  min-width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--line, #ebebeb);
  border-radius: 4px;
  font-size: 13px;
  text-decoration: none;
  color: var(--ink, #111);
  transition: all .15s;
}
.wk-pagination a.page-numbers.current,
.wk-pagination span.page-numbers.current,
.wk-pagination a.page-numbers:hover {
  background: var(--accent, #6B1E3E);
  color: #fff;
  border-color: var(--accent, #6B1E3E);
}
/* The bare ".page-numbers" class is also on the outer <ul>, not just
   each link/span — WordPress uses it for both. Without excluding the
   ul explicitly here, it was picking up border + border-radius above
   and drawing one continuous pill outline around the whole row. */
.wk-pagination ul.page-numbers {
  border: none;
  border-radius: 0;
  height: auto;
  min-width: 0;
  background: transparent;
}

/* ── Safe area inset support ────────────────────────────────────── */
@supports (padding: max(0px)) {
  .wk-sticky-atc {
    padding-bottom: max(12px, env(safe-area-inset-bottom));
  }
  .wk-bottom-nav {
    padding-bottom: max(6px, env(safe-area-inset-bottom));
  }
}

/* ══════════════════════════════════════════════════════════════
   USER REVIEW FORM — Beautiful inline submission on PDP
   ══════════════════════════════════════════════════════════════ */
.wk-write-review {
  margin-top: 32px;
  padding-top: 28px;
  border-top: 1px solid var(--line, #ebebeb);
}
.wk-write-review__title {
  font-size: 16px;
  font-weight: 700;
  letter-spacing: .04em;
  margin: 0 0 18px;
  color: var(--ink, #111);
}
.wk-review-form {
  background: var(--surface, #faf9f8);
  border: 1px solid var(--line, #ebebeb);
  border-radius: 10px;
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.wk-review-form__row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
@media (max-width: 480px) {
  .wk-review-form__row { grid-template-columns: 1fr; }
}
.wk-review-form__field {
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.wk-review-form__label {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: var(--ink-soft, #666);
}
.wk-review-form__input,
.wk-review-form__textarea {
  border: 1.5px solid var(--line, #e5e5e5);
  border-radius: 7px;
  padding: 10px 12px;
  font-size: 14px;
  font-family: var(--font-body, inherit);
  color: var(--ink, #111);
  background: #fff;
  width: 100%;
  box-sizing: border-box;
  transition: border-color .15s;
  outline: none;
  -webkit-appearance: none;
}
.wk-review-form__input:focus,
.wk-review-form__textarea:focus {
  border-color: var(--accent, #6B1E3E);
}
.wk-review-form__textarea {
  resize: vertical;
  min-height: 90px;
}

/* ── Star rating input ─────────────────────────────────── */
.wk-review-star-row {
  display: flex;
  gap: 4px;
  align-items: center;
}
.wk-review-star-btn {
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  font-size: 26px;
  color: #ddd;
  transition: color .12s, transform .12s;
  line-height: 1;
  -webkit-tap-highlight-color: transparent;
}
.wk-review-star-btn:hover,
.wk-review-star-btn.is-filled {
  color: var(--accent, #6B1E3E);
}
.wk-review-star-btn:active { transform: scale(.9); }
.wk-review-star-label {
  font-size: 12px;
  color: var(--ink-soft, #888);
  margin-left: 6px;
}

/* ── Photo upload ─────────────────────────────────────── */
.wk-review-photo-upload {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}
.wk-review-photo-thumb {
  width: 54px;
  height: 54px;
  border-radius: 6px;
  object-fit: cover;
  border: 1px solid var(--line, #e5e5e5);
}
.wk-review-photo-add {
  width: 54px;
  height: 54px;
  border: 1.5px dashed var(--line, #ccc);
  border-radius: 6px;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: var(--ink-mute, #aaa);
  font-size: 24px;
  transition: border-color .15s, color .15s;
}
.wk-review-photo-add:hover {
  border-color: var(--accent, #6B1E3E);
  color: var(--accent, #6B1E3E);
}
.wk-review-photo-add input[type="file"] {
  display: none;
}

/* ── Submit button ────────────────────────────────────── */
.wk-review-form__submit {
  background: var(--accent, #6B1E3E);
  color: #fff;
  border: none;
  border-radius: 7px;
  padding: 13px 24px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  cursor: pointer;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  transition: background .2s, transform .1s;
  -webkit-tap-highlight-color: transparent;
}
.wk-review-form__submit:hover { background: #5a1833; }
.wk-review-form__submit:active { transform: scale(.98); }
.wk-review-form__submit:disabled { opacity: .6; cursor: wait; }

.wk-review-form__msg {
  text-align: center;
  font-size: 13px;
  padding: 10px;
  border-radius: 6px;
  display: none;
}
.wk-review-form__msg--success {
  background: #f0fdf4;
  color: #166534;
  border: 1px solid #bbf7d0;
}
.wk-review-form__msg--error {
  background: #fef2f2;
  color: #991b1b;
  border: 1px solid #fecaca;
}

/* ── WhatsApp pulse animation ────────────────────────────── */
@keyframes wkWaPulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(37,211,102,.5); transform: scale(1); }
  50%       { box-shadow: 0 0 0 10px rgba(37,211,102,0); transform: scale(1.06); }
}
.wk-wa-pulse {
  animation: wkWaPulse 2.5s ease-in-out infinite !important;
}
.wk-wa-tooltip {
  position: absolute;
  right: calc(100% + 10px);
  top: 50%;
  transform: translateY(-50%);
  white-space: nowrap;
  background: rgba(0,0,0,.75);
  color: #fff;
  font-size: 12px;
  font-weight: 500;
  padding: 6px 12px;
  border-radius: 6px;
  pointer-events: none;
  opacity: 0;
  transition: opacity .2s;
}
.wk-wa-btn:hover .wk-wa-tooltip { opacity: 1; }
.wk-wa-desktop-only {
  display: none !important;
}
@media (min-width: 768px) {
  .wk-wa-desktop-only { display: block !important; }
}

/* ══════════════════════════════════════════════════════════════
   REVIEW SECTION DISPLAY FIXES
   ══════════════════════════════════════════════════════════════ */
.wk-reviews-section {
  margin: 40px 0;
}
.wk-reviews-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 20px;
  gap: 12px;
  flex-wrap: wrap;
}
.wk-reviews-title {
  font-family: var(--font-display, 'Playfair Display', serif);
  font-size: clamp(20px, 4vw, 28px);
  font-weight: 500;
  margin: 0;
}
.wk-reviews-summary {
  display: flex;
  gap: 24px;
  align-items: flex-start;
  margin-bottom: 20px;
  padding: 20px;
  background: var(--surface, #faf9f8);
  border-radius: 10px;
}
@media (max-width: 480px) {
  .wk-reviews-summary { flex-direction: column; }
}
.wk-reviews-score {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  min-width: 80px;
}
.wk-reviews-score__number {
  font-size: 40px;
  font-weight: 800;
  color: var(--ink, #111);
  line-height: 1;
}
.wk-reviews-score__count {
  font-size: 11px;
  color: var(--ink-soft, #888);
  text-align: center;
}
.wk-reviews-bars {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.wk-revbar-row {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
}
.wk-revbar-label {
  min-width: 24px;
  color: var(--ink-soft, #888);
  text-align: right;
}
.wk-revbar-track {
  flex: 1;
  height: 6px;
  background: #e5e5e5;
  border-radius: 3px;
  overflow: hidden;
}
.wk-revbar-fill {
  height: 100%;
  background: var(--accent, #6B1E3E);
  border-radius: 3px;
  transition: width .6s ease;
}
.wk-revbar-count {
  min-width: 60px;
  color: var(--ink-mute, #aaa);
  font-size: 11px;
}
.wk-reviews-cats {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 24px;
}
.wk-revcat {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3px;
  background: #fff;
  border: 1px solid var(--line, #ebebeb);
  border-radius: 8px;
  padding: 10px 16px;
  min-width: 70px;
  text-align: center;
}
.wk-revcat--good { border-color: #bbf7d0; background: #f0fdf4; }
.wk-revcat__score {
  font-size: 18px;
  font-weight: 800;
  color: var(--ink, #111);
}
.wk-revcat__label {
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--ink-soft, #888);
}
.wk-review-card {
  background: #fff;
  border: 1px solid var(--line, #ebebeb);
  border-radius: 10px;
  padding: 18px 20px;
  margin-bottom: 14px;
  transition: box-shadow .2s;
}
.wk-review-card:hover {
  box-shadow: 0 4px 16px rgba(0,0,0,.07);
}
.wk-review-card__top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 12px;
  flex-wrap: wrap;
}
.wk-review-card__author {
  display: flex;
  gap: 10px;
  align-items: center;
}
.wk-review-avatar {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
}
.wk-review-avatar--initials {
  background: var(--accent, #6B1E3E);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .04em;
}
.wk-review-author-info {
  display: flex;
  flex-direction: column;
  gap: 1px;
}
.wk-review-author-info strong {
  font-size: 13.5px;
  font-weight: 700;
  color: var(--ink, #111);
}
.wk-review-city, .wk-review-date {
  font-size: 11px;
  color: var(--ink-soft, #888);
}
.wk-review-card__rating {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 2px;
}
.wk-review-rating-num {
  font-size: 18px;
  font-weight: 800;
  color: var(--ink, #111);
}
.wk-review-card__text {
  font-size: 14px;
  line-height: 1.6;
  color: var(--ink-soft, #555);
  margin: 0 0 12px;
}
.wk-review-photos {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.wk-review-photo {
  width: 70px;
  height: 70px;
  object-fit: cover;
  border-radius: 6px;
  border: 1px solid var(--line, #ebebeb);
  cursor: zoom-in;
}
.wk-reviews-load-more {
  width: 100%;
  padding: 12px;
  background: transparent;
  border: 1.5px solid var(--accent, #6B1E3E);
  color: var(--accent, #6B1E3E);
  border-radius: 7px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  transition: all .2s;
  margin-top: 8px;
}
.wk-reviews-load-more:hover {
  background: var(--accent, #6B1E3E);
  color: #fff;
}
.wk-reviews-empty {
  text-align: center;
  padding: 40px 20px;
  color: var(--ink-soft, #888);
}
.wk-rev-stars {
  display: flex;
  gap: 1px;
}

/* ══════════════════════════════════════════════════════════════
   COMPREHENSIVE v20 FINAL FIXES
   ══════════════════════════════════════════════════════════════ */

/* ── Gallery dot CSS (product gallery, not hero) ─────────────── */
.wk-gallery-dots {
  position: absolute;
  bottom: 10px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 5px;
  z-index: 5;
  pointer-events: all;
}
.wk-gallery-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(255,255,255,.5);
  border: 1px solid rgba(255,255,255,.8);
  padding: 0;
  cursor: pointer;
  transition: all .2s;
  flex-shrink: 0;
  outline: none;
}
.wk-gallery-dot.is-active {
  width: 20px;
  border-radius: 3px;
  background: #fff;
}
@media (min-width: 768px) {
  .wk-gallery-dots { display: none; } /* Desktop uses thumbs, not dots */
}

/* ── Product gallery counter ────────────────────────────────── */
.wk-gallery-counter {
  position: absolute;
  bottom: 10px;
  right: 12px;
  background: rgba(0,0,0,.5);
  color: #fff;
  font-size: 11px;
  font-weight: 600;
  padding: 3px 8px;
  border-radius: 10px;
  z-index: 5;
  pointer-events: none;
}
@media (min-width: 768px) {
  .wk-gallery-counter { display: none; }
}

/* ── Gallery expand button ──────────────────────────────────── */
.wk-gallery-expand {
  position: absolute;
  bottom: 10px;
  right: 12px;
  z-index: 8;
  background: rgba(0,0,0,.4);
  color: #fff;
  border: none;
  width: 30px;
  height: 30px;
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  opacity: 0;
  transition: opacity .2s;
  padding: 0;
}
.wk-gallery-main:hover .wk-gallery-expand { opacity: 1; }
@media (max-width: 767px) {
  .wk-gallery-expand { display: none; }
}

/* ── Gallery thumbnails ─────────────────────────────────────── */
.wk-gallery-thumbs {
  display: flex;
  flex-direction: column;
  gap: 6px;
  width: 72px;
  flex-shrink: 0;
}
.wk-gallery-thumb {
  width: 72px;
  height: 90px;
  border: 2px solid transparent;
  border-radius: 4px;
  overflow: hidden;
  padding: 0;
  cursor: pointer;
  background: var(--surface, #f9f9f9);
  transition: border-color .15s;
  flex-shrink: 0;
}
.wk-gallery-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.wk-gallery-thumb.is-active {
  border-color: var(--accent, #6B1E3E);
}
.wk-gallery-thumb:hover {
  border-color: var(--ink-soft, #aaa);
}
@media (max-width: 767px) {
  .wk-gallery-thumbs { display: none; }
}

/* ── Gallery wrap: thumbs + main side by side ───────────────── */
.wk-pdp__gallery-wrap {
  display: flex;
  gap: 12px;
  align-items: flex-start;
}
@media (max-width: 767px) {
  .wk-pdp__gallery-wrap {
    display: block;
    margin: 0 -16px;
  }
}

/* ── Zoom panel ─────────────────────────────────────────────── */
.wk-zoom-panel {
  position: absolute;
  top: 0;
  left: 100%;
  margin-left: 16px;
  width: 400px;
  height: 100%;
  background: #fff;
  border: 1px solid var(--line, #e8e4de);
  border-radius: 6px;
  overflow: hidden;
  z-index: 20;
  pointer-events: none;
}
.wk-zoom-panel img {
  width: 200%;
  height: 200%;
  object-fit: cover;
  transform-origin: top left;
  display: block;
}
@media (max-width: 1100px) {
  .wk-zoom-panel { display: none !important; }
}

/* ── PDP Layout ─────────────────────────────────────────────── */
.wk-pdp__layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: 32px;
  margin-top: 16px;
}
@media (min-width: 768px) {
  .wk-pdp__layout {
    grid-template-columns: 1fr 1fr;
    gap: 48px;
  }
}
@media (min-width: 1024px) {
  .wk-pdp__layout {
    grid-template-columns: 1.3fr .7fr;
    gap: 64px;
  }
}
.wk-pdp__info {
  position: sticky;
  top: calc(var(--header-h, 68px) + 20px);
  max-height: calc(100vh - var(--header-h, 68px) - 40px);
  overflow-y: auto;
  padding-bottom: 40px;
  scrollbar-width: none;
}
.wk-pdp__info::-webkit-scrollbar { display: none; }
@media (max-width: 767px) {
  .wk-pdp__info {
    position: static;
    max-height: none;
    overflow-y: visible;
    padding: 16px;
  }
}

/* ── PDP Info elements ──────────────────────────────────────── */
.wk-pdp__category { margin-bottom: 6px; }
.wk-pdp__title {
  font-family: var(--font-display, 'Playfair Display', serif);
  font-size: clamp(22px, 4vw, 32px);
  font-weight: 500;
  margin: 0 0 10px;
  line-height: 1.2;
  color: var(--ink, #111);
}
.wk-pdp__rating {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
  flex-wrap: wrap;
}
.wk-pdp__review-count {
  font-size: 12px;
  color: var(--ink-soft, #888);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.wk-pdp__rating-num {
  font-size: 13px;
  font-weight: 700;
  color: var(--ink, #111);
}
.wk-pdp__review-count--muted {
  text-decoration: none;
  color: var(--ink-mute, #aaa);
}
.wk-pdp__price {
  display: flex;
  align-items: baseline;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 4px;
}
.wk-pdp__price .wk-price {
  font-size: 24px;
  font-weight: 700;
  color: var(--ink, #111);
}
.wk-pdp__price .wk-price-was {
  font-size: 16px;
  font-weight: 400;
  color: var(--ink-mute, #aaa);
  text-decoration: line-through;
}
.wk-pdp__price .wk-price-save {
  font-size: 14px;
  font-weight: 700;
  color: #166534;
  background: #f0fdf4;
  padding: 2px 8px;
  border-radius: 4px;
}
.wk-pdp__taxes {
  font-size: 11px;
  color: var(--ink-mute, #aaa);
  margin-bottom: 20px;
}

/* ── PDP Accordion ──────────────────────────────────────────── */
.wk-accordion {
  border-bottom: .5px solid var(--line, #e8e4de);
}
.wk-accordion:first-of-type { border-top: .5px solid var(--line, #e8e4de); }
.wk-accordion__head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 14px 0;
  cursor: pointer;
  list-style: none;
  font-size: 13.5px;
  font-weight: 600;
  letter-spacing: .04em;
  user-select: none;
}
.wk-accordion__head::-webkit-details-marker { display: none; }
.wk-accordion__head svg {
  flex-shrink: 0;
  transition: transform .25s;
}
.wk-accordion[open] .wk-accordion__head svg {
  transform: rotate(180deg);
}
.wk-accordion__body {
  padding: 0 0 16px;
  font-size: 13.5px;
  line-height: 1.65;
  color: var(--ink-soft, #666);
}

/* ── PDP Trust strip ────────────────────────────────────────── */
.wk-pdp__trust {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin: 20px 0;
  padding: 16px;
  background: var(--surface, #faf9f8);
  border-radius: 8px;
}
.wk-pdp__trust-item {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 11.5px;
  font-weight: 500;
  color: var(--ink-soft, #555);
}
.wk-pdp__trust-item svg {
  flex-shrink: 0;
  color: var(--accent, #6B1E3E);
}

/* ── PDP Pincode ────────────────────────────────────────────── */
.wk-pdp__pincode { margin: 16px 0; }
.wk-pdp__pincode-form {
  display: flex;
  gap: 8px;
}
.wk-pdp__pincode-form .wk-input {
  flex: 1;
  min-width: 0;
  border: 1.5px solid var(--line, #ddd);
  border-radius: 7px;
  padding: 10px 14px;
  font-size: 14px;
  font-family: var(--font-body, sans-serif);
}
.wk-pdp__pincode-form .wk-input:focus {
  outline: 2px solid var(--accent, #6B1E3E);
  border-color: transparent;
}
.wk-pdp__pincode-result {
  margin-top: 8px;
  font-size: 12.5px;
  min-height: 18px;
}

/* ── PDP SKU ────────────────────────────────────────────────── */
.wk-pdp__sku {
  font-size: 11px;
  color: var(--ink-mute, #aaa);
  margin-top: 16px;
}

/* ── PDP Short Description ──────────────────────────────────── */
.wk-pdp__short-desc {
  font-size: 14px;
  line-height: 1.65;
  color: var(--ink-soft, #555);
  margin: 16px 0;
}

/* ── Out of Stock ───────────────────────────────────────────── */
.wk-out-of-stock {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 14px 20px;
  background: #fef2f2;
  border: 1px solid #fca5a5;
  border-radius: 7px;
  font-size: 13px;
  font-weight: 600;
  color: #991b1b;
  margin-bottom: 12px;
}

/* ── Sticky ATC ─────────────────────────────────────────────── */
.wk-sticky-atc {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 150;
  background: var(--bg, #fff);
  border-top: 1px solid var(--line, #e8e4de);
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 16px max(10px, env(safe-area-inset-bottom, 10px));
  transform: translateY(100%);
  transition: transform .3s cubic-bezier(.4,0,.2,1);
  box-shadow: 0 -4px 20px rgba(0,0,0,.08);
}
.wk-sticky-atc.is-visible {
  transform: translateY(0);
}
@media (min-width: 768px) {
  .wk-sticky-atc { display: none !important; }
}
.wk-sticky-atc__price {
  flex: 1;
  min-width: 0;
}
.wk-sticky-atc__price .wk-price {
  font-size: 18px;
  font-weight: 700;
}
.wk-sticky-atc__btn {
  flex-shrink: 0;
  white-space: nowrap;
}

/* ── Empty state ─────────────────────────────────────────────── */
.wk-empty-state {
  text-align: center;
  padding: 80px 20px;
}
.wk-empty-state__title {
  font-size: clamp(22px, 4vw, 32px);
  margin: 8px 0 24px;
}

/* ── Home page sections ─────────────────────────────────────── */
.wk-home-section {
  padding: 40px 0;
}
.wk-home-section__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 20px;
  gap: 12px;
}
.wk-home-section__title {
  font-family: var(--font-display, 'Playfair Display', serif);
  font-size: clamp(22px, 4vw, 32px);
  font-weight: 500;
  margin: 0;
  letter-spacing: -.02em;
}
.wk-home-section__more {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  text-decoration: none;
  color: var(--accent, #6B1E3E);
  border-bottom: 1.5px solid currentColor;
  padding-bottom: 2px;
  white-space: nowrap;
  flex-shrink: 0;
}

/* ── Home categories rail ───────────────────────────────────── */
.wk-home-cats {
  display: flex;
  gap: 16px;
  overflow-x: auto;
  padding-bottom: 8px;
  scrollbar-width: none;
  -ms-overflow-style: none;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
}
.wk-home-cats::-webkit-scrollbar { display: none; }
.wk-home-cat {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  text-decoration: none;
  color: var(--ink, #111);
  flex-shrink: 0;
  scroll-snap-align: start;
  width: 80px;
}
@media (min-width: 640px) { .wk-home-cat { width: 96px; } }
.wk-home-cat__circle {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  overflow: hidden;
  border: 2px solid var(--line, #e8e4de);
  transition: border-color .2s, box-shadow .2s;
  background: var(--surface, #f5f0eb);
}
@media (min-width: 640px) { .wk-home-cat__circle { width: 86px; height: 86px; } }
.wk-home-cat:hover .wk-home-cat__circle {
  border-color: var(--accent, #6B1E3E);
  box-shadow: 0 0 0 3px rgba(107,30,62,.12);
}
.wk-home-cat__circle img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .3s;
}
.wk-home-cat:hover .wk-home-cat__circle img {
  transform: scale(1.08);
}
.wk-home-cat__name {
  font-size: 11px;
  font-weight: 600;
  text-align: center;
  line-height: 1.3;
  letter-spacing: .02em;
}

/* ── Home products grids ────────────────────────────────────── */
.wk-home-products-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1px;
  background: var(--line, #f0ede8);
}
@media (min-width: 640px) { .wk-home-products-grid { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1024px) { .wk-home-products-grid { grid-template-columns: repeat(4, 1fr); } }
.wk-home-products-grid .wk-pcard { background: var(--bg, #fff); }

.wk-home-products-rail {
  display: flex;
  gap: 12px;
  overflow-x: auto;
  padding-bottom: 8px;
  scrollbar-width: none;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
}
.wk-home-products-rail::-webkit-scrollbar { display: none; }
.wk-home-products-rail .wk-pcard {
  min-width: 180px;
  width: 180px;
  scroll-snap-align: start;
}
@media (min-width: 640px) {
  .wk-home-products-rail .wk-pcard { min-width: 220px; width: 220px; }
}

/* ── Home promos ────────────────────────────────────────────── */
.wk-home-promos {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}
@media (max-width: 480px) {
  .wk-home-promos { grid-template-columns: 1fr; }
}
.wk-home-promo {
  position: relative;
  display: block;
  overflow: hidden;
  border-radius: 8px;
  aspect-ratio: 4/5;
  text-decoration: none;
}
@media (min-width: 640px) { .wk-home-promo { aspect-ratio: 3/4; } }
.wk-home-promo__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .5s ease;
}
.wk-home-promo:hover .wk-home-promo__img { transform: scale(1.04); }
.wk-home-promo__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,.6) 0%, transparent 60%);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 20px;
  color: #fff;
}
.wk-home-promo__title {
  font-family: var(--font-display, 'Playfair Display', serif);
  font-size: clamp(20px, 4vw, 28px);
  font-weight: 500;
  margin: 0 0 6px;
}
.wk-home-promo__cta {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}

/* ── Editorial strip ────────────────────────────────────────── */
.wk-editorial-strip {
  padding: 60px 0;
  background: var(--ink, #111);
  color: #fff;
}
.wk-editorial-strip__inner {
  max-width: 720px;
  margin: 0 auto;
  padding: 0 20px;
  text-align: center;
}
.wk-editorial-strip__title {
  font-family: var(--font-display, 'Playfair Display', serif);
  font-size: clamp(22px, 4vw, 36px);
  font-weight: 300;
  font-style: italic;
  margin: 0 0 20px;
  line-height: 1.3;
  color: #fff;
}
.wk-editorial-strip__body {
  font-size: 15px;
  line-height: 1.7;
  color: rgba(255,255,255,.7);
  margin: 0 0 24px;
}
.wk-editorial-strip .wk-link-underline {
  color: rgba(255,255,255,.8);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* ── Footer ─────────────────────────────────────────────────── */
.wk-footer {
  background: var(--ink, #111);
  color: rgba(255,255,255,.7);
  font-size: 13px;
}
.wk-footer__main { padding: 60px 0 40px; }
.wk-footer__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 36px;
}
@media (min-width: 640px) {
  .wk-footer__grid { grid-template-columns: 2fr 1fr 1fr 1fr; gap: 48px; }
}
@media (max-width: 639px) {
  .wk-footer__grid { grid-template-columns: 1fr 1fr; gap: 24px 16px; }
  .wk-footer__brand-col { grid-column: 1 / -1; }
}
.wk-footer__brand-name {
  font-size: 20px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #fff;
  margin-bottom: 12px;
}
.wk-footer__tagline {
  font-size: 12.5px;
  line-height: 1.6;
  color: rgba(255,255,255,.5);
  margin: 0 0 20px;
  max-width: 240px;
}
.wk-footer__col-title {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: rgba(255,255,255,.4);
  margin: 0 0 16px;
}
.wk-footer__nav-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.wk-footer__nav-list a {
  color: rgba(255,255,255,.65);
  text-decoration: none;
  font-size: 13px;
  transition: color .15s;
}
.wk-footer__nav-list a:hover { color: #fff; }
.wk-footer__newsletter {
  border-top: .5px solid rgba(255,255,255,.08);
  padding: 36px 0;
}
.wk-newsletter {
  display: flex;
  flex-direction: column;
  gap: 20px;
  align-items: flex-start;
}
@media (min-width: 768px) {
  .wk-newsletter { flex-direction: row; align-items: center; justify-content: space-between; gap: 40px; }
}
.wk-newsletter__text h3 {
  color: #fff;
  font-size: clamp(16px, 2.5vw, 20px);
  margin: 0 0 6px;
  font-weight: 600;
}
.wk-newsletter__text p {
  font-size: 13px;
  color: rgba(255,255,255,.5);
  margin: 0;
}
.wk-newsletter__form {
  display: flex;
  gap: 0;
  flex-shrink: 0;
  width: 100%;
  max-width: 400px;
}
@media (max-width: 767px) { .wk-newsletter__form { max-width: 100%; } }
.wk-newsletter__input {
  flex: 1;
  background: rgba(255,255,255,.08);
  border: .5px solid rgba(255,255,255,.15);
  border-right: 0;
  padding: 12px 16px;
  color: #fff;
  font-family: var(--font-body, sans-serif);
  font-size: 13px;
  min-width: 0;
  outline: none;
  border-radius: 6px 0 0 6px;
}
.wk-newsletter__input::placeholder { color: rgba(255,255,255,.35); }
.wk-newsletter__input:focus { background: rgba(255,255,255,.12); }
.wk-newsletter__form .wk-btn {
  border-radius: 0 6px 6px 0;
  flex-shrink: 0;
  white-space: nowrap;
}
.wk-footer__bottom {
  border-top: .5px solid rgba(255,255,255,.08);
  padding: 20px 0;
}
.wk-footer__bottom-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}
@media (max-width: 639px) {
  .wk-footer__bottom-inner { flex-direction: column; text-align: center; gap: 10px; }
}
.wk-footer__copy {
  font-size: 12px;
  color: rgba(255,255,255,.4);
  margin: 0;
}
.wk-footer__payment-icons {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}
.wk-pay-icon {
  background: rgba(255,255,255,.1);
  color: rgba(255,255,255,.6);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .06em;
  padding: 4px 8px;
  border-radius: 3px;
  border: 1px solid rgba(255,255,255,.08);
}

/* ══════════════════════════════════════════════════════════════
   HERO BANNER v24 — image + text overlay
   FIX v24: replaced the old animated-gradient/particle/parallax hero
   with real photo slides + a text overlay. Simple crossfade + arrows +
   dots, all logic lives in main.js under "HERO BANNER".
   Namespaced as .wk-herobanner (not .wk-hero__*) to avoid colliding
   with the About page's own .wk-hero styles.
   ══════════════════════════════════════════════════════════════ */
.wk-herobanner {
  position: relative;
  width: 100%;
  height: 78vh;
  min-height: 420px;
  max-height: 720px;
  overflow: hidden;
  background: var(--ink, #1a1a1a);
}
.wk-herobanner__track { position: relative; width: 100%; height: 100%; }
.wk-herobanner__slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  visibility: hidden;
  transition: opacity .6s ease;
  z-index: 1;
}
.wk-herobanner__slide.is-active { opacity: 1; visibility: visible; z-index: 2; }

.wk-herobanner__bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.wk-herobanner__bg--fallback {
  background: linear-gradient(135deg, #4a1f2b, #7c2e3f 45%, #2b3a4a);
}

.wk-herobanner__scrim {
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, rgba(0,0,0,.65) 0%, rgba(0,0,0,.25) 45%, rgba(0,0,0,.05) 70%);
}

.wk-herobanner__body {
  position: relative;
  z-index: 3;
  height: 100%;
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 var(--pad-x, 24px);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding-bottom: 72px;
  color: #fff;
}
.wk-herobanner__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--accent, #d4a03c);
  margin: 0 0 14px;
}
.wk-herobanner__eyebrow::before { content: ''; width: 24px; height: 1px; background: currentColor; }
.wk-herobanner__heading {
  margin: 0 0 14px;
  font-family: var(--font-serif, Georgia, serif);
  font-weight: 700;
  font-size: clamp(28px, 5.2vw, 56px);
  line-height: 1.1;
}
.wk-herobanner__heading-line { display: block; }
.wk-herobanner__sub {
  margin: 0 0 26px;
  font-size: clamp(14px, 1.6vw, 17px);
  color: rgba(255,255,255,.85);
  max-width: 480px;
}
.wk-herobanner__cta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: #fff;
  color: var(--ink, #1a1a1a);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .02em;
  padding: 14px 26px;
  border-radius: 999px;
  text-decoration: none;
  width: fit-content;
  transition: transform .2s ease, box-shadow .2s ease;
}
.wk-herobanner__cta:hover { transform: translateY(-2px); box-shadow: 0 8px 24px rgba(0,0,0,.25); }
.wk-herobanner__cta svg { transition: transform .2s ease; }
.wk-herobanner__cta:hover svg { transform: translateX(3px); }

/* Arrows */
.wk-herobanner__nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 4;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: none;
  background: rgba(255,255,255,.18);
  backdrop-filter: blur(4px);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background .2s ease;
}
.wk-herobanner__nav:hover { background: rgba(255,255,255,.32); }
.wk-herobanner__nav--prev { left: 20px; }
.wk-herobanner__nav--next { right: 20px; }

/* Dots */
.wk-herobanner__dots {
  position: absolute;
  z-index: 4;
  bottom: 24px;
  right: 24px;
  display: flex;
  gap: 8px;
}
.wk-herobanner__dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  border: none;
  background: rgba(255,255,255,.4);
  cursor: pointer;
  padding: 0;
  transition: background .2s ease, width .2s ease;
}
.wk-herobanner__dot.is-active { background: #fff; width: 22px; border-radius: 4px; }

@media (max-width: 767px) {
  .wk-herobanner { height: 68vh; min-height: 460px; }
  .wk-herobanner__body { padding-bottom: 48px; }
  .wk-herobanner__nav { display: none; } /* swipe on mobile instead */
  .wk-herobanner__dots { right: 50%; transform: translateX(50%); bottom: 18px; }
}
@media (prefers-reduced-motion: reduce) {
  .wk-herobanner__slide { transition: none; }
}


/* ══════════════════════════════════════════════════════════════
   PRODUCT CARD — Price alignment & mobile ATC fix
   ══════════════════════════════════════════════════════════════ */
.wk-pcard-price {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 5px 6px;
  margin-top: 4px;
}
.wk-pcard-price .wk-price {
  font-size: 15px;
  font-weight: 700;
  color: var(--ink, #111);
  white-space: nowrap;
}
.wk-pcard-price .wk-price-was {
  font-size: 12px;
  font-weight: 400;
  color: var(--ink-mute, #aaa);
  text-decoration: line-through;
  white-space: nowrap;
}
.wk-pcard-price .wk-price-save {
  font-size: 11px;
  font-weight: 700;
  color: #166534;
  white-space: nowrap;
  background: #f0fdf4;
  padding: 1px 5px;
  border-radius: 3px;
}
/* On touch devices: ATC always visible — give card padding so it doesn't overlap price */
@media (hover: none) {
  .wk-pcard {
    padding-bottom: 0;
  }
  .wk-pcard-link {
    display: block;
    padding-bottom: 0;
  }
  /* Make ATC part of flow on mobile — not absolute overlay */
  .wk-quick-atc {
    position: static !important;
    transform: none !important;
    opacity: 1 !important;
    width: 100%;
    padding: 10px 12px;
    font-size: 10.5px;
    letter-spacing: .12em;
    border-top: none;
  }
  .wk-pcard {
    display: flex;
    flex-direction: column;
  }
  .wk-pcard-link {
    flex: 1;
  }
}

/* ══════════════════════════════════════════════════════════════
   HERO BLACK LINE FIX — Remove border gap between header & hero
   ══════════════════════════════════════════════════════════════ */
/* On pages with hero, hide the header's bottom border so no dark line appears */
.wk-home .wk-header,
.home .wk-header,
body:has(.wk-hero) .wk-header {
  border-bottom-color: transparent !important;
  box-shadow: none !important;
}
/* Remove any top margin/padding that could create a gap */
.wk-hero {
  margin-top: 0 !important;
  border-top: none !important;
}
/* Promo strip: ensure it connects cleanly to hero on homepage */
.wk-home .wk-promo-strip,
.home .wk-promo-strip {
  margin-bottom: 0;
  border-bottom: none;
}

/* ══════════════════════════════════════════════════════════════
   SHOP HEAD — Final clean layout v22
   ══════════════════════════════════════════════════════════════ */

/* Shop head: sticky bar with title + controls in one row */
.wk-shop-head {
  background: var(--bg, #fff);
  border-bottom: 1px solid var(--line, #e8e4de);
  padding: 0;
  position: sticky;
  top: 0;
  z-index: 100;
}
/* Push down by header height on desktop */
@media (min-width: 768px) {
  .wk-shop-head {
    top: 68px;
  }
}
.wk-shop-head .wk-container {
  padding-top: 0;
  padding-bottom: 0;
}
/* Breadcrumb above the head row */
.wk-shop-head .wk-breadcrumb {
  padding: 8px 0 0;
  margin: 0;
}

/* Inner row: title left, controls right */
.wk-shop-head__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 0;
}
.wk-shop-head__title {
  min-width: 0;
  flex: 1;
}
.wk-shop-head__title h1 {
  font-size: 16px;
  font-weight: 700;
  margin: 0;
  letter-spacing: -.02em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.wk-cat-desc {
  font-size: 12px;
  color: var(--ink-soft, #888);
  margin: 2px 0 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 280px;
}

/* Controls: result count + filter + sort */
.wk-shop-head__controls {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}
/* Result count: subtle, right of controls */
.wk-shop-result-count {
  font-size: 11px;
  color: var(--ink-soft, #999);
  white-space: nowrap;
}
.wk-shop-result-count .woocommerce-result-count {
  font-size: 11px;
  color: var(--ink-soft, #999);
  margin: 0;
}
/* ── Star rating (theme-native SVG stars — see wk_star_rating_html()) ──── */
.wk-stars {
  position: relative;
  display: inline-flex;
  line-height: 0;
  vertical-align: middle;
}
.wk-stars__track,
.wk-stars__fill {
  display: flex;
  gap: 1px;
}
.wk-stars__fill {
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
  white-space: nowrap;
}
.wk-stars__icon { flex-shrink: 0; }
.wk-stars__icon--empty { fill: none; stroke: #ddd; stroke-width: 1.5; }
.wk-stars__icon--filled { fill: #f5a623; stroke: #f5a623; stroke-width: 1.5; }

@media (max-width: 480px) {
  .wk-shop-result-count { display: none; } /* Save space on small screens */
}


/* Native WC ordering <select> stays in the DOM (WooCommerce/plugins may
   reference it) but is visually replaced by the Sort tab below. */
.wk-shop-head__ordering-hidden {
  position: absolute;
  width: 1px; height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

/* Filter / Sort tab bar — full-width, split evenly, icon + label */
.wk-shop-tabs {
  display: flex;
  border-top: 1px solid var(--line, #e8e4de);
  border-bottom: 1px solid var(--line, #e8e4de);
  background: var(--bg, #fff);
}
.wk-shop-tab {
  flex: 1 1 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 12px 8px;
  background: none;
  border: none;
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--ink, #111);
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.wk-shop-tab:first-child {
  border-right: 1px solid var(--line, #e8e4de);
}
.wk-shop-tab:active,
.wk-shop-tab[aria-expanded="true"] {
  background: var(--surface-2, #f5f0eb);
}
.wk-shop-tab svg { flex-shrink: 0; }

/* Sort sheet — reuses .wk-filter-drawer plumbing (bottom-sheet sizing
   is handled by the unified drawer block further down) */
.wk-sort-list { list-style: none; margin: 0; padding: 4px 0; }
.wk-sort-option {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  background: none;
  border: none;
  border-bottom: 1px solid var(--line, #f0ece5);
  padding: 14px 20px;
  font-family: var(--font-body);
  font-size: 13.5px;
  color: var(--ink, #111);
  text-align: left;
  cursor: pointer;
}
.wk-sort-option:last-child { border-bottom: none; }
.wk-sort-option.is-active {
  font-weight: 700;
  color: var(--accent, #6B1E3E);
}
.wk-sort-option svg { color: var(--accent, #6B1E3E); flex-shrink: 0; }

/* ══════════════════════════════════════════════════════════════
   PRODUCT CARD v23 FINAL — Definitive no-overlap layout
   ══════════════════════════════════════════════════════════════ */

/* Card is a flex column — image, info, then ATC in order */
.wk-pcard {
  display: flex !important;
  flex-direction: column !important;
  position: relative;
  overflow: hidden;
  background: var(--bg, #fff);
}

/* The link wrapper takes image + info — grows to push ATC to bottom */
.wk-pcard > .wk-pcard-link {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 !important;
  text-decoration: none;
  color: inherit;
}

/* Media area: image with badges */
.wk-pcard__media {
  position: relative;
  flex-shrink: 0;
  overflow: hidden;
  background: #f9f7f4;
}
.wk-pcard__img,
.wk-pcard__media img {
  width: 100%;
  display: block;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  object-position: top center;
  transition: transform .4s ease;
}
.wk-pcard:hover .wk-pcard__img { transform: scale(1.04); }

/* Info area: grows to fill available space */
.wk-pcard-info {
  padding: 8px 8px 8px !important;
  display: flex;
  flex-direction: column;
  flex: 1;
  min-width: 0;
}
.wk-pcard-title {
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 1.35 !important;
  margin: 0 0 4px !important;
  color: var(--ink, #111) !important;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.wk-pcard-rating {
  display: flex !important;
  align-items: center !important;
  gap: 4px !important;
  margin: 0 0 4px !important;
}
.wk-pcard-rating__num {
  font-size: 11.5px !important;
  font-weight: 600 !important;
  color: var(--ink, #111) !important;
}
.wk-pcard-rating__count {
  font-size: 10.5px !important;
  color: var(--ink-mute, #999) !important;
}
.wk-pcard-rating__count--muted {
  font-style: italic;
}

/* Price: always at bottom of info area, never overlapping */
.wk-pcard-price {
  display: flex !important;
  align-items: baseline !important;
  flex-wrap: wrap !important;
  gap: 4px 6px !important;
  margin-top: auto !important;
  padding-top: 4px !important;
}
.wk-pcard-price .wk-price {
  font-size: 14px !important;
  font-weight: 700 !important;
  color: var(--ink, #111) !important;
  white-space: nowrap;
}
.wk-pcard-price .wk-price-was {
  font-size: 11px !important;
  color: var(--ink-mute, #bbb) !important;
  text-decoration: line-through !important;
  white-space: nowrap;
  font-weight: 400 !important;
}
.wk-pcard-price .wk-price-save {
  font-size: 10px !important;
  font-weight: 700 !important;
  color: #166534 !important;
  white-space: nowrap;
  background: #f0fdf4;
  padding: 1px 5px;
  border-radius: 3px;
}

/* Quick ATC: ALWAYS at the bottom, NEVER absolute on mobile */
.wk-quick-atc {
  position: static !important;     /* Not absolute — part of flex column */
  transform: none !important;      /* No translateY hiding */
  opacity: 1 !important;           /* Always visible on all devices */
  width: 100% !important;
  background: var(--accent, #6B1E3E) !important;
  color: #fff !important;
  border: none !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  padding: 10px 8px !important;
  cursor: pointer;
  transition: background .2s !important;
  flex-shrink: 0;
  -webkit-tap-highlight-color: transparent;
}
.wk-quick-atc:hover {
  background: #5a1833 !important;
}
.wk-quick-atc:active {
  transform: none !important;
  opacity: .85 !important;
}

/* Desktop: keep hover-slide effect on the ATC button
   but only as a visual enhancement, not affecting layout */
@media (hover: hover) {
  .wk-quick-atc {
    opacity: 0 !important;
    transition: opacity .2s !important;
  }
  .wk-pcard:hover .wk-quick-atc {
    opacity: 1 !important;
  }
}

/* Badges */
.wk-badge--sale {
  background: var(--accent, #6B1E3E);
  color: #fff;
}
.wk-badge--new {
  background: #d0021b;
  color: #fff;
  border-radius: 2px 2px 2px 0;
  clip-path: polygon(0 0, 100% 0, 100% 70%, 88% 100%, 0 100%);
  padding: 4px 10px 4px 8px !important;
}

/* Wishlist button — plain white heart, no circle/backdrop, top-right corner */
.wk-wish-btn {
  position: absolute !important;
  top: 10px !important;
  right: 10px !important;
  z-index: 4 !important;
  width: 28px !important;
  height: 28px !important;
  background: transparent !important;
  border-radius: 0 !important;
  border: none !important;
  cursor: pointer;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fff !important;
  filter: drop-shadow(0 1px 2px rgba(0,0,0,.45));
  transition: transform .15s !important;
}
.wk-wish-btn:hover {
  background: transparent !important;
  transform: scale(1.1) !important;
}
.wk-wish-btn.is-wished svg { fill: var(--accent, #6B1E3E); color: var(--accent, #6B1E3E); }

/* Available sizes row — under the price, like the reference design */
.wk-pcard-sizes {
  font-size: 10.5px !important;
  letter-spacing: .03em;
  color: var(--ink-mute, #8a8a8a) !important;
  margin-top: 4px !important;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* ══════════════════════════════════════════════════════════════
   FILTER & SORT DRAWERS — unified bottom-sheet pattern, final.
   Both share this exact panel behaviour (slide up from the bottom,
   rounded top corners, height sized to content up to a cap) instead
   of the old full-height left-edge panel — Sort no longer reserves
   the whole screen height for six short options, and Filter/Sort
   now look and behave identically. visibility+opacity (not just the
   transform) guarantees a closed default regardless of what any
   earlier stacked rule in this file does.
   ══════════════════════════════════════════════════════════════ */
#wk-filter-drawer,
#wk-sort-drawer {
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transition: visibility 0s linear .3s, opacity .3s ease !important;
}
#wk-filter-drawer.is-open,
#wk-sort-drawer.is-open {
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  transition: visibility 0s linear 0s, opacity .3s ease !important;
}
#wk-filter-drawer .wk-filter-drawer__panel,
#wk-sort-drawer .wk-filter-drawer__panel {
  position: fixed !important;
  top: auto !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  max-width: 480px !important;
  margin: 0 auto !important;
  border-radius: 16px 16px 0 0 !important;
  box-shadow: 0 -4px 24px rgba(0,0,0,.12) !important;
  transform: translateY(100%) !important;
  transition: transform .3s cubic-bezier(.32,.72,0,1) !important;
}
#wk-filter-drawer.is-open .wk-filter-drawer__panel,
#wk-sort-drawer.is-open .wk-filter-drawer__panel {
  transform: translateY(0) !important;
}
#wk-filter-drawer .wk-filter-drawer__panel { max-height: 85vh !important; }
#wk-sort-drawer .wk-filter-drawer__panel   { max-height: 60vh !important; }
/* Small drag-handle indicator, shared by both sheets */
#wk-filter-drawer .wk-filter-drawer__panel::before,
#wk-sort-drawer .wk-filter-drawer__panel::before {
  content: '';
  display: block;
  width: 36px;
  height: 4px;
  border-radius: 2px;
  background: var(--line, #e3ddd3);
  margin: 10px auto 0;
  flex-shrink: 0;
}
