/** Shopify CDN: Minification failed

Line 374:0 Unexpected "}"

**/
/* ============================================================
   HALLHEM - storefront theme
   Reproduced from the approved Claude Design project (Store.dc.html)
   ============================================================ */

:root{
  --hh-bg:#F6F2EC;
  --hh-fill:#EFE9DF;
  --hh-ink:#232120;
  --hh-body:#4A453C;
  --hh-muted:#6E675B;
  --hh-accent:#9A7B5F;
  --hh-line:#DED5C7;
  --hh-line-soft:#E7DECF;
  --hh-hover:#3A3733;
  --hh-faint:#9A9182;
  --hh-badge-line:#E3D3C0;
  --hh-foot-text:#CFC7B8;
  --hh-foot-muted:#9E978A;
  --hh-pad:clamp(20px,5%,64px);
  --hh-pad-wide:clamp(22px,6%,72px);
}

*{box-sizing:border-box;}
::selection{background:#232120;color:#F6F2EC;}
html{-webkit-text-size-adjust:100%;}
body{
  margin:0;
  background:var(--hh-bg);
  color:var(--hh-ink);
  font-family:"Schibsted Grotesk",system-ui,-apple-system,"Segoe UI",sans-serif;
  font-size:16px;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
  /* clip (not hidden) so the sticky header keeps working - hidden would turn
     <body> into a scroll container and break position:sticky */
  overflow-x:clip;
}
@supports not (overflow-x: clip){
  body{overflow-x:hidden;}
}
img{display:block;max-width:100%;}
a{color:inherit;text-decoration:none;}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer;}
input,select,textarea{font-family:inherit;}
h1,h2,h3,h4,p{margin:0;}
.hh-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;}
:focus-visible{outline:2px solid var(--hh-accent);outline-offset:2px;}

@keyframes hhSlide{from{transform:translateX(30px);opacity:.4;}to{transform:translateX(0);opacity:1;}}
@keyframes hhFade{from{opacity:0;}to{opacity:1;}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;}}

/* ---------- primitives ---------- */
.hh-eyebrow{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--hh-accent);font-weight:500;}
.hh-stars{color:var(--hh-accent);letter-spacing:2px;}

.hh-btn{
  display:inline-flex;align-items:center;justify-content:center;
  height:54px;padding:0 34px;
  background:var(--hh-ink);color:var(--hh-bg);
  font-size:13px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;
  border:0;border-radius:0;cursor:pointer;text-align:center;
  transition:background .25s;
}
.hh-btn:hover{background:var(--hh-hover);}
.hh-btn[disabled]{opacity:.45;cursor:not-allowed;}
.hh-btn--light{background:var(--hh-bg);color:var(--hh-ink);}
.hh-btn--light:hover{background:#fff;}
.hh-btn--full{width:100%;}
.hh-btn--outline{
  display:block;text-align:center;border:1px solid var(--hh-ink);background:transparent;color:var(--hh-ink);
  padding:10px;height:auto;font-size:12px;letter-spacing:.12em;text-transform:uppercase;transition:all .2s;
}
.hh-btn--outline:hover{background:var(--hh-ink);color:var(--hh-bg);}

/* placeholder (Ph component) */
.hh-ph{
  position:relative;width:100%;height:100%;min-height:80px;
  background:repeating-linear-gradient(135deg,#ECE3D5 0 13px,#E4DAC9 13px 26px);
  display:flex;align-items:center;justify-content:center;overflow:hidden;
}
.hh-ph span{
  font-family:ui-monospace,Menlo,monospace;font-size:10px;letter-spacing:.12em;text-transform:uppercase;
  color:#8B7C66;background:rgba(246,242,236,.86);padding:5px 9px;border:1px solid #DAD0BF;
  white-space:nowrap;max-width:88%;overflow:hidden;text-overflow:ellipsis;
}
.hh-media{position:relative;width:100%;height:100%;overflow:hidden;background:#ECE3D5;}
.hh-media img{width:100%;height:100%;object-fit:cover;}

/* ---------- announcement ---------- */
.hh-ann{
  background:var(--hh-ink);color:var(--hh-bg);text-align:center;
  font-size:11px;letter-spacing:.18em;text-transform:uppercase;padding:9px 16px;font-weight:500;
}

/* ---------- header ---------- */
/* The sticky lives on the section wrapper: a sticky element only sticks while
   its own parent is in view, and Shopify wraps each section in its own div. */
.hh-header-wrap{position:sticky;top:0;z-index:30;}
.hh-header{
  background:rgba(246,242,236,.94);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  border-bottom:1px solid var(--hh-line);
}
.hh-header__d{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 var(--hh-pad);height:66px;}
.hh-logo{font-weight:600;font-size:21px;letter-spacing:.26em;white-space:nowrap;}
.hh-nav{display:flex;gap:40px;justify-content:center;font-size:14px;}
.hh-nav a{padding-bottom:2px;border-bottom:1px solid transparent;transition:border-color .2s;}
.hh-nav a:hover{border-color:var(--hh-ink);}
.hh-icons{display:flex;gap:24px;justify-content:flex-end;align-items:center;}
.hh-icons a,.hh-icons button{display:flex;position:relative;}
.hh-count{
  position:absolute;top:-8px;right:-10px;background:var(--hh-ink);color:var(--hh-bg);
  font-size:10px;min-width:16px;height:16px;border-radius:8px;
  display:flex;align-items:center;justify-content:center;padding:0 4px;
}
.hh-count[hidden]{display:none;}
.hh-header__m{display:none;align-items:center;justify-content:space-between;padding:0 18px;height:56px;}
.hh-header__m .hh-logo{font-size:18px;letter-spacing:.24em;}
.hh-menu{display:none;border-top:1px solid var(--hh-line);padding:8px 18px 16px;flex-direction:column;font-size:16px;}
.hh-menu.is-open{display:flex;}
.hh-menu a{padding:14px 0;border-bottom:1px solid var(--hh-line-soft);}
.hh-menu a:last-child{border-bottom:0;}
.hh-searchbar{display:none;border-top:1px solid var(--hh-line);padding:14px var(--hh-pad);}
.hh-searchbar.is-open{display:block;}
.hh-searchbar form{display:flex;gap:10px;max-width:640px;margin:0 auto;}
.hh-searchbar input{flex:1;height:48px;border:1px solid var(--hh-ink);background:transparent;padding:0 14px;font-size:15px;color:var(--hh-ink);outline:none;border-radius:0;}
.hh-searchbar button{height:48px;padding:0 22px;background:var(--hh-ink);color:var(--hh-bg);font-size:12px;letter-spacing:.12em;text-transform:uppercase;}

@media (max-width:900px){
  .hh-header__d{display:none;}
  .hh-header__m{display:flex;}
}

/* ---------- product: purchase area ---------- */
.hh-pdp{
  display:flex;flex-wrap:wrap;gap:clamp(28px,4%,56px);
  padding:clamp(22px,3%,40px) var(--hh-pad) 64px;
  align-items:flex-start;max-width:1280px;margin:0 auto;
}
.hh-pdp__gallery{flex:1 1 420px;min-width:290px;}
.hh-pdp__buy{flex:1 1 360px;min-width:290px;max-width:490px;}
.hh-gal__main{animation:hhFade .5s ease;display:block;width:100%;aspect-ratio:4/5;}
.hh-gal__slide{display:none;width:100%;height:100%;}
.hh-gal__slide.is-active{display:block;}
.hh-thumbs{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap;}
.hh-thumb{
  display:block;width:64px;aspect-ratio:5/6;border:1px solid var(--hh-line);
  transition:border-color .2s;overflow:hidden;padding:0;background:none;cursor:pointer;
}
.hh-thumb.is-active{border-color:var(--hh-ink);}

.hh-rating{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--hh-muted);}
.hh-pdp h1{font-size:34px;font-weight:600;line-height:1.12;letter-spacing:-.01em;margin:14px 0 8px;}
.hh-pdp__sub{font-size:18px;color:var(--hh-body);margin:0 0 22px;}
.hh-price-row{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:22px;}
.hh-price{font-size:26px;font-weight:600;}
.hh-compare{font-size:16px;color:var(--hh-faint);text-decoration:line-through;}
.hh-save{
  font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--hh-accent);
  border:1px solid var(--hh-badge-line);padding:3px 8px;
}
.hh-save[hidden],.hh-compare[hidden]{display:none;}
.hh-pdp__intro{color:var(--hh-muted);margin:0 0 24px;border-top:1px solid var(--hh-line);padding-top:22px;}

.hh-opt{margin-bottom:22px;}
.hh-opt__label{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--hh-muted);margin-bottom:10px;}
.hh-opt__label b{color:var(--hh-ink);font-weight:400;}
.hh-pills{display:flex;gap:10px;flex-wrap:wrap;}
.hh-pill{
  padding:11px 20px;font-size:14px;border:1px solid var(--hh-line);
  background:transparent;color:var(--hh-ink);transition:all .2s;cursor:pointer;border-radius:0;
}
.hh-pill.is-active{border-color:var(--hh-ink);background:var(--hh-ink);color:var(--hh-bg);}
.hh-pill.is-soldout{opacity:.4;text-decoration:line-through;}

