/* Shop pages, "More from" grid, add-ons, offers and the little cart drawer (drawn by shop.js).
   Uses the palette variables styles.css defines on .hh-comfort-set (--bg, --text, --text-dim, --brass, --brass-bright, --hairline). */
.hh-comfort-set .hh-page--wide{ padding:56px 0 90px; }
.hh-comfort-set .shopwrap{ max-width:1160px; margin:0 auto; padding:0 24px; }
.hh-comfort-set .shopwrap h1{ font-family:'Libre Caslon Display', serif; font-weight:400; font-size:clamp(32px,4vw,52px); line-height:1.1; margin:0 0 18px; color:var(--text); }
.hh-comfort-set .hh-muted{ color:var(--text-dim); padding:40px 0; }
.hh-comfort-set .hh-more{ padding:72px 0; border-top:1px solid var(--hairline); }
.hh-comfort-set .hh-more h2{ font-family:'Libre Caslon Display', serif; font-weight:400; font-size:clamp(28px,3.4vw,42px); margin:6px 0 0; color:var(--text); }
.hh-comfort-set .pgrid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:22px; margin-top:26px; }
.hh-comfort-set .pcard{ display:flex; flex-direction:column; gap:8px; text-decoration:none; color:var(--text); }
.hh-comfort-set .pcard__img{ position:relative; display:block; aspect-ratio:1/1; border-radius:14px; overflow:hidden; background:#1C1F26; border:1px solid var(--hairline); }
.hh-comfort-set .pcard__img img{ width:100%; height:100%; object-fit:cover; transition:transform .35s; }
.hh-comfort-set .pcard:hover .pcard__img img{ transform:scale(1.03); }
.hh-comfort-set .pcard__ph{ display:block; width:100%; height:100%; background:linear-gradient(135deg,#23262E,#2C2A27); }
.hh-comfort-set .pcard__ph--big{ aspect-ratio:1/1; }
.hh-comfort-set .pcard__tag{ position:absolute; top:12px; left:12px; background:var(--brass); color:#14161B; border-radius:999px; padding:3px 12px; font-size:12px; font-weight:600; }
.hh-comfort-set .pcard__t{ font-weight:600; line-height:1.3; }
.hh-comfort-set .pcard__p{ color:var(--text-dim); } .hh-comfort-set .pcard__p s{ margin-left:8px; opacity:.7; }
.hh-comfort-set .pdp2{ display:grid; grid-template-columns:1.05fr 1fr; gap:48px; align-items:start; }
@media (max-width:820px){ .hh-comfort-set .pdp2{ grid-template-columns:1fr; gap:26px; } }
.hh-comfort-set .gallery__main{ border-radius:16px; overflow:hidden; background:#1C1F26; border:1px solid var(--hairline); aspect-ratio:1/1; }
.hh-comfort-set .gallery__main img{ width:100%; height:100%; object-fit:cover; }
.hh-comfort-set .gallery__thumbs{ display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin-top:12px; }
.hh-comfort-set .gallery__thumbs button{ padding:0; border:2px solid transparent; border-radius:10px; overflow:hidden; background:#1C1F26; cursor:pointer; aspect-ratio:1/1; }
.hh-comfort-set .gallery__thumbs button[aria-current="true"]{ border-color:var(--brass); }
.hh-comfort-set .gallery__thumbs img{ width:100%; height:100%; object-fit:cover; }
.hh-comfort-set .buybox2 .price{ font-size:26px; color:var(--text); margin:6px 0 10px; } .hh-comfort-set .buybox2 .price s{ color:var(--text-dim); font-size:17px; margin-left:10px; }
.hh-comfort-set .buybox2 .blurb{ color:var(--text-dim); line-height:1.7; }
.hh-comfort-set .buybox2 .buy{ display:flex; gap:12px; flex-wrap:wrap; margin:18px 0 8px; align-items:center; }
.hh-comfort-set .buybox2 .fine{ font-size:13px; color:var(--text-dim); margin-top:14px; }
.hh-comfort-set .qty{ display:inline-flex; align-items:center; border:1px solid var(--hairline); border-radius:999px; }
.hh-comfort-set .qty button{ width:42px; height:46px; border:0; background:none; color:var(--text); font-size:20px; cursor:pointer; }
.hh-comfort-set .qty input{ width:36px; text-align:center; border:0; background:none; color:var(--text); font:inherit; }
.hh-comfort-set .optsel{ display:block; margin:14px 0 0; font-size:13px; color:var(--text-dim); }
.hh-comfort-set .optsel select{ display:block; margin-top:6px; width:100%; padding:12px 14px; border:1px solid var(--hairline); border-radius:8px; background:var(--bg); color:var(--text); font:inherit; }
.hh-comfort-set .msg{ min-height:1.2em; font-size:14px; color:var(--text-dim); } .hh-comfort-set .msg.is-error{ color:#E38C7A; }
.hh-comfort-set .deals{ list-style:none; margin:12px 0; padding:0; display:grid; gap:6px; }
.hh-comfort-set .deals li{ border:1px solid var(--hairline); border-radius:10px; padding:8px 14px; font-size:14px; color:var(--text-dim); }
.hh-comfort-set .deals li:before{ content:"\2726"; color:var(--brass-bright); margin-right:8px; }
.hh-comfort-set .kmx{ margin:16px 0; }
.hh-comfort-set .kmx__h{ font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--brass-bright); font-weight:600; margin-bottom:8px; }
.hh-comfort-set .kmx--hint{ border:1px dashed var(--brass); border-radius:10px; padding:10px 14px; font-size:14px; color:var(--text-dim); }
.hh-comfort-set .kmx--applied{ display:grid; gap:4px; }
.hh-comfort-set .applied{ display:flex; justify-content:space-between; gap:10px; font-size:14px; color:var(--brass-bright); }
.hh-comfort-set .addon{ display:grid; grid-template-columns:52px 1fr auto; gap:12px; align-items:center; padding:8px 0; border-bottom:1px solid var(--hairline); }
.hh-comfort-set .addon img,.hh-comfort-set .addon__ph{ width:52px; height:52px; border-radius:8px; object-fit:cover; background:#1C1F26; }
.hh-comfort-set .addon__t b{ display:block; font-weight:600; line-height:1.2; color:var(--text); } .hh-comfort-set .addon__t span{ font-size:14px; color:var(--text-dim); }
.hh-comfort-set .addon__b{ border:1px solid var(--brass); background:transparent; color:var(--brass-bright); border-radius:999px; padding:7px 16px; font:inherit; font-size:14px; cursor:pointer; }
.hh-comfort-set .addon__b:hover{ background:var(--brass); color:#14161B; }
.hh-comfort-set .addon__b[disabled]{ opacity:.5; cursor:default; }
.hh-comfort-set .kmx--co{ margin:0 0 24px; }
.hh-comfort-set .codeform,.hh-comfort-set .hh-co-code{ display:flex; gap:8px; }
.hh-comfort-set .codeform input,.hh-comfort-set .hh-co-code input{ flex:1; min-width:0; padding:11px 14px; border:1px solid var(--hairline); border-radius:999px; background:var(--bg); color:var(--text); font:inherit; font-size:14px; text-transform:uppercase; }
.hh-comfort-set .codebtn,.hh-comfort-set .hh-co-code button{ border:1px solid var(--brass); background:transparent; color:var(--brass-bright); border-radius:999px; padding:0 18px; font:inherit; cursor:pointer; }
.hh-comfort-set .codebtn:hover,.hh-comfort-set .hh-co-code button:hover{ background:var(--brass); color:#14161B; }
.hh-comfort-set .hh-co-code{ margin-top:14px; }
.hh-comfort-set .codemsg,.hh-comfort-set .hh-co-codemsg{ min-height:1.2em; margin:6px 4px 0; font-size:13px; }
.hh-comfort-set .is-ok{ color:#7CC38A; } .hh-comfort-set .is-bad{ color:#E38C7A; }
/* the little cart for the /shop pages */
.kmc-btn{ position:fixed; right:18px; bottom:18px; z-index:60; display:inline-flex; gap:8px; align-items:center; padding:12px 20px; border-radius:999px; border:1px solid #B8874A; background:#14161B; color:#F1EDE6; font:600 15px 'Manrope',system-ui,sans-serif; cursor:pointer; box-shadow:0 10px 30px rgba(0,0,0,.45); }
.kmc-n{ display:inline-grid; place-items:center; min-width:22px; height:22px; border-radius:11px; background:#B8874A; color:#14161B; font-size:12px; }
.kmc-n[data-n="0"]{ opacity:.45; }
.kmc-scrim{ position:fixed; inset:0; z-index:70; background:rgba(0,0,0,.55); opacity:0; pointer-events:none; transition:opacity .25s; }
.kmc-scrim.is-on{ opacity:1; pointer-events:auto; }
.kmc{ position:fixed; top:0; right:0; bottom:0; z-index:80; width:min(420px,100vw); display:flex; flex-direction:column; background:#14161B; color:#F1EDE6; border-left:1px solid #34383F; transform:translateX(100%); transition:transform .3s; font-family:'Manrope',system-ui,sans-serif; }
.kmc.is-on{ transform:none; }
.kmc__head{ display:flex; justify-content:space-between; align-items:center; padding:18px 22px; border-bottom:1px solid #34383F; }
.kmc__head h2{ margin:0; font:400 24px 'Libre Caslon Display',serif; }
.kmc__x{ background:none; border:0; color:inherit; font-size:28px; cursor:pointer; line-height:1; }
.kmc__body{ flex:1; overflow:auto; padding:6px 22px; }
.kmc__foot{ padding:16px 22px 22px; border-top:1px solid #34383F; }
.kmc__sum{ display:flex; justify-content:space-between; font-size:17px; margin-bottom:12px; }
.kmc__go{ display:block; text-align:center; text-decoration:none; }
.kmc__empty{ color:#A6ABB4; padding:30px 0; text-align:center; }
.kmc__line{ display:grid; grid-template-columns:64px 1fr auto; gap:12px; padding:14px 0; border-bottom:1px solid #34383F; align-items:start; }
.kmc__line img,.kmc__ph{ width:64px; height:64px; border-radius:8px; object-fit:cover; background:#23262E; }
.kmc__t{ font-weight:600; line-height:1.25; } .kmc__p{ color:#A6ABB4; font-size:13px; }
.kmc__qty{ display:inline-flex; align-items:center; gap:10px; margin-top:6px; border:1px solid #34383F; border-radius:999px; padding:0 4px; }
.kmc__qty button{ width:30px; height:30px; background:none; border:0; color:inherit; font-size:18px; cursor:pointer; }
.kmc__r{ text-align:right; } .kmc__r s{ display:block; color:#A6ABB4; font-size:12px; }
.kmc__rm{ background:none; border:0; color:#A6ABB4; text-decoration:underline; font-size:12px; cursor:pointer; padding:0; }
.kmc__line--gift{ background:rgba(184,135,74,.08); border-radius:10px; padding-left:8px; padding-right:8px; }
.kmc__free{ color:#D3A667; letter-spacing:.08em; font-size:13px; }
.kmc .kmx__h{ color:#D3A667; } .kmc .addon__t b{ color:#F1EDE6; } .kmc .addon__t span,.kmc .applied,.kmc .kmx--hint{ color:#A6ABB4; }
.kmc .codeform input{ background:#14161B; color:#F1EDE6; border-color:#34383F; }
.kmc .codebtn{ border-color:#B8874A; color:#D3A667; }
.kmc #km-code{ margin:0 0 12px; }
