/* =====================================================================
   BestPrice4U skin — Sonos-style "monochrome editorial".
   Loads AFTER style.css (the shared Pot & Perch engine) and re-themes it:
   tokens first (the engine is built on these variables), then the parts
   whose look changes (header, homepage, cards, shop grid, product page,
   footer, checkout accents).
   ===================================================================== */
:root{
  --cream:#FFFFFF; --sand:#F4F3F0; --paper:#FFFFFF;
  --ink:#0F0F0E; --text:#111111; --muted:#555555; --line:#E6E4DF;
  --forest:#0F0F0E; --forest-2:#1C1C1B; --forest-3:#0F0F0E;
  --amber:#111111; --amber-2:#2E2E2E; --amber-soft:#F4F3F0;
  --ember:#555555; --glow:#B9B9B4; --ok:#6D3FD6;
  --accent:#6D3FD6; --accent-light:#B49CFF; --star:#C9A227;
  --serif:'Manrope',system-ui,-apple-system,'Segoe UI',sans-serif;
  --sans:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;
  --r-lg:28px; --r-md:24px; --r-sm:14px;
  --shadow:0 1px 2px rgba(0,0,0,.04),0 10px 30px -14px rgba(0,0,0,.14);
  --shadow-lg:0 24px 48px -22px rgba(0,0,0,.25);
  --wrap:1344px;
  --mark-fg:#0F0F0E; --mark-leaf:#6D3FD6;
}