.hh-buyrow{display:flex;gap:12px;margin-bottom:14px;}
.hh-qty{display:flex;align-items:center;border:1px solid var(--hh-line);flex:none;}
.hh-qty button{width:44px;height:56px;display:flex;align-items:center;justify-content:center;font-size:18px;}
.hh-qty input{
  width:32px;height:56px;text-align:center;border:0;background:transparent;font-size:16px;
  color:var(--hh-ink);outline:none;-moz-appearance:textfield;padding:0;
}
.hh-qty input::-webkit-outer-spin-button,.hh-qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}
.hh-atc{flex:1;height:56px;font-size:14px;padding:0 12px;}
.hh-klarna{text-align:center;font-size:13px;color:var(--hh-muted);margin-bottom:24px;}
.hh-klarna strong{color:var(--hh-ink);}
.hh-trust{display:flex;flex-direction:column;gap:11px;border-top:1px solid var(--hh-line);padding-top:22px;font-size:14px;color:var(--hh-body);}
.hh-trust span{display:flex;gap:11px;align-items:center;}
.hh-trust svg{flex:none;}
.hh-pay{margin-top:18px;font-size:12px;letter-spacing:.06em;color:var(--hh-faint);}

/* ---------- benefits ---------- */
.hh-sec{padding:78px var(--hh-pad);}
.hh-sec--fill{background:var(--hh-fill);}
.hh-benefits{display:flex;flex-wrap:wrap;gap:clamp(28px,5%,80px);max-width:1200px;margin:0 auto;}
.hh-benefits__head{flex:1 1 240px;min-width:220px;}
.hh-benefits__head h2{font-size:30px;font-weight:600;line-height:1.15;margin:14px 0 0;}
.hh-benefits__list{flex:2 1 420px;min-width:290px;}
.hh-benefit{display:flex;gap:22px;padding:22px 0;border-top:1px solid var(--hh-line);}
.hh-benefit__n{font-family:ui-monospace,Menlo,monospace;font-size:13px;color:var(--hh-accent);min-width:26px;}
.hh-benefit h3{font-size:18px;font-weight:600;margin:0 0 6px;}
.hh-benefit p{margin:0;color:var(--hh-muted);font-size:15px;}

