/* ═══════════════════════════════════════════════════════
   Sacks theme · base.css (every page)

   1  Tokens + legacy colour variables
   2  Reset & typography
   3  Buttons, forms, utilities
   4  Utility bar, announcement, header, mega menu, search
   5  Sections: hero, trust, heads, categories, split, FAQ, reviews, band
   6  Page layouts: breadcrumbs, pages, info, posts, search, 404
   7  Footer
   8  Drawers, mini cart, mobile nav
   9  Motion, touch targets
   ═══════════════════════════════════════════════════════ */

/* ── 1 Tokens ──────────────────────────────────────────── */
:root{
  --brand:#b01c1c; --brand-dark:#8f1616; --brand-ink:#6d1010; --brand-tint:#fdf2f2;
  --ink:#1e293b; --ink-2:#334155; --muted:#64748b;
  --line:#e2e8f0; --line-2:#cbd5e1;
  --surface:#f0f5fa; --surface-2:#f8fafc; --white:#fff;
  --go:#0f7b4a; --go-tint:#e8f5ee; --warn:#b45309; --amber:#f59e0b;
  --r-sm:8px; --r:14px; --r-lg:22px; --r-pill:999px;
  --shadow:0 1px 2px rgba(15,23,42,.05),0 8px 24px -12px rgba(15,23,42,.14);
  --shadow-lg:0 24px 60px -24px rgba(15,23,42,.28);
  --wrap:1320px; --gutter:24px;
  --ease:cubic-bezier(.2,.7,.2,1);
  --font-head:'Sarala',system-ui,-apple-system,'Segoe UI',sans-serif;
  --font-body:'Roboto',system-ui,-apple-system,'Segoe UI',sans-serif;
  --header-h:92px;

  /* Astra's palette and the Elementor globals Astra generated from it.
     Existing Elementor pages reference these; without them they lose colour. */
  --ast-global-color-0:#b01c1c; --ast-global-color-1:#b01c1c; --ast-global-color-2:#1e293b;
  --ast-global-color-3:#334155; --ast-global-color-4:#ffffff; --ast-global-color-5:#f0f5fa;
  --ast-global-color-6:#111111; --ast-global-color-7:#d1d5db; --ast-global-color-8:#111111;
  --e-global-color-astglobalcolor0:#b01c1c; --e-global-color-astglobalcolor1:#b01c1c;
  --e-global-color-astglobalcolor2:#1e293b; --e-global-color-astglobalcolor3:#334155;
  --e-global-color-astglobalcolor4:#ffffff; --e-global-color-astglobalcolor5:#f0f5fa;
  --e-global-color-astglobalcolor6:#111111; --e-global-color-astglobalcolor7:#d1d5db;
  --e-global-color-astglobalcolor8:#111111;
}

/* ── 2 Reset & typography ──────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:var(--header-h);}
body{margin:0;font-family:var(--font-body);font-size:16px;line-height:1.6;color:var(--ink);background:var(--white);-webkit-font-smoothing:antialiased;overflow-x:hidden;}
h1,h2,h3,h4,h5,h6{font-family:var(--font-head);font-weight:700;line-height:1.15;letter-spacing:-.015em;color:var(--ink);margin:0;}
p,ul,ol,dl,dd,figure,blockquote{margin:0;}
ul,ol{padding:0;}
img,svg,video{display:block;max-width:100%;height:auto;}
a{color:inherit;text-decoration:none;}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;padding:0;}
input,select,textarea{font:inherit;color:inherit;}
address{font-style:normal;}
:focus-visible{outline:3px solid var(--brand);outline-offset:2px;border-radius:4px;}
.site-main:focus{outline:none;}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gutter);}
.sr-only,.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;}
[hidden]{display:none!important;}
.icon{flex-shrink:0;}

.skip-link{position:absolute;left:12px;top:-60px;z-index:200;background:var(--ink);color:#fff;padding:10px 16px;border-radius:var(--r-sm);font-weight:600;transition:top .15s;}
.skip-link:focus{top:12px;}

/* Prose: page, post and section rich text */
.entry-content{color:var(--ink-2);}
.entry-content.is-prose{max-width:72ch;}
.entry-content > * + *{margin-top:1em;}
.entry-content h2{font-size:clamp(22px,2.4vw,28px);margin-top:1.6em;}
.entry-content h3{font-size:19px;margin-top:1.4em;}
.entry-content h4{font-size:16px;margin-top:1.2em;}
.entry-content ul,.entry-content ol{padding-left:1.3em;}
.entry-content li + li{margin-top:.35em;}
.entry-content a:not(.btn):not(.button){color:var(--brand);text-decoration:underline;text-underline-offset:3px;}
.entry-content a:not(.btn):not(.button):hover{color:var(--brand-dark);}
.entry-content blockquote{border-left:4px solid var(--brand);padding:4px 0 4px 18px;color:var(--ink);}
.entry-content table{width:100%;border-collapse:collapse;font-size:15px;}
.entry-content th,.entry-content td{border-bottom:1px solid var(--line);padding:10px 8px;text-align:left;vertical-align:top;}
.entry-content th{color:var(--ink);font-weight:600;}
.entry-content img{border-radius:var(--r-sm);}
.entry-content .alignwide{max-width:none;}
.entry-content figcaption{font-size:13px;color:var(--muted);margin-top:6px;}
.entry-elementor{max-width:none;color:inherit;}
.entry-elementor > * + *{margin-top:0;}
.alignleft{float:left;margin:0 1.4em 1em 0;}
.alignright{float:right;margin:0 0 1em 1.4em;}
.aligncenter{margin-left:auto;margin-right:auto;}