/* ---------- Base ---------- */
html body{background:#fff!important;color:var(--text);font-family:var(--sans);}
h1,h2,h3,h4,h5,h6,.entry-title,.page-title,.woocommerce-products-header__title{font-family:var(--serif);font-weight:700;letter-spacing:-.02em;line-height:1.05;color:var(--ink);}
h1 em,h2 em,h3 em{font-style:normal;color:inherit;font-weight:700;}
a{color:var(--ink);}a:hover{color:var(--muted);}
::selection{background:#111;color:#fff;}
:focus-visible{outline:2.5px solid #111;}
.pp-wrap{padding:0 48px;}

/* ---------- Buttons, chips, eyebrows ---------- */
.pp-btn{font-weight:600;font-size:15px;padding:0 28px;height:50px;}
.pp-btn--sm{height:40px;padding:0 18px;font-size:14px;}
.pp-btn:hover svg{transform:none;}
.pp-btn--primary{background:#111!important;color:#fff!important;box-shadow:none!important;}
.pp-btn--primary:hover{background:#2E2E2E!important;transform:none;box-shadow:none!important;}
.pp-btn--outline{border-color:#111;color:#111!important;}
.pp-btn--outline:hover{background:#111;color:#fff!important;}
.pp-btn--ghost-light{border-color:rgba(255,255,255,.7);color:#fff!important;}
.pp-btn--ghost-light:hover{background:#fff;color:#111!important;border-color:#fff;}
.pp-btn--light{background:#fff!important;color:#111!important;border-color:#fff;}
.pp-btn--light:hover{background:#E6E4DF!important;}
.pp-chip{border-color:#CFCDC7;font-weight:500;}
.pp-chip:hover{background:#111;color:#fff!important;border-color:#111;}
.pp-eyebrow{color:var(--muted);letter-spacing:.04em;font-size:13px;font-weight:600;text-transform:none;}
.pp-eyebrow::before{display:none;}
.pp-eyebrow--light{color:#B9B9B4;}
.pp-arrow-link:hover svg{transform:translateX(3px);}
.pp-round{background:var(--sand);}
.pp-round--btn{border-color:#CFCDC7!important;}
.pp-round--btn:hover:not(:disabled){background:#111!important;color:#fff!important;border-color:#111!important;}

/* ---------- Announcement + header ---------- */
.pp-announce{background:var(--accent);color:#fff;font-weight:500;height:40px;}
.pp-announce__item{line-height:40px;}
.pp-announce strong{color:#fff;}
.pp-header{background:rgba(255,255,255,.94);}
.pp-header.is-scrolled{box-shadow:0 8px 24px -18px rgba(0,0,0,.25);}
.pp-header__inner{height:76px;padding:0 48px;}
.pp-brand__name{font-family:var(--serif);font-weight:800;font-size:25px;letter-spacing:-.03em;text-transform:none;}
.pp-brand__name em{font-style:normal;color:inherit;}
.pp-nav__link{font-weight:500;font-size:15px;}
.pp-nav__link:hover,.pp-mega-wrap.is-open .pp-mega-toggle{background:rgba(0,0,0,.05);}
.pp-mega{border-radius:var(--r-md);}
.pp-mega__link:hover{background:var(--sand);}
.pp-mega__promo{background:#0F0F0E;color:#B9B9B4!important;}
.pp-mega__promo::before{background:radial-gradient(circle,rgba(255,255,255,.08),transparent 70%);}
.pp-mega__promo .pp-arrow-link{color:#fff!important;}
.pp-icon-btn:hover{background:rgba(0,0,0,.06);}
.pp-cart-count{background:#111;color:#fff;}
.pp-search__form{background:var(--sand);}
.pp-drawer__panel{background:#fff;}
.pp-drawer__label{color:var(--muted);}
.pp-drawer__links a{font-family:var(--serif);font-weight:700;}
.pp-drawer__scrim,.pp-cartdrawer__scrim{background:rgba(0,0,0,.45);}

/* ---------- Full header: logo + search + icons, then a department row with mega panels ---------- */
.gh-hsearch{flex:1 1 auto;max-width:640px;margin:0 auto;display:flex;align-items:center;height:48px;padding:0 6px 0 20px;border:1.5px solid #CFCDC7;border-radius:999px;background:#fff;transition:border-color .2s;}
.gh-hsearch:focus-within{border-color:#111;}
.gh-hsearch input[type=search]{flex:1;min-width:0;height:100%;border:0!important;background:transparent!important;box-shadow:none!important;outline:none;padding:0!important;font-size:15px;color:var(--ink);}
.gh-hsearch button{display:grid;place-items:center;flex:0 0 auto;width:38px;height:38px;padding:0!important;border:0!important;border-radius:50%;background:#111!important;color:#fff!important;cursor:pointer;}
.gh-hsearch button:hover{background:var(--accent)!important;}
.gh-hsearch svg{width:18px;height:18px;}
.pp-search-toggle{display:none;}
.gh-nav{border-top:1px solid var(--line);}
.gh-nav__inner{max-width:var(--wrap);margin:0 auto;padding:0 36px;height:50px;display:flex;align-items:center;gap:0;}
.gh-track{display:inline-flex;align-items:center;gap:7px;margin-right:6px;padding:8px 10px;border-radius:999px;font-size:14px;font-weight:500;white-space:nowrap;color:var(--ink)!important;text-decoration:none!important;}
.gh-track svg{width:21px;height:21px;}
.gh-track:hover{background:rgba(109,63,214,.1);color:var(--accent)!important;}
.gh-nav .pp-nav__link{padding:8px 10px;font-size:14px;font-weight:500;white-space:nowrap;border-radius:999px;gap:3px;}
.gh-nav .pp-nav__link svg{width:14px;height:14px;}
.gh-nav .pp-nav__link:hover,.gh-nav .pp-mega-wrap:hover .pp-mega-toggle,.gh-nav .pp-mega-wrap.is-open .pp-mega-toggle{background:rgba(109,63,214,.1);color:var(--accent)!important;}
.gh-nav__all{font-weight:700!important;}
.gh-nav .pp-mega-wrap{position:static;}
.pp-mega.gh-mega{left:0;right:0;top:100%;width:auto;display:block;padding:0;border:0;border-top:1px solid var(--line);border-radius:0 0 var(--r-md) var(--r-md);box-shadow:0 30px 50px -28px rgba(0,0,0,.3);}
.pp-mega.gh-mega::before{top:-16px;height:16px;}
.gh-mega__inner{max-width:var(--wrap);margin:0 auto;padding:30px 48px 34px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) minmax(0,1.1fr);gap:48px;align-items:start;}
.gh-mega__h{margin:0 0 12px;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);}
.gh-mega__cat{display:flex;flex-direction:column;padding:9px 0;font-family:var(--serif);font-size:19px;font-weight:700;line-height:1.25;color:var(--ink)!important;text-decoration:none!important;}
.gh-mega__cat:hover{color:var(--accent)!important;}
.gh-mega__cat small{font-family:var(--sans);font-size:13px;font-weight:400;color:var(--muted);}
.gh-mega__brands{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 20px;}
.gh-mega__brands a{padding:7px 0;font-size:15px;color:var(--text)!important;text-decoration:none!important;}
.gh-mega__brands a:hover{color:var(--accent)!important;}
.gh-mega__promo{display:grid;grid-template-columns:110px minmax(0,1fr);gap:16px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 14px 30px -20px rgba(0,0,0,.22);color:var(--ink)!important;text-decoration:none!important;}
.gh-mega__promo-img{display:grid;place-items:center;width:110px;height:110px;}
.gh-mega__promo-img img{width:100%;height:100%;object-fit:contain;}
.gh-mega__promo-txt strong{display:block;font-size:14.5px;font-weight:600;line-height:1.35;}
.gh-mega__promo-txt em{display:block;margin-top:6px;font-style:normal;font-size:15px;font-weight:600;}
.gh-mega__promo--plain{display:flex;flex-direction:column;gap:6px;padding:24px;border:0;background:var(--accent);color:#fff!important;}
.gh-mega__promo--plain strong{font-family:var(--serif);font-size:21px;font-weight:700;}
.gh-mega__promo--plain span{font-size:14px;line-height:1.45;color:#E9E2FB;}
@media (max-width:1260px){
  .gh-nav,.gh-hsearch,.gh-track{display:none;}
  .pp-burger{display:inline-grid;}
  .pp-search-toggle{display:inline-grid;}
  .pp-brand{margin-right:auto;}
}

/* ---------- Track your order ---------- */
.pp-info__content .track_order{max-width:560px;}
.pp-info__content .woocommerce-error,.pp-info__content .woocommerce-info,.pp-info__content .woocommerce-message{padding-left:52px!important;}
.pp-info__content .track_order .form-row{width:100%;float:none;margin:0 0 14px;padding:0;}
.pp-info__content .track_order label{display:block;margin:0 0 6px;font-weight:600;font-size:14.5px;color:var(--ink);}
.pp-info__content .track_order input.input-text{width:100%;height:52px;padding:0 16px;border:1.5px solid #CFCDC7;border-radius:12px;background:#fff;font-size:15px;box-shadow:none;}
.pp-info__content .track_order input.input-text:focus{border-color:#111;outline:none;}
.pp-info__content .track_order .clear{display:none;}
.pp-info__content .track_order button.button{height:52px;padding:0 30px;font-weight:600;border-radius:999px;margin-top:4px;}

/* ---------- Section rhythm ---------- */
.pp-section{padding:96px 0;}
.pp-section--sand{background:var(--sand);}
.pp-head h2,.pp-cta h2,.pp-spot__title{font-size:clamp(2.2rem,4.2vw,3.5rem);letter-spacing:-.02em;}

/* =====================================================================
   Homepage (gh-*)
   ===================================================================== */
/* Hero: full-bleed ink, giant headline, product on the right */
.gh-hero{position:relative;background:#0F0F0E;color:#fff;overflow:hidden;min-height:720px;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center;gap:40px;padding:72px 48px;}
.gh-hero__copy{max-width:720px;position:relative;z-index:1;}
.gh-hero__title{font-family:var(--serif);font-weight:700;font-size:clamp(3rem,7vw,6rem);line-height:.98;letter-spacing:-.025em;color:#fff;margin:0 0 24px;}
.gh-hero__sub{font-size:1.15rem;line-height:1.6;color:#B9B9B4;max-width:46ch;margin:0 0 32px;}
.gh-hero__ctas{display:flex;flex-wrap:wrap;gap:12px;}
.gh-hero__media{position:relative;display:grid;place-items:center;min-height:460px;}
.gh-hero__ring{position:absolute;width:640px;height:640px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.09),transparent 62%);pointer-events:none;}
/* Product photos are shot on white, so give the hero image an intentional light tile (not a floating white box) */
.gh-hero__media img{position:relative;max-height:560px;width:auto;max-width:100%;object-fit:contain;background:#F4F3F0;border-radius:32px;padding:36px;box-shadow:0 50px 90px -30px rgba(0,0,0,.7);transition:transform 1.2s var(--ease);}
.gh-hero:hover .gh-hero__media img{transform:translateY(-6px);}
.gh-hero__tag{position:absolute;left:0;bottom:0;display:inline-flex;flex-direction:column;gap:2px;padding:12px 16px;border-radius:14px;background:rgba(255,255,255,.08);backdrop-filter:blur(8px);color:#fff;text-decoration:none!important;font-size:14px;}
.gh-hero__tag small{color:#B9B9B4;font-size:12px;}

/* Photo hero: full-bleed image, dark overlay, copy on top */
.gh-hero--photo{grid-template-columns:1fr;min-height:720px;padding:0;background-size:cover;background-position:center;background-repeat:no-repeat;align-items:center;}
.gh-hero__overlay{position:absolute;inset:0;background:radial-gradient(ellipse 75% 85% at 50% 50%,rgba(5,5,5,.8) 0%,rgba(5,5,5,.66) 60%,rgba(5,5,5,.56) 100%);pointer-events:none;}
.gh-hero--photo .gh-hero__copy{position:relative;z-index:1;padding:96px 48px;max-width:980px;margin:0 auto;width:100%;box-sizing:border-box;text-align:center;}
.gh-hero--photo .gh-hero__sub{margin-left:auto;margin-right:auto;}
.gh-hero--photo .gh-hero__ctas,.gh-hero--photo .gh-hero__proof{justify-content:center;}
/* Moving strip under the hero */
.gh-ticker{background:var(--accent);color:#fff;overflow:hidden;}
.gh-ticker__track{display:flex;align-items:center;gap:30px;width:max-content;padding:17px 0;animation:gh-ticker 60s linear infinite;}
.gh-ticker:hover .gh-ticker__track{animation-play-state:paused;}
.gh-ticker span{font-family:var(--serif);font-weight:700;font-size:19px;letter-spacing:-.01em;white-space:nowrap;}
.gh-ticker svg{width:18px;height:18px;flex:0 0 auto;opacity:.72;}
@keyframes gh-ticker{to{transform:translateX(-50%);}}
@media (max-width:640px){.gh-ticker__track{padding:13px 0;gap:22px;}.gh-ticker span{font-size:16px;}}
.gh-hero--photo .gh-hero__title{text-shadow:0 10px 40px rgba(0,0,0,.35);}
.gh-hero--photo .gh-hero__sub{color:#D6D6D1;}
.gh-hero__proof{list-style:none;margin:36px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:10px 22px;font-size:14px;font-weight:500;color:#E6E4DF;}
.gh-hero__proof li{display:inline-flex;align-items:center;gap:8px;}
.gh-hero__proof li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent-light);}
.gh-hero--photo .gh-hero__tag{position:absolute;left:auto;right:48px;bottom:40px;z-index:1;display:flex;align-items:center;gap:14px;padding:12px 18px 12px 12px;border-radius:18px;background:rgba(255,255,255,.1);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.18);color:#fff;text-decoration:none!important;font-size:14px;font-weight:600;max-width:360px;transition:background .25s;}
.gh-hero--photo .gh-hero__tag:hover{background:rgba(255,255,255,.18);}
.gh-hero__tag-img{flex:0 0 auto;width:56px;height:56px;border-radius:12px;background:#fff;overflow:hidden;display:grid;place-items:center;}
.gh-hero__tag-img img{width:100%;height:100%;object-fit:contain;padding:4px;}
.gh-hero--photo .gh-hero__tag small{display:block;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#B9B9B4;font-weight:600;margin-bottom:2px;}
.gh-hero--photo .gh-hero__tag em{display:block;font-style:normal;color:#B9B9B4;font-weight:500;margin-top:2px;}
/* Logo mark (G with a leaf crossbar) next to the wordmark */
.pp-mark{display:inline-block;width:36px;height:36px;}
.pp-brand:hover .pp-mark{transform:none;}
.pp-brand{gap:9px;}
.pp-footer{--mark-fg:#FFFFFF;--mark-leaf:var(--accent-light);}
.pp-co-header .pp-mark{width:40px;height:40px;}
@media (max-width:900px){
  .gh-hero--photo{min-height:640px;}
  .gh-hero--photo .gh-hero__copy{padding:96px 20px 56px;}
  .gh-hero--photo .gh-hero__tag{position:static;margin:0 20px 28px;max-width:none;}
  .pp-mark{width:32px;height:32px;}
}

/* "New" / spotlight card */
.gh-new{padding:32px 48px 0;}
.gh-new__card{max-width:var(--wrap);margin:0 auto;background:#111;color:#fff;border-radius:var(--r-lg);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);overflow:hidden;min-height:320px;}
.gh-new__copy{padding:56px;display:flex;flex-direction:column;justify-content:center;gap:16px;}
.gh-new__copy h2{color:#fff;font-size:clamp(1.8rem,3vw,2.5rem);margin:0;}
.gh-new__copy p{color:#D6D6D1;margin:0;max-width:44ch;}
.gh-new__price{font-size:18px;font-weight:600;color:#fff;}
.gh-new__media{background:#1C1C1B;display:grid;place-items:center;padding:32px;}
.gh-new__media img{max-height:300px;width:auto;max-width:100%;object-fit:contain;background:#fff;border-radius:20px;padding:22px;box-shadow:0 30px 60px -28px rgba(0,0,0,.85);}

/* Statement */
.gh-statement{padding:120px 48px 72px;text-align:center;}
.gh-statement h2{font-size:clamp(2.4rem,5vw,4.5rem);max-width:22ch;margin:0 auto;letter-spacing:-.025em;}

/* Feature row */
.gh-feature{padding:0 48px 96px;}
.gh-feature__grid{max-width:var(--wrap);margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:center;}
.gh-feature__grid.is-flipped .gh-feature__media{order:-1;}
.gh-feature h3{font-size:clamp(1.9rem,3.2vw,2.75rem);margin:0 0 18px;}
.gh-feature p{font-size:18px;line-height:1.6;color:#444;max-width:52ch;margin:0 0 22px;}
.gh-stats{display:flex;flex-wrap:wrap;gap:12px;}
.gh-stat{display:inline-flex;flex-direction:column;gap:4px;padding:18px 22px;border:1px solid var(--line);border-radius:16px;min-width:150px;}
.gh-stat strong{font-family:var(--serif);font-weight:800;font-size:28px;line-height:1;}
.gh-stat span{font-size:13px;color:var(--muted);}
.gh-feature__media{height:460px;background:#fff;border:1px solid var(--line);border-radius:var(--r-md);box-shadow:0 1px 2px rgba(0,0,0,.03),0 18px 40px -24px rgba(0,0,0,.25);display:grid;place-items:center;overflow:hidden;padding:32px;}
.gh-feature__media img{max-height:100%;width:auto;max-width:100%;object-fit:contain;}

/* Rail (reuses .pp-rail machinery) */
.gh-rail{padding:0 0 96px 48px;}
.gh-rail__head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;max-width:var(--wrap);padding-right:48px;margin:0 0 28px;}
.gh-rail__head h2{font-size:clamp(2rem,4vw,3.5rem);margin:0;}
.pp-rail__nav{display:flex;gap:8px;}
.pp-rail .pp-rail__list{grid-auto-columns:minmax(280px,23.5%);}

/* Dark "build your setup" band */
.gh-band{background:#0F0F0E;color:#fff;padding:112px 48px;}
.gh-band__grid{max-width:var(--wrap);margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:center;}
.gh-band h2{color:#fff;font-size:clamp(2.4rem,5vw,4.5rem);line-height:1;margin:0 0 20px;letter-spacing:-.025em;}
.gh-band p{color:#B9B9B4;font-size:18px;line-height:1.6;max-width:46ch;margin:0 0 28px;}
.gh-band__media{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;}
/* Mini product cards on the dark band: white, photo on white, caption, soft lift */
.gh-band__card{display:flex;flex-direction:column;background:#fff;border-radius:20px;overflow:hidden;color:var(--ink)!important;text-decoration:none!important;box-shadow:0 30px 60px -28px rgba(0,0,0,.85);transition:transform .35s var(--ease),box-shadow .35s var(--ease);}
.gh-band__card:hover{transform:translateY(-5px);box-shadow:0 40px 70px -28px rgba(0,0,0,.9);}
.gh-band__img{position:relative;display:block;aspect-ratio:1;background:#fff;}
.gh-band__img img{position:absolute;inset:18px;width:calc(100% - 36px);height:calc(100% - 36px);object-fit:contain;transition:transform .6s var(--ease);}
.gh-band__card:hover .gh-band__img img{transform:scale(1.05);}
.gh-band__cap{display:flex;flex-direction:column;gap:3px;padding:12px 14px 14px;border-top:1px solid var(--line);}
.gh-band__cap strong{font-size:13.5px;font-weight:600;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.gh-band__cap em{font-style:normal;font-size:13px;color:var(--muted);}
.gh-band__cap em .amount{font-weight:600;color:var(--ink);}

/* Use-case tiles (3-up) */
.gh-uses{padding:96px 48px;}
.gh-uses__grid{max-width:var(--wrap);margin:0 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;}
.gh-use{display:flex;flex-direction:column;gap:16px;color:var(--ink)!important;text-decoration:none!important;}
.gh-use__img{height:320px;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 1px 2px rgba(0,0,0,.03),0 14px 30px -20px rgba(0,0,0,.22);display:grid;place-items:center;padding:28px;overflow:hidden;transition:box-shadow .35s var(--ease),transform .35s var(--ease);}
.gh-use:hover .gh-use__img{transform:translateY(-4px);box-shadow:0 2px 4px rgba(0,0,0,.04),0 24px 46px -22px rgba(0,0,0,.3);}
.gh-use__img img{max-height:100%;width:auto;max-width:100%;object-fit:contain;transition:transform .7s var(--ease);}
.gh-use:hover .gh-use__img img{transform:scale(1.05);}
.gh-use p{margin:0;font-size:16px;line-height:1.5;color:#444;}
.gh-use p strong{display:block;font-size:19px;color:var(--ink);margin-bottom:4px;}

/* Category tiles (4-up) */
.gh-cats{padding:0 48px 48px;}
.gh-cats__inner{max-width:var(--wrap);margin:0 auto;}
.gh-cats h2{font-size:clamp(2rem,4vw,3.5rem);margin:0 0 28px;}
.gh-cats__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;}
.gh-cat{display:flex;flex-direction:column;gap:14px;color:var(--ink)!important;text-decoration:none!important;}
.gh-cat__img{height:280px;background:#fff;border:1px solid var(--line);border-radius:var(--r-md);box-shadow:0 1px 2px rgba(0,0,0,.03),0 14px 30px -20px rgba(0,0,0,.22);display:grid;place-items:center;padding:26px;overflow:hidden;transition:box-shadow .35s var(--ease),transform .35s var(--ease);}
.gh-cat:hover .gh-cat__img{transform:translateY(-4px);box-shadow:0 2px 4px rgba(0,0,0,.04),0 24px 46px -22px rgba(0,0,0,.3);}
.gh-cat__img img{max-height:100%;width:auto;max-width:100%;object-fit:contain;transition:transform .7s var(--ease);}
.gh-cat:hover .gh-cat__img img{transform:scale(1.06);}
.gh-use__img,.gh-cat__img{position:relative;}
.gh-use__img img,.gh-cat__img img{position:absolute;inset:24px;width:calc(100% - 48px);height:calc(100% - 48px);max-width:none;max-height:none;object-fit:contain;}
.gh-cat strong{font-size:20px;font-weight:600;}
.gh-cat small{color:var(--muted);font-size:14px;}

/* Trust strip (reuses .pp-values, flattened) */
.pp-values{margin-top:0;padding:48px 48px 96px;}
.pp-values__inner{max-width:var(--wrap);margin:0 auto;}
.pp-values h3{font-size:clamp(1.6rem,2.6vw,2rem);margin:0 0 28px;}
.pp-values__grid{max-width:none;box-shadow:none;background:transparent;padding:0;gap:24px;border-radius:0;}
.pp-value{padding:0;border-radius:0;flex-direction:column;align-items:flex-start;gap:12px;}
.pp-value + .pp-value{border-left:0;}
.pp-value:hover{background:transparent;}
.pp-value__ic{background:transparent;color:#111;width:auto;height:auto;}
.pp-value:hover .pp-value__ic{transform:none;}
.pp-value__ic svg{width:28px;height:28px;}
.pp-value strong{font-size:17px;font-weight:600;}
.pp-value small{font-size:15px;color:var(--muted);}

/* CTA band (light tile) */
.pp-cta{background:var(--sand);color:var(--text);border-radius:var(--r-lg);}
.pp-cta h2{color:var(--ink);}
.pp-cta p{color:#444;}
.pp-orb{display:none;}
.pp-cta .pp-eyebrow--light{color:var(--muted);}
.pp-cta .pp-btn--ghost-light{border-color:#111;color:#111!important;}
.pp-cta .pp-btn--ghost-light:hover{background:#111;color:#fff!important;}

/* Brand marquee */
.pp-marquee{background:#fff;}
.pp-marquee span{font-family:var(--serif);font-weight:700;color:#8C8C86;}
.pp-marquee i{background:#111;}

/* Tabs */
.pp-tab{border-color:#CFCDC7;font-weight:500;}
.pp-tab.is-active{background:#111;border-color:#111;color:#fff;}

/* =====================================================================
   Product cards & grids
   ===================================================================== */
/* White cards with a hairline + soft shadow; product photos sit on white (they're shot on white) */
.pp-card{background:#fff!important;border:1px solid var(--line);border-radius:var(--r-md);box-shadow:0 1px 2px rgba(0,0,0,.03),0 14px 30px -20px rgba(0,0,0,.22);overflow:hidden;transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .25s;}
.pp-card:hover{transform:translateY(-4px);box-shadow:0 2px 4px rgba(0,0,0,.04),0 24px 46px -22px rgba(0,0,0,.3);border-color:#D9D7D1;}
.pp-card__media{background:#fff;border-radius:0;}
.pp-card__img{padding:28px;}
.pp-card__body{padding:16px 18px 18px;border-top:1px solid var(--line);}
.pp-card__brand{color:var(--muted);letter-spacing:.06em;font-size:12px;}
.pp-card__title{font-family:var(--serif);font-weight:700;font-size:18px;line-height:1.25;min-height:0;margin-bottom:10px;}
.pp-card__title:hover{color:var(--muted)!important;}
.pp-card__price,.pp-card__price .amount{font-family:var(--sans);font-size:17px;font-weight:600;}
.pp-card__foot .button{background:#111!important;color:#fff!important;box-shadow:none!important;font-weight:600!important;}
.pp-card__foot .button:hover{background:#2E2E2E!important;transform:none;}
/* Shop/category pages: 2 big columns like the reference. Homepage grids keep 4. */
.woocommerce ul.products,.woocommerce-page ul.products,.woocommerce ul.products[class*="columns-"]{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:32px 24px!important;}
.pp-home ul.products,.pp-home ul.products[class*="columns-"]{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:24px!important;}
.pp-home .pp-rail ul.products{grid-template-columns:none!important;}
.woocommerce-page:not(.single-product):not(.home) .pp-card__title{font-size:24px;}
.woocommerce-page:not(.single-product):not(.home) .pp-card__img{padding:40px;}
.woocommerce-products-header__title,.woocommerce-page .page-title{font-size:clamp(2.4rem,5vw,3.5rem)!important;letter-spacing:-.02em;}
.woocommerce .woocommerce-ordering select{border-color:#CFCDC7;}
.woocommerce nav.woocommerce-pagination ul li span.current{background:#111;color:#fff;border-color:#111!important;}

/* Toast + counters */
.pp-toast{background:#0F0F0E;}
.pp-toast__tick{background:#fff;color:#111;}
.pp-toast a{color:#fff!important;}
.pp-drawer-count{background:#111;color:#fff;}

/* Mini cart drawer */
.pp-cartdrawer__panel{background:#fff;}
.pp-mc__ship{background:var(--sand);border-bottom-color:var(--line);color:var(--text);}
.pp-mc__ship strong{color:var(--ink);}
.pp-mc__ship-bar{background:#E6E4DF;}
.pp-mc__ship-bar i{background:#111;}
.pp-mc__meta,.pp-mc__total strong,.pp-mc__empty strong{font-family:var(--serif);}
.pp-mc__empty-ic{background:var(--sand);color:#111;}
.pp-cartdrawer .blockUI.blockOverlay{background:rgba(255,255,255,.6)!important;}

/* =====================================================================
   Footer
   ===================================================================== */
.pp-footer{background:#0F0F0E;color:#B9B9B4;}
.pp-footer .pp-brand{color:#fff!important;}
.pp-footer h4{color:#fff;letter-spacing:.04em;font-weight:600;text-transform:none;font-size:14px;}
.pp-footer a{color:#B9B9B4!important;}
.pp-footer a:hover{color:#fff!important;}
.pp-signup input{background:rgba(255,255,255,.06)!important;border-color:rgba(255,255,255,.16)!important;}
.pp-signup button{background:#fff!important;color:#111!important;}
.pp-signup button:hover{background:#E6E4DF!important;transform:none;}
.pp-footer__legal{color:#8C8C86;border-top-color:#2A2A28;}

/* =====================================================================
   Single product
   ===================================================================== */
.single-product .product_title{font-size:clamp(2rem,3.4vw,3rem)!important;letter-spacing:-.02em;}
.single-product .summary .price{font-family:var(--sans)!important;font-size:28px!important;font-weight:600;}
.single-product .woocommerce-product-gallery > .flex-viewport,.single-product .woocommerce-product-gallery > .woocommerce-product-gallery__wrapper{background:#fff;border:1px solid var(--line);border-radius:var(--r-md);box-shadow:0 1px 2px rgba(0,0,0,.03),0 18px 40px -24px rgba(0,0,0,.25);}
.single-product .woocommerce-product-gallery__image img{background:#fff;}
.single-product .flex-control-thumbs img{background:#fff;border-color:var(--line)!important;}
.single-product .flex-control-thumbs img.flex-active{border-color:#111!important;}
.single-product .summary .single_add_to_cart_button{background:#111!important;color:#fff!important;box-shadow:none!important;font-weight:600!important;height:58px!important;font-size:16px!important;}
.single-product .summary .single_add_to_cart_button:hover{background:#2E2E2E!important;transform:none;}
.pp-single-brand{color:var(--muted)!important;}
.pp-returns{border:1px solid var(--line);background:var(--sand);}
.pp-returns__ic{background:#111;color:#fff;}
.pp-returns__pill{background:#111;color:#fff;}
.pp-perks li{border-color:var(--line);}
.pp-perks li:hover{border-color:#111;transform:none;}
.pp-perks svg{color:#111;}
.pp-acc summary{font-weight:600;}
.single-product .related.products > h2{font-size:clamp(1.8rem,3.5vw,2.75rem)!important;}
.single-product .woocommerce-product-gallery .flex-direction-nav a{background:#111;border:0;}
.single-product .woocommerce-product-gallery .flex-direction-nav a::before{background:#fff;}
.single-product .woocommerce-product-gallery .flex-direction-nav a:hover{background:#2E2E2E;}
/* Sticky add-to-basket bar: light, like the reference */
.pp-atc{background:rgba(255,255,255,.97);color:var(--ink);border-top:1px solid var(--line);box-shadow:0 -8px 30px rgba(0,0,0,.06);}
.pp-atc__name{color:var(--ink);}
.pp-atc__price .amount{font-family:var(--sans);color:var(--ink);}
.pp-atc__price em{color:var(--muted);}
.pp-atc__img{background:var(--sand);}

/* =====================================================================
   Info & policy pages
   ===================================================================== */
.pp-info__hero{background:var(--sand);}
.pp-info .pp-info__grid{padding-top:44px;padding-bottom:36px;}
.pp-info__nav a.is-active{background:#111;color:#fff!important;}
.pp-info__help{background:#0F0F0E;}
.pp-info__help strong{font-family:var(--serif);}
.pp-info__help a{color:#fff!important;}
.pp-info__navlabel,.pp-toc p{color:var(--muted);}
.pp-info__content li::marker{color:#111;}
.pp-info__content a,.pp-contact__note a{color:#111!important;}
.pp-contact__ic{background:var(--sand);color:#111;}
.pp-contact__item{background:#fff;}
.pp-faq summary:hover{color:var(--muted);}
.pp-toc a:hover{color:var(--muted)!important;}

/* =====================================================================
   Checkout accents (engine uses --co-* on body.pp-checkout)
   ===================================================================== */
body.pp-checkout{--co-left:#FFFFFF;--co-right:#F4F3F0;--co-line:#E6E4DF;--co-accent:#6D3FD6;--co-accent-soft:#F4F0FC;}
.pp-co-header .pp-brand__name{font-size:24px;}
.pp-co-footer a{color:#111!important;}
.pp-co-ms,.pp-co-ship__empty{background:#F4F3F0;}
.pp-co-ms__label{color:var(--co-accent);}
body.pp-checkout #payment div.payment_box.payment_method_fkwcs_stripe{background:#F4F3F0!important;}
.pp-co .blockUI.blockOverlay{background:rgba(255,255,255,.6)!important;}
.pp-co-optins .pp-optin input[type=checkbox]{accent-color:var(--co-accent);}
.pp-co .pp-paynow,body.pp-checkout #place_order{background:var(--co-accent)!important;color:#fff!important;}
body.pp-checkout #place_order:hover,.pp-co .pp-paynow:hover{background:#5A31BC!important;}
body.pp-checkout input.input-text:focus,body.pp-checkout select:focus,body.pp-checkout textarea:focus{border-color:var(--co-accent)!important;box-shadow:0 0 0 1px var(--co-accent)!important;outline:none;}
.pp-ship__opt input,.pp-bc__opt input,body.pp-checkout #payment li.wc_payment_method > label::before{border-color:#CFCDC7;}

/* All WooCommerce buttons: the engine pairs --amber bg with --ink text, which is black on black in this palette */
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce a.added_to_cart,.wc-block-components-button:not(.is-link),.wc-block-cart__submit-button,.wc-block-components-checkout-place-order-button{background:#111!important;color:#fff!important;}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,.wc-block-components-button:not(.is-link):hover{background:#2E2E2E!important;color:#fff!important;}

/* ---------- Misc ---------- */
#ast-scroll-top{background:#111!important;color:#fff!important;}
.woocommerce-message,.woocommerce-info{border-left-color:#111!important;}
.woocommerce-message::before{color:#111!important;}

/* =====================================================================
   Responsive
   ===================================================================== */
@media (max-width:1100px){
  .gh-cats__grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .pp-values__grid{grid-template-columns:repeat(2,1fr);}
  .pp-value:nth-child(n+3){border-top:0;}
}
@media (max-width:900px){
  .pp-header__inner{padding:0 20px;height:64px;}
  .pp-wrap,.gh-new,.gh-statement,.gh-feature,.gh-band,.gh-uses,.gh-cats,.pp-values{padding-left:20px;padding-right:20px;}
  .pp-info .pp-info__grid{padding-top:26px;padding-bottom:28px;}
  .gh-hero{grid-template-columns:1fr;min-height:0;padding:56px 20px 40px;gap:24px;}
  .gh-hero__media{min-height:0;}
  .gh-hero__media img{max-height:380px;}
  .gh-hero__ring{width:420px;height:420px;}
  .gh-new__card{grid-template-columns:1fr;}
  .gh-new__copy{padding:32px 24px;}
  .gh-feature__grid,.gh-band__grid{grid-template-columns:1fr;gap:28px;}
  .gh-feature__grid.is-flipped .gh-feature__media{order:0;}
  .gh-feature__media{height:320px;}
  .gh-uses__grid{grid-template-columns:1fr;}
  .gh-use__img{height:260px;}
  .gh-rail{padding-left:20px;}
  .gh-rail__head{padding-right:20px;}
  .gh-band__media{gap:10px;}
  .woocommerce ul.products,.woocommerce-page ul.products,.pp-home ul.products{grid-template-columns:repeat(2,minmax(0,1fr));}
  .woocommerce-page:not(.single-product):not(.home) .pp-card__img{padding:20px;}
}
@media (max-width:640px){
  .gh-hero__title{font-size:2.9rem;}
  .gh-statement{padding:72px 20px 40px;}
  .gh-feature{padding-bottom:64px;}
  .gh-feature h3,.gh-feature p{text-align:center;}
  .gh-feature p{font-size:16px;margin-left:auto;margin-right:auto;}
  .gh-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;}
  .gh-stat{min-width:0;align-items:center;padding:14px 6px;text-align:center;}
  .gh-stat strong{font-size:19px;white-space:nowrap;}
  .gh-stat span{font-size:12px;line-height:1.35;}
  .gh-feature__media{height:auto;aspect-ratio:1/1;padding:0;}
  .gh-feature__media img{width:100%;height:100%;max-height:none;object-fit:cover;}
  .gh-cats__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
  .gh-cat__img{height:170px;padding:16px;}
  .gh-cat__img img{inset:14px;width:calc(100% - 28px);height:calc(100% - 28px);}
  .gh-cat strong{font-size:16px;}
  .pp-values__grid{grid-template-columns:1fr 1fr;gap:18px;}
  .pp-value{border:0!important;}
  .woocommerce ul.products,.woocommerce-page ul.products{gap:20px 12px;}
  .woocommerce-page:not(.single-product):not(.home) .pp-card__title{font-size:16px;}
  .pp-card__img{padding:14px;}
  .gh-band__media{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
}

/* Product page trust */
.gh-pay{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:14px 0 18px;}
.gh-pay__label{font-size:13px;color:var(--muted);margin-right:4px;}
.gh-pay__chip{padding:4px 10px;border:1px solid var(--line);border-radius:8px;background:#fff;font-size:12.5px;font-weight:600;color:var(--ink);}
.gh-specs{width:100%;border-collapse:collapse;margin:0;font-size:14.5px;}
.gh-specs th,.gh-specs td{padding:9px 0;border:0;border-bottom:1px solid var(--line);text-align:left;font-weight:400;}
.gh-specs th{width:42%;color:var(--muted);}
.gh-specs tr:last-child th,.gh-specs tr:last-child td{border-bottom:0;}
.gh-seller{margin-top:18px;padding:18px 20px;background:var(--sand);border-radius:16px;font-size:14.5px;line-height:1.55;}
.gh-seller strong{display:block;margin-bottom:6px;font-size:15.5px;color:var(--ink);}
.gh-seller p{margin:0 0 6px;color:#444;}
.gh-seller p:last-child{margin:0;}
.gh-seller a{color:var(--ink)!important;text-decoration:underline;}

/* Checkout details */
.pp-co-total__gbp{background:transparent!important;padding:0!important;color:var(--muted)!important;}
.pp-ship__name small{display:block;margin-top:2px;font-size:13px;font-weight:400;color:var(--muted);}

/* Product reviews */
.gh-star{display:grid;place-items:center;width:var(--s,20px);height:var(--s,20px);background:#DCDCE6;}
.gh-star.on{background:var(--accent);}
.gh-star.half{background:linear-gradient(90deg,var(--accent) 50%,#DCDCE6 50%);}
.gh-star svg{width:72%;height:72%;fill:#fff;}
.gh-stars{display:inline-flex;gap:2px;}
.gh-rating-link{display:inline-flex;align-items:center;gap:8px;margin:0 0 10px;color:var(--ink)!important;text-decoration:none!important;font-size:14px;--s:18px;}
.gh-reviews{clear:both;width:100%;max-width:var(--wrap);margin:56px auto 0;padding:0;}
.gh-reviews h2{margin:0 0 22px;font-size:clamp(1.8rem,3.4vw,2.6rem);}
.gh-reviews__msg{margin:0 0 20px;padding:14px 18px;background:#F4F0FC;border-radius:12px;font-size:15px;}
.gh-reviews__summary{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:40px;padding:26px;border:1px solid var(--line);border-radius:20px;}
.gh-reviews__score{display:flex;flex-direction:column;gap:8px;--s:30px;}
.gh-reviews__score b{font:800 50px/1 var(--serif);}
.gh-reviews__label{font:700 19px var(--serif);}
.gh-reviews__score small{color:var(--muted);font-size:14px;}
.gh-reviews__bars{display:grid;gap:9px;align-content:center;}
.gh-bar{display:grid;grid-template-columns:58px minmax(0,1fr) 42px;gap:12px;align-items:center;width:100%;min-height:0;padding:0!important;border:0!important;border-radius:0!important;background:none!important;color:var(--ink)!important;font:14px var(--sans);text-align:left;cursor:pointer;}
.gh-bar[disabled]{cursor:default;opacity:.6;}
.gh-bar[aria-pressed=true]{font-weight:600;}
.gh-bar i{display:block;height:10px;overflow:hidden;border-radius:999px;background:var(--sand);}
.gh-bar i span{display:block;height:100%;background:var(--accent);}
.gh-bar em{color:var(--muted);font-style:normal;text-align:right;}
.gh-reviews__bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin:28px 0 16px;}
.gh-reviews__bar h3{margin:0;font-size:20px;}
.gh-reviews__bar select{width:auto;padding:9px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;font-size:14px;}
.gh-reviews__list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
.gh-review[hidden]{display:none;}
.gh-review{display:flex;flex-direction:column;gap:9px;padding:22px;border:1px solid var(--line);border-radius:16px;background:#fff;}
.gh-review__who{display:flex;align-items:center;gap:12px;font-size:14.5px;}
.gh-review__avatar{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;border-radius:50%;background:var(--sand);font:700 14px var(--serif);}
.gh-review__meta{display:flex;align-items:center;justify-content:space-between;gap:8px;}
.gh-review__meta time{color:var(--muted);font-size:13px;}
.gh-review__verified{display:inline-flex;align-items:center;gap:5px;font-size:13px;font-weight:500;}
.gh-review__verified svg{width:15px;height:15px;fill:var(--accent);}
.gh-review h3{margin:0;font-size:17px;line-height:1.3;}
.gh-review__text p{margin:0 0 8px;color:#333;font-size:15px;line-height:1.55;}
.gh-review__text p:last-child{margin:0;}
.gh-review__reply{padding:12px 14px;border-left:3px solid var(--accent);border-radius:0 8px 8px 0;background:var(--sand);font-size:14px;}
.gh-review__reply p{margin:2px 0 0;}
.gh-reviews__more{display:block;margin:20px auto 0;}
.gh-reviews__more[hidden]{display:none;}
.gh-review-form{margin-top:28px;padding:26px;border:1px solid var(--line);border-radius:20px;}
.gh-review-form h3{margin:0 0 16px;font-size:20px;}
.gh-review-form p{margin:0 0 14px;}
.gh-review-form label{display:block;margin:0 0 6px;font-size:14.5px;font-weight:600;}
.gh-review-form input:not([type]),.gh-review-form input[type=text],.gh-review-form textarea{width:100%;padding:12px 14px;border:1.5px solid #CFCDC7;border-radius:12px;background:#fff;font-size:15px;}
.gh-review-form small{display:block;margin-top:10px;color:var(--muted);font-size:13px;}
.gh-rate{display:flex;flex-direction:row-reverse;flex-wrap:wrap;justify-content:flex-end;gap:4px;margin:0 0 16px;padding:0;border:0;}
.gh-rate legend{width:100%;margin:0 0 6px;padding:0;font-size:14.5px;font-weight:600;}
.gh-rate input{position:absolute;opacity:0;}
.gh-rate label{display:grid;place-items:center;width:38px;height:38px;margin:0;background:#DCDCE6;cursor:pointer;}
.gh-rate svg{width:72%;height:72%;fill:#fff;}
.gh-rate input:checked ~ label,.gh-rate label:hover,.gh-rate label:hover ~ label{background:var(--accent);}
.gh-rate input:focus-visible + label{outline:2px solid var(--ink);outline-offset:2px;}
@media (max-width:760px){
  .gh-reviews{margin-top:40px;}
  .gh-reviews__summary{grid-template-columns:1fr;gap:22px;padding:20px;}
  .gh-reviews__list{grid-template-columns:1fr;}
  .gh-review-form{padding:20px;}
}

/* === Reviews: Trustpilot green + store-wide trustbox (2026-11-02) === */
:root{--review:#00B67A;}
.gh-star.on{background:var(--review);}
.gh-star.half{background:linear-gradient(90deg,var(--review) 50%,#DCDCE6 50%);}
.gh-bar i span{background:var(--review);}
.gh-review__verified svg{fill:var(--review);}
.gh-review__reply{border-left-color:var(--review);}
.gh-rate input:checked ~ label,.gh-rate label:hover,.gh-rate label:hover ~ label{background:var(--review);}
/* drop WooCommerce's own gold star rating on the product page */
.single-product .woocommerce-product-rating{display:none!important;}
/* Trustpilot-style store rating directly under the product title */
.gh-trustbox{display:inline-flex;align-items:center;gap:10px;margin:2px 0 14px;padding:0;color:var(--ink)!important;text-decoration:none!important;--s:20px;}
.gh-trustbox .gh-stars{gap:3px;}
.gh-trustbox__text{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;font-size:14.5px;line-height:1.2;}
.gh-trustbox__label{font-weight:700;}
.gh-trustbox__count{color:var(--muted);}
.gh-trustbox__count b{color:var(--ink);font-weight:700;}
.gh-trustbox:hover .gh-trustbox__label{text-decoration:underline;}
/* product name on a store-wide review card */
.gh-review__product{margin-top:2px;font-size:13px;font-weight:600;color:var(--muted)!important;text-decoration:none!important;}
.gh-review__product:hover{color:var(--ink)!important;text-decoration:underline!important;}
.single-product .summary .gh-trustbox{order:2;}

/* === Homepage reviews marquee (right-to-left) 2026-11-02 === */
.gh-rev-marquee{overflow:hidden;margin:0 auto;padding:56px 0 4px;-webkit-mask:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);}
.gh-rev-marquee__track{display:flex;gap:16px;width:max-content;will-change:transform;animation:gh-marq 60s linear infinite;}
.gh-rev-marquee:hover .gh-rev-marquee__track{animation-play-state:paused;}
.gh-revm{flex:0 0 340px;width:340px;display:flex;flex-direction:column;gap:12px;padding:22px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.03),0 14px 30px -22px rgba(0,0,0,.22);--s:18px;}
.gh-revm__top{display:flex;align-items:center;justify-content:space-between;gap:10px;}
.gh-revm__vf{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:600;color:var(--muted);white-space:nowrap;}
.gh-revm__vf svg{width:14px;height:14px;fill:var(--review);}
.gh-revm__title{margin:0;font-size:16px;line-height:1.3;}
.gh-revm__text{margin:0;font-size:14.5px;line-height:1.55;color:#333;flex:1;}
.gh-revm__who{display:flex;align-items:center;gap:10px;}
.gh-revm__avatar{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:50%;background:var(--sand);font:700 14px var(--serif);}
.gh-revm__meta{display:flex;flex-direction:column;line-height:1.3;min-width:0;}
.gh-revm__meta strong{font-size:14px;}
.gh-revm__meta em{font-style:normal;font-size:12.5px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
@keyframes gh-marq{to{transform:translateX(-50%);}}
@media (prefers-reduced-motion:reduce){.gh-rev-marquee__track{animation:none;}}
@media (max-width:600px){.gh-revm{flex-basis:290px;width:290px;}.gh-rev-marquee{padding-top:40px;}}
.single-product .summary .gh-trustbox{margin:6px 0 26px;}

/* === Quantity steppers: product page + basket drawer (2026-11-02) === */
.pp-qstep{display:inline-flex;align-items:center;gap:0;border:1.5px solid var(--line);border-radius:999px;background:#fff;padding:3px;height:46px;box-sizing:border-box;}
.pp-qstep__btn{display:grid;place-items:center;width:38px;height:38px;flex:0 0 auto;border:0;border-radius:50%;background:transparent;color:var(--ink);font-size:20px;line-height:1;cursor:pointer;padding:0;transition:background .15s,opacity .15s;-webkit-appearance:none;appearance:none;}
.pp-qstep__btn:hover{background:var(--sand);}
.pp-qstep__btn:active{transform:scale(.94);}
.pp-qstep__val{min-width:30px;text-align:center;font-weight:600;font-size:15px;color:var(--ink);font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none;}

/* Product page: reveal the native qty input and lay out the add-to-cart row */
.single-product .summary form.cart{display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
.single-product .summary form.cart .quantity{display:inline-flex!important;margin:0;float:none;}
.single-product .summary form.cart .quantity.pp-qstep input.qty{width:40px;min-width:40px;height:38px;border:0!important;outline:0!important;background:transparent!important;box-shadow:none!important;text-align:center;font-weight:600;font-size:15px;color:var(--ink);padding:0!important;-moz-appearance:textfield;appearance:textfield;}
.single-product .summary form.cart .quantity.pp-qstep input.qty::-webkit-outer-spin-button,
.single-product .summary form.cart .quantity.pp-qstep input.qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}
.single-product .summary form.cart .single_add_to_cart_button{flex:1 1 220px;margin:0;}

/* Basket drawer line: stepper + line subtotal on one row */
.pp-mc__qrow{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:2px 0 2px;}
.pp-mc__qstep.pp-qstep{height:38px;padding:2px;}
.pp-mc__qstep.pp-qstep .pp-qstep__btn{width:30px;height:30px;font-size:17px;}
.pp-mc__qstep.pp-qstep .pp-qstep__val{min-width:24px;font-size:14px;}
.pp-mc__qstep.is-loading{opacity:.55;pointer-events:none;}
.pp-mc__line{font-family:var(--serif);font-weight:600;font-size:15px;color:var(--ink);white-space:nowrap;}

@media (max-width:480px){
	.single-product .summary form.cart .single_add_to_cart_button{flex-basis:100%;}
}

/* === Checkout: green star trust line under Pay now (2026-11-02) === */
.gh-co-trust{display:flex;align-items:center;justify-content:center;gap:10px;margin:16px 0 4px;--s:22px;}
.gh-co-trust .gh-stars{gap:3px;}
.gh-co-trust span{font-weight:700;font-size:15px;color:var(--ink);}
.gh-co-trust{justify-content:flex-start;}

/* === Checkout header: tiny trust line under the logo (2026-11-02) === */
.pp-co-header__in{display:inline-flex;flex-direction:column;align-items:center;gap:7px;}
.gh-co-trust--mini{--s:12px;gap:5px;margin:0;justify-content:center;}
.gh-co-trust--mini .gh-stars{gap:2px;}
.gh-co-trust--mini > span:not(.gh-stars){font-size:11px;font-weight:600;color:var(--ink);}

/* Harden the quantity stepper buttons against theme button styling (2026-11-02) */
.pp-qstep .pp-qstep__btn,.pp-mc__qstep .pp-qstep__btn{background:transparent!important;color:var(--ink)!important;border:0!important;box-shadow:none!important;min-width:0!important;min-height:0!important;line-height:1!important;}
.pp-qstep .pp-qstep__btn:hover,.pp-mc__qstep .pp-qstep__btn:hover{background:var(--sand)!important;}

/* === Cart page redesign — card layout + sticky totals (2026-11-02) === */
.gh-cart-wrap{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:28px;align-items:start;max-width:var(--wrap);margin:0 auto;}
.gh-cart{display:flex;flex-direction:column;gap:12px;}
.gh-cart__item{display:grid;grid-template-columns:84px minmax(0,1fr) auto auto auto;align-items:center;gap:18px;padding:16px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.03),0 14px 30px -24px rgba(0,0,0,.2);}
.gh-cart__img{display:block;width:84px;height:84px;border-radius:12px;overflow:hidden;background:#fff;border:1px solid var(--line);flex:0 0 auto;}
.gh-cart__img img{width:100%;height:100%;object-fit:contain;padding:6px;box-sizing:border-box;}
.gh-cart__info{display:flex;flex-direction:column;gap:3px;min-width:0;}
.gh-cart__name{font-weight:600;font-size:15.5px;color:var(--ink)!important;text-decoration:none!important;line-height:1.3;}
.gh-cart__name:hover{text-decoration:underline!important;}
.gh-cart__each{font-size:13px;color:var(--muted);}
.gh-cart__each small{font-weight:400;}
.gh-cart__stock{font-size:12.5px;color:var(--accent);}
.gh-cart__qty .quantity{margin:0;float:none;}
.gh-cart__line{font-family:var(--serif);font-weight:700;font-size:16px;color:var(--ink);white-space:nowrap;min-width:72px;text-align:right;}
.gh-cart__remove{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;color:var(--muted)!important;border:1px solid var(--line);background:#fff;text-decoration:none!important;transition:color .15s,border-color .15s;}
.gh-cart__remove svg{width:16px;height:16px;}
.gh-cart__remove:hover{color:#c0392b!important;border-color:#e2b7b0;}
.gh-cart.is-loading{opacity:.55;pointer-events:none;}

/* native qty input styled inside any stepper (product page + cart) */
.pp-qstep input.qty{width:40px;min-width:40px;height:38px;border:0!important;outline:0!important;background:transparent!important;box-shadow:none!important;text-align:center;font-weight:600;font-size:15px;color:var(--ink);padding:0!important;-moz-appearance:textfield;appearance:textfield;}
.pp-qstep input.qty::-webkit-outer-spin-button,.pp-qstep input.qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}

.gh-cart__bar{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:18px;}
.gh-cart__coupon{display:flex;gap:10px;flex:1 1 auto;max-width:430px;}
.gh-cart__coupon .input-text{flex:1 1 auto;min-width:0;height:46px;padding:0 18px;border:1.5px solid #CFCDC7;border-radius:999px;background:#fff;font-size:15px;}
.gh-cart__bar .pp-btn{height:46px;}
.gh-cart__update{margin-left:auto;}

/* Totals card */
.gh-cart__collaterals{position:sticky;top:96px;}
.cart_totals{border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.03),0 18px 40px -28px rgba(0,0,0,.25);overflow:hidden;}
.cart_totals h2{margin:0;padding:22px 24px 12px;font-size:20px;}
.cart_totals table{width:100%;margin:0;border:0;border-collapse:collapse;}
.cart_totals table th,.cart_totals table td{padding:13px 24px;border:0;border-top:1px solid var(--line);font-size:15px;text-align:left;vertical-align:top;}
.cart_totals table th{color:var(--muted);font-weight:500;white-space:nowrap;}
.cart_totals table td{text-align:right;color:var(--ink);}
.cart_totals .order-total th,.cart_totals .order-total td{font-family:var(--serif);font-weight:700;font-size:18px;color:var(--ink);}
.cart_totals .wc-proceed-to-checkout{padding:18px 24px 22px;}
.cart_totals .checkout-button,.cart_totals .wc-proceed-to-checkout a.button{display:block;width:100%;text-align:center;background:#111!important;color:#fff!important;border:0!important;border-radius:999px!important;height:56px;line-height:56px;padding:0!important;font-weight:600!important;font-size:16px!important;box-shadow:none!important;}
.cart_totals .checkout-button:hover{background:#2E2E2E!important;}
.cart_totals a.shipping-calculator-button{color:var(--accent)!important;}
.cart_totals .woocommerce-shipping-destination,.cart_totals .woocommerce-shipping-methods{font-size:14px;color:var(--muted);}

@media (max-width:900px){
	.gh-cart-wrap{grid-template-columns:1fr;}
	.gh-cart__collaterals{position:static;}
	.gh-cart__item{grid-template-columns:64px minmax(0,1fr) auto;grid-template-areas:"img info remove" "img qty line";row-gap:12px;column-gap:14px;}
	.gh-cart__img{grid-area:img;grid-row:1 / span 2;width:64px;height:64px;align-self:start;}
	.gh-cart__info{grid-area:info;}
	.gh-cart__remove{grid-area:remove;align-self:start;}
	.gh-cart__qty{grid-area:qty;}
	.gh-cart__line{grid-area:line;align-self:center;text-align:left;}
	.gh-cart__update{margin-left:0;}
}

/* Cart redesign: neutralise core float/width on the totals + form (2026-11-02) */
.gh-cart-wrap .gh-cart-form,.gh-cart-wrap .gh-cart__collaterals{width:100%!important;float:none!important;margin:0!important;}
.gh-cart-wrap .cart_totals{width:100%!important;float:none!important;}
.gh-cart-wrap .cart_totals .shop_table,.gh-cart-wrap .cart_totals .shop_table_responsive{width:100%!important;}

/* Cart totals: force rounded card over theme override (2026-11-02) */
.gh-cart-wrap .cart_totals{border-radius:20px!important;border:1px solid var(--line)!important;overflow:hidden;}

/* Reviews: trust heading replaces the stats box (2026-11-02) */
.gh-reviews h2.gh-reviews__intro{margin:0 0 24px;max-width:680px;font-family:var(--serif);font-weight:800;font-size:clamp(1.7rem,3.4vw,2.6rem);line-height:1.12;letter-spacing:-.02em;color:var(--ink);}
.gh-reviews__intro span{color:var(--review);}
.gh-reviews__bar{justify-content:flex-end;}

/* Stripe: FunnelKit now renders the unified Payment Element — drop the old split-Card-Element box so it is not clipped/double-boxed (2026-11-02) */
body.pp-checkout #fkwcs-stripe-elements-form .fkwcs-stripe-payment-elements-field.StripeElement,
body.pp-checkout #fkwcs-stripe-elements-form .fkwcs-credit-card-field.fkwcs-stripe-payment-elements-field{
	height:auto!important;min-height:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;overflow:visible!important;display:block!important;
}
body.pp-checkout #fkwcs-stripe-elements-form .fkwcs-stripe-payment-elements-field .__PrivateStripeElement{margin:0!important;transform:none!important;}
body.pp-checkout #fkwcs-stripe-elements-form .fkwcs-stripe-payment-elements-field .__PrivateStripeElement > div{transform:none!important;}
/* no floating label over the Payment Element (it has its own labels) */
body.pp-checkout #fkwcs-stripe-elements-form:has(.fkwcs-stripe-payment-elements-field) > label{display:none!important;}