/* ---------- editorial split ---------- */
.hh-split{display:flex;flex-wrap:wrap;}
.hh-split__img{flex:1 1 380px;min-width:300px;}
.hh-split__img > *{display:block;width:100%;height:100%;min-height:420px;aspect-ratio:1/1;}
.hh-split__txt{flex:1 1 380px;min-width:300px;display:flex;align-items:center;padding:72px var(--hh-pad);}
.hh-split__txt > div{max-width:460px;}
.hh-split__txt h2{font-size:30px;font-weight:600;line-height:1.2;margin:14px 0 20px;}
.hh-split__txt p{color:var(--hh-body);margin:0 0 16px;}
.hh-split__txt p:last-child{color:var(--hh-muted);margin:0;}
.hh-split--rev .hh-split__img{order:1;}
.hh-split--rev .hh-split__txt{order:2;}

/* ---------- specs ---------- */
.hh-specs{padding:78px var(--hh-pad);max-width:900px;margin:0 auto;}
.hh-specs h2{font-size:30px;font-weight:600;margin:12px 0 26px;}
.hh-spec{display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;padding:16px 0;border-top:1px solid var(--hh-line);}
.hh-spec__k{font-weight:600;min-width:150px;}
.hh-spec__v{color:var(--hh-muted);flex:1;min-width:220px;}

/* ---------- bundle ---------- */
.hh-bundle{display:flex;flex-wrap:wrap;gap:clamp(28px,4%,56px);max-width:1160px;margin:0 auto;align-items:center;}
.hh-bundle__img{flex:1 1 360px;min-width:290px;}
.hh-bundle__img > *{display:block;width:100%;aspect-ratio:4/3;}
.hh-bundle__txt{flex:1 1 340px;min-width:290px;max-width:460px;}
.hh-bundle__txt h2{font-size:30px;font-weight:600;line-height:1.14;margin:14px 0 12px;}
.hh-bundle__txt > p{color:var(--hh-body);margin:0 0 20px;}
.hh-bundle__list{display:flex;flex-direction:column;gap:10px;margin-bottom:20px;font-size:14px;color:var(--hh-body);border-top:1px solid var(--hh-line);padding-top:18px;}
.hh-bundle__list > span{display:flex;justify-content:space-between;gap:12px;}
.hh-bundle__list > span > span{color:var(--hh-muted);}

/* ---------- reviews ---------- */
.hh-reviews{max-width:1100px;margin:0 auto;}
.hh-reviews__head{display:flex;flex-wrap:wrap;align-items:flex-end;gap:20px;justify-content:space-between;margin-bottom:38px;}
.hh-reviews__score{display:flex;align-items:baseline;gap:14px;}
.hh-reviews__score b{font-size:54px;font-weight:600;line-height:1;}
.hh-reviews__score .hh-stars{font-size:22px;letter-spacing:3px;}
.hh-reviews__sub{color:var(--hh-muted);margin-top:8px;}
.hh-reviews__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(258px,1fr));gap:1px;background:var(--hh-line);border:1px solid var(--hh-line);}
.hh-review{background:var(--hh-bg);padding:28px;}
.hh-review .hh-stars{font-size:13px;}
.hh-review h4{font-size:16px;font-weight:600;margin:12px 0 8px;}
.hh-review p{color:var(--hh-body);font-size:15px;margin:0 0 18px;}
.hh-review__by{font-size:13px;color:var(--hh-muted);}
.hh-review__by em{color:var(--hh-accent);font-style:normal;}
.hh-photos{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px;margin-top:14px;}
.hh-photos > div{aspect-ratio:1/1;}

/* ---------- faq ---------- */
.hh-faq{padding:0 var(--hh-pad) 78px;max-width:860px;margin:0 auto;}
.hh-faq--pad{padding-top:78px;}
.hh-faq h2{font-size:30px;font-weight:600;margin:12px 0 26px;}
.hh-faq__item{border-top:1px solid var(--hh-line);}
.hh-faq__q{
  width:100%;display:flex;justify-content:space-between;gap:20px;padding:20px 0;
  font-size:17px;font-weight:500;text-align:left;color:var(--hh-ink);
}
.hh-faq__q span{color:var(--hh-accent);font-size:20px;flex:none;line-height:1.3;}
.hh-faq__a{display:none;margin:0;padding:0 0 22px;color:var(--hh-muted);max-width:660px;}
.hh-faq__a.is-open{display:block;}

/* ---------- collection grid ---------- */
.hh-collection{max-width:1200px;margin:0 auto;}
.hh-collection__head{display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;align-items:flex-end;margin-bottom:26px;}
.hh-collection__head h2{font-size:30px;font-weight:600;margin:12px 0 0;}
.hh-collection__more{font-size:14px;border-bottom:1px solid var(--hh-ink);padding-bottom:2px;}
.hh-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(228px,1fr));gap:clamp(16px,2%,28px);}
.hh-card{position:relative;}
.hh-card__tag{
  position:absolute;top:12px;left:12px;z-index:2;background:var(--hh-bg);
  font-size:11px;letter-spacing:.06em;text-transform:uppercase;padding:4px 8px;border:1px solid var(--hh-line);
}
.hh-card__link{display:block;overflow:hidden;}
.hh-card__zoom{transition:transform .5s ease;}
.hh-card__link:hover .hh-card__zoom{transform:scale(1.04);}
.hh-card__zoom > *{display:block;width:100%;aspect-ratio:4/5;}
.hh-card__meta{display:flex;justify-content:space-between;gap:10px;margin-top:14px;align-items:flex-start;}
.hh-card__meta h3{font-size:15px;font-weight:600;margin:0 0 4px;}
.hh-card__meta .hh-stars{font-size:12px;letter-spacing:1px;}
.hh-card__price{font-weight:600;white-space:nowrap;}
.hh-card__price s{color:var(--hh-faint);font-weight:400;font-size:13px;margin-left:6px;}
.hh-card form,.hh-card .hh-btn--outline{margin-top:12px;}

