:root {
  --text-primary: #1f1520;
  --secondary-color: #0f766e;
  --font-size-lg: 1.08rem;
  --cta-on-primary: #ffffff;
  --font-size-3xl: 3.95rem;
  --font-weight-medium: 600;
  --font-size-xs: 0.8105rem;
  --ic-color: var(--btn-primary-text, #ffffff);
  --btn-primary-bg: #86198f;
  --font-size-base: 1.0473rem;
  --accent-color: #0f766e;
  --card-icon-mx: auto;
  --border-radius-lg: 12px;
  --primary-bg: #f9f2f9;
  --border-radius-sm: 3px;
  --card-bg: #ffffff;
  --btn-primary-text: #ffffff;
  --font-weight-normal: 400;
  --btn-secondary-border: #86198f;
  --card-align: center;
  --ic-border: none;
  --ic-border-color: transparent;
  --btn-secondary-text: #86198f;
  --ic-bg: var(--primary-color);
  --border-color: #dacddb;
  --secondary-bg: #ffffff;
  --primary-color: #86198f;
  --section-padding: 84px 0;
  --border-radius: 6px;
  --card-footer-justify: center;
  --font-family: Outfit, 'qk9y1dsl', 'y2k7flcx', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  --font-display: Newsreader, 'jtdic', 'psrr18x9', 'w5fctcqd', Outfit, 'qk9y1dsl', 'y2k7flcx', serif;
  --font-weight-bold: 700;
  --container-max-width: 1200px;
  --font-size-sm: 0.9843rem;
  --text-muted: #756c75;
  --font-size-xl: 1.62rem;
  --card-align-self: center;
  --btn-secondary-bg: transparent;
  --font-size-2xl: 2.82rem;
  --shadow-lg: 0 8px 40px #86198f18;
  --text-secondary: #4e414f;
  --shadow: 0 4px 24px #86198f10;
}
.sc-vogcL{position:relative;padding:0}
.em-dIoDL{position:relative;min-height:clamp(400px,58vh,600px);display:flex;align-items:flex-end;overflow:hidden;border-radius:0}
.sc-o2bFF{position:absolute;inset:0}
.sc-o2bFF img{width:100%;height:100%;object-fit:cover;display:block;animation:hcv-zoom 14s ease-in-out infinite alternate}
.sc-o2bFF::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,color-mix(in srgb,var(--primary-bg) 22%,transparent),color-mix(in srgb,var(--primary-bg) 94%,transparent) 78%)}
.css-Gii0T5{position:relative;width:100%;padding:clamp(30px,5vw,64px) 0}
.jsx-EpMi{font-size:.74rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--primary-color)}
.em-J1zvs7{margin:12px 0 12px;font-size:clamp(2rem,6vw,4.1rem);line-height:.96;letter-spacing:-.045em;max-width:20ch}
.sc-uGQywa{margin:0 0 22px;max-width:54ch;color:var(--text-secondary);line-height:1.7}
.em-qoyUyW{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.sc-YJ3Bb{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.jsx-ZATK6{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(12px,1.4vw,18px);padding:clamp(18px,2.4vw,28px) 0}
.cart-badge { display: inline-flex; align-items: center; justify-content: center; min-width: 18px; height: 18px; background: var(--primary-color); color: var(--btn-primary-text); border-radius: 9px; font-size: 0.68rem; font-weight: var(--font-weight-bold); padding: 0 5px; line-height: 1; }
.cart-badge.em-bofhCn { display: none; }
/* ---- wide product row (list layouts) ---- */
  .css-6IC76{display:grid;grid-template-columns:clamp(220px,22vw,320px) minmax(0,1fr) auto;gap:22px;align-items:stretch;padding:16px 18px;border:1px solid var(--border-color);border-radius:var(--border-radius-lg);background:var(--card-bg);transition:border-color .25s ease,transform .25s ease,opacity .2s ease}
.css-6IC76:hover{border-color:color-mix(in srgb,var(--primary-color) 38%,var(--border-color));transform:translateX(3px)}
.jsx-mljvi{position:relative;display:block;height:100%;min-height:196px;border-radius:calc(var(--border-radius-lg) - 6px);overflow:hidden;background:var(--secondary-bg)}
.jsx-mljvi img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:center center;display:block;transition:transform .5s ease}
.jsx-mljvi .jsx-OelFn{inset:10px auto auto 10px;display:grid;justify-items:start;gap:6px;max-width:calc(100% - 20px)}
.jsx-mljvi .em-kVsi0{width:max-content;max-width:100%;padding:4px 9px;line-height:1.1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.css-6IC76:hover .jsx-mljvi img{transform:scale(1.05)}
.sc-FGsfL{display:grid;align-content:center;gap:8px;min-width:0;padding-block:4px}
.sc-7FOklA{display:grid;align-content:center;gap:10px;justify-items:end;text-align:right;min-width:122px}
.jsx-DJDr0{font-size:clamp(1.8rem,4.8vw,var(--font-size-2xl));line-height:1.12;margin:12px 0 10px}
.jsx-H1s7qW { background: var(--card-bg); border: 1px solid var(--border-color); border-radius: var(--border-radius-lg); padding: 40px; max-width: 480px; width: 100%; position: relative; box-shadow: var(--shadow-lg); }
.em-ZFVOE { position: absolute; top: 16px; right: 16px; background: none; border: none; cursor: pointer; color: var(--text-secondary); font-size: 1.4rem; line-height: 1; padding: 4px; }
.em-ZFVOE:hover { color: var(--text-primary); }
.sc-NyH8T { font-size: var(--font-size-xs, 0.72rem); font-weight: var(--font-weight-bold); color: var(--primary-color); text-transform: uppercase; letter-spacing: 0.1em; margin-bottom: 10px; }
.em-r4Plx { font-size: var(--font-size-xl); font-weight: var(--font-weight-bold); margin-bottom: 8px; line-height: 1.2; }
.css-uXJQHc { font-size: var(--font-size-sm); color: var(--text-secondary); margin-bottom: 28px; line-height: 1.6; }
.sc-o9DAi { margin-bottom: 16px; }
.css-TKIp { display: block; font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); margin-bottom: 6px; }
.css-xBho, .jsx-rNxDVz { width: 100%; padding: 12px 16px; border: 1px solid var(--border-color); border-radius: var(--border-radius); background: var(--primary-bg); color: var(--text-primary); font-size: var(--font-size-sm); font-family: inherit; transition: border-color 0.2s; }
.css-xBho:focus, .jsx-rNxDVz:focus { outline: none; border-color: var(--primary-color); }
.jsx-rNxDVz { resize: vertical; min-height: 100px; }
.sc-BJej5 { width: 100%; padding: 14px; background: var(--btn-primary-bg); color: var(--btn-primary-text); border: none; border-radius: var(--border-radius); font-size: var(--font-size-base); font-weight: var(--font-weight-bold); cursor: pointer; font-family: inherit; transition: opacity 0.2s; margin-top: 4px; }
.sc-BJej5:hover { opacity: 0.88; }
.jsx-RonUa { text-align: center; font-size: var(--font-size-xs, 0.72rem); color: var(--text-muted); margin-top: 12px; }
.sc-oPXs { display: none; text-align: center; padding: 24px 0; }
.em-33IN { font-size: 3rem; margin-bottom: 16px; }
.jsx-ON6QK { font-size: var(--font-size-lg); font-weight: var(--font-weight-bold); margin-bottom: 8px; }
.css-WMPq { font-size: var(--font-size-sm); color: var(--text-secondary); }
.wp-rating-text { font-size: var(--font-size-sm); color: var(--text-secondary); }
.wp-rating-text strong { color: var(--text-primary); }
.sc-xMpP{padding:16px;border-radius:var(--border-radius);background:var(--secondary-bg);border:1px solid var(--border-color)}
.sc-xMpP small{display:block;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px}
.jsx-8Mqgh{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:32px;padding:42px 0}
.jsx-daxoBl { display: flex; flex-direction: column; gap: 10px; }
.jsx-daxoBl a { color: var(--text-secondary); text-decoration: none; line-height: 1.5; overflow-wrap: anywhere; }
::view-transition-old(site-top-s1i1h){display:none}
/* buy affordances */
  .sk-buy-link{background:none;border:0;padding:0;font-family:inherit;font-size:.78rem;font-weight:800;color:var(--primary-color);cursor:pointer;text-decoration:underline;text-underline-offset:.18em}
.sk-buy-link:hover{filter:brightness(1.1)}
/* ---- policy chips (product buy box) ----
     These used to render as a stacked list of plain links under the payment
     row, which read as small print rather than as the "check the terms" action
     it is. Chips in a single row, with an icon, so they look clickable and stop
     competing with the description. */
  .em-Svcv{display:flex;flex-wrap:wrap;gap:8px;min-width:0}
.em-Svcv a{display:inline-flex;align-items:center;gap:6px;min-width:0;max-width:100%;flex:0 1 auto;padding:7px 12px;border-radius:999px;border:1px solid var(--border-color);background:var(--card-bg);color:var(--text-secondary);font-size:.76rem;font-weight:700;line-height:1.35;white-space:normal;overflow-wrap:anywhere;transition:border-color .2s ease,color .2s ease,background .2s ease}
.em-Svcv a:hover{border-color:var(--primary-color);color:var(--primary-color);background:color-mix(in srgb,var(--primary-color) 8%,var(--card-bg))}
.em-Svcv svg{width:14px;height:14px;flex-shrink:0}
.wp-rating-row { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.css-9kjT{padding:clamp(40px,5vw,74px) 0;background:var(--secondary-bg);border-top:1px solid var(--border-color)}
.sc-myCnhV{max-width:60ch;margin-bottom:clamp(20px,2.6vw,32px)}
.css-hxp8X{margin:10px 0 10px;font-size:clamp(1.45rem,3.2vw,2.3rem);line-height:1.06;letter-spacing:-.035em}
.em-apX8dI{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,1.5vw,20px)}
.jsx-86bV6g{display:grid;gap:9px;align-content:start;padding:20px;border:1px solid var(--border-color);border-radius:var(--border-radius-lg);background:var(--card-bg);transition:transform .25s ease,border-color .25s ease}
.jsx-86bV6g:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--primary-color) 38%,var(--border-color))}
.em-2MpB6{font-size:.98rem;font-weight:800;line-height:1.35}
.css-Tzpn{margin:0;font-size:.88rem;line-height:1.75;color:var(--text-secondary)}
.css-FmfIG{font-size:.7rem;font-weight:800;letter-spacing:.1em;color:var(--primary-color)}
.css-mtMSJ5{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:clamp(20px,2.6vw,30px);font-size:.86rem;color:var(--text-secondary)}
.css-4NXIaY{color:var(--text-muted);font-size:.8rem}
/* ---- icon chip ---- */
  .css-PEwxj{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:12px;background:color-mix(in srgb,var(--primary-color) 12%,transparent);color:var(--primary-color);font-size:1.15rem;flex-shrink:0}
