/* SAMUEL — components added at SITE step 4 (inheritance). Same rules as theme.css: tokens only, one
   hairline as the only ornament, no cards/shadows/radii except the pill, contrast from weight and size.
   Covers: skip link, drawer + sheet + search dialogs, notices, forms, content pages, 404, WooCommerce
   classic cart / checkout / account. */

/* ---------- a11y ---------- */
.skip{position:absolute;inset-inline-start:var(--s4);top:-100px;z-index:50;background:var(--ink);color:var(--on-ink);padding:var(--s2) var(--s4);font-size:var(--fs-label);font-weight:var(--w-label)}
.skip:focus{top:var(--s2)}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}

/* ---------- dialogs: drawer (menu), sheet (filter), search ---------- */
html:has(dialog[open]){overflow:hidden}
dialog{color:var(--ink);background:var(--bg);border:0;padding:0}
dialog::backdrop{background:rgb(17 17 17 / .18);opacity:0;transition:opacity var(--t-base) var(--ease),overlay var(--t-base) allow-discrete,display var(--t-base) allow-discrete}
dialog[open]::backdrop{opacity:1}
@starting-style{dialog[open]::backdrop{opacity:0}}
.drawer{margin:0;inset-block:0;inset-inline:0 auto;height:100dvh;max-height:none;width:min(440px,100vw);max-width:100vw;border-inline-end:var(--rule) solid var(--line);transform:translateX(100%);transition:transform var(--t-base) var(--ease),overlay var(--t-base) allow-discrete,display var(--t-base) allow-discrete}
.drawer[open]{transform:none}
@starting-style{.drawer[open]{transform:translateX(100%)}}
.drawer-in{height:100%;overflow-y:auto;padding:0 var(--s6) var(--s8);display:grid;align-content:start;gap:var(--s5)}
.drawer-top{display:flex;justify-content:space-between;align-items:center;height:var(--hdr-h);position:sticky;top:0;background:var(--bg);z-index:1}
.drawer-top button,.search-row button{width:var(--tap);height:var(--tap);display:grid;place-items:center}
.drawer .eyebrow{margin-top:var(--s3)}
.drawer .drawer-top .eyebrow{margin:0}
.drawer-links ul{list-style:none;margin:0;padding:0;display:grid;gap:0;font-size:var(--fs-read)}
/* each row is its own 44+ target (qa-B Q17); the hover line stays under the words */
.drawer-links a{display:block;padding-block:var(--s3);text-decoration:underline;text-decoration-color:transparent;text-decoration-thickness:var(--rule);text-underline-offset:var(--s1);transition:text-decoration-color var(--t-fast) var(--ease)}
.drawer-links a:hover{text-decoration-color:var(--ink)}
@media (max-width:767px){.drawer-in{padding-inline:var(--margin)}}

.entry-list.is-stack{grid-template-columns:1fr;margin:0}
.entry-list.is-stack a{font-size:var(--fs-body)}
.entry-list a[aria-current]{font-weight:var(--w-label)}
.entry-list a[aria-current]>span:first-child{border-bottom:var(--rule) solid var(--ink);justify-self:start}
.entry-list.is-wide{grid-template-columns:1fr;max-width:none;margin-top:0;border-top:var(--rule) solid var(--line)}
.entry-list.is-wide a{font-size:var(--fs-statement);font-weight:var(--w-light);padding-block:var(--s5)}
.entry-list.is-wide .n{font-size:var(--fs-body);color:var(--ink)}

.search-panel{margin:0;inset-inline:0;top:0;width:100%;max-width:none;border-bottom:var(--rule) solid var(--line);transform:translateY(-100%);transition:transform var(--t-base) var(--ease),overlay var(--t-base) allow-discrete,display var(--t-base) allow-discrete}
.search-panel[open]{transform:none}
@starting-style{.search-panel[open]{transform:translateY(-100%)}}
.search-in{padding-block:var(--s6) var(--s7);display:grid;gap:var(--s4)}
.search-in .eyebrow{font-size:var(--fs-eyebrow)}   /* Woo pages size every form label; the search eyebrow stays an eyebrow */
.search-row{display:flex;align-items:center;gap:var(--s2);border-bottom:var(--rule) solid var(--ink)}
.search-row input[type=search]{flex:1;min-width:0;border:0;background:none;font:inherit;font-size:var(--fs-statement);font-weight:var(--w-light);color:var(--ink);padding-block:var(--s3);outline:0}
.search-row input[type=search]::-webkit-search-cancel-button{display:none}
.search-row:focus-within{border-bottom-width:2px;margin-bottom:-1px}

/* ---------- catalog extras ---------- */
.empty{padding-block:var(--s8) var(--s9);display:grid;gap:var(--s5);justify-items:start}
/* desktop sort opener (qa-C C1): "מיון" on the count's baseline, at the content's inline-end, opens #sheet.
   Type, not chrome; hairline grows from the centre like every text action. 44+ box by the Q17 method; the
   word is 17px wide, so the inline-start side takes s3 + s1 (taken back by the margin) to reach 44. */
.count-row{display:flex;justify-content:space-between;align-items:baseline;gap:var(--s4);margin-top:var(--s3)}
.count-row .count{margin-top:0}
.sort{display:none}
@media (min-width:768px){
  .sort{display:inline-block;position:relative;font-size:var(--fs-label);font-weight:var(--w-label);color:var(--ink);padding:var(--s3);padding-inline-start:calc(var(--s3) + var(--s1));margin:calc(-1 * var(--s3));margin-inline-start:calc(-1 * (var(--s3) + var(--s1)))}
  .sort::after{content:"";position:absolute;inset-inline:calc(var(--s3) + var(--s1)) var(--s3);bottom:var(--s3);height:var(--rule);background:var(--ink);transform:scaleX(0);transform-origin:center;transition:transform var(--t-fast) var(--ease)}
  .sort:hover::after,.sort:focus-visible::after{transform:scaleX(1)}
}
.pager{padding-block:var(--s8) 0}
.pager .nav-links{display:flex;gap:var(--s4);justify-content:center;font-size:var(--fs-label);font-weight:var(--w-label)}
/* 44+ targets (qa-B Q17). The extra top padding is taken back by the negative margin, so the numerals stay put;
   the underline is drawn under the numeral's own track, where the border was, so it keeps its width and offset. */