/* ---------- hero ---------- */
.hh-hero{position:relative;width:100%;aspect-ratio:16/10;min-height:470px;max-height:600px;overflow:hidden;}
.hh-hero__media{position:absolute;inset:0;width:100%;height:100%;}
.hh-hero__scrim{position:absolute;inset:0;background:linear-gradient(90deg,rgba(35,33,32,.5),rgba(35,33,32,.08));}
.hh-hero__inner{position:absolute;inset:0;display:flex;align-items:center;padding:0 var(--hh-pad-wide);}
.hh-hero__copy{max-width:540px;color:var(--hh-bg);animation:hhFade .7s ease;}
.hh-hero__copy h1{font-size:44px;font-weight:600;line-height:1.08;letter-spacing:-.01em;margin:0 0 18px;}
.hh-hero__copy p{font-size:18px;margin:0 0 28px;color:#ECE6DB;max-width:400px;}

/* ---------- trust strip ---------- */
.hh-strip{
  border-bottom:1px solid var(--hh-line);padding:22px var(--hh-pad);
  display:flex;flex-wrap:wrap;gap:14px 34px;justify-content:center;align-items:center;
  font-size:13px;letter-spacing:.04em;color:var(--hh-body);text-align:center;
}
.hh-strip .hh-dot{opacity:.35;}

/* ---------- bestseller feature ---------- */
.hh-feature{display:flex;flex-wrap:wrap;gap:clamp(28px,4%,60px);padding:80px var(--hh-pad);align-items:center;max-width:1200px;margin:0 auto;}
.hh-feature__img{flex:1 1 380px;min-width:300px;}
.hh-feature__img > *{display:block;width:100%;aspect-ratio:1/1;}
.hh-feature__txt{flex:1 1 340px;min-width:290px;max-width:460px;}
.hh-feature__txt h2{font-size:34px;font-weight:600;line-height:1.12;margin:14px 0 10px;}
.hh-feature__txt .hh-rating{margin-bottom:16px;}
.hh-feature__txt > p{color:var(--hh-body);margin:0 0 22px;}
.hh-feature__price{display:flex;align-items:baseline;gap:12px;margin-bottom:24px;flex-wrap:wrap;}
.hh-feature__price b{font-size:24px;font-weight:600;}
.hh-feature__price s{font-size:15px;color:var(--hh-faint);}

/* ---------- values ---------- */
.hh-values__wrap{max-width:1100px;margin:0 auto;}
.hh-values__head{max-width:560px;margin-bottom:44px;}
.hh-values__head h2{font-size:32px;font-weight:600;line-height:1.14;margin:14px 0 0;}
.hh-values{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:36px 40px;}
.hh-value i{display:block;width:34px;height:1px;background:var(--hh-accent);margin-bottom:18px;}
.hh-value h3{font-size:17px;font-weight:600;margin:0 0 10px;}
.hh-value p{margin:0;color:var(--hh-muted);font-size:15px;}

/* ---------- editorial banner ---------- */
.hh-banner > *{display:block;width:100%;aspect-ratio:21/9;min-height:340px;max-height:560px;}

/* ---------- newsletter ---------- */
.hh-news{background:var(--hh-fill);padding:90px var(--hh-pad);text-align:center;}
.hh-news__wrap{max-width:560px;margin:0 auto;}
.hh-news h2{font-size:30px;font-weight:600;margin:14px 0 12px;}
.hh-news__lead{color:var(--hh-muted);margin:0 0 28px;}
.hh-news form{display:flex;flex-wrap:wrap;gap:10px;max-width:440px;margin:0 auto;}
.hh-news input[type=email]{
  flex:1;min-width:200px;height:52px;border:1px solid var(--hh-ink);background:transparent;
  padding:0 16px;font-size:15px;color:var(--hh-ink);outline:none;border-radius:0;
}
.hh-news button{height:52px;padding:0 28px;font-size:13px;letter-spacing:.12em;}
.hh-news__note{margin-top:14px;font-size:13px;color:var(--hh-muted);}

/* ---------- sticky mobile ATC ---------- */
.hh-sticky{
  position:fixed;left:0;right:0;bottom:0;z-index:25;display:flex;
  background:rgba(246,242,236,.96);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  border-top:1px solid var(--hh-line);padding:11px 16px;
  padding-bottom:calc(11px + env(safe-area-inset-bottom));
  /* parked off-screen; JS reveals it once the real button leaves the viewport */
  transform:translateY(115%);opacity:0;pointer-events:none;
  transition:transform .28s ease,opacity .28s ease;
}
.hh-sticky.is-visible{transform:translateY(0);opacity:1;pointer-events:auto;}
@media (prefers-reduced-motion:reduce){ .hh-sticky{transition:none;} }
.hh-sticky__in{display:flex;align-items:center;gap:14px;width:100%;max-width:1200px;margin:0 auto;}
.hh-sticky__title{
  display:none;flex:1 1 auto;min-width:0;font-size:15px;font-weight:600;color:var(--hh-ink);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.hh-sticky__title span{color:var(--hh-muted);font-weight:400;}
.hh-sticky__meta{line-height:1.15;flex:none;}
.hh-sticky__meta b{font-weight:600;display:block;}
.hh-sticky__meta small{font-size:11px;color:var(--hh-accent);letter-spacing:1px;}
.hh-sticky .hh-btn{flex:1 1 auto;height:50px;font-size:13px;letter-spacing:.12em;padding:0 10px;}
@media (min-width:901px){
  .hh-sticky__title{display:block;}
  .hh-sticky .hh-btn{flex:0 0 280px;}
}
body.hh-has-sticky .hh-footer{padding-bottom:100px;}
}

/* ---------- footer ---------- */
.hh-footer{background:var(--hh-ink);color:var(--hh-foot-text);padding:70px var(--hh-pad) 38px;}
.hh-footer__wrap{max-width:1200px;margin:0 auto;}
.hh-footer__cols{display:flex;flex-wrap:wrap;gap:40px;justify-content:space-between;}
.hh-footer__brand{flex:1 1 240px;min-width:220px;}
.hh-footer__logo{font-size:22px;letter-spacing:.26em;color:var(--hh-bg);font-weight:600;}
.hh-footer__brand p{margin:16px 0 0;max-width:280px;font-size:14px;color:var(--hh-foot-muted);}
.hh-footer__col{display:flex;flex-direction:column;gap:11px;min-width:130px;}
.hh-footer__col b{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--hh-bg);margin-bottom:4px;font-weight:500;}
.hh-footer__col a{color:var(--hh-foot-text);font-size:14px;}
.hh-footer__col a:hover{color:var(--hh-bg);}
.hh-footer__bar{
  display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;align-items:center;
  border-top:1px solid var(--hh-hover);margin-top:48px;padding-top:24px;font-size:13px;color:var(--hh-foot-muted);
}
.hh-footer__social{display:flex;gap:16px;align-items:center;}