.sk-ic--plain{width:auto;height:auto;background:none;border-radius:0}
.sk-ic--lg{width:46px;height:46px;font-size:1.35rem}
.css-ec8xq{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:999px;border:1px solid var(--border-color);background:transparent;color:var(--text-primary);cursor:pointer}
.sc-E90b { overflow-wrap: anywhere; }
.ab4-stats { padding: 24px; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.em-71MuX { padding: 72px 0; }
.jsx-bmeZjo { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
.jsx-fwe9O { background: var(--secondary-bg); border: 1px solid var(--border-color); border-radius: var(--border-radius); padding: 28px 24px; text-align: center; }
.css-vqth { font-size: 1.3rem; margin-bottom: 14px; width: 48px; height: 48px; display: flex; align-items: center; justify-content: center; background: var(--ic-bg, color-mix(in srgb, var(--primary-color) 12%, transparent)); color: var(--ic-color, var(--primary-color)); border: var(--ic-border, none); border-radius: var(--border-radius-sm); margin-left: auto; margin-right: auto; }
.sc-ecsS { font-size: var(--font-size-base); font-weight: var(--font-weight-bold); margin-bottom: 8px; }
.em-cMvcb { font-size: var(--font-size-sm); color: var(--text-secondary); line-height: 1.7; }
.css-vg6Yo{font-size:clamp(2rem,5vw,3rem);line-height:1.04;letter-spacing:-.04em;margin:14px 0}
.sc-sgQkJg{font-size:1.15rem;font-weight:800;letter-spacing:-.04em;text-decoration:none;color:var(--text-primary)}
.jsx-YtDH{padding:72px 0;background:linear-gradient(180deg,var(--primary-bg),var(--secondary-bg))}
.ab4-stat { background: var(--secondary-bg); border-radius: var(--border-radius); padding: 20px; border: 1px solid var(--border-color); text-align: center; }
.ab4-stat strong { display: block; color: var(--primary-color); font-size: var(--font-size-xl); margin-bottom: 6px; }
.em-ujEc { color: var(--secondary-color); font-size: var(--font-size-sm); margin-bottom: 14px; min-height: 20px; }
/* ---- rating stars (SVG, see _icons.njk) ---- */
  .sc-AqXP9t{display:inline-flex;align-items:center;gap:2px;color:var(--secondary-color,var(--primary-color));line-height:1;font-size:.92em}
.sc-AqXP9t svg{display:block;width:1em;height:1em}
.jsx-bxKPz { display: inline-flex; align-items: center; justify-content: center; width: 100%; min-height: 48px; padding: 0 18px; border-radius: var(--border-radius); text-decoration: none; font-weight: var(--font-weight-bold); font-size: var(--font-size-sm); text-align: center; }
.em-iWpQA { border: 1px solid var(--primary-color); background: var(--primary-color); color: var(--btn-primary-text, #fff); cursor: pointer; font-family: inherit; }
.sc-vyxzH { border: 1px solid var(--border-color); background: transparent; color: var(--text-primary); }
.sc-EN4x4{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-top:24px;padding-top:18px;border-top:1px solid var(--border-color);font-size:.8rem;color:var(--text-muted)}
.jsx-oEziwr{font-size:.82rem;font-weight:600;color:var(--text-muted);text-decoration:line-through}
.jsx-kt8tEE{text-decoration:line-through;font-size:.8rem;color:var(--text-muted)}
.jsx-hyM8ca { width: 100%; background: var(--card-bg); border: 1px solid var(--border-color); border-radius: var(--border-radius); color: var(--text-primary); font-family: inherit; font-size: var(--font-size-base); padding: 12px 14px; outline: none; transition: border-color 0.2s; }
.jsx-hyM8ca::placeholder { color: var(--text-muted); }
.jsx-hyM8ca:focus { border-color: var(--primary-color); }
.jsx-hyM8ca.is-error { border-color: var(--secondary-color); }
/* ---- buttons / chips ---- */
  .jsx-s1sLk{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;padding:0 16px;border-radius:var(--border-radius);border:1px solid var(--primary-color);background:var(--primary-color);color:var(--btn-primary-text,#fff);font-family:inherit;font-size:.82rem;font-weight:800;cursor:pointer;text-decoration:none;position:relative;overflow:hidden;transition:filter .2s ease,transform .2s ease}
.jsx-s1sLk:hover{filter:brightness(1.06);transform:translateY(-1px)}
.jsx-s1sLk:active{transform:translateY(0)}
.css-Porb5{background:transparent;color:var(--text-primary);border-color:var(--border-color)}
.css-Porb5:hover{border-color:var(--primary-color);color:var(--primary-color);filter:none}
.sc-On7o{width:100%}
.css-TO2Lc{min-height:36px;font-size:.76rem;padding:0 12px}
.jsx-OOGn61{padding:72px 0;background:var(--primary-bg)}
.sc-y54NV{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;font-weight:800;font-size:1.05rem}
.em-6WWhW9{padding:6px 0 22px}
/* ---- motion kit ----
     One reveal flavour per site. Only elements _motion.njk ARMS (`is-arm`, set
     by JS on elements still below the fold) start displaced; the observer then
     releases them with `is-in`. Everything else — the first screen, no-JS,
     reduced motion — is visible from the first frame, which is also the frame
     the cross-document view transition snapshots. Hiding `[data-cy-name]` from
     CSS made the hero blank through every crossfade and pop in afterwards. */
  [data-cy-name].is-arm{opacity:0;transition:opacity .62s cubic-bezier(.2,.7,.3,1),transform .62s cubic-bezier(.2,.7,.3,1),clip-path .7s ease;will-change:opacity,transform}
[data-cy-name].is-arm{transform:translateY(14px);filter:blur(9px)}
[data-cy-name].is-arm.is-in{opacity:1;transform:none;clip-path:inset(0 0 0 0);filter:none}
.wp-avatar-chip { width: 44px; height: 44px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: color-mix(in srgb, var(--primary-color) 14%, var(--secondary-bg)); color: var(--text-primary); border: 1px solid color-mix(in srgb, var(--primary-color) 18%, var(--border-color)); font-size: var(--font-size-sm); font-weight: var(--font-weight-bold); letter-spacing: 0.04em; flex-shrink: 0; }
.em-AQVdKA { color: var(--text-secondary); line-height: 1.85; margin-bottom: 6px; overflow-wrap: anywhere; }
.css-bt4PoS,.jsx-RgJItJ,.em-vood p,.jsx-eDGtP{color:var(--text-secondary);line-height:1.8}
.sc-K6glt{display:flex;align-items:end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:18px}
.sc-K6glt h2{margin:0;font-size:clamp(1.3rem,2.6vw,1.9rem);letter-spacing:-.03em}
.css-DeO2E { display: flex; flex-direction: column; gap: 18px; }
.wp-payment-badge { display: inline-flex; align-items: center; justify-content: center; min-height: 34px; padding: 0 12px; border-radius: 999px; border: 1px solid var(--border-color); background: color-mix(in srgb, var(--card-bg) 92%, transparent); color: var(--text-primary); font-size: var(--font-size-sm); font-weight: var(--font-weight-bold); }
.sc-WFaZ { display: grid; gap: 14px; }
.css-GQshIN { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; color: var(--text-secondary); }
.css-GQshIN strong { color: var(--text-primary); overflow-wrap: anywhere; text-align: right; }
.sc-Ls2N5 { padding-top: 14px; border-top: 1px solid var(--border-color); font-size: var(--font-size-lg); }
.sc-g1cX9E { color: var(--text-secondary); font-size: var(--font-size-sm); line-height: 1.7; overflow-wrap: anywhere; }
.jsx-jiYh { display: grid; gap: 12px; margin-top: 8px; }
.em-EqL2{display:flex;align-items:center;gap:16px;padding:14px 0}
.css-siQREH{background:var(--card-bg);padding:14px;display:flex;align-items:center;gap:10px}
.jsx-NwmYA2{min-height:130px;resize:vertical}
.css-XSTT { display: inline-flex; align-items: center; gap: 8px; padding: 12px 26px; border-radius: var(--border-radius); font-size: var(--font-size-sm); font-weight: var(--font-weight-bold); cursor: pointer; border: 2px solid var(--border-color); background: transparent; color: var(--text-primary); transition: all 0.2s; font-family: inherit; }
.css-XSTT:hover { border-color: var(--primary-color); color: var(--primary-color); }
.css-qsjv { display: none; position: fixed; inset: 0; z-index: 2000; background: rgba(0,0,0,0.72); backdrop-filter: blur(4px); align-items: center; justify-content: center; }
.css-qsjv.is-open { display: flex; }
.jsx-hZk5 { background: var(--secondary-bg); border: 1px solid var(--border-color); border-radius: var(--border-radius-lg); width: 480px; max-width: 96vw; max-height: 92vh; overflow-y: auto; padding: 40px; position: relative; box-shadow: var(--shadow-lg); }
.sc-fv4ef { position: absolute; top: 14px; right: 14px; background: none; border: none; color: var(--text-secondary); cursor: pointer; font-size: 1.4rem; line-height: 1; width: 32px; height: 32px; border-radius: 50%; display: flex; align-items: center; justify-content: center; transition: background 0.2s, color 0.2s; }
.sc-fv4ef:hover { background: var(--border-color); color: var(--text-primary); }
.css-UByIbc { font-size: var(--font-size-xl); font-weight: var(--font-weight-bold); margin-bottom: 6px; }
.sc-ebhm31 { color: var(--text-secondary); font-size: var(--font-size-sm); margin-bottom: 28px; line-height: 1.6; }
.css-P7nwwN,.em-Kzpgj,.ct5-strip__item{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius-lg)}
.css-P7nwwN,.em-Kzpgj{padding:28px}
.em-gOXvvn { display: inline-flex; align-items: center; gap: 8px; }
.sc-c4HRvW { text-align: center; padding: 50px 34px; background: var(--secondary-bg); border: 1px solid var(--border-color); border-radius: var(--border-radius-lg); }
.sc-c4HRvW p { max-width: 620px; margin: 0 auto 24px; color: var(--text-secondary); line-height: 1.8; }
.sc-ZrA2r{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}
/* shop_cats_layout: a card grid, a horizontal scroll rail, or a text-first
     list with a small thumbnail. */
  .sc-ZrA2r.is-rail{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(230px,1fr);overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:6px}
.sc-ZrA2r.is-rail .sc-A2BVx{scroll-snap-align:start}
.sc-ZrA2r.is-list{grid-template-columns:repeat(2,minmax(0,1fr))}
.sc-ZrA2r.is-list .sc-A2BVx{display:grid;grid-template-columns:104px minmax(0,1fr);align-items:center}
.sc-ZrA2r.is-list .jsx-wQ9vmE{aspect-ratio:1/1}
.sc-ZrA2r.is-list .jsx-FO8cWo{padding:12px 16px}
/* ---- product card ---- */
  .sc-coty3{position:relative;display:flex;flex-direction:column;background:var(--card-bg);overflow:hidden;transition:transform .28s cubic-bezier(.2,.7,.3,1),box-shadow .28s ease,border-color .28s ease}
.sc-coty3{border:1px solid transparent;border-radius:var(--border-radius-lg);box-shadow:0 1px 2px rgba(15,23,42,.06),0 8px 24px -18px rgba(15,23,42,.4)}
.sc-coty3:hover{transform:translateY(-5px);box-shadow:0 4px 10px rgba(15,23,42,.08),0 26px 48px -26px rgba(15,23,42,.45)}
.sk-card__media{position:relative;display:block;overflow:hidden;background:var(--secondary-bg)}
.sk-card__media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s cubic-bezier(.2,.7,.3,1)}
.sc-coty3:hover .sk-card__media img{transform:scale(1.06)}
.sk-card__media--sq img{aspect-ratio:1/1}
.sk-card__media--tall img{aspect-ratio:4/5}
.sk-card__media--wide img{aspect-ratio:4/3}
.sk-card__body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:7px;flex:1}
.sk-card__foot{display:flex;gap:10px;margin-top:auto;padding-top:4px;flex-wrap:nowrap;align-items:center;justify-content:space-between;min-width:0}
.sk-card__foot>*{min-width:0;flex:0 1 auto}
.sc-coty3{position:relative}
.sk-card__foot{position:relative;z-index:2}
.cart-hdr-btn { background: none; border: none; cursor: pointer; color: var(--text-secondary); display: inline-flex; align-items: center; gap: 5px; padding: 6px 10px; border-radius: var(--border-radius); transition: color 0.2s, background 0.2s; font-family: inherit; font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); position: relative; }
.cart-hdr-btn:hover { color: var(--text-primary); background: color-mix(in srgb, var(--border-color) 60%, transparent); }
.jsx-RuxU{color:var(--text-secondary);line-height:1.7}
.sc-wx1nLs { max-width: var(--container-max-width); margin: 0 auto; padding-inline: 32px; }
.em-9ByAkb{display:inline-flex;align-items:center;gap:6px;font-size:.74rem;font-weight:700;color:#15803d}
.em-9ByAkb::before{content:'';width:7px;height:7px;border-radius:50%;background:currentColor;flex-shrink:0}
.em-sArOO{color:#b45309}
.sc-CWjhGb{color:var(--text-muted)}
.em-TvgN { font-size: var(--font-size-xl); font-weight: var(--font-weight-bold); color: var(--primary-color); }
.jsx-jjt5J6 h4{margin:0 0 12px;font-size:.78rem;text-transform:uppercase;letter-spacing:.1em}
.jsx-jjt5J6 nav{display:grid;gap:9px}
.jsx-jjt5J6 a{color:var(--text-muted);text-decoration:none}
.jsx-jjt5J6 a:hover{color:var(--primary-color)}
.sc-FJ3Nm{color:var(--text-secondary);line-height:1.78}
.em-XGT10{padding:clamp(30px,4vw,52px) 0;background:var(--primary-color);color:var(--cta-on-primary,#fff)}
.sc-ddzsUg{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:clamp(18px,3vw,40px);align-items:center}
.css-PASPoT{font-size:.7rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;opacity:.72}
.em-XAX3J2{margin:8px 0 8px;font-size:clamp(1.4rem,3.4vw,2.4rem);line-height:1.06;letter-spacing:-.03em}
.em-SGsJL{margin:0;max-width:60ch;opacity:.86;line-height:1.65}
.jsx-H5ZkTZ{display:inline-flex;align-items:center;gap:8px;margin-top:16px;padding:0 20px;min-height:46px;border-radius:var(--border-radius);background:var(--cta-on-primary,#fff);color:var(--primary-color);font-weight:800;font-size:.86rem;text-decoration:none;transition:transform .2s ease}
.jsx-H5ZkTZ:hover{transform:translateY(-2px)}
.sc-shd0C{display:grid;gap:10px;justify-items:center;padding:16px;border-radius:var(--border-radius-lg);background:color-mix(in srgb,#fff 14%,transparent);min-width:210px}
.sc-shd0C img{width:150px;height:150px;object-fit:cover;border-radius:var(--border-radius)}
.css-ffd5{font-size:1.3rem;font-weight:800}
.sc-8hbx5{font-size:.86rem;text-decoration:line-through;opacity:.66;margin-left:6px}
.em-WhwwXz { background: var(--card-bg); border: 1px solid var(--border-color); border-radius: var(--border-radius-lg); padding: 22px; }
/* `overflow:auto` used to live on this nav. It made the bar a scroll
     container, which broke two things at once: dragging a selection across the
     header auto-scrolled the links out of sight (they looked like they had
     vanished), and the `.css-bk30` category dropdown — absolutely
     positioned below the trigger — was clipped by the container instead of
     overlaying the page. Wrapping handles narrow viewports without either. */
  .css-ntCoBS{display:flex;flex-wrap:wrap;gap:14px;user-select:none}
.css-ntCoBS a{color:var(--text-secondary);text-decoration:none;font-size:.84rem;font-weight:700;white-space:nowrap}
.css-ntCoBS a:hover{color:var(--primary-color)}
.css-ntCoBS a{position:relative;padding-bottom:4px}
.css-ntCoBS a.is-active,.css-ntCoBS a[aria-current=page]{color:var(--primary-color)}
.css-ntCoBS a.is-active::before,.css-ntCoBS a[aria-current=page]::before{content:'';position:absolute;left:50%;bottom:-2px;width:5px;height:5px;margin-left:-2.5px;border-radius:50%;background:var(--primary-color)}
.em-pOLP{position:relative;display:inline-flex;align-items:center}
.sc-Tc8AaN{display:inline-flex;align-items:center;gap:5px}
.sc-rF1H{width:13px;height:13px;stroke:currentColor;stroke-width:2.2;fill:none;transition:transform .22s ease}
.em-pOLP:hover .sc-rF1H,.em-pOLP:focus-within .sc-rF1H{transform:rotate(180deg)}
.css-bk30{position:absolute;top:100%;left:-14px;z-index:120;min-width:250px;display:grid;gap:2px;padding:10px;border:1px solid var(--border-color);border-radius:16px;background:var(--card-bg);box-shadow:0 18px 44px -22px rgba(8,12,20,.45);opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .2s ease,transform .2s ease,visibility .2s}
.em-pOLP:hover .css-bk30,.em-pOLP:focus-within .css-bk30{opacity:1;visibility:visible;transform:translateY(0)}
.css-bk30 a{display:flex;align-items:baseline;justify-content:space-between;gap:14px;padding:9px 12px;border-radius:10px;white-space:nowrap;color:var(--text-secondary)}
.css-bk30 a:hover{background:color-mix(in srgb,var(--primary-color) 10%,transparent);color:var(--primary-color)}
.css-bk30 strong{font-weight:700;font-size:.86rem}
.css-bk30 small{font-size:.72rem;opacity:.6;font-variant-numeric:tabular-nums}
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
.jsx-tvX46 { padding: 72px 0; background: var(--primary-bg); }
.jsx-yrIe { display: grid; grid-template-columns: 1fr 1fr; gap: 0; align-items: stretch; border-top: 1px solid var(--border-color); }
.jsx-yrIe:last-child { border-bottom: 1px solid var(--border-color); }
.jsx-yrIe:nth-child(odd) .sc-rXuUA { order: -1; }
.sc-rXuUA { overflow: hidden; min-height: 440px; position: relative; background: var(--secondary-bg); }
.sc-rXuUA img { width: 100%; height: 100%; object-fit: cover; position: absolute; inset: 0; transition: transform 0.6s ease; }
.jsx-yrIe:hover .sc-rXuUA img { transform: scale(1.05); }
.sc-xcJzF { padding: 56px 64px; display: flex; flex-direction: column; justify-content: center; }
.jsx-yrIe:nth-child(even) .sc-xcJzF { background: var(--secondary-bg); }
.css-OJzRqK { font-size: var(--font-size-xs, 0.72rem); font-weight: var(--font-weight-bold); color: var(--primary-color); text-transform: uppercase; letter-spacing: 0.12em; margin-bottom: 12px; }
.jsx-3OkJ { font-size: 1.5rem; margin-bottom: 16px; width: 56px; height: 56px; display: flex; align-items: center; justify-content: center; background: var(--ic-bg, color-mix(in srgb, var(--primary-color) 12%, transparent)); color: var(--ic-color, var(--primary-color)); border: var(--ic-border, none); border-radius: var(--border-radius-sm); margin-left: auto; margin-right: auto; }
.sc-us629U { display: inline-block; font-size: var(--font-size-xs, 0.72rem); font-weight: var(--font-weight-bold); color: var(--primary-color); background: color-mix(in srgb, var(--primary-color) 10%, transparent); border: 1px solid color-mix(in srgb, var(--primary-color) 25%, transparent); border-radius: 20px; padding: 4px 14px; margin-bottom: 16px; }
.css-GYs2 { font-size: var(--font-size-2xl); font-weight: var(--font-weight-bold); margin-bottom: 16px; line-height: 1.2; }
.jsx-43HS9 { font-size: var(--font-size-base); color: var(--text-secondary); line-height: 1.8; margin-bottom: 28px; }
.jsx-PzphFq { list-style: none; margin-bottom: 32px; display: flex; flex-direction: column; gap: 10px; }
.sc-qIJKS { display: flex; align-items: flex-start; gap: 10px; font-size: var(--font-size-sm); color: var(--text-secondary); }
.sc-dmu2V4 { color: var(--primary-color); font-weight: var(--font-weight-bold); margin-top: 1px; flex-shrink: 0; }
.sc-SSNa { display: flex; gap: 12px; flex-wrap: wrap; }
.jsx-CQ0WI { background: var(--btn-secondary-bg); color: var(--btn-secondary-text); border-color: var(--btn-secondary-border); border-width: 2px; }
.jsx-CQ0WI:hover { box-shadow: 0 0 0 3px color-mix(in srgb, var(--primary-color) 16%, transparent); transform: translateY(-1px); }
.css-5fM3 { position: fixed; top: 0; right: -100%; width: 420px; max-width: 96vw; height: 100vh; background: var(--secondary-bg); border-left: 1px solid var(--border-color); z-index: 1000; display: flex; flex-direction: column; transition: right 0.32s cubic-bezier(.4,0,.2,1), left 0.32s cubic-bezier(.4,0,.2,1), bottom 0.32s cubic-bezier(.4,0,.2,1); box-shadow: -8px 0 48px rgba(0,0,0,0.45); }
.css-5fM3.is-open { right: 0; }
.sc-uTtu7I { display: flex; align-items: center; justify-content: space-between; padding: 20px 24px; border-bottom: 1px solid var(--border-color); flex-shrink: 0; }
.css-GBwz { font-size: var(--font-size-lg); font-weight: var(--font-weight-bold); }
.em-xJMjGr { background: none; border: none; color: var(--text-secondary); cursor: pointer; font-size: 1.4rem; line-height: 1; padding: 4px; display: flex; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: 50%; transition: background 0.2s, color 0.2s; }
.em-xJMjGr:hover { background: var(--border-color); color: var(--text-primary); }
.sc-q5xctL { flex: 1; overflow-y: auto; padding: 16px 20px; display: flex; flex-direction: column; gap: 12px; }
.cart-drawer__empty { text-align: center; padding: 56px 0; color: var(--text-muted); font-size: var(--font-size-sm); }
.cart-drawer__empty svg { margin: 0 auto 16px; opacity: 0.35; }
.css-BPiU { padding: 18px 20px; border-top: 1px solid var(--border-color); flex-shrink: 0; }
/* Shell variants (per site, see buildShopCartChrome). The drawer used to be a
     right-side slide-in on every artefact, identical to the landing one. */
  .em-vSbF { right: auto; left: -100%; border-left: 0; border-right: 1px solid var(--border-color); box-shadow: 8px 0 48px rgba(0,0,0,0.45); }
.em-vSbF.is-open { left: 0; right: auto; }
.cart-drawer--sheet { top: auto; bottom: -100%; right: 0; left: 0; width: 100%; max-width: 100%; height: auto; max-height: 88vh; border-left: 0; border-top: 1px solid var(--border-color); border-radius: 22px 22px 0 0; }
.cart-drawer--sheet.is-open { bottom: 0; right: 0; }
/* The modal shell is centred, so it cannot hide itself by parking off-screen
     the way the slide-in variants do — `right: 50%` applies in the CLOSED state
     too. It therefore gets its own hidden state (opacity/visibility) instead of
     an offset. Without it the drawer sat open on page load, ignored the close
     button, and stayed visible underneath the payment modal. */
  .cart-drawer--modal { top: 50%; right: 50%; height: auto; max-height: 84vh; width: 460px; transform: translate(50%, -50%) scale(0.96); border-radius: var(--border-radius-lg); border-left: 1px solid var(--border-color); opacity: 0; visibility: hidden; pointer-events: none; transition: opacity 0.24s ease, transform 0.24s cubic-bezier(.4,0,.2,1), visibility 0.24s; }
.cart-drawer--modal.is-open { right: 50%; opacity: 1; visibility: visible; pointer-events: auto; transform: translate(50%, -50%) scale(1); }
.cart-drawer__footer--inline .sc-h3S1w { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.css-iiow { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px 16px; align-items: center; }
.css-iiow .sc-7mI8BQ { grid-row: 1 / 3; grid-column: 2; }
.sc-gkVxY { padding: 80px 0 72px; text-align: center; border-bottom: 1px solid var(--border-color); }
.jsx-gZUJY { font-size: var(--font-size-sm); font-weight: var(--font-weight-bold); color: var(--primary-color); text-transform: uppercase; letter-spacing: 0.12em; margin-bottom: 18px; }
.jsx-LoxVlO { font-size: var(--font-size-3xl); font-weight: var(--font-weight-bold); line-height: 1.1; letter-spacing: -0.03em; margin-bottom: 20px; max-width: 760px; margin-left: auto; margin-right: auto; }
.jsx-LoxVlO span { color: var(--primary-color); }
.jsx-FkFed { font-size: var(--font-size-lg); color: var(--text-secondary); line-height: 1.7; max-width: 600px; margin: 0 auto 40px; }
.jsx-2dbeG0 { display: flex; align-items: center; justify-content: center; gap: 40px; flex-wrap: wrap; }
.sc-Lh51 { display: flex; align-items: center; gap: 8px; font-size: var(--font-size-sm); color: var(--text-secondary); }
.em-vll0g { width: 8px; height: 8px; border-radius: 50%; background: var(--primary-color); flex-shrink: 0; }
.em-CG2n { display: grid; gap: 8px; margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--border-color); }
.em-9Yi2A { display: grid; gap: 12px; padding: 16px; border-radius: var(--border-radius); border: 1px solid var(--border-color); background: color-mix(in srgb, var(--card-bg) 95%, var(--secondary-bg)); }
.em-9Yi2A p { color: var(--text-secondary); line-height: 1.66; }
.css-5wtS { background: var(--btn-primary-bg); color: var(--btn-primary-text); border-color: var(--btn-primary-bg); }
.css-5wtS:hover { box-shadow: 0 0 0 4px color-mix(in srgb, var(--primary-color) 22%, transparent), 0 6px 20px rgba(0,0,0,0.15); transform: translateY(-1px); border-color: var(--primary-color); }
.jsx-lXre{display:inline-flex;align-items:center;gap:6px;color:var(--primary-color);font-weight:800;font-size:.86rem;white-space:nowrap;min-width:0}
.jsx-lXre::after{content:'→';transition:transform .25s ease}
.jsx-lXre:hover::after{transform:translateX(4px)}
.em-fl3mq{display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border-radius:999px;border:1px solid var(--border-color);background:var(--card-bg);color:var(--text-secondary);font-size:.82rem;text-decoration:none;transition:border-color .2s,color .2s,background .2s}
.em-fl3mq:hover{border-color:var(--primary-color);color:var(--primary-color)}
.em-fl3mq.em-Fik7{background:var(--primary-color);border-color:var(--primary-color);color:var(--btn-primary-text,#fff)}
.em-fl3mq b{font-weight:600;opacity:.65}
.css-Bf6by{width:34px;height:34px;border-radius:10px;background:color-mix(in srgb,var(--primary-color) 12%,transparent);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--primary-color);font-size:1.05rem}
.prw-ic--plain{background:none;border:0;width:auto;height:auto}
.cart-note { font-size: 0.78rem; color: var(--text-secondary); margin-bottom: 10px; }
.sc-7mI8BQ { width: 100%; }
::view-transition-new(site-top-s1i1h){animation:none}
.css-g3Xc b{display:block;font-size:.8rem;line-height:1.25}
.css-g3Xc span{color:var(--text-muted);font-size:.72rem;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.css-eKD3aY{padding:clamp(28px,3.6vw,52px) 0 clamp(48px,6vw,84px)}
.css-Ki3Q{display:flex;gap:8px;flex-wrap:wrap;font-size:.8rem;color:var(--text-muted);margin-bottom:16px}
.sc-2z18SO{padding-bottom:clamp(18px,2.4vw,28px);border-bottom:1px solid var(--border-color);margin-bottom:clamp(22px,3vw,36px)}
.em-c3p7l{margin:8px 0 10px;font-size:clamp(1.7rem,4.2vw,2.7rem);line-height:1.05;letter-spacing:-.035em}
.jsx-hoqJvs{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:.8rem;color:var(--text-muted)}
.css-IH0w{display:grid;grid-template-columns:minmax(0,.42fr) minmax(0,1fr);gap:clamp(22px,3.4vw,54px);align-items:start}
.em-FWgoZ{position:sticky;top:96px;display:grid;gap:2px;padding:16px;border:1px solid var(--border-color);border-radius:var(--border-radius-lg);background:var(--card-bg)}
.css-O9Ej{font-size:.68rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);margin-bottom:6px}
.em-FWgoZ a{display:grid;grid-template-columns:26px minmax(0,1fr);gap:8px;padding:7px 8px;border-radius:8px;font-size:.83rem;color:var(--text-secondary);line-height:1.4}
.em-FWgoZ a:hover{background:color-mix(in srgb,var(--primary-color) 9%,transparent);color:var(--primary-color)}
.em-FWgoZ b{color:var(--primary-color);font-variant-numeric:tabular-nums;font-size:.76rem}
.sc-ApefBr{margin:0 0 clamp(22px,3vw,34px);font-size:1.03rem;line-height:1.85;color:var(--text-secondary);max-width:70ch}
.css-GT9K{padding-bottom:clamp(20px,2.6vw,30px);margin-bottom:clamp(20px,2.6vw,30px);border-bottom:1px solid var(--border-color);scroll-margin-top:100px}
.css-GT9K:last-of-type{border-bottom:0}
.css-2wbvL{display:flex;align-items:baseline;gap:12px;margin:0 0 10px;font-size:clamp(1.05rem,2.2vw,1.35rem);line-height:1.2;letter-spacing:-.02em}
.css-2wbvL b{color:var(--primary-color);font-size:.82rem;font-variant-numeric:tabular-nums;flex-shrink:0}
.css-GT9K p{margin:0;color:var(--text-secondary);line-height:1.85;max-width:72ch}
.sc-fvff{display:inline-block;margin-top:12px;font-size:.76rem;color:var(--text-muted)}
.sc-fvff:hover{color:var(--primary-color)}
.sc-SvTT{display:grid;gap:7px;padding:18px;border:1px solid var(--border-color);border-radius:var(--border-radius-lg);background:color-mix(in srgb,var(--primary-color) 5%,var(--card-bg));font-size:.86rem}
.sc-SvTT strong{font-size:.92rem}
.css-5f9br{width:100%;border-collapse:collapse;font-size:.86rem;margin:18px 0}
.css-5f9br th,.css-5f9br td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--border-color)}
.css-5f9br th{color:var(--text-muted);font-weight:700;font-size:.76rem;text-transform:uppercase;letter-spacing:.06em}
.sc-gudafj { padding: 72px 0; background: var(--primary-bg); }
.css-vTx1B5 { padding: 80px 0; }
.em-1AQm { text-align: center; margin-bottom: 48px; }
.jsx-lJvofX { max-width: 720px; margin: 0 auto; display: flex; flex-direction: column; gap: 2px; }
.em-GHx9p6 { border: 1px solid var(--border-color); border-radius: var(--border-radius); overflow: hidden; }
.em-CSQwaf { display: flex; align-items: center; justify-content: space-between; padding: 20px 24px; cursor: pointer; font-size: var(--font-size-base); font-weight: var(--font-weight-bold); background: var(--card-bg); gap: 16px; }
.em-CSQwaf:hover { background: var(--secondary-bg); }
.css-CPoO5I { color: var(--primary-color); font-size: 1.2rem; flex-shrink: 0; transition: transform 0.2s; }
.em-GHx9p6.is-open .css-CPoO5I { transform: rotate(180deg); }
.sc-5Np4U { display: none; padding: 0 24px 20px; font-size: var(--font-size-sm); color: var(--text-secondary); line-height: 1.7; background: var(--card-bg); }
.em-GHx9p6.is-open .sc-5Np4U { display: block; }
.css-oJCPF { text-align: center; padding: 16px 0; }
.em-EHZN { width: 72px; height: 72px; background: color-mix(in srgb, var(--primary-color) 14%, transparent); border-radius: 50%; display: flex; align-items: center; justify-content: center; margin: 0 auto 20px; font-size: 2rem; color: var(--primary-color); }
.jsx-vD4CmA { font-size: var(--font-size-xl); font-weight: var(--font-weight-bold); margin-bottom: 10px; }
.jsx-IDCv { color: var(--text-secondary); margin-bottom: 28px; line-height: 1.65; font-size: var(--font-size-sm); }
.em-uBrCw { min-width: 140px; }
.css-kCpvgh{margin-bottom:14px}
.lg4-table{overflow:auto}
.lg4-table table{width:100%;min-width:520px;border-collapse:collapse;font-size:var(--font-size-sm)}
.lg4-table th,.lg4-table td{padding:12px 14px;border:1px solid var(--border-color);text-align:left}
.lg4-table th{background:var(--secondary-bg)}
.jsx-UvmM{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1px;background:var(--border-color);border:1px solid var(--border-color);border-radius:var(--border-radius);overflow:hidden}
/* shop_trust_layout: one hairline strip, or four separate cards with the
     full reassurance sentence instead of a truncated one. */
  .jsx-UvmM.is-cards{gap:12px;background:transparent;border:0;border-radius:0}
.jsx-UvmM.is-cards .css-siQREH{border:1px solid var(--border-color);border-radius:var(--border-radius-lg);padding:16px;align-items:flex-start}
.jsx-UvmM.is-cards .css-g3Xc span{white-space:normal;font-size:.76rem;line-height:1.5}
.jsx-mNEk { background: var(--card-bg); border: 1px solid var(--border-color); border-radius: var(--border-radius); padding: 24px; text-align: center; }
.css-pjai { width: 44px; height: 44px; border-radius: var(--border-radius-sm); display: flex; align-items: center; justify-content: center; background: color-mix(in srgb, var(--primary-color) 12%, transparent); color: var(--primary-color); margin: 0 auto 14px; }
.jsx-n2dMQN { font-size: var(--font-size-base); font-weight: var(--font-weight-bold); margin-bottom: 8px; }
.em-iXKkDJ { color: var(--text-secondary); line-height: 1.72; font-size: var(--font-size-sm); }
.jsx-SU7Lh{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.sc-bdI4rO { font-size: var(--font-size-2xl); font-weight: var(--font-weight-bold); line-height: 1.16; margin-bottom: 15px; }
.css-d8YhK{background:var(--primary-bg);border-top:1px solid var(--border-color);margin-top:24px}
.scart-empty { color: var(--text-secondary); line-height: 1.7; }
.sc-DTEKfI { padding: 80px 0; }
.sc-8Gh56 { background: var(--secondary-bg); border: 1px solid var(--border-color); border-radius: var(--border-radius-lg); padding: 64px; display: grid; grid-template-columns: 1fr auto; gap: 40px; align-items: center; }
.sc-RDsKmm { font-size: var(--font-size-2xl); font-weight: var(--font-weight-bold); margin-bottom: 12px; line-height: 1.2; }
.sc-6AGF { font-size: var(--font-size-base); color: var(--text-secondary); line-height: 1.7; max-width: 520px; }
.em-MXntVf { display: flex; flex-direction: column; gap: 12px; min-width: 200px; }
.jsx-FxqBAf{flex-direction:column;align-items:center;text-align:center}
.jsx-FxqBAf .jsx-sBPLy{max-width:24ch}
.jsx-FxqBAf .jsx-lXre{order:3}
.jsx-FxqBAf{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:clamp(18px,2.4vw,28px)}
.css-ikO4{flex-direction:column;align-items:center;text-align:center}
html { scroll-behavior: smooth; font-size: 100%; }
html{overflow-y:scroll}
.jsx-Ofyv{position:sticky;top:0;z-index:100;background:color-mix(in srgb,var(--card-bg) 88%,transparent);backdrop-filter:blur(12px);border-bottom:1px solid var(--border-color)}
.jsx-QAs5K{display:block;font-size:var(--font-size-sm);margin-bottom:6px}
.css-GXEua5 { display: none; position: fixed; inset: 0; background: rgba(0,0,0,0.6); z-index: 1000; align-items: center; justify-content: center; padding: 20px; }
.css-GXEua5.is-open { display: flex; }
/* Inline rating rows in the older blocks: keep the SVG stars on the text
     baseline instead of letting inline-flex push them. */
  .srow-rate,.rvs-rate,.spd-page__rating,.scat-page__pill,.css-lFsbF{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}
.scart-item { display: grid; grid-template-columns: 88px minmax(0, 1fr) auto; gap: 16px; align-items: center; padding: 16px 0; border-bottom: 1px solid var(--border-color); min-width: 0; }
.scart-item > * { min-width: 0; }
.scart-item:last-child { border-bottom: 0; padding-bottom: 0; }
.scart-item__img { width: 88px; height: 88px; border-radius: var(--border-radius); overflow: hidden; background: var(--secondary-bg); }
.scart-item__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.scart-item__title { margin: 0 0 6px; font-size: var(--font-size-base); overflow-wrap: anywhere; }
.scart-item__meta { color: var(--text-muted); font-size: var(--font-size-sm); line-height: 1.6; overflow-wrap: anywhere; }
.scart-item__price { font-weight: var(--font-weight-bold); text-align: right; overflow-wrap: anywhere; }
.scart-item__remove { margin-top: 8px; padding: 0; border: 0; background: transparent; color: var(--primary-color); cursor: pointer; font: inherit; }
.em-5iTUZY{margin:0;font-size:.82rem;line-height:1.6;color:var(--text-secondary)}
.css-ga1hoM { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.em-qDekz { padding: 40px; }
.css-ioObVb { font-size: clamp(1.8rem, 4.2vw, 2.6rem); font-weight: var(--font-weight-bold); line-height: 1.15; margin: 14px 0 16px; text-wrap: balance; }
.css-Uq4B { color: var(--text-secondary); line-height: 1.8; margin-bottom: 16px; }
.em-ILd0Uv{font-size:1rem;font-weight:700}
.jsx-wQ9vmE{aspect-ratio:5/4;overflow:hidden;background:var(--secondary-bg)}
.jsx-wQ9vmE img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}
/* Hidden-state utility.
     Deliberately a CLASS, not inline `style="display:none"`: the compliance gate
     (generator/compliance-gate.js, rule `inline-display-none-div`) blocks inline
     display:none on div/span/section/p without a data-* marker, because that is
     the classic hidden-keyword container. A JS-toggled class is the legitimate
     pattern and keeps the build output clean. */
  .em-bofhCn{display:none!important}
.css-qiLSHR { display: grid; grid-template-columns: minmax(240px, 280px) minmax(0, 1fr); gap: 22px; align-items: start; }
.css-qiLSHR > * { min-width: 0; }
.wp-payment-badges { display: flex; flex-wrap: wrap; gap: 8px; }
.em-aoyw3q { text-align: center; color: #fff; padding: 16px; }
.sc-riiF2q { font-size: var(--font-size-3xl); font-weight: var(--font-weight-bold); line-height: 1; margin-bottom: 8px; }
.jsx-nXINTQ { font-size: var(--font-size-sm); opacity: 0.85; }
.jsx-o6hiIC { color: var(--text-secondary); font-size: var(--font-size-sm); }
.em-qs8e { margin: 0; padding-left: 18px; color: var(--text-secondary); line-height: 1.75; }
.em-qs8e li { overflow-wrap: anywhere; }
.em-qs8e li + li { margin-top: 8px; }
.sc-b6hHj { position: sticky; top: 24px; display: flex; flex-direction: column; gap: 16px; }
.jsx-4BVKa { margin-bottom: 34px; }
.sc-pysmbd{background:var(--primary-bg);padding:0 0 84px}
.jsx-27A8d4{border-bottom:1px solid var(--border-color);background:var(--secondary-bg)}
.sc-87na{display:flex;flex-wrap:wrap;gap:8px;padding:14px 0;font-size:var(--font-size-sm);color:var(--text-muted)}
.sc-87na a{color:inherit;text-decoration:none}
.sc-87na a:hover{color:var(--primary-color)}
.jsx-AzORa{padding:30px 0 0}
.jsx-Na9Li{position:relative;border-radius:var(--border-radius-lg);overflow:hidden;background:var(--secondary-bg);border:1px solid var(--border-color)}
.sc-21MSwp{display:flex;transition:transform .4s ease}
.css-qytZ{flex:0 0 100%;margin:0}
.css-qytZ img{width:100%;display:block;aspect-ratio:16/9;object-fit:cover}
.em-nXaCa2{position:absolute;right:14px;bottom:14px;display:flex;gap:8px}
.em-nXaCa2 button{width:38px;height:38px;border-radius:10px;border:1px solid var(--border-color);background:color-mix(in srgb,var(--card-bg) 90%,transparent);color:var(--text-primary);cursor:pointer;font-family:inherit}
.em-nXaCa2 button:hover{border-color:var(--primary-color);color:var(--primary-color)}
.sc-cleA{position:absolute;left:14px;top:14px;display:flex;gap:8px;flex-wrap:wrap}
.sc-cleA span{padding:6px 11px;border-radius:999px;font-size:.7rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;background:var(--primary-color);color:var(--btn-primary-text,#fff)}
.sc-cleA span.em-sE8Zvd{background:#dc2626}
.jsx-qedRb3{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(88px,110px);gap:10px;overflow-x:auto;padding:12px 0 0;scrollbar-width:thin}
.em-90JK{padding:0;border:1px solid var(--border-color);border-radius:12px;overflow:hidden;background:var(--secondary-bg);cursor:pointer}
.em-90JK img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block}
.em-90JK.em-Fik7{border-color:var(--primary-color);box-shadow:var(--shadow)}
.jsx-Bwidr{margin:10px 0 0;font-size:var(--font-size-sm);color:var(--text-muted)}
.sc-5JN2l{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:34px;padding:38px 0 0;align-items:start}
.em-wdJL{margin:8px 0 12px;font-size:clamp(1.8rem,4.6vw,3.1rem);line-height:1.02;letter-spacing:-.04em}
.sc-WaERAP{font-size:.74rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--primary-color);text-decoration:none}
.sc-LEhW7{margin:0 0 18px;color:var(--text-secondary);line-height:1.8}
.jsx-uVV7{display:grid;gap:0;margin:0;border-top:1px solid var(--border-color)}
.em-yCwO{display:grid;grid-template-columns:minmax(120px,34%) 1fr;gap:14px;padding:12px 0;border-bottom:1px solid var(--border-color);font-size:var(--font-size-sm)}
.em-yCwO dt{color:var(--text-muted);margin:0}
.em-yCwO dd{margin:0;font-weight:600;overflow-wrap:anywhere}
.sc-5JN2l > .jsx-ZcfL{border:1px solid var(--border-color);border-radius:var(--border-radius-lg);background:var(--card-bg);padding:22px;display:grid;gap:14px;position:sticky;top:88px;min-width:0}
.sc-5JN2l > .jsx-ZcfL > *{min-width:0}
.sc-LHzAV{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px}
.em-GSKHuq{font-size:clamp(1.6rem,3.4vw,2.3rem);font-weight:800;line-height:1}
.sc-MiEYE{color:var(--text-muted);text-decoration:line-through;font-weight:600}
.jsx-lDIj{font-size:var(--font-size-sm);font-weight:700;color:#15803d}
.jsx-lDIj.em-JblU{color:#b45309}
.jsx-lDIj.css-LIgg{color:var(--text-muted)}
.jsx-ZcfL .sc-MTGC{display:grid;gap:10px;min-width:0}
.jsx-ZcfL .sc-MTGC > *{width:100%;min-width:0}
.sc-mDW89{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 18px;border-radius:var(--border-radius);font-weight:800;font-size:var(--font-size-sm);cursor:pointer;font-family:inherit;text-decoration:none}
.jsx-0cIYRa{border:1px solid var(--primary-color);background:var(--primary-color);color:var(--btn-primary-text,#fff)}
.em-7oDPIn{border:1px solid var(--border-color);background:transparent;color:var(--text-primary)}
.em-7oDPIn:hover{border-color:var(--primary-color);color:var(--primary-color)}
.ppg__pol{display:grid;gap:6px;font-size:var(--font-size-sm)}
.ppg__pol a{color:var(--text-secondary)}
.ppg__pol a:hover{color:var(--primary-color)}
.ppg__pay{display:flex;flex-wrap:wrap;gap:6px;min-width:0}
.ppg__pay span{border:1px solid var(--border-color);border-radius:6px;padding:4px 8px;font-size:.68rem;font-weight:700;color:var(--text-secondary)}
.css-IDjXkq{display:grid;gap:42px;padding-top:52px}
.sc-oFOYh{margin:0 0 14px;font-size:clamp(1.2rem,2.6vw,1.7rem);letter-spacing:-.02em}
.css-8T0m p{margin:0 0 14px;color:var(--text-secondary);line-height:1.85;max-width:72ch}
.jsx-7iHqc{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.em-k045oE{display:grid;gap:8px;align-content:start;border:1px solid var(--border-color);border-radius:var(--border-radius);background:var(--card-bg);padding:16px}
.em-k045oE strong{display:block;margin-bottom:6px}
.em-k045oE span{color:var(--text-secondary);line-height:1.6;font-size:var(--font-size-sm)}
.em-nFwn2{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}
.em-nFwn2 li{display:flex;gap:10px;padding:14px 16px;border:1px solid var(--border-color);border-radius:var(--border-radius);background:var(--secondary-bg);color:var(--text-secondary);line-height:1.6}
.em-nFwn2 li::before{content:'→';color:var(--primary-color);font-weight:800}
.sc-6npvX{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px}
.sc-6npvX article{display:grid;gap:8px}
.sc-6npvX img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:var(--border-radius);display:block}
.sc-6npvX a{color:inherit;text-decoration:none;font-weight:700;line-height:1.3}
.sc-6npvX a:hover{color:var(--primary-color)}
.sc-6npvX b{color:var(--primary-color)}
::view-transition-old(root),::view-transition-new(root){animation-duration:177ms;animation-timing-function:ease-in-out}
.css-ojrhR9 { text-align: center; }
.css-ojrhR9 .em-DSLd, .em-DSLd.css-ojrhR9 { margin: 0 auto; }
.lg4-tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.lg4-tags span{padding:8px 12px;border-radius:999px;background:var(--secondary-bg);border:1px solid var(--border-color);font-size:var(--font-size-sm)}
.sc-S9ie { display: flex; flex-wrap: wrap; gap: 6px; min-width: 0; }
.sc-S9ie span { padding: 4px 9px; border-radius: 7px; border: 1px solid var(--border-color); font-size: 0.68rem; font-weight: 700; color: var(--text-secondary); min-width: 0; max-width: 100%; overflow-wrap: anywhere; }
.em-Uhkyk { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin-bottom: 72px; }
.css-ULd1M { background: var(--primary-color); padding: 64px 0; }
.jsx-BEaED3 { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 2px; }
.jsx-Dumv { display: inline-flex; align-items: center; justify-content: center; gap: 6px; padding: 12px 32px; border-radius: var(--border-radius); font-size: var(--font-size-base); font-weight: var(--font-weight-bold); cursor: pointer; border: 2px solid transparent; transition: all 0.35s ease; text-decoration: none; white-space: nowrap; font-family: inherit; line-height: 1; }
.css-TesD strong { color: var(--text-primary); }
.css-TesD { display: grid; gap: 4px; padding: 12px 14px; border-radius: var(--border-radius); border: 1px solid var(--border-color); background: color-mix(in srgb, var(--card-bg) 96%, transparent); }
.css-TesD span { color: var(--text-secondary); font-size: var(--font-size-sm); line-height: 1.55; }
.sc-4L0hp { display: flex; flex-wrap: wrap; gap: 6px 14px; font-size: 0.75rem; min-width: 0; }
.sc-4L0hp a { color: var(--text-secondary); overflow-wrap: anywhere; }
.sc-4L0hp a:hover { color: var(--primary-color); }
.em-kVsi0{padding:4px 10px;border-radius:999px;background:var(--primary-color);color:var(--btn-primary-text,#fff);font-size:.64rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.sc-Kis54r{background:#dc2626}
.sk-flag--soft{background:color-mix(in srgb,var(--card-bg) 88%,transparent);color:var(--text-primary);border:1px solid var(--border-color)}
.css-sCRSr { background: var(--card-bg); border: 1px solid var(--border-color); border-radius: var(--border-radius-lg); }
.sk-name{margin:0;font-size:.96rem;line-height:1.32;font-weight:700}
.sk-name a{color:inherit}
.sk-name a:hover{color:var(--primary-color)}
.sk-name a::after{content:'';position:absolute;inset:0;z-index:1}
.wp-section { padding: var(--section-padding); }
.jsx-FPTu60{display:grid;grid-template-columns:1.1fr .9fr;gap:16px;margin-top:16px}
.em-Olym3{display:grid;grid-template-columns:1fr .8fr;gap:20px;margin-bottom:34px}
::view-transition-group(site-top-s1i1h){animation-duration:0s}
.css-pXDzp { color: var(--text-muted); font-size: var(--font-size-sm); }
.em-4kDj5V { padding: 0 0 80px; }
a { color: inherit; text-decoration: none; }
.lg2-table { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.lg2-table table { width: 100%; min-width: 520px; border-collapse: collapse; font-size: var(--font-size-sm); }
.lg2-table th, .lg2-table td { border: 1px solid var(--border-color); padding: 12px 14px; text-align: left; }
.lg2-table th { background: var(--secondary-bg); }
.lg2-table td { color: var(--text-secondary); vertical-align: top; overflow-wrap: anywhere; }
/* ---- section scaffolding ---- */
  /* Per-site vertical rhythm (buildShopRhythm in page-composition.js).
     Two storefronts used to breathe identically — same section padding, same
     left-aligned head — which is most of what makes a batch read as one
     template when a human scans them side by side. */
  .em-vbEC{padding:clamp(28px,3.6vw,48px) 0}
.em-0cKg{padding:clamp(24px,3.4vw,40px) 0}
.sk-sec--alt{background:var(--secondary-bg)}
/* ---- section scaffolding ---- */
  /* Per-site vertical rhythm (buildShopRhythm in page-composition.js).
     Two storefronts used to breathe identically — same section padding, same
     left-aligned head — which is most of what makes a batch read as one
     template when a human scans them side by side. */
  .em-vbEC{padding:clamp(38px,5vw,64px) 0}
.jsx-FO8cWo{padding:14px 16px;display:grid;gap:4px}
.wp-stars svg { width: 15px; height: 15px; display: block; fill: currentColor; }
.wp-stars { display: inline-flex; align-items: center; gap: 4px; color: var(--secondary-color, var(--primary-color)); line-height: 1; }
.ct5-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.ct5-strip__item{padding:16px;text-align:center;color:var(--text-secondary)}
.sk-buy-ic{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:50%;border:1px solid var(--primary-color);background:var(--primary-color);color:var(--btn-primary-text,#fff);font-size:1.05rem;cursor:pointer;transition:transform .2s ease,filter .2s ease}
.sk-buy-ic:hover{transform:scale(1.07);filter:brightness(1.08)}
.sk-cat{font-size:.72rem;color:var(--text-muted)}
.sk-cat:hover{color:var(--primary-color)}
.jsx-fGGw{--flt-lo:0%;--flt-hi:100%}
.jsx-HOt7{font-size:.86rem;color:var(--text-muted)}
.jsx-HOt7 b{color:var(--text-primary)}
/* groups */
  .sc-5hiAg{display:grid;gap:10px;padding:16px 0;border-bottom:1px solid var(--border-color)}
.sc-5hiAg:last-child{border-bottom:0}
.sc-gYudVd{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:.7rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase;color:var(--text-muted)}
/* checkbox rows: real inputs, custom box, full-row hit area */
  .jsx-zq3Y7N{position:relative;display:flex;align-items:center;gap:10px;padding:6px 0;font-size:.87rem;color:var(--text-secondary);cursor:pointer;user-select:none}
.jsx-zq3Y7N input{position:absolute;opacity:0;width:0;height:0}
.css-2zHn18{flex-shrink:0;width:18px;height:18px;border-radius:5px;border:1.5px solid var(--border-color);background:var(--card-bg);display:grid;place-items:center;transition:border-color .18s ease,background .18s ease}
.css-2zHn18 svg{width:12px;height:12px;opacity:0;transform:scale(.6);transition:opacity .16s ease,transform .16s ease;stroke:var(--btn-primary-text,#fff);stroke-width:3;fill:none}
.jsx-zq3Y7N:hover .css-2zHn18{border-color:var(--primary-color)}
.jsx-zq3Y7N input:checked+.css-2zHn18{background:var(--primary-color);border-color:var(--primary-color)}
.jsx-zq3Y7N input:checked+.css-2zHn18 svg{opacity:1;transform:scale(1)}
.jsx-zq3Y7N input:focus-visible+.css-2zHn18{box-shadow:0 0 0 3px color-mix(in srgb,var(--primary-color) 26%,transparent)}
.jsx-zq3Y7N em{font-style:normal;flex:1}
.jsx-zq3Y7N b{font-weight:600;opacity:.55;font-size:.78rem;font-variant-numeric:tabular-nums}
/* dual range: one track, two thumbs, filled span between them */
  .em-tE06EY{display:grid;gap:12px;padding-top:4px}
.css-T8gW33{position:relative;height:26px}
.css-T8gW33::before{content:'';position:absolute;left:0;right:0;top:11px;height:4px;border-radius:999px;background:color-mix(in srgb,var(--text-primary) 12%,transparent)}
.css-T8gW33::after{content:'';position:absolute;left:var(--flt-lo);right:calc(100% - var(--flt-hi));top:11px;height:4px;border-radius:999px;background:var(--primary-color)}
.css-T8gW33 input{position:absolute;left:0;top:0;width:100%;height:26px;margin:0;background:none;pointer-events:none;-webkit-appearance:none;appearance:none}
.css-T8gW33 input::-webkit-slider-runnable-track{height:26px;background:none;border:0}
.css-T8gW33 input::-moz-range-track{height:26px;background:none;border:0}
.css-T8gW33 input::-webkit-slider-thumb{-webkit-appearance:none;pointer-events:auto;width:20px;height:20px;margin-top:3px;border-radius:50%;background:var(--card-bg);border:2px solid var(--primary-color);box-shadow:0 1px 4px rgba(0,0,0,.18);cursor:grab;transition:transform .15s ease}
.css-T8gW33 input::-moz-range-thumb{pointer-events:auto;width:20px;height:20px;border-radius:50%;background:var(--card-bg);border:2px solid var(--primary-color);box-shadow:0 1px 4px rgba(0,0,0,.18);cursor:grab}
.css-T8gW33 input:active::-webkit-slider-thumb{transform:scale(1.12);cursor:grabbing}
.css-T8gW33 input:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 4px color-mix(in srgb,var(--primary-color) 24%,transparent)}
.css-H7Pnc{display:flex;justify-content:space-between;gap:10px}
.css-i3QE{padding:6px 11px;border:1px solid var(--border-color);border-radius:var(--border-radius);background:var(--card-bg);font-size:.82rem;font-weight:700;font-variant-numeric:tabular-nums}
/* select */
  .css-51tT{display:inline-flex;align-items:center;gap:8px;font-size:.82rem;color:var(--text-muted)}
.em-KAoV{position:relative;display:inline-flex;align-items:center}
.em-KAoV select{-webkit-appearance:none;appearance:none;padding:10px 38px 10px 14px;border-radius:var(--border-radius);border:1px solid var(--border-color);background:var(--card-bg);color:var(--text-primary);font-family:inherit;font-size:.84rem;font-weight:600;cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease}
.em-KAoV select:hover{border-color:var(--primary-color)}
.em-KAoV select:focus-visible{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary-color) 22%,transparent)}
.em-KAoV svg{position:absolute;right:13px;width:14px;height:14px;pointer-events:none;stroke:var(--text-muted);stroke-width:2;fill:none}
/* active-filter chips */
  .css-B1oRJe{display:flex;flex-wrap:wrap;gap:8px}
.css-B1oRJe:empty{display:none}
.flt__chip{display:inline-flex;align-items:center;gap:7px;padding:5px 6px 5px 12px;border-radius:999px;background:color-mix(in srgb,var(--primary-color) 12%,transparent);color:var(--primary-color);font-size:.76rem;font-weight:700}
.flt__chip button{width:18px;height:18px;display:grid;place-items:center;border:0;border-radius:50%;background:color-mix(in srgb,var(--primary-color) 20%,transparent);color:inherit;font-family:inherit;font-size:.7rem;line-height:1;cursor:pointer}
.flt__chip button:hover{background:var(--primary-color);color:var(--btn-primary-text,#fff)}
.jsx-9TzfQ{background:none;border:0;padding:0;color:var(--primary-color);font-family:inherit;font-size:.82rem;font-weight:700;cursor:pointer;text-align:left;text-decoration:underline;text-underline-offset:.2em}
.jsx-pZVE{padding:48px 22px;text-align:center;border:1px dashed var(--border-color);border-radius:var(--border-radius-lg);color:var(--text-secondary)}
.jsx-pZVE strong{display:block;margin-bottom:6px;font-size:1.05rem;color:var(--text-primary)}
.jsx-pZVE .jsx-s1sLk{margin-top:16px}
/* pill affordance */
  .flt__pills{display:flex;flex-wrap:wrap;gap:8px}
.flt__pill{position:relative;display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border-radius:999px;border:1px solid var(--border-color);background:var(--card-bg);font-size:.82rem;color:var(--text-secondary);cursor:pointer;user-select:none;transition:background .2s ease,border-color .2s ease,color .2s ease}
.flt__pill input{position:absolute;opacity:0;width:0;height:0}
.flt__pill:hover{border-color:var(--primary-color);color:var(--primary-color)}
.flt__pill b{font-weight:600;opacity:.55;font-variant-numeric:tabular-nums}
.flt__pill:has(input:checked){background:var(--primary-color);border-color:var(--primary-color);color:var(--btn-primary-text,#fff)}
.flt__pill:has(input:checked) b{opacity:.85}
/* dropdown affordance */
  .flt__drop{border:1px solid var(--border-color);border-radius:var(--border-radius);background:var(--card-bg);overflow:hidden}
.flt__drop summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 13px;cursor:pointer;list-style:none;font-size:.85rem;font-weight:700}
.flt__drop summary::-webkit-details-marker{display:none}
.flt__drop-ic{display:inline-flex;color:var(--text-muted);transition:transform .22s ease}
.flt__drop[open] .flt__drop-ic{transform:rotate(180deg)}
.flt__drop-body{padding:2px 13px 11px;border-top:1px solid var(--border-color)}
/* accordion affordance: switch-style marks, no boxes */
  .flt__acc{display:grid}
.flt__acc-row{position:relative;display:flex;align-items:center;gap:11px;padding:9px 0;font-size:.86rem;color:var(--text-secondary);cursor:pointer;border-bottom:1px solid var(--border-color)}
.flt__acc-row:last-child{border-bottom:0}
.flt__acc-row input{position:absolute;opacity:0;width:0;height:0}
.flt__acc-mark{position:relative;flex-shrink:0;width:32px;height:18px;border-radius:999px;background:color-mix(in srgb,var(--text-primary) 14%,transparent);transition:background .2s ease}
.flt__acc-mark::after{content:'';position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:var(--card-bg);box-shadow:0 1px 3px rgba(8,11,18,.3);transition:transform .2s ease}
.flt__acc-row input:checked+.flt__acc-mark{background:var(--primary-color)}
.flt__acc-row input:checked+.flt__acc-mark::after{transform:translateX(14px)}
.flt__acc-row em{font-style:normal;flex:1}
.flt__acc-row b{font-weight:600;opacity:.55;font-size:.78rem;font-variant-numeric:tabular-nums}
/* Standalone bottom sheet (catalog variants B and C, where the sheet is a
     separate element rather than the desktop rail). Hidden above the breakpoint,
     otherwise its facets render inline and duplicate the toolbar's. */
  .sc-TiuV{display:none}
/* mobile trigger + bottom sheet */
  .jsx-4Ow5{display:none;align-items:center;gap:8px}
.jsx-4Ow5 span{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--primary-color);color:var(--btn-primary-text,#fff);font-size:.66rem;font-weight:800}
.css-Jq1udt{display:none}
.em-XIZNA{display:none}
.sc-aplh { position: fixed; right: 24px; bottom: 24px; z-index: 9999; width: 360px; max-width: calc(100% - 48px); background: var(--card-bg); border: 1px solid var(--border-color); border-radius: var(--border-radius-lg); padding: 22px 22px 18px; box-shadow: var(--shadow-lg); transition: opacity 0.35s, transform 0.35s; }
.sc-aplh.em-bofhCn { opacity: 0; transform: translateY(16px); pointer-events: none; }
.jsx-YlGJ3c { font-size: var(--font-size-base); font-weight: var(--font-weight-bold); margin-bottom: 8px; color: var(--text-primary); }
.jsx-cSXTX { font-size: var(--font-size-sm); color: var(--text-secondary); line-height: 1.6; margin-bottom: 14px; }
.jsx-cSXTX a { color: var(--primary-color); text-decoration: underline; text-underline-offset: 2px; }
.sc-fxu1ld { display: flex; gap: 8px; }
.em-4XP4 { flex: 1; padding: 10px 18px !important; font-size: var(--font-size-sm) !important; }
.css-oOAqM { padding: 10px 16px !important; font-size: var(--font-size-sm) !important; background: var(--btn-secondary-bg, transparent) !important; color: var(--btn-secondary-text, var(--primary-color)) !important; border: 2px solid var(--btn-secondary-border, var(--primary-color)) !important; opacity: 0.85; }
.css-oOAqM:hover { opacity: 1; background: color-mix(in srgb, var(--primary-color) 10%, transparent) !important; }
body { font-family: var(--font-family); font-size: var(--font-size-base); background-color: var(--primary-bg); color: var(--text-primary); line-height: 1.68; -webkit-font-smoothing: antialiased; overflow-x: hidden; }
.sc-JCzp { font-size: clamp(1.8rem, 4.8vw, var(--font-size-2xl)); font-weight: var(--font-weight-bold); margin: 12px 0 10px; line-height: 1.12; text-wrap: balance; overflow-wrap: anywhere; }
.jsx-2OGbl { display: inline-block; font-size: var(--font-size-sm); font-weight: var(--font-weight-bold); color: var(--primary-color); text-transform: uppercase; letter-spacing: 0.06em; margin-bottom: 8px; }
.jsx-NWONOQ { color: var(--primary-color); font-weight: var(--font-weight-bold); text-decoration: none; }
.jsx-NWONOQ:hover { text-decoration: underline; text-underline-offset: 0.16em; }
img { max-width: 100%; height: auto; display: block; }
.sc-v36AC{display:grid;gap:12px}
.jsx-AWVh2 { border: 1px solid var(--border-color); border-radius: var(--border-radius-lg); background: var(--card-bg); padding: 22px; min-width: 0; }
.jsx-Bu4ub { display: inline-flex; align-items: center; justify-content: center; min-width: 20px; height: 20px; padding: 0 6px; border-radius: 999px; background: var(--primary-color); color: var(--btn-primary-text, #fff); font-size: 0.68rem; font-weight: var(--font-weight-bold); line-height: 1; font-variant-numeric: tabular-nums; }
.jsx-Bu4ub.em-bofhCn { display: none; }
.css-3cZrW { display: grid; gap: 16px; }
.jsx-sBPLy{margin:8px 0 0;font-size:clamp(1.35rem,3vw,2.15rem);line-height:1.08;letter-spacing:-.03em}
/* ---- footer NAP + legal nav (see _nap.njk) ---- */
  /* A hairline + top margin, because the address used to butt straight against
     the about paragraph and read as one run-on block. Phone and email stack
     instead of sitting side by side, where they looked like one string
     ("+1 (415) 555-0194 support@..."). */
  .css-Nn1QS7{display:grid;gap:5px;margin-top:16px;padding-top:14px;border-top:1px solid var(--border-color);font-style:normal;font-size:.84rem;line-height:1.6;color:var(--text-secondary)}
.sc-MkTAzc{color:var(--text-primary);font-size:.9rem;margin-bottom:2px}
.sc-Lnh1J{display:block}
.sc-yJNF{display:grid;gap:3px;justify-items:start}
.sc-yJNF a{color:var(--text-secondary)}
.sc-yJNF a:hover{color:var(--primary-color)}
.sk-nap--compact{gap:3px;font-size:.8rem}
.jsx-A4uX7B { background: var(--card-bg); border: 1px solid var(--border-color); border-radius: var(--border-radius-lg); padding: 24px; }
.jsx-A4uX7B h2 { font-size: var(--font-size-lg); font-weight: var(--font-weight-bold); margin-bottom: 10px; overflow-wrap: anywhere; }
.jsx-A4uX7B p { color: var(--text-secondary); line-height: 1.85; margin: 0; overflow-wrap: anywhere; }
.css-YDsY { display: grid; grid-template-columns: 0.9fr 1.1fr; gap: 24px; align-items: center; margin-bottom: 72px; }
.sc-I7hjR { border-radius: var(--border-radius-lg); overflow: hidden; background: var(--secondary-bg); aspect-ratio: 4/3; }
.sc-I7hjR img { width: 100%; height: 100%; object-fit: cover; }
.css-yTPZCx p { color: var(--text-secondary); line-height: 1.8; }
/* ================= product card anatomies (see _cards.njk) =================
     Six structurally different cards, selected per site by buildShopCardStyle.
     The `.sc-coty3` rules above stay as-is because ~20 blocks use that class as a
     generic panel; the card proper now lives under `.jsx-3ta3Fw`. Card chrome
     (border / radius / shadow / hover) still follows the per-site
     `shop_card_style` silhouette so the two switches compose. */
  .jsx-3ta3Fw{position:relative;display:flex;flex-direction:column;background:var(--card-bg);overflow:hidden;transition:transform .28s cubic-bezier(.2,.7,.3,1),box-shadow .28s ease,border-color .28s ease}
.jsx-3ta3Fw{border:1px solid transparent;border-radius:var(--border-radius-lg);box-shadow:0 1px 2px rgba(15,23,42,.06),0 8px 24px -18px rgba(15,23,42,.4)}
.jsx-3ta3Fw:hover{transform:translateY(-5px);box-shadow:0 4px 10px rgba(15,23,42,.08),0 26px 48px -26px rgba(15,23,42,.45)}
.jsx-if8M{position:relative;display:block;overflow:hidden;background:var(--secondary-bg)}
.jsx-if8M img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s cubic-bezier(.2,.7,.3,1)}
.jsx-3ta3Fw:hover .jsx-if8M img{transform:scale(1.06)}
.em-u0X0YX img{aspect-ratio:1/1}
.em-nfYFr img{aspect-ratio:4/5}
.sk-c__shot--wide img{aspect-ratio:4/3}
.jsx-51yN0Y{padding:14px 16px 16px;display:flex;flex-direction:column;gap:7px;flex:1}
.em-QUxOY{margin:0;font-size:.96rem;line-height:1.32;font-weight:700}
.em-QUxOY a{color:inherit}
.em-QUxOY a:hover{color:var(--primary-color)}
.sk-c__cat{font-size:.72rem;color:var(--text-muted)}
.sk-c__cat:hover{color:var(--primary-color)}
/* One row, always. `flex-wrap:wrap` put "View Details" and "Add to Cart" on
     two lines as soon as the card got narrow (four-column grids, phones), which
     doubled the card footer height and looked broken next to cards whose labels
     happened to fit. Both actions are short; keeping them on one line and
     letting them shrink is better than wrapping. */
  .sc-gi7Kf{display:flex;gap:10px;margin-top:auto;padding-top:4px;flex-wrap:nowrap;align-items:center;justify-content:space-between;min-width:0}
.sc-gi7Kf>*{min-width:0;flex:0 1 auto}
/* ---- whole-card link ----------------------------------------------------
     Shoppers should not have to aim at the thumbnail or the title. The card
     title's anchor is stretched over the entire card with a pseudo-element,
     which keeps ONE real link in the accessibility tree (a div with onclick
     would not be focusable or announced) and leaves text selectable. Anything
     interactive in the footer is lifted above it so its own click still wins. */
  .jsx-3ta3Fw{position:relative}
.em-QUxOY a::after{content:'';position:absolute;inset:0;z-index:1}
.sc-gi7Kf,.sk-c__media button,.jsx-3ta3Fw .sk-buy-ic{position:relative;z-index:2}
.sk-c__row{display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:auto}
.sk-c__rule{height:1px;background:var(--border-color);margin:4px 0 2px}
/* badge placement */
  .sk-c--badge-media-tr .jsx-OelFn{inset:10px 10px auto auto;justify-content:flex-end}
.jsx-IfiuSH .jsx-OelFn{position:static;inset:auto;margin-bottom:2px}
/* overlay: copy on the photo behind a scrim */
  .sk-c--overlay .jsx-if8M{border-radius:inherit}
.sk-c--overlay .sk-c__scrim{position:absolute;inset:auto 0 0 0;display:grid;gap:5px;padding:16px 15px 14px;background:linear-gradient(to top,rgba(8,11,18,.86),rgba(8,11,18,.42) 55%,transparent);color:#fff}
.sk-c--overlay .em-QUxOY{font-size:1rem;color:#fff}
.sk-c--overlay .sk-c__cat{color:rgba(255,255,255,.72)}
.sk-c--overlay .sc-y54NV{color:#fff}
.sk-c--overlay .jsx-oEziwr{color:rgba(255,255,255,.6)}
.sk-c--overlay .sc-gi7Kf{padding:10px 12px 12px}
/* side: media left, body right */
  .sk-c--side{flex-direction:row;align-items:stretch}
.sk-c--side .jsx-if8M{flex:0 0 40%;max-width:170px}
.sk-c--side .jsx-if8M img{height:100%;aspect-ratio:auto;min-height:100%}
.sk-c--side .jsx-if8M .jsx-OelFn{inset:10px 10px auto 10px;display:grid;justify-items:start;gap:6px;max-width:calc(100% - 20px)}
.sk-c--side .jsx-if8M .em-kVsi0{width:max-content;max-width:100%;padding:4px 9px;line-height:1.1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sk-c--side .jsx-51yN0Y{padding:14px 16px}
/* editorial: index number, hairline rule, price row */
  .sk-c--editorial{padding-top:8px}
.sk-c--editorial .sk-c__idx{position:absolute;top:10px;right:12px;left:auto;z-index:2;font-size:.68rem;font-weight:800;letter-spacing:.12em;color:var(--primary-color);background:color-mix(in srgb,var(--card-bg) 86%,transparent);padding:3px 7px;border-radius:6px}
.sk-c--editorial .jsx-OelFn{inset:10px 10px auto auto;justify-content:flex-end}
.sk-c--editorial .em-QUxOY{font-size:1.02rem;letter-spacing:-.01em}
/* frameless: no chrome, text on the page background */
  .sk-c--frameless{border:0!important;box-shadow:none!important;background:transparent!important;border-radius:0}
.sk-c--frameless .jsx-if8M{border-radius:var(--border-radius-lg)}
.sk-c--frameless .jsx-51yN0Y{padding:12px 2px 0}
.sk-c--frameless:hover{transform:translateY(-2px)}
/* panel: price chip on the photo, tinted body */
  .css-tkgG1 .css-puMSj{position:absolute;right:10px;bottom:10px;padding:6px 11px;border-radius:999px;background:var(--card-bg);border:1px solid var(--border-color);font-size:.84rem;font-weight:800;box-shadow:0 4px 14px -8px rgba(8,11,18,.5)}
.css-tkgG1 .css-yvBREm{background:color-mix(in srgb,var(--primary-color) 6%,var(--secondary-bg))}
.sk-rail{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(230px,1fr);gap:clamp(12px,1.4vw,20px);overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px;scrollbar-width:thin}
.sk-rail>*{scroll-snap-align:start}
.jsx-ENdc { background: var(--card-bg); border: 1px solid var(--border-color); border-radius: var(--border-radius); padding: 24px; text-align: center; }
.jsx-ENdc img { width: 88px; height: 88px; border-radius: 50%; object-fit: cover; margin: 0 auto 14px; border: 3px solid color-mix(in srgb, var(--primary-color) 22%, transparent); }
.jsx-ENdc strong { display: block; margin-bottom: 5px; word-break: break-word; overflow-wrap: anywhere; line-height: 1.3; }
.jsx-ENdc span, .jsx-ENdc p { color: var(--text-secondary); font-size: var(--font-size-sm); line-height: 1.7; word-break: break-word; overflow-wrap: anywhere; }
.sc-RXFqc4 { display: none; position: fixed; inset: 0; background: rgba(0,0,0,0.6); z-index: 990; backdrop-filter: blur(2px); }
.sc-RXFqc4.is-open { display: block; }
.sk-sub{margin:10px 0 0;max-width:66ch;color:var(--text-secondary);line-height:1.7}
.sc-9ppY { margin-bottom: 16px; }
.em-bZIb { width: 100%; margin-top: 4px; }
.em-bZIb.is-loading { opacity: 0.65; pointer-events: none; }
.sc-cqew { display: grid; grid-template-columns: 1.1fr 0.9fr; gap: 26px; align-items: stretch; margin-bottom: 72px; }
.jsx-1jycil { background: var(--primary-bg); padding: 56px 0 88px; }
.sc-0TH1D { display: flex; align-items: end; justify-content: space-between; gap: 18px; margin-bottom: 28px; }
.css-lWWZ9D { display: flex; flex-wrap: wrap; gap: 8px; font-size: var(--font-size-sm); color: var(--text-muted); margin-bottom: 12px; }
.css-lWWZ9D a { color: inherit; text-decoration: none; }
.css-lWWZ9D a:hover { color: var(--primary-color); }
.jsx-Fkiq { margin: 0; font-size: clamp(2rem, 5vw, 3.2rem); line-height: 1.04; letter-spacing: -0.04em; }
.sc-RMBG { margin: 10px 0 0; color: var(--text-secondary); line-height: 1.72; max-width: 760px; overflow-wrap: anywhere; }
.css-97Esz7 { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr); gap: 24px; align-items: start; }
.jsx-OelFn{position:absolute;inset:10px 10px auto 10px;display:flex;gap:6px;flex-wrap:wrap;pointer-events:none}
/* Badges and discount flags sit on top of the media with their own stacking
     context, which punched a dead hole in the stretched link exactly where
     the photo is. They are decorative, so they stop intercepting clicks. */
  .jsx-OelFn,.jsx-3ta3Fw .jsx-OelFn,.sc-coty3 .jsx-OelFn{pointer-events:none}
.jsx-OelFn a{pointer-events:auto}
header a.is-active{color:var(--primary-color);font-weight:700}
header a.is-active::after{content:'';display:block;height:2px;background:var(--primary-color);border-radius:2px;margin-top:4px}
.css-JJur7{padding:0 0 clamp(40px,5vw,72px)}
.sc-S49dIo{padding:clamp(28px,3.8vw,54px) 0;background:var(--secondary-bg);border-bottom:1px solid var(--border-color);text-align:center}
.jsx-lrBgvu{margin:8px 0 10px;font-size:clamp(1.9rem,5vw,3.2rem);line-height:1.02;letter-spacing:-.04em}
.jsx-1iQg{margin:0 auto;max-width:64ch;color:var(--text-secondary);line-height:1.7}
.jsx-k9K2{position:sticky;top:0;z-index:30;background:color-mix(in srgb,var(--primary-bg) 92%,transparent);backdrop-filter:blur(12px);border-bottom:1px solid var(--border-color);padding:12px 0;margin-bottom:clamp(16px,2.2vw,26px)}
.css-NrPQ{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.em-v9eu{display:flex;gap:8px;flex-wrap:wrap;flex:1;min-width:0}
.ctb__pill{position:relative;display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border-radius:999px;border:1px solid var(--border-color);background:var(--card-bg);font-size:.82rem;color:var(--text-secondary);cursor:pointer;user-select:none;transition:background .2s ease,border-color .2s ease,color .2s ease}
.ctb__pill input{position:absolute;opacity:0;width:0;height:0}
.ctb__pill:hover{border-color:var(--primary-color);color:var(--primary-color)}
.ctb__pill b{font-weight:600;opacity:.55;font-variant-numeric:tabular-nums}
.ctb__pill:has(input:checked){background:var(--primary-color);border-color:var(--primary-color);color:var(--btn-primary-text,#fff)}
.ctb__pill:has(input:checked) b{opacity:.8}
.ctb__pill input:focus-visible~*{text-decoration:underline}
.jsx-ElWM{display:flex;align-items:center;gap:10px;min-width:240px}
.jsx-ElWM .em-tE06EY{flex:1;padding-top:0}
.em-gxHjEA{display:grid;gap:12px}
.em-gxHjEA [hidden]{display:none!important}
.jsx-Cq3bcf{display:inline-flex;align-items:center;gap:6px;font-size:.76rem;color:var(--text-muted)}
.jsx-Cq3bcf b{color:var(--text-primary)}
.jsx-JdK69{display:flex;flex-wrap:wrap;gap:8px 16px;font-size:.82rem}
.jsx-JdK69 a{color:var(--text-secondary)}
.jsx-JdK69 a:hover{color:var(--primary-color)}
html.cc-ok .sc-aplh { display: none !important; }
.sc-6U4k{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.jsx-hBTi { background: var(--primary-bg); }
.css-kbeY{padding:2px 0 6px}
.em-DSLd { font-size: var(--font-size-lg); color: var(--text-secondary); line-height: 1.65; max-width: 577px; }
.sc-A2BVx{position:relative;border:1px solid var(--border-color);border-radius:var(--border-radius-lg);overflow:hidden;background:var(--card-bg);display:block;text-decoration:none;color:inherit;transition:transform .22s,box-shadow .22s,border-color .22s}
.sc-A2BVx:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);border-color:color-mix(in srgb,var(--primary-color) 45%,var(--border-color))}
.sc-A2BVx:hover .jsx-wQ9vmE img{transform:scale(1.06)}
.sc-A2BVx:hover .em-x2WOU::after{transform:translateX(4px)}
.sc-VCdoU { display: block; font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); color: var(--text-secondary); margin-bottom: 6px; }
.css-jtn5D{padding:clamp(40px,5vw,74px) 0}
.jsx-KtgN{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:clamp(18px,2.4vw,28px)}
.em-Aqla{margin:8px 0 0;font-size:clamp(1.45rem,3.2vw,2.3rem);line-height:1.06;letter-spacing:-.035em}
.jsx-sxzcX{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(10px,1.2vw,16px)}
.sc-79Ah{position:relative;display:block;overflow:hidden;border-radius:var(--border-radius-lg);background:var(--secondary-bg)}
.sc-79Ah img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s cubic-bezier(.2,.7,.3,1)}
.sc-79Ah:hover img{transform:scale(1.06)}
.sc-79Ah:nth-child(1){grid-row:span 2;aspect-ratio:3/4}
.sc-79Ah:nth-child(2),.sc-79Ah:nth-child(3){aspect-ratio:4/3}
.sc-79Ah:nth-child(4){grid-row:span 2;aspect-ratio:3/4}
.sc-79Ah:nth-child(5),.sc-79Ah:nth-child(6){aspect-ratio:4/3}
.jsx-Lc9A{position:absolute;left:10px;bottom:10px;display:inline-flex;align-items:center;gap:6px;padding:6px 11px;border-radius:999px;background:color-mix(in srgb,var(--card-bg) 90%,transparent);border:1px solid var(--border-color);font-size:.74rem;font-weight:700;color:var(--text-primary);backdrop-filter:blur(6px)}
.jsx-5oOl1B{padding:clamp(24px,3vw,40px) 0 clamp(44px,5vw,76px)}
.sc-5Osu{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:12px 16px;border:1px solid var(--border-color);border-radius:999px;background:var(--card-bg);margin-bottom:clamp(18px,2.4vw,28px)}
.em-QtFloK{display:flex;gap:7px;flex-wrap:wrap;font-size:.78rem;color:var(--text-muted)}
.css-lFsbF{font-size:.8rem;color:var(--text-muted)}
.css-lFsbF b{color:var(--text-primary)}
.em-CPWUT5{display:grid;gap:10px;margin-bottom:clamp(18px,2.4vw,28px)}
.css-mP3IaG{margin:0;font-size:clamp(1.7rem,4.2vw,2.7rem);line-height:1.04;letter-spacing:-.04em}
.sc-H3AN{margin:0;max-width:70ch;color:var(--text-secondary);line-height:1.7}
.sc-PqWTgr{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:clamp(16px,2vw,24px)}
.css-oaI8g{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(10px,1.2vw,16px)}
.css-oaI8g.is-cols3{grid-template-columns:repeat(3,minmax(0,1fr))}
.css-oaI8g.is-cols2{grid-template-columns:repeat(2,minmax(0,1fr))}
.css-GqT5i3{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:clamp(26px,3.4vw,42px)}
.sc-h3S1w { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 14px; }
.jsx-ah55Oc{font-size:1.18rem;font-weight:800;margin:0 0 12px}
/* ---- category tile ---- */
  .sk-tile{position:relative;display:block;border:1px solid var(--border-color);border-radius:var(--border-radius-lg);overflow:hidden;background:var(--card-bg);color:inherit;transition:transform .28s cubic-bezier(.2,.7,.3,1),box-shadow .28s ease,border-color .28s ease}
.sk-tile:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:color-mix(in srgb,var(--primary-color) 42%,var(--border-color))}
.sk-tile__media{display:block;aspect-ratio:5/4;overflow:hidden;background:var(--secondary-bg)}
.sk-tile__media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s cubic-bezier(.2,.7,.3,1)}
.sk-tile:hover .sk-tile__media img{transform:scale(1.07)}
.sk-tile__body{display:grid;gap:5px;padding:14px 16px 16px}
.sk-tile__name{font-weight:800;font-size:1rem;line-height:1.25}
.sk-tile__meta{font-size:.78rem;color:var(--text-muted)}
/* ---- category tile anatomies (see _cards.njk category_tile) ---- */
  .sk-tile__media--sq img{aspect-ratio:1/1}
.sk-tile__media--wide img{aspect-ratio:5/4}
.sk-tile__media--tall img{aspect-ratio:4/5}
.sk-tile__media--pano img{aspect-ratio:16/9}
.sk-tile--overlay{border:0}
.sk-tile--overlay .sk-tile__media{position:relative;aspect-ratio:auto;border-radius:inherit}
.sk-tile--overlay .sk-tile__scrim{position:absolute;inset:auto 0 0 0;display:grid;gap:3px;padding:16px 15px 14px;background:linear-gradient(to top,rgba(8,11,18,.84),rgba(8,11,18,.36) 60%,transparent);color:#fff}
.sk-tile--overlay .sk-tile__name{color:#fff;font-size:1.02rem}
.sk-tile--overlay .sk-tile__meta{color:rgba(255,255,255,.78)}
.sk-tile--bare{border:0!important;background:transparent!important;box-shadow:none!important}
.sk-tile--bare .sk-tile__media{border-radius:var(--border-radius-lg)}
.sk-tile__line{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:11px 2px 0}
.sk-tile--listrow{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:14px;align-items:center;padding:12px}
.sk-tile__thumb{display:block;width:64px;height:64px;border-radius:var(--border-radius);overflow:hidden;background:var(--secondary-bg)}
.sk-tile__thumb img{width:100%;height:100%;object-fit:cover;display:block}
.sk-tile__arrow{color:var(--primary-color);font-size:1.1rem;transition:transform .25s ease}
.sk-tile--listrow:hover .sk-tile__arrow{transform:translateX(4px)}
.sk-tile--listrow .sk-tile__body{padding:0}
.css-1PXnc{flex:1}
.css-1PXnc input{width:100%;padding:11px 14px;border:1px solid var(--border-color);border-radius:12px;background:var(--primary-bg);color:var(--text-primary);font-family:inherit}
img[src=""], img:not([src]) { display: none !important; }
/* ---- payment row (see _icons.njk payment_row) ----
     Was a row of bare text pills, which read as a placeholder. Now a tile per
     method with a type glyph, so the row looks like a real checkout promise. */
  .css-Z1Qu{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-start;min-width:0}
.jsx-WbbS9M{display:inline-flex;align-items:center;gap:7px;min-width:0;max-width:100%;flex:0 1 auto;min-height:38px;padding:8px 13px;border-radius:10px;border:1px solid var(--border-color);background:var(--card-bg);color:var(--text-secondary);font-size:.76rem;font-weight:700;letter-spacing:.01em;line-height:1.35;white-space:normal;overflow-wrap:anywhere;transition:border-color .2s ease,color .2s ease}
.jsx-WbbS9M:hover{border-color:color-mix(in srgb,var(--primary-color) 42%,var(--border-color));color:var(--text-primary)}
.em-5ZfMh{display:inline-flex;color:var(--primary-color);font-size:1rem}
.sk-pay--compact .jsx-WbbS9M{padding:5px 9px;font-size:.7rem;gap:5px}
.sc-d2oj{width:100%;box-sizing:border-box;padding:12px 14px;border:1px solid var(--border-color);border-radius:var(--border-radius-sm);background:var(--secondary-bg);color:var(--text-primary);font:inherit}
.sc-d2oj:focus{outline:none;border-color:var(--primary-color)}
.em-x2WOU{color:var(--primary-color);font-weight:700;font-size:.82rem;display:inline-flex;align-items:center;gap:5px;margin-top:6px}
.em-x2WOU::after{content:'→';transition:transform .2s}
.cart-item { display: grid; grid-template-columns: 76px 1fr auto; gap: 12px; align-items: start; background: var(--card-bg); border: 1px solid var(--border-color); border-radius: var(--border-radius); padding: 12px; }
.cart-item__img { width: 76px; height: 58px; object-fit: cover; border-radius: calc(var(--border-radius) - 2px); display: block; background: var(--border-color); }
.cart-item__body { min-width: 0; }
.cart-item__name { font-size: var(--font-size-sm); font-weight: var(--font-weight-bold); line-height: 1.3; margin-bottom: 4px; white-space: normal; overflow-wrap: anywhere; }
.cart-item__price { font-size: var(--font-size-sm); color: var(--primary-color); font-weight: var(--font-weight-bold); margin-bottom: 8px; overflow-wrap: anywhere; }
.cart-item__qty { display: flex; align-items: center; gap: 8px; }
.cart-item__qbtn { width: 26px; height: 26px; border-radius: 50%; border: 1px solid var(--border-color); background: var(--primary-bg); color: var(--text-primary); cursor: pointer; font-size: 1rem; line-height: 1; display: flex; align-items: center; justify-content: center; transition: border-color 0.2s, background 0.2s; font-family: inherit; padding: 0; }
.cart-item__qbtn:hover { border-color: var(--primary-color); }
.cart-item__qnum { font-size: var(--font-size-sm); font-weight: var(--font-weight-bold); min-width: 20px; text-align: center; }
.cart-item__del { background: none; border: none; color: var(--text-muted); cursor: pointer; padding: 4px; border-radius: 4px; transition: color 0.2s; line-height: 1; font-size: 1.1rem; align-self: flex-start; }
.cart-item__del:hover { color: var(--secondary-color); }
/* ---- layout primitives ---- */
  .css-4rZa{display:grid;gap:clamp(12px,1.4vw,20px)}
.sk-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.sk-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.jsx-Xr4rU{grid-template-columns:repeat(4,minmax(0,1fr))}
.em-vood{padding:22px}
.em-vood h2{font-size:var(--font-size-lg);margin-bottom:10px}
.sc-cBm1Y { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin-bottom: 72px; }
.sk-save{font-size:.72rem;font-weight:800;color:#dc2626}
.sc-abFy{font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--primary-color)}
.sc-rKSXY{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:auto;gap:clamp(12px,1.4vw,18px)}
/* The hero card only spans two rows when there are enough siblings to fill
     the rest of the mosaic. With four products a spanning first card leaves a
     hole in the bottom-right cell, which is what shipped: three clipped cards
     in a row and one stranded card below a block of empty space.
     `:nth-last-child(n+5)` means "at least four elements follow me". */
  .sc-rKSXY>*:first-child:nth-last-child(n+5){grid-row:span 2}
/* `.sk-card__body` carries flex:1, so in the tall card the BODY absorbed the
     extra height and the photo kept its aspect ratio — 190px of content
     floating in an 830px box. Give the growth to the media instead. */
  .sc-rKSXY>*:first-child:nth-last-child(n+5) .sk-card__media{flex:1;min-height:300px}
.sc-rKSXY>*:first-child:nth-last-child(n+5) .sk-card__body{flex:0 0 auto}
.sc-rKSXY>*:first-child:nth-last-child(n+5) .sk-card__media img{aspect-ratio:auto;height:100%;min-height:300px}
.sc-rKSXY>*:first-child .sk-name{font-size:1.2rem}
.sc-2NeJ,.em-vood{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius-lg)}
.sc-2NeJ{padding:28px;margin-bottom:18px}
.sc-Jy6M{padding:clamp(30px,4vw,54px) 0;overflow:hidden}
.sc-thP6{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:20px}
.css-xOTDdI{display:flex;align-items:center;gap:10px;font-size:.86rem;color:var(--text-muted)}
.css-xOTDdI b{font-size:1.5rem;color:var(--primary-color);line-height:1}
.em-uGTS{position:relative;mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.sc-vQSEC{display:flex;gap:16px;width:max-content;animation:rmq-run 42s linear infinite}
.em-uGTS:hover .sc-vQSEC{animation-play-state:paused}
.css-Kj4Z{width:min(360px,78vw);flex:0 0 auto;padding:20px;border:1px solid var(--border-color);border-radius:var(--border-radius-lg);background:var(--card-bg);display:grid;gap:10px}
.css-Kj4Z p{margin:0;color:var(--text-secondary);line-height:1.65;font-size:.88rem}
.sc-iwqA{display:flex;align-items:center;gap:10px}
.css-GTGB2{width:34px;height:34px;border-radius:50%;background:color-mix(in srgb,var(--primary-color) 16%,transparent);color:var(--primary-color);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.76rem}
.sc-iwqA b{display:block;font-size:.85rem}
.sc-iwqA span{font-size:.74rem;color:var(--text-muted)}
.rmq__viewport--static{mask-image:none;overflow:visible}
.rmq__track--static{animation:none;width:auto;justify-content:center;flex-wrap:wrap;padding:0 20px}
.em-wdBqY { color: var(--primary-color); font-size: var(--font-size-xs, 0.72rem); font-weight: var(--font-weight-bold); text-transform: uppercase; letter-spacing: 0.08em; margin-bottom: 10px; }
@media (prefers-reduced-motion:no-preference){@view-transition{navigation:auto}}
@supports (scrollbar-gutter:stable){html{overflow-y:auto;scrollbar-gutter:stable}}
@font-face {font-family:"qk9y1dsl";src: local('Arial'), local('ArialMT'), local('Liberation Sans');ascent-override: 100.18%;descent-override: 26.0468%;line-gap-override: 0%;size-adjust: 99.8204%;}
@font-face {font-family:"y2k7flcx";src: local('Roboto Regular'), local('Roboto-Regular');ascent-override: 99.9605%;descent-override: 25.9897%;size-adjust: 100.0395%;}
@font-face {font-family:"jtdic";src: local('Georgia');ascent-override: 76.4676%;descent-override: 27.5699%;size-adjust: 96.1192%;}
@font-face {font-family:"psrr18x9";src: local('Times New Roman'), local('TimesNewRomanPSMT'), local('Liberation Serif');ascent-override: 69.6835%;descent-override: 25.124%;line-gap-override: 0%;size-adjust: 105.4769%;}
@font-face {font-family:"w5fctcqd";src: local('Noto Serif Regular'), local('NotoSerif-Regular');ascent-override: 82.5053%;descent-override: 29.7468%;size-adjust: 89.0852%;}
@media(prefers-reduced-motion:reduce){
    [data-cy-name],[data-cy-name].is-in{opacity:1!important;transform:none!important;filter:none!important;clip-path:none!important;transition:none!important}
    .sc-coty3,.sk-card__media img,.jsx-s1sLk{transition:none!important}
    .sc-coty3:hover{transform:none!important}
    .sc-coty3:hover .sk-card__media img{transform:none!important}
  }
@keyframes hcv-zoom{from{transform:scale(1)}to{transform:scale(1.07)}}
@keyframes rmq-run{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){
    .em-uGTS{mask-image:none;overflow-x:auto}
    .sc-vQSEC{animation:none;width:auto}
  }
@media(prefers-reduced-motion:reduce){.css-bk30,.sc-rF1H{transition:none}}
/* 18px boxes and 6px rows are a mouse-sized target. Touch guidance puts the
     minimum around 44px, so the row (not the box) grows on coarse pointers. */
  @media(pointer:coarse){
    .jsx-zq3Y7N{padding:11px 0;gap:12px;font-size:.92rem}
    .css-2zHn18{width:22px;height:22px;border-radius:6px}
    .css-2zHn18 svg{width:14px;height:14px}
  }
@media(min-width:1041px){.jsx-dQLw{display:none}}
@media(prefers-reduced-motion:reduce){.jsx-fFxma,.css-Jq1udt{transition:none}}
@media(max-width:1040px){
    .jsx-4Ow5{display:inline-flex}
    .css-Jq1udt{position:fixed;inset:0;z-index:70;background:rgba(6,9,14,.55);opacity:0;pointer-events:none;transition:opacity .25s ease}
    .css-Jq1udt.is-open{display:block;opacity:1;pointer-events:auto}
    .sc-TiuV{display:block}
    .jsx-fFxma{position:fixed;left:0;right:0;bottom:0;z-index:80;max-height:86vh;overflow-y:auto;padding:8px 20px 12px;border-radius:22px 22px 0 0;background:var(--primary-bg);border:1px solid var(--border-color);border-bottom:0;box-shadow:0 -18px 50px -20px rgba(0,0,0,.5);transform:translateY(102%);transition:transform .32s cubic-bezier(.2,.7,.3,1);visibility:hidden}
    .jsx-fFxma.is-open{transform:translateY(0);visibility:visible}
    .jsx-fFxma::before{content:'';display:block;width:44px;height:4px;border-radius:999px;background:var(--border-color);margin:10px auto 6px}
    /* The apply button was `position:absolute` inside a scrolling sheet, so it
       scrolled away with the content instead of staying put — and while it was
       parked over the list it covered the price slider and the rows beneath it.
       `sticky` keeps it pinned to the bottom edge of the scroll port; the
       negative margins let its backdrop span the sheet's full width so rows
       do not appear to slide out from under a floating button. */
    .em-XIZNA{display:block;position:sticky;bottom:0;z-index:2;width:100%;margin:14px 0 0;padding:0;box-shadow:0 -18px 28px -24px rgba(8,11,18,.4)}
    .em-XIZNA.jsx-s1sLk{background:var(--primary-color);color:var(--btn-primary-text,#fff);border-color:var(--primary-color)}
    .jsx-dQLw{position:sticky;top:0;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 -20px 8px;padding:12px 20px 10px;background:var(--primary-bg);border-bottom:1px solid var(--border-color)}
    .jsx-dQLw strong{font-size:1rem}
    .sc-NQ1m{display:inline-grid;place-items:center;width:34px;height:34px;padding:0;border-radius:50%;border:1px solid var(--border-color);background:var(--card-bg);color:var(--text-primary);font-family:inherit;font-size:0;line-height:1;cursor:pointer}
    .sc-NQ1m svg{width:16px;height:16px;display:block;stroke:currentColor;stroke-width:2.2;fill:none}
    body.flt-locked{overflow:hidden}
  }
@media(max-width:1040px){.jsx-k9K2{position:static}.jsx-ElWM,.em-v9eu{display:none}}
@media(max-width:1000px){.jsx-Xr4rU{grid-template-columns:repeat(2,minmax(0,1fr))}.sk-grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Media queries add no specificity: a `.grid.is-colsN` modifier (0,2,0) beats
     a plain `.grid` rule (0,1,0) inside @media, so the desktop column count
     survived on phones and the cards were squeezed to a few characters wide.
     The breakpoints below therefore repeat the modifiers. postprocess.js
     emits @media after all plain rules, so equal specificity is enough. */
  @media(max-width:1000px){.css-oaI8g,.css-oaI8g.is-cols3,.css-oaI8g.is-cols2,.css-GqT5i3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:980px){.css-6IC76{grid-template-columns:clamp(156px,24vw,210px) minmax(0,1fr) auto;gap:16px;padding:14px}}
@media(max-width:980px){.em-apX8dI{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:980px){.sc-5JN2l{grid-template-columns:1fr}.jsx-ZcfL{position:static}}
@media (max-width: 980px) {
    .css-97Esz7 { grid-template-columns: 1fr; }
  }
@media (max-width: 960px) {
    .jsx-yrIe { grid-template-columns: 1fr; }
    .sc-rXuUA { min-height: 280px; }
    .sc-rXuUA img { position: static; height: 280px; }
    .jsx-yrIe:nth-child(odd) .sc-rXuUA { order: 0; }
    .sc-xcJzF { padding: 36px 28px; }
    .jsx-bmeZjo { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .jsx-BEaED3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .sc-riiF2q { font-size: clamp(1.05rem, 4.5vw, 1.5rem); }
    .sc-8Gh56 { grid-template-columns: 1fr; }
    .em-MXntVf { flex-direction: row; }
  }
/* Media queries add no specificity: a `.grid.is-colsN` modifier (0,2,0) beats
     a plain `.grid` rule (0,1,0) inside @media, so the desktop column count
     survived on phones and the cards were squeezed to a few characters wide.
     The breakpoints below therefore repeat the modifiers. postprocess.js
     emits @media after all plain rules, so equal specificity is enough. */
  @media(max-width:920px){.sc-ZrA2r,.sc-ZrA2r.is-list{grid-template-columns:1fr 1fr}}
@media(max-width:900px){.jsx-ZATK6{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.jsx-sxzcX{grid-template-columns:repeat(2,minmax(0,1fr))}.sc-79Ah:nth-child(n){grid-row:auto;aspect-ratio:1/1}}
@media(max-width:900px){.css-IH0w{grid-template-columns:1fr}.em-FWgoZ{position:static}}
@media (max-width: 900px) {
    .css-qiLSHR { grid-template-columns: 1fr; }
    .sc-b6hHj { position: static; }
  }
@media(max-width:900px){.em-Olym3,.jsx-SU7Lh,.ct5-strip{grid-template-columns:1fr}}
@media (max-width: 900px) {
    .sc-cqew, .css-YDsY, .sc-cBm1Y, .em-Uhkyk { grid-template-columns: 1fr; }
    .ab4-stats { grid-template-columns: 1fr; }
  }
@media(max-width:900px){.sc-6U4k,.jsx-FPTu60{grid-template-columns:1fr}}
@media(max-width:880px){.em-EqL2{flex-wrap:wrap}.css-1PXnc,.css-ntCoBS{flex-basis:100%}}
@media(max-width:860px){.sc-rKSXY{grid-template-columns:repeat(2,minmax(0,1fr))}.sc-rKSXY>*:first-child,.sc-rKSXY>*:first-child:nth-last-child(n+5){grid-row:auto;grid-column:span 2}.sc-rKSXY>*:first-child:nth-last-child(n+5) .sk-card__media{flex:0 0 auto;min-height:0}.sc-rKSXY>*:first-child .sk-card__media img{min-height:220px}}
@media(max-width:820px){.jsx-UvmM{grid-template-columns:1fr 1fr;gap:1px}.css-siQREH{padding:12px}}
@media(max-width:820px){
    .sc-ddzsUg{grid-template-columns:1fr;justify-items:center;text-align:center}
    .em-SGsJL{margin:0 auto}
    .sc-shd0C{justify-self:center}
  }
/* Touch / narrow: the menu cannot hover, so it becomes a static list under
     the trigger instead of an invisible dropdown. */
  /* Touch / narrow: `display:contents` used to splice every category into the
     primary row, turning 3 nav items into 8 and wrapping them into a block of
     pills with the longest label clipped. A phone does not need the category
     list in the header — the trigger is a real link to the catalog, which
     lists them all. So the submenu is simply dropped below 820px. */
  @media(max-width:820px){
    .em-pOLP{display:inline-flex}
    .css-bk30,.sc-rF1H{display:none}
  }
@media(max-width:820px){.jsx-8Mqgh{grid-template-columns:1fr 1fr}.jsx-8Mqgh>div:first-child{grid-column:1/-1}}
@media(max-width:820px){header nav.is-open{max-height:min(76vh,32rem);overflow-y:auto;overscroll-behavior:contain}header nav.is-open a{white-space:normal;overflow-wrap:anywhere}}
@media (max-width: 768px) {
      h1, h2, h3, h4, .sc-bdI4rO { word-break: break-word !important; overflow-wrap: anywhere !important; hyphens: auto; line-height: 1.25 !important; max-width: 100%; }
      h1 { font-size: clamp(1.6rem, 7vw, 2.4rem) !important; }
      h2, .sc-bdI4rO { font-size: clamp(1.3rem, 5.5vw, 1.8rem) !important; }
      h3 { font-size: clamp(1.1rem, 4.5vw, 1.4rem) !important; }
      h4 { font-size: clamp(1rem, 4vw, 1.2rem) !important; }
      .sc-wx1nLs { padding-inline: 19px !important; }
      .wp-section { padding: 48px 0 !important; }
      .jsx-Dumv { padding: 12px 18px; font-size: 0.95rem; }
      .css-ga1hoM { grid-template-columns: 1fr; }
      img, video { max-width: 100%; height: auto; }
      :root { --font-size-sm: 1rem; }
      p, li, td, th, a { word-break: break-word; overflow-wrap: anywhere; }
      pre, code { white-space: pre-wrap; word-break: break-all; }
      table { display: block; overflow-x: auto; max-width: 100%; }
    }
@media(max-width:768px){.jsx-OOGn61{padding:56px 0}.css-P7nwwN,.em-Kzpgj{padding:22px}}
@media (max-width: 768px) {
    .jsx-tvX46 { padding: 56px 0; }
    .em-qDekz, .sc-c4HRvW { padding: 28px 22px; }
    .sc-cBm1Y, .css-YDsY, .em-Uhkyk { margin-bottom: 56px; }
    .jsx-mNEk { padding: 20px; }
  }
@media(max-width:768px){.jsx-YtDH{padding:56px 0}.sc-2NeJ,.em-vood{padding:18px}}
@media(max-width:700px){.sk-c--side .jsx-if8M .jsx-OelFn{inset:8px 8px auto 8px;gap:5px;max-width:calc(100% - 16px)}.sk-c--side .jsx-if8M .em-kVsi0{padding:4px 8px;font-size:.58rem}}
@media(max-width:700px){.css-6IC76{grid-template-columns:1fr;gap:14px}.jsx-mljvi{min-height:220px}.jsx-mljvi .jsx-OelFn{inset:8px auto auto 8px;max-width:calc(100% - 16px)}.jsx-mljvi .em-kVsi0{padding:4px 8px;font-size:.58rem}.sc-7FOklA{grid-column:auto;justify-items:start;text-align:left;min-width:0}}
/* Two list cards side by side leave ~160px each, and the 104px thumbnail
     column eats most of it. Below 640px the list goes one-up; below 420px the
     card itself stacks so the name is not squeezed into a 56px gutter. */
  @media(max-width:640px){.sc-ZrA2r.is-list{grid-template-columns:1fr}}
@media (max-width: 640px) {
    .sc-aplh { left: 12px; right: 12px; bottom: 12px; width: auto; }
  }
@media(max-width:640px){.css-qytZ img{aspect-ratio:4/3}.css-IDjXkq{padding-top:38px}}
@media (max-width: 640px) {
    .jsx-1jycil { padding: 42px 0 62px; }
    .sc-0TH1D { flex-direction: column; align-items: start; }
    .jsx-AWVh2 { padding: 18px; }
    .scart-item { grid-template-columns: 72px minmax(0, 1fr); }
    .scart-item__img { width: 72px; height: 72px; }
    .scart-item__price { grid-column: 2; text-align: left; }
  }
@media (max-width: 640px) {
    .sc-gudafj { padding: 56px 0; }
    .em-WhwwXz, .jsx-A4uX7B { padding: 18px; }
    .lg2-table th, .lg2-table td { padding: 10px 12px; font-size: 0.8rem; }
  }
@media(max-width:620px){.jsx-Xr4rU,.sk-grid--3,.sk-grid--2{grid-template-columns:1fr}}
@media(max-width:600px){.em-apX8dI{grid-template-columns:1fr}}
@media (max-width: 600px) {
    .jsx-LoxVlO { font-size: var(--font-size-2xl); }
    .jsx-bmeZjo { grid-template-columns: 1fr; }
    .jsx-BEaED3 { grid-template-columns: 1fr; }
    .em-aoyw3q { padding: 16px; }
    .sc-riiF2q { font-size: clamp(1.2rem, 5vw, 1.6rem); }
    .sc-8Gh56 { padding: 36px 24px; }
    .em-MXntVf { flex-direction: column; }
  }
@media(max-width:560px){.jsx-ZATK6{grid-template-columns:1fr}}
@media(max-width:560px){.sc-rKSXY{grid-template-columns:1fr}.sc-rKSXY>*:first-child,.sc-rKSXY>*:first-child:nth-last-child(n+5){grid-column:auto}}
@media(max-width:560px){.css-oaI8g,.css-oaI8g.is-cols3,.css-oaI8g.is-cols2,.css-GqT5i3{grid-template-columns:1fr}}
@media(max-width:560px){.css-oaI8g,.css-GqT5i3{grid-template-columns:1fr}}
@media (max-width: 560px) {
    .sc-gudafj { padding: 48px 0; }
    .jsx-4BVKa { margin-bottom: 24px; }
    .sc-b6hHj, .css-DeO2E { gap: 12px; }
    .em-WhwwXz, .jsx-A4uX7B { padding: 16px; }
    .jsx-daxoBl { gap: 8px; }
    .lg2-table { margin: 0 -4px; padding-bottom: 4px; }
  }
@media (max-width: 560px) {
    .css-Uq4B, .css-yTPZCx p, .sc-c4HRvW p { font-size: var(--font-size-sm); line-height: 1.72; }
    .ab4-stat { padding: 16px; }
    .jsx-ENdc { padding: 20px 16px; }
    .jsx-ENdc p { font-size: var(--font-size-xs, 0.72rem); }
  }
@media(max-width:520px){.sk-c--side{flex-direction:column}.sk-c--side .jsx-if8M{max-width:none;flex:auto}.sk-c--side .jsx-if8M img{aspect-ratio:4/3;min-height:0}}
/* The rail turns the grid into a horizontal scroller with 230px tracks —
     unusable on a phone, so it reverts to a plain two-up grid. */
  @media(max-width:520px){.sc-ZrA2r,.sc-ZrA2r.is-list{grid-template-columns:1fr 1fr}.sc-ZrA2r.is-rail{grid-template-columns:1fr 1fr;grid-auto-flow:row;overflow-x:visible}.em-ILd0Uv{font-size:.9rem}}
@media (max-width: 520px) {
    .css-iiow { grid-template-columns: 1fr; }
    .css-iiow .sc-7mI8BQ { grid-row: auto; grid-column: auto; }
    .sc-h3S1w { align-items: flex-start; }
    .cart-item { grid-template-columns: 64px minmax(0, 1fr); }
    .cart-item__del { grid-column: 2; justify-self: end; }
  }
@media (max-width: 480px) {
      .sc-wx1nLs { padding-inline: 14px !important; }
      .wp-section { padding: 36px 0 !important; }
      h1 { font-size: clamp(1.4rem, 7vw, 1.9rem) !important; }
      .jsx-Dumv { padding: 11px 16px; font-size: 0.9rem; }
    }
@media(max-width:480px){.jsx-UvmM{grid-template-columns:1fr}}
@media (max-width: 480px) {
    .css-5fM3 { width: 100%; max-width: 100%; }
    .sc-uTtu7I { padding: 16px 18px; }
    .sc-q5xctL { padding: 12px 16px; }
    .css-BPiU { padding: 14px 16px; }
    .cart-item { grid-template-columns: 64px 1fr auto; gap: 10px; padding: 10px; }
    .cart-item__img { width: 64px; height: 48px; }
    .css-qsjv { padding: 22px 18px; max-width: 96vw; }
    .pay-row { flex-direction: column; gap: 0; }
  }
@media(max-width:420px){.sc-ZrA2r.is-list .sc-A2BVx{grid-template-columns:1fr}.sc-ZrA2r.is-list .jsx-wQ9vmE{aspect-ratio:16/9}}
@media (max-width: 420px) {
    .css-pXDzp { font-size: 0.8rem; line-height: 1.5; }
    .em-wdBqY { letter-spacing: 0.06em; }
  }