/** Shopify CDN: Minification failed

Line 288:9 All "@import" rules must come first
Line 364:0 All "@import" rules must come first

**/
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,700&display=swap');
/* ==========================================================================
   Chithira Maadam — Amazon-pattern storefront theme
   Structure borrowed from marketplace UX. Palette, type and voice are ours.
   ========================================================================== */

:root{
  --ink:#2B1B12;            /* deep walnut text */
  --ink-2:#5B4636;
  --muted:#7A6A5A;
  --header:#3A2418;         /* main nav bar */
  --header-2:#4C3122;       /* sub nav bar */
  --brass:#C9A227;
  --brass-dk:#A6851C;
  --brass-lt:#F3E7BF;
  --cream:#FBF7F0;          /* page background */
  --card:#FFFFFF;
  --line:#E3D9C9;
  --line-2:#D2C4AE;
  --deal:#A33B18;           /* price / discount red-brown */
  --deal-bg:#C0392B;
  --ok:#2E7D32;
  --warn:#B26A00;
  --star:#D6A419;
  --radius:8px;
  --shadow-1:0 1px 2px rgba(43,27,18,.10);
  --shadow-2:0 4px 14px rgba(43,27,18,.14);
  --maxw:1500px;
  --sidebar:260px;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--cream);color:var(--ink);
  font-family:"Inter","DM Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  font-size:14px;line-height:1.45;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
a:hover{text-decoration:none}
button{font:inherit;cursor:pointer}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 16px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
h1,h2,h3,h4{font-family:"Merriweather",Georgia,serif;margin:0;font-weight:700;letter-spacing:-.01em}