/* ── 3 Buttons, forms, utilities ───────────────────────── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-family:var(--font-head);font-weight:700;font-size:15px;line-height:1.2;padding:13px 24px;border-radius:var(--r-pill);background:var(--brand);color:#fff;border:0;cursor:pointer;text-decoration:none;white-space:nowrap;transition:background .18s var(--ease),transform .18s var(--ease),box-shadow .18s var(--ease),color .18s;}
.btn:hover{background:var(--brand-dark);color:#fff;transform:translateY(-1px);box-shadow:0 10px 22px -12px rgba(176,28,28,.7);}
.btn:active{transform:none;}
.btn.ghost{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--line-2);}
.btn.ghost:hover{background:var(--ink);color:#fff;box-shadow:none;}
.btn.dark{background:var(--ink);}
.btn.dark:hover{background:#0f172a;}
.btn.block{display:flex;width:100%;}
.btn.sm{padding:9px 16px;font-size:13.5px;}
.btn[disabled],.btn.disabled{opacity:.5;pointer-events:none;}

.search-form{display:flex;gap:10px;max-width:520px;}
.search-form input[type=search]{flex:1;min-width:0;padding:11px 16px;border:1.5px solid var(--line);border-radius:var(--r-pill);outline:none;background:#fff;}
.search-form input[type=search]:focus{border-color:var(--brand);}

.kicker{font-family:var(--font-head);font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--brand);margin-bottom:8px;}
.stars{display:inline-flex;gap:2px;color:var(--amber);letter-spacing:.05em;}

/* ── 4 Utility bar ─────────────────────────────────────── */
.util{background:var(--brand);color:#fff;font-size:13.5px;}
.util-in{max-width:var(--wrap);margin:0 auto;padding:8px var(--gutter);display:flex;align-items:center;gap:22px;}
.util a{display:inline-flex;align-items:center;gap:7px;opacity:.95;}
.util a:hover{opacity:1;text-decoration:underline;text-underline-offset:3px;}
.util-strong{font-weight:700;letter-spacing:.01em;}
.util-end{margin-left:auto;display:flex;align-items:center;gap:18px;}
.util-menu{display:flex;gap:18px;list-style:none;}
@media(max-width:860px){.util .hide-sm{display:none;}}
@media(max-width:560px){.util-in{gap:12px;justify-content:space-between;font-size:12.5px;}.util a{white-space:nowrap;}}

.promo{background:var(--ink);color:#fff;font-size:13px;text-align:center;padding:9px var(--gutter);}
.promo a{text-decoration:underline;text-underline-offset:3px;margin-left:8px;font-weight:600;}

/* Header */
.site-header{position:sticky;top:0;z-index:60;background:#fff;border-bottom:1px solid var(--line);transition:box-shadow .25s var(--ease);}
.admin-bar .site-header{top:32px;}
@media(max-width:782px){.admin-bar .site-header{top:0;}}
.site-header.scrolled{box-shadow:0 6px 24px -14px rgba(15,23,42,.35);}
.nav{max-width:var(--wrap);margin:0 auto;padding:11px var(--gutter);display:flex;align-items:center;gap:26px;}
.logo{display:flex;align-items:center;flex-shrink:0;}
.logo-img{width:68px;height:70px;object-fit:contain;}

.primary-nav .menu{display:flex;align-items:center;gap:4px;list-style:none;}
.primary-nav .menu > li{position:relative;}
.primary-nav .menu > li > a,.primary-nav .menu-toggle{display:inline-flex;align-items:center;gap:6px;padding:10px 13px;border-radius:var(--r-sm);font-size:14.5px;font-weight:500;color:var(--ink-2);transition:background .15s,color .15s;}
.primary-nav .menu > li > a:hover,.primary-nav .menu-toggle:hover,.primary-nav .menu > li.open > .menu-toggle{background:var(--surface);color:var(--brand);}
.primary-nav .chev{transition:transform .2s var(--ease);}
.primary-nav li.open .chev{transform:rotate(180deg);}

.mega{position:absolute;top:calc(100% + 10px);left:-10px;width:min(760px,86vw);background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);padding:22px;opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .2s var(--ease),transform .2s var(--ease),visibility .2s;z-index:70;}
.primary-nav li.open > .mega,.primary-nav li.has-mega:focus-within > .mega{opacity:1;visibility:visible;transform:none;}
.mega-head{display:block;font-family:var(--font-head);font-size:11.5px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);padding:2px 10px 8px;}
.mega-list{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:4px 22px;}
.mega-list a{display:flex;align-items:center;gap:11px;padding:9px 10px;border-radius:var(--r-sm);font-size:14px;color:var(--ink-2);transition:background .14s,color .14s;}
.mega-list a:hover,.mega-list a[aria-current]{background:var(--brand-tint);color:var(--brand);}
.mega-thumb{width:34px;height:34px;object-fit:contain;flex-shrink:0;}
.mega .t{display:flex;flex-direction:column;gap:2px;min-width:0;}
.mega .t b{font-size:13.5px;font-weight:700;color:var(--ink);line-height:1.3;}
.mega .t small{font-size:11.5px;color:var(--muted);line-height:1.4;}
.mega .t small i{font-style:normal;font-weight:700;color:var(--ink-2);}
.mega-detailed{width:min(620px,88vw);}
.mega-detailed .mega-list{grid-template-columns:repeat(2,1fr);}
.mega-detailed .mega-list a{align-items:flex-start;padding:10px;}
.mega-detailed .mega-thumb{width:40px;height:40px;}
.mega-list a:hover .t b{color:var(--brand);}
.mega-all{display:inline-flex;align-items:center;gap:6px;margin-top:10px;padding:12px 10px 0;border-top:1px solid var(--line);width:100%;font-weight:700;font-size:14px;color:var(--brand);}
/* Per-item options, set as CSS Classes in Appearance → Menus (see nav-walker.php). */
.mega-list > li.mega-feature{grid-column:1/-1;}
.mega-list > li.mega-feature > a{background:var(--brand-tint);}
.mega-list > li.mega-feature .t b{color:var(--brand-ink);}
.mega-list > li.mega-feature > a:hover{background:#fbe5e5;}
.nav-tag{display:inline-block;font-style:normal;font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;background:var(--brand);color:#fff;border-radius:var(--r-pill);padding:2px 8px;margin-left:6px;vertical-align:1px;line-height:1.4;}
.mnav-list .nav-tag{vertical-align:2px;}
@media(max-width:1240px){.primary-nav .menu > li.menu-about{display:none;}}

/* Search */
.search{position:relative;flex:1;max-width:420px;margin-left:auto;}
.search input[type=search]{width:100%;padding:11px 44px 11px 42px;border-radius:var(--r-pill);background:var(--surface);border:1.5px solid transparent;font-size:14.5px;outline:none;transition:border-color .16s,background .16s;-webkit-appearance:none;appearance:none;}
.search input[type=search]:focus{background:#fff;border-color:var(--brand);}
.search input::placeholder{color:var(--muted);}
.search .ico{position:absolute;left:15px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none;}
.search kbd{position:absolute;right:13px;top:50%;transform:translateY(-50%);font-family:ui-monospace,monospace;font-size:10.5px;color:var(--muted);background:#fff;border:1px solid var(--line);border-radius:5px;padding:2px 6px;}
.sugg{position:absolute;top:calc(100% + 8px);left:0;right:0;background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow-lg);z-index:70;max-height:60vh;overflow-y:auto;}
.sugg .row{display:flex;align-items:center;gap:12px;padding:10px 14px;}
.sugg .row:hover,.sugg .row[aria-selected=true]{background:var(--surface-2);}
.sugg .row img{width:40px;height:40px;object-fit:contain;background:var(--surface);border-radius:7px;flex-shrink:0;}
.sugg .n{font-size:13.5px;font-weight:500;line-height:1.35;}
.sugg .p{margin-left:auto;font-family:var(--font-head);font-weight:700;font-size:14px;color:var(--brand);white-space:nowrap;}
.sugg .empty,.sugg .all{display:block;padding:14px;font-size:13.5px;color:var(--muted);text-align:center;}
.sugg .all{border-top:1px solid var(--line);color:var(--brand);font-weight:600;}

.actions{display:flex;align-items:center;gap:6px;flex-shrink:0;}
.iconbtn{position:relative;width:42px;height:42px;display:grid;place-items:center;border-radius:var(--r-pill);color:var(--ink-2);transition:background .15s,color .15s;}
.iconbtn:hover{background:var(--surface);color:var(--brand);}
.iconbtn .badge{position:absolute;top:4px;right:3px;min-width:19px;height:19px;padding:0 5px;border-radius:var(--r-pill);background:var(--brand);color:#fff;font-size:11px;font-weight:700;display:grid;place-items:center;font-family:var(--font-head);border:2px solid #fff;}
.iconbtn .badge[data-count="0"]{display:none;}
.burger{display:none;}
@media(max-width:1080px){.primary-nav{display:none;}.burger{display:grid;}.search{max-width:none;}}
@media(max-width:720px){
  .nav{gap:12px;flex-wrap:wrap;padding:12px 16px;}
  .search{order:3;flex:1 0 100%;max-width:none;margin:0;overflow:hidden;max-height:60px;transition:max-height .26s var(--ease),opacity .2s var(--ease),margin .26s var(--ease);}
  .search kbd{display:none;}
  .site-header.scrolled .search{max-height:0;opacity:0;margin-top:-12px;pointer-events:none;}
  .actions{margin-left:auto;}
  .logo-img{width:54px;height:56px;}
}

/* ── 5 Sections ────────────────────────────────────────── */
.section{padding:64px 0;}
.section.tint{background:var(--surface-2);}
/* Two tinted sections in a row (e.g. FAQ then the CTA band while reviews are
   hidden) would blend into one block: set the second apart, as the demo does. */
.section.tint + .section.tint{background:var(--surface);border-top:1px solid var(--line);}
.sec-head{display:flex;align-items:flex-end;gap:20px;margin-bottom:32px;}
.sec-head h2{font-size:clamp(25px,3vw,34px);}
.sec-head h2 em{font-style:normal;color:var(--brand);}
.sec-intro{margin-top:9px;color:var(--ink-2);font-size:15.5px;max-width:62ch;}
.sec-head .more{margin-left:auto;flex-shrink:0;}
.sec-head.is-center{justify-content:center;text-align:center;}
.sec-head.is-center .sec-intro{margin-left:auto;margin-right:auto;}
@media(max-width:760px){.sec-head{flex-direction:column;align-items:flex-start;gap:14px;}.sec-head .more{margin-left:0;}.sec-head.is-center{align-items:center;}}
.content-narrow{max-width:820px;}

/* Hero */
.hero{background:linear-gradient(170deg,var(--surface) 0%,#e4eef8 100%);overflow:hidden;position:relative;}
.hero::after{content:"";position:absolute;right:-120px;top:-120px;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(176,28,28,.07),transparent 65%);pointer-events:none;}
.hero-in{max-width:var(--wrap);margin:0 auto;padding:56px var(--gutter) 60px;display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center;position:relative;z-index:1;}
.hero-in.is-solo{grid-template-columns:1fr;max-width:900px;}
.eyebrow{display:inline-flex;align-items:center;gap:9px;background:#fff;border:1px solid var(--line);border-radius:var(--r-pill);padding:7px 15px 7px 9px;font-size:13px;font-weight:600;color:var(--brand);margin-bottom:20px;box-shadow:var(--shadow);}
.eyebrow .dot{width:7px;height:7px;border-radius:50%;background:var(--go);box-shadow:0 0 0 3px var(--go-tint);}
.hero-title{font-size:clamp(34px,4.6vw,56px);line-height:1.06;letter-spacing:-.03em;}
.hero-title em{font-style:normal;color:var(--brand);}
.hero .lede{margin-top:18px;font-size:17.5px;line-height:1.62;color:var(--ink-2);max-width:54ch;}
.hero .cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px;}
.hero .note{margin-top:20px;font-size:13.5px;color:var(--muted);display:flex;align-items:center;gap:8px;}
.hero .note-ico{color:var(--go);}
.hero-card{background:#fff;border-radius:var(--r-lg);box-shadow:var(--shadow-lg);padding:22px;display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.hero-card .tile{background:var(--surface);border-radius:var(--r);padding:16px;text-align:center;transition:transform .22s var(--ease);}
.hero-card .tile:hover{transform:translateY(-3px);}
.hero-card .tile img{width:100%;height:96px;object-fit:contain;margin-bottom:10px;}
.hero-card .tile span{font-size:13px;font-weight:600;color:var(--ink-2);display:block;line-height:1.3;}
.hero-badge{grid-column:1/-1;background:var(--surface);border-radius:var(--r);padding:13px 18px;display:flex;align-items:center;gap:14px;border-left:4px solid var(--go);}
.hero-badge .big{font-family:var(--font-head);font-size:24px;font-weight:700;line-height:1;}
.hero-badge .big span{font-size:15px;color:var(--muted);}
.hero-badge .lbl{font-size:12px;color:var(--muted);line-height:1.3;}
@media(max-width:940px){.hero-in{grid-template-columns:1fr;gap:38px;padding:40px var(--gutter) 52px;}.hero-art{max-width:460px;}}
@media(max-width:560px){.hero-card{padding:15px;gap:10px;}.hero-card .tile img{height:74px;}}

/* Trust bar */
.trust{background:#fff;border-bottom:1px solid var(--line);}
.trust-in{list-style:none;max-width:var(--wrap);margin:0 auto;padding:20px var(--gutter);display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.trust .it{display:flex;align-items:flex-start;gap:13px;}
.trust .ic{width:40px;height:40px;border-radius:var(--r-sm);background:var(--brand-tint);color:var(--brand);display:grid;place-items:center;flex-shrink:0;}
.trust .t{display:block;font-family:var(--font-head);font-weight:700;font-size:14.5px;line-height:1.25;}
.trust .d{display:block;font-size:12.5px;color:var(--muted);line-height:1.4;margin-top:2px;}
.trust .d a{color:var(--ink-2);font-weight:600;}
@media(max-width:900px){.trust-in{grid-template-columns:1fr 1fr;gap:18px;}}
@media(max-width:520px){.trust-in{grid-template-columns:1fr;}}

/* Category tiles */
.cats{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
.cat{position:relative;height:100%;border-radius:var(--r-lg);overflow:hidden;background:var(--surface);padding:22px;min-height:184px;display:flex;flex-direction:column;justify-content:flex-end;transition:transform .24s var(--ease),box-shadow .24s var(--ease);isolation:isolate;}
.cat:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);}
.cat img{position:absolute;right:10px;top:10px;width:104px;height:104px;object-fit:contain;z-index:-1;opacity:.95;transition:transform .3s var(--ease);}
.cat:hover img{transform:scale(1.06) rotate(-2deg);}
.cat h3{font-size:17px;line-height:1.2;}
.cat .n{font-size:12.5px;color:var(--muted);margin-top:4px;}
.cat .go{margin-top:12px;font-size:13px;font-weight:700;color:var(--brand);display:inline-flex;align-items:center;gap:6px;}
.cats li:nth-child(4n+1) .cat{background:#eef4fb;}
.cats li:nth-child(4n+2) .cat{background:#fdf2f2;}
.cats li:nth-child(4n+3) .cat{background:#f1f7f3;}
.cats li:nth-child(4n+4) .cat{background:#fdf6ec;}
@media(max-width:1000px){.cats{grid-template-columns:repeat(3,1fr);}}
@media(max-width:760px){.cats{grid-template-columns:1fr 1fr;gap:12px;}.cat{min-height:150px;padding:16px;}.cat img{width:74px;height:74px;}}

/* Split (image + text) */
.split{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:center;}
.split.is-image-left .shot{order:-1;}
.split.is-text-only{grid-template-columns:1fr;max-width:860px;}
.split h2{font-size:clamp(25px,3vw,34px);}
.split h2 em{font-style:normal;color:var(--brand);}
.split-intro{margin-top:14px;color:var(--ink-2);font-size:16px;line-height:1.65;}
.split .entry-content{margin-top:12px;}
.pts{list-style:none;display:grid;gap:18px;margin-top:26px;counter-reset:pt;}
.pt{position:relative;padding-left:44px;counter-increment:pt;}
.pt::before{content:counter(pt);position:absolute;left:0;top:0;width:30px;height:30px;border-radius:var(--r-pill);background:var(--brand);color:#fff;display:grid;place-items:center;font-family:var(--font-head);font-weight:700;font-size:14px;}
.pt h3{font-size:16px;}
.pt p{font-size:14.5px;color:var(--ink-2);margin-top:3px;line-height:1.55;}
.split-btn{margin-top:26px;}
.shot{border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-lg);background:var(--surface);}
.shot img{width:100%;aspect-ratio:4/3;object-fit:contain;padding:30px;}
@media(max-width:900px){.split{grid-template-columns:1fr;gap:34px;}.split.is-image-left .shot{order:0;}}

/* FAQ */
.faq{max-width:840px;margin:0 auto;}
.faq details{background:#fff;border:1px solid var(--line);border-radius:var(--r);margin-bottom:11px;overflow:hidden;transition:border-color .18s,box-shadow .18s;}
.faq details[open]{border-color:var(--brand);box-shadow:var(--shadow);}
.faq summary{list-style:none;cursor:pointer;padding:17px 20px;font-family:var(--font-head);font-weight:700;font-size:16px;display:flex;align-items:center;gap:16px;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:"";margin-left:auto;width:11px;height:11px;border-right:2.4px solid var(--brand);border-bottom:2.4px solid var(--brand);transform:rotate(45deg);transition:transform .22s var(--ease);flex-shrink:0;}
.faq details[open] summary::after{transform:rotate(-135deg);}
.faq .a{padding:0 20px 19px;font-size:15px;line-height:1.65;color:var(--ink-2);}
.faq .a > * + *{margin-top:.8em;}
.faq .a a{color:var(--brand);text-decoration:underline;}

/* Reviews */
.revs{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.rev{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:22px;}
.rev .stars{margin-bottom:11px;}
.rev blockquote p{font-size:14.5px;line-height:1.6;color:var(--ink-2);}
.rev .who{margin-top:14px;padding-top:13px;border-top:1px solid var(--line);font-size:13px;font-weight:600;}
.rev .who span{display:block;font-weight:400;color:var(--muted);font-size:12px;margin-top:2px;}
@media(max-width:880px){.revs{grid-template-columns:1fr;}}

/* CTA band */
.cta-band{padding:48px 0;}
.band{display:flex;flex-wrap:wrap;gap:24px;align-items:center;justify-content:space-between;}
.band h2{font-size:clamp(22px,2.6vw,26px);}
.band p{color:var(--ink-2);margin-top:8px;font-size:15.5px;}
.band-actions{display:flex;gap:12px;flex-wrap:wrap;}

/* ── 6 Page layouts ────────────────────────────────────── */
.crumb{font-size:13px;color:var(--muted);padding-top:18px;}
.crumb ol{list-style:none;display:flex;flex-wrap:wrap;gap:8px;align-items:center;}
.crumb li + li::before{content:"/";margin-right:8px;color:var(--line-2);}
.crumb a:hover{color:var(--brand);text-decoration:underline;text-underline-offset:3px;}
.crumb [aria-current],.crumb .breadcrumb_last{color:var(--ink-2);font-weight:500;}
.crumb .sep{color:var(--line-2);margin:0 2px;}
.page-head{padding-bottom:4px;}
.page-h1{font-size:clamp(28px,3.4vw,38px);margin:16px 0 8px;}
.page-pad{padding-top:20px;padding-bottom:64px;}
.sacks-elementor-page .page-head{padding-bottom:16px;}

.info-layout{display:grid;grid-template-columns:1fr 320px;gap:44px;align-items:start;}
.info-title{font-size:clamp(28px,3.4vw,38px);}
.info-lede{font-size:17px;line-height:1.6;color:var(--ink-2);margin-top:12px;max-width:62ch;}
.info-main .entry-content{margin-top:20px;}
/* Information page body, as in the design: sections, numbered steps, warnings */
.info-warn{background:#fff8e6;border-left:3px solid var(--amber);border-radius:var(--r-sm);padding:13px 16px;font-size:14.5px;line-height:1.55;color:var(--ink-2);}
.info-main .entry-content > h2{font-size:19px;margin-top:26px;}
.info-main .entry-content > h2 + p,.info-main .entry-content > h2 + ol,.info-main .entry-content > h2 + ul{margin-top:7px;}
.info-main .entry-content p{font-size:15.5px;line-height:1.62;max-width:66ch;}
.info-main .entry-content p.info-warn{max-width:none;font-size:14.5px;}
.info-main .entry-content ol,.info-main .entry-content ul{padding-left:0;list-style:none;counter-reset:s;max-width:66ch;}
.info-main .entry-content li{position:relative;margin:0;padding:7px 0 7px 34px;font-size:15.5px;line-height:1.6;border-bottom:1px solid var(--line);}
.info-main .entry-content li:last-child{border-bottom:0;}
.info-main .entry-content ol > li::before{counter-increment:s;content:counter(s);position:absolute;left:0;top:9px;width:22px;height:22px;border-radius:var(--r-pill);background:var(--brand);color:#fff;font-family:var(--font-head);font-size:12px;font-weight:700;display:grid;place-items:center;}
.info-main .entry-content ul > li::before{content:"";position:absolute;left:7px;top:17px;width:7px;height:7px;border-radius:50%;background:var(--brand);}
.info-side{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-lg);padding:24px;position:sticky;top:calc(var(--header-h) + 24px);display:grid;gap:8px;}
.info-side h2{font-size:18px;}
.info-side > p{font-size:14.5px;color:var(--ink-2);margin:2px 0 8px;line-height:1.55;}
.info-hours{margin-top:12px;border-top:1px solid var(--line);}
.info-hours div{display:flex;gap:12px;padding:9px 0;border-bottom:1px solid var(--line);font-size:13.5px;}
.info-hours dt{width:104px;flex-shrink:0;color:var(--muted);}
.info-hours dd{color:var(--ink-2);font-weight:500;}
.info-nav ul{list-style:none;margin-top:12px;display:grid;gap:2px;}
.info-nav a{display:block;padding:9px 11px;border-radius:var(--r-sm);font-size:14px;color:var(--ink-2);}
.info-nav a:hover{background:#fff;color:var(--brand);}
.info-nav .current-menu-item > a{background:var(--brand);color:#fff;font-weight:600;}
@media(max-width:900px){.info-layout{grid-template-columns:1fr;gap:28px;}.info-side{position:static;}}

.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.post-card{border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;background:#fff;display:flex;flex-direction:column;}
.post-card-media img{width:100%;aspect-ratio:16/10;object-fit:cover;}
.post-card-body{padding:18px 20px 22px;display:grid;gap:8px;}
.post-card-title{font-size:18px;}
.post-card-title a:hover{color:var(--brand);}
.post-card p{font-size:14.5px;color:var(--ink-2);}
.entry-meta{font-size:13px;color:var(--muted);}
.single-hero img{border-radius:var(--r-lg);width:100%;max-height:520px;object-fit:cover;}
.post-navigation{margin-top:40px;}
.post-navigation .nav-links{display:flex;justify-content:space-between;gap:20px;}
.nav-label{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);}
@media(max-width:900px){.post-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:560px){.post-grid{grid-template-columns:1fr;}}

.search-results{list-style:none;margin-top:24px;display:grid;gap:10px;}
.search-results a{display:flex;align-items:center;gap:14px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--r);}
.search-results a:hover{border-color:var(--brand);}
.search-results img{width:56px;height:56px;object-fit:contain;background:var(--surface);border-radius:var(--r-sm);}
.search-results small{display:block;font-size:11.5px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);}

.not-found .lede{color:var(--ink-2);margin:6px 0 22px;max-width:60ch;}
.nf-sub{font-size:18px;margin-top:34px;}
.nf-cats{list-style:none;display:flex;flex-wrap:wrap;gap:10px;margin-top:14px;}
.nf-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px;}
.content-none h2{font-size:22px;}
.content-none p{color:var(--ink-2);margin-top:8px;}

.pagination ul,.page-numbers{list-style:none;}
.pagination ul{display:flex;flex-wrap:wrap;gap:6px;margin-top:36px;}
.pagination a,.pagination span{display:grid;place-items:center;min-width:42px;height:42px;padding:0 12px;border-radius:var(--r-pill);border:1.5px solid var(--line);font-weight:600;font-size:14px;}
.pagination a:hover{border-color:var(--brand);color:var(--brand);}
.pagination .current{background:var(--brand);border-color:var(--brand);color:#fff;}

.comments-area{margin-top:48px;}
.comment-list{list-style:none;display:grid;gap:18px;margin:18px 0;}
.comment-form{display:grid;gap:12px;}
.comment-form input:not([type=submit]):not([type=checkbox]),.comment-form textarea{width:100%;padding:11px 14px;border:1.5px solid var(--line);border-radius:var(--r-sm);}
.comment-form .submit{background:var(--brand);color:#fff;border:0;padding:12px 22px;border-radius:var(--r-pill);font-weight:700;cursor:pointer;}

/* ── 7 Footer ──────────────────────────────────────────── */
.site-footer{background:var(--ink);color:#cbd5e1;padding:54px 0 0;font-size:14.5px;}
.f-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.3fr;gap:38px;}
.f-title{color:#fff;font-size:14px;letter-spacing:.09em;text-transform:uppercase;margin-bottom:16px;}
.f-title-gap{margin-top:22px;}
.f-menu{list-style:none;}
.f-menu a{display:block;padding:5px 0;transition:color .15s;}
.f-menu a:hover,.site-footer a:hover{color:#fff;}
.f-brand .logo-img{width:86px;height:88px;filter:brightness(0) invert(1);opacity:.95;}
.f-brand p{margin-top:16px;line-height:1.65;font-size:14px;max-width:34ch;}
.f-hours{margin-top:18px;}
.f-hours div{padding:7px 0;border-top:1px solid #334155;}
.f-hours dt{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:#94a3b8;}
.f-hours dd{font-size:14px;color:#e2e8f0;margin-top:2px;}
.f-contact address > div{display:flex;gap:10px;padding:6px 0;align-items:flex-start;}
.f-contact .icon{margin-top:3px;opacity:.7;}
.f-emerg{margin-top:12px;padding-top:12px!important;border-top:1px solid #334155;color:#94a3b8;font-size:13px;}
.f-emerg a{color:#fff;font-weight:600;}
.f-social{list-style:none;display:flex;gap:9px;margin-top:4px;}
.f-social a{width:38px;height:38px;border-radius:var(--r-sm);background:var(--brand);color:#fff;display:grid;place-items:center;transition:background .16s;}
.f-social a:hover{background:var(--brand-dark);}
.f-pay{list-style:none;display:flex;flex-wrap:wrap;gap:10px;margin-top:34px;}
.f-pay img{height:28px;width:auto;border-radius:4px;background:#fff;padding:3px 6px;}
.f-bot{margin-top:44px;border-top:1px solid #334155;padding:20px 0;display:flex;flex-wrap:wrap;gap:14px;align-items:center;font-size:13px;color:#94a3b8;}
.f-bot nav{margin-left:auto;}
.f-legal{list-style:none;display:flex;flex-wrap:wrap;gap:18px;}
@media(max-width:900px){.f-grid{grid-template-columns:1fr 1fr;gap:30px;}}
@media(max-width:560px){.f-grid{grid-template-columns:1fr;}.f-bot nav{margin-left:0;}}

/* ── 8 Drawers ─────────────────────────────────────────── */
.scrim{position:fixed;inset:0;background:rgba(15,23,42,.45);opacity:0;transition:opacity .28s;z-index:90;backdrop-filter:blur(2px);}
.scrim.on{opacity:1;}
.drawer{position:fixed;top:0;right:0;bottom:0;width:min(430px,100vw);background:#fff;z-index:100;display:flex;flex-direction:column;transform:translateX(100%);transition:transform .34s var(--ease);box-shadow:var(--shadow-lg);}
.drawer.on{transform:none;}
.drawer.left{left:0;right:auto;transform:translateX(-100%);width:min(360px,88vw);}
.drawer.left.on{transform:none;}
body.drawer-open{overflow:hidden;}
.dr-head{display:flex;align-items:center;gap:12px;padding:18px 20px;border-bottom:1px solid var(--line);flex-shrink:0;}
.dr-head h2{font-size:18px;}
.dr-count{background:var(--brand);color:#fff;font-size:12px;font-weight:700;padding:2px 9px;border-radius:var(--r-pill);font-family:var(--font-head);}
.dr-count[data-count="0"]{display:none;}
.dr-head .x{margin-left:auto;width:36px;height:36px;border-radius:var(--r-pill);display:grid;place-items:center;color:var(--muted);transition:background .15s;}
.dr-head .x:hover{background:var(--surface);color:var(--ink);}
.dr-ship{padding:12px 20px;background:var(--go-tint);border-bottom:1px solid var(--line);font-size:13px;flex-shrink:0;}
.dr-ship a{font-weight:700;}
.dr-body{flex:1;overflow-y:auto;padding:8px 20px 20px;}

/* Basket drawer: WooCommerce mini cart (theme template), as in the design */
#cart-drawer .dr-body{padding:0;display:flex;flex-direction:column;}
.widget_shopping_cart_content{flex:1;display:flex;flex-direction:column;min-height:100%;}
.woocommerce-mini-cart{list-style:none;flex:1;padding:8px 20px;}
.dr-item{display:flex;gap:13px;padding:15px 0;border-bottom:1px solid var(--line);transition:opacity .2s;}
.dr-item.is-busy{opacity:.45;pointer-events:none;}
.dr-item .th{width:68px;height:68px;border-radius:var(--r-sm);background:var(--surface);flex-shrink:0;padding:6px;display:block;}
.dr-item .th img{width:100%;height:100%;object-fit:contain;}
.dr-info{flex:1;min-width:0;}
.dr-item .nm{display:block;font-size:13.5px;font-weight:500;line-height:1.35;}
.dr-item .nm a:hover{color:var(--brand);}
.dr-item .cr-var,.dr-item .variation{display:block;font-size:12.5px;color:var(--brand);font-weight:600;margin-top:3px;}
.dr-item .variation dt,.dr-item .variation dd,.dr-item .variation p{display:inline;margin:0;}
.dr-item .pr{display:block;font-family:var(--font-head);font-weight:700;font-size:15px;margin-top:5px;}
.dr-item .quantity{display:none;}
.dr-item .qty{display:inline-flex;align-items:center;border:1px solid var(--line-2);border-radius:var(--r-pill);overflow:hidden;margin-top:8px;}
.dr-item .qty button{width:30px;height:30px;display:grid;place-items:center;font-size:16px;color:var(--ink-2);transition:background .14s;}
.dr-item .qty button:hover{background:var(--surface);color:var(--brand);}
.dr-item .qty button[disabled]{opacity:.35;pointer-events:none;}
.dr-item .qty span{min-width:30px;text-align:center;font-size:13.5px;font-weight:600;}
.dr-item .rm{display:inline-block;vertical-align:middle;font-size:12px;color:var(--muted);text-decoration:underline;text-underline-offset:2px;margin:8px 0 0 6px;}
.dr-item .qty{vertical-align:middle;}
.dr-item .rm:hover{color:var(--brand);}
.dr-foot{position:sticky;bottom:0;padding:18px 20px;border-top:1px solid var(--line);background:var(--surface-2);}
.dr-lines .line{display:flex;align-items:center;margin-bottom:6px;font-size:14px;color:var(--ink-2);}
.dr-lines .line b{margin-left:auto;color:var(--ink);}
.dr-lines .line-total{font-family:var(--font-head);font-weight:700;font-size:20px;color:var(--ink);margin:12px 0 4px;}
.dr-lines .tax_label,.dr-lines small{display:none;}
.dr-lines .vat{font-size:12px;color:var(--muted);margin-bottom:14px;}
.woocommerce-mini-cart__buttons{display:grid;gap:8px;}
.dr-empty{text-align:center;padding:60px 20px;color:var(--muted);}
.dr-empty .icon{margin:0 auto 16px;opacity:.28;}
.dr-empty p{font-size:15px;margin-bottom:20px;}
.blockUI.blockOverlay{background:rgba(255,255,255,.6)!important;}

/* Mobile nav (as in the design) */
.mnav{padding:0;}
.mnav-list{list-style:none;padding:8px 0;}
.mnav-list .sub-menu{list-style:none;}
.mnav-list a{display:flex;align-items:center;gap:12px;padding:13px 20px;font-size:15px;border-bottom:1px solid var(--surface);}
.mnav-list a:hover,.mnav-list a[aria-current]{background:var(--surface-2);color:var(--brand);}
.mnav-thumb{width:30px;height:30px;object-fit:contain;flex-shrink:0;}
.mnav-list .t{min-width:0;}
.mnav-list a .n{margin-left:auto;font-size:11px;font-weight:700;color:var(--muted);background:var(--surface);border-radius:var(--r-pill);padding:2px 8px;}
.mnav-list .lbl{display:block;padding:16px 20px 8px;font-family:var(--font-head);font-size:11.5px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);}
.mnav-list .sub-menu li:last-child > a[href$="/"]:not([aria-current]) .t:only-child{font-weight:inherit;}
.mnav-secondary{border-top:1px solid var(--line);}
.mnav-call{margin:16px 20px 24px;width:auto;}

/* ── 9 Motion & touch ──────────────────────────────────── */
.js [data-reveal]{opacity:0;transform:translateY(18px);transition:opacity .55s var(--ease),transform .55s var(--ease);}
.js [data-reveal].is-in{opacity:1;transform:none;}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;}
  .js [data-reveal]{opacity:1;transform:none;}
}
@media(pointer:coarse),(max-width:760px){
  .iconbtn{width:46px;height:46px;}
  .dr-head .x{width:44px;height:44px;}
  .mega-list a,.mnav-list a{min-height:48px;}
  .util a{min-height:34px;}
  .f-menu a{padding:9px 0;}
  .faq summary{padding:19px 18px;}
  .dr-item .qty button{width:44px;height:44px;font-size:18px;}
  .dr-item .qty span{min-width:38px;font-size:15px;}
}