/* ---------- cart drawer ---------- */
.hh-drawer{position:fixed;inset:0;z-index:60;display:none;}
.hh-drawer.is-open{display:block;}
.hh-drawer__scrim{position:absolute;inset:0;background:rgba(35,33,32,.42);animation:hhFade .3s ease;}
.hh-drawer__panel{
  position:absolute;top:0;right:0;height:100%;width:min(420px,92%);background:var(--hh-bg);
  display:flex;flex-direction:column;box-shadow:-20px 0 60px rgba(0,0,0,.18);animation:hhSlide .35s ease;
}
.hh-drawer__head{display:flex;justify-content:space-between;align-items:center;padding:22px;border-bottom:1px solid var(--hh-line);}
.hh-drawer__head span{font-size:14px;letter-spacing:.14em;text-transform:uppercase;}
.hh-drawer__close{font-size:24px;line-height:1;}
.hh-drawer__body{flex:1;overflow-y:auto;padding:8px 22px;-webkit-overflow-scrolling:touch;}
.hh-line{display:flex;gap:14px;padding:18px 0;border-bottom:1px solid var(--hh-line);}
.hh-line__img{width:64px;flex:none;}
.hh-line__img > *{display:block;width:64px;height:78px;}
.hh-line__info{flex:1;min-width:0;}
.hh-line__info b{font-weight:600;font-size:15px;display:block;}
.hh-line__info div{color:var(--hh-muted);font-size:13px;}
.hh-line__total{font-weight:600;white-space:nowrap;}
.hh-drawer__empty{color:var(--hh-muted);padding:48px 0;text-align:center;}
.hh-drawer__foot{padding:22px;border-top:1px solid var(--hh-line);}
.hh-drawer__sub{display:flex;justify-content:space-between;margin-bottom:6px;font-weight:600;}
.hh-drawer__note{font-size:12px;color:var(--hh-muted);margin:0 0 16px;}
.hh-drawer__foot .hh-btn{display:flex;width:100%;height:54px;}
body.hh-lock{overflow:hidden;}

/* ---------- generic content pages ---------- */
.hh-page{padding:64px var(--hh-pad) 84px;max-width:860px;margin:0 auto;}
.hh-page--wide{max-width:1200px;}
.hh-page h1{font-size:34px;font-weight:600;line-height:1.14;margin:14px 0 24px;}
.hh-rte{color:var(--hh-body);}
.hh-rte h2{font-size:22px;font-weight:600;margin:32px 0 10px;color:var(--hh-ink);}
.hh-rte h3{font-size:18px;font-weight:600;margin:24px 0 8px;color:var(--hh-ink);}
.hh-rte p{margin:0 0 14px;}
.hh-rte ul,.hh-rte ol{margin:0 0 16px;padding-left:20px;}
.hh-rte li{margin-bottom:6px;}
.hh-rte a{border-bottom:1px solid var(--hh-line);}
.hh-rte img{margin:20px 0;}
.hh-empty{color:var(--hh-muted);padding:40px 0;}

/* ---------- cart page ---------- */
.hh-cart__row{display:flex;flex-wrap:wrap;gap:18px;align-items:flex-start;padding:22px 0;border-top:1px solid var(--hh-line);}
.hh-cart__img{width:88px;flex:none;}
.hh-cart__img > *{display:block;width:88px;height:106px;}
.hh-cart__info{flex:1 1 220px;min-width:180px;}
.hh-cart__info b{font-weight:600;display:block;}
.hh-cart__info small{color:var(--hh-muted);font-size:13px;display:block;margin-top:2px;}
.hh-cart__actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;}
.hh-cart__actions .hh-qty button{height:44px;width:38px;}
.hh-cart__actions .hh-qty input{height:44px;}
.hh-cart__remove{font-size:13px;color:var(--hh-muted);border-bottom:1px solid var(--hh-line);}
.hh-cart__foot{border-top:1px solid var(--hh-line);margin-top:8px;padding-top:22px;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;align-items:flex-start;}
.hh-cart__totals{margin-left:auto;text-align:right;min-width:240px;}

/* ---------- forms ---------- */
.hh-form{display:flex;flex-direction:column;gap:14px;max-width:440px;}
.hh-field label{display:block;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--hh-muted);margin-bottom:6px;}
.hh-field input,.hh-field textarea,.hh-field select{
  width:100%;height:52px;border:1px solid var(--hh-line);background:transparent;padding:0 14px;
  font-size:15px;color:var(--hh-ink);outline:none;border-radius:0;
}
.hh-field textarea{height:auto;min-height:140px;padding:12px 14px;resize:vertical;}
.hh-field input:focus,.hh-field textarea:focus{border-color:var(--hh-ink);}
.hh-form .hh-btn{align-self:flex-start;}
.hh-formnote{font-size:14px;color:var(--hh-muted);}
.hh-formerr{border:1px solid #C08375;padding:14px;font-size:14px;color:#8C4A3A;margin-bottom:16px;}
.hh-formok{border:1px solid var(--hh-accent);padding:14px;font-size:14px;color:var(--hh-accent);margin-bottom:16px;}
.hh-links{display:flex;gap:18px;flex-wrap:wrap;margin-top:18px;font-size:14px;color:var(--hh-muted);}
.hh-links a{border-bottom:1px solid var(--hh-line);}

/* ---------- tables ---------- */
.hh-tablewrap{overflow-x:auto;}
.hh-table{width:100%;border-collapse:collapse;font-size:14px;min-width:520px;}
.hh-table th{text-align:left;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--hh-muted);font-weight:500;padding:12px 12px 12px 0;border-bottom:1px solid var(--hh-line);}
.hh-table td{padding:14px 12px 14px 0;border-bottom:1px solid var(--hh-line);color:var(--hh-body);vertical-align:top;}

/* ---------- pagination ---------- */
.hh-pag{display:flex;gap:12px;justify-content:center;margin-top:48px;font-size:14px;flex-wrap:wrap;}
.hh-pag a,.hh-pag span{padding:8px 12px;border:1px solid var(--hh-line);}
.hh-pag .is-current{border-color:var(--hh-ink);}

/* ---------- 404 / password ---------- */
.hh-center{min-height:52vh;display:flex;align-items:center;justify-content:center;text-align:center;padding:80px var(--hh-pad);}
.hh-center h1{font-size:34px;font-weight:600;margin:14px 0 12px;}
.hh-center p{color:var(--hh-muted);margin:0 0 28px;}

/* ---------- responsive polish ---------- */
@media (max-width:900px){
  .hh-pdp{padding-bottom:40px;}
  .hh-split__txt,.hh-feature{padding-top:56px;padding-bottom:56px;}
  .hh-sec{padding:56px var(--hh-pad);}
  .hh-specs{padding:56px var(--hh-pad);}
  .hh-faq{padding-bottom:56px;}
  .hh-faq--pad{padding-top:56px;}
  .hh-news{padding:64px var(--hh-pad);}
  .hh-reviews__head{margin-bottom:26px;}
  .hh-footer{padding-top:56px;}
  .hh-footer__cols{gap:32px;}
  .hh-split__img > *{min-height:320px;}
}
@media (max-width:520px){
  .hh-hero__copy h1{font-size:36px;}
  .hh-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}
  .hh-card__meta{flex-direction:column;gap:2px;}
  .hh-photos{grid-template-columns:repeat(2,minmax(0,1fr));}
  .hh-atc{font-size:13px;letter-spacing:.1em;}
  .hh-reviews__score b{font-size:44px;}
}

/* ---------- bundle tiers ("stel je set samen") ---------- */
.hh-tiers{margin-bottom:22px;}
.hh-tiers__head{display:flex;align-items:center;gap:14px;margin-bottom:14px;}
.hh-tiers__head span{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--hh-accent);font-weight:500;white-space:nowrap;}
.hh-tiers__head i{flex:1;height:1px;background:var(--hh-line);display:block;}
.hh-tier-group{display:block;}
.hh-tier{
  position:relative;display:block;width:100%;text-align:left;
  border:1px solid var(--hh-line);background-color:transparent;border-radius:0;
  padding:16px 18px;margin-bottom:10px;cursor:pointer;
  transition:border-color .2s,background-color .2s;font:inherit;color:inherit;
}
/* Selected state comes straight from the radio, never from a JS-toggled class -
   class-driven restyling was not invalidating reliably here. */
[data-hh-tier-radio]:checked + .hh-tier{border-color:var(--hh-ink);background-color:var(--hh-fill);}
[data-hh-tier-radio]:focus-visible + .hh-tier{outline:2px solid var(--hh-accent);outline-offset:2px;}
.hh-tier__top{display:flex;align-items:baseline;justify-content:space-between;gap:12px;}
.hh-tier__name{font-size:17px;font-weight:600;}
.hh-tier__save{
  font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--hh-accent);
  border:1px solid var(--hh-badge-line);padding:3px 8px;margin-left:10px;white-space:nowrap;font-weight:400;
}
.hh-tier__money{text-align:right;white-space:nowrap;}
.hh-tier__price{font-size:18px;font-weight:600;display:block;}
.hh-tier__was{font-size:13px;font-weight:400;color:var(--hh-faint);text-decoration:line-through;display:block;}
.hh-tier__desc{font-size:14px;color:var(--hh-muted);margin-top:4px;}
.hh-tier__badge{
  position:absolute;top:-9px;right:14px;background:var(--hh-ink);color:var(--hh-bg);
  font-size:10px;letter-spacing:.12em;text-transform:uppercase;padding:3px 8px;
}
.hh-tier__picks{display:none;margin-top:14px;padding-top:14px;border-top:1px solid var(--hh-line);flex-direction:column;gap:8px;}
[data-hh-tier-radio]:checked + .hh-tier .hh-tier__picks{display:flex;}
.hh-tier__pick{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--hh-muted);}
.hh-tier__pick label{min-width:86px;flex:none;}
.hh-tier__pick select{
  flex:1;min-width:0;height:42px;border:1px solid var(--hh-line);background:var(--hh-bg);
  padding:0 10px;font-size:14px;color:var(--hh-ink);border-radius:0;outline:none;
}
.hh-tier__pick select:focus{border-color:var(--hh-ink);}
@media (max-width:400px){
  .hh-tier__top{flex-wrap:wrap;}
  .hh-tier__money{text-align:left;}
}

/* ---------- payment icons ---------- */
.hh-payicons{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:18px 0 0;padding:0;list-style:none;}
.hh-payicons li{display:flex;}
.hh-payicons svg{height:24px;width:auto;display:block;border:1px solid var(--hh-line);background:#fff;border-radius:0;}

/* ---------- inline accordion panels (inside a PDP column) ---------- */
.hh-faq--inline{padding:0;max-width:none;margin:30px 0 0;}
.hh-faq--inline .hh-faq__q{font-size:16px;}

/* ---------- real-inventory scarcity panel ---------- */
.hh-stock{border:1px solid var(--hh-badge-line);background-color:#FBF4E7;margin:22px 0 0;}
.hh-stock__head{display:flex;gap:11px;align-items:flex-start;padding:14px 16px;border-bottom:1px solid var(--hh-badge-line);}
.hh-stock__head svg{flex:none;margin-top:1px;}
.hh-stock__head b{display:block;font-size:15px;font-weight:600;color:var(--hh-ink);}
.hh-stock__head span{display:block;font-size:14px;color:var(--hh-muted);margin-top:2px;}
.hh-stock__body{padding:14px 16px;background-color:var(--hh-bg);}
.hh-stock__row{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;font-size:14px;color:var(--hh-body);}
.hh-stock__pct{
  font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--hh-accent);
  border:1px solid var(--hh-badge-line);padding:3px 8px;white-space:nowrap;
}
.hh-stock__bar{height:6px;background-color:var(--hh-line-soft);margin:10px 0 8px;overflow:hidden;}
.hh-stock__bar i{display:block;height:100%;background-color:var(--hh-accent);}
.hh-stock__left{font-size:13px;color:var(--hh-accent);font-weight:500;}

/* ---------- feature ticks under the price ---------- */
.hh-highlights{list-style:none;margin:0 0 24px;padding:0;display:flex;flex-direction:column;gap:12px;}
.hh-highlights li{display:flex;gap:12px;align-items:center;font-size:15px;color:var(--hh-ink);}
.hh-highlights svg{flex:none;}

/* ---------- header logo image ---------- */
.hh-logo__img{display:block;width:auto;height:auto;max-width:180px;max-height:46px;}
/* An SVG with width:auto/height:auto collapses to 0x0 as a flex item, which is
   what the mobile header row is. Give it an explicit height and let width follow. */
.hh-header__m .hh-logo__img{height:28px;width:auto;max-height:none;max-width:160px;}


/* ---------- main nav dropdowns (single row) ---------- */
.hh-nav > ul{display:flex;align-items:center;gap:40px;list-style:none;margin:0;padding:0;}
.hh-nav__item{position:relative;}
.hh-nav__btn{
  display:flex;align-items:center;gap:6px;font-size:14px;color:var(--hh-ink);
  background:none;padding-bottom:2px;border-bottom:1px solid transparent;transition:border-color .2s;
}
.hh-nav__btn:hover{border-color:var(--hh-ink);}
.hh-nav__drop{
  position:absolute;top:100%;left:50%;transform:translateX(-50%);min-width:210px;
  background-color:var(--hh-bg);border:1px solid var(--hh-line);
  list-style:none;margin:10px 0 0;padding:8px 0;display:none;z-index:40;
  box-shadow:0 14px 30px -18px rgba(35,33,32,.35);
}
.hh-nav__item.has-children:hover .hh-nav__drop,
.hh-nav__item.has-children:focus-within .hh-nav__drop,
.hh-nav__drop.is-open{display:block;}
.hh-nav__drop a{display:block;padding:9px 18px;white-space:nowrap;border-bottom:0;font-size:14px;}
.hh-nav__drop a:hover{background-color:var(--hh-fill);border-bottom:0;}
.hh-menu__child{padding-left:16px;color:var(--hh-muted);}

/* ---------- track & trace lookup ---------- */
.hh-track{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;margin-top:26px;max-width:620px;}
.hh-track .hh-field{flex:1 1 280px;min-width:0;margin:0;}
.hh-track .hh-btn{flex:none;height:52px;}
.hh-track__alt{margin-top:44px;padding-top:28px;border-top:1px solid var(--hh-line);max-width:620px;}
.hh-track__alt h2{font-size:20px;font-weight:600;margin:0 0 8px;}
.hh-track__alt p{color:var(--hh-muted);margin:0 0 18px;}
.hh-track__btn{display:inline-block;width:auto;padding:12px 26px;}
@media (max-width:520px){
  .hh-track .hh-btn{width:100%;}
}

/* ---------- short-form clips (buy column) ---------- */
.hh-clips{margin-top:26px;}
.hh-clips__head{
  font-size:11px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--hh-muted);margin-bottom:12px;
}
.hh-clips__vp{position:relative;}
.hh-clips__track{
  display:flex;gap:10px;list-style:none;margin:0;padding:0;
  overflow-x:auto;overscroll-behavior-x:contain;
  scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;
  scrollbar-width:none;
}
.hh-clips__track::-webkit-scrollbar{display:none;}
.hh-clips__item{
  flex:0 0 calc((100% - 20px) / 3);min-width:0;scroll-snap-align:start;
}
.hh-clips__media{
  position:relative;width:100%;aspect-ratio:9/16;overflow:hidden;
  background-color:var(--hh-fill);
}
.hh-clips__video{
  display:block;width:100%;height:100%;object-fit:cover;background-color:var(--hh-fill);
}
.hh-clips__cap{margin-top:8px;font-size:12px;line-height:1.35;color:var(--hh-muted);}

.hh-clips__nav{
  position:absolute;top:calc(50% - 10px);transform:translateY(-50%);
  width:34px;height:34px;flex:none;
  display:flex;align-items:center;justify-content:center;
  background-color:var(--hh-bg);border:1px solid var(--hh-line);
  color:var(--hh-ink);cursor:pointer;z-index:2;
  box-shadow:0 8px 20px -10px rgba(35,33,32,.45);
}
.hh-clips__nav[hidden]{display:none;}
.hh-clips__nav--prev{left:-8px;}
.hh-clips__nav--next{right:-8px;}
/* the shared caret points down - turn it into a chevron */
.hh-clips__nav--prev svg{transform:rotate(90deg);}
.hh-clips__nav--next svg{transform:rotate(-90deg);}

@media (max-width:900px){
  /* a part-visible third card is what tells people the row scrolls */
  .hh-clips__item{flex:0 0 40%;}
  .hh-clips__nav{display:none;}
}