/* ---------- Announcement ---------- */
.announce{background:var(--brass);color:#2B1B12;font-size:12.5px;font-weight:600;text-align:center;padding:7px 12px}

/* ---------- Header ---------- */
.hdr{background:var(--header);color:#fff;position:sticky;top:0;z-index:60}
.hdr__main{display:flex;align-items:center;gap:8px;padding:8px 12px;max-width:var(--maxw);margin:0 auto}
.hdr__cell{padding:8px 9px;border:1px solid transparent;border-radius:3px;display:flex;align-items:center;gap:6px;white-space:nowrap}
.hdr__cell:hover{border-color:rgba(255,255,255,.55)}
.hdr__logo img{height:34px;width:auto;filter:brightness(0) invert(1)}
.hdr__logo span{font-family:"Merriweather",Georgia,serif;font-size:19px;font-weight:700;letter-spacing:-.02em}
.hdr__logo-text{display:flex;flex-direction:column;line-height:1.15}
.hdr__logo-text-ta{font-size:12px;font-weight:400;letter-spacing:0;opacity:.75}
.hdr__ship{line-height:1.15}
.hdr__ship small{display:block;font-size:11px;color:#D9CDBE}
.hdr__ship b{font-size:13.5px}

/* Search with category dropdown — the Amazon search rig */
.srch{flex:1 1 auto;display:flex;min-width:220px;height:40px;border-radius:5px;overflow:hidden;background:#fff}
.srch:focus-within{box-shadow:0 0 0 3px var(--brass)}
.srch__cat{border:0;background:#EDE5D8;color:var(--ink-2);font-size:12px;padding:0 8px;max-width:150px;border-right:1px solid var(--line-2);cursor:pointer}
.srch__in{flex:1;border:0;padding:0 12px;font-size:15px;color:var(--ink);min-width:0}
.srch__in:focus{outline:none}
.srch__btn{border:0;background:var(--brass);width:48px;display:grid;place-items:center;color:#2B1B12}
.srch__btn:hover{background:var(--brass-dk)}

.hdr__acct{line-height:1.15;font-size:12px}
.hdr__acct b{display:block;font-size:13.5px}
.cartlink{display:flex;align-items:flex-end;gap:4px;position:relative}
.cartlink b{font-size:13.5px}
.cart__count{position:absolute;top:-6px;left:14px;background:var(--brass);color:#2B1B12;font-size:12px;font-weight:800;
  min-width:18px;height:18px;border-radius:9px;display:grid;place-items:center;padding:0 4px}

/* Sub nav */
.subnav{background:var(--header-2);color:#fff}
.subnav__in{display:flex;align-items:center;gap:2px;max-width:var(--maxw);margin:0 auto;padding:0 12px;overflow-x:auto;scrollbar-width:none}
.subnav__in::-webkit-scrollbar{display:none}
.subnav a,.subnav button{color:#fff;background:none;border:1px solid transparent;padding:8px 10px;font-size:13.5px;white-space:nowrap;border-radius:3px}
.subnav a:hover,.subnav button:hover{border-color:rgba(255,255,255,.55)}
.subnav__all{font-weight:700;display:flex;align-items:center;gap:6px}

/* Mega menu drawer */
.mega{position:fixed;inset:0;z-index:80;display:none}
.mega[open]{display:block}
.mega__scrim{position:absolute;inset:0;background:rgba(43,27,18,.55)}
.mega__panel{position:absolute;left:0;top:0;bottom:0;width:min(365px,88vw);background:#fff;overflow-y:auto;box-shadow:var(--shadow-2)}
.mega__hd{background:var(--header);color:#fff;padding:14px 18px;font-size:17px;font-weight:700;display:flex;justify-content:space-between;align-items:center}
.mega__hd button{background:none;border:0;color:#fff;font-size:22px;line-height:1}
.mega h4{padding:14px 18px 6px;font-size:15px}
.mega__panel a{display:block;padding:10px 18px;font-size:14px;border-bottom:1px solid #F3EDE3}
.mega__panel a:hover{background:var(--cream)}

/* ---------- Breadcrumbs ---------- */
.crumbs{font-size:12.5px;color:var(--muted);padding:10px 0}
.crumbs a:hover{color:var(--deal);text-decoration:underline}
.crumbs span{margin:0 6px;color:var(--line-2)}

/* ---------- Layout: sidebar + results ---------- */
.shell{display:grid;grid-template-columns:var(--sidebar) 1fr;gap:20px;align-items:start;padding-bottom:48px}
@media(max-width:900px){.shell{grid-template-columns:1fr}.facets{display:none}.facets.is-open{display:block}}

/* ---------- Facet sidebar ---------- */
.facets{background:transparent;position:sticky;top:104px}
.facet{padding:12px 0;border-bottom:1px solid var(--line)}
.facet:last-child{border-bottom:0}
.facet__h{font-size:15px;font-family:"Merriweather",Georgia,serif;font-weight:700;margin:0 0 8px}
.facet ul{list-style:none;margin:0;padding:0}
.facet li{margin:0 0 5px}
.facet label{display:flex;align-items:center;gap:8px;font-size:13.5px;color:var(--ink-2);cursor:pointer}
.facet label:hover{color:var(--deal);text-decoration:underline}
.facet input[type=checkbox]{accent-color:var(--brass-dk);width:15px;height:15px;margin:0}
.facet .count{color:var(--muted);font-size:12px}
.facet__link{display:block;font-size:13.5px;color:var(--ink-2);padding:3px 0}
.facet__link:hover{color:var(--deal);text-decoration:underline}
.facet__link.is-on{font-weight:700;color:var(--ink)}
.facet__more{background:none;border:0;color:#0B6E8C;font-size:13px;padding:4px 0}
.stars-row{display:flex;align-items:center;gap:6px}
.price-range{display:flex;gap:6px;align-items:center;margin-top:8px}
.price-range input{width:62px;border:1px solid var(--line-2);border-radius:4px;padding:5px 6px;font-size:13px}
.price-range button{border:1px solid var(--line-2);background:#F5EEE3;border-radius:14px;padding:5px 11px;font-size:12.5px}
.clearall{background:none;border:0;color:#0B6E8C;font-size:13px;padding:0;margin-top:6px}

/* ---------- Sort bar ---------- */
.sortbar{display:flex;align-items:center;justify-content:space-between;gap:12px;
  background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:10px 14px;margin-bottom:14px}
.sortbar__n{font-size:13px;color:var(--muted)}
.sortbar__n b{color:var(--ink);font-size:14px}
.sortbar h1{font-size:19px;display:inline}
.sortbar select{border:1px solid var(--line-2);background:#F5EEE3;border-radius:6px;padding:7px 10px;font-size:13px;color:var(--ink)}
.filter-toggle{display:none;border:1px solid var(--line-2);background:#F5EEE3;border-radius:6px;padding:7px 12px;font-size:13px}
@media(max-width:900px){.filter-toggle{display:inline-block}}

/* ---------- Product grid + card ---------- */
.grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(215px,1fr))}
.grid--row{grid-auto-flow:column;grid-auto-columns:minmax(190px,1fr);grid-template-columns:none;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:6px}
.grid--row>*{scroll-snap-align:start}

.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:12px;position:relative;
  display:flex;flex-direction:column;transition:box-shadow .15s,border-color .15s}
.card:hover{box-shadow:var(--shadow-2);border-color:var(--line-2)}
.card__media{position:relative;aspect-ratio:1/1;background:#F7F1E7;border-radius:6px;overflow:hidden;margin-bottom:10px}
.card__media img{width:100%;height:100%;object-fit:cover;transition:transform .35s}
.card:hover .card__media img{transform:scale(1.04)}
.card__badges{position:absolute;left:8px;top:8px;display:flex;flex-direction:column;gap:4px;align-items:flex-start}
.badge{font-size:11px;font-weight:800;padding:3px 7px;border-radius:3px;letter-spacing:.02em;text-transform:uppercase}
.badge--deal{background:var(--deal-bg);color:#fff}
.badge--new{background:var(--ink);color:#fff}
.badge--hot{background:var(--brass);color:#2B1B12}
.badge--ltd{background:#5B3E8E;color:#fff}
.badge--oos{background:#6B6B6B;color:#fff}
.quickadd{position:absolute;right:8px;bottom:8px;width:34px;height:34px;border-radius:50%;border:0;
  background:var(--brass);color:#2B1B12;font-size:20px;font-weight:700;display:grid;place-items:center;
  box-shadow:var(--shadow-1);opacity:0;transform:translateY(6px);transition:.18s}
.card:hover .quickadd,.quickadd:focus{opacity:1;transform:none}
.quickadd:hover{background:var(--brass-dk)}

.card__title{font-family:inherit;font-size:13.5px;font-weight:500;line-height:1.35;color:var(--ink);
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:0 0 6px;min-height:2.7em}
.card:hover .card__title{color:var(--deal)}
.card__rating{display:flex;align-items:center;gap:5px;margin-bottom:6px;font-size:12px;color:var(--muted)}
.stars{color:var(--star);letter-spacing:1px;font-size:13px}
.card__price{margin-top:auto}
.price{font-size:19px;font-weight:700;color:var(--ink);line-height:1.1}
.price sup{font-size:11px;top:-.55em;font-weight:600}
.price--sm{font-size:16px}
.price__was{font-size:12px;color:var(--muted);text-decoration:line-through;margin-left:6px}
.price__off{font-size:12.5px;color:var(--deal);font-weight:700;margin-right:6px}
.card__meta{font-size:11.5px;color:var(--muted);margin-top:4px}
.card__stock{font-size:12px;font-weight:600;margin-top:4px}
.in{color:var(--ok)}.low{color:var(--warn)}.out{color:#8A8A8A}

/* ---------- Section rows (New / Best sellers) ---------- */
.rowsec{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px;margin-bottom:18px}
.rowsec__hd{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:12px}
.rowsec__hd h2{font-size:20px}
.rowsec__hd a{font-size:13px;color:#0B6E8C}
.rowsec__hd a:hover{text-decoration:underline}

/* ---------- Category tiles ---------- */
.tiles{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));margin-bottom:18px}
.tile{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px;display:flex;flex-direction:column}
.tile h3{font-size:17px;margin-bottom:10px}
.tile__grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px}
.tile__grid figure{margin:0}
.tile__grid img{aspect-ratio:1/1;object-fit:cover;border-radius:4px;background:#F7F1E7}
.tile__grid figcaption{font-size:11px;color:var(--muted);margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tile__cta{font-size:13px;color:#0B6E8C;margin-top:auto}
.tile__cta:hover{text-decoration:underline}

/* ---------- Hero ---------- */
.hero{position:relative;border-radius:var(--radius);overflow:hidden;margin-bottom:18px;background:var(--header)}
.hero img{width:100%;height:clamp(220px,32vw,420px);object-fit:cover;opacity:.55}
.hero__copy{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;padding:0 clamp(20px,5vw,64px);color:#fff;max-width:640px}
.hero__copy h1{font-size:clamp(24px,3.4vw,40px);margin-bottom:10px;line-height:1.15}
.hero__copy p{font-size:15px;color:#E9DFD0;margin:0 0 18px}
.btn{display:inline-block;background:var(--brass);color:#2B1B12;border:0;border-radius:6px;padding:11px 22px;font-weight:700;font-size:14px}
.btn:hover{background:var(--brass-dk)}
.btn--ghost{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.7)}
.btn--block{display:block;width:100%;text-align:center}
.btn--buy{background:var(--deal);color:#fff}
.btn--buy:hover{background:#8C2F12}

/* ---------- Product page ---------- */
.pdp{display:grid;grid-template-columns:64px minmax(0,1fr) 340px;gap:22px;align-items:start;padding:14px 0 48px}
@media(max-width:1050px){.pdp{grid-template-columns:1fr}.pdp__thumbs{flex-direction:row;overflow-x:auto}}
.pdp__thumbs{display:flex;flex-direction:column;gap:8px}
.pdp__thumbs button{border:1px solid var(--line-2);border-radius:5px;padding:0;overflow:hidden;background:#fff;aspect-ratio:1/1}
.pdp__thumbs button[aria-current=true]{border-color:var(--brass);box-shadow:0 0 0 2px var(--brass-lt)}
.pdp__main img{width:100%;border-radius:var(--radius);background:#F7F1E7;aspect-ratio:1/1;object-fit:cover}
.pdp__info h1{font-size:23px;line-height:1.25;margin-bottom:8px}
.pdp__sub{color:var(--muted);font-size:13.5px;margin-bottom:10px}
.pdp__rating{display:flex;align-items:center;gap:8px;font-size:13px;color:#0B6E8C;padding-bottom:12px;border-bottom:1px solid var(--line)}
.pdp__pricewrap{padding:14px 0;border-bottom:1px solid var(--line)}
.pdp__price{font-size:30px;font-weight:700}
.pdp__price sup{font-size:15px;top:-.6em}
.spec{width:100%;border-collapse:collapse;margin:14px 0;font-size:13.5px}
.spec th{text-align:left;background:#F7F1E7;padding:8px 10px;font-weight:600;width:38%;border:1px solid var(--line)}
.spec td{padding:8px 10px;border:1px solid var(--line)}
.pdp__desc{font-size:14px;line-height:1.65;color:var(--ink-2);max-width:70ch}
.pdp__desc h2{font-size:17px;margin:22px 0 8px;color:var(--ink)}

/* Buy box */
.buybox{background:var(--card);border:1px solid var(--line-2);border-radius:var(--radius);padding:16px;position:sticky;top:110px}
.buybox .price{font-size:26px}
.buybox__ship{font-size:13px;color:var(--ink-2);margin:10px 0}
.buybox__ship b{color:var(--ok)}
.buybox select,.buybox input[type=number]{width:100%;border:1px solid var(--line-2);border-radius:6px;padding:9px 10px;font-size:14px;background:#F5EEE3;margin-bottom:10px}
.buybox .btn{margin-bottom:8px}
.trust{list-style:none;margin:14px 0 0;padding:0;font-size:12.5px;color:var(--muted)}
.trust li{display:flex;gap:7px;padding:5px 0;border-top:1px solid var(--line)}

/* ---------- Pagination ---------- */
.pager{display:flex;justify-content:center;gap:6px;padding:26px 0}
.pager a,.pager span{border:1px solid var(--line-2);background:#fff;border-radius:5px;padding:8px 13px;font-size:13.5px}
.pager .is-on{background:var(--header);color:#fff;border-color:var(--header)}

/* ---------- Empty state ---------- */
.empty{background:var(--card);border:1px dashed var(--line-2);border-radius:var(--radius);padding:48px 24px;text-align:center;color:var(--muted)}
.empty h2{color:var(--ink);margin-bottom:8px;font-size:19px}

/* ---------- Footer ---------- */
.foot{background:var(--header);color:#E9DFD0;margin-top:40px}
.foot__top{text-align:center;padding:14px;background:var(--header-2);font-size:13px;cursor:pointer}
.foot__cols{display:grid;gap:28px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));padding:34px 0}
.foot h4{color:#fff;font-size:15px;margin-bottom:10px}
.foot ul{list-style:none;margin:0;padding:0}
.foot li{margin-bottom:7px;font-size:13px}
.foot a:hover{text-decoration:underline;color:#fff}
.foot__base{border-top:1px solid rgba(255,255,255,.16);padding:16px 0;font-size:12px;text-align:center;color:#C6B7A5}

/* ---------- Utility ---------- */
.hide{display:none !important}
@media(max-width:760px){
  .hdr__ship,.hdr__acct span{display:none}
  .hdr__main{flex-wrap:wrap}
  .srch{order:3;flex-basis:100%}
  .pdp{gap:16px}
}


/* v1.1 live fixes */
body,h1,h2,h3,h4,.card__title,.facet__h,.hdr__logo span,button,input,select,textarea{font-family:"DM Sans",system-ui,sans-serif}
.tile__grid{grid-auto-rows:1fr}
.tile__grid figure{display:flex;flex-direction:column;margin:0}
.tile__grid img{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;border-radius:4px}
.tile__grid figure:not(:has(img)){display:none}
.hero{min-height:clamp(240px,30vw,380px);display:flex;align-items:center}
.hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.45}
.hero__copy{position:relative;inset:auto;display:block;padding:36px clamp(20px,5vw,64px)}
.pdp__thumbs img{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover}


/* ==========================================================================
   v2 - Premium redesign layer (aesthetic, alignment, hierarchy pass)
      Appended, does not remove any existing rule. Same variable names reused.
         ========================================================================== */
         @import url('https://fonts.googleapis.com/css2?family=Marcellus&family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,600;9..40,700&display=swap');

         :root{
           --gold:#B8862E;
             --gold-dk:#8F681F;
               --gold-lt:#EFDDAF;
                 --ink-soft:#4A3A2C;
                   --space-1:8px;
                     --space-2:16px;
                       --space-3:24px;
                         --space-4:40px;
                           --space-5:64px;
                             --radius-lg:14px;
                               --shadow-soft:0 2px 8px rgba(43,27,18,.08);
                                 --shadow-lift:0 12px 28px rgba(43,27,18,.16);
                                   --ease:cubic-bezier(.4,0,.2,1);
                                   }

                                   h1,h2,h3,.hero__copy h1,.rowsec__hd h2,.tile h3,.pdp__info h1,.card__title{font-family:"Marcellus","Merriweather",Georgia,serif;letter-spacing:.01em;color:var(--ink)}
                                   body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
                                   .hero,.tiles,section{margin-bottom:var(--space-4)}
                                   .rowsec__hd{margin-bottom:var(--space-3);align-items:center}
                                   .rowsec__hd h2{font-size:24px;position:relative;padding-bottom:10px}
                                   .rowsec__hd h2::after{content:"";position:absolute;left:0;bottom:0;width:44px;height:3px;background:var(--gold);border-radius:2px}
                                   .rowsec__hd a{font-weight:600;color:var(--gold-dk);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .2s var(--ease)}
                                   .rowsec__hd a:hover{border-color:var(--gold-dk)}

                                   .btn{font-family:"DM Sans",system-ui,sans-serif;background:var(--gold);border-radius:8px;padding:12px 26px;font-weight:700;letter-spacing:.01em;box-shadow:var(--shadow-soft);transition:transform .18s var(--ease),box-shadow .18s var(--ease),background .18s var(--ease)}
                                   .btn:hover{background:var(--gold-dk);transform:translateY(-1px);box-shadow:var(--shadow-lift)}
                                   .btn--buy{background:transparent;color:var(--ink);border:1.5px solid var(--ink);box-shadow:none}
                                   .btn--buy:hover{background:var(--ink);color:#fff;transform:translateY(-1px)}
                                   .btn--ghost{border:1.5px solid rgba(255,255,255,.5);transition:border-color .18s var(--ease),background .18s var(--ease)}
                                   .btn--ghost:hover{border-color:#fff;background:rgba(255,255,255,.08)}

                                   .card{border-radius:var(--radius-lg);transition:box-shadow .25s var(--ease),border-color .25s var(--ease),transform .25s var(--ease)}
                                   .card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lift);border-color:transparent}
                                   .card__media{border-radius:10px}
                                   .badge{border-radius:999px;padding:4px 10px;letter-spacing:.04em;box-shadow:0 1px 3px rgba(43,27,18,.18)}
                                   .card__title{font-size:14.5px;line-height:1.4;letter-spacing:0}
                                   .price{font-size:21px;font-weight:700;color:var(--ink)}
                                   .price__off{background:var(--gold-lt);color:var(--gold-dk);padding:2px 6px;border-radius:4px}
                                   .quickadd{box-shadow:var(--shadow-lift)}

                                   .tiles{gap:20px}
                                   .tile{transition:box-shadow .25s var(--ease),transform .25s var(--ease);height:100%}
                                   .tile:hover{box-shadow:var(--shadow-lift);transform:translateY(-2px)}
                                   .tile h3{font-size:16px}
                                   .tile__cta{margin-top:auto;font-weight:600}
                                   .hero{background:var(--header)}
                                   .hero img{opacity:1;z-index:1}
                                   .hero::before{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(100deg,rgba(26,16,10,.85) 0%,rgba(26,16,10,.55) 45%,rgba(26,16,10,.15) 80%);pointer-events:none}
                                   .hero__copy{position:relative;z-index:3}
                                   .hero__copy h1{font-size:clamp(28px,4vw,44px);color:#fff}
                                   .hero__copy p{font-size:16px;color:#F0E4D3;max-width:520px}

                                   .pdp__info h1{font-size:26px;line-height:1.3}
                                   .pdp__pricewrap{background:var(--cream);border-radius:var(--radius-lg);padding:var(--space-2);border:1px solid var(--line)}
                                   .pdp__price{font-size:32px}
                                   .pdp__thumbs button{transition:border-color .18s var(--ease),box-shadow .18s var(--ease)}
                                   .pdp__thumbs button:hover{border-color:var(--gold)}
                                   .facet__h{font-size:16px;color:var(--ink);letter-spacing:.02em}
                                   .facet label{padding:4px 0}
                                   .facet__link.is-on{color:var(--gold-dk)}
                                   .foot h4{letter-spacing:.06em;text-transform:uppercase;font-size:13px;color:var(--gold-lt)}
                                   .foot a{transition:color .18s var(--ease)}
                                   a,button,.btn,.card,.tile{outline-offset:2px}
                                   a:focus-visible,button:focus-visible,.btn:focus-visible{outline:2px solid var(--gold-dk);outline-offset:2px}
                                   ::selection{background:var(--gold-lt);color:var(--ink)}
                                   .tile{overflow:hidden;min-width:0}
                                   .tile__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
                                   .tile__grid figure{min-width:0;overflow:hidden}
                                   .tile__grid img{max-width:100%;display:block}

                                   

/* ================= Premium Glass v2 — Chithira Maadam ================= */
@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,340;9..144,480;9..144,600&display=swap');

:root{
  --glass-bg: rgba(255,255,255,.55);
  --glass-bg-strong: rgba(255,255,255,.74);
  --glass-border: rgba(255,255,255,.5);
  --glass-shadow: 0 8px 32px rgba(43,27,18,.16);
  --glass-shadow-lg: 0 22px 60px rgba(43,27,18,.26);
  --glass-blur: blur(18px);
  --header-glass: rgba(42,26,17,.72);
  --header-glass-2: rgba(58,36,24,.5);
  --brass-glow: rgba(201,162,39,.35);
  --radius-lg: 16px;
  --radius-xl: 22px;
  --ease: cubic-bezier(.22,1,.36,1);
  --font-display: "Fraunces","DM Sans",serif;
}

html{ scroll-behavior:smooth; }
::selection{ background:var(--brass); color:#2B1B12; }
::-webkit-scrollbar{ width:10px; height:10px; }
::-webkit-scrollbar-track{ background:var(--cream); }
::-webkit-scrollbar-thumb{ background:var(--line-2); border-radius:10px; border:2px solid var(--cream); }
::-webkit-scrollbar-thumb:hover{ background:var(--brass-dk); }

h1,h2,h3,.hero__copy h1,.rowsec__hd h2,.tile h3,.pdp__info h1,.card__title{
  font-family:var(--font-display);
  letter-spacing:-.01em;
}

.announce{
  background:linear-gradient(90deg,var(--brass-dk),var(--brass) 45%,var(--brass-dk));
  letter-spacing:.03em;
}

.hdr{
  position:sticky; top:0; z-index:40;
  background:linear-gradient(180deg,var(--header-glass),var(--header-glass-2));
  -webkit-backdrop-filter:var(--glass-blur); backdrop-filter:var(--glass-blur);
  border-bottom:1px solid rgba(255,255,255,.08);
  box-shadow:0 8px 24px rgba(20,12,7,.25);
}
.subnav{
  background:rgba(76,49,34,.55);
  -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px);
  border-top:1px solid rgba(255,255,255,.06);
}
.subnav a,.subnav button{
  transition:color .2s var(--ease), background-color .2s var(--ease);
  border-radius:999px;
}
.subnav a:hover,.subnav button:hover{
  background:rgba(255,255,255,.1);
}
.srch{
  background:rgba(255,255,255,.92);
  -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px);
  box-shadow:0 2px 10px rgba(20,12,7,.12);
  transition:box-shadow .2s var(--ease);
}
.srch:focus-within{
  box-shadow:0 0 0 3px var(--brass-glow), 0 4px 16px rgba(20,12,7,.2);
}
.hdr__cell{ transition:background-color .2s var(--ease); border-radius:8px; }
.hdr__cell:hover{ background:rgba(255,255,255,.08); }
.cart__count{
  background:var(--brass); color:#2B1B12; box-shadow:0 2px 8px var(--brass-glow);
}

.mega__panel{
  background:var(--glass-bg-strong);
  -webkit-backdrop-filter:blur(24px) saturate(160%); backdrop-filter:blur(24px) saturate(160%);
  border:1px solid var(--glass-border);
  box-shadow:var(--glass-shadow-lg);
  border-radius:0 var(--radius-xl) var(--radius-xl) 0;
}
.mega__scrim{
  background:rgba(20,12,7,.35);
  -webkit-backdrop-filter:blur(2px); backdrop-filter:blur(2px);
}

.hero{ border-radius:var(--radius-xl); }
.hero__copy{
  position:absolute; top:0; bottom:0; left:0; right:auto; margin:auto 0;
  display:flex; flex-direction:column; justify-content:center; align-items:flex-start;
  text-align:left;
  width:min(560px,90vw);
  padding:0 clamp(20px,5vw,64px);
  background:none;
  -webkit-backdrop-filter:none; backdrop-filter:none;
  border:0;
  border-radius:0;
  box-shadow:none;
}
.hero__copy h1{
  font-family:var(--font-display); font-weight:600;
  text-shadow:0 2px 20px rgba(0,0,0,.35);
}
.hero__copy p{ text-shadow:0 1px 8px rgba(0,0,0,.3); }
.hero .btn{
  background:linear-gradient(135deg,#E9C662,var(--brass) 60%,var(--brass-dk));
  box-shadow:0 8px 24px var(--brass-glow);
}

.btn{
  position:relative; overflow:hidden;
  background:linear-gradient(135deg,#E9C662,var(--brass) 55%,var(--brass-dk));
  box-shadow:0 4px 14px var(--brass-glow);
  transition:transform .18s var(--ease), box-shadow .18s var(--ease);
}
.btn:hover{ transform:translateY(-2px); box-shadow:0 10px 28px var(--brass-glow); }
.btn::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(120deg,transparent 20%,rgba(255,255,255,.5) 40%,transparent 60%);
  transform:translateX(-120%); transition:transform .6s var(--ease);
}
.btn:hover::after{ transform:translateX(120%); }
.btn--ghost{
  background:rgba(255,255,255,.12);
  -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,.5); color:#fff; box-shadow:none;
}
.btn--ghost:hover{ background:rgba(255,255,255,.22); transform:translateY(-2px); }
.btn--buy{
  background:linear-gradient(135deg,#C0502B,var(--deal) 60%,#7A2A0F);
  box-shadow:0 4px 14px rgba(163,59,24,.35);
}
.btn--buy:hover{ box-shadow:0 10px 26px rgba(163,59,24,.4); }

.card{
  background:var(--glass-bg-strong);
  -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,.6);
  border-radius:var(--radius-lg);
  box-shadow:0 2px 10px rgba(43,27,18,.06);
  transition:transform .25s var(--ease), box-shadow .25s var(--ease), border-color .25s var(--ease);
}
.card:hover{
  transform:translateY(-6px);
  box-shadow:var(--glass-shadow-lg);
  border-color:var(--brass-glow);
}
.card__media{ border-radius:12px; }
.badge{
  -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px);
  box-shadow:0 2px 8px rgba(0,0,0,.15);
  border:1px solid rgba(255,255,255,.35);
}
.quickadd{
  background:rgba(255,255,255,.85);
  -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px);
  color:var(--brass-dk); border:1px solid rgba(255,255,255,.6);
  transition:transform .2s var(--ease), background-color .2s var(--ease);
}
.card:hover .quickadd,.quickadd:focus{ transform:translateY(0) scale(1.05); }
.quickadd:hover{ background:var(--brass); color:#2B1B12; }

.tile{
  background:var(--glass-bg-strong);
  -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,.6);
  border-radius:var(--radius-lg);
  box-shadow:0 2px 10px rgba(43,27,18,.06);
  transition:transform .25s var(--ease), box-shadow .25s var(--ease);
}
.tile:hover{ transform:translateY(-4px); box-shadow:var(--glass-shadow); }
.tile__grid img{ transition:transform .3s var(--ease); }
.tile__grid figure:hover img{ transform:scale(1.05); }
.tile__cta{ color:var(--brass-dk); font-weight:600; }
.tile__cta::after{ content:" \2192"; }
.tile__cta:hover{ text-decoration:none; color:var(--brass); }

.rowsec__hd h2{
  position:relative; display:inline-block; padding-bottom:8px;
}
.rowsec__hd h2::after{
  content:""; position:absolute; left:0; bottom:0; height:3px; width:56px;
  background:linear-gradient(90deg,var(--brass),var(--brass-lt));
  border-radius:3px;
}

.foot{
  background:linear-gradient(180deg,#241811,#1B120C);
  position:relative;
}
.foot::before{
  content:""; position:absolute; inset:0;
  background:radial-gradient(1200px 300px at 20% 0%, rgba(201,162,39,.08), transparent 60%);
  pointer-events:none;
}
.foot__top{
  background:rgba(255,255,255,.04);
  -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px);
  border-bottom:1px solid rgba(255,255,255,.06);
  transition:background-color .2s var(--ease);
}
.foot__top:hover{ background:rgba(255,255,255,.08); }
.foot h4{
  font-family:var(--font-display);
  color:var(--brass-lt);
}
.foot__base{
  border-top:1px solid rgba(255,255,255,.08);
}

@media (prefers-reduced-motion: reduce){
  *{ transition:none !important; scroll-behavior:auto !important; }
}

@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){
  .hdr,.subnav{ background:var(--header); }
  .mega__panel,.hero__copy,.card,.tile,.btn--ghost{ background:rgba(255,255,255,.95); }
}

@media(max-width:760px){
  .hero__copy{ left:12px; right:12px; max-width:none; top:auto; bottom:16px; transform:none; }
}


/* ================= Premium UX v3 — dark mode, mobile tab bar, motion ================= */

:root,
:root[data-theme="dark"]{
  color-scheme: dark;
  --ink:#ECE3D6;
  --ink-2:#C7B9A6;
  --muted:#9C8D79;
  --cream:#17120D;
  --card:#201811;
  --line:rgba(255,255,255,.12);
  --line-2:rgba(255,255,255,.2);
  --deal:#FF7A50;
  --deal-bg:#D9542E;
  --shadow-1:0 1px 2px rgba(0,0,0,.4);
  --shadow-2:0 8px 24px rgba(0,0,0,.5);
  --glass-bg:rgba(30,22,16,.5);
  --glass-bg-strong:rgba(30,22,16,.62);
  --glass-border:rgba(255,255,255,.1);
  --glass-shadow:0 8px 32px rgba(0,0,0,.4);
  --glass-shadow-lg:0 22px 60px rgba(0,0,0,.55);
}
:root{ color-scheme: dark; }

/* search bar background is always light chrome inside the dark header, so pin its text regardless of theme */
.srch__in{ color:#2B1B12; }
.srch__cat{ color:#5B4636; background:#EDE5D8; }

body,.card,.tile,.buybox,.mega__panel{
  transition:background-color .35s var(--ease), color .35s var(--ease), border-color .35s var(--ease);
}

/* ---------- Scroll reveal ---------- */
.reveal{ opacity:0; transform:translateY(18px); transition:opacity .7s var(--ease), transform .7s var(--ease); }
.reveal.is-visible{ opacity:1; transform:none; }

/* ---------- Cart bump ---------- */
@keyframes cartBump{ 0%{ transform:scale(1); } 35%{ transform:scale(1.35); } 100%{ transform:scale(1); } }
.cart__count.bump{ animation:cartBump .4s var(--ease); }

/* ---------- Subnav animated underline ---------- */
.subnav a{ position:relative; }
.subnav a::after{
  content:""; position:absolute; left:10px; right:10px; bottom:4px; height:2px;
  background:var(--brass); transform:scaleX(0); transform-origin:left;
  transition:transform .25s var(--ease);
}
.subnav a:hover::after{ transform:scaleX(1); }

/* ---------- Mobile bottom tab bar ---------- */
.mobiletab{ display:none; }
@media(max-width:760px){
  .mobiletab{
    display:grid; grid-template-columns:repeat(5,1fr); align-items:center;
    position:fixed; left:0; right:0; bottom:0; z-index:50;
    background:linear-gradient(180deg, rgba(42,26,17,.85), rgba(24,15,10,.95));
    -webkit-backdrop-filter:blur(18px) saturate(160%); backdrop-filter:blur(18px) saturate(160%);
    border-top:1px solid rgba(255,255,255,.1);
    padding:6px 4px calc(6px + env(safe-area-inset-bottom));
    box-shadow:0 -8px 24px rgba(0,0,0,.25);
  }
  .mobiletab__item{
    display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2px;
    background:transparent; border:0; color:rgba(255,255,255,.72);
    font-size:10.5px; padding:6px 2px; border-radius:10px; text-decoration:none;
    transition:color .2s var(--ease), background-color .2s var(--ease);
  }
  .mobiletab__item svg{ width:20px; height:20px; }
  .mobiletab__item.is-active{ color:#fff; background:rgba(255,255,255,.1); }
  .mobiletab__item:active{ background:rgba(255,255,255,.14); }
  .mobiletab__icwrap{ position:relative; display:inline-flex; }
  .mobiletab__badge{
    position:absolute; top:-6px; right:-9px; min-width:15px; height:15px; padding:0 3px;
    border-radius:999px; background:var(--brass); color:#2B1B12; font-size:9.5px; font-weight:800;
    display:flex; align-items:center; justify-content:center; box-shadow:0 1px 4px rgba(0,0,0,.35);
  }
  .mobiletab__badge:empty{ display:none; }
  body{ padding-bottom:calc(60px + env(safe-area-inset-bottom)); }
}

@media (prefers-reduced-motion: reduce){
  .reveal{ opacity:1 !important; transform:none !important; }
}


/* ================= Mobile End-to-End (Amazon-pattern) v4 ================= */
@media(max-width:760px){

  /* ---------- Global rhythm ---------- */
  .wrap{ padding-left:12px; padding-right:12px; }
  h1{ font-size:22px; }
  .rowsec__hd h2{ font-size:17px; }
  .btn{ min-height:44px; }
  a,button{ -webkit-tap-highlight-color:transparent; }

  /* ---------- Header ---------- */
  .hdr__logo img,.hdr__logo svg{ max-height:30px; }
  .hdr__ship{ padding:0 4px; }
  .hdr__cell{ padding:4px; }
  .srch{ height:38px; }
  .subnav__in{ gap:4px; padding:8px 10px; }
  .subnav a,.subnav button{ font-size:12.5px; padding:6px 10px; white-space:nowrap; }
  .mega__panel{ width:88vw; border-radius:0 16px 16px 0; }

  /* ---------- Hero ---------- */
  .hero{ min-height:280px; border-radius:14px; }
  .hero__copy{ width:88vw; padding:0 18px; }
  .hero__copy h1{ font-size:26px; }
  .hero__copy p{ font-size:13.5px; }

  /* ---------- Category tiles: horizontal snap row (Amazon-style) ---------- */
  .tiles{ display:grid; grid-auto-flow:column; grid-auto-columns:74vw; gap:12px;
    overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:4px; margin:0 -12px; padding-left:12px; padding-right:12px; }
  .tile{ scroll-snap-align:start; }

  /* ---------- Product row carousels ---------- */
  .grid--row{ grid-auto-columns:42vw; gap:10px; margin:0 -12px; padding-left:12px; padding-right:12px; }
  .grid{ grid-template-columns:repeat(2,1fr); gap:10px; }
  .card{ padding:8px; }
  .card__title{ font-size:12.5px; }
  .price{ font-size:16px; }
  .quickadd{ width:30px; height:30px; }

  /* ---------- Sortbar / crumbs ---------- */
  .sortbar{ flex-wrap:wrap; padding:8px 10px; }
  .sortbar h1{ font-size:16px; }
  .crumbs{ font-size:11.5px; padding:8px 0; overflow-x:auto; white-space:nowrap; }
  .filter-toggle{ display:inline-flex; align-items:center; min-height:38px; }

  /* ---------- Facets: full-screen sheet on mobile ---------- */
  .facets.is-open{
    position:fixed; inset:0; z-index:200;
    background:var(--cream); overflow-y:auto;
    padding:16px 16px calc(24px + env(safe-area-inset-bottom));
    animation:sheetUp .28s var(--ease);
  }
  @keyframes sheetUp{ from{ transform:translateY(24px); opacity:.4; } to{ transform:translateY(0); opacity:1; } }
  body:has(.facets.is-open) .filter-toggle{
    position:fixed; top:14px; right:14px; z-index:210;
    background:var(--brass); color:#2B1B12; border:0; box-shadow:var(--shadow-2);
  }
  body:has(.facets.is-open){ overflow:hidden; }

  /* ---------- PDP ---------- */
  .pdp{ grid-template-columns:1fr; padding:8px 0 32px; gap:12px; }
  .pdp__thumbs{ order:2; gap:8px; }
  .pdp__thumbs button{ min-width:52px; }
  .pdp__main{ order:1; }
  .pdp__info{ order:3; }
  .pdp__info h1{ font-size:19px; }
  .pdp__price,.buybox .price{ font-size:22px; }
  .buybox{ order:4; position:static; padding:14px; }
  .spec{ display:block; overflow-x:auto; white-space:nowrap; }
  .trust{ margin-bottom:70px; }

  /* Sticky Add to bag / Buy now bar, Amazon-app style */
  .buybox__actions{
    position:fixed; left:0; right:0; bottom:calc(60px + env(safe-area-inset-bottom));
    z-index:45; display:grid; grid-template-columns:1fr 1fr; gap:8px;
    background:var(--glass-bg-strong); -webkit-backdrop-filter:blur(16px); backdrop-filter:blur(16px);
    border-top:1px solid var(--line); padding:10px 12px;
    box-shadow:0 -6px 20px rgba(0,0,0,.12);
  }
  .buybox__actions .btn{ margin:0; }

  /* ---------- Cart ---------- */
  .rowsec>div[style*="grid-template-columns"]{ grid-template-columns:78px 1fr !important; gap:10px !important; }
  .cart div[style*="text-align:right"] button.btn{
    position:fixed; left:12px; right:12px; bottom:calc(12px + 60px + env(safe-area-inset-bottom));
    z-index:45; margin:0 !important; box-shadow:var(--glass-shadow-lg);
  }

  /* ---------- Footer ---------- */
  .foot__cols{ grid-template-columns:1fr 1fr; gap:20px 14px; padding:24px 0; text-align:left; }
  .foot h4{ font-size:13px; }
  .foot li{ font-size:12.5px; }

  /* keep the fixed mobile tab bar above page content but below filter sheet */
  .mobiletab{ z-index:50; }
}

@media(max-width:420px){
  .grid--row{ grid-auto-columns:48vw; }
  .tiles{ grid-auto-columns:82vw; }
  .foot__cols{ grid-template-columns:1fr; }
}


/* ================= Dark-only normalization + PDP sizing v5 ================= */

/* --- surfaces that were hardcoded light --- */
.mega__panel{ background:var(--card); }
.card__media,.tile__grid img,.spec th{ background:#241B13; }
.pdp__thumbs button{ background:#241B13; border-color:var(--line-2); }
.pager a,.pager span{ background:var(--card); color:var(--ink); border-color:var(--line); }
.pager a:hover{ background:#2C2118; border-color:var(--brass); }

/* --- form controls --- */
.price-range button,.sortbar select,.filter-toggle,
.buybox select,.buybox input[type=number],
input[type=text],input[type=email],input[type=tel],input[type=number],
input[type=search],input[type=password],select,textarea{
  background:#241B13; color:var(--ink); border:1px solid var(--line-2);
}
select option{ background:#241B13; color:var(--ink); }
input::placeholder,textarea::placeholder{ color:var(--muted); opacity:1; }
input:focus,select:focus,textarea:focus{
  outline:none; border-color:var(--brass); box-shadow:0 0 0 3px var(--brass-glow);
}
input[type=checkbox],input[type=radio]{ accent-color:var(--brass); }
.price-range button:hover,.filter-toggle:hover{ background:#31251A; border-color:var(--brass); }

/* --- search bar --- */
.srch{ background:#2A1F16; border:1px solid rgba(255,255,255,.14); }
.srch__in{ background:transparent; color:var(--ink); }
.srch__in::placeholder{ color:var(--muted); opacity:1; }
.srch__cat{ background:#3A2C20; color:var(--ink-2); }

/* --- spec table --- */
.spec th{ color:var(--ink); }
.spec td{ color:var(--ink-2); }
.spec th,.spec td{ border-color:var(--line); }

/* --- misc contrast --- */
.crumbs,.crumbs a{ color:var(--muted); }
.crumbs a:hover{ color:var(--brass); }
hr{ border-color:var(--line); }

/* ---------- Product image: cap the size, never crop ---------- */
.pdp__main{ max-width:520px; margin:0 auto; width:100%; }
.pdp__main img{
  width:100%; aspect-ratio:1/1; max-height:520px;
  object-fit:contain; background:#241B13;
  padding:12px; border-radius:var(--radius);
}
@media(max-width:1050px){
  .pdp__main{ max-width:440px; }
}
@media(max-width:760px){
  .pdp__main{ max-width:320px; }
  .pdp__main img{ max-height:320px; padding:8px; }
  .pdp__thumbs button{ min-width:46px; width:46px; height:46px; }
}

/* --- v5 corrections --- */
.srch input.srch__in[type=search]{ background:transparent; border:0; }
.pdp__main{ margin:0; }
@media(max-width:1050px){ .pdp__main{ margin:0 auto; } }

/* --- v5b: remaining light chips --- */
.quickadd{ background:rgba(45,34,24,.9); color:var(--brass-lt); border:1px solid rgba(255,255,255,.16); }
.quickadd:hover{ background:var(--brass); color:#2B1B12; }
.badge--new{ background:var(--brass); color:#2B1B12; border-color:transparent; }
.price__off{ background:rgba(201,162,39,.18); color:var(--brass-lt); }

/* --- v5c: link colour readable on dark --- */
.facet__more,.clearall,.rowsec__hd a,.tile__cta,.pdp__rating,.pdp__rating a,
.cart a,.cart button[type=submit].linkish,.linkish{ color:var(--brass-lt); }
a[href]:not(.btn):not(.hdr__cell):not(.subnav a){ }
.cart form button, .cart a{ color:var(--brass-lt); }

/* --- v5d: PDP image stage fills its column, image contained --- */
.pdp__main{ max-width:100%; margin:0; }
.pdp__main img{
  width:100%; height:auto; aspect-ratio:auto;
  max-height:540px; min-height:320px;
  object-fit:contain; background:#241B13; padding:16px;
}
@media(max-width:1050px){
  .pdp__main{ max-width:100%; margin:0; }
  .pdp__main img{ max-height:420px; min-height:260px; }
}
@media(max-width:760px){
  .pdp__main{ max-width:100%; }
  .pdp__main img{ max-height:300px; min-height:200px; padding:8px; }
}

/* --- v6: PDP stage hugs the image, grid centred on wide screens --- */
.pdp{
  grid-template-columns:64px minmax(0,540px) minmax(330px,420px);
  justify-content:center;
  column-gap:24px;
}
.pdp__main{ max-width:540px; margin:0; }
.pdp__main img{
  width:100%; aspect-ratio:1/1; height:auto;
  max-height:540px; min-height:0;
  object-fit:contain; background:#241B13; padding:14px;
}
@media(max-width:1050px){
  .pdp{ grid-template-columns:1fr; justify-content:stretch; }
  .pdp__main{ max-width:460px; margin:0 auto; }
  .pdp__main img{ max-height:460px; }
}
@media(max-width:760px){
  .pdp__main{ max-width:340px; margin:0 auto; }
  .pdp__main img{ max-height:340px; padding:8px; }
}

/* --- v7: bilingual brand lockup in header --- */
.hdr__logo{ display:flex; align-items:center; gap:11px; text-decoration:none; }
.hdr__logo img{ flex:0 0 auto; }
.hdr__brand{ display:flex; flex-direction:column; justify-content:center; line-height:1; }
.hdr__brand-ta{
  font-family:"Noto Serif Tamil","Latha",serif;
  font-weight:600; font-size:18px; line-height:1.32;
  color:var(--brass-lt); white-space:nowrap;
}
.hdr__brand-en{
  font-family:var(--font-display),serif;
  font-weight:500; font-size:10.5px; line-height:1;
  letter-spacing:.19em; text-transform:uppercase;
  color:rgba(255,255,255,.7); white-space:nowrap; margin-top:4px;
}
.hdr__logo:hover .hdr__brand-ta{ color:var(--brass); }
@media(max-width:900px){
  .hdr__brand-ta{ font-size:15.5px; }
  .hdr__brand-en{ font-size:9px; letter-spacing:.15em; }
}
@media(max-width:760px){
  .hdr__logo{ gap:8px; }
  .hdr__brand-ta{ font-size:14px; }
  .hdr__brand-en{ font-size:8px; letter-spacing:.12em; margin-top:3px; }
}
@media(max-width:430px){
  .hdr__brand-en{ display:none; }
  .hdr__brand-ta{ font-size:13px; }
}

/* --- v7b: outrank the existing .hdr__logo span rule --- */
.hdr__logo .hdr__brand{ display:flex; flex-direction:column; justify-content:center; line-height:1; }
.hdr__logo .hdr__brand-ta{
  font-family:"Noto Serif Tamil","Latha","Nirmala UI",serif;
  font-weight:600; font-size:18px; line-height:1.34;
  color:var(--brass-lt); white-space:nowrap; letter-spacing:0;
}
.hdr__logo .hdr__brand-en{
  font-family:"Fraunces","DM Sans",serif;
  font-weight:500; font-size:10.5px; line-height:1;
  letter-spacing:.19em; text-transform:uppercase;
  color:rgba(255,255,255,.7); white-space:nowrap; margin-top:4px;
}
@media(max-width:900px){
  .hdr__logo .hdr__brand-ta{ font-size:15.5px; }
  .hdr__logo .hdr__brand-en{ font-size:9px; letter-spacing:.15em; }
}
@media(max-width:760px){
  .hdr__logo .hdr__brand-ta{ font-size:14px; }
  .hdr__logo .hdr__brand-en{ font-size:8px; letter-spacing:.12em; margin-top:3px; }
}
@media(max-width:430px){
  .hdr__logo .hdr__brand-en{ display:none; }
  .hdr__logo .hdr__brand-ta{ font-size:13px; }
}

/* --- v8: lift cards off the background, thin the stroke --- */
:root,:root[data-theme="dark"]{
  --surface-1:#231A13;
  --surface-2:#2A2018;
  --well:#1A130D;
  --hair:rgba(255,255,255,.07);
}
.card,.tile,.buybox,.facets,.sortbar,.pager a,.pager span{
  background:var(--surface-1);
  border:1px solid var(--hair);
  -webkit-backdrop-filter:none; backdrop-filter:none;
  box-shadow:0 1px 2px rgba(0,0,0,.45);
}
.card:hover,.tile:hover{
  background:var(--surface-2);
  border-color:rgba(233,198,98,.30);
  box-shadow:0 10px 28px rgba(0,0,0,.5);
}
/* image wells sit slightly darker than the card so photos read as inset */
.card__media,.tile__grid img,.pdp__main img,.pdp__thumbs button,.spec th{
  background:var(--well);
}
.pdp__thumbs button{ border:1px solid var(--hair); }
.mega__panel{ background:var(--surface-1); border:1px solid var(--hair); }
/* keep form controls a touch lighter than their card */
.price-range button,.sortbar select,.filter-toggle,
.buybox select,.buybox input[type=number],
input[type=text],input[type=email],input[type=tel],input[type=number],
input[type=search],input[type=password],select,textarea{
  background:var(--surface-2); border:1px solid rgba(255,255,255,.12);
}
.srch{ background:var(--surface-2); border:1px solid rgba(255,255,255,.12); }
.srch__cat{ background:#3A2C20; }

/* --- v9: language switcher + suggestion prompt --- */
.langsw{ display:flex; align-items:center; gap:5px; padding:4px 8px; }
.langsw__form{ display:flex; align-items:center; gap:5px; margin:0; }
.langsw__globe{ font-size:13px; opacity:.85; line-height:1; }
.langsw .langsw__select{
  background:transparent; border:0; color:#fff;
  font-size:12.5px; font-weight:600; padding:2px 2px; cursor:pointer;
  max-width:120px;
}
.langsw .langsw__select:focus{ outline:none; box-shadow:none; }
.langsw .langsw__select option{ background:var(--surface-2); color:var(--ink); }

.langprompt{
  position:fixed; left:0; right:0; bottom:0; z-index:60;
  background:var(--surface-2);
  border-top:1px solid var(--hair);
  box-shadow:0 -10px 30px rgba(0,0,0,.5);
  transform:translateY(100%); opacity:0;
  transition:transform .28s var(--ease), opacity .28s var(--ease);
  padding-bottom:env(safe-area-inset-bottom);
}
.langprompt.is-in{ transform:translateY(0); opacity:1; }
.langprompt__in{
  max-width:1180px; margin:0 auto;
  display:flex; align-items:center; gap:14px;
  padding:14px 20px;
}
.langprompt__globe{ font-size:18px; line-height:1; }
.langprompt__txt{ font-size:15px; font-weight:600; color:var(--ink); flex:1 1 auto; }
.langprompt__btns{ display:flex; align-items:center; gap:10px; flex:0 0 auto; }
.langprompt__yes{
  background:linear-gradient(135deg,#E9C662,var(--brass) 55%,var(--brass-dk));
  color:#2B1B12; border:0; border-radius:999px;
  font-size:14px; font-weight:700; padding:9px 20px; cursor:pointer;
  min-height:40px; box-shadow:0 4px 14px var(--brass-glow);
}
.langprompt__yes:hover{ transform:translateY(-1px); }
.langprompt__no{
  background:transparent; border:1px solid var(--line-2);
  color:var(--ink-2); border-radius:999px;
  font-size:13.5px; padding:9px 16px; cursor:pointer; min-height:40px;
}
.langprompt__no:hover{ border-color:var(--brass); color:var(--ink); }
.langprompt__x{
  background:none; border:0; color:var(--muted);
  font-size:22px; line-height:1; cursor:pointer; padding:4px 6px; flex:0 0 auto;
}
.langprompt__x:hover{ color:var(--ink); }

@media(max-width:760px){
  .langsw{ display:none; }            /* header is tight on phones */
  .langprompt{ bottom:calc(60px + env(safe-area-inset-bottom)); }
  .langprompt__in{ flex-wrap:wrap; gap:10px; padding:12px 14px; }
  .langprompt__txt{ font-size:14px; flex:1 1 100%; }
  .langprompt__btns{ flex:1 1 100%; }
  .langprompt__yes,.langprompt__no{ flex:1 1 0; justify-content:center; }
  .langprompt__x{ position:absolute; top:8px; right:10px; }
}
@media (prefers-reduced-motion: reduce){
  .langprompt{ transition:none; }
}

/* --- v10: proper depth hierarchy so panels and cards read apart --- */
:root,:root[data-theme="dark"]{
  --level-0:#17120D;   /* page */
  --level-1:#1E1710;   /* section panel */
  --level-2:#2A211A;   /* cards sitting on a panel */
  --level-3:#342A20;   /* hover / controls */
  --well:#150F09;      /* image wells, darkest */
  --hair:rgba(255,255,255,.07);
}
body{ background:var(--level-0); }
.rowsec,.facets,.sortbar{
  background:var(--level-1);
  border:1px solid var(--hair);
  box-shadow:none;
}
.card,.tile,.buybox,.pager a,.pager span{
  background:var(--level-2);
  border:1px solid var(--hair);
  box-shadow:0 1px 3px rgba(0,0,0,.5);
}
.card:hover,.tile:hover{
  background:var(--level-3);
  border-color:rgba(233,198,98,.32);
  box-shadow:0 12px 30px rgba(0,0,0,.55);
}
.card__media,.tile__grid img,.pdp__main img,.spec th{ background:var(--well); }
.pdp__thumbs button{ background:var(--well); border:1px solid var(--hair); }
.price-range button,.sortbar select,.filter-toggle,
.buybox select,.buybox input[type=number],
input[type=text],input[type=email],input[type=tel],input[type=number],
input[type=search],input[type=password],select,textarea{
  background:var(--level-3); border:1px solid rgba(255,255,255,.12);
}
select option{ background:var(--level-3); }
.srch{ background:var(--level-3); border:1px solid rgba(255,255,255,.12); }
.mega__panel{ background:var(--level-1); border:1px solid var(--hair); }
.langprompt{ background:var(--level-2); }

/* --- v11: stop horizontal scrollers clipping the hover lift ---
   overflow-x:auto forces overflow-y to auto, so a card that
   translates up gets cut off at the top. Pad the scroller and
   pull the same amount back with margin so layout is unchanged. --- */
.grid--row{
  padding-top:16px;
  margin-top:-16px;
  padding-bottom:20px;
  margin-bottom:-14px;
}
@media(max-width:760px){
  /* .tiles becomes a scroller on mobile, same problem */
  .tiles{
    padding-top:14px;
    margin-top:-14px;
    padding-bottom:18px;
  }
  /* keep the existing horizontal bleed from the mobile layer */
  .grid--row{ padding-top:14px; margin-top:-14px; padding-bottom:18px; margin-bottom:-12px; }
}

/* --- v12: filters are plain floating text, and do not follow the scroll --- */
.facets{
  background:transparent;
  border:0;
  box-shadow:none;
  padding:0;
  position:static;
  top:auto;
}
.facet{ border-bottom:0; padding:14px 0 4px; }
.facet__h{ margin-bottom:6px; }
.facet:last-child{ border-bottom:0; }
/* keep the mobile full-screen filter sheet working */
@media(max-width:760px){
  .facets.is-open{
    position:fixed; inset:0; z-index:200;
    background:var(--level-0);
    padding:16px 16px calc(24px + env(safe-area-inset-bottom));
  }
}

/* ================= v13: blog, article, enquiry form ================= */

/* --- shared form controls --- */
.frm__row{ display:flex; flex-direction:column; gap:6px; margin-bottom:14px; }
.frm__row label{ font-size:13px; font-weight:600; color:var(--ink-2); letter-spacing:.01em; }
.frm__row .req{ color:var(--deal); }
.frm__row input,.frm__row select,.frm__row textarea{
  width:100%; padding:11px 12px; border-radius:10px; font-size:14.5px;
  background:var(--level-3); color:var(--ink); border:1px solid rgba(255,255,255,.12);
}
.frm__row textarea{ resize:vertical; min-height:110px; line-height:1.5; }

/* --- blog listing --- */
.blogwrap,.artwrap,.customwrap{ padding:26px 0 60px; }
.bloghd{ margin-bottom:24px; }
.bloghd h1{ font-size:30px; line-height:1.15; }
.bloghd__sub{ color:var(--muted); font-size:13.5px; margin-top:6px; }
.bloggrid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(290px,1fr)); gap:18px; }
.post{
  display:flex; flex-direction:column; text-decoration:none;
  background:var(--level-2); border:1px solid var(--hair); border-radius:var(--radius-lg);
  overflow:hidden; transition:transform .25s var(--ease), box-shadow .25s var(--ease), border-color .25s var(--ease);
}
.post:hover{ transform:translateY(-4px); border-color:rgba(233,198,98,.32); box-shadow:0 12px 30px rgba(0,0,0,.5); }
.post__media{ background:var(--well); }
.post__media img{ width:100%; aspect-ratio:3/2; object-fit:cover; display:block; }
.post__body{ padding:14px 15px 16px; display:flex; flex-direction:column; gap:7px; }
.post__tag{
  align-self:flex-start; font-size:11px; letter-spacing:.12em; text-transform:uppercase;
  color:var(--brass-lt); background:rgba(201,162,39,.16); padding:4px 9px; border-radius:999px;
}
.post__title{ font-size:17px; line-height:1.3; color:var(--ink); margin:0; }
.post__excerpt{ font-size:13.5px; color:var(--ink-2); line-height:1.55; margin:0; }
.post__meta{ font-size:12px; color:var(--muted); margin-top:2px; }

/* --- article --- */
.artwrap{ max-width:760px; margin:0 auto; }
.arthd{ margin-bottom:20px; }
.arthd h1{ font-size:32px; line-height:1.18; margin:10px 0 8px; }
.arthd__meta{ color:var(--muted); font-size:13px; }
.art__hero{ border-radius:var(--radius-lg); overflow:hidden; background:var(--well); margin-bottom:24px; }
.art__hero img{ width:100%; height:auto; display:block; }
.art__body{ font-size:16px; line-height:1.75; color:var(--ink-2); }
.art__body h2{ font-size:22px; color:var(--ink); margin:28px 0 10px; }
.art__body h3{ font-size:18px; color:var(--ink); margin:22px 0 8px; }
.art__body p{ margin:0 0 16px; }
.art__body img{ max-width:100%; height:auto; border-radius:12px; margin:8px 0 18px; }
.art__body a{ color:var(--brass-lt); }
.art__body blockquote{
  margin:20px 0; padding:12px 18px; border-left:3px solid var(--brass);
  background:var(--level-1); border-radius:0 10px 10px 0; color:var(--ink);
}
.art__body ul,.art__body ol{ margin:0 0 16px 20px; }
.art__body li{ margin-bottom:7px; }
.artnav{ display:flex; justify-content:space-between; gap:14px; margin:34px 0 18px; padding-top:18px; border-top:1px solid var(--line); }
.artnav__link{ font-size:13.5px; color:var(--brass-lt); max-width:46%; }
.artnav__link--next{ text-align:right; margin-left:auto; }
.art__back{ font-size:13.5px; }
.art__back a{ color:var(--brass-lt); }
.artcomments{ margin-top:36px; padding-top:22px; border-top:1px solid var(--line); }
.artcomments h2{ font-size:20px; margin-bottom:14px; }
.cmt{ background:var(--level-1); border:1px solid var(--hair); border-radius:12px; padding:12px 14px; margin-bottom:10px; }
.cmt__date{ color:var(--muted); font-size:12px; margin-left:8px; }
.cmt p{ margin:6px 0 0; color:var(--ink-2); font-size:14px; }

/* --- custom order enquiry --- */
.customwrap{ max-width:820px; margin:0 auto; }
.customhd h1{ font-size:30px; line-height:1.15; margin-bottom:10px; }
.customhd p{ color:var(--ink-2); font-size:15px; line-height:1.6; max-width:64ch; }
.customhd__rte{ margin:16px 0 4px; color:var(--ink-2); }
.enq{
  margin-top:26px; background:var(--level-1); border:1px solid var(--hair);
  border-radius:var(--radius-xl); padding:22px;
}
.enq__grid{ display:grid; grid-template-columns:1fr 1fr; gap:0 16px; }
.frm__row--full{ grid-column:1 / -1; }
.enq__note{ font-size:13px; color:var(--muted); margin:2px 0 16px; }
.enq__fine{ font-size:12.5px; color:var(--muted); margin-top:14px; text-align:center; }
.enq__ok{
  background:rgba(72,140,64,.14); border:1px solid rgba(120,200,110,.35);
  border-radius:14px; padding:18px 20px;
}
.enq__ok strong{ color:#9BD98F; font-size:16px; display:block; margin-bottom:6px; }
.enq__ok p{ color:var(--ink-2); font-size:14px; line-height:1.6; margin:0; }

.emptystate{ text-align:center; padding:50px 20px; color:var(--ink-2); }
.emptystate .btn{ display:inline-block; margin-top:14px; }

@media(max-width:760px){
  .bloghd h1,.customhd h1{ font-size:23px; }
  .arthd h1{ font-size:24px; }
  .art__body{ font-size:15.5px; }
  .bloggrid{ grid-template-columns:1fr; gap:14px; }
  .enq{ padding:16px; }
  .enq__grid{ grid-template-columns:1fr; }
  .artnav{ flex-direction:column; }
  .artnav__link,.artnav__link--next{ max-width:none; text-align:left; margin-left:0; }
}

/* ================= v14: custom dropdown UI + custom-order tile ================= */

/* --- dropdowns: kill native chrome, draw our own --- */
select,
.srch__cat,
.sortbar select,
.buybox select,
.frm__row select,
.langsw__select{
  -webkit-appearance:none; -moz-appearance:none; appearance:none;
  background-image:
    linear-gradient(45deg, transparent 50%, var(--brass-lt) 50%),
    linear-gradient(135deg, var(--brass-lt) 50%, transparent 50%);
  background-position:
    calc(100% - 17px) calc(50% - 2px),
    calc(100% - 12px) calc(50% - 2px);
  background-size:5px 5px, 5px 5px;
  background-repeat:no-repeat;
  padding-right:34px;
  cursor:pointer;
  text-overflow:ellipsis;
  transition:border-color .18s var(--ease), box-shadow .18s var(--ease), background-color .18s var(--ease);
}
select:hover{ border-color:rgba(233,198,98,.42); }
select:focus,select:focus-visible{
  outline:none;
  border-color:var(--brass);
  box-shadow:0 0 0 3px var(--brass-glow);
}
/* flip the chevron while the list is open (Firefox + Chromium) */
select:focus{
  background-position:
    calc(100% - 12px) calc(50% - 2px),
    calc(100% - 17px) calc(50% - 2px);
}
/* the open list itself */
select option{
  background:var(--level-3);
  color:var(--ink);
  padding:10px 12px;
}
select option:checked,select option:hover{
  background:var(--brass);
  color:#2B1B12;
}
select::-ms-expand{ display:none; }
/* dark native popup where the browser supports it */
select{ color-scheme:dark; }
/* the category picker sits inside the search bar, so it needs its own edges */
.srch__cat{
  border:0; border-right:1px solid rgba(255,255,255,.12);
  border-radius:0; padding-left:12px;
}

/* --- custom order tile --- */
.tile--custom{
  position:relative; overflow:hidden; text-decoration:none;
  display:flex; flex-direction:column; gap:9px;
  padding:20px;
  background:linear-gradient(155deg,#2E2318 0%,#241B13 55%,#1E1710 100%);
  border:1px solid rgba(233,198,98,.26);
  border-radius:var(--radius-lg);
  transition:transform .25s var(--ease), box-shadow .25s var(--ease), border-color .25s var(--ease);
}
.tile--custom:hover{
  transform:translateY(-4px);
  border-color:rgba(233,198,98,.55);
  box-shadow:0 14px 34px rgba(0,0,0,.55);
}
.tile--custom__glow{
  position:absolute; inset:-40% 30% 55% -30%;
  background:radial-gradient(circle at 30% 30%, rgba(233,198,98,.16), transparent 62%);
  pointer-events:none;
}
.tile--custom__kicker{
  position:relative; align-self:flex-start;
  font-size:10.5px; letter-spacing:.19em; text-transform:uppercase;
  color:var(--brass-lt); border:1px solid rgba(233,198,98,.34);
  padding:4px 10px; border-radius:999px;
}
.tile--custom__title{
  position:relative; font-size:19px; line-height:1.25; color:var(--ink); margin:2px 0 0;
}
.tile--custom__copy{
  position:relative; font-size:13.5px; line-height:1.55; color:var(--ink-2); margin:0;
}
.tile--custom__list{
  position:relative; display:flex; flex-wrap:wrap; gap:6px; margin-top:2px;
}
.tile--custom__list span{
  font-size:11.5px; color:var(--ink-2);
  background:rgba(255,255,255,.05); border:1px solid var(--hair);
  padding:4px 9px; border-radius:999px;
}
.tile--custom__cta{
  position:relative; margin-top:auto; padding-top:8px;
  font-size:13.5px; font-weight:700; color:var(--brass-lt);
}
.tile--custom:hover .tile--custom__cta{ color:var(--brass); }

/* ================= v15: locale bar under the footer ================= */
.localebar{
  background:var(--level-0);
  border-top:1px solid var(--hair);
  padding:18px 16px calc(18px + env(safe-area-inset-bottom));
}
.localebar__in{
  max-width:1180px; margin:0 auto;
  display:flex; align-items:center; justify-content:center;
  gap:10px; flex-wrap:wrap;
}
.localebar__form{ margin:0; display:flex; }
.localebar__pill{
    display:inline-flex; align-items:center; gap:8px;
      background:transparent;
        border:none;
          padding:8px 4px;
            min-height:40px;
              color:var(--ink-2);
                font-size:13.5px; font-weight:600;
                  cursor:pointer;
                    transition:color .18s var(--ease), background-color .18s var(--ease);
                    }
                    .localebar__pill:hover{ color:var(--brass); background:transparent; }
                    .localebar__pill--static{ cursor:default; }
                    .localebar__pill--static:hover{ color:var(--ink-2); background:transparent; }
.localebar__ico{ width:15px; height:15px; flex:0 0 auto; opacity:.9; }
.localebar__sym{ font-size:14px; line-height:1; }
.localebar__flag{
  font-size:11px; letter-spacing:.06em; font-weight:700;
  background:rgba(255,255,255,.08); border-radius:3px; padding:2px 5px;
}
.localebar__pill select{
  background:transparent; border:0; padding:0 18px 0 0;
  color:inherit; font-size:13.5px; font-weight:600;
  min-height:0; cursor:pointer;
  background-position: 100% calc(50% - 2px), calc(100% - 5px) calc(50% - 2px);
}
.localebar__pill select:focus{ outline:none; box-shadow:none; }
.localebar__pill:focus-within{ border-color:var(--brass); box-shadow:0 0 0 3px var(--brass-glow); }
@media(max-width:760px){
  .localebar{ padding-bottom:calc(70px + env(safe-area-inset-bottom)); }
  .localebar__in{ gap:8px; }
  .localebar__pill{ font-size:12.5px; padding:7px 10px; min-height:38px; }
}

/* ================= v16: blog row on the home page ================= */
.journalrow__sub{
  color:var(--muted); font-size:13.5px; margin:-6px 0 14px;
}
.journalgrid{
  display:grid; grid-template-columns:repeat(4,1fr); gap:14px;
}
.jpost{
  display:flex; flex-direction:column; text-decoration:none;
  background:var(--level-2); border:1px solid var(--hair);
  border-radius:var(--radius-lg); overflow:hidden;
  transition:transform .25s var(--ease), box-shadow .25s var(--ease), border-color .25s var(--ease);
}
.jpost:hover{
  transform:translateY(-4px);
  border-color:rgba(233,198,98,.32);
  box-shadow:0 12px 30px rgba(0,0,0,.5);
}
.jpost__media{ display:block; background:var(--well); }
.jpost__media img{ width:100%; aspect-ratio:3/2; object-fit:cover; display:block; }
.jpost__ph{
  display:flex; align-items:center; justify-content:center;
  aspect-ratio:3/2;
  background:linear-gradient(150deg,#2C2118,#1C150F);
  color:rgba(233,198,98,.4);
}
.jpost__ph svg{ width:34px; height:34px; }
.jpost__body{ display:flex; flex-direction:column; gap:6px; padding:13px 14px 15px; }
.jpost__tag{
  align-self:flex-start; font-size:10px; letter-spacing:.14em; text-transform:uppercase;
  color:var(--brass-lt); background:rgba(201,162,39,.16);
  padding:3px 8px; border-radius:999px;
}
.jpost__title{
  font-family:var(--font-display),serif;
  font-size:15px; line-height:1.32; color:var(--ink); font-weight:600;
}
.jpost__ex{ font-size:12.5px; line-height:1.5; color:var(--ink-2); }
.jpost__meta{ font-size:11.5px; color:var(--muted); margin-top:2px; }

@media(max-width:1050px){
  .journalgrid{ grid-template-columns:repeat(2,1fr); }
}
@media(max-width:760px){
  .journalgrid{
    grid-template-columns:none;
    grid-auto-flow:column; grid-auto-columns:74vw;
    overflow-x:auto; scroll-snap-type:x mandatory;
    margin:0 -12px; padding:14px 12px 18px;
    gap:12px;
  }
  .jpost{ scroll-snap-align:start; }
  .journalrow__sub{ font-size:12.5px; }
}


/* ---- v17 audit polish ---- */
/* single-image PDP: a lone thumbnail is redundant */
/* superseded by v33 — display:none removed the grid column and shifted every child left */
/* 404 helper links */
.nf__links .btn{white-space:nowrap;}


/* ---- v18 cta arrow ---- */
/* .tile__cta already ends with a chevron in markup; drop the duplicate CSS arrow */
.tile__cta::after{content:none !important;}


/* ================= v19 account + wishlist ================= */

/* --- heart on cards --- */
.card{position:relative;}
.wish{
  position:absolute; top:8px; right:8px; z-index:3;
  width:34px; height:34px; display:grid; place-items:center;
  border:1px solid var(--hair); border-radius:50%;
  background:rgba(10,7,4,.55); backdrop-filter:blur(6px);
  color:rgba(255,255,255,.72); cursor:pointer; padding:0;
  transition:transform .15s ease, background .15s ease, color .15s ease, border-color .15s ease;
}
.wish svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linejoin:round;}
.wish:hover{background:var(--level-3);color:#fff;transform:scale(1.08);}
.wish:focus-visible{outline:2px solid var(--brass, #C9A227);outline-offset:2px;}
.wish.is-on{color:#E0555A;border-color:rgba(224,85,90,.5);}
.wish.is-on svg{fill:#E0555A;stroke:#E0555A;}
.tile .wish{display:none;}

/* --- account + wishlist pages --- */
.acct__h1{font-size:26px;line-height:1.2;margin:0 0 8px;}
.acct__h2{font-size:18px;margin:0 0 12px;}
.acct__sub{color:rgba(255,255,255,.7);margin:0 0 16px;max-width:60ch;}
.acct__note{color:rgba(255,255,255,.5);font-size:13px;margin:12px 0 0;}
.acct__empty{color:rgba(255,255,255,.7);margin:0 0 14px;}
.acct__actions{display:flex;flex-wrap:wrap;gap:10px;}
.acct__more{margin:14px 0 0;}
.acct__addr{color:rgba(255,255,255,.8);line-height:1.6;margin:0 0 14px;}

.acct__grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));}
.acct__card{background:var(--level-2);border:1px solid var(--hair);border-radius:12px;padding:16px;}
.acct__card h3{font-size:15px;margin:0 0 6px;}
.acct__card p{font-size:14px;line-height:1.55;color:rgba(255,255,255,.68);margin:0;}

.acct__orders{display:grid;gap:10px;}
.acct__order{
  display:block;background:var(--level-2);border:1px solid var(--hair);
  border-radius:12px;padding:14px;text-decoration:none;color:inherit;
  transition:background .15s ease,border-color .15s ease;
}
.acct__order:hover{background:var(--level-3);border-color:rgba(255,255,255,.14);}
.acct__ordtop{display:flex;justify-content:space-between;gap:12px;align-items:baseline;margin-bottom:6px;}
.acct__date{color:rgba(255,255,255,.55);font-size:13px;}
.acct__ordrow{display:flex;justify-content:space-between;gap:12px;color:rgba(255,255,255,.78);font-size:14px;}
.acct__tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;}
.acct__tag{
  font-size:12px;padding:3px 9px;border-radius:999px;
  background:var(--level-3);border:1px solid var(--hair);color:rgba(255,255,255,.72);
}

.grid--wish{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));}
.grid--wish .card__media img{width:100%;height:auto;display:block;border-radius:10px;}

@media (max-width:640px){
  .acct__h1{font-size:21px;}
  .acct__actions .btn{flex:1 1 100%;text-align:center;}
  .grid--wish{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;}
  .wish{width:30px;height:30px;top:6px;right:6px;}
  .wish svg{width:16px;height:16px;}
}


/* ---- v20 header saved ---- */
.hdr__saved{position:relative;display:flex;align-items:center;gap:6px;}
.hdr__savedico{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linejoin:round;}
.hdr__savedcount{
  position:absolute;top:-4px;left:13px;min-width:17px;height:17px;padding:0 4px;
  display:none;place-items:center;border-radius:999px;
  background:var(--brass,#C9A227);color:#17120D;font-size:11px;font-weight:700;line-height:17px;text-align:center;
}
.hdr__savedcount:not(:empty){display:block;}
@media (max-width:900px){ .hdr__saved b{display:none;} }
@media (max-width:640px){ .hdr__saved{display:none;} }


/* ---- v21 blog gutter: blog/article content must line up with every other page ---- */
.wrap.blogwrap, .wrap.artwrap{padding-left:16px;padding-right:16px;}


/* ---- v22 custom gutter ---- */
.wrap.customwrap{padding-left:16px;padding-right:16px;}


/* ================= v23 poster tiles =================
   Category tiles become image-led posters, same treatment as the hero:
   full-bleed photo, dark gradient veil, name over the top, whole card clickable. */

.tiles{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:16px;
}

.tile{
  position:relative;
  display:block;
  overflow:hidden;
  aspect-ratio:3/4;
  min-height:260px;
  border-radius:var(--radius-xl,18px);
  border:1px solid var(--hair);
  background:var(--level-2);
  text-decoration:none;
  color:#fff;
  isolation:isolate;
  box-shadow:0 1px 2px rgba(0,0,0,.35), 0 10px 28px rgba(0,0,0,.28);
  transition:transform .28s cubic-bezier(.2,.7,.3,1), box-shadow .28s ease, border-color .28s ease;
}
.tile:hover,.tile:focus-visible{
  transform:translateY(-6px);
  border-color:rgba(255,255,255,.16);
  box-shadow:0 2px 4px rgba(0,0,0,.4), 0 20px 44px rgba(0,0,0,.42);
}
.tile:focus-visible{outline:2px solid var(--brass,#C9A227);outline-offset:3px;}

.tile__bg{position:absolute;inset:0;z-index:0;display:block;background:var(--well,#150F09);}
.tile__bg img{
  width:100%;height:100%;object-fit:cover;display:block;
  opacity:.72;
  transform:scale(1.02);
  transition:transform .6s cubic-bezier(.2,.7,.3,1), opacity .3s ease;
}
.tile:hover .tile__bg img{transform:scale(1.09);opacity:.82;}

/* the veil — same gradient language as .hero::before, turned vertical */
.tile__veil{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:
    linear-gradient(to top, rgba(16,10,6,.94) 0%, rgba(16,10,6,.78) 26%, rgba(16,10,6,.30) 58%, rgba(16,10,6,.06) 100%),
    linear-gradient(100deg, rgba(26,16,10,.42) 0%, rgba(26,16,10,.10) 55%, rgba(26,16,10,0) 85%);
}

.tile__body{
  position:absolute;z-index:2;left:0;right:0;bottom:0;
  display:flex;flex-direction:column;align-items:flex-start;gap:4px;
  padding:18px 18px 16px;
}
.tile__name{
  font-family:var(--font-display,inherit);
  font-size:clamp(15px,1.25vw,19px);
  font-weight:600;line-height:1.22;color:#fff;
  text-shadow:0 2px 14px rgba(0,0,0,.6);
}
.tile__count{
  font-size:12px;letter-spacing:.02em;
  color:rgba(255,255,255,.66);
  text-shadow:0 1px 8px rgba(0,0,0,.6);
}
.tile__go{
  margin-top:8px;font-size:13px;font-weight:600;
  color:var(--brass,#C9A227);
  text-shadow:0 1px 8px rgba(0,0,0,.6);
  transform:translateY(2px);opacity:.9;
  transition:transform .25s ease,opacity .25s ease;
}
.tile:hover .tile__go{transform:translateY(0);opacity:1;}

/* the old inner product grid is gone — make sure nothing lingers */
.tile__grid, .tile:not(.tile--custom) > h3, .tile__cta{display:none !important;}

/* custom-order tile keeps its own look, just matches the new shape */
.tile--custom{
  aspect-ratio:3/4;min-height:260px;
  display:flex;flex-direction:column;justify-content:center;
  padding:22px;
}
.tile--custom .tile__veil{display:none;}

@media (max-width:1024px){
  .tiles{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;}
}
@media (max-width:640px){
  .tiles{grid-template-columns:repeat(2,1fr);gap:10px;}
  .tile{min-height:0;aspect-ratio:4/5;border-radius:14px;}
  .tile__body{padding:12px 12px 11px;}
  .tile__name{font-size:14px;}
  .tile__count{font-size:11px;}
  .tile__go{font-size:12px;margin-top:6px;}
  .tile--custom{aspect-ratio:4/5;padding:14px;}
}
@media (prefers-reduced-motion:reduce){
  .tile,.tile__bg img,.tile__go{transition:none;}
  .tile:hover{transform:none;}
  .tile:hover .tile__bg img{transform:scale(1.02);}
}


/* ---- v24 tile tuning: let the carving show, keep the text readable ---- */
.tile__bg img{opacity:.96;}
.tile:hover .tile__bg img{opacity:1;}

/* veil only where the words sit */
.tile__veil{
  background:
    linear-gradient(to top,
      rgba(12,8,5,.93) 0%,
      rgba(12,8,5,.80) 18%,
      rgba(12,8,5,.42) 38%,
      rgba(12,8,5,.10) 62%,
      rgba(12,8,5,0)   100%);
}

/* custom-order tile: stop the CTA clipping */
.tile--custom{
  aspect-ratio:auto;
  min-height:0;
  justify-content:flex-start;
  gap:8px;
  overflow:auto;
}
.tile--custom__copy{margin:0;}
.tile--custom__cta{margin-top:auto;padding-top:6px;}

@media (max-width:640px){
  .tile--custom{aspect-ratio:auto;}
}


/* ---- v25 header journal ---- */
.hdr__journal{display:flex;align-items:center;gap:8px;white-space:nowrap;}
.hdr__jico{width:22px;height:22px;flex:none;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linejoin:round;stroke-linecap:round;}
.hdr__jtxt{display:flex;flex-direction:column;line-height:1.15;}
.hdr__jtxt small{font-size:11px;color:rgba(255,255,255,.62);}
.hdr__jtxt b{font-size:14px;}
@media (max-width:1180px){ .hdr__jtxt small{display:none;} }
@media (max-width:1024px){ .hdr__jtxt{display:none;} }
@media (max-width:640px){ .hdr__journal{display:none;} }


/* ================= v26 tile overlap fix =================
   Cause: .tile had aspect-ratio:3/4 while also stretching to the grid row
   height. A definite height + auto width makes aspect-ratio compute the WIDTH
   from the height, so each tile grew to 269px inside a 231px column and spilled
   over its neighbour. Fix: give the row an explicit height and let every tile
   fill its cell. No aspect-ratio, no overflow. */

.tiles{
  grid-auto-rows:clamp(300px,25vw,370px);
  align-items:stretch;
}
.tile{
  aspect-ratio:auto !important;
  width:100%;
  min-width:0;
  height:100%;
  min-height:0;
}
.tile--custom{
  height:100%;
  overflow:hidden;
  padding:18px 16px;
  gap:6px;
}
.tile--custom__copy{
  font-size:13px;line-height:1.45;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;
}
.tile--custom__title{font-size:16px;line-height:1.25;margin:0;}
.tile--custom__list{display:flex;flex-wrap:wrap;gap:6px;}
.tile--custom__list span{font-size:11px;padding:3px 8px;}

@media (max-width:640px){
  .tiles{grid-auto-rows:clamp(210px,52vw,260px);}
  .tile--custom{padding:14px 12px;}
  .tile--custom__copy{-webkit-line-clamp:2;font-size:12px;}
  .tile--custom__title{font-size:14px;}
}


/* ================= v27 custom dropdowns =================
   The native <select> stays in the form for submission; it is hidden from view
   and replaced by a button + listbox we can actually style in both states. */

.cselect{position:relative;display:block;min-width:0;}
.cselect__native{
  position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;
}
.cselect__btn{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  width:100%;min-width:0;
  padding:10px 12px;
  font:inherit;font-size:14px;line-height:1.2;text-align:left;
  color:var(--ink,#F3EAE0);
  background:var(--level-2);
  border:1px solid var(--hair);
  border-radius:10px;
  cursor:pointer;
  transition:background .16s ease,border-color .16s ease;
}
.cselect__btn:hover{background:var(--level-3);border-color:rgba(255,255,255,.14);}
.cselect__btn:focus-visible{outline:2px solid var(--brass,#C9A227);outline-offset:2px;}
.cselect.is-open .cselect__btn{background:var(--level-3);border-color:rgba(255,255,255,.18);}
.cselect__val{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.cselect__chev{
  width:16px;height:16px;flex:none;fill:none;stroke:currentColor;stroke-width:2;
  stroke-linecap:round;stroke-linejoin:round;opacity:.7;
  transition:transform .2s ease;
}
.cselect.is-open .cselect__chev{transform:rotate(180deg);}

.cselect__panel{
  position:absolute;z-index:80;left:0;right:0;top:calc(100% + 6px);
  max-height:260px;overflow-y:auto;overscroll-behavior:contain;
  padding:6px;
  background:var(--level-1,#1E1710);
  border:1px solid rgba(255,255,255,.12);
  border-radius:12px;
  box-shadow:0 2px 6px rgba(0,0,0,.4), 0 18px 44px rgba(0,0,0,.5);
  animation:cselectIn .14s ease-out;
}
.cselect.is-up .cselect__panel{top:auto;bottom:calc(100% + 6px);}
@keyframes cselectIn{from{opacity:0;transform:translateY(-4px);}to{opacity:1;transform:none;}}

.cselect__opt{
  padding:9px 10px;border-radius:8px;font-size:14px;line-height:1.25;
  color:rgba(255,255,255,.82);cursor:pointer;
  display:flex;align-items:center;justify-content:space-between;gap:10px;
}
.cselect__opt:hover,.cselect__opt.is-active{background:var(--level-3);color:#fff;}
.cselect__opt.is-on{color:var(--brass,#C9A227);font-weight:600;}
.cselect__opt.is-on::after{content:"✓";font-size:12px;opacity:.9;}
.cselect__opt.is-disabled{opacity:.4;cursor:not-allowed;}

/* scrollbar inside the panel */
.cselect__panel::-webkit-scrollbar{width:10px;}
.cselect__panel::-webkit-scrollbar-thumb{background:rgba(255,255,255,.14);border-radius:8px;border:3px solid transparent;background-clip:content-box;}

/* header search category — sits flush against the search field */
.cselect--srch__cat{flex:none;width:auto;}
.cselect--srch__cat .cselect__btn{
  border-radius:10px 0 0 10px;border-right:0;
  max-width:190px;white-space:nowrap;
}
.cselect--srch__cat .cselect__panel{right:auto;min-width:250px;}

@media (max-width:640px){
  .cselect__btn{font-size:13px;padding:9px 10px;}
  .cselect__panel{max-height:50vh;}
  .cselect__opt{padding:11px 10px;}
}
@media (prefers-reduced-motion:reduce){
  .cselect__panel{animation:none;}
  .cselect__chev{transition:none;}
}


/* ---- v28 dropdown width: let labels sit on one line ---- */
.cselect__panel{
  left:0; right:auto;
  width:max-content;
  min-width:max(100%, 220px);
  max-width:min(340px, 92vw);
}
.cselect.is-right .cselect__panel{left:auto;right:0;}
.cselect__opt{white-space:nowrap;}
@media (max-width:640px){
  .cselect__panel{max-width:min(340px, 94vw);}
  .cselect__opt{white-space:normal;}
}


/* ---- v29 dropdown portal ----
   While open the panel lives on <body>, so it needs its own positioning and
   the open-state styling can no longer come from a .cselect ancestor. */
.cselect__panel--portal{
  position:fixed;
  z-index:9000;
  left:0; right:auto; top:0; bottom:auto;
  width:max-content;
  max-width:min(340px, 92vw);
  margin:0;
}
.cselect__panel--portal.is-up{animation:cselectUp .14s ease-out;}
@keyframes cselectUp{from{opacity:0;transform:translateY(4px);}to{opacity:1;transform:none;}}
@media (max-width:640px){
  .cselect__panel--portal{max-width:min(340px, 94vw);}
}
@media (prefers-reduced-motion:reduce){
  .cselect__panel--portal.is-up{animation:none;}
}


/* ---- v30 collection intro ----
   Was a full-width panel wrapping a 670px measure, so ~500px of the box sat
   empty. It is intro copy, not a card — render it as plain text. */
.coll__intro{
  max-width:74ch;
  margin:0 0 16px;
  color:rgba(255,255,255,.68);
  font-size:14.5px;
  line-height:1.62;
}
.coll__intro p{margin:0 0 8px;}
.coll__intro p:last-child{margin-bottom:0;}
.coll__intro a{color:var(--brass,#C9A227);}
@media (max-width:640px){
  .coll__intro{font-size:13.5px;line-height:1.58;margin-bottom:12px;}
}


/* ---- v31 intro one line ----
   The 74ch cap forced a wrap and left one orphan word on line two.
   Let the copy use the full content column; text-wrap:pretty stops orphans
   on the narrower screens where it still has to wrap. */
.coll__intro{
  max-width:none;
  text-wrap:pretty;
}
@supports not (text-wrap: pretty){
  .coll__intro{text-wrap:balance;}
}


/* ---- v32 pdp below ----
   Product details, description and the handmade note used to sit inside the
   narrow left column, so everything under the buybox on the right was dead
   space. They are now a full-width band below the two-column area. */
.pdp__below{
  margin-top:28px;
  padding-top:24px;
  border-top:1px solid var(--hair);
}
.pdp__below .pdp__info{margin-top:0 !important;}
.pdp__below .spec{width:100%;max-width:720px;}
.pdp__below div.pdp__desc{max-width:78ch;text-wrap:pretty;}
/* the handmade note is one short sentence — let it run on a single line */
.pdp__below p.pdp__desc{max-width:none;text-wrap:pretty;}
.pdp__below h2{margin-top:22px;}
.pdp__below h2:first-child{margin-top:0;}

/* two readable columns on wide screens instead of one long strip.
   Rows are assigned explicitly — ".pdp__desc" matches both the product copy
   and the handmade note, so auto placement scrambled the order. */
@media (min-width:1100px){
  .pdp__below .pdp__info{
    display:grid;
    grid-template-columns:minmax(320px,420px) minmax(0,1fr);
    column-gap:48px;
    align-items:start;
  }
  .pdp__below .pdp__info > h2:first-of-type{grid-column:1;grid-row:1;margin:0 0 10px;}
  .pdp__below .pdp__info > .spec{grid-column:1;grid-row:2;margin:0;align-self:start;}
  .pdp__below .pdp__info > div.pdp__desc{grid-column:2;grid-row:1 / span 2;margin:0;}
  .pdp__below .pdp__info > h2:last-of-type{grid-column:1 / -1;grid-row:3;margin:26px 0 8px;}
  .pdp__below .pdp__info > p.pdp__desc{grid-column:1 / -1;grid-row:4;margin:0;}
}
@media (max-width:640px){
  .pdp__below{margin-top:20px;padding-top:18px;}
}


/* ================= v33 pdp single image =================
   42 of 67 products have one photo. Hiding the thumbnail rail with display:none
   pulled it out of the grid, so .pdp__main fell into the 64px thumb column and
   the buybox into the 540px image column, leaving the third column empty.
   Children are now pinned to their columns, and a single-image product gets a
   proper two-column grid instead. */
@media (min-width:1000px){
  .pdp > .pdp__thumbs{grid-column:1;}
  .pdp > .pdp__main{grid-column:2;}
  .pdp > aside{grid-column:3;}

  .pdp--single{
    grid-template-columns:minmax(0,604px) minmax(330px,420px);
  }
  .pdp--single > .pdp__thumbs{display:none;}
  .pdp--single > .pdp__main{grid-column:1;}
  .pdp--single > aside{grid-column:2;}
}


/* ---- v34 note one line ---- */
.pdp__below .pdp__info > p.pdp__desc{max-width:none;}


/* ---- v35 honest reviews ---- */
.pdp__noreviews{color:rgba(255,255,255,.5);font-size:13px;}
.pdp__ratingtxt{color:rgba(255,255,255,.72);font-size:13px;}


/* ================= v36 happy faces + studio ================= */

.faces__head{margin-bottom:16px;}
.faces__sub{color:rgba(255,255,255,.62);font-size:14px;margin:4px 0 0;}
.faces__grid{
  display:grid;gap:16px;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
}
.faces__more{margin:16px 0 0;}
.faces__more a{color:var(--brass,#C9A227);font-weight:600;font-size:14px;text-decoration:none;}

.vcard{min-width:0;}
.vcard__play,
.vcard__frame{
  display:block;width:100%;aspect-ratio:16/9;
  border:1px solid var(--hair);border-radius:12px;overflow:hidden;
  background:var(--well,#150F09);
}
.vcard__play{position:relative;padding:0;cursor:pointer;}
.vcard__frame{border:1px solid var(--hair);}
.vcard__thumb{width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .5s cubic-bezier(.2,.7,.3,1),opacity .25s ease;opacity:.9;}
.vcard__play:hover .vcard__thumb{transform:scale(1.05);opacity:1;}
.vcard__veil{position:absolute;inset:0;background:linear-gradient(to top,rgba(10,6,4,.55),rgba(10,6,4,0) 55%);pointer-events:none;}
.vcard__btn{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:54px;height:54px;border-radius:50%;
  display:grid;place-items:center;
  background:rgba(12,8,5,.62);border:1px solid rgba(255,255,255,.28);
  backdrop-filter:blur(4px);
  transition:transform .2s ease,background .2s ease;
}
.vcard__btn svg{width:26px;height:26px;fill:#fff;margin-left:2px;}
.vcard__play:hover .vcard__btn{transform:translate(-50%,-50%) scale(1.1);background:var(--brass,#C9A227);}
.vcard__play:hover .vcard__btn svg{fill:#17120D;}
.vcard__play:focus-visible{outline:2px solid var(--brass,#C9A227);outline-offset:3px;}
.vcard__title{font-size:14px;line-height:1.35;margin:10px 0 2px;font-weight:600;}
.vcard__cap{font-size:13px;color:rgba(255,255,255,.6);margin:0;}

/* --- visit our studio --- */
.studio{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:28px;align-items:start;}
.studio__row{margin-bottom:18px;}
.studio__row h3{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.5);margin:0 0 6px;}
.studio__row p{margin:0 0 8px;line-height:1.6;color:rgba(255,255,255,.82);}
.studio__row a{color:var(--brass,#C9A227);text-decoration:none;}
.studio__note{color:rgba(255,255,255,.6);font-size:13.5px;margin:0;}
.studio__map{
  border-radius:14px;overflow:hidden;border:1px solid var(--hair);
  background:var(--well,#150F09);min-height:320px;
}
.studio__map iframe{display:block;width:100%;height:100%;min-height:320px;border:0;filter:saturate(.85) contrast(1.05);}

@media (max-width:900px){
  .studio{grid-template-columns:1fr;gap:20px;}
  .studio__map{min-height:260px;}
  .studio__map iframe{min-height:260px;}
}
@media (max-width:640px){
  .faces__grid{grid-template-columns:1fr 1fr;gap:10px;}
  .vcard__btn{width:42px;height:42px;}
  .vcard__btn svg{width:20px;height:20px;}
  .vcard__title{font-size:13px;}
  .vcard__cap{display:none;}
}
@media (prefers-reduced-motion:reduce){
  .vcard__thumb,.vcard__btn{transition:none;}
  .vcard__play:hover .vcard__thumb{transform:none;}
}


/* ================= v37 customer reviews ================= */
.revs__head{display:flex;flex-wrap:wrap;gap:14px;align-items:flex-end;justify-content:space-between;margin-bottom:18px;}
.revs__agg{display:flex;align-items:baseline;gap:8px;margin:6px 0 0;flex-wrap:wrap;}
.revs__score{font-size:26px;font-weight:700;color:#fff;line-height:1;}
.revs__stars{color:var(--brass,#C9A227);letter-spacing:2px;font-size:16px;}
.revs__count{color:rgba(255,255,255,.6);font-size:13.5px;}
.revs__all{flex:none;}

.revs__grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));}
.rev{
  margin:0;padding:18px;
  background:var(--level-2);border:1px solid var(--hair);border-radius:14px;
  display:flex;flex-direction:column;gap:10px;
}
.rev__stars{letter-spacing:2px;font-size:14px;color:rgba(255,255,255,.22);line-height:1;}
.rev__stars .on{color:var(--brass,#C9A227);}
.rev__body{
  margin:0;font-size:14.5px;line-height:1.62;color:rgba(255,255,255,.84);
  text-wrap:pretty;
}
.rev__body::before{content:"\201C";}
.rev__body::after{content:"\201D";}
.rev__by{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;margin-top:auto;}
.rev__name{font-weight:600;font-size:13.5px;color:#fff;}
.rev__when{font-size:12.5px;color:rgba(255,255,255,.45);}
.rev__src{
  font-size:11px;letter-spacing:.04em;padding:2px 8px;border-radius:999px;
  background:var(--level-3);border:1px solid var(--hair);color:rgba(255,255,255,.6);
}
.revs__note{margin:16px 0 0;font-size:12.5px;color:rgba(255,255,255,.45);}

@media (max-width:640px){
  .revs__head{align-items:flex-start;}
  .revs__all{width:100%;text-align:center;}
  .revs__grid{grid-template-columns:1fr;}
  .rev{padding:14px;}
}


/* ================= v38 reviews carousel ================= */
.revs__carousel{position:relative;display:flex;align-items:center;gap:8px;}
.revs__track{
  display:flex;gap:14px;
  overflow-x:auto;overflow-y:hidden;
  scroll-snap-type:x mandatory;
  scrollbar-width:none;-ms-overflow-style:none;
  padding:2px;margin:-2px;
  flex:1 1 auto;min-width:0;
}
.revs__track::-webkit-scrollbar{display:none;}
.revs__track > .rev{
  flex:0 0 calc((100% - 28px) / 3);
  scroll-snap-align:start;
  min-height:100%;
}

.revs__nav{
  flex:none;width:38px;height:38px;border-radius:50%;
  display:grid;place-items:center;cursor:pointer;
  background:var(--level-2);border:1px solid var(--hair);color:rgba(255,255,255,.8);
  transition:background .16s ease,color .16s ease,border-color .16s ease;
}
.revs__nav svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.revs__nav:hover{background:var(--brass,#C9A227);color:#17120D;border-color:transparent;}
.revs__nav:focus-visible{outline:2px solid var(--brass,#C9A227);outline-offset:2px;}

.revs__dots{display:flex;justify-content:center;gap:7px;margin-top:14px;}
.revs__dots[hidden]{display:none;}
.revs__dot{
  width:7px;height:7px;padding:0;border:0;border-radius:50%;cursor:pointer;
  background:rgba(255,255,255,.22);transition:background .2s ease,width .2s ease;
}
.revs__dot.is-on{background:var(--brass,#C9A227);width:20px;border-radius:999px;}
.revs__dot:focus-visible{outline:2px solid var(--brass,#C9A227);outline-offset:3px;}

@media (max-width:1024px){
  .revs__track > .rev{flex:0 0 calc((100% - 14px) / 2);}
}
@media (max-width:640px){
  .revs__track > .rev{flex:0 0 100%;}
  .revs__nav{display:none;}
  .revs__carousel{gap:0;}
}


/* ---- v39 article crumb align ----
   The article body is a narrow centred reading column. The breadcrumb sat in a
   full-width wrap, so it started ~350px to the left of the headline. */
.artwrap--crumbs{padding-top:0;padding-bottom:0;}


/* ---- v40 mobile header cleanup ----
   The bottom tab bar now covers Home, Saved, Custom orders, Cart and Account, so
   repeating Ship-info, Account, Saved and Cart again in the top header on small
   screens was pure clutter and squeezed the search bar down to almost nothing.
   Journal stays in the header (also added to the footer as a backup route) since
   it isn't on the tab bar and was the only way to reach the blog. */
@media(max-width:760px){
  .hdr__ship,.hdr__acct,.hdr__saved,.cartlink{display:none}
  .hdr__main{gap:8px 10px}
  .hdr__logo{flex:1 1 auto;min-width:0}
  .hdr__journal{flex:0 0 auto;margin-left:auto;padding-right:0}
  .cselect--srch__cat{display:none}
  .srch__in{flex:1 1 auto;min-width:0}
}


/* ---- v41 PDP mobile: image before info ----
   The mobile order rule for the info column targeted .pdp__info, a div nested
   INSIDE <aside>, not <aside> itself (the actual grid item). Since order only
   works on direct grid children, <aside> kept its default order (0) and jumped
   to the very front, above the product photo. Shoppers landed on a product page
   and saw price and an Add to bag button before they ever saw the item. Fixing
   the selector so the photo renders first, like every other mobile storefront. */
@media(max-width:760px){
  .pdp > aside{order:3}
}

/* ---- Remove hover highlight box on logo and delivery-info cell ---- */
.hdr__logo:hover,.hdr__ship:hover{border-color:transparent;background:transparent}