.pager .page-numbers{position:relative;display:inline-grid;grid-template-columns:auto;justify-content:center;min-width:var(--tap);padding:calc(var(--s2) + var(--s3)) var(--s1) calc(var(--s2) + var(--rule));margin-top:calc(-1 * var(--s3))}
.pager .page-numbers::after{content:"";position:absolute;grid-area:1 / 1 / 2 / 2;inset-inline:calc(-1 * var(--s1));bottom:calc(-1 * (var(--s2) + var(--rule)));height:var(--rule);background:transparent}
.pager .page-numbers.current::after,.pager a.page-numbers:hover::after{background:var(--ink)}

/* ---------- notices (set in type: a line of text between hairlines) ---------- */
.woocommerce-notices-wrapper:empty{display:none}
.woocommerce-message,.woocommerce-info,.woocommerce-error,.woocommerce-noreviews,.cart-empty{list-style:none;margin:0 0 var(--s5);padding:var(--s4) 0;border-block:var(--rule) solid var(--line);font-size:var(--fs-tile);display:flex;flex-wrap:wrap;gap:var(--s2) var(--s5);align-items:baseline;justify-content:space-between}
.woocommerce-error{border-top-color:var(--ink);display:grid;gap:var(--s2)}
.woocommerce-error li{margin:0}
/* checkout errors read as errors, not captions (CHK-1): ink, label weight, reading size; WC wraps each item in a link to its field */
form.checkout>.woocommerce-NoticeGroup .woocommerce-error li{font-size:var(--fs-read);font-weight:var(--w-label);color:var(--ink)}
form.checkout>.woocommerce-NoticeGroup .woocommerce-error a{color:inherit}
.woocommerce-message .button,.woocommerce-info .button,.woocommerce-info a,.woocommerce-message a{font-size:var(--fs-label);font-weight:var(--w-label);border-bottom:var(--rule) solid var(--ink);padding-bottom:2px;background:none;height:auto;border-radius:0;color:var(--ink)}
.pdp .woocommerce-notices-wrapper{margin-top:var(--s4)}

/* ---------- buttons Woo emits ---------- */
.woocommerce .button{display:inline-flex;align-items:center;justify-content:center;height:var(--control-h);padding-inline:var(--s5);border-radius:999px;border:var(--rule) solid var(--ink);background:var(--bg);color:var(--ink);font:inherit;font-size:var(--fs-tile);font-weight:var(--w-label);cursor:pointer;white-space:nowrap;transition:background var(--t-fast) var(--ease),color var(--t-fast) var(--ease),opacity var(--t-fast) var(--ease)}
.woocommerce .button:hover{background:var(--ink);color:var(--on-ink)}
.woocommerce .button.alt,.woocommerce .checkout-button,.woocommerce #place_order,.woocommerce .wc-backward,.woocommerce .woocommerce-form-login__submit,.woocommerce .woocommerce-form-register__submit{background:var(--ink);color:var(--on-ink)}
.woocommerce .button.alt:hover,.woocommerce .checkout-button:hover,.woocommerce #place_order:hover,.woocommerce .wc-backward:hover{opacity:.9}
.woocommerce .button:disabled,.woocommerce .button[disabled]{opacity:.35;cursor:default;background:var(--bg);color:var(--ink)}
.woocommerce .button:active{transform:scale(.985)}
.blockUI.blockOverlay{background:rgb(255 255 255 / .6)!important;opacity:1!important}

/* ---------- forms (contact, checkout, account) ---------- */
.woocommerce .quantity input.qty{border:0;padding:0;min-height:0;box-shadow:none;width:auto;text-align:center}
.form,.woocommerce form .form-row{display:grid;gap:var(--s2)}
.form{gap:var(--s5)}
.field{display:grid;gap:var(--s2)}
.field label,.woocommerce form .form-row label,.woocommerce form label{font-size:var(--fs-label);font-weight:var(--w-label)}
.field input,.field textarea,.woocommerce form .input-text,.woocommerce form select,.select2-container .select2-selection--single{width:100%;border:0;border-bottom:var(--rule) solid var(--mute);border-radius:0;background:none;font:inherit;font-size:var(--fs-tile);color:var(--ink);padding:var(--s3) 0;min-height:var(--tap);transition:border-color var(--t-fast) var(--ease)}
.field textarea,.woocommerce form textarea.input-text{display:block;resize:none;min-height:120px;line-height:var(--lh-prose)}
.field input:focus,.field textarea:focus,.woocommerce form .input-text:focus,.woocommerce form select:focus{outline:0;border-bottom-color:var(--ink);box-shadow:0 1px 0 var(--ink)}
.woocommerce form .form-row.woocommerce-invalid .input-text{border-bottom-color:var(--ink);box-shadow:0 1px 0 var(--ink)}
.woocommerce form .form-row .required{color:var(--mute);text-decoration:none;border:0}
.woocommerce form .form-row .optional{color:var(--mute);font-weight:var(--w-body)}
.woocommerce form .form-row{margin:0 0 var(--s5)}
.woocommerce-additional-fields .form-row:last-child{margin-bottom:0}
.woocommerce-input-wrapper{display:block}
.woocommerce form .form-row .description{font-size:var(--fs-caption);color:var(--mute)}
input[type=checkbox],input[type=radio]{accent-color:var(--ink);width:18px;height:18px;margin:0;vertical-align:-3px}
.woocommerce-form__label-for-checkbox{display:inline-flex;gap:var(--s2);align-items:center;font-weight:var(--w-body)!important;font-size:var(--fs-tile)!important}
.select2-container .select2-selection--single{height:auto;display:flex;align-items:center}
.select2-container--default .select2-selection--single .select2-selection__rendered{padding:0;line-height:1.3;color:var(--ink)}
.select2-container--default .select2-selection--single .select2-selection__arrow{height:100%;inset-inline-end:0;left:0}
.select2-dropdown{border:var(--rule) solid var(--ink);border-radius:0}
.select2-results__option--highlighted[aria-selected],.select2-container--default .select2-results__option--highlighted[aria-selected]{background:var(--ink)!important;color:var(--on-ink)!important}
.hp{position:absolute;inset-inline-start:-9999px;width:1px;height:1px;overflow:hidden}
.form .pill{justify-self:start;min-width:180px}
.form-status{font-size:var(--fs-body);padding-block:var(--s4);border-block:var(--rule) solid var(--line)}
.form-status.is-err{border-top-color:var(--ink)}

/* ---------- content pages ---------- */
.page-body{display:grid;grid-template-columns:repeat(12,1fr);gap:0 var(--gutter);padding-bottom:0}
.page-body>.prose{grid-column:4 / span 7}
.page-body>.shop-body{grid-column:1 / -1}
.prose{font-size:var(--fs-read);line-height:var(--lh-prose);max-width:var(--prose)}
.prose>*{margin:0 0 var(--s4)}
.prose h2,.prose h3,.prose h4{font-weight:var(--w-label);line-height:var(--lh-tile);margin:var(--s7) 0 var(--s3);font-size:var(--fs-body)}
.prose h2::before{content:"";display:block;width:var(--rule-len);height:var(--rule);background:var(--ink);margin-bottom:var(--s4)}
.prose h3,.prose h4{font-size:var(--fs-tile);margin-top:var(--s5)}
.prose>:first-child{margin-top:0}
.prose>:last-child{margin-bottom:0}
.prose ul,.prose ol{padding-inline-start:1.1em}
.prose li{margin-bottom:var(--s1)}
.prose a{border-bottom:var(--rule) solid var(--ink)}
.prose img{height:auto;margin-block:var(--s5)}
.prose strong,.prose b{font-weight:var(--w-label)}
.prose table{border-collapse:collapse;width:100%;font-size:var(--fs-caption)}
.prose td,.prose th{border-bottom:var(--rule) solid var(--line);padding:var(--s2) 0;text-align:start;vertical-align:top}
@media (max-width:1279px){.page-body>.prose{grid-column:1 / span 10}}
@media (max-width:767px){.page-body>.prose{grid-column:1 / -1}.page-body{padding-bottom:0}}

.rule-mark{width:var(--rule-len);height:var(--rule);background:var(--ink)}
.label{font-size:var(--fs-label);font-weight:var(--w-label)}
.caption{font-size:var(--fs-caption);color:var(--mute)}
.lede{font-size:var(--fs-body);font-weight:var(--w-light);line-height:var(--lh-body);max-width:40ch;margin-top:var(--s5)}
.head .eyebrow{margin-bottom:var(--s3)}

/* split: image and text on two axes (about, contact) */
.split{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--s7) var(--gutter);padding-bottom:0;align-items:start}
.split>:first-child{grid-column:1 / span 6}
.split>:last-child{grid-column:8 / span 5}
.split-img{margin:0;background:var(--ink)}
.split-img img{width:100%;height:auto;aspect-ratio:1016/1280;object-fit:cover}
.split-text{display:grid;gap:var(--s5);justify-items:start;position:sticky;top:calc(var(--hdr-h) + var(--s6))}
.split-text .prose{font-size:var(--fs-body);line-height:var(--lh-body);max-width:38ch}
.split.is-even>:last-child{grid-column:8 / span 5}
@media (max-width:1023px){.split>:first-child,.split>:last-child,.split.is-even>:last-child{grid-column:1 / -1}.split-text{position:static}}
@media (max-width:767px){.split{padding-bottom:0;gap:var(--s6)}.about .split-img{margin-inline:calc(var(--margin) * -1)}}
/* about (qa-B Q20, P13): the hero's full-width grid (margin | 12 content columns | margin). The text holds content
   columns 1-5, column 6 is air, the portrait runs from content column 7 to the viewport's inline-end edge in 4:5,
   the same break out of the grid as the home hero and the band. Tablet keeps the two columns; phones stack. */
@media (min-width:768px){
  .about .split{--col:calc((var(--content) - 2 * var(--margin) - 11 * var(--gutter)) / 12);grid-template-columns:[full-start] minmax(calc(var(--margin) - var(--gutter)),1fr) [content-start] repeat(12,minmax(0,var(--col))) [content-end] minmax(calc(var(--margin) - var(--gutter)),1fr) [full-end];column-gap:var(--gutter)}
  .about .split-img{grid-column:8 / full-end;grid-row:1}
  .about .split-text{grid-column:content-start / span 5;grid-row:1;position:sticky}
}
.about .split-img img{aspect-ratio:4/5;object-position:50% 12%}
@media (max-width:767px){.about .split{padding-inline:var(--margin)}}

.big-line{display:block;font-size:var(--fs-title);font-weight:var(--w-light);line-height:var(--lh-tight);margin-block:var(--s4) var(--s2);text-align:right}
.contact .entry-list{margin-top:var(--s7)}
.contact .entry-list a{font-size:var(--fs-tile)}
.form-intro{margin-block:var(--s3) var(--s6);max-width:48ch;font-size:var(--fs-read)}   /* running text: reading size (qa-D D3); the .caption colour role stays */

/* professional page */
.section{padding-block:var(--s8) 0}
.defs{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s7) var(--gutter);margin:var(--s6) 0 0}
.defs>div{border-top:var(--rule) solid var(--line);padding-top:var(--s4)}
.defs dt{font-size:var(--fs-body);font-weight:var(--w-label);margin-bottom:var(--s2)}
.defs dd{margin:0;font-size:var(--fs-read);line-height:var(--lh-prose)}
.steps{list-style:none;margin:var(--s6) 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s6) var(--gutter)}
.steps li{border-top:var(--rule) solid var(--ink);padding-top:var(--s4);display:grid;gap:var(--s2);align-content:start}
.step-n{font-size:var(--fs-statement);font-weight:var(--w-wm);letter-spacing:var(--track-label);line-height:1}
.steps h3{font-size:var(--fs-body);font-weight:var(--w-label);margin-top:var(--s3)}
.steps p{font-size:var(--fs-read);line-height:var(--lh-prose)}
.close{margin-top:var(--s9);border-top:var(--rule) solid var(--line);padding-block:var(--s9) 0;text-align:start}
/* the closing block sits on the page grid, start-aligned with the statements above it (qa-B Q18) */
.close .wrap{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--s5) var(--gutter);justify-items:start}
.close .wrap>*{grid-column:1 / span 7}
.close .body{font-weight:var(--w-light);max-width:44ch}
@media (max-width:1023px){.defs{grid-template-columns:1fr 1fr}.steps{grid-template-columns:1fr 1fr}}
@media (max-width:767px){.defs,.steps{grid-template-columns:1fr}.close{margin-top:var(--s8);padding-block:var(--s8) 0}.close .wrap{grid-template-columns:minmax(0,1fr)}.close .wrap>*{grid-column:1}}
/* professional page in the list language (qa-B Q18, P6): benefits as one hairline list, steps as a vertical
   numbered sequence, each row on the 12 page columns. Scoped to the page: the treatment pages keep their .defs. */
.pro-page .defs,.pro-page .steps{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:0 var(--gutter);margin:var(--s6) 0 0}
.pro-page .defs>div,.pro-page .steps li{grid-column:1 / -1;display:grid;grid-template-columns:subgrid;gap:var(--s2) var(--gutter);align-items:start;align-content:start;border-top:var(--rule) solid var(--line);padding-block:var(--s5)}
.pro-page .defs>div:last-child{border-bottom:var(--rule) solid var(--line)}
.pro-page .defs dt{grid-column:1 / span 3;margin:0;font-size:var(--fs-body);font-weight:var(--w-label)}
.pro-page .defs dd{grid-column:4 / span 6;font-size:var(--fs-read);line-height:var(--lh-prose);max-width:var(--prose)}
.pro-page .steps li:first-child{border-top-color:var(--ink)}
.pro-page .steps li:last-child{border-bottom:var(--rule) solid var(--line)}
.pro-page .step-n{grid-column:1 / span 2;grid-row:1 / span 2}
.pro-page .steps h3{grid-column:3 / span 7;grid-row:1;margin:0}
.pro-page .steps p{grid-column:3 / span 7;grid-row:2;max-width:var(--prose)}
@media (max-width:767px){
  .pro-page .defs,.pro-page .steps{grid-template-columns:minmax(0,1fr)}
  .pro-page .defs>div,.pro-page .steps li{grid-template-columns:minmax(0,1fr);padding-block:var(--s4)}
  .pro-page .defs dt,.pro-page .defs dd,.pro-page .step-n,.pro-page .steps h3,.pro-page .steps p{grid-column:1;grid-row:auto}
}

/* ---------- buy bar (product page, phones): the one action stays in reach once the form has scrolled out
   above. Same drawn language as the catalog's bottom bar: white, one hairline on top. ---------- */
.buybar{display:none}
@media (max-width:767px){
  .buybar,body.has-buybar{--buybar-h:calc(var(--tap) + 2 * var(--s3) + var(--rule))}
  .buybar{display:grid;grid-template-columns:1fr auto;grid-template-areas:"name pill" "price pill";align-items:center;gap:0 var(--s4);position:fixed;inset-inline:0;bottom:0;z-index:20;background:var(--bg);border-top:var(--rule) solid var(--line);padding-block:var(--s3) calc(var(--s3) + env(safe-area-inset-bottom,0px));padding-inline:var(--margin);transform:translateY(100%);transition:transform var(--t-base) var(--ease)}
  .buybar.is-on{transform:none}
  .bb-name{grid-area:name;min-width:0;font-size:var(--fs-label);font-weight:var(--w-label);line-height:var(--lh-tile);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .bb-price{grid-area:price;display:flex;gap:var(--s2);align-items:baseline;font-size:var(--fs-label);line-height:var(--lh-tile);color:var(--mute)}
  .buybar .pill{grid-area:pill;height:var(--tap);padding-inline:var(--s5)}
  body.has-buybar{padding-bottom:calc(var(--buybar-h) + env(safe-area-inset-bottom,0px))}
}
@media (prefers-reduced-motion:reduce){.buybar{transition:none}}

/* Accessibility toggle (Pojo): bottom inline-start instead of the plugin's top position, so it never
   sits on the hero, the gallery or the category row. Above the catalog bottom bar on phones. */
/* The plugin prints an inline <style> after ours with `#pojo-a11y-toolbar{top:…!important}`; `html #id` outranks it. */
html #pojo-a11y-toolbar{top:auto !important;bottom:var(--s5) !important}
html #pojo-a11y-toolbar .pojo-a11y-toolbar-toggle{top:auto !important;bottom:0 !important}
/* no floating square on any width: the footer's "נגישות" control opens the toolbar (qa-C C2, site.js) */
html #pojo-a11y-toolbar .pojo-a11y-toolbar-toggle{display:none !important}
html #pojo-a11y-toolbar .pojo-a11y-toolbar-overlay{top:auto !important;bottom:0 !important}
/* the collapsed toolbar's buttons are not tab stops until it opens; the theme has its own skip link (qa-B Q17) */
html #pojo-a11y-toolbar:not(.pojo-a11y-toolbar-open) .pojo-a11y-toolbar-overlay{visibility:hidden}
html a#pojo-a11y-skip-content{display:none}
@media (max-width:767px){html body.has-bar #pojo-a11y-toolbar{bottom:calc(56px + var(--s4) + env(safe-area-inset-bottom,0px)) !important}}
@media (max-width:767px){html body.has-buybar #pojo-a11y-toolbar{bottom:calc(var(--buybar-h) + var(--s4) + env(safe-area-inset-bottom,0px)) !important}}

/* 404 */
.lost{padding-block:var(--s10) 0;display:grid;gap:var(--s4);justify-items:start}
.lost .title{font-weight:var(--w-light);font-size:var(--fs-title);line-height:var(--lh-tight);max-width:100%;text-wrap:balance}
.lost-links{display:flex;gap:var(--s6);align-items:center;margin-top:var(--s5)}
@media (max-width:767px){.lost{padding-block:var(--s9) 0}}

/* ---------- WooCommerce: shared page frame ---------- */
.page.is-shop .head{padding-bottom:var(--s5)}
.woocommerce table.shop_table{width:100%;border-collapse:collapse;font-size:var(--fs-tile)}
.woocommerce table.shop_table th{font-size:var(--fs-label);font-weight:var(--w-label);text-align:start}
.woocommerce table.shop_table th,.woocommerce table.shop_table td{border-bottom:var(--rule) solid var(--line);padding:var(--s4) 0;vertical-align:top;text-align:start}
.woocommerce .amount{font-variant-numeric:tabular-nums}
.woocommerce-Price-amount bdi{unicode-bidi:normal}
.woocommerce del{color:var(--mute)}
.woocommerce ins{text-decoration:none}

/* ---------- cart ---------- */
.woocommerce-cart .shop-body>.woocommerce{display:grid;grid-template-columns:7fr 1fr 4fr;gap:0 var(--gutter);align-items:start}
:where(.woocommerce-cart .shop-body>.woocommerce>*){grid-column:1 / -1}
.woocommerce-cart .woocommerce-cart-form{grid-column:1}
.woocommerce-cart .cart-collaterals{grid-column:3;position:sticky;top:calc(var(--hdr-h) + var(--s6))}
.woocommerce-cart table.cart{border-top:var(--rule) solid var(--ink)}
.woocommerce-cart table.cart thead{display:none}
.woocommerce-cart table.cart tr.cart_item{display:grid;grid-template-columns:96px 1fr auto;grid-template-areas:"img name remove" "img qty sub";gap:var(--s2) var(--s5);padding-block:var(--s5);border-bottom:var(--rule) solid var(--line)}
.woocommerce-cart table.cart tr.cart_item td{border:0;padding:0}
.woocommerce-cart table.cart td.product-thumbnail{grid-area:img}
.woocommerce-cart table.cart td.product-thumbnail img{width:96px;aspect-ratio:4/5;object-fit:cover}
.woocommerce-cart table.cart td.product-name{grid-area:name;font-size:var(--fs-tile)}
.woocommerce-cart table.cart td.product-name a:hover{border-bottom:var(--rule) solid var(--ink)}
.woocommerce-cart table.cart td.product-price{display:none}
.woocommerce-cart table.cart td.product-quantity{grid-area:qty;align-self:end}
.woocommerce-cart table.cart td.product-subtotal{grid-area:sub;align-self:end;text-align:end;font-size:var(--fs-tile)}
.woocommerce-cart table.cart td.product-remove{grid-area:remove;text-align:end}
/* the glyph stays 13px --mute with its hairline; the box is a 44 target whose negative margins keep the old 6x18 footprint;
   it grows toward the name only (glyph flush with the inline-end edge), so it never passes the page margin at 390 (qa-B Q17) */
.woocommerce-cart table.cart a.remove{display:inline-grid;place-items:center;min-width:var(--tap);min-height:var(--tap);justify-items:end;margin-block:calc((18px - var(--tap)) / 2);margin-inline:calc(6px - var(--tap)) 0;font-size:var(--fs-caption);color:var(--mute);font-weight:var(--w-body);text-decoration:underline;text-decoration-color:var(--line);text-decoration-thickness:var(--rule);text-underline-offset:var(--s1)}
.woocommerce-cart table.cart a.remove:hover{color:var(--ink);text-decoration-color:var(--ink)}
.woocommerce-cart table.cart .quantity{height:var(--tap);grid-template-columns:var(--tap) 40px var(--tap)}
.woocommerce-cart table.cart td.actions{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--s4);padding-block:var(--s5);border:0}
.woocommerce-cart table.cart tr:last-child{display:block}
.coupon{display:flex;gap:var(--s3);align-items:end;flex:1;min-width:260px}
.coupon .input-text{flex:1;border:0;border-bottom:var(--rule) solid var(--mute);padding:var(--s3) 0;font:inherit;font-size:var(--fs-tile);min-height:var(--tap);background:none}
.coupon .input-text:focus{outline:0;border-color:var(--ink)}
.woocommerce-cart table.cart td.actions .button{height:var(--tap)}
.cart_totals h2,.cross-sells h2,#order_review_heading,.woocommerce-checkout h3,.woocommerce-customer-details h2,.woocommerce-order-details__title,.woocommerce-column__title{font-size:var(--fs-label);font-weight:var(--w-label);margin:0 0 var(--s4)}
.cart_totals table{border-top:var(--rule) solid var(--ink)}
.cart_totals th{width:40%}
.cart_totals td{text-align:end!important}
.cart_totals .order-total th,.cart_totals .order-total td{font-size:var(--fs-body);font-weight:var(--w-label);border-bottom:0}
.woocommerce-shipping-methods{list-style:none;margin:0;padding:0;display:grid;gap:var(--s2);font-size:var(--fs-caption)}
.woocommerce-shipping-methods li{display:flex;gap:var(--s2);align-items:start;justify-content:flex-end;text-align:start}
.woocommerce-shipping-destination,.woocommerce-shipping-calculator{font-size:var(--fs-caption);color:var(--mute);margin-top:var(--s2)}
.shipping-calculator-button{border-bottom:var(--rule) solid var(--mute)}
.wc-proceed-to-checkout{padding-top:var(--s5)}
.wc-proceed-to-checkout .checkout-button{width:100%}
.cross-sells{grid-column:1 / -1!important;padding-top:var(--s8);border-top:var(--rule) solid var(--line);margin-top:var(--s8)}
.cross-sells h2{font-size:var(--fs-statement);font-weight:var(--w-light);letter-spacing:0}
.cross-sells .grid{padding-top:var(--s5)}
.wc-empty-cart-message .cart-empty{font-size:var(--fs-statement);font-weight:var(--w-light);border:0;padding:0;margin-bottom:var(--s6)}
.return-to-shop{padding-bottom:0}
@media (max-width:1023px){
  .woocommerce-cart .shop-body>.woocommerce{grid-template-columns:1fr}
  .woocommerce-cart .woocommerce-cart-form,.woocommerce-cart .cart-collaterals{grid-column:1;position:static}
  .woocommerce-cart .cart-collaterals{padding-top:var(--s6)}
}
@media (max-width:767px){
  .woocommerce-cart table.cart tr.cart_item{grid-template-columns:80px 1fr auto}
  .woocommerce-cart table.cart td.product-thumbnail img{width:80px}
  .coupon{min-width:100%}
  .woocommerce-cart table.cart td.actions>.button{width:100%}
}

/* ---------- checkout ---------- */
.woocommerce-checkout .shop-body .woocommerce-form-coupon-toggle,.woocommerce-checkout .shop-body .woocommerce-form-login-toggle{max-width:calc(58.33% - var(--gutter))}
.woocommerce-checkout form.checkout_coupon,.woocommerce-checkout form.woocommerce-form-login{display:flex;flex-wrap:wrap;gap:var(--s3);align-items:end;margin-bottom:var(--s6);max-width:560px}
form.checkout_coupon p:first-child{width:100%;font-size:var(--fs-caption);color:var(--mute);margin:0}
form.checkout_coupon .form-row-first{flex:1;margin:0}
form.checkout_coupon .form-row-last{margin:0}
form.checkout_coupon .clear{display:none}
/* rows 1–2 hold WC's notice groups (submit errors, then update-order-review errors), full width above the fields;
   empty rows collapse to 0 (row gap is 0), so nothing moves when there is no error (CHK-1) */
form.checkout{display:grid;grid-template-columns:7fr 1fr 4fr;grid-template-rows:auto auto auto 1fr;gap:0 var(--gutter);align-items:start}
form.checkout>.woocommerce-NoticeGroup{grid-column:1 / -1;grid-row:1}
form.checkout>.woocommerce-NoticeGroup-updateOrderReview{grid-row:2}
#customer_details{grid-column:1;grid-row:3 / span 2}
#order_review_heading{grid-column:3;grid-row:3}
#order_review{grid-column:3;grid-row:4;position:sticky;top:calc(var(--hdr-h) + var(--s6))}
/* a field that failed shows it in place: ink underline at 2 × rule as a real border (the padding gives the extra rule back, so the field keeps its height; a box-shadow leaves a 1px sliver at the input edge at fractional DPR), WC's inline message under it.
   aria-invalid covers server-side format errors (postcode) that WC reports inline without .woocommerce-invalid */
form.checkout .form-row.woocommerce-invalid .input-text,form.checkout .form-row.woocommerce-invalid select,form.checkout .input-text[aria-invalid="true"]{border-bottom:calc(2 * var(--rule)) solid var(--ink);padding-bottom:calc(var(--s3) - var(--rule));box-shadow:none}
form.checkout .checkout-inline-error-message{margin:0;font-size:var(--fs-caption);color:var(--ink)}
.col2-set .col-1,.col2-set .col-2{width:auto;float:none}
#customer_details .col-2{margin-top:var(--s6)}
.woocommerce-billing-fields__field-wrapper,.woocommerce-shipping-fields__field-wrapper,.woocommerce-address-fields__field-wrapper{display:grid;grid-template-columns:1fr 1fr;gap:0 var(--gutter)}
.woocommerce form .form-row-wide,.woocommerce form .form-row.notes,#billing_address_1_field,#billing_address_2_field,#shipping_address_1_field,#shipping_address_2_field,#billing_country_field,#shipping_country_field,#billing_email_field{grid-column:1 / -1}
#ship-to-different-address{font-size:var(--fs-tile);margin:var(--s4) 0}
#ship-to-different-address label{font-size:var(--fs-tile)!important}
.woocommerce-checkout-review-order-table{border-top:var(--rule) solid var(--ink)}
.woocommerce-checkout-review-order-table thead{display:none}
.woocommerce-checkout-review-order-table td.product-total,.woocommerce-checkout-review-order-table tfoot td{text-align:end!important}
.woocommerce-checkout-review-order-table .product-quantity{color:var(--mute);font-weight:var(--w-body)}
.woocommerce-checkout-review-order-table .order-total th,.woocommerce-checkout-review-order-table .order-total td{font-size:var(--fs-body);font-weight:var(--w-label);border-bottom:0}
#payment{margin-top:var(--s5)}
#payment .wc_payment_methods{list-style:none;margin:0;padding:0;border-top:var(--rule) solid var(--line)}
#payment .wc_payment_method{border-bottom:var(--rule) solid var(--line);padding-block:var(--s4)}
#payment .wc_payment_method>label{font-size:var(--fs-tile);font-weight:var(--w-label);margin-inline-start:var(--s2)}
#payment .wc_payment_method img{display:inline-block;max-height:24px;vertical-align:middle;margin-inline-start:var(--s2)}
#payment .payment_box{font-size:var(--fs-caption);color:var(--mute);padding-top:var(--s2)}
#payment .payment_box p{margin:0}
#payment .place-order{padding-top:var(--s5);display:grid;gap:var(--s4);margin-bottom:0}
.woocommerce-terms-and-conditions-wrapper,.woocommerce-privacy-policy-text{font-size:var(--fs-caption);color:var(--mute)}
.woocommerce-privacy-policy-text a,.woocommerce-terms-and-conditions-link{color:var(--ink);border-bottom:var(--rule) solid var(--ink)}
#place_order{width:100%}
@media (max-width:1023px){
  form.checkout{grid-template-columns:1fr;grid-template-rows:none}
  form.checkout>.woocommerce-NoticeGroup,#customer_details,#order_review_heading,#order_review{grid-column:1;grid-row:auto;position:static}
  #order_review_heading{margin-top:var(--s7)}
  .woocommerce-checkout .shop-body .woocommerce-form-coupon-toggle{max-width:none}
}
@media (max-width:767px){.woocommerce-billing-fields__field-wrapper,.woocommerce-shipping-fields__field-wrapper,.woocommerce-address-fields__field-wrapper{grid-template-columns:1fr}}

/* order received */
.woocommerce-order{display:grid;gap:var(--s6);padding-bottom:0}
.woocommerce-thankyou-order-received{font-size:var(--fs-statement);font-weight:var(--w-light);line-height:var(--lh-tight);border:0;padding:0}
.woocommerce-order-overview{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--s5) var(--s7);font-size:var(--fs-caption);color:var(--mute);border-block:var(--rule) solid var(--line);padding-block:var(--s4)}
.woocommerce-order-overview strong{display:block;color:var(--ink);font-size:var(--fs-tile);font-weight:var(--w-label);margin-top:var(--s1)}
.woocommerce-customer-details address{font-style:normal;font-size:var(--fs-tile);line-height:var(--lh-prose)}

/* ---------- account ---------- */
.woocommerce-account .shop-body>.woocommerce{display:grid;grid-template-columns:3fr 1fr 8fr;gap:0 var(--gutter);align-items:start;padding-bottom:0}
:where(.woocommerce-account .shop-body>.woocommerce>*){grid-column:1 / -1}
.woocommerce-MyAccount-navigation{grid-column:1!important}
.woocommerce-MyAccount-content{grid-column:3!important;font-size:var(--fs-tile);line-height:var(--lh-prose)}
.woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0;border-top:var(--rule) solid var(--ink)}
.woocommerce-MyAccount-navigation a{display:block;padding-block:var(--s3);border-bottom:var(--rule) solid var(--line);font-size:var(--fs-tile)}
.woocommerce-MyAccount-navigation .is-active a{font-weight:var(--w-label)}
.woocommerce-MyAccount-navigation a:hover{border-bottom-color:var(--ink)}
.woocommerce-MyAccount-content a:not(.button){border-bottom:var(--rule) solid var(--ink)}
.woocommerce-MyAccount-content>p{margin:0 0 var(--s4)}
.woocommerce-orders-table{border-top:var(--rule) solid var(--ink)}
.woocommerce-orders-table .button{height:var(--tap);font-size:var(--fs-label)}
.woocommerce-Addresses{display:grid;grid-template-columns:1fr 1fr;gap:var(--s6)}
.woocommerce-Address-title{display:flex;justify-content:space-between;align-items:baseline}
.woocommerce-Address-title h2{font-size:var(--fs-label);font-weight:var(--w-label);margin:0}
#customer_login.u-columns{display:grid;grid-template-columns:1fr 1fr;gap:var(--s8)}
.woocommerce-account .shop-body>.woocommerce>h2,#customer_login h2{font-size:var(--fs-statement);font-weight:var(--w-light);margin:0 0 var(--s5)}
.woocommerce-form-login__submit,.woocommerce-form-register__submit{margin-top:var(--s3)}
.woocommerce-LostPassword{font-size:var(--fs-caption)}
.woocommerce-LostPassword a{display:inline-block;border-bottom:var(--rule) solid var(--mute)}
.woocommerce-form-login .form-row:has(.woocommerce-form-login__rememberme){display:flex;flex-wrap:wrap;gap:var(--s5);align-items:center}
@media (max-width:1023px){
  .woocommerce-account .shop-body>.woocommerce{grid-template-columns:1fr}
  .woocommerce-MyAccount-navigation,.woocommerce-MyAccount-content{grid-column:1!important}
  .woocommerce-MyAccount-navigation{margin-bottom:var(--s6)}
  #customer_login.u-columns,.woocommerce-Addresses{grid-template-columns:1fr}
}

.woocommerce-account form.woocommerce-form-login,.woocommerce-account form.woocommerce-form-register,.woocommerce-account form.lost_reset_password{max-width:440px;display:grid}
.woocommerce-account .shop-body>.woocommerce>h2{grid-column:1 / -1}
.woocommerce-account .shop-body>.woocommerce>form{grid-column:1 / span 3}
@media (max-width:1023px){.woocommerce-account .shop-body>.woocommerce>form{grid-column:1}}
.acc .desc [style*="text-align"]{text-align:start!important}
.acc .desc [style*="color"]{color:inherit!important}
.acc .desc [style*="font-size"]{font-size:inherit!important}

/* ---------- treatment landing pages ---------- */
.pill.is-line{background:var(--bg);color:var(--ink);border:var(--rule) solid var(--ink)}
.pill.is-line:hover{background:var(--ink);color:var(--on-ink);opacity:1}
.treat-hero{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--s7) var(--gutter);align-items:center;padding-block:var(--s8) var(--s8)}
.treat-hero-text{grid-column:1 / span 6;display:grid;gap:var(--s4);justify-items:start}
.treat-hero-img{grid-column:8 / span 5;margin:0}
.treat-hero-img img{width:100%;aspect-ratio:4/5;object-fit:cover}
.treat-brand{font-size:var(--fs-eyebrow);letter-spacing:var(--track-byline);text-transform:uppercase;font-weight:var(--w-label);display:flex;gap:var(--s2);align-items:center}
.treat-brand span{font-weight:var(--w-wm)}
.treat .title{font-weight:var(--w-light);font-size:var(--fs-title);line-height:var(--lh-tight)}
.treat .lede{max-width:44ch;margin:0}
.treat .lede strong,.treat dd strong{font-weight:var(--w-label)}
.treat-ctas{display:flex;gap:var(--s6);align-items:center;flex-wrap:wrap;margin-top:var(--s3)}
.fig{font-weight:var(--w-wm);font-size:var(--fs-statement);line-height:1;letter-spacing:var(--track-label)}
.fig-l{font-size:var(--fs-tile);line-height:var(--lh-tile)}
.figure{display:flex;gap:var(--s4);align-items:center;border-block:var(--rule) solid var(--line);padding-block:var(--s4);margin-block:var(--s2)}
.figure .fig{font-size:calc(var(--fs-statement) * 1.5)}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--gutter)}
.stats>div{display:grid;gap:var(--s2);padding-top:var(--s5);justify-items:start;border-top:var(--rule) solid var(--ink)}
.stats .fig{font-size:calc(var(--fs-statement) * 1.5)}
.treat-text .body,.treat .close .body{max-width:62ch;margin-top:var(--s4);font-weight:var(--w-light)}
.treat .defs .eyebrow{margin-bottom:var(--s2)}
.lists{display:grid;grid-template-columns:1fr 1fr;gap:var(--s7) var(--gutter)}
.rows{list-style:none;margin:var(--s3) 0 0;padding:0;border-top:var(--rule) solid var(--ink)}
.rows li{padding-block:var(--s3);border-bottom:var(--rule) solid var(--line);font-size:var(--fs-read)}
.treat-image figure{margin:var(--s6) 0 0;position:relative}
.treat-image img{width:100%;max-height:80vh;object-fit:contain;background:var(--soft)}
.treat-image figcaption{display:flex;justify-content:space-between;font-size:var(--fs-label);font-weight:var(--w-label);padding-top:var(--s3);border-top:var(--rule) solid var(--line);margin-top:var(--s3)}
.tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gutter);margin-top:var(--s6);align-items:start}
.tier{display:grid;gap:var(--s3);justify-items:start;border-top:var(--rule) solid var(--line);padding-top:var(--s5)}
.tier.is-lead{border-top:2px solid var(--ink)}
.tier h3{font-size:var(--fs-body);font-weight:var(--w-label)}
.tier .fig{font-size:calc(var(--fs-statement) * 1.5)}
.tier-d{font-size:var(--fs-read);line-height:var(--lh-prose)}
.tier .rows{width:100%}
.tier .pill{margin-top:var(--s3)}
.treat .close .caption{max-width:62ch}
@media (max-width:1023px){
  .treat-hero-text,.treat-hero-img{grid-column:1 / -1}
  .stats{grid-template-columns:1fr 1fr}
  .tiers{grid-template-columns:1fr}
}
@media (max-width:767px){
  .treat-hero{padding-block:var(--s6);gap:var(--s6)}
  .treat-hero-img{margin-inline:calc(var(--margin) * -1)}
  .lists{grid-template-columns:1fr}
  .figure .fig,.stats .fig,.tier .fig{font-size:var(--fs-statement)}
}
.woocommerce-order{max-width:880px}
.woocommerce-order-details .shop_table td:last-child,.woocommerce-order-details .shop_table th:last-child{text-align:end}
.woocommerce-MyAccount-content h2,.woocommerce-MyAccount-content h3,.woocommerce-address-fields h3,.woocommerce-MyAccount-content>form>h3{font-size:var(--fs-statement);font-weight:var(--w-light);line-height:var(--lh-tight);margin:0 0 var(--s5)}

