/*
Theme Name: Libas Hut
Theme URI: https://motasimbillah.com
Author: Motasim Billah
Author URI: https://motasimbillah.com
Description: Premium WooCommerce Theme for Libas Hut by Halal Tech.
Version: 1.0.7
Requires at least: 6.0
Requires PHP: 7.4
License: Proprietary License (Future License Ready)
License URI: Reserved for Future Licensing System
Text Domain: libas-hut
Tags: e-commerce, custom-menu, featured-images, full-width-template, translation-ready

Company / Organization: Halal Tech
Company Website: https://motasimbillah.com
*/

/* Google Fonts are enqueued in functions.php — do not remove: Fraunces + Manrope */


  :root{
    --ink:#0a0a0c;
    --ink-2:#0f0e11;
    --panel:#17151a;
    --panel-2:#1e1b21;
    --gold:#c6a15b;
    --gold-light:#e9d9ae;
    --gold-dim:rgba(198,161,91,.28);
    --ivory:#f4efe4;
    --stone:#948d81;
    --stone-dim:#5f5a53;
    --emerald:#3e7a63;
    --rose:#b5493b;
    --radius-lg:22px;
    --radius-md:14px;
    --radius-sm:8px;
    --ease:cubic-bezier(.22,.68,0,1);
    --header-bg:rgba(10,10,12,.86);
  }
  *{box-sizing:border-box;margin:0;padding:0;}
  .screen-reader-text{
    position:absolute !important;width:1px !important;height:1px !important;
    padding:0 !important;margin:-1px !important;overflow:hidden !important;
    clip:rect(0,0,0,0) !important;white-space:nowrap !important;border:0 !important;
  }
  .lh-visually-hidden{
    position:absolute !important;width:1px !important;height:1px !important;
    padding:0 !important;margin:-1px !important;overflow:hidden !important;
    clip:rect(0,0,0,0) !important;white-space:nowrap !important;border:0 !important;
  }
  html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;text-size-adjust:100%;width:100%;overflow-x:hidden;}
  body{
    background:var(--ink);
    color:var(--ivory);
    font-family:'Manrope','Hind Siliguri',sans-serif;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
    transition:background-color .3s var(--ease), color .3s var(--ease);
  }
  img{max-width:100%;display:block;}
  /* Safety net: prevents embedded post/page content (tables, iframes,
     videos, code blocks) from ever forcing horizontal page scroll on
     mobile. Purely defensive — none of these currently carry explicit
     widths, so this changes nothing on desktop/tablet. */
  iframe, video, embed, object{max-width:100%;}
  table{max-width:100%;}
  pre{max-width:100%;overflow-x:auto;}
  /* Long, unbreakable strings (product names, headings, footer copy)
     wrap instead of overflowing their container on narrow screens. */
  h1,h2,h3,h4,h5,h6,p{overflow-wrap:break-word;}
  a{color:inherit;text-decoration:none;}
  button{font-family:inherit;cursor:pointer;}
  ul{list-style:none;}
  .wrap{max-width:1280px;margin:0 auto;padding:0 28px;}

  ::selection{background:var(--gold);color:var(--ink);}
  *:focus-visible{outline:2px solid var(--gold-light);outline-offset:3px;}

  @media (prefers-reduced-motion: reduce){
    *{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;scroll-behavior:auto !important;}
  }

  /* ---------- shared bits ---------- */
  .eyebrow{
    display:flex;align-items:center;gap:12px;
    font-family:'Manrope','Hind Siliguri',sans-serif;font-weight:700;font-size:12.5px;
    letter-spacing:.22em;text-transform:uppercase;color:var(--gold);
  }
  .thread{
    position:relative;flex:1;max-width:74px;height:1px;background:var(--gold-dim);
  }
  .thread::after{
    content:'';position:absolute;top:50%;left:50%;width:6px;height:6px;
    transform:translate(-50%,-50%) rotate(45deg);background:var(--gold);
  }
  .thread.grow{max-width:none;}
  .section-head{
    display:flex;align-items:flex-end;justify-content:space-between;gap:24px;
    margin-bottom:36px;
  }
  .section-head h2{
    font-family:'Fraunces','Hind Siliguri',serif;font-weight:500;font-size:clamp(28px,3.6vw,42px);
    letter-spacing:-.01em;margin-top:10px;color:var(--ivory);
  }
  .view-all{
    font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
    color:var(--stone);border-bottom:1px solid var(--stone-dim);padding-bottom:3px;
    white-space:nowrap;transition:.3s var(--ease);
  }
  .view-all:hover{color:var(--gold-light);border-color:var(--gold);}

  .btn{
    display:inline-flex;align-items:center;justify-content:center;gap:8px;
    font-weight:700;font-size:13px;letter-spacing:.08em;text-transform:uppercase;
    padding:16px 32px;border-radius:100px;border:1px solid transparent;
    transition:.35s var(--ease);white-space:nowrap;
  }
  .btn-gold{background:var(--gold);color:#1a1408;}
  .btn-gold:hover{background:var(--gold-light);transform:translateY(-2px);box-shadow:0 14px 30px -10px rgba(198,161,91,.55);}
  .btn-ghost{background:transparent;color:var(--ivory);border-color:rgba(244,239,228,.28);}
  .btn-ghost:hover{border-color:var(--gold);color:var(--gold-light);transform:translateY(-2px);}

  /* ---------- top info bars ---------- */
  .topbar{background:var(--ink);border-bottom:1px solid rgba(198,161,91,.10);}
  .topbar-row{display:flex;align-items:center;justify-content:center;padding:7px 16px;}
  .pill{
    display:inline-flex;align-items:center;gap:8px;background:var(--panel);
    border:1px solid rgba(198,161,91,.16);border-radius:100px;padding:6px 18px;
    font-size:12px;color:var(--stone);transition:.3s var(--ease);
    max-width:100%;
  }
  .pill svg{width:14px;height:14px;flex-shrink:0;}
  .pill-text{min-width:0;white-space:normal;}
  .pill b{color:var(--gold-light);font-weight:700;}
  .pill.link{color:var(--gold-light);font-weight:700;cursor:pointer;}
  .pill.link:hover{border-color:var(--gold);background:var(--panel-2);}
  a.pill:hover{border-color:var(--gold);}

  /* ---------- header ---------- */
  /* Prevent the browser's default double-tap / pinch zoom gesture from
     firing when the header, logo, or mobile nav menu is tapped — this
     is what caused the page to visibly zoom in/out on open or close.
     Purely a touch-gesture setting; no visual style, size, color, or
     layout is changed by this rule. */
  header.site,
  header.site a,
  header.site button,
  .brand,
  .brand img,
  .header-actions,
  .action-item,
  .main-nav,
  .main-nav ul,
  .main-nav a{
    touch-action:manipulation;
  }
  header.site{
    position:sticky;top:0;z-index:100;
    background:var(--header-bg);backdrop-filter:blur(16px) saturate(140%);
    border-bottom:1px solid rgba(198,161,91,.12);
    box-shadow:0 0 0 0 rgba(0,0,0,0);
    transition:box-shadow .35s var(--ease), background-color .3s var(--ease);
  }
  /* Was previously a "shrink on scroll" effect that changed the header's
     padding (20px→12px) and the logo's height (44px→34px) once the page
     scrolled past 40px, and changed back on scrolling up. That visible
     resize of the header/logo/search-bar block on every scroll is what
     read as "zooming in/out" — on desktop as well as mobile, since
     nothing here was ever mobile-only. Fixed by never changing the
     header's or logo's size again; the only thing scrolling now adds is
     a subtle shadow for depth, which doesn't move or resize anything. */
  header.site.shrink{box-shadow:0 8px 24px -12px rgba(0,0,0,.45);}
  .header-top{
    display:flex;align-items:center;gap:24px;
    padding:20px 0;
  }
  .brand{display:flex;align-items:center;gap:12px;flex-shrink:0;}
  .brand .custom-logo-link{display:flex;align-items:center;}
  /* Logo + Site Title scale fluidly with the viewport (instead of
     jumping between a few fixed sizes at breakpoints) so the title
     stays proportioned exactly like desktop — big, with the tagline
     right beneath it — all the way down to the smallest phones,
     instead of shrinking unevenly or looking cramped. Desktop's exact
     sizes (44px logo / 26px name / 9.5px tag) are the clamp() max, so
     nothing changes on desktop. */
  .brand img{height:clamp(24px,8vw,44px);width:auto;max-width:220px;max-height:44px;object-fit:contain;filter:drop-shadow(0 0 12px rgba(198,161,91,.18));}
  /* Title and tagline both read their size off one shared variable
     (--title-size) instead of each having its own independent clamp().
     That's what kept them proportional on desktop (26px / 9.5px, a
     fixed ~0.365 ratio) — the tagline's font-size below is just that
     same ratio applied to whatever --title-size resolves to, so the
     two always scale together at any width instead of drifting apart. */
  .brand-text{display:flex;flex-direction:column;line-height:1.05;gap:3px;min-width:0;--title-size:clamp(15px,4.6vw,26px);}
  .brand-text .name{font-family:'Fraunces','Hind Siliguri',serif;font-size:var(--title-size);font-weight:600;letter-spacing:.045em;color:#d9bd7e;text-transform:uppercase;white-space:nowrap;}
  .brand-text .tag{font-size:calc(var(--title-size) * .365);letter-spacing:.18em;color:var(--gold);text-transform:uppercase;white-space:nowrap;}

  .header-search{display:flex;flex:1;max-width:520px;margin:0 auto;}
  .header-search input{
    flex:1;min-width:0;background:var(--panel);border:1px solid rgba(198,161,91,.18);
    border-right:none;border-radius:8px 0 0 8px;padding:12px 18px;
    color:var(--ivory);font-size:13.5px;font-family:'Manrope','Hind Siliguri',sans-serif;
  }
  .header-search input::placeholder{color:var(--stone-dim);}
  .header-search input:focus{outline:none;border-color:var(--gold);}
  .header-search button{
    background:var(--gold);border:1px solid var(--gold);border-radius:0 8px 8px 0;
    padding:0 20px;color:#1a1408;display:flex;align-items:center;justify-content:center;
    transition:.3s var(--ease);
  }
  .header-search button:hover{background:var(--gold-light);}
  .header-search button svg{width:17px;height:17px;}

  .header-actions{display:flex;align-items:center;gap:26px;flex-shrink:0;}
  .action-item{
    display:flex;flex-direction:column;align-items:center;gap:5px;
    font-size:10.5px;font-weight:600;letter-spacing:.02em;color:var(--stone);
    background:transparent;border:none;transition:.3s var(--ease);white-space:nowrap;
  }
  .action-item:hover{color:var(--gold-light);}
  .action-item svg{width:19px;height:19px;stroke-width:1.6;}

  /* ---------- main nav row ---------- */
  .main-nav{background:var(--ink-2);border-top:1px solid rgba(198,161,91,.08);}
  .main-nav ul{
    display:flex;gap:30px;padding:14px 0;overflow-x:auto;
    scrollbar-width:none;-ms-overflow-style:none;
  }
  .main-nav ul::-webkit-scrollbar{display:none;}
  .main-nav a{
    font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--stone);
    white-space:nowrap;padding-bottom:4px;border-bottom:2px solid transparent;transition:.3s var(--ease);
  }
  .main-nav a:hover{color:var(--gold-light);}
  .main-nav li.current-menu-item a,
  .main-nav li.current_page_item a{color:var(--gold);border-color:var(--gold);}

  /* ---------- floating contact buttons ---------- */
  .floating-contacts{position:fixed;inset:0;pointer-events:none;z-index:150;}
  .fab{
    position:fixed;bottom:26px;width:56px;height:56px;border-radius:50%;
    display:flex;align-items:center;justify-content:center;color:#fff;
    box-shadow:0 12px 28px -8px rgba(0,0,0,.55);transition:.3s var(--ease);pointer-events:auto;
  }
  .fab svg{width:26px;height:26px;}
  .fab-phone{left:26px;background:#22c55e;}
  .fab-phone:hover{transform:translateY(-4px);box-shadow:0 16px 34px -8px rgba(34,197,94,.55);}
  .fab-messenger{right:26px;background:#0084ff;}
  .fab-messenger:hover{transform:translateY(-4px);box-shadow:0 16px 34px -8px rgba(0,132,255,.55);}
  @media (max-width:560px){
    .fab{width:48px;height:48px;bottom:18px;}
    .fab-phone{left:16px;}
    .fab-messenger{right:16px;}
    .fab svg{width:22px;height:22px;}
  }

  /* ---------- hero ---------- */
  .hero{position:relative;min-height:92vh;display:flex;align-items:center;overflow:hidden;}
  .hero-bg{position:absolute;inset:0;z-index:0;}
  .hero-bg img{width:100%;height:100%;object-fit:cover;object-position:center 25%;filter:saturate(.92) brightness(.62);}
  .hero-bg::after{
    content:'';position:absolute;inset:0;
    background:linear-gradient(90deg, rgba(8,8,9,.94) 8%, rgba(8,8,9,.55) 46%, rgba(8,8,9,.28) 100%),
               linear-gradient(0deg, rgba(8,8,9,.85) 0%, transparent 32%, transparent 78%, rgba(8,8,9,.55) 100%);
  }
  .hero-content{position:relative;z-index:2;max-width:620px;}
  .hero-content .eyebrow{margin-bottom:26px;opacity:0;animation:riseIn .9s var(--ease) .15s forwards;}
  .hero-content h1{
    font-family:'Fraunces','Hind Siliguri',serif;font-weight:500;
    font-size:clamp(42px,6.4vw,84px);line-height:.98;letter-spacing:-.015em;
    color:var(--ivory);opacity:0;animation:riseIn 1s var(--ease) .3s forwards;
  }
  .hero-content h1 em{font-style:italic;color:var(--gold-light);font-weight:500;}
  .hero-content p{
    margin-top:22px;font-size:16.5px;line-height:1.7;color:var(--stone);max-width:440px;
    opacity:0;animation:riseIn 1s var(--ease) .5s forwards;
  }
  .hero-ctas{display:flex;gap:16px;margin-top:38px;flex-wrap:wrap;
    opacity:0;animation:riseIn 1s var(--ease) .68s forwards;}
  @keyframes riseIn{from{opacity:0;transform:translateY(18px);}to{opacity:1;transform:translateY(0);}}

  .trust-strip{
    position:relative;z-index:2;margin-top:64px;display:flex;gap:40px;flex-wrap:wrap;
    padding-top:26px;border-top:1px solid rgba(244,239,228,.12);max-width:620px;
    opacity:0;animation:riseIn 1s var(--ease) .85s forwards;
  }
  .trust-strip div{display:flex;flex-direction:column;gap:3px;}
  .trust-strip .num{font-family:'Fraunces','Hind Siliguri',serif;font-size:22px;color:var(--gold-light);}
  .trust-strip .lbl{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--stone);}

  .scroll-cue{
    position:absolute;bottom:28px;left:50%;transform:translateX(-50%);z-index:2;
    display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--stone);
    font-size:10px;letter-spacing:.2em;text-transform:uppercase;
  }
  .scroll-cue .line{width:1px;height:34px;background:linear-gradient(var(--gold),transparent);
    animation:scrollLine 1.8s var(--ease) infinite;}
  @keyframes scrollLine{0%{transform:scaleY(0);transform-origin:top;}50%{transform:scaleY(1);transform-origin:top;}
    50.01%{transform-origin:bottom;}100%{transform:scaleY(0);transform-origin:bottom;}}

  /* ---------- reveal on scroll ---------- */
  .reveal{opacity:0;transform:translateY(28px);transition:opacity .8s var(--ease),transform .8s var(--ease);}
  .reveal.in{opacity:1;transform:translateY(0);}

  /* ---------- section spacing ---------- */
  section{padding:100px 0;}
  .section-tight{padding:60px 0;}

  /* ---------- categories ---------- */
  .cat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
  .cat-card{
    position:relative;border-radius:var(--radius-lg);overflow:hidden;aspect-ratio:3/3.7;
    background:var(--panel);border:1px solid rgba(198,161,91,.14);
    transition:.5s var(--ease);
  }
  .cat-card .art{
    position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
    transition:transform .7s var(--ease);
  }
  .cat-card .art svg{width:38%;height:38%;stroke:var(--gold);opacity:.85;stroke-width:1;transition:.6s var(--ease);}
  .cat-card:nth-child(1){background:radial-gradient(120% 120% at 30% 20%,#221c14,#0e0d10 70%);}
  .cat-card:nth-child(2){background:radial-gradient(120% 120% at 70% 20%,#241a1c,#0e0d10 70%);}
  .cat-card:nth-child(3){background:radial-gradient(120% 120% at 30% 80%,#1c2019,#0e0d10 70%);}
  .cat-card:nth-child(4){background:radial-gradient(120% 120% at 70% 80%,#1a1c22,#0e0d10 70%);}
  .cat-card:hover{transform:translateY(-6px);border-color:var(--gold);box-shadow:0 24px 50px -20px rgba(0,0,0,.6);}
  .cat-card:hover .art{transform:scale(1.08);}
  .cat-card:hover .art svg{stroke:var(--gold-light);}
  .cat-info{
    position:absolute;left:0;right:0;bottom:0;padding:24px;
    background:linear-gradient(0deg, rgba(8,8,9,.92), transparent);
  }
  .cat-info .num{font-size:10.5px;color:var(--gold);letter-spacing:.15em;}
  .cat-info h3{font-family:'Fraunces','Hind Siliguri',serif;font-size:23px;font-weight:500;margin-top:4px;color:var(--ivory);}
  .cat-info span.go{
    display:inline-flex;align-items:center;gap:6px;margin-top:12px;font-size:11px;
    letter-spacing:.1em;text-transform:uppercase;font-weight:800;color:var(--gold-light);
    border:1px solid var(--gold-dim);border-radius:var(--radius-sm);padding:9px 16px;
    transition:.3s var(--ease);
  }
  .cat-card:hover .go{background:var(--gold);color:#1a1408;border-color:var(--gold);gap:8px;}

  /* ---------- promo strip ---------- */
  .promo-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:20px;}
  .promo-card{
    position:relative;border-radius:var(--radius-lg);overflow:hidden;min-height:260px;
    display:flex;flex-direction:column;justify-content:flex-end;padding:30px;
    border:1px solid rgba(198,161,91,.14);transition:.5s var(--ease);
  }
  .promo-card:hover{transform:translateY(-5px);border-color:var(--gold);}
  .promo-card.p1{background:linear-gradient(155deg,#26200f,#0c0b0d 65%);}
  .promo-card.p2{background:linear-gradient(155deg,#20161a,#0c0b0d 65%);}
  .promo-card.p3{background:linear-gradient(155deg,#141a1c,#0c0b0d 65%);}
  .promo-card .tag{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);}
  .promo-card h3{font-family:'Fraunces','Hind Siliguri',serif;font-size:clamp(22px,2.4vw,30px);font-weight:500;margin:8px 0 16px;max-width:80%;}
  .promo-card .view-all{
    display:inline-flex;align-items:center;gap:6px;margin-top:2px;font-size:11px;
    letter-spacing:.1em;text-transform:uppercase;font-weight:800;
    border:1px solid var(--gold-dim);border-radius:var(--radius-sm);padding:9px 16px;
    transition:.3s var(--ease);width:fit-content;
  }
  .promo-card:hover .view-all{background:var(--gold);color:#1a1408 !important;border-color:var(--gold);gap:8px;}
  .promo-card .pattern{position:absolute;inset:0;opacity:.5;
    background-image:repeating-linear-gradient(45deg, rgba(198,161,91,.06) 0 1px, transparent 1px 26px);}

  /* ---------- product cards ---------- */
  .prod-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
  .prod-card{
    background:var(--panel);border:1px solid rgba(244,239,228,.06);border-radius:var(--radius-md);
    overflow:hidden;transition:.45s var(--ease);position:relative;
  }
  .prod-card:hover{border-color:var(--gold-dim);transform:translateY(-6px);box-shadow:0 26px 50px -24px rgba(0,0,0,.7);}
  .prod-media{
    position:relative;aspect-ratio:1/1.12;overflow:hidden;
    display:flex;align-items:center;justify-content:center;
  }
  .prod-media .swatch{position:absolute;inset:0;transition:transform .8s var(--ease),opacity .5s var(--ease);}
  .prod-card:hover .swatch.base{transform:scale(1.06);}
  .prod-media .mono{
    position:relative;font-family:'Fraunces','Hind Siliguri',serif;font-style:italic;font-weight:500;
    font-size:15px;letter-spacing:.02em;color:rgba(244,239,228,.82);text-align:center;
    padding:0 18px;line-height:1.35;
  }
  .swatch-1{background:radial-gradient(120% 120% at 20% 15%,#3a2f1c,#141115 72%);}
  .swatch-2{background:radial-gradient(120% 120% at 80% 20%,#332721,#141115 72%);}
  .swatch-3{background:radial-gradient(120% 120% at 25% 80%,#242a20,#141115 72%);}
  .swatch-4{background:radial-gradient(120% 120% at 75% 75%,#221e2a,#141115 72%);}
  .swatch-5{background:radial-gradient(120% 120% at 50% 20%,#2c2823,#141115 72%);}
  .swatch-6{background:radial-gradient(120% 120% at 50% 80%,#1c2622,#141115 72%);}

  .tag-badge{
    position:absolute;top:14px;left:14px;z-index:3;font-size:10px;font-weight:800;
    letter-spacing:.08em;text-transform:uppercase;padding:5px 10px;border-radius:100px;
  }
  .tag-sale{background:var(--rose);color:#fdf1ee;}
  .tag-new{background:var(--gold);color:#1a1408;}

  .fav-btn{
    position:absolute;top:12px;right:12px;z-index:3;width:34px;height:34px;border-radius:50%;
    background:rgba(10,10,12,.5);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;
    color:var(--ivory);transition:.3s var(--ease);
  }
  .fav-btn:hover, .fav-btn.active{background:var(--gold);color:#1a1408;}
  .fav-btn svg{width:16px;height:16px;}

  .compare-btn{
    position:absolute;top:52px;right:12px;z-index:3;width:34px;height:34px;border-radius:50%;
    background:rgba(10,10,12,.5);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;
    color:var(--ivory);transition:.3s var(--ease);
  }
  .compare-btn:hover, .compare-btn.active{background:var(--gold);color:#1a1408;}
  .compare-btn.maxed{opacity:.4;}
  .compare-btn svg{width:16px;height:16px;}

  .prod-hover-actions{
    position:absolute;left:12px;right:12px;bottom:12px;z-index:3;display:flex;gap:8px;
    opacity:0;transform:translateY(10px);transition:.4s var(--ease);
  }
  .prod-card:hover .prod-hover-actions{opacity:1;transform:translateY(0);}
  .mini-btn{
    flex:1;display:flex;align-items:center;justify-content:center;text-align:center;
    padding:11px 8px;border-radius:100px;font-size:10.5px;font-weight:800;white-space:nowrap;
    letter-spacing:.06em;text-transform:uppercase;backdrop-filter:blur(8px);transition:.3s var(--ease);
  }
  .mini-btn.quick{background:rgba(23,21,26,.78);color:var(--ivory);border:1px solid rgba(198,161,91,.3);}
  .mini-btn.quick:hover{border-color:var(--gold);color:var(--gold-light);}
  .mini-btn.buy{background:var(--gold);color:#1a1408;}
  .mini-btn.buy:hover{background:var(--gold-light);}

  .prod-body{padding:18px 18px 20px;}
  .prod-code{font-size:10.5px;color:var(--stone-dim);letter-spacing:.06em;}
  .prod-body h4{font-size:14.5px;font-weight:600;margin-top:6px;line-height:1.4;color:var(--ivory);}
  .prod-rating{display:flex;align-items:center;gap:5px;margin-top:8px;}
  .prod-rating .stars{color:var(--gold);font-size:11px;letter-spacing:1px;}
  .prod-rating .count{font-size:11px;color:var(--stone-dim);}
  .prod-variants{display:flex;gap:6px;margin-top:10px;}
  .swatch-dot{width:14px;height:14px;border-radius:50%;border:1px solid rgba(244,239,228,.25);}
  .prod-price{display:flex;align-items:baseline;gap:8px;margin-top:12px;}
  .prod-price .now{font-family:'Fraunces','Hind Siliguri',serif;font-size:19px;color:var(--gold-light);}
  .prod-price .was{font-size:12.5px;color:var(--stone-dim);text-decoration:line-through;}
  .stock-badge{margin-top:8px;font-size:10px;color:var(--emerald);letter-spacing:.04em;display:flex;align-items:center;gap:5px;}
  .stock-badge::before{content:'';width:5px;height:5px;border-radius:50%;background:var(--emerald);}

  .add-cart-btn{
    display:block;width:100%;margin-top:14px;padding:11px;border-radius:100px;text-align:center;
    background:var(--gold);color:#1a1408;font-size:12px;font-weight:800;letter-spacing:.05em;
    text-transform:uppercase;transition:.3s var(--ease);border:none;font-family:inherit;cursor:pointer;
  }
  .add-cart-btn:hover{background:var(--gold-light);}
  .add-cart-btn:disabled{background:rgba(244,239,228,.08);color:var(--stone-dim);cursor:not-allowed;}
  .add-cart-btn.added{background:var(--emerald);}
  .add-cart-btn.loading{opacity:.6;cursor:wait;}

  /* ---------- compare modal ---------- */
  .lh-modal-overlay{
    position:fixed;inset:0;z-index:999;background:rgba(10,10,12,.7);backdrop-filter:blur(4px);
    display:none;align-items:center;justify-content:center;padding:20px;
  }
  .lh-modal-overlay.open{display:flex;}
  .lh-modal{
    background:var(--panel);border:1px solid rgba(198,161,91,.25);border-radius:var(--radius-md);
    max-width:560px;width:100%;max-height:80vh;overflow:auto;padding:26px;
  }
  .lh-modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;}
  .lh-modal-head h3{font-family:'Fraunces','Hind Siliguri',serif;font-weight:500;font-size:20px;color:var(--ivory);}
  .lh-modal-close{font-size:24px;line-height:1;color:var(--stone);}
  .lh-modal-close:hover{color:var(--gold-light);}
  .compare-row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid rgba(244,239,228,.08);}
  .compare-row .name{color:var(--ivory);font-size:13.5px;flex:1;}
  .compare-row .price{color:var(--gold-light);font-size:13px;white-space:nowrap;}
  .compare-remove{font-size:20px;line-height:1;color:var(--stone);}
  .compare-remove:hover{color:var(--rose);}
  .lh-modal-empty{color:var(--stone);font-size:13.5px;text-align:center;padding:30px 0;}
  .lh-modal-foot{margin-top:18px;display:flex;justify-content:flex-end;}

  /* ---------- why choose ---------- */
  .why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
  .why-card{
    padding:36px 28px;border:1px solid rgba(198,161,91,.14);border-radius:var(--radius-md);
    background:linear-gradient(160deg,var(--panel),var(--ink-2));text-align:left;
    transition:.4s var(--ease);
  }
  .why-card:hover{border-color:var(--gold);transform:translateY(-4px);}
  .why-card .ic{
    width:48px;height:48px;border-radius:50%;border:1px solid var(--gold-dim);
    display:flex;align-items:center;justify-content:center;margin-bottom:20px;color:var(--gold);
  }
  .why-card .ic svg{width:22px;height:22px;stroke-width:1.4;}
  .why-card h4{font-family:'Fraunces','Hind Siliguri',serif;font-size:19px;font-weight:500;margin-bottom:8px;}
  .why-card p{font-size:13.5px;color:var(--stone);line-height:1.6;}

  /* ---------- testimonials ---------- */
  .rev-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;}
  .rev-card{
    padding:32px;border-radius:var(--radius-md);background:var(--panel);
    border:1px solid rgba(244,239,228,.06);
  }
  .rev-stars{color:var(--gold);font-size:13px;letter-spacing:2px;margin-bottom:14px;}
  .rev-card p{font-size:15px;line-height:1.7;color:var(--ivory);font-family:'Fraunces','Hind Siliguri',serif;font-style:italic;font-weight:400;}
  .rev-who{display:flex;align-items:center;gap:12px;margin-top:20px;}
  .rev-avatar{
    width:38px;height:38px;border-radius:50%;background:var(--gold-dim);color:var(--gold-light);
    display:flex;align-items:center;justify-content:center;font-family:'Fraunces','Hind Siliguri',serif;font-size:14px;
  }
  .rev-who .name{font-size:13px;font-weight:700;}
  .rev-who .role{font-size:11px;color:var(--stone-dim);}

  /* ---------- footer ---------- */
  footer{background:var(--ink-2);border-top:1px solid rgba(198,161,91,.14);padding:80px 0 0;}
  .foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.3fr;gap:40px;padding-bottom:60px;}
  .foot-brand .brand{margin-bottom:18px;}
  .foot-brand p{font-size:13.5px;color:var(--stone);line-height:1.75;max-width:320px;}
  .foot-social{display:flex;gap:10px;margin-top:22px;}
  .foot-social a{
    width:36px;height:36px;border-radius:50%;border:1px solid rgba(198,161,91,.25);
    display:flex;align-items:center;justify-content:center;color:var(--stone);transition:.3s var(--ease);
  }
  .foot-social a:hover{border-color:var(--gold);color:var(--gold-light);}
  .foot-social svg{width:15px;height:15px;}
  .foot-col h5{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin-bottom:20px;}
  .foot-col ul li{margin-bottom:12px;}
  .foot-col a{font-size:13.5px;color:var(--stone);transition:.3s var(--ease);}
  .foot-col a:hover{color:var(--gold-light);}
  .foot-news p{font-size:13.5px;color:var(--stone);margin-bottom:16px;line-height:1.6;}
  .news-form{display:flex;align-items:center;border:1px solid rgba(198,161,91,.35);border-radius:8px;background:rgba(244,239,228,.04);padding:4px 6px 4px 14px;gap:8px;}
  .news-form input{flex:1;background:transparent;border:none;color:var(--ivory);font-size:13.5px;padding:9px 0;}
  .news-form input::placeholder{color:var(--stone);}
  .news-form input:focus{outline:none;}
  .news-form:focus-within{border-color:var(--gold);}
  .news-form button{color:var(--gold);font-size:13px;font-weight:700;letter-spacing:.05em;padding:9px 14px;border-radius:6px;background:rgba(198,161,91,.1);white-space:nowrap;}
  .news-form button:hover{background:rgba(198,161,91,.18);}
  .pay-row{display:flex;gap:10px;margin-top:22px;flex-wrap:wrap;}
  .pay-chip{
    padding:7px 12px;border:1px solid rgba(244,239,228,.14);border-radius:6px;
    font-size:10.5px;color:var(--stone);letter-spacing:.03em;
  }
  .foot-bottom{
    border-top:1px solid rgba(244,239,228,.08);padding:24px 0;
    display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:12px;text-align:center;
  }
  .foot-bottom p{font-size:12px;color:var(--stone-dim);}
  .foot-bottom .legal{display:flex;gap:22px;}
  .foot-bottom .legal a{font-size:12px;color:var(--stone-dim);}
  .foot-bottom .legal a:hover{color:var(--gold-light);}

  /* ---------- footer: we accept + trust badges ---------- */
  .footer-accept{padding:56px 0 44px;border-bottom:1px solid rgba(244,239,228,.08);text-align:center;}
  .accept-title{font-size:12.5px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--ivory);margin-bottom:22px;}
  .accept-pills{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-bottom:44px;}
  .accept-pill{
    padding:10px 20px;border-radius:100px;font-size:12.5px;font-weight:700;
    border:1px solid rgba(244,239,228,.14);background:var(--panel);
  }
  .pill-bkash{color:#e21a6f;}
  .pill-nagad{color:#f7941d;}
  .pill-rocket{color:#8e44ec;}
  .pill-visa{color:#5b7fe0;}
  .pill-mc{color:#eb4a3d;}
  .pill-cod{color:var(--ivory);}
  .trust-row{display:flex;flex-wrap:wrap;justify-content:center;gap:40px;}
  .trust-item{display:flex;align-items:center;gap:12px;text-align:left;}
  .trust-item svg{width:26px;height:26px;stroke-width:1.5;color:var(--gold);flex-shrink:0;}
  .trust-item b{display:block;font-size:12.5px;font-weight:800;letter-spacing:.03em;text-transform:uppercase;color:var(--ivory);}
  .trust-item span{display:block;font-size:11.5px;color:var(--stone);margin-top:2px;}

  .social-pill{
    width:38px;height:38px;padding:0;border-radius:50%;overflow:hidden;
    display:flex;align-items:center;justify-content:center;
    border:1px solid rgba(198,161,91,.25);transition:.3s var(--ease);
  }
  .social-pill svg{width:100%;height:100%;display:block;}
  .social-pill:hover{border-color:var(--gold);transform:translateY(-2px);}

  /* ---------- light theme (Theme toggle in header) ---------- */
  body.light-theme{
    --ink:#f6f3ec; --ink-2:#efeadd; --panel:#ffffff; --panel-2:#f1ece0;
    --ivory:#181510; --stone:#5f5a53; --stone-dim:#948d81;
    --header-bg:rgba(246,243,236,.86);
  }
  body.light-theme .hero-bg img{filter:saturate(.92) brightness(.7);}
  body.light-theme .btn-ghost{border-color:rgba(24,21,16,.28);color:var(--ivory);}
  body.light-theme .action-item{color:var(--stone);}

  /* ---------- WooCommerce integration ---------- */
  .woo-wrap, .woocommerce, .woocommerce-page{color:var(--ivory);}
  .woocommerce ul.products{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;list-style:none;padding:0;margin:0;}
  .woocommerce ul.products li.product{
    background:var(--panel);border:1px solid rgba(244,239,228,.06);border-radius:var(--radius-md);
    overflow:hidden;position:relative;transition:.45s var(--ease);
  }
  .woocommerce ul.products li.product:hover{border-color:var(--gold-dim);transform:translateY(-6px);box-shadow:0 26px 50px -24px rgba(0,0,0,.7);}
  .woocommerce ul.products li.product a{display:block;color:inherit;}
  .woocommerce ul.products li.product img{width:100%;aspect-ratio:1/1.12;object-fit:cover;}
  .woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:14.5px;font-weight:600;color:var(--ivory);padding:16px 16px 4px;}
  .woocommerce ul.products li.product .price{padding:0 16px 16px;font-family:'Fraunces','Hind Siliguri',serif;color:var(--gold-light);font-size:17px;display:block;}
  .woocommerce ul.products li.product .price del{color:var(--stone-dim);font-family:'Manrope','Hind Siliguri',sans-serif;font-size:12.5px;margin-right:6px;opacity:1;}
  .woocommerce ul.products li.product .button{
    margin:0 16px 16px;display:inline-flex;background:var(--gold);color:#1a1408;
    padding:10px 18px;border-radius:100px;font-size:11px;font-weight:800;
    letter-spacing:.06em;text-transform:uppercase;transition:.3s var(--ease);
  }
  .woocommerce ul.products li.product .button:hover{background:var(--gold-light);}
  .woocommerce span.onsale{
    background:var(--rose);color:#fdf1ee;border-radius:100px;padding:4px 12px;
    font-size:10px;font-weight:800;text-transform:uppercase;top:14px;left:14px;
    position:absolute;min-height:0;min-width:0;line-height:1.4;
  }
  .woocommerce nav.woocommerce-pagination ul{display:flex;gap:8px;border:none;}
  .woocommerce nav.woocommerce-pagination ul li{border:none;}
  .woocommerce nav.woocommerce-pagination ul li a,
  .woocommerce nav.woocommerce-pagination ul li span{background:var(--panel);color:var(--stone);border-radius:8px;padding:8px 14px;}
  .woocommerce nav.woocommerce-pagination ul li a:hover,
  .woocommerce nav.woocommerce-pagination ul li span.current{background:var(--gold);color:#1a1408;}

  /* ---------- Shop / category archive header (archive-product.php,
     taxonomy-product_cat.php) ---------- */
  .shop-header{margin-bottom:34px;}
  .woocommerce-breadcrumb{font-size:12px;color:var(--stone-dim);margin:0 0 16px;letter-spacing:.01em;}
  .woocommerce-breadcrumb a{color:var(--stone-dim);}
  .woocommerce-breadcrumb a:hover{color:var(--gold-light);}
  .shop-title{
    font-family:'Fraunces','Hind Siliguri',serif;font-weight:500;
    font-size:clamp(30px,4vw,46px);margin:12px 0 0;color:var(--ivory);
  }
  .shop-description{color:var(--stone);font-size:14.5px;line-height:1.8;margin:14px 0 0;max-width:640px;}
  .shop-description p{margin:0 0 10px;}
  .shop-description p:last-child{margin-bottom:0;}
  .shop-cat-banner{margin:24px 0 0;border-radius:var(--radius-md);overflow:hidden;}
  .shop-cat-banner img{width:100%;max-height:240px;object-fit:cover;display:block;}

  /* Default WooCommerce result count + sort-by dropdown above the grid */
  .woocommerce-result-count{color:var(--stone-dim);font-size:12.5px;margin:0 0 6px;}
  .woocommerce-ordering{margin:0 0 24px;}
  .woocommerce-ordering select{font-size:12.5px;cursor:pointer;}

  .woocommerce div.product .woocommerce-product-gallery{border-radius:var(--radius-md);overflow:hidden;background:var(--panel);margin-bottom:0;}
  /* Product image overlay icon (search/magnifier) — hide only this
     trigger button. The gallery slider and hover-zoom feature
     (wc-product-gallery-zoom) keep working normally; only the visible
     icon on top of the image is removed. */
  .woocommerce div.product .woocommerce-product-gallery__trigger{display:none !important;}

  /* ---------- Product Gallery: thumbnail strip ----------
     WooCommerce/flexslider builds the thumbnail row itself
     (ol.flex-control-thumbs) at runtime; clicking a thumbnail to swap
     the main image is that same built-in behavior and is untouched
     here — only its look, spacing and (via js/main.js) prev/next
     scrolling are added. The main image's zoom/hover/touch system is
     never touched. */
  .lh-gallery-thumbs{position:relative;display:flex;align-items:center;gap:10px;margin-top:16px;}
  .lh-gallery-thumbs .flex-control-thumbs{
    display:flex;gap:10px;overflow-x:auto;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;
    list-style:none;margin:0;padding:2px;flex:1;min-width:0;scrollbar-width:none;
  }
  .lh-gallery-thumbs .flex-control-thumbs::-webkit-scrollbar{display:none;}
  .lh-gallery-thumbs .flex-control-thumbs li{flex:0 0 calc(25% - 8px);}
  .lh-gallery-thumbs .flex-control-thumbs li img{
    width:100%;aspect-ratio:1/1;object-fit:cover;display:block;border-radius:var(--radius-sm);
    border:1.5px solid rgba(198,161,91,.18);cursor:pointer;opacity:.6;transition:.25s var(--ease);
  }
  .lh-gallery-thumbs .flex-control-thumbs li img:hover{opacity:.85;border-color:var(--gold-dim);}
  .lh-gallery-thumbs .flex-control-thumbs li img.flex-active{opacity:1;border-color:var(--gold);}
  .lh-gallery-thumb-nav{
    flex:0 0 auto;width:30px;height:30px;border-radius:50%;border:1px solid rgba(198,161,91,.28);
    background:var(--panel);color:var(--gold-light);display:flex;align-items:center;justify-content:center;
    cursor:pointer;transition:.2s var(--ease);padding:0;
  }
  .lh-gallery-thumb-nav svg{width:15px;height:15px;}
  .lh-gallery-thumb-nav:hover{background:var(--gold);color:#1a1408;border-color:var(--gold);}
  .lh-gallery-thumb-nav:disabled{opacity:.3;cursor:default;pointer-events:none;}
  @media (max-width:560px){
    .lh-gallery-thumbs .flex-control-thumbs li{flex:0 0 calc(25% - 7.5px);}
    .lh-gallery-thumb-nav{width:26px;height:26px;}
    .lh-gallery-thumb-nav svg{width:13px;height:13px;}
  }
  .woocommerce div.product .summary{margin-top:32px;}
  .woocommerce div.product .summary h1.product_title{font-family:'Fraunces','Hind Siliguri',serif;font-size:clamp(26px,3vw,38px);color:var(--ivory);font-weight:500;}
  .woocommerce div.product p.price, .woocommerce div.product span.price{font-family:'Fraunces','Hind Siliguri',serif;color:var(--gold-light);font-size:24px;}
  .woocommerce div.product .woocommerce-product-rating{margin:14px 0;}
  .woocommerce div.product .woocommerce-product-rating .container-rating{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
  .woocommerce div.product .woocommerce-product-rating .star-rating{margin:0;font-size:15px;color:var(--gold);}
  .woocommerce div.product .woocommerce-product-rating .woocommerce-review-link{
    font-size:13px;color:var(--stone-dim);text-decoration:none;transition:.2s var(--ease);
  }
  .woocommerce div.product .woocommerce-product-rating .woocommerce-review-link:hover{color:var(--gold-light);}
  .woocommerce div.product .woocommerce-product-rating .woocommerce-review-link .count{color:inherit;}
  .woocommerce div.product form.cart{margin-top:26px;display:flex;gap:14px;align-items:center;flex-wrap:wrap;}
  .woocommerce div.product form.cart .quantity{
    display:inline-flex;align-items:center;background:var(--panel);
    border:1px solid rgba(198,161,91,.2);border-radius:100px;overflow:hidden;
  }
  .woocommerce div.product form.cart .quantity input{
    width:40px;background:transparent;border:none;color:var(--ivory);padding:12px 0;
    text-align:center;-moz-appearance:textfield;font-size:14px;
  }
  .woocommerce div.product form.cart .quantity input::-webkit-inner-spin-button,
  .woocommerce div.product form.cart .quantity input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0;}
  .woocommerce div.product form.cart .quantity .lh-pqty-btn{
    background:transparent;border:none;color:var(--gold-light);width:38px;height:44px;
    font-size:17px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;
    transition:.2s var(--ease);flex-shrink:0;padding:0;
  }
  .woocommerce div.product form.cart .quantity .lh-pqty-btn:hover{background:var(--gold);color:#1a1408;}
  .woocommerce div.product form.cart .quantity .lh-pqty-btn:disabled{opacity:.35;cursor:default;pointer-events:none;}
  .woocommerce div.product form.cart button.single_add_to_cart_button{
    background:var(--gold);color:#1a1408;padding:15px 34px;border-radius:100px;
    font-weight:800;letter-spacing:.06em;text-transform:uppercase;font-size:13px;border:none;
    position:relative;
  }
  .woocommerce div.product form.cart button.single_add_to_cart_button:hover{background:var(--gold-light);}

  /* Add to Cart — success ✓ shown inside the existing button (text/label/
     design unchanged) plus a small message right underneath it. Both are
     JS-driven (js/main.js) and replace WooCommerce's default top-of-page
     "added to cart" notice. */
  .woocommerce div.product form.cart button.single_add_to_cart_button.lh-atc-added::after{
    content:'✓';display:inline-flex;align-items:center;justify-content:center;
    position:absolute;top:50%;right:12px;transform:translateY(-50%);
    width:20px;height:20px;border-radius:50%;background:#1a1408;color:var(--gold-light);
    font-size:11px;font-weight:800;animation:lhAtcTick .2s var(--ease);
  }
  .woocommerce div.product form.cart button.single_add_to_cart_button.lh-atc-loading{opacity:.7;cursor:wait;}
  @keyframes lhAtcTick{from{opacity:0;transform:translateY(-50%) scale(.4);}to{opacity:1;transform:translateY(-50%) scale(1);}}
  .woocommerce div.product form.cart .lh-atc-inline-msg{
    flex-basis:100%;max-height:0;opacity:0;overflow:hidden;
    font-size:12.5px;letter-spacing:.02em;color:var(--emerald);
    transition:opacity .25s var(--ease),max-height .25s var(--ease);
  }
  .woocommerce div.product form.cart .lh-atc-inline-msg.show{max-height:28px;opacity:1;}
  .woocommerce div.product .buy-now-btn{
    background:transparent;color:var(--gold-light);padding:15px 34px;border-radius:100px;
    font-weight:800;letter-spacing:.06em;text-transform:uppercase;font-size:13px;
    border:1px solid var(--gold);display:inline-block;
  }
  .woocommerce div.product .buy-now-btn:hover{background:var(--gold);color:#1a1408;}
  .woocommerce div.product .woocommerce-tabs{margin-top:50px;border-top:1px solid rgba(244,239,228,.1);padding-top:30px;}
  .woocommerce div.product .woocommerce-tabs ul.tabs{display:flex;gap:24px;border:none;margin-bottom:24px;padding:0;}
  .woocommerce div.product .woocommerce-tabs ul.tabs li{border:none;background:none;padding:0;margin:0;}
  .woocommerce div.product .woocommerce-tabs ul.tabs li a{color:var(--stone);font-weight:700;letter-spacing:.04em;text-transform:uppercase;font-size:12.5px;}
  .woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--gold-light);}
  .woocommerce div.product .woocommerce-tabs .panel{color:var(--stone);line-height:1.8;}
  .related.products{margin-top:70px;}
  .related.products > h2{font-family:'Fraunces','Hind Siliguri',serif;font-size:clamp(24px,3vw,34px);margin-bottom:30px;color:var(--ivory);}

  /* ---------- Reviews tab (existing reviews list + "Add a review" form) ----------
     WooCommerce's own stylesheet is fully disabled on this theme
     (woocommerce_enqueue_styles => empty array), so #reviews had no
     styling at all before this block — hence fields drifting right /
     the layout breaking. Only presentation is added here; the review
     list markup, the comment form fields, and WooCommerce's own
     validation/submit logic are all untouched. */
  #reviews{max-width:720px;}
  .woocommerce-Reviews-title{
    font-family:'Fraunces','Hind Siliguri',serif;font-size:clamp(20px,2.6vw,26px);
    color:var(--ivory);margin:0 0 22px;font-weight:600;
  }
  .woocommerce-Reviews ol.commentlist{list-style:none;margin:0 0 36px;padding:0;display:flex;flex-direction:column;gap:18px;}
  .woocommerce-Reviews ol.commentlist li.review{
    background:var(--panel);border-radius:var(--radius-md);padding:18px 20px;
  }
  .woocommerce-Reviews ol.commentlist .comment_container{display:flex;gap:14px;align-items:flex-start;}
  .woocommerce-Reviews ol.commentlist .comment_container img{
    border-radius:50%;width:42px;height:42px;flex:0 0 auto;
  }
  .woocommerce-Reviews ol.commentlist .comment-text{flex:1 1 auto;min-width:0;}
  .woocommerce-Reviews ol.commentlist .star-rating{margin:0 0 8px;font-size:14px;color:var(--gold);}
  .woocommerce-Reviews ol.commentlist .woocommerce-review__author{color:var(--ivory);font-weight:700;font-size:13.5px;}
  .woocommerce-Reviews ol.commentlist .woocommerce-review__dash{color:var(--stone-dim);margin:0 6px;}
  .woocommerce-Reviews ol.commentlist .woocommerce-review__published-date{color:var(--stone-dim);font-size:12px;}
  .woocommerce-Reviews ol.commentlist .description p{color:var(--stone);line-height:1.7;margin:6px 0 0;font-size:14px;}
  .woocommerce-noreviews{color:var(--stone);margin-bottom:30px;}

  #review_form_wrapper{background:var(--panel);border-radius:var(--radius-md);padding:26px 24px;}
  #review_form #respond{max-width:100%;}
  #review_form .comment-reply-title{
    display:block;font-family:'Fraunces','Hind Siliguri',serif;font-size:clamp(18px,2.4vw,22px);
    color:var(--ivory);margin:0 0 18px;font-weight:600;
  }
  #review_form .comment-reply-title small{display:block;margin-top:6px;font-family:'Manrope','Hind Siliguri',sans-serif;font-size:12.5px;}
  #review_form .comment-reply-title small a{color:var(--gold-light);}
  #review_form .comment-notes{color:var(--stone);font-size:13px;margin:0 0 18px;}
  #review_form .comment-form{display:flex;flex-wrap:wrap;gap:16px;box-sizing:border-box;}
  #review_form .comment-form p{box-sizing:border-box;max-width:100%;margin:0;}
  #review_form .comment-form-rating{flex:1 1 100%;}
  #review_form .comment-form-author,
  #review_form .comment-form-email{flex:1 1 220px;min-width:0;}
  #review_form .comment-form-comment{flex:1 1 100%;}
  #review_form .comment-form p label{
    display:block;color:var(--ivory);font-size:12.5px;font-weight:700;
    letter-spacing:.03em;text-transform:uppercase;margin-bottom:8px;
  }
  #review_form .comment-form p label .required{color:var(--rose);text-decoration:none;}
  #review_form .comment-form input[type="text"],
  #review_form .comment-form input[type="email"],
  #review_form .comment-form textarea{
    width:100%;max-width:100%;box-sizing:border-box;background:var(--ink-2);
    border:1px solid rgba(198,161,91,.18);color:var(--ivory);border-radius:8px;
    padding:12px 14px;font-family:inherit;font-size:13.5px;transition:border-color .2s var(--ease);
  }
  #review_form .comment-form input[type="text"]:focus,
  #review_form .comment-form input[type="email"]:focus,
  #review_form .comment-form textarea:focus{outline:none;border-color:var(--gold);}
  #review_form .comment-form textarea{min-height:110px;resize:vertical;display:block;}
  #review_form .comment-form p.form-submit{flex:1 1 100%;margin:4px 0 0;}

  /* Native <select id="rating"> stays in the DOM (unchanged name/id/
     required — WooCommerce still reads its value on submit) but is
     visually replaced by a row of clickable stars, built by
     lhSetupReviewStars() in js/main.js. */
  #review_form .comment-form-rating{display:flex;flex-direction:column;gap:8px;}
  #review_form .comment-form-rating select#rating{
    position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
    clip:rect(0,0,0,0);white-space:nowrap;border:0;
  }
  .lh-star-rating{display:inline-flex;gap:4px;}
  .lh-star-rating .lh-star{
    background:none;border:none;padding:0;cursor:pointer;font-size:26px;line-height:1;
    color:rgba(244,239,228,.22);transition:color .15s var(--ease),transform .15s var(--ease);
  }
  .lh-star-rating:hover .lh-star.lh-star-hover,
  .lh-star-rating .lh-star.lh-star-active{color:var(--gold);}
  .lh-star-rating .lh-star:hover{transform:scale(1.12);}
  .lh-star-rating-label{font-size:12px;color:var(--stone-dim);min-height:16px;}

  #review_form .comment-form input#submit,
  #review_form .comment-form button#submit{
    background:var(--gold);color:#1a1408;border-radius:100px;border:none;
    padding:14px 34px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;
    font-size:13px;cursor:pointer;transition:background .2s var(--ease);
  }
  #review_form .comment-form input#submit:hover,
  #review_form .comment-form button#submit:hover{background:var(--gold-light);}

  @media (max-width:600px){
    #review_form_wrapper{padding:20px 16px;}
    #review_form .comment-form-author,
    #review_form .comment-form-email{flex:1 1 100%;}
    .lh-star-rating .lh-star{font-size:24px;}
  }

  .woocommerce table.shop_table{width:100%;border-collapse:collapse;background:var(--panel);border-radius:var(--radius-md);overflow:hidden;}
  .woocommerce table.shop_table th{background:var(--ink-2);color:var(--gold-light);text-transform:uppercase;font-size:11.5px;letter-spacing:.06em;padding:14px;text-align:left;}
  .woocommerce table.shop_table td{padding:14px;border-top:1px solid rgba(244,239,228,.06);color:var(--ivory);}
  .woocommerce #order_review, .woocommerce-checkout-review-order-table{background:var(--panel);border-radius:var(--radius-md);}

  /* ---------- checkout: Items list (thumbnail + qty stepper) ---------- */
  .woocommerce-checkout-review-order-table .product-name{vertical-align:top;}
  .lh-checkout-item{display:flex;gap:12px;align-items:flex-start;}
  .lh-checkout-item-thumb{flex:0 0 auto;width:56px;height:56px;border-radius:var(--radius-sm);overflow:hidden;background:var(--ink-2);}
  .lh-checkout-item-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
  .lh-checkout-item-info{flex:1 1 auto;min-width:0;}
  .lh-checkout-item-name{color:var(--ivory);font-weight:600;margin-bottom:10px;display:flex;align-items:center;gap:8px;}
  .lh-qty{display:inline-flex;align-items:center;border:1px solid rgba(198,161,91,.28);border-radius:100px;overflow:hidden;transition:opacity .2s var(--ease);}
  .lh-qty-btn{background:transparent;border:none;color:var(--gold-light);width:28px;height:28px;font-size:15px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.2s var(--ease);}
  .lh-qty-btn:hover{background:var(--gold);color:#1a1408;}
  .lh-qty-value{min-width:26px;text-align:center;font-size:13px;font-weight:700;color:var(--ivory);}
  .lh-qty-loading{opacity:.5;pointer-events:none;}
  .lh-remove-item{background:var(--rose);border:none;color:#fdf1ee;width:22px;height:22px;border-radius:50%;padding:0;flex-shrink:0;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 6px rgba(181,73,59,.35);transition:.2s var(--ease);}
  .lh-remove-item svg{width:11px;height:11px;}
  .lh-remove-item:hover{background:#98392e;transform:scale(1.08);}
  .lh-checkout-item.lh-remove-loading{opacity:.5;pointer-events:none;}
  /* All 4 checkout fields (Name, Mobile Number, Email, Delivery Full
     Address) share the same "form-row-wide" class, so they're forced
     to stack — full width, no float, label on its own line above the
     input — as one shared rule instead of separate per-field patches.
     None of them have their own label/input CSS otherwise (the theme
     disables WooCommerce's default checkout stylesheet), so without
     this they can drift back to sitting inline/side-by-side, which is
     what happened to Mobile Number and Email after Name was patched
     on its own. The !important closes off any higher-priority rule —
     from a page builder, plugin, or cached stylesheet — that would
     otherwise float or narrow any of these fields. */
  .woocommerce-checkout p.form-row-wide{
    display:block !important;float:none !important;width:100% !important;
    max-width:100% !important;margin-left:0 !important;margin-right:0 !important;
  }
  .woocommerce-checkout p.form-row-wide label{
    display:block !important;width:100% !important;
  }
  .woocommerce-checkout p.form-row-wide .woocommerce-input-wrapper{
    display:block !important;width:100% !important;
  }
  /* Delivery Full Address — larger than the other three fields. */
  .woocommerce-checkout #billing_address_1{
    display:block !important;box-sizing:border-box !important;
    width:100% !important;max-width:100% !important;
    min-height:110px;resize:vertical;float:none !important;margin:0 !important;
  }
  /* Email field label: WooCommerce auto-appends "(optional)" next to
     any non-required field's label. Hidden here purely as a visual
     change — the field's required/optional logic and validation are
     untouched (still set in inc/checkout-customization.php). */
  #billing_email_field .optional{display:none;}

  /* Coupon row sits inside the order review table as a continuation
     of the flow, not as a separate card. */
  .woocommerce-checkout .lh-checkout-coupon-row td{background:transparent;padding:14px;}
  .woocommerce-checkout .lh-checkout-coupon-row .woocommerce-form-coupon p{margin:0 0 10px;}
  .woocommerce-checkout .lh-checkout-coupon-row .woocommerce-form-coupon .form-row{display:inline-block;margin:0 10px 0 0;}
  .woocommerce input.input-text, .woocommerce select, .woocommerce textarea{
    background:var(--ink-2);border:1px solid rgba(198,161,91,.18);color:var(--ivory);
    padding:12px 14px;border-radius:8px;
  }
  .woocommerce #payment div.payment_box{background:var(--ink-2);border-radius:8px;color:var(--stone);}
  .woocommerce a.button, .woocommerce button.button, .woocommerce input.button{
    background:var(--gold);color:#1a1408;border-radius:100px;padding:13px 28px;
    font-weight:800;letter-spacing:.05em;text-transform:uppercase;font-size:12.5px;border:none;
  }
  .woocommerce a.button:hover, .woocommerce button.button:hover{background:var(--gold-light);}
  .woocommerce-message, .woocommerce-info, .woocommerce-error{background:var(--panel);border-top-color:var(--gold);color:var(--ivory);border-radius:8px;}
  .lh-atc-success{color:var(--gold-light);font-weight:700;letter-spacing:.02em;}

  /* ---------- responsive ---------- */

  /* Buy Now / Quick View on product cards are revealed on :hover in
     the desktop design. Touch devices have no real hover state, which
     currently makes these two buttons invisible and untappable on
     mobile — show them by default wherever hover isn't available,
     using the exact same look/position as the existing hover state. */
  @media (hover:none){
    .prod-hover-actions{opacity:1;transform:translateY(0);}
  }

  @media (max-width:1080px){
    .cat-grid{grid-template-columns:repeat(2,1fr);}
    .promo-grid{grid-template-columns:1fr;}
    .prod-grid{grid-template-columns:repeat(2,1fr);}
    .why-grid{grid-template-columns:1fr;}
    .rev-grid{grid-template-columns:1fr;}
    .foot-grid{grid-template-columns:1fr 1fr;}
    .woocommerce ul.products{grid-template-columns:repeat(2,1fr);}
  }
  @media (max-width:860px){
    /* Mobile header centers its content (matches the centered topbar
       pills above it: Delivery info / Track Order). The logo/title
       stays centered here — sizing is handled by the fluid clamp()
       values on .brand img / .brand-text below, so it stays fully
       visible and never overflows at any mobile width. */
    .header-top{flex-wrap:wrap;justify-content:center;padding:16px 0;gap:14px;}
    .brand{order:1;max-width:100%;}
    /* Mobile only: raise the floor and the vw rate of the shared
       --title-size variable so the title reads clearly on small
       phones. Because .name and .tag both derive from this one
       variable (see .brand-text above), the tagline scales up right
       along with the title at the same ratio — no separate tagline
       rule needed, and nothing here touches desktop's clamp(). */
    .brand-text{--title-size:clamp(19px,5.8vw,26px);}
    .header-search{order:3;flex:0 0 100%;max-width:100%;margin:0;}
    .header-actions{order:2;flex:0 0 100%;justify-content:space-around;gap:8px;}
    section{padding:70px 0;}
    .hero{min-height:82vh;}
    .trust-strip{gap:26px;}

    /* Mobile browsers (notably iOS Safari) auto-zoom the page when a
       focused input's font-size is under 16px. Bumping it to 16px here
       — mobile/tablet only — stops that zoom without changing how the
       search or newsletter inputs look on desktop. */
    .header-search input,
    .news-form input,
    input[type="text"],
    input[type="email"],
    input[type="search"],
    input[type="tel"],
    textarea{font-size:16px;}


    /* top info bars: let long text wrap instead of overflowing the screen */
    .topbar-row{padding:8px 12px;}
    .pill{white-space:normal;text-align:center;justify-content:center;}
    .pill-text{text-align:center;}

    /* Header action icons (Wishlist/Compare/Account/Cart) wrap onto a
       second row instead of overflowing/clipping on narrower phones. */
    .header-actions{flex-wrap:wrap;row-gap:10px;}

    /* WooCommerce's cart/checkout/order tables have several columns —
       let the table scroll horizontally within itself on small screens
       instead of squeezing columns illegibly or overflowing the page. */
    .woocommerce table.shop_table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;}
    .woocommerce table.shop_table thead, .woocommerce table.shop_table tbody{display:table;width:100%;}

    /* Product tabs (Description / Reviews / etc.) wrap instead of
       overflowing when there isn't room for them on one row. */
    .woocommerce div.product .woocommerce-tabs ul.tabs{flex-wrap:wrap;row-gap:10px;}

    /* Delivery Full Address must stay the same full width as the other
       fields on mobile too. */
    .woocommerce-checkout p#billing_address_1_field,
    .woocommerce-checkout #billing_address_1{width:100% !important;max-width:100% !important;}

    /* Checkout Items list: slightly smaller thumbnail/controls so the
       image, name and quantity stepper stay comfortably on one row on
       narrower phones. */
    .lh-checkout-item{gap:10px;}
    .lh-checkout-item-thumb{width:46px;height:46px;}
    .lh-qty-btn{width:26px;height:26px;font-size:14px;}

    /* Add to Cart / Buy Now on the single product page: keep Quantity +
       Add to Cart + Buy Now on ONE row on mobile, exactly like desktop —
       Quantity stays a compact stepper (not full width) and the two
       buttons share the remaining space evenly. Button style, colors,
       border-radius, typography (uppercase/letter-spacing) and
       functionality are unchanged — only sizing/spacing shrinks so
       nothing wraps, grows oversized, or drops to its own line. */
    .woocommerce div.product form.cart{gap:8px;flex-wrap:wrap;}
    .woocommerce div.product form.cart .quantity{flex:0 0 auto;}
    .woocommerce div.product form.cart .quantity input{width:28px;padding:10px 0;font-size:13px;}
    .woocommerce div.product form.cart .quantity .lh-pqty-btn{width:30px;height:38px;font-size:14px;}
    .woocommerce div.product form.cart button.single_add_to_cart_button,
    .woocommerce div.product .buy-now-btn{
      flex:1 1 0;
      min-width:0;
      padding:11px 10px;
      font-size:10.5px;
      letter-spacing:.03em;
      text-align:center;
      white-space:nowrap;
      box-sizing:border-box;
    }

    /* Quick View / Buy Now on home-page product cards: "Quick View" is a
       longer word than "Buy Now", so trim letter-spacing/padding slightly
       here too and force a single line, keeping both pills identical in
       size instead of one looking squatter than the other. */
    .mini-btn{padding:10px 6px;font-size:10px;letter-spacing:.03em;}

    /* Shop by Category cards (mobile only): the icon and the name/
       "Explore Now" text are both desktop's design language, but on
       desktop the icon sits absolutely centered over the full card
       while the info block is absolutely pinned to the bottom — on
       narrow cards that overlap. Switching to a normal top-to-bottom
       flow (icon area, then info block) keeps them from ever
       overlapping at any mobile width, while keeping the same icon,
       name, count and "Explore Now" content/order and the same tap
       target/link. */
    .cat-card{aspect-ratio:auto;display:flex;flex-direction:column;}
    .cat-card .art{position:relative;inset:auto;flex:0 0 auto;height:96px;padding-top:22px;}
    .cat-card .art svg{width:40px;height:40px;}
    .cat-info{position:relative;left:auto;right:auto;bottom:auto;background:none;padding:0 18px 20px;}
    .cat-info h3{font-size:19px;}
  }
  @media (max-width:560px){
    .wrap{padding:0 18px;}

    .cat-grid{grid-template-columns:repeat(2,1fr);gap:12px;}

    /* Two narrower columns at this width: shrink the icon area and
       text slightly further so longer names ("Prayer Essentials")
       and the pill button keep their spacing and never get cramped,
       cut off, or forced to overlap. */
    .cat-card .art{height:84px;padding-top:18px;}
    .cat-card .art svg{width:34px;height:34px;}
    .cat-info{padding:0 14px 16px;}
    .cat-info h3{font-size:16.5px;line-height:1.15;}
    .cat-info span.go,
    .promo-card .view-all{font-size:10px;padding:7px 13px;}
    .prod-grid{grid-template-columns:repeat(2,1fr);gap:12px;}
    .woocommerce ul.products{grid-template-columns:repeat(2,1fr);gap:12px;}
    .prod-body{padding:14px;}
    .foot-grid{grid-template-columns:1fr;gap:34px;}
    .topbar-row{height:auto;flex-wrap:wrap;}
    .pill{font-size:11px;padding:7px 14px;text-align:center;white-space:normal;row-gap:4px;}
    .header-actions{gap:4px;}
    .action-item span{font-size:9.5px;}
    .hero-content h1{font-size:clamp(36px,10vw,54px);}
    .trust-row{gap:22px;}

    /* Hero trust-strip (100% Authentic / 48–72h Delivery / Cash On
       Delivery / Secure Payment): desktop's 40/26px gaps and 22px
       numbers are too wide for phone screens, pushing the 4th item
       onto its own line. Keep all four in one row by disabling wrap,
       letting each item share the space evenly, and scaling down the
       number/label text so nothing overlaps or gets cut off. Layout
       (number stacked above label) stays identical to desktop. */
    .trust-strip{
      flex-wrap:nowrap;gap:10px;margin-top:40px;padding-top:18px;
    }
    .trust-strip div{flex:1 1 0;min-width:0;gap:2px;}
    .trust-strip .num{font-size:14px;white-space:nowrap;}
    .trust-strip .lbl{font-size:8px;letter-spacing:.03em;white-space:nowrap;}

    /* Hero CTAs: "Shop Now" and "Explore Collection" naturally have
       different text lengths, so once there isn't room for both on one
       row, force them onto two equal-width rows instead of one button
       staying narrow while the other stays wide. Padding, font-size and
       border-radius stay exactly as on desktop — only width changes. */
    .hero-ctas .btn{flex:1 1 100%;}

    /* Buy Now / Quick View: narrower cards leave less room per button,
       so both fit cleanly on one row instead of one wrapping while the
       other doesn't. white-space:nowrap on the base rule stops "Quick
       View" from breaking onto two lines and growing that pill taller
       than "Buy Now" — this just trims size to make sure it also fits. */
    .prod-hover-actions{gap:6px;left:10px;right:10px;}
    .mini-btn{font-size:9.5px;padding:10px 4px;letter-spacing:.02em;}

    /* Checkout coupon field + Apply Coupon button: stack instead of
       sitting inline, so neither gets cramped or overlaps on narrow
       screens. */
    .woocommerce-checkout .lh-checkout-coupon-row .woocommerce-form-coupon .form-row{display:block;width:100%;margin:0 0 10px;}
    .woocommerce-checkout .lh-checkout-coupon-row .woocommerce-form-coupon .form-row input,
    .woocommerce-checkout .lh-checkout-coupon-row .woocommerce-form-coupon .form-row button{width:100%;}

    /* Delivery Full Address must stay the same full width as the other
       fields on the smallest phones too. */
    .woocommerce-checkout p#billing_address_1_field,
    .woocommerce-checkout #billing_address_1{width:100% !important;max-width:100% !important;}

    /* Add to Cart / Buy Now: on the narrowest phones, trim the
       Quantity stepper and both buttons a little further so all
       three still sit cleanly on one row, matching desktop. */
    .woocommerce div.product form.cart{gap:6px;}
    .woocommerce div.product form.cart .quantity input{width:24px;padding:9px 0;font-size:12px;}
    .woocommerce div.product form.cart .quantity .lh-pqty-btn{width:26px;height:34px;font-size:13px;}
    .woocommerce div.product form.cart button.single_add_to_cart_button,
    .woocommerce div.product .buy-now-btn{
      padding:10px 6px;
      font-size:9.5px;
      letter-spacing:.02em;
    }
  }
  @media (max-width:390px){
    /* Smallest phones (iPhone SE/mini, small Android): a little tighter
       still, so "Quick View" keeps to one line at the same size as
       "Buy Now" instead of shrinking unevenly. */
    .mini-btn{font-size:8.5px;padding:9px 3px;letter-spacing:0;}

    /* Trust-strip: trim gap and text a touch further on the narrowest
       screens so all four items still fit one row without crowding. */
    .trust-strip{gap:6px;}
    .trust-strip .num{font-size:12.5px;}
    .trust-strip .lbl{font-size:7.5px;letter-spacing:.02em;}
  }

  /* =====================================================================
     My Account — Login, Register, Dashboard, Orders, Addresses,
     Edit Account, Lost Password.
     WooCommerce's own frontend CSS is disabled site-wide (see
     woocommerce_enqueue_styles filter in functions.php), and unlike the
     shop/product/checkout templates above, the My Account templates had
     no theme styling written for them yet — hence fully unstyled/broken.
     Everything below is presentation only; all markup, hooks, form
     fields, nonces and WooCommerce's own account logic are untouched. */

  .woocommerce-account .woo-wrap{padding:70px 0;}
  .woocommerce-account .wc-inner{
    display:grid;grid-template-columns:230px 1fr;gap:36px;align-items:start;
  }

  /* ---------- Account navigation (Dashboard/Orders/Addresses/etc.) ---------- */
  .woocommerce-MyAccount-navigation{
    background:var(--panel);border:1px solid rgba(244,239,228,.06);
    border-radius:var(--radius-md);padding:10px;position:sticky;top:100px;
  }
  .woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;}
  .woocommerce-MyAccount-navigation li{border:none;margin:0;}
  .woocommerce-MyAccount-navigation li a{
    display:block;padding:12px 14px;border-radius:var(--radius-sm);
    color:var(--stone);font-size:13px;font-weight:600;letter-spacing:.02em;
    transition:.2s var(--ease);
  }
  .woocommerce-MyAccount-navigation li a:hover{background:rgba(198,161,91,.08);color:var(--ivory);}
  .woocommerce-MyAccount-navigation li.is-active a{background:var(--gold);color:#1a1408;}
  .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout a{
    color:var(--rose);
  }
  .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout a:hover{
    background:rgba(181,73,59,.12);color:#e07d6f;
  }

  .woocommerce-MyAccount-content{
    background:var(--panel);border:1px solid rgba(244,239,228,.06);
    border-radius:var(--radius-md);padding:34px 32px;min-width:0;
  }
  .woocommerce-MyAccount-content > p{color:var(--stone);line-height:1.8;font-size:14.5px;}
  .woocommerce-MyAccount-content > p:first-child{color:var(--ivory);font-size:15.5px;}
  .woocommerce-MyAccount-content a{color:var(--gold-light);text-decoration:underline;text-underline-offset:2px;}
  .woocommerce-MyAccount-content a:hover{color:var(--gold);}
  .woocommerce-MyAccount-content mark{background:none;color:var(--gold-light);font-weight:700;}
  .woocommerce-MyAccount-content h2{
    font-family:'Fraunces','Hind Siliguri',serif;font-weight:500;
    font-size:clamp(20px,2.4vw,24px);color:var(--ivory);margin:0 0 20px;
  }
  .woocommerce-MyAccount-content h3{color:var(--ivory);font-size:15px;margin:0 0 14px;}

  /* ---------- Dashboard: welcome banner + quick-access cards ---------- */
  .lh-dash-welcome{
    display:flex;align-items:center;gap:18px;margin-bottom:28px;padding-bottom:26px;
    border-bottom:1px solid rgba(244,239,228,.08);
  }
  .lh-dash-avatar img{
    width:64px;height:64px;border-radius:50%;border:2px solid var(--gold-dim);display:block;
  }
  .lh-dash-welcome-text h2{
    font-family:'Fraunces','Hind Siliguri',serif;font-weight:500;
    font-size:clamp(19px,2.2vw,23px);color:var(--ivory);margin:0 0 6px;
  }
  .lh-dash-welcome-text h2 span{color:var(--gold-light);}
  .lh-dash-welcome-text p{color:var(--stone);font-size:13px;margin:0;}
  .lh-dash-welcome-text p a{color:var(--rose);text-decoration:none;font-weight:600;}
  .lh-dash-welcome-text p a:hover{color:#e07d6f;text-decoration:underline;}

  .lh-dash-grid{
    display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-bottom:8px;
  }
  .lh-dash-card{
    display:flex;align-items:center;gap:14px;background:var(--ink-2);
    border:1px solid rgba(198,161,91,.14);border-radius:var(--radius-md);
    padding:18px;transition:.2s var(--ease);
  }
  .lh-dash-card:hover{border-color:var(--gold);background:rgba(198,161,91,.06);}
  .lh-dash-icon{
    flex:none;width:42px;height:42px;border-radius:50%;background:rgba(198,161,91,.12);
    display:flex;align-items:center;justify-content:center;color:var(--gold-light);
  }
  .lh-dash-icon svg{width:20px;height:20px;}
  .lh-dash-card-body{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1;}
  .lh-dash-card-title{color:var(--ivory);font-size:14px;font-weight:700;letter-spacing:.01em;}
  .lh-dash-card-desc{color:var(--stone);font-size:12px;}
  .lh-dash-arrow{flex:none;color:var(--stone-dim);font-size:16px;transition:.2s var(--ease);}
  .lh-dash-card:hover .lh-dash-arrow{color:var(--gold-light);transform:translateX(3px);}

  .lh-dash-recent{
    margin-top:28px;padding-top:26px;border-top:1px solid rgba(244,239,228,.08);
  }
  .lh-dash-recent h3{color:var(--ivory);font-size:14px;margin:0 0 14px;}
  .lh-dash-recent-row{
    display:flex;flex-wrap:wrap;align-items:center;gap:10px 20px;
    background:var(--ink-2);border:1px solid rgba(198,161,91,.14);
    border-radius:var(--radius-sm);padding:14px 18px;
  }
  .lh-dash-recent-num{color:var(--gold-light);font-weight:700;font-size:13.5px;text-decoration:none;}
  .lh-dash-recent-num:hover{color:var(--gold);text-decoration:underline;}
  .lh-dash-recent-date{color:var(--stone);font-size:12.5px;}
  .lh-dash-recent-status{
    font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;
    padding:4px 10px;border-radius:100px;background:rgba(244,239,228,.08);color:var(--stone);
  }
  .lh-dash-recent-status.lh-status-completed{background:rgba(62,122,99,.16);color:#6fb69a;}
  .lh-dash-recent-status.lh-status-processing{background:rgba(198,161,91,.16);color:var(--gold-light);}
  .lh-dash-recent-status.lh-status-on-hold,
  .lh-dash-recent-status.lh-status-pending{background:rgba(198,161,91,.1);color:var(--stone);}
  .lh-dash-recent-status.lh-status-cancelled,
  .lh-dash-recent-status.lh-status-failed,
  .lh-dash-recent-status.lh-status-refunded{background:rgba(181,73,59,.14);color:#e07d6f;}
  .lh-dash-recent-total{margin-left:auto;color:var(--ivory);font-weight:700;font-size:13.5px;}

  @media (max-width:480px){
    .lh-dash-welcome{flex-direction:column;text-align:center;}
    .lh-dash-recent-total{margin-left:0;}
  }

  /* ---------- Login / Register ---------- */
  #customer_login{
    display:grid;grid-template-columns:1fr 1fr;gap:36px;
  }
  #customer_login .col-1,
  #customer_login .col-2{
    background:var(--ink-2);border:1px solid rgba(198,161,91,.14);
    border-radius:var(--radius-md);padding:28px 26px;
  }
  #customer_login h2{
    font-family:'Fraunces','Hind Siliguri',serif;font-weight:500;
    font-size:20px;color:var(--ivory);margin:0 0 18px;
  }
  .woocommerce-form-login p,
  .woocommerce-form-register p{margin:0 0 16px;}
  .woocommerce-form-login label,
  .woocommerce-form-register label{
    display:block;color:var(--ivory);font-size:12px;font-weight:700;
    letter-spacing:.03em;text-transform:uppercase;margin-bottom:8px;
  }
  .woocommerce-form-login label .required,
  .woocommerce-form-register label .required{color:var(--rose);text-decoration:none;}
  .woocommerce-form-login .woocommerce-Input,
  .woocommerce-form-register .woocommerce-Input,
  .woocommerce-form-login input[type="text"],
  .woocommerce-form-login input[type="password"],
  .woocommerce-form-login input[type="email"],
  .woocommerce-form-register input[type="text"],
  .woocommerce-form-register input[type="password"],
  .woocommerce-form-register input[type="email"]{
    width:100%;box-sizing:border-box;background:var(--ink);
    border:1px solid rgba(198,161,91,.2);color:var(--ivory);border-radius:8px;
    padding:12px 14px;font-family:inherit;font-size:13.5px;
    transition:border-color .2s var(--ease);
  }
  .woocommerce-form-login input:focus,
  .woocommerce-form-register input:focus{outline:none;border-color:var(--gold);}
  .woocommerce-form-login .woocommerce-form-login__rememberme{
    display:flex;align-items:center;gap:9px;color:var(--stone);
    font-size:13px;cursor:pointer;margin:2px 0 18px;text-transform:none;font-weight:500;letter-spacing:normal;
  }
  .woocommerce-form-login input[type="checkbox"]{
    appearance:none;-webkit-appearance:none;width:17px;height:17px;flex:0 0 auto;
    border:1.5px solid rgba(198,161,91,.4);border-radius:4px;background:var(--ink);
    cursor:pointer;position:relative;margin:0;transition:.2s var(--ease);
  }
  .woocommerce-form-login input[type="checkbox"]:checked{background:var(--gold);border-color:var(--gold);}
  .woocommerce-form-login input[type="checkbox"]:checked::after{
    content:'';position:absolute;left:5px;top:1px;width:4px;height:9px;
    border:solid #1a1408;border-width:0 2px 2px 0;transform:rotate(45deg);
  }
  .woocommerce-form-login .woocommerce-form-login__submit,
  .woocommerce-form-register .woocommerce-form-register__submit,
  .woocommerce-form-login button[type="submit"],
  .woocommerce-form-register button[type="submit"]{
    background:var(--gold);color:#1a1408;border:none;border-radius:100px;
    padding:13px 30px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;
    font-size:12.5px;cursor:pointer;transition:background .2s var(--ease);
  }
  .woocommerce-form-login .woocommerce-form-login__submit:hover,
  .woocommerce-form-register .woocommerce-form-register__submit:hover{background:var(--gold-light);}
  .woocommerce-form-login .lost_password{margin:14px 0 0;}
  .woocommerce-form-login .lost_password a{
    color:var(--stone);font-size:12.5px;text-decoration:underline;text-underline-offset:2px;
  }
  .woocommerce-form-login .lost_password a:hover{color:var(--gold-light);}
  .woocommerce-form-register .woocommerce-privacy-policy-text{
    color:var(--stone-dim);font-size:12px;line-height:1.6;margin:0 0 16px;
  }
  .woocommerce-form-register .woocommerce-privacy-policy-text a{color:var(--stone);}

  /* Lost password */
  .woocommerce-ResetPassword{max-width:440px;}
  .woocommerce-ResetPassword p{margin:0 0 16px;}
  .woocommerce-ResetPassword label{
    display:block;color:var(--ivory);font-size:12px;font-weight:700;
    letter-spacing:.03em;text-transform:uppercase;margin-bottom:8px;
  }
  .woocommerce-ResetPassword input[type="text"],
  .woocommerce-ResetPassword input[type="password"],
  .woocommerce-ResetPassword input[type="email"]{
    width:100%;box-sizing:border-box;background:var(--ink-2);
    border:1px solid rgba(198,161,91,.2);color:var(--ivory);border-radius:8px;
    padding:12px 14px;font-family:inherit;font-size:13.5px;
  }
  .woocommerce-ResetPassword input:focus{outline:none;border-color:var(--gold);}
  .woocommerce-ResetPassword button[type="submit"]{
    background:var(--gold);color:#1a1408;border:none;border-radius:100px;
    padding:13px 30px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;
    font-size:12.5px;cursor:pointer;
  }
  .woocommerce-ResetPassword button[type="submit"]:hover{background:var(--gold-light);}

  /* ---------- Notices (login errors, "address saved", etc.) ---------- */
  .woocommerce-notices-wrapper .woocommerce-error,
  .woocommerce-notices-wrapper .woocommerce-message,
  .woocommerce-notices-wrapper .woocommerce-info{
    list-style:none;margin:0 0 26px;padding:16px 20px;
    border-top:3px solid var(--gold);display:flex;flex-wrap:wrap;
    align-items:center;gap:6px 16px;font-size:13.5px;
  }
  .woocommerce-notices-wrapper .woocommerce-error li{list-style:none;}
  .woocommerce-notices-wrapper .woocommerce-message .button,
  .woocommerce-notices-wrapper .woocommerce-info .button{
    background:var(--gold);color:#1a1408;border-radius:100px;padding:8px 18px;
    font-weight:800;letter-spacing:.05em;text-transform:uppercase;font-size:11px;order:2;
  }

  /* ---------- Orders table ---------- */
  .woocommerce-orders-table__cell-order-number a{color:var(--gold-light);font-weight:700;}
  .woocommerce-orders-table__cell-order-status{
    color:var(--stone);font-size:12.5px;text-transform:capitalize;
  }
  .woocommerce-orders-table__cell-order-actions{white-space:nowrap;}
  .woocommerce-orders-table__cell-order-actions .button,
  .woocommerce-MyAccount-downloads-file{
    background:var(--gold);color:#1a1408;border-radius:100px;padding:8px 16px;
    font-weight:800;letter-spacing:.04em;text-transform:uppercase;font-size:10.5px;
    display:inline-block;margin:2px 4px 2px 0;transition:.2s var(--ease);
  }
  .woocommerce-orders-table__cell-order-actions .button.cancel{
    background:transparent;color:var(--rose);border:1px solid rgba(181,73,59,.4);
  }
  .woocommerce-orders-table__cell-order-actions .button:hover{background:var(--gold-light);}
  .woocommerce-orders-table__cell-order-actions .button.cancel:hover{background:rgba(181,73,59,.12);color:#e07d6f;}
  .woocommerce-MyAccount-orders .button{
    background:var(--gold);color:#1a1408;border-radius:100px;padding:12px 26px;
    font-weight:800;letter-spacing:.05em;text-transform:uppercase;font-size:12.5px;
    display:inline-block;margin-top:8px;
  }
  .woocommerce-MyAccount-orders .button:hover{background:var(--gold-light);}

  /* ---------- Single order view ---------- */
  .woocommerce-order-details, .woocommerce-customer-details{margin-top:30px;}
  .woocommerce-order-details__title, .woocommerce-column__title{
    font-family:'Fraunces','Hind Siliguri',serif;font-weight:500;
    font-size:17px;color:var(--ivory);margin:0 0 14px;
  }
  .woocommerce-table__product-name a{color:var(--gold-light);}
  .order-again{margin-top:22px;}
  .order-again .button{
    background:var(--gold);color:#1a1408;border-radius:100px;padding:13px 28px;
    font-weight:800;letter-spacing:.05em;text-transform:uppercase;font-size:12.5px;
    display:inline-block;
  }
  .order-again .button:hover{background:var(--gold-light);}
  .woocommerce-columns--addresses{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:22px;}
  .woocommerce-column--billing-address address,
  .woocommerce-column--shipping-address address{
    background:var(--ink-2);border-radius:var(--radius-sm);padding:16px 18px;
    color:var(--stone);font-style:normal;line-height:1.8;font-size:13.5px;
  }

  /* ---------- Addresses ---------- */
  .woocommerce-Addresses.addresses{display:grid;grid-template-columns:1fr 1fr;gap:22px;}
  .woocommerce-Address{
    background:var(--ink-2);border:1px solid rgba(198,161,91,.14);
    border-radius:var(--radius-md);padding:22px 24px;
  }
  .woocommerce-Address-title{
    display:flex;align-items:center;justify-content:space-between;gap:12px;
    margin:0 0 14px;padding-bottom:14px;border-bottom:1px solid rgba(244,239,228,.08);
  }
  .woocommerce-Address-title h2, .woocommerce-Address-title h3{
    font-family:'Fraunces','Hind Siliguri',serif;font-weight:500;
    font-size:16px;color:var(--ivory);margin:0;
  }
  .woocommerce-Address-title a{
    background:transparent;color:var(--gold-light);border:1px solid var(--gold-dim);
    border-radius:100px;padding:7px 16px;font-size:11px;font-weight:800;
    letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;
  }
  .woocommerce-Address-title a:hover{background:var(--gold);color:#1a1408;border-color:var(--gold);}
  .woocommerce-Address address{
    font-style:normal;color:var(--stone);line-height:1.85;font-size:13.5px;
  }

  /* ---------- Edit account / edit address forms ---------- */
  .woocommerce-EditAccountForm, .woocommerce-address-fields{max-width:560px;}
  .woocommerce-EditAccountForm p, .woocommerce-address-fields p{margin:0 0 18px;}
  .woocommerce-EditAccountForm label, .woocommerce-address-fields label{
    display:block;color:var(--ivory);font-size:12px;font-weight:700;
    letter-spacing:.03em;text-transform:uppercase;margin-bottom:8px;
  }
  .woocommerce-EditAccountForm label .required, .woocommerce-address-fields label .required{
    color:var(--rose);text-decoration:none;
  }
  .woocommerce-EditAccountForm input[type="text"],
  .woocommerce-EditAccountForm input[type="email"],
  .woocommerce-EditAccountForm input[type="password"],
  .woocommerce-address-fields input[type="text"],
  .woocommerce-address-fields input[type="tel"],
  .woocommerce-address-fields input[type="email"],
  .woocommerce-address-fields select,
  .woocommerce-address-fields .select2-container{
    width:100%;box-sizing:border-box;background:var(--ink);
    border:1px solid rgba(198,161,91,.2);color:var(--ivory);border-radius:8px;
    padding:12px 14px;font-family:inherit;font-size:13.5px;
  }
  .woocommerce-EditAccountForm input:focus, .woocommerce-address-fields input:focus{
    outline:none;border-color:var(--gold);
  }
  .woocommerce-EditAccountForm fieldset{
    border:none;padding:0;margin:26px 0 0;
  }
  .woocommerce-EditAccountForm fieldset legend{
    font-family:'Fraunces','Hind Siliguri',serif;font-weight:500;
    font-size:16px;color:var(--ivory);margin:0 0 16px;padding:0;width:100%;
    border-bottom:1px solid rgba(244,239,228,.08);padding-bottom:12px;
  }
  .woocommerce-EditAccountForm button[type="submit"],
  .woocommerce-address-fields button[type="submit"]{
    background:var(--gold);color:#1a1408;border:none;border-radius:100px;
    padding:13px 30px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;
    font-size:12.5px;cursor:pointer;margin-top:6px;
  }
  .woocommerce-EditAccountForm button[type="submit"]:hover,
  .woocommerce-address-fields button[type="submit"]:hover{background:var(--gold-light);}

  /* ---------- Downloads ---------- */
  .woocommerce-MyAccount-downloads table.shop_table th,
  .woocommerce-MyAccount-downloads table.shop_table td{vertical-align:middle;}

  @media (max-width:960px){
    .woocommerce-account .wc-inner{grid-template-columns:1fr;}
    .woocommerce-MyAccount-navigation{position:static;}
    /* Nav pills as an even grid (instead of flex-wrap) so tablet width
       doesn't leave one lopsided pill dangling on its own row. */
    .woocommerce-MyAccount-navigation ul{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;}
    .woocommerce-MyAccount-navigation li a{text-align:center;padding:11px 8px;font-size:12px;}
    #customer_login{grid-template-columns:1fr;}
  }
  /* Tablet (portrait) — there's still room for 2-up address cards and a
     slightly roomier content pane; only mobile phones drop to 1 column. */
  @media (max-width:960px) and (min-width:701px){
    .woocommerce-MyAccount-content{padding:28px 26px;}
  }
  @media (max-width:700px){
    .woocommerce-Addresses.addresses{grid-template-columns:1fr;}
    .woocommerce-columns--addresses{grid-template-columns:1fr;}
  }
  @media (max-width:600px){
    .woocommerce-account .woo-wrap{padding:40px 0;}
    .woocommerce-MyAccount-content{padding:24px 18px;}
    #customer_login .col-1, #customer_login .col-2{padding:22px 18px;}
    .woocommerce-Address{padding:18px 16px;}
    /* Nav pills: 2-up on phones — 3-up gets too cramped at this width. */
    .woocommerce-MyAccount-navigation ul{grid-template-columns:repeat(2,1fr);}
    .woocommerce-MyAccount-navigation li a{font-size:11.5px;padding:10px 6px;}
  }