/* ---------- media under the benefits heading (fills the empty left column) ---------- */
.hh-benefits__media{
  margin-top:26px;width:100%;max-width:300px;
  aspect-ratio:var(--hh-bm-ratio,9/16);
  overflow:hidden;background-color:var(--hh-fill);
}
.hh-benefits__media > *{display:block;width:100%;height:100%;}
.hh-benefits__clip{width:100%;height:100%;object-fit:cover;display:block;}
@media (max-width:760px){
  /* on one column it would otherwise tower over the list it introduces */
  .hh-benefits__media{max-width:220px;margin-top:20px;}
}

/* ---------- sale notice under the finish picker ---------- */
.hh-salenote{
  display:flex;align-items:flex-start;gap:11px;
  margin-top:22px;padding:14px 16px;
  border:1px solid var(--hh-badge-line);
  background-color:#FBF6EC;
  font-size:14px;line-height:1.45;color:var(--hh-ink);
}
.hh-salenote__dot{
  flex:none;width:8px;height:8px;border-radius:50%;
  background-color:var(--hh-accent);margin-top:6px;
}
.hh-salenote__body > *{margin:0;}
.hh-salenote__body > * + *{margin-top:4px;}

/* ---------- app block slots (Judge.me and friends) ---------- */
.hh-apps{max-width:1200px;margin:0 auto;}
.hh-apps__h{font-size:30px;font-weight:600;line-height:1.15;margin:10px 0 22px;}
.hh-appblock{margin-top:18px;}
.hh-appblock:first-child{margin-top:0;}
.hh-pdp__buy .hh-appblock{margin-top:22px;}

/* ---------- Judge.me, toned down to match the theme ---------- */
.hh-jdgm{max-width:1200px;margin:0 auto;}
.hh-jdgm__h{font-size:30px;font-weight:600;line-height:1.15;margin:10px 0 22px;}
.hh-jdgm-badge{margin:0 0 14px;}
.jdgm-widget,.jdgm-widget *{font-family:inherit !important;}
.jdgm-star{color:var(--hh-accent) !important;}
.jdgm-prev-badge__text{color:var(--hh-muted) !important;font-size:13px !important;}
.jdgm-rev__author{color:var(--hh-ink) !important;font-weight:600 !important;}
.jdgm-rev__body{color:var(--hh-body) !important;}
.jdgm-rev__timestamp,.jdgm-rev__location{color:var(--hh-faint) !important;}
.jdgm-rev{border-color:var(--hh-line) !important;}
.jdgm-widget .jdgm-row-stars,.jdgm-widget .jdgm-rev-widg__header{border-color:var(--hh-line) !important;}
/* keep Judge.me's provenance badge visible - it is what makes imported reviews honest */
.jdgm-rev__transparency-badge-wrapper{display:block !important;}

/* Judge.me's own stylesheet hides the provenance badge once its app embed is on.
   That label is what distinguishes an imported review from a verified buyer's,
   so force it back - and raise specificity enough to beat their stylesheet. */
.jdgm-widget .jdgm-rev .jdgm-rev__transparency-badge-wrapper,
.jdgm-rev .jdgm-rev__transparency-badge-wrapper{display:block !important;margin-top:10px !important;}
.jdgm-widget .jdgm-rev .jdgm-rev__transparency-badge,
.jdgm-rev .jdgm-rev__transparency-badge{
  display:inline-block !important;visibility:visible !important;
  height:auto !important;width:auto !important;overflow:visible !important;
  font-size:11px !important;letter-spacing:.06em;text-transform:uppercase;
  color:var(--hh-faint) !important;border:1px solid var(--hh-line) !important;
  padding:3px 8px !important;background:none !important;
}

/* ---------- reassurance block above the checkout button ---------- */
.hh-carttrust{margin:0 0 16px;}
.hh-carttrust__list{list-style:none;margin:0 0 12px;padding:0;display:grid;gap:7px;}
.hh-carttrust__list li{
  display:flex;align-items:flex-start;gap:9px;
  font-size:13px;line-height:1.35;color:var(--hh-body);
}
.hh-carttrust__list svg{flex:none;margin-top:1px;width:15px;height:15px;}
.hh-carttrust .hh-payicons{margin:0;}
.hh-carttrust--compact .hh-carttrust__list{gap:6px;margin-bottom:10px;}
.hh-carttrust--compact .hh-carttrust__list li{font-size:12.5px;}
/* on the empty cart the block has no totals column to sit in, so centre it */
.hh-carttrust__empty{max-width:340px;margin:36px auto 0;}
.hh-carttrust__empty .hh-carttrust__list{justify-items:start;}

/* ---------- mobile product gallery ----------
   4:5 pushed the title, price and buy button below the fold on a phone.
   A square image brings them back up without making the photo small.   */
@media (max-width:760px){
  .hh-gal__main{aspect-ratio:1/1;}
}

/* ---------- mobile product page order ----------
   On a phone the two columns stack, which put the gallery's accordion panels
   between the photo and the title - so the name, price and buy button sat
   roughly a full screen further down than they should. display:contents lifts
   the gallery's children into the same flex context so they can be reordered:
   photo, thumbs, buy box, then the panels.                                   */
@media (max-width:760px){
  .hh-pdp{flex-direction:column;flex-wrap:nowrap;}
  .hh-pdp__gallery{display:contents;}
  .hh-pdp__gallery .hh-gal__main{order:1;}
  .hh-pdp__gallery .hh-thumbs{order:2;}
  .hh-pdp__buy{order:3;max-width:none;}
  .hh-pdp__gallery .hh-faq--inline{order:4;}

  /* thumbnails were wrapping to four rows and eating 250px; one swipeable row */
  .hh-thumbs{
    flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;
    -webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:2px;
  }
  .hh-thumbs::-webkit-scrollbar{display:none;}
  .hh-thumb{flex:0 0 auto;width:56px;}
  .hh-pdp h1{font-size:28px;margin-top:4px;}
}