/* ---------- header: language switcher (H1, 2026-10-05) ----------
   Type, not chrome. Desktop: in the inline-end cluster beside the basket, the header's own gap between
   them. The current language holds the header's hover hairline and the label weight (as the drawer's
   current entry); the others are ink at body weight. Phones: a slim row under the bar, inside the
   (sticky) header — .side.end dissolves so the row can span the bar's full width. */
.hdr .lang{display:flex;align-items:center}
.hdr .lang button{font-weight:var(--w-body);padding-inline:var(--s2);min-width:var(--tap);justify-content:center}
.hdr .lang button::after{inset-inline:var(--s2)}
.hdr .lang button[aria-current]{font-weight:var(--w-label)}
.hdr .lang button[aria-current]::after{transform:scaleX(1)}
@media (max-width:767px){
  .hdr .wrap{grid-template-rows:var(--hdr-h) var(--s6);height:auto}
  .hdr .side.end{display:contents}
  .hdr .side.end>a{grid-column:3;grid-row:1;justify-self:end}
  .hdr .lang{grid-column:1/-1;grid-row:2;justify-content:center}
  .hdr .lang button{height:var(--s6)}
  .hdr .lang button::after{bottom:var(--s1)}
}

/* footer: studio credit (restored from the original footer, 2026-10-05) */
.ftr .legal .credit{display:inline-flex;align-items:center;gap:var(--s2);color:inherit;text-decoration:none;min-height:var(--tap)}
.ftr .legal .credit img{display:block;width:44px;height:14px}
.ftr .legal .credit:hover span,.ftr .legal .credit:focus-visible span{color:var(--ink)}
.ftr .legal .rights .note{display:block;margin-top:var(--s1)}
/* footer: the accessibility control beside the language group (qa-C C2); drawn as the language buttons (theme.css .ftr .lang button) */
.ftr .legal .tools{display:flex;align-items:stretch;gap:var(--s5)}
.ftr .a11y{font:inherit;color:var(--mute);border-bottom:var(--rule) solid transparent;padding-bottom:2px;min-height:var(--tap);min-width:var(--tap);transition:color var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease)}
.ftr .a11y:hover,.ftr .a11y:focus-visible,.ftr .a11y[aria-expanded=true]{color:var(--ink);border-color:var(--ink)}
