@font-face{font-family:"TT Wellingtons";src:url("/font/TTWellingtons-Medium-web.woff2") format("woff2");font-weight:400 500;font-style:normal;font-display:swap}
@font-face{font-family:"TT Wellingtons";src:url("/font/TTWellingtons-Bold-web.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"TT Wellingtons";src:url("/font/TTWellingtons-ExtraBold-web.woff2") format("woff2");font-weight:800;font-style:normal;font-display:swap}
/* Same-outline subsets of Inter 4.1, self-hosted; see font/Inter-LICENSE.txt (SIL OFL 1.1).
   Face-level tnum also covers form controls whose font shorthand resets variants. */
@font-face{font-family:"Inter";src:url("/font/InterCommerce.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap;font-feature-settings:"lnum" 1,"tnum" 1}
@font-face{font-family:"Inter Digits";src:url("/font/InterDigits.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap;font-feature-settings:"lnum" 1,"tnum" 1;unicode-range:U+0030-0039}
:root{--shop-green:#91b62b;--shop-green-dark:#719218;--shop-ink:#292b33;--shop-muted:#5e615c;--shop-line:#e2e4dd;--shop-paper:#f6f7f3;--shop-white:#fff;--shop-shadow:0 20px 56px rgba(35,38,32,.12);--shop-digits:"Inter",Arial,sans-serif;--shop-text:"Inter Digits","TT Wellingtons",Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
/* Native focus/anchor adjustments during a cart rebuild must not leave a
   smooth root scroll running after the synchronous viewport restoration.
   Deliberate order-success navigation still requests smooth motion explicitly. */
html:has(>body.checkout-page){scroll-behavior:auto}
/* Cart mutations already preserve the visible item synchronously. Do not let
   Chromium apply a second, asynchronous native scroll-anchor correction. */
body.checkout-page{overflow-anchor:none}
body.commerce-page{margin:0;background:#fdfdfb;color:var(--shop-ink);font-family:var(--shop-text);font-variant-numeric:lining-nums tabular-nums;font-feature-settings:"lnum" 1,"tnum" 1;font-size:16px;font-weight:500;line-height:1.5;-webkit-font-smoothing:antialiased}
body.commerce-page::selection{background:rgba(145,182,43,.28);color:var(--shop-ink)}
.commerce-page a{color:inherit;text-decoration:none}
.commerce-page button,.commerce-page input,.commerce-page textarea,.commerce-page select{font:inherit;font-variant-numeric:lining-nums tabular-nums;font-feature-settings:"lnum" 1,"tnum" 1}
.commerce-page button{color:inherit}
/* Outline is shared across later page extensions too. Only this focus property
   is authoritative; decorative shadows and native control behavior stay local. */
html body :where(a[href],button,input,textarea,select,summary,[tabindex],[contenteditable="true"]):focus{outline:2px solid var(--shop-focus-color,#405316)!important;outline-offset:2px}
/* Static announcement targets and pointer-focused containers have no frame.
   Browser-native keyboard scroll stops without tabindex keep their own visible
   cue; native/ARIA and explicit controls retain ours. Text remains copyable. */
html body :focus:not(:where(a[href],button,input,textarea,select,summary,[tabindex]:not([tabindex="-1"]),:focus-visible:not([tabindex="-1"]),[contenteditable]:not([contenteditable="false"]),[role="button"],[role="link"],[role="checkbox"],[role="radio"],[role="switch"],[role="tab"],[role="menuitem"],[role="menuitemcheckbox"],[role="menuitemradio"],[role="option"],[role="combobox"],[role="listbox"],[role="slider"],[role="spinbutton"],[role="textbox"],[role="treeitem"],[role="gridcell"])) {outline:0!important}
html body [data-store-pointer-focus]:focus{outline-width:0!important}
/* Only activation surfaces lose the native tap overlay. Keep focus, text
   selection, long-press callouts and native field/picker behavior independent. */
:where(a[href],button,summary,[role="button"],[role="link"],input:is([type="button"],[type="submit"],[type="reset"],[type="radio"],[type="checkbox"]),label:has(input:is([type="radio"],[type="checkbox"]))){-webkit-tap-highlight-color:transparent}
/* Native touch overlays/long-press selection are not category selection.
   Keep actual selected classes and keyboard focus independent of the finger. */
:is(.category-card,.mobile-category-chip){-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}
@media(hover:none){
  .category-card:not(.category-card--active){background:#fff;color:var(--ink);box-shadow:none}
  .category-card:not(.category-card--active) .category-card__mark{color:var(--red)}
  .category-card:not(.category-card--active) small{color:#656863}
}
html body :is(input,textarea,select):focus{border-color:var(--shop-green-dark,#719218)}
/* Text fields show focus through their border even when touch typing matches
   :focus-visible or a redraw removes the pointer marker. Native pickers,
   checkboxes, radios, sliders and button inputs retain the shared outline. */
html body :is(input:where(:not([type]),[type="" i],[type="text" i],[type="search" i],[type="tel" i],[type="url" i],[type="email" i],[type="password" i],[type="number" i]),textarea,select):focus{outline:0!important}
:is(.shop-header,.header-v3__inner,.header-v3__mobile-nav,.hero,.offer-banner,.site-footer,.shop-footer,.admin-sidebar){--shop-focus-color:#d3e5a9}
/* Empty geometry contributes no extra text to a summary's accessible name. */
html details>summary{list-style:none;cursor:pointer}
html details>summary::-webkit-details-marker{display:none}
html details>summary::marker{content:""}
html details>summary::before{content:"";display:inline-block;width:7px;height:7px;margin-inline:2px 12px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(-45deg);vertical-align:2px;transition:transform .15s ease}
html details[open]>summary::before{transform:rotate(45deg)}
@media(prefers-reduced-motion:reduce){html details>summary::before{transition:none}}
@media(forced-colors:active){html body :where(a[href],button,input,textarea,select,summary,[tabindex],[contenteditable="true"]):focus{outline-color:Highlight!important}html body :is(input,textarea,select):focus,html body :is(.search-box,.header-v3__utility .search-box):focus-within{border-color:Highlight}}
.shop-shell{width:min(1180px,calc(100% - 48px));margin-inline:auto}
.numeric{font-family:var(--shop-digits)!important;font-variant-numeric:lining-nums tabular-nums}
.shop-header{position:sticky;top:0;z-index:80;background:#292b33;color:#fff;box-shadow:0 12px 34px rgba(28,30,35,.16)}
.shop-header__inner{min-height:84px;display:flex;align-items:center;gap:34px}
.shop-brand{display:flex;align-items:center;gap:12px;min-width:max-content}
.shop-brand img{width:42px;height:42px;border-radius:50%;object-fit:contain;background:#fff;box-shadow:0 6px 20px rgba(0,0,0,.22)}
.shop-brand span{display:flex;flex-direction:column;gap:4px}.shop-brand strong{font-size:17px;line-height:1;letter-spacing:.075em}.shop-brand small{color:rgba(255,255,255,.72);font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.shop-nav{margin-left:auto;display:flex;align-items:center;gap:26px}.shop-nav a{color:rgba(255,255,255,.78);font-size:14px;font-weight:700}.shop-nav a:hover{color:var(--shop-green)}
.shop-header__actions{display:flex;align-items:center;gap:10px}.shop-icon-link{min-height:48px;padding:0 14px;border:1px solid rgba(255,255,255,.16);border-radius:15px;background:rgba(255,255,255,.06);display:flex;align-items:center;gap:9px;font-size:14px;font-weight:700}.shop-icon-link:hover{background:rgba(255,255,255,.12)}.shop-icon-link svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.shop-cart-count{width:27px;height:27px;border-radius:9px;background:var(--shop-green);color:#202329;display:grid;place-items:center;font-family:var(--shop-digits);font-size:13px;font-weight:700;line-height:1}
.header-v3__account{height:48px;padding:0 13px;border:1px solid rgba(255,255,255,.16);border-radius:15px;background:rgba(255,255,255,.06);display:flex;align-items:center;gap:8px;color:#fff;font-size:14px;font-weight:700;white-space:nowrap;transition:background .2s ease,border-color .2s ease}.header-v3__account:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.3)}.header-v3__account svg{display:block;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.product-card__image-link{display:block;width:100%;height:100%}.product-card__image-link img{width:100%;height:100%;object-fit:cover}.product-card h3 a:hover{color:var(--shop-green-dark)}
.cart-item img,.checkout-item img{border-radius:12px}
.header-v3__utility .catalog-button{display:flex;align-items:center;justify-content:center;line-height:1}
.header-v3__utility .catalog-button__icon{flex:none}
.cart-item__controls{display:flex;align-items:center;gap:7px;margin-top:7px}.cart-item__controls button:not(.cart-item__remove){width:27px;height:27px;padding:0;border:1px solid var(--shop-line);border-radius:8px;background:#fff;display:grid;place-items:center;font-family:var(--shop-digits);font-size:16px}.cart-item__controls small{min-width:19px;text-align:center}.cart-item__controls .cart-item__remove{padding:4px;border:0;background:transparent;color:#8b3a3a;font-size:11px;font-weight:700}
.shop-main{min-height:calc(100vh - 220px);padding:46px 0 92px}
.breadcrumbs{display:flex;align-items:center;gap:9px;margin-bottom:30px;color:var(--shop-muted);font-size:14px;font-weight:600}.breadcrumbs a{text-decoration:underline;text-decoration-color:#c8cabf;text-underline-offset:4px}.breadcrumbs span{color:#92958f}
.page-heading{margin:0 0 34px;font-size:clamp(38px,5vw,68px);line-height:.98;letter-spacing:-.035em;font-weight:800}.page-heading--compact{font-size:clamp(34px,4vw,54px)}
.shop-card{border:1px solid var(--shop-line);border-radius:16px;background:#fff;box-shadow:0 10px 32px rgba(35,38,32,.06)}
.button-primary,.button-secondary,.button-danger{min-height:52px;padding:0 22px;border:0;border-radius:15px;display:inline-flex;align-items:center;justify-content:center;gap:10px;font-weight:800;cursor:pointer;transition:transform .2s ease,background .2s ease,color .2s ease}.button-primary{background:var(--shop-green);color:#202329;box-shadow:0 10px 25px rgba(145,182,43,.25)}.button-primary:hover{background:#a2c938;transform:translateY(-1px)}.button-secondary{border:1px solid var(--shop-line);background:#fff;color:var(--shop-ink)}.button-secondary:hover{background:var(--shop-paper)}.button-danger{background:#f7e8e8;color:#9e3030}.button-danger:hover{background:#f2dada}.button-primary:disabled,.button-secondary:disabled{cursor:not-allowed;opacity:.55;transform:none}
.field{display:flex;flex-direction:column;gap:8px}.field label,.field>span{font-size:14px;font-weight:700}.field input,.field textarea,.field select{width:100%;min-height:50px;padding:0 15px;border:1px solid #d9dcd2;border-radius:13px;background:#fff;color:var(--shop-ink);font-size:16px;font-weight:600}.field textarea{min-height:110px;padding-block:13px;resize:vertical}.field input::placeholder,.field textarea::placeholder{color:#777b74;opacity:1}.field small{color:var(--shop-muted);font-size:13px;font-weight:600}.field-error{min-height:21px;margin:0;color:#a93434;font-size:14px;font-weight:700}
.notice{padding:17px 18px;border-radius:14px;background:#eef4dd;color:#39451d;font-size:14px;font-weight:700;line-height:1.5}.notice--dark{background:var(--shop-ink);color:#fff}.notice--error{background:#f8e6e6;color:#8f2c2c}
#checkoutRoot>.notice{margin-bottom:24px}
body.checkout-page .page-heading,body.checkout-page .checkout-login,body.checkout-page .checkout-terms{text-align:center}
.checkout-pickup{padding:20px;border:1px solid var(--shop-line);border-radius:14px;background:var(--shop-paper)}
.checkout-pickup dl{display:grid;gap:16px;margin:0}
.checkout-pickup dt{margin-bottom:5px;color:var(--shop-muted);font-size:14px;font-weight:700}
.checkout-pickup dd{margin:0;font-size:17px;line-height:1.5;font-weight:800;overflow-wrap:anywhere}
.checkout-pickup__discount{color:var(--shop-green-dark)}
.checkout-pickup p{margin:16px 0 0;color:var(--shop-muted);font-size:14px;line-height:1.5}
.checkout-coupon{margin-top:20px;padding-top:20px;border-top:1px solid var(--shop-line)}
.checkout-coupon__entry{display:flex;gap:8px;align-items:stretch}
.checkout-coupon__entry input{min-width:0;flex:1 1 0;width:100%}
.checkout-coupon__entry .button-secondary{flex:0 0 auto;min-height:48px;padding-inline:12px}
.checkout-coupon__remove{min-height:44px;padding:8px 0;border:0;background:transparent;color:var(--shop-green-dark);font:inherit;font-size:14px;font-weight:700;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.checkout-coupon__remove:disabled{opacity:.5;cursor:default}
.checkout-coupon__terms{margin:8px 0 0;color:var(--shop-muted);font-size:14px;line-height:1.5}
.checkout-coupon .field-error{margin:8px 0 0;font-size:14px;line-height:1.5}
.checkout-coupon .field-error:empty{display:none}
.checkout-coupon .field-error a{text-decoration:underline;text-underline-offset:3px}
.shop-footer{padding:54px 0 28px;background:#202129;color:#fff}.shop-footer__grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:50px;padding-bottom:42px}.shop-footer h3{margin:0 0 10px;font-size:18px}.shop-footer p,.shop-footer a{color:rgba(255,255,255,.7);font-size:14px;font-weight:600}.shop-footer__links{display:flex;flex-direction:column;gap:9px}.shop-footer__bottom{padding-top:20px;border-top:1px solid rgba(255,255,255,.12);display:flex;justify-content:space-between;color:rgba(255,255,255,.55);font-size:13px}

.product-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(380px,.95fr);gap:58px;align-items:start}.product-gallery{position:sticky;top:112px}.product-gallery__main{aspect-ratio:1.13/1;overflow:hidden;border-radius:28px;background:#f0f1ec;box-shadow:var(--shop-shadow)}.product-gallery__main img{width:100%;height:100%;object-fit:cover}.product-copy{padding-top:14px}.product-category{color:var(--shop-green-dark);font-size:13px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.product-copy h1{margin:12px 0 18px;font-size:clamp(40px,5vw,66px);line-height:.98;letter-spacing:-.035em}.product-lead{margin:0;color:var(--shop-muted);font-size:18px;line-height:1.6;font-weight:600}.product-price{margin:30px 0 8px;font-family:var(--shop-digits);font-size:40px;line-height:1;font-weight:800}.product-weight{color:var(--shop-muted);font-size:15px;font-weight:700}.product-buy{display:grid;grid-template-columns:132px 1fr;gap:12px;margin:26px 0}.quantity-control{height:54px;border:1px solid var(--shop-line);border-radius:15px;display:grid;grid-template-columns:42px 1fr 42px;align-items:center;overflow:hidden;background:#fff}.quantity-control button{height:100%;border:0;background:transparent;font-family:var(--shop-digits);font-size:22px;cursor:pointer}.quantity-control button:hover{background:var(--shop-paper)}.quantity-control output{font-family:var(--shop-digits);font-size:15px;font-weight:700;text-align:center}.product-facts{margin-top:34px;border-top:1px solid var(--shop-line)}.product-fact{padding:18px 0;border-bottom:1px solid var(--shop-line);display:grid;grid-template-columns:150px 1fr;gap:24px}.product-fact strong{font-size:14px}.product-fact span{color:var(--shop-muted);font-size:14px;font-weight:600}.product-description{margin-top:34px;font-size:16px;line-height:1.65;font-weight:600}

.checkout-layout{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:42px;align-items:start}.checkout-form{padding:28px}.checkout-section+.checkout-section{margin-top:34px;padding-top:30px;border-top:1px solid var(--shop-line)}.checkout-section h2{margin:0 0 20px;font-size:25px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-grid .field--wide{grid-column:1/-1}.checkout-summary{position:sticky;top:110px;padding:25px}.checkout-summary h2{margin:0 0 20px;font-size:24px}.checkout-item{display:grid;grid-template-columns:58px 1fr auto;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid var(--shop-line)}.checkout-item img{width:58px;height:58px;border-radius:12px;object-fit:cover;background:var(--shop-paper)}.checkout-item h3{margin:0 0 3px;font-size:14px;line-height:1.25}.checkout-item small{color:var(--shop-muted);font-size:12px;font-weight:700}.checkout-item strong{font-family:var(--shop-digits);font-size:14px;white-space:nowrap}.summary-total{display:flex;justify-content:space-between;align-items:baseline;margin:22px 0}.summary-total span{font-weight:700}.summary-total strong{font-family:var(--shop-digits);font-size:29px}.checkout-summary .button-primary{width:100%}.empty-cart{padding:54px;text-align:center}.empty-cart svg{width:52px;height:52px;margin:0 auto 18px;fill:none;stroke:var(--shop-green-dark);stroke-width:1.5}.empty-cart h2{margin:0 0 8px;font-size:30px}.empty-cart p{margin:0 0 24px;color:var(--shop-muted);font-weight:600}

.auth-layout{width:min(520px,100%);margin:24px auto 0}.auth-card{padding:34px}.auth-card h1{margin:0 0 8px;font-size:40px;letter-spacing:-.025em}.auth-card>p{margin:0 0 26px;color:var(--shop-muted);font-weight:600}.auth-form{display:grid;gap:17px}.auth-submit{margin-top:4px;width:100%}.auth-switch{margin:22px 0 0;text-align:center;color:var(--shop-muted);font-size:14px;font-weight:600}.auth-switch a{color:var(--shop-green-dark);text-decoration:underline;text-underline-offset:4px}

.account-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:28px}.account-head h1{margin:0;font-size:clamp(38px,5vw,62px);letter-spacing:-.035em}.account-balance{padding:14px 18px;border-radius:14px;background:var(--shop-green);display:flex;flex-direction:column}.account-balance span{font-size:12px;font-weight:800;text-transform:uppercase}.account-balance strong{font-family:var(--shop-digits);font-size:24px}.account-grid{display:grid;grid-template-columns:260px 1fr;gap:24px}.account-nav{align-self:start;padding:10px;display:flex;flex-direction:column;gap:4px}.account-nav button{min-height:46px;padding:0 13px;border:0;border-radius:11px;background:transparent;text-align:left;font-weight:700;cursor:pointer}.account-nav button:hover,.account-nav button.is-active{background:var(--shop-ink);color:#fff}.account-panel{padding:28px}.account-panel h2{margin:0 0 22px;font-size:28px}.order-list{display:grid;gap:10px}.order-row{padding:17px;border-radius:14px;background:var(--shop-paper);display:grid;grid-template-columns:1fr auto auto;gap:16px;align-items:center}.order-row strong{font-family:var(--shop-digits)}.status{width:max-content;padding:7px 10px;border-radius:9px;background:#e8eadf;color:#4f544b;font-size:12px;font-weight:800}.status--new{background:#eef4dd;color:#50661b}.status--completed{background:#e1f1e4;color:#276338}.status--cancelled{background:#f5e3e3;color:#8d3030}.bonus-row{padding:14px 0;border-bottom:1px solid var(--shop-line);display:flex;justify-content:space-between;gap:20px}.bonus-row strong{font-family:var(--shop-digits)}

.admin-page{background:#f4f5f1}.admin-shell{width:min(1380px,calc(100% - 48px));margin-inline:auto}.admin-header{position:sticky;top:0;z-index:60;background:#202129;color:#fff;box-shadow:0 8px 30px rgba(24,26,30,.18)}.admin-header__inner{min-height:72px;display:flex;align-items:center;gap:18px}.admin-header strong{font-size:18px}.admin-header span{color:rgba(255,255,255,.6);font-size:13px;font-weight:700}.admin-header .button-secondary{margin-left:auto;min-height:42px;background:transparent;color:#fff;border-color:rgba(255,255,255,.18)}.admin-main{padding:34px 0 70px}.admin-title{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.admin-title h1{margin:0;font-size:40px}.admin-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:22px}.admin-metric{padding:21px;border-radius:15px;background:#fff;box-shadow:0 8px 26px rgba(35,38,32,.06)}.admin-metric span{display:block;color:var(--shop-muted);font-size:13px;font-weight:700}.admin-metric strong{display:block;margin-top:7px;font-family:var(--shop-digits);font-size:32px;line-height:1}.admin-tabs{display:flex;gap:6px;margin-bottom:18px;padding:6px;border-radius:15px;background:#fff;overflow-x:auto}.admin-tabs button{min-height:42px;padding:0 16px;border:0;border-radius:10px;background:transparent;font-weight:700;white-space:nowrap;cursor:pointer}.admin-tabs button.is-active{background:var(--shop-ink);color:#fff}.admin-panel{padding:22px;overflow:hidden}.table-wrap{overflow-x:auto}.admin-table{width:100%;border-collapse:collapse}.admin-table th,.admin-table td{padding:14px 12px;border-bottom:1px solid var(--shop-line);text-align:left;vertical-align:middle}.admin-table th{color:var(--shop-muted);font-size:12px;text-transform:uppercase;letter-spacing:.05em}.admin-table td{font-size:14px;font-weight:600}.admin-table img{width:52px;height:52px;border-radius:11px;object-fit:cover}.admin-table select,.admin-table input{height:40px;padding:0 10px;border:1px solid var(--shop-line);border-radius:10px;background:#fff}.admin-editor{display:grid;grid-template-columns:1fr 1fr;gap:18px}.admin-editor .field--wide{grid-column:1/-1}.admin-editor__actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:10px}.admin-login{width:min(480px,calc(100% - 32px));margin:9vh auto;padding:34px}
.global-toast{position:fixed;right:24px;bottom:24px;z-index:200;max-width:min(420px,calc(100% - 32px));padding:14px 18px;border-radius:13px;background:var(--shop-ink);color:#fff;box-shadow:0 15px 40px rgba(24,26,30,.25);font-size:14px;font-weight:700;opacity:0;transform:translateY(14px);pointer-events:none;transition:opacity .2s ease,transform .25s cubic-bezier(.2,.75,.25,1)}.global-toast[data-type="error"]{background:#8d3030}.global-toast.is-visible{opacity:1;transform:translateY(0)}
@media(max-width:1000px){.global-toast{bottom:calc(var(--mobile-bottom-nav-height, 76px) + env(safe-area-inset-bottom, 0px) + 16px);right:16px}}
.skeleton{min-height:180px;border-radius:16px;background:#eef0e9;animation:skeleton 1.1s ease-in-out infinite alternate}@keyframes skeleton{to{background:#e3e6dc}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.skeleton{animation:none}.button-primary,.global-toast{transition:none}}

@media(max-width:1000px){.shop-nav{display:none}.shop-header__inner{gap:16px}.shop-header__actions{margin-left:auto}.header-v3__account{display:none}.product-layout{grid-template-columns:1fr;gap:32px}.product-gallery{position:static}.product-gallery__main{aspect-ratio:1.45/1}.checkout-layout{grid-template-columns:1fr}.checkout-summary{position:static;order:-1}.admin-metrics{grid-template-columns:1fr 1fr}}
@media(max-width:700px){body.commerce-page{font-size:15px}.shop-shell,.admin-shell{width:calc(100% - 28px)}.shop-header__inner{min-height:70px}.shop-brand img{width:38px;height:38px}.shop-brand strong{font-size:15px}.shop-brand small{font-size:8px}.shop-icon-link{width:44px;min-height:44px;padding:0;justify-content:center}.shop-icon-link>span:not(.shop-cart-count){display:none}.shop-cart-count{position:absolute;margin:-31px -32px 0 0;width:20px;height:20px;border:2px solid var(--shop-ink);border-radius:7px;font-size:10px}.header-v3__account{width:48px;padding:0;justify-content:center}.header-v3__account span{display:none}.shop-main{padding:28px 0 62px}.breadcrumbs{margin-bottom:21px}.product-copy{padding-top:0}.product-copy h1{font-size:39px}.product-lead{font-size:16px}.product-price{font-size:34px}.product-buy{grid-template-columns:112px 1fr}.product-fact{grid-template-columns:1fr;gap:5px}.checkout-form,.checkout-summary,.auth-card,.account-panel{padding:20px}.form-grid{grid-template-columns:1fr}.form-grid .field--wide{grid-column:auto}.account-head{align-items:flex-start;flex-direction:column}.account-grid{grid-template-columns:1fr}.account-nav{position:sticky;top:80px;z-index:20;flex-direction:row;overflow-x:auto}.account-nav button{white-space:nowrap}.order-row{grid-template-columns:1fr auto}.order-row .status{grid-column:1/-1}.shop-footer__grid{grid-template-columns:1fr;gap:25px}.shop-footer__bottom{flex-direction:column;gap:7px}.admin-metrics{grid-template-columns:1fr 1fr}.admin-panel{padding:13px}.admin-editor{grid-template-columns:1fr}.admin-editor .field--wide,.admin-editor__actions{grid-column:auto}.admin-title{align-items:flex-start;flex-direction:column}}
@media(max-width:390px){.shop-brand small{display:none}.product-buy{grid-template-columns:1fr}.admin-metrics{grid-template-columns:1fr}.admin-title h1{font-size:34px}}

/* Full store views */
.related-products{display:block;margin-top:72px}.related-products .products-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.related-products .product-card{min-width:0}.related-products .product-card__visual{aspect-ratio:1/1;overflow:hidden}
.checkout-quantity{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.checkout-quantity button{width:28px;height:28px;padding:0;border:1px solid var(--shop-line);border-radius:8px;background:#fff;display:grid;place-items:center;font-family:var(--shop-digits);font-weight:700;cursor:pointer}.checkout-quantity button:last-child{width:auto;padding:0 5px;border-color:transparent;background:transparent;color:#8b3a3a;font-family:inherit;font-size:11px}.checkout-payment{margin:18px 0;color:var(--shop-ink);font-size:14px;line-height:1.45}.order-success{width:min(700px,100%);margin:20px auto;padding:44px;text-align:center}.order-success__check{width:66px;height:66px;margin:0 auto 20px;border-radius:50%;background:var(--shop-green);display:grid;place-items:center}.order-success__check svg{width:34px;height:34px;fill:none;stroke:#202329;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.order-success h2{margin:0 0 12px;font-size:38px}.order-success p{color:var(--shop-muted);font-weight:600}.order-success .notice{margin:22px 0}.order-success .button-primary{margin-top:8px}
.account-register-link{margin-left:8px}.account-head p{margin:8px 0 0;color:var(--shop-muted);font-weight:600}.account-empty{padding:30px;border-radius:14px;background:var(--shop-paper);text-align:center}.account-empty h3{margin:0 0 8px;font-size:23px}.account-empty p{margin:0 0 20px;color:var(--shop-muted);font-weight:600}.account-empty p:last-child{margin-bottom:0}.account-favorites{display:grid;gap:10px}.favorite-row{position:relative;display:grid;grid-template-columns:74px minmax(0,1fr) auto;gap:15px;align-items:center;padding:12px 42px 12px 12px;border:1px solid var(--shop-line);border-radius:14px}.favorite-row img{width:74px;height:74px;border-radius:11px;object-fit:cover;background:var(--shop-paper)}.favorite-row h3{margin:0 0 6px;font-size:17px}.favorite-row strong{font-family:var(--shop-digits)}.favorite-row .button-primary{min-height:44px;padding-inline:16px}.favorite-remove{position:absolute;top:9px;right:9px;width:28px;height:28px;padding:0;border:0;border-radius:8px;background:transparent;color:#8b3a3a;font-size:22px;line-height:1;cursor:pointer}.favorite-remove:hover{background:#f7e8e8}.bonus-intro{margin-bottom:20px;padding:23px;border-radius:15px;background:var(--shop-green);display:flex;align-items:baseline;gap:10px}.bonus-intro strong{font-size:36px;line-height:1}.bonus-intro span{font-size:14px;font-weight:800}.bonus-row small{display:block;margin-top:4px;color:var(--shop-muted);font-size:13px;font-weight:600}.order-row small{display:block;margin-top:4px;color:var(--shop-muted);font-size:13px;font-weight:600}.profile-form{display:grid;gap:18px;max-width:620px}.profile-form .button-primary{justify-self:start}
.account-order{overflow:hidden;border:1px solid var(--shop-line);border-radius:14px}.account-order .order-row{border-radius:0}.account-order__total{text-align:right}.account-order__total strong{display:block}.account-order__items{display:flex;flex-wrap:wrap;gap:7px;padding:12px 17px;border-top:1px solid var(--shop-line);background:#fff}.account-order__items span{padding:5px 8px;border-radius:8px;background:var(--shop-paper);font-size:12px;font-weight:700}.account-order__items b{font-weight:700}
.admin-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.admin-toolbar p{margin:0;color:var(--shop-muted);font-weight:600}.admin-order-details td{padding-top:0!important;color:var(--shop-muted);font-size:13px!important;line-height:1.65}.admin-order-details strong{color:var(--shop-ink)}.admin-order-items{display:grid;gap:8px;margin:8px 0 14px}.admin-order-item{display:grid;grid-template-columns:minmax(220px,1fr) 180px 170px;gap:10px;align-items:end;padding:11px;border-radius:11px;background:var(--shop-paper)}.admin-order-item span small{display:block;color:var(--shop-muted)}.admin-order-item label{display:grid;gap:4px;font-size:11px;font-weight:800}.admin-order-item input{width:100%;height:38px}.admin-order-meta{line-height:1.7}.admin-check{display:flex;align-items:center;gap:9px;min-height:50px;font-size:14px;font-weight:700}.admin-check input{width:20px;height:20px;accent-color:var(--shop-green-dark)}.bonus-adjust{display:grid;grid-template-columns:105px minmax(180px,1fr) auto;gap:7px}.bonus-adjust .button-secondary{min-height:40px;padding-inline:12px}.admin-login h1{margin:0 0 8px;font-size:34px}.admin-login>p{margin:0 0 24px;color:var(--shop-muted);font-weight:600}
@media(max-width:1000px){.related-products .products-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bonus-adjust{grid-template-columns:100px 1fr}.bonus-adjust .button-secondary{grid-column:1/-1}.admin-order-item{grid-template-columns:minmax(180px,1fr) 160px 150px}}
@media(max-width:700px){.shop-icon-link{position:relative}.shop-cart-count{top:-5px;right:-5px;margin:0}.checkout-item{grid-template-columns:50px minmax(0,1fr);align-items:start}.checkout-item img{width:50px;height:50px}.checkout-item>strong{grid-column:2;justify-self:start}.account-register-link{margin:10px 0 0}.favorite-row{grid-template-columns:62px minmax(0,1fr);padding-right:38px}.favorite-row img{width:62px;height:62px}.favorite-row .button-primary{grid-column:1/-1}.admin-toolbar{align-items:flex-start;flex-direction:column}.bonus-adjust{min-width:260px}.order-success{padding:28px 20px}.order-success h2{font-size:32px}}
@media(max-width:700px){.admin-order-item{grid-template-columns:1fr;min-width:260px}}
@media(max-width:480px){.related-products .products-grid{grid-template-columns:1fr}}
.product-favorite{margin:-12px 0 24px}.product-favorite svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.product-favorite[aria-pressed="true"]{border-color:#bfd47d;background:#f0f6df;color:#567118}
.product-card__tag--muted{background:#6b6e67!important;color:#fff!important}.add-button:disabled{cursor:not-allowed;opacity:.42;filter:grayscale(1)}
.product-card__old-price{display:block;margin-bottom:2px;color:#8a8d86;font-family:var(--shop-digits);font-size:12px;font-weight:600;text-decoration-thickness:1px}.product-old-price{margin:26px 0 -24px;color:#8a8d86;font-size:18px;font-weight:700;text-decoration:line-through}.product-old-price+.product-price{color:#789b1c}
.admin-order-meta{display:flex;align-items:flex-end;justify-content:space-between;gap:18px}.admin-order-meta .button-secondary{min-height:38px;padding-inline:12px;white-space:nowrap}.telegram-state{color:#9b4c3b!important}.telegram-state.is-sent{color:#5f7d16!important}
.admin-toolbar h2{margin:0 0 5px;font-size:27px}.product-admin-controls{position:sticky;top:86px;z-index:12;margin:0 -4px 24px;padding:10px 4px;background:rgba(255,255,255,.96);backdrop-filter:blur(12px)}.product-category-tabs{display:flex;gap:7px;padding-bottom:10px;overflow-x:auto;scrollbar-width:thin}.product-category-tabs button{min-height:42px;padding:0 13px;border:1px solid var(--shop-line);border-radius:12px;background:#fff;font-size:13px;font-weight:800;white-space:nowrap;cursor:pointer}.product-category-tabs button span{margin-inline-start:6px;padding:3px 6px;border-radius:7px;background:var(--shop-paper);font-size:11px}.product-category-tabs button.is-active{border-color:var(--shop-ink);background:var(--shop-ink);color:#fff}.product-category-tabs button.is-active span{background:var(--shop-green);color:#202329}.product-admin-search{position:relative;display:block;width:min(380px,100%)}.product-admin-search input{width:100%;height:46px;padding:0 44px 0 14px;border:1px solid var(--shop-line);border-radius:13px;background:#fff;font-size:16px;font-weight:700}.product-admin-search svg{position:absolute;right:14px;top:13px;width:20px;height:20px;fill:none;stroke:var(--shop-muted);stroke-width:1.8;stroke-linecap:round}.product-groups{display:grid;gap:26px}.product-group{overflow:hidden;border:1px solid var(--shop-line);border-radius:15px;background:#fff}.product-group__head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 20px;background:#f0f4e4}.product-group__head h3{margin:0;font-size:21px}.product-group__head p{margin:4px 0 0;color:var(--shop-muted);font-size:13px;font-weight:700}.product-group__head>strong{min-width:38px;height:38px;border-radius:11px;background:var(--shop-green);display:grid;place-items:center;font-size:15px}.admin-products-table th:first-child,.admin-products-table td:first-child{padding-inline-start:20px}.admin-products-table th:last-child,.admin-products-table td:last-child{padding-inline-end:20px}.stock-editor{display:flex;align-items:center;gap:6px}.stock-editor input{width:92px;font-size:15px;font-weight:700}.stock-editor .button-secondary{min-height:40px;padding:0 11px;font-size:12px}.availability{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;font-size:12px;font-weight:800}.availability::before{content:"";width:8px;height:8px;border-radius:50%;background:#a23b34}.availability.is-available::before{background:var(--shop-green-dark)}
.commerce-page [hidden]{display:none!important}.admin-products-table tbody tr td{transition:background-color .2s ease}.admin-products-table tbody tr.is-dirty td{background:#fff9e9}.admin-products-table tbody tr.is-saved td{background:#eef7d8}.admin-products-table tbody tr.is-dirty .stock-editor input{border-color:#c49a32;box-shadow:0 0 0 3px rgba(196,154,50,.12)}.admin-products-table tbody tr.is-saved .stock-editor .button-secondary{border-color:var(--shop-green-dark);background:var(--shop-green);color:var(--shop-ink)}
@media(max-width:700px){.shop-brand small{font-size:10px}}
@media(max-width:700px){.product-admin-controls{top:78px}.admin-toolbar .button-primary{width:100%}.product-group__head{align-items:flex-start;padding:16px}.product-group__head p{max-width:32ch}.product-group .table-wrap{overflow:visible}.admin-products-table,.admin-products-table tbody{display:block;width:100%}.admin-products-table thead{display:none}.admin-products-table tbody{padding:4px 14px}.admin-products-table tbody tr{display:grid;grid-template-columns:58px minmax(0,1fr);gap:3px 12px;padding:14px 0;border-bottom:1px solid var(--shop-line)}.admin-products-table tbody tr:last-child{border-bottom:0}.admin-products-table tbody tr td{display:block;padding:0!important;border:0}.admin-products-table tbody tr td:first-child{grid-row:1/3}.admin-products-table tbody tr td:nth-child(2),.admin-products-table tbody tr td:nth-child(3){grid-column:2}.admin-products-table tbody tr td:nth-child(4),.admin-products-table tbody tr td:nth-child(5),.admin-products-table tbody tr td:nth-child(6){grid-column:1/-1;margin-top:9px}.admin-products-table img{width:58px;height:58px}.stock-editor{display:grid;grid-template-columns:minmax(0,1fr) auto;width:100%}.stock-editor input{width:100%;height:46px}.stock-editor .button-secondary{min-height:46px;padding-inline:14px;font-size:13px}.admin-products-table tbody tr td:last-child .button-secondary{width:100%;min-height:44px}.availability{font-size:13px}}
/* Admin actions must fit the viewport without hiding the logout control. */
.admin-list-head h2{margin:0 0 8px;font-size:27px}
.admin-list-head p,.admin-draft-hint{color:var(--shop-muted);font-size:16px;font-weight:600;line-height:1.55;max-width:72ch}
.admin-list-search{display:grid;grid-template-columns:minmax(220px,1fr) minmax(190px,240px) auto auto;gap:12px;align-items:end;margin-block:24px 12px}
.admin-list-search .field{min-width:0;margin:0}
.admin-list-search input,.admin-list-search select{min-width:0;width:100%;font-size:16px}
.admin-list-search label,.admin-customers-table label{font-size:16px;font-weight:700}
.admin-list-search button,.admin-pagination button{min-height:48px;white-space:normal}
.admin-list-search :focus-visible,.admin-pagination :focus-visible,.admin-customers-table :focus-visible{outline:3px solid var(--shop-green-dark);outline-offset:3px}
.admin-list-feedback{min-height:24px;font-weight:600;font-size:16px;overflow-wrap:anywhere}
.admin-list-feedback:empty{min-height:0}
.admin-list-feedback p{margin-block:12px}
.admin-open-order{margin:0 0 12px;min-height:48px}
.admin-order-detail-head{display:flex;align-items:center;flex-wrap:wrap;gap:16px;margin-bottom:22px}
.admin-order-detail-head h2{margin:0;font-size:28px;overflow-wrap:anywhere}
.admin-order-detail-actions{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin-bottom:18px}
.admin-order-detail-actions p{margin:0;color:var(--shop-muted);font-size:16px;font-weight:600;max-width:65ch}
.admin-order-detail-actions button{min-height:48px}
.admin-order-detail .account-order{padding:22px}
.admin-order-detail .account-order>h2{margin:0 0 10px;font-size:24px}
.admin-order-detail .account-order>p{margin:10px 0;overflow-wrap:anywhere}
.admin-order-detail .account-order dl{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 18px;margin:18px 0;padding:16px;background:var(--shop-paper);border-radius:12px}
.admin-order-detail .account-order dt,.admin-order-detail .account-order dd{margin:0}
.admin-order-detail .account-order dd{text-align:right;font-weight:800}
.admin-order-detail .admin-order-item label{font-size:15px}
.admin-order-detail .admin-order-item input{height:48px;font-size:16px}
.admin-order-history{margin-top:28px;border-top:1px solid var(--shop-line);padding-top:22px}
.admin-order-history h3{margin:0 0 14px;font-size:22px}
.admin-order-history-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.admin-order-history-list li{display:grid;grid-template-columns:180px minmax(0,1fr) 180px;gap:14px;padding:13px 15px;background:var(--shop-paper);border-radius:11px;overflow-wrap:anywhere}
.admin-order-history-list time,.admin-order-history-list span{color:var(--shop-muted);font-size:14px}
#adminPrintSheet{display:none}
@media(max-width:700px){.admin-order-history-list li{grid-template-columns:1fr;gap:4px}.admin-order-detail-head{align-items:flex-start;flex-direction:column}.admin-open-order{width:100%}.admin-order-detail .account-order{padding:16px}.admin-order-detail .account-order dl{padding:12px;gap:9px}}
@media print{
  @page{size:A4;margin:14mm}
  html,body.commerce-page.admin-page{background:#fff!important;color:#111!important;width:auto!important;min-width:0!important}
  body.admin-page > :not(#adminPrintSheet){display:none!important}
  body.admin-page:not(.admin-print-ready)::before{content:'Откройте заказ и нажмите «Печать накладной», чтобы подготовить сохранённую накладную.';display:block;font-family:var(--shop-text);font-size:12pt;line-height:1.5}
  body.admin-print-ready #adminPrintSheet{display:block!important;font-family:var(--shop-text);font-size:11pt;line-height:1.4;color:#111;overflow-wrap:anywhere}
  .admin-invoice{max-width:none;margin:0}
  .admin-invoice header{border-bottom:2px solid #222;padding-bottom:12px;margin-bottom:18px}
  .admin-invoice h1{font-size:22pt;line-height:1.15;margin:8px 0}
  .admin-invoice h2{font-size:13pt;margin:16px 0 8px}
  .admin-invoice p{margin:5px 0 10px}
  .admin-invoice table{width:100%;border-collapse:collapse;table-layout:fixed}
  .admin-invoice thead{display:table-header-group}
  .admin-invoice th,.admin-invoice td{padding:8px 6px;border-bottom:1px solid #aaa;text-align:left;vertical-align:top;overflow-wrap:anywhere}
  .admin-invoice th:nth-child(1){width:40%}.admin-invoice th:nth-child(2){width:18%}.admin-invoice th:nth-child(3){width:22%}.admin-invoice th:nth-child(4){width:20%}
  .admin-invoice tr,.admin-invoice-totals{break-inside:avoid;page-break-inside:avoid}
  .admin-invoice .numeric{font-family:var(--shop-digits);font-variant-numeric:tabular-nums}
  .admin-invoice-totals{border-top:2px solid #222;margin-top:18px;padding-top:4px}
  .admin-invoice-totals dl{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 24px;margin:10px 0}
  .admin-invoice-totals dt,.admin-invoice-totals dd{margin:0}
  .admin-invoice-totals dd{text-align:right;font-weight:700}
}
.admin-pagination{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding-block:16px;border-bottom:1px solid var(--shop-line);font-size:16px;font-weight:700}
.admin-pagination>div{display:flex;gap:10px;flex-wrap:wrap}
.admin-pagination button:disabled{opacity:.5;cursor:not-allowed}
.admin-panel{scroll-margin-top:150px}
.admin-customers-table{table-layout:fixed}
.admin-customers-table th:last-child{width:42%}
.admin-customers-table th,.admin-customers-table td{font-size:16px;overflow-wrap:anywhere}
.admin-customers-table .bonus-adjust{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);min-width:0;align-items:end}
.admin-customers-table label{display:grid;gap:8px;min-width:0}
.admin-customers-table input{width:100%;min-width:0;height:46px;font-size:16px}
.admin-customers-table .bonus-adjust button,.admin-customers-table .bonus-adjust p{grid-column:1/-1}
.customer-bonus-label{display:none}
/* Bonus spending value is a body-sized sentence in the incumbent palette. */
#accountRoot .account-head .account-balance,
#accountRoot .account-panel .bonus-intro{gap:4px;white-space:nowrap;align-items:center}
#accountRoot .account-head .account-balance span,
#accountRoot .account-head .account-balance strong,
#accountRoot .account-panel .bonus-intro span,
#accountRoot .account-panel .bonus-intro strong{font-size:16px;line-height:1.5;text-transform:none;font-weight:700}
#accountRoot .account-panel .bonus-intro{padding:16px 18px}
.checkout-referral-choice{display:flex;align-items:center;gap:12px;min-height:48px;cursor:pointer;font-weight:700}
.checkout-referral-choice input{width:24px;height:24px;min-height:24px;flex:0 0 24px;accent-color:var(--shop-green-dark)}
.checkout-referrals>p{margin:12px 0 0;line-height:1.6;color:var(--shop-muted)}
.checkout-referrals .field{margin-top:20px}
.checkout-referrals h2{line-height:1.35;text-wrap:pretty}
.checkout-referrals .field label,.checkout-referrals .field small{font-size:16px;line-height:1.5}
@media(max-width:700px){.checkout-referrals h2{font-size:22px}}
.checkout-referrals .field>button{justify-self:start;min-height:48px}
#referrerStatus{margin:0;font-size:16px;line-height:1.5}
#referrerStatus:empty{display:none}
#referrerStatus.is-applied{display:flex;align-items:flex-start;gap:8px;color:var(--shop-ink)}
.checkout-referrer-check{width:24px;height:24px;flex:0 0 24px;color:var(--shop-green-dark)}
.checkout-referrals [data-referrer-retry][hidden]{display:none}
#accountRoot .account-referrals{margin-block:28px;padding-block:24px;border-block:1px solid var(--shop-line)}
#accountRoot .account-referrals h3{margin:0 0 12px;font-size:23px}
#accountRoot .account-referrals p{margin:12px 0;line-height:1.6}
#accountRoot [data-referral-own-phone]{display:inline-block;white-space:nowrap}
#accountRoot .account-referrals details summary{min-height:48px;padding-block:12px;cursor:pointer;font-weight:700}
#accountRoot .account-referrals li{margin-block:8px}
@media(max-width:1000px){
  .admin-list-search{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .admin-customers-wrap{overflow:visible}
  .admin-customers-table,.admin-customers-table tbody{display:block;width:100%}
  .admin-customers-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
  .admin-customers-table tbody tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;padding-block:22px;border-bottom:1px solid var(--shop-line)}
  .admin-customers-table tbody td{display:block;min-width:0;padding:0;border:0}
  .admin-customers-table tbody td:last-child{grid-column:1/-1}
  .customer-bonus-label{display:inline}
}
@media(max-width:480px){
  .admin-list-search>.field{grid-column:1/-1}
  .admin-list-search button{padding-inline:12px}
  .admin-customers-table tbody tr{grid-template-columns:minmax(0,1fr)}
  .admin-customers-table .bonus-adjust{grid-template-columns:minmax(0,1fr)}
  .admin-pagination>div{width:100%}
  .admin-pagination button{flex:1;padding-inline:12px}
}
@media(max-width:700px){
  .admin-header .admin-header__inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px 12px;padding-block:12px}
  .admin-header__inner>strong,.admin-header__inner>span{min-width:0;overflow-wrap:anywhere}
  .admin-header .button-secondary{width:100%;min-width:0;margin-left:0;padding:10px 12px;white-space:normal}
}
.admin-products-table td:nth-child(4){min-width:290px}
.public-info{max-width:850px;padding:clamp(24px,5vw,54px);overflow-wrap:anywhere}
.public-info h1{font-family:var(--shop-text);font-size:clamp(34px,5vw,58px);line-height:1.05;margin:0 0 26px}
.public-info h2{font-size:clamp(23px,3vw,30px);margin:34px 0 12px}
.public-info p{font-size:clamp(16px,1.8vw,18px);line-height:1.6;max-width:70ch;margin:0 0 18px}
.public-info p:last-child{margin-bottom:0}
.public-info .button-primary{margin-top:12px;text-align:center}
.admin-products-table [data-stock-form]{display:grid;gap:8px;min-width:0;margin-top:10px}
.admin-products-table [data-stock-form] label,.admin-products-table [data-stock-form] small{display:block;min-width:0}
.admin-products-table [data-stock-form] input{width:100%;min-width:0;box-sizing:border-box;font-size:16px}
.admin-products-table [data-stock-form] .button-secondary{justify-self:start;max-width:100%;white-space:normal;text-align:left}
.admin-products-table [data-stock-mode]{margin:4px 5px 0 0;white-space:normal}
@media(max-width:700px){
  .admin-products-table td:nth-child(4){width:100%;min-width:0}
  .admin-products-table [data-stock-form] .button-secondary{width:100%;min-height:46px}
}

/* Public layouts and purchase controls must grow with the customer's text size. */
.reviews-section .review-card__top{flex-wrap:wrap}
.offer-banner--welcome .offer-promo{max-width:100%}
.offer-promo .offer-banner__code{max-width:100%;white-space:normal;overflow-wrap:anywhere}
.cart-drawer .cart-item__controls button:not(.cart-item__remove){width:auto;height:auto;min-width:44px;min-height:44px;padding:6px}
.commerce-page .checkout-date select{white-space:normal}
.commerce-page .shop-header__inner{gap:12px 24px;min-height:92px;padding-block:8px}
.commerce-page .shop-brand{min-width:0;max-width:100%}
.commerce-page .shop-brand span{min-width:0;overflow-wrap:anywhere}
.commerce-page .shop-header__actions,.commerce-page .shop-nav{flex-wrap:wrap;min-width:0}
.commerce-page .shop-header__actions{max-width:100%}
.commerce-page .shop-icon-link{height:auto;min-height:48px;white-space:normal;overflow-wrap:anywhere}
.commerce-page .shop-cart-count{width:auto;min-width:27px;height:auto;min-height:27px;padding:0 3px;font-size:12px;line-height:1.5}
.commerce-page .shop-footer__grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.commerce-page .shop-footer__grid>div{min-width:0;overflow-wrap:anywhere}
.commerce-page .shop-footer__bottom{flex-wrap:wrap;overflow-wrap:anywhere}
.commerce-page .shop-main .shop-shell,.commerce-page .shop-card,.commerce-page .auth-layout{min-width:0}
.commerce-page .page-heading,.commerce-page .product-copy h1,.commerce-page .auth-card h1,
.commerce-page .public-info h1,.commerce-page .public-info h2{overflow-wrap:anywhere}
.commerce-page .product-layout{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)}
.commerce-page .product-layout>*,.commerce-page .checkout-layout>*,.commerce-page .form-grid>*{min-width:0}
.commerce-page .product-buy{grid-template-columns:minmax(132px,max-content) minmax(0,1fr)}
.commerce-page .quantity-control{height:auto;min-height:54px;grid-template-columns:minmax(44px,auto) minmax(0,1fr) minmax(44px,auto);overflow:visible}
.commerce-page .quantity-control button{min-height:44px;padding:6px}
.commerce-page .quantity-control output,.commerce-page .checkout-quantity small,.commerce-page .cart-item__controls small{font-size:16px;line-height:1.5}
.commerce-page .checkout-quantity{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center}
.commerce-page .checkout-quantity button:last-child{grid-column:1/-1;justify-self:start}
.commerce-page .button-primary,.commerce-page .button-secondary{height:auto;padding-block:11px;white-space:normal;text-align:center;overflow-wrap:anywhere}
.commerce-page .checkout-layout{grid-template-columns:minmax(0,1fr) minmax(0,390px)}
.commerce-page .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.commerce-page .field input,.commerce-page .field textarea,.commerce-page .field select{min-width:0}
.commerce-page .checkout-item{grid-template-columns:58px minmax(0,1fr) auto}
.commerce-page .checkout-item>*{min-width:0}
.commerce-page .checkout-item h3,.commerce-page .checkout-item strong,.commerce-page .summary-total strong{overflow-wrap:anywhere;white-space:normal}
.commerce-page .summary-total{flex-wrap:wrap;gap:8px}
.commerce-page .checkout-quantity button,.commerce-page .cart-item__controls button:not(.cart-item__remove){width:auto;min-width:44px;height:auto;min-height:44px;padding:6px}
.commerce-page .checkout-quantity button:last-child{width:auto;min-height:44px;padding:8px}
@media(max-width:1000px){.commerce-page .product-layout,.commerce-page .checkout-layout{grid-template-columns:minmax(0,1fr)}}
@media(max-width:700px){
  .commerce-page .shop-header__inner{min-height:74px;gap:8px;padding-block:8px}
  .commerce-page .shop-brand{flex:1 1 auto}
  .commerce-page .shop-header__actions{margin-left:auto}
  .commerce-page .shop-footer__grid{grid-template-columns:minmax(0,1fr)}
  .commerce-page .form-grid,.commerce-page .product-buy{grid-template-columns:minmax(0,1fr)}
  .commerce-page .checkout-item{grid-template-columns:50px minmax(0,1fr)}
}
.product-promotion { margin: 12px 0; color: #405316; font-size: 16px; line-height: 1.5; overflow-wrap: anywhere; }
.product-promotion p { margin: 4px 0; }
.product-promotion strong { font-weight: 800; }
.commerce-page .saved-address-field{min-width:0;overflow:hidden}

/* Keep native date controls within the same column and touch area on iOS. */
.commerce-page .checkout-form input[type="date"]{
  -webkit-appearance:none;
  appearance:none;
  display:block;
  box-sizing:border-box;
  width:100%;
  min-width:0;
  max-width:100%;
  height:50px;
  min-height:50px;
  font-family:var(--shop-digits);
  font-variant-numeric:lining-nums tabular-nums;
  line-height:1.5;
  text-align:left;
}
.commerce-page .checkout-form input[type="date"]::-webkit-date-and-time-value{
  min-height:1.5em;
  text-align:left;
}
.commerce-page .checkout-form input[type="date"]::-webkit-datetime-edit{
  padding:0;
}
.checkout-summary .checkout-payment{text-align:center}
/* Receipt: keep the existing visual identity, align labels and money as pairs. */
.order-success__number{margin:0 0 18px;font-size:18px;line-height:1.5;overflow-wrap:anywhere}
.order-success__number strong{font-size:inherit;font-weight:800;white-space:normal}
.order-success__fulfillment{margin:0 0 28px}
.order-success__fulfillment p{margin:6px 0;font-size:16px;line-height:1.55;overflow-wrap:anywhere}
.order-success__fulfillment time{font-weight:700;color:var(--shop-ink)}
.order-success__totals{margin:0;text-align:left}
.order-success__totals>div{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:16px;padding:12px 0;border-bottom:1px solid var(--shop-line)}
.order-success__totals dt,.order-success__totals dd{margin:0;font-size:18px;font-weight:700;line-height:1.5;overflow-wrap:anywhere}
.order-success__totals dd{text-align:right;color:var(--shop-ink)}
.order-success__totals .order-success__total{margin-top:8px;padding-top:18px;border-bottom:0}
.order-success__total dt,.order-success__total dd{font-size:20px;font-weight:800}
.order-success .notice{margin:24px 0;text-align:left;font-size:16px;font-weight:600;line-height:1.6}
.order-success .order-success__payment{margin:0 0 18px;font-size:16px;line-height:1.55;color:var(--shop-ink)}
.order-success #orderSuccessTitle{outline:none}
.order-success .button-primary{margin-top:0;max-width:100%;text-wrap:balance}
@media(max-width:700px){.order-success__totals dt,.order-success__totals dd{font-size:16px}.order-success__total dt,.order-success__total dd{font-size:18px}.order-success .button-primary{width:100%}.order-success__fulfillment{margin-bottom:22px}}

/* One purchase pattern for catalog cards, related cards and the product page.
   Stack the action below the quantity so two-column phone cards remain usable. */
.product-card__buy{flex-direction:column;align-items:stretch;gap:12px;container:purchase / inline-size}
.purchase-quantity-frame{display:contents}
.purchase-control{display:grid;gap:10px;min-width:0;width:100%;color:var(--shop-ink);container:purchase / inline-size}
.purchase-selection{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 12px;min-width:0}
.purchase-selection span{font-size:14px;font-weight:600;line-height:1.4;color:var(--shop-muted);overflow-wrap:anywhere}
.purchase-control--card .purchase-selection span{white-space:nowrap;overflow-wrap:normal}
.purchase-selection strong{font-size:18px;font-weight:800;line-height:1.4;white-space:normal;overflow-wrap:anywhere}
.purchase-quantity{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:stretch;min-width:0;border:1px solid var(--shop-line);border-radius:13px;background:var(--shop-paper)}
.purchase-quantity button{display:grid;place-items:center;min-width:44px;min-height:54px;padding:0;border:0;background:transparent;color:var(--shop-ink);font-family:var(--shop-digits);font-size:22px;font-weight:700;border-radius:12px;touch-action:manipulation}
.purchase-quantity__value{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;background:var(--shop-white)}
.purchase-quantity .purchase-quantity__value input{display:block;box-sizing:border-box;width:100%;min-width:0;min-height:28px;height:28px;padding:0 2px;border:0;border-radius:0;background:transparent;box-shadow:none;text-align:center;font-family:var(--shop-digits);font-size:16px;font-weight:700;line-height:1.5;color:var(--shop-ink)}
.purchase-quantity__value span{font-size:14px;font-weight:600;line-height:1.3;color:var(--shop-muted)}
.purchase-control .purchase-add{display:flex;align-items:center;justify-content:center;width:100%;min-width:44px;min-height:48px;padding:10px 6px;border:0;border-radius:13px;background:var(--shop-green);color:var(--button-ink,#202329);font-size:16px;font-weight:800;line-height:1.4;text-align:center;touch-action:manipulation;transition:background-color .15s ease}
/* Dark feedback belongs to the press, not Safari's retained hover state.
   This also applies to touch on a laptop reporting a fine primary pointer. */
.purchase-control .purchase-add:active:not(:disabled){background:var(--shop-green-dark)}
.purchase-control button:disabled{cursor:default}
.purchase-quantity button:disabled{color:#73766f}
.purchase-control .purchase-add:disabled{background:#e7e9e2;color:#5e615c}
.purchase-control .purchase-error{margin:0;color:#983737;font-size:14px;font-weight:700;line-height:1.45;overflow-wrap:anywhere}
.purchase-error[hidden]{display:none}
.purchase-promotion-note{font-size:14px;font-weight:600;line-height:1.4;color:var(--shop-muted)}
.purchase-control button:focus-visible,.purchase-control input:focus-visible{outline:3px solid var(--shop-green-dark);outline-offset:2px}
.commerce-page .product-buy--selection{display:block;max-width:420px}
.product-buy--selection .purchase-selection span{font-size:16px}
.product-buy--selection .purchase-selection strong{font-size:22px}
.product-buy--selection .purchase-quantity__value{flex-direction:row;gap:6px}
.product-buy--selection .purchase-quantity__value input{max-width:90px}
@container purchase (max-width:149px){
  /* 44px buttons + 56px decimal text + input padding/borders need 150px.
     Adapt to the control's actual width, including 361/375px phone cards. */
  .product-card .purchase-quantity{grid-template-columns:repeat(2,minmax(0,1fr))}
  .product-card .purchase-quantity__value{grid-column:1/-1;grid-row:1;flex-direction:row;gap:4px;min-height:44px;border-radius:12px 12px 0 0}
  .product-card .purchase-quantity__value input{width:80px;max-width:70%}
  .product-card .purchase-quantity button{grid-row:2;min-height:44px;border-top:1px solid var(--shop-line)}
}
@media(max-height:500px){
  /* Short windows need price/caption and quantity/action side by side.
     Keep old prices, campaign notes, 16px inputs and 44px touch targets. */
  #productsGrid .product-card__buy{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr) 94px;align-items:center;gap:4px;padding-top:4px}
  #productsGrid .purchase-control{display:contents}
  #productsGrid .purchase-price{grid-column:1;grid-row:1/3}
  #productsGrid .purchase-selection{grid-column:2/4;grid-row:1}
  #productsGrid .purchase-promotion-note{grid-column:2/4;grid-row:2}
  #productsGrid .purchase-quantity{grid-column:1/3;grid-row:3}
  #productsGrid .purchase-add{grid-column:3;grid-row:3}
  #productsGrid .purchase-error{grid-column:1/-1}
  #productsGrid .product-card__price{font-size:18px}
  #productsGrid .purchase-selection{gap:2px 4px}
  #productsGrid .purchase-selection span{line-height:1.2}
  #productsGrid .purchase-selection strong{font-size:16px;line-height:1.2}
  #productsGrid .purchase-quantity button{min-height:44px}
  #productsGrid .purchase-quantity__value span{line-height:1}
  #productsGrid .purchase-add{min-height:44px;padding:2px 4px;line-height:1.2}
}
@media(max-width:760px) and (max-height:500px){
  /* A full-width card leaves room for the decimal input beside the action;
     two narrow cards would force another quantity row on small phones. */
  #productsGrid.products-grid,#productsGrid .products-grid{grid-template-columns:minmax(0,1fr)}
  #productsGrid .purchase-control--card .purchase-price{grid-template-rows:auto auto;min-height:0}
  #productsGrid .purchase-control--card .purchase-selection{min-height:0}
}

/* Keep header actions beside the brand; switch navigation to a menu when
   its actual contents need more room, including text-only enlargement. */
.commerce-page .shop-header__inner{flex-wrap:nowrap}
.commerce-page .shop-brand{flex:1 1 auto;min-width:0}
.commerce-page .shop-brand img{flex:none}
.commerce-page .shop-header__actions{flex:0 0 auto;flex-wrap:nowrap}
.commerce-page .shop-nav{flex:0 0 auto;flex-wrap:nowrap;white-space:nowrap;gap:16px}
.shop-header [data-account-label]{max-width:16ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.shop-header__menu{display:none;place-items:center;flex:none;width:48px;min-height:48px;padding:0;border:1px solid rgba(255,255,255,.16);border-radius:15px;background:rgba(255,255,255,.06);color:inherit;cursor:pointer}
.shop-header__menu svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.shop-header__menu:hover{background:rgba(255,255,255,.12)}
.shop-header__menu:focus-visible{outline:3px solid var(--shop-green);outline-offset:3px}
.shop-header.header-is-compact .shop-header__menu{display:grid}
.shop-header.header-is-compact .shop-nav{position:absolute;top:100%;left:14px;right:14px;display:flex;flex-direction:column;align-items:stretch;gap:0;margin:0;padding:12px 20px;max-height:calc(100dvh - var(--sticky-header-height,84px) - 20px);overflow:auto;visibility:hidden;opacity:0;pointer-events:none;border:1px solid rgba(255,255,255,.16);border-radius:0 0 18px 18px;background:#292b33;box-shadow:0 12px 24px rgba(28,30,35,.16);white-space:normal}
.shop-header.header-is-compact .shop-nav.is-open{visibility:visible;opacity:1;pointer-events:auto}
.shop-header.header-is-compact .shop-nav a{display:flex;align-items:center;min-height:48px;padding:12px 2px;border-bottom:1px solid rgba(255,255,255,.1);line-height:1.4}
.shop-header.header-is-compact .shop-nav a:last-child{border-bottom:0}
.shop-header.header-icons-only .shop-icon-link{position:relative;width:48px;min-width:48px;padding:0;justify-content:center}
.shop-header.header-icons-only .shop-icon-link>span:not(.shop-cart-count){display:none}
.shop-header.header-icons-only .shop-cart-count{position:absolute;top:3px;right:3px;margin:0;min-width:22px;width:auto;min-height:22px;height:auto;padding-inline:3px;border:2px solid #292b33;border-radius:8px}
.shop-header.header-icons-only .shop-icon-link[data-cart-label]{min-width:max(48px,calc(3ch + 8px))}
.shop-header .shop-icon-link svg{flex:none}
@media(min-width:1001px){.commerce-page .product-gallery{top:calc(var(--sticky-header-height,84px) + 28px)}.commerce-page .checkout-summary{top:calc(var(--sticky-header-height,84px) + 26px)}}
@media(min-width:381px) and (max-width:700px){.commerce-page #accountRoot .account-nav{top:calc(var(--sticky-header-height,70px) + 10px)}}
.commerce-page .shop-brand strong{white-space:nowrap;overflow-wrap:normal}
.shop-header.header-brand-only .shop-brand>span{display:none}
/* Customer headers use the same vector mark and readable caption as home.
   Keep this scoped to headers: operator details and footer branding stay intact. */
.commerce-page .shop-header .shop-brand{gap:16px;align-items:center}
.commerce-page .shop-header .shop-brand img{width:76px;height:76px;flex:0 0 76px;border-radius:0;background:transparent;box-shadow:none;object-fit:contain}
.commerce-page .shop-header .shop-brand .shop-brand__copy{display:block;min-width:0;max-width:100%}
.commerce-page .shop-header .shop-brand .shop-brand__tagline{display:block;color:rgba(255,255,255,.88);font-size:15px;line-height:1.45;font-weight:600;letter-spacing:0;text-transform:none;white-space:normal;overflow-wrap:anywhere}
.commerce-page .shop-header .shop-brand .shop-brand__line{display:inline}
@media(max-width:700px){
  .commerce-page .shop-header .shop-brand{gap:10px}
  .commerce-page .shop-header .shop-brand img{width:58px;height:58px;flex-basis:58px}
  .commerce-page .shop-header .shop-brand .shop-brand__tagline{font-size:14px;line-height:1.4}
  .commerce-page .shop-header .shop-brand .shop-brand__line{display:block}
  .commerce-page .shop-header :is(.shop-icon-link,.shop-header__menu){width:48px;min-width:48px;height:48px;min-height:48px}
}
@media(max-width:390px){
  .commerce-page .shop-header .shop-brand{gap:8px}
}
@media(max-width:370px){
  /* Shared narrow geometry keeps all shortcuts and the complete caption.
     Three44px actions plus two8px gaps leave138px for the brand at320px. */
  .header-v3 .header-v3__inner,.commerce-page .shop-header__inner{gap:6px}
  .header-v3__actions,.commerce-page .shop-header__actions{gap:8px}
  .site-header.header-v3 :is(.header-v3__cart,.header-v3__menu),
  .commerce-page .shop-header :is(.shop-icon-link,.shop-header__menu){width:44px;min-width:44px;height:44px;min-height:44px;padding:0}
}
@media(max-width:350px){
  .header-v3 .header-v3__brand,.commerce-page .shop-header .shop-brand{flex-direction:column;align-items:flex-start;gap:4px}
}
@media(min-width:761px) and (max-height:500px){
  /* Landscape has enough width to retain two cards with the compact rows. */
  #productsGrid.products-grid,#productsGrid .products-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(prefers-reduced-motion:reduce){.purchase-control .purchase-add{transition:none}}

/* Editable reference price and weight share one compact rhythm in every card. */
.product-details{display:grid;gap:5px;min-width:0;margin:10px 0 16px;color:var(--shop-muted);font-size:14px;font-weight:600;line-height:1.4}
.product-details p{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px;margin:0;min-width:0}
.product-details strong{font-weight:700;overflow-wrap:anywhere}
.product-details__price{color:var(--shop-ink)}
.product-details__price strong{white-space:nowrap}
.product-copy .product-details{margin:14px 0 0;font-size:16px}
.product-gallery .product-gallery__thumbs{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px;padding:4px}
.product-gallery .product-gallery__thumb{flex:0 0 60px;width:60px;height:60px;padding:3px;border:2px solid transparent;border-radius:12px;background:var(--shop-paper);cursor:pointer;overflow:hidden}
.product-gallery .product-gallery__thumb img{width:100%;height:100%;object-fit:cover;border-radius:7px}
.product-gallery .product-gallery__thumb:hover{border-color:var(--shop-line)}
.product-gallery .product-gallery__thumb[aria-pressed="true"]{border-color:var(--shop-green-dark);background:#fff}
.product-gallery .product-gallery__status{margin:0;color:var(--shop-muted);font-size:14px;line-height:1.5}
.product-gallery .product-gallery__status:not(:empty){margin-top:8px}
.product-gallery .product-gallery__retry{min-height:44px;margin-top:10px}
@media(max-width:380px){#productsGrid .product-details{font-size:13px}}

/* One quantity-aware price and a quiet old-price slot keep card actions level. */
.recommendation-section .products-grid .product-card:nth-child(n){display:flex;flex-direction:column}
.recommendation-section .recommendation-photo-previous{position:absolute;inset:0;z-index:1;background-position:center;background-repeat:no-repeat;pointer-events:none;opacity:1}
@media(prefers-reduced-motion:no-preference){
  .recommendation-section .recommendation-photo-previous{transition:opacity 180ms cubic-bezier(0.23,1,0.32,1)}
  .recommendation-section .recommendation-photo-previous.is-leaving{opacity:0}
}
@media(prefers-reduced-motion:reduce){.recommendation-section .recommendation-photo-previous{display:none}}
.product-card__body{display:flex;flex:1;flex-direction:column;min-width:0}
.product-card__buy{margin-top:auto}
.purchase-control--card .purchase-price{display:grid;grid-template-rows:18px auto;align-content:start;min-width:0}
.purchase-control--card .product-card__old-price{grid-row:1;margin:0;font-size:12px;line-height:18px}
.purchase-control--card .product-card__old-price[hidden]{display:none}
.purchase-control--card .product-card__price{grid-row:2;font-weight:800;line-height:1.4;overflow-wrap:anywhere}
.purchase-control--card .purchase-selection{min-height:2.8em;align-content:start}
@media(max-height:500px){
  #productsGrid .purchase-control--card .purchase-price{grid-template-rows:auto auto}
  #productsGrid .purchase-control--card .product-card__price{line-height:1.2}
  #productsGrid .purchase-control--card .purchase-selection{min-height:0}
}

/* Home cards on PCs/notebooks: remove empty slots, not purchase information.
   Phone/tablet cards below 1001px keep their established layout unchanged. */
@media(min-width:1001px){
  #productsGrid .category-products .product-card__category{display:none}
  #productsGrid .product-card__visual{flex:none}
  #productsGrid .product-card__visual .product-card__image-link,
  #productsGrid .product-card__visual picture{display:block;height:100%}
  #productsGrid .product-card__body{padding:10px}
  #productsGrid .product-card h3{min-height:0;margin:0 0 6px;font-size:16px;line-height:1.4}
  #productsGrid .product-details{margin:0 0 8px;gap:4px}
  #productsGrid .product-card__buy{display:block;margin-top:auto;padding-top:10px}
  #productsGrid .purchase-control--card{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}
  #productsGrid .purchase-control--card .purchase-price{grid-column:1;grid-row:1;grid-template-rows:18px auto}
  #productsGrid .purchase-control--card .product-card__price{font-size:23px;line-height:1.35}
  #productsGrid .purchase-control--card .purchase-selection{grid-column:1;grid-row:2;min-height:0;align-self:start;justify-content:flex-start;text-align:left}
  #productsGrid .purchase-control--card .purchase-selection span{font-size:14px;line-height:1.35}
  #productsGrid .purchase-control--card .purchase-promotion-note,
  #productsGrid .purchase-control--card .purchase-error{grid-column:1/-1;grid-row:auto}
  #productsGrid .purchase-control--card .purchase-quantity,
  #productsGrid .purchase-control--card .purchase-add{grid-column:1/-1;grid-row:auto;min-height:46px}
  #productsGrid .purchase-quantity{grid-template-columns:44px minmax(0,1fr) 44px}
  #productsGrid .purchase-quantity button{grid-row:auto;min-height:44px;border-top:0}
  #productsGrid .purchase-quantity__value{grid-column:auto;grid-row:auto;min-height:44px;flex-direction:row;gap:4px;border-radius:0}
  #productsGrid .purchase-quantity .purchase-quantity__value input{width:100%;max-width:84px;min-height:44px;height:44px;font-size:16px}
  #productsGrid .purchase-quantity__value span{flex:none;line-height:1.3}
  #productsGrid .purchase-control .purchase-add{padding:10px 6px;line-height:1.4}
}
@media(min-width:1001px) and (min-height:651px){
  /* Approved wide photo: fill the card, crop the background, keep the compact
     purchase layout. Phone/tablet and short desktop rows remain unchanged. */
  #productsGrid .product-card{border-radius:16px;overflow:hidden}
  #productsGrid .product-card__visual{height:auto;aspect-ratio:3/2;border-radius:16px 16px 0 0}
  #productsGrid .product-card__visual img{object-fit:cover;object-position:50% 60%}
}
@media(min-width:1001px) and (max-height:650px){
  /* Short desktop windows use the available width instead of hiding the buy
     action below a tall photo. No equivalent phone redesign is applied. */
  #productsGrid.products-grid,#productsGrid .products-grid{grid-template-columns:minmax(0,1fr)}
  #productsGrid .product-card{display:grid;grid-template-columns:104px minmax(0,1fr) minmax(300px,340px);grid-template-rows:auto auto;gap:4px 16px;align-items:center;padding:14px}
  #productsGrid .product-card__visual{grid-column:1;grid-row:1/4;height:104px;border-radius:12px}
  #productsGrid .product-card__visual img{object-fit:contain}
  #productsGrid .product-card__body{display:contents}
  #productsGrid .product-card__category,
  #productsGrid .product-card h3,
  #productsGrid .product-details,
  #productsGrid .product-promotion{grid-column:2}
  #productsGrid .product-card h3{grid-row:1;margin:0}
  #productsGrid .product-details{grid-row:2;margin:0}
  #productsGrid .product-card__category{grid-row:1}
  #productsGrid .product-card__category:not([hidden]) + h3{grid-row:2}
  #productsGrid .product-card__category:not([hidden]) ~ .product-details{grid-row:3}
  #productsGrid .category-products .product-card h3{grid-row:1}
  #productsGrid .category-products .product-details{grid-row:2}
  #productsGrid .product-promotion{margin:0;grid-row:4}
  #productsGrid .product-card__buy{grid-column:3;grid-row:1/5;margin:0;padding:0;border:0;align-self:center}
  #productsGrid .purchase-control--card{grid-template-columns:minmax(0,1fr) 112px}
  #productsGrid .purchase-control--card .purchase-quantity{grid-column:1;grid-row:2}
  #productsGrid .purchase-control--card .purchase-add{grid-column:2;grid-row:2}
}

/* A native range keeps touch, keyboard and assistive input without a keypad. */
.checkout-bonus__value{display:block;color:var(--shop-ink);font-size:20px;font-weight:700;line-height:1.4}
.checkout-bonus input[type="range"]{appearance:none;width:100%;height:44px;min-height:44px;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;cursor:pointer;touch-action:pan-y}
.checkout-bonus input[type="range"]::-webkit-slider-runnable-track{height:8px;border:1px solid #7d8667;border-radius:8px;background:linear-gradient(to right,var(--shop-green) 0 var(--bonus-progress,0%),var(--shop-paper) var(--bonus-progress,0%) 100%)}
.checkout-bonus input[type="range"]::-webkit-slider-thumb{appearance:none;width:30px;height:30px;margin-top:-12px;border:2px solid #fff;border-radius:50%;background:#405316;box-shadow:0 2px 5px rgba(35,38,32,.18)}
.checkout-bonus input[type="range"]::-moz-range-track{height:6px;border:1px solid #7d8667;border-radius:8px;background:var(--shop-paper)}
.checkout-bonus input[type="range"]::-moz-range-progress{height:6px;border-radius:8px;background:var(--shop-green)}
.checkout-bonus input[type="range"]::-moz-range-thumb{width:26px;height:26px;border:2px solid #fff;border-radius:50%;background:#405316;box-shadow:0 2px 5px rgba(35,38,32,.18)}
.checkout-bonus input[type="range"]:disabled{opacity:.55;cursor:not-allowed}
.checkout-bonus__limits{display:flex;justify-content:space-between;margin-top:-6px;color:var(--shop-muted);font-size:14px;font-variant-numeric:tabular-nums}
.checkout-bonus__actions{display:flex;flex-wrap:wrap;gap:10px;margin-block:4px}
.checkout-bonus__actions .button-secondary{flex:1;min-width:130px;min-height:44px;padding-inline:14px;font-size:15px}
.checkout-privacy-note{margin:12px 0 0;color:var(--shop-muted);font-size:14px;line-height:1.5}
.checkout-privacy-note a{display:inline-flex;align-items:center;min-height:44px;max-width:100%;color:#405316;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
@media(forced-colors:active){.checkout-bonus input[type="range"]{appearance:auto;forced-color-adjust:auto}}

/* Product detail: full photographs and a grouped, quantity-aware purchase. */
.product-detail-page .product-layout{gap:36px}
.product-detail-page .product-copy{min-width:0;padding-top:0}
.product-detail-page .product-copy h1{margin:0 0 16px;font-size:clamp(30px,3.5vw,48px);line-height:1.12;overflow-wrap:anywhere}
.product-detail-page .product-lead{font-size:16px;line-height:1.5}
.product-detail-page .product-gallery__stage{position:relative}
.product-detail-page .product-gallery__main{display:block;width:fit-content;max-width:100%;margin-inline:auto;min-height:120px;aspect-ratio:auto;padding:0;border:0;border-radius:16px;background:transparent;box-shadow:none;cursor:zoom-in;touch-action:pan-y pinch-zoom}
.product-detail-page .product-gallery{width:100%;max-width:460px}
.product-detail-page .product-gallery__main img{display:block;width:auto;max-width:100%;height:auto;max-height:460px;object-fit:contain;user-select:none}
.product-detail-page .product-gallery__main.has-photo-frame{position:relative;display:grid;place-items:center;width:100%;max-width:min(100%,calc(460px * var(--gallery-ratio)));aspect-ratio:var(--gallery-ratio);min-height:0}
.product-detail-page .product-gallery__main.has-photo-frame img{grid-area:1/1;min-width:0;min-height:0;max-height:100%}
.product-gallery__main img[data-photo-previous-image],.photo-viewer__viewport img[data-photo-previous-image]{position:absolute;inset:0;margin:auto;pointer-events:none;opacity:1}
@media(prefers-reduced-motion:no-preference){
  .product-gallery__main img[data-photo-previous-image],.photo-viewer__viewport img[data-photo-previous-image]{transition:opacity 160ms cubic-bezier(0.23,1,0.32,1)}
  .product-gallery__main img[data-photo-previous-image].is-leaving,.photo-viewer__viewport img[data-photo-previous-image].is-leaving{opacity:0}
}
@media(min-width:1001px){.commerce-page.product-detail-page .product-layout{grid-template-columns:minmax(0,460px) minmax(0,1fr)}}
@media(max-width:700px){
  .product-detail-page .product-gallery{max-width:300px;justify-self:center}
  .product-detail-page .product-gallery__main.has-photo-frame{max-width:min(100%,calc(300px * var(--gallery-ratio)))}
  .product-detail-page .product-gallery__main img{max-height:300px}
}
.product-detail-page .product-gallery__arrow{position:absolute;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid var(--shop-line);border-radius:50%;background:#fff;color:var(--shop-ink);cursor:pointer;touch-action:manipulation}
.product-detail-page .product-gallery__arrow:hover{background:var(--shop-paper)}
.product-detail-page .product-gallery__arrow--previous{left:8px}
.product-detail-page .product-gallery__arrow--next{right:8px}
.product-detail-page .product-gallery__arrow svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.product-detail-page .product-gallery__thumbs{gap:8px;margin-top:10px}
.product-detail-page .product-gallery__thumb{flex-basis:56px;width:56px;height:56px}
.product-detail-page .product-buy--selection{container:product-purchase/inline-size;margin:16px 0;max-width:420px}
.product-detail-page .product-buy .purchase-control{grid-template-columns:170px minmax(0,1fr);gap:10px}
.product-detail-page .product-buy :is(.purchase-price,.product-details,.purchase-selection,.purchase-promotion-note,.purchase-error){grid-column:1/-1}
.product-detail-page .product-buy .purchase-price{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px}
.product-detail-page .product-buy .product-price{order:-1;margin:0;font-size:36px;line-height:1.2}
.product-detail-page .product-buy .product-old-price{margin:0;font-size:16px;line-height:1.4;color:var(--shop-muted)}
.product-detail-page .product-buy .product-details{margin:0;gap:3px;font-size:15px;line-height:1.4}
.product-detail-page .product-buy .purchase-selection{min-height:0}
.product-detail-page .product-buy .purchase-selection span{font-size:14px;line-height:1.4}
.product-detail-page .product-buy .purchase-quantity{grid-column:1;grid-template-columns:44px minmax(0,1fr) 44px}
.product-detail-page .product-buy .purchase-add{grid-column:2;min-height:54px}
.product-detail-page .product-buy .purchase-quantity__value{flex-direction:column;gap:0}
.product-detail-page .product-buy .purchase-quantity__value input{max-width:none;padding-inline:0;min-width:0;font-size:16px}
.product-detail-page .product-buy .purchase-quantity__value span{flex:none;font-size:14px;white-space:nowrap}
.product-detail-page .product-favorite{min-height:44px;margin:0 0 12px;padding:10px 14px;font-size:15px}
.product-detail-page #productPromotions{margin-bottom:8px}
.product-detail-page .notice{padding:12px 14px}
.product-detail-page .product-facts{margin-top:24px}
.product-detail-page .product-fact{padding:13px 0;gap:16px}
.product-detail-page .product-description{margin-top:20px}
/* Detail-only composition and supplied nutrition; catalog cards keep their geometry. */
.product-detail-page .product-nutrition-info{min-width:0;margin-top:1.5rem;max-width:70ch}
.product-detail-page .product-nutrition-info h2{margin:0 0 .5rem;font-size:1.125rem;line-height:1.4;font-weight:800}
.product-detail-page .product-nutrition-info p{margin:0;font-size:1rem;line-height:1.65;white-space:pre-line;overflow-wrap:anywhere}
.product-detail-page .product-nutrition{width:100%;max-width:34rem;margin-top:1.5rem;border-collapse:collapse;table-layout:fixed;font-size:1rem;line-height:1.5;color:var(--shop-ink)}
.product-detail-page .product-nutrition caption{text-align:left;font-size:1.125rem;line-height:1.4;font-weight:800;padding-bottom:.5rem;overflow-wrap:anywhere}
.product-detail-page .product-nutrition th,.product-detail-page .product-nutrition td{padding:.625rem 0;border-bottom:1px solid var(--shop-line);vertical-align:top;overflow-wrap:anywhere}
.product-detail-page .product-nutrition th{width:65%;padding-right:1rem;text-align:left;font-weight:600}
.product-detail-page .product-nutrition__value{text-align:right;font-family:var(--shop-digits);font-variant-numeric:tabular-nums}
.product-detail-page .shop-footer{padding:28px 0 20px}
.product-detail-page .shop-footer__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;padding-bottom:20px}
.product-detail-page .shop-footer h3{margin-bottom:6px}
.product-detail-page .shop-footer__links{gap:0}
.product-detail-page .shop-footer__links a{display:inline-flex;align-items:center;min-height:44px}
.product-detail-page .shop-footer__bottom{padding-top:16px}
@container product-purchase (max-width:21rem){
  .product-detail-page .product-buy .purchase-control{grid-template-columns:minmax(0,1fr)}
  .product-detail-page .product-buy .purchase-quantity{width:min(100%,170px)}
  .product-detail-page .product-buy .purchase-add{grid-column:1}
}
@media(max-width:1000px){.product-detail-page .product-layout{gap:24px}.product-detail-page .product-gallery{position:static}}
@media(max-width:700px){
  .product-detail-page .breadcrumbs{margin-bottom:20px}
  .product-detail-page .product-fact{grid-template-columns:minmax(0,1fr);gap:4px}
  .product-detail-page .shop-footer__grid{grid-template-columns:minmax(0,1fr);gap:16px}
}

/* The modal is a focused photo workspace, above the sticky header and phone nav. */
html.photo-viewer-open{overflow:hidden}
/* Approved interaction motion: geometry and purchase state stay synchronous. */
:root{--store-motion-out:cubic-bezier(.23,1,.32,1)}
.header-v3.header-is-compact .header-v3__mobile-nav,
.shop-header.header-is-compact .shop-nav{
  transform:translateY(-5px) scale(.975);
  transition:opacity 160ms var(--store-motion-out),transform 240ms var(--store-motion-out),visibility 240ms;
}
.header-v3.header-is-compact .header-v3__mobile-nav.is-open,
.shop-header.header-is-compact .shop-nav.is-open{transform:none;transition-delay:0s}
.purchase-control .purchase-add{position:relative;transition:color 120ms var(--store-motion-out),background-color 160ms var(--store-motion-out)}
.purchase-control .purchase-add::after{content:'';position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--shop-ink,#292b33);opacity:0;transform:translateY(7px);pointer-events:none;transition:opacity 120ms var(--store-motion-out),transform 180ms var(--store-motion-out)}
.purchase-control .purchase-add[data-purchase-added=true]{color:transparent}
.purchase-control .purchase-add[data-purchase-added=true]::after{content:'✓ Добавлено';opacity:1;transform:none}
.photo-viewer [data-photo-flight]{position:fixed;z-index:2;max-width:none;max-height:none;margin:0;pointer-events:none;transform-origin:0 0}
.photo-viewer [data-photo-motion-hidden]{visibility:hidden}
html[data-store-instant-motion] :is(.header-v3__mobile-nav,.shop-nav,.purchase-add),
html[data-store-instant-motion] .purchase-add::after{transition:none!important}
@media(prefers-reduced-motion:reduce){
  :is(.header-v3.header-is-compact .header-v3__mobile-nav,.shop-header.header-is-compact .shop-nav,.purchase-control .purchase-add),
  .purchase-control .purchase-add::after{transition:none!important}
}
.photo-viewer{--shop-focus-color:#d3e5a9;position:fixed;inset:0;width:100%;max-width:none;height:100dvh;max-height:none;margin:0;padding:max(12px,env(safe-area-inset-top)) 12px max(12px,env(safe-area-inset-bottom));border:0;background:#171b19;color:#fff;font-family:var(--shop-text);overflow:hidden}
.photo-viewer[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:12px}
.photo-viewer::backdrop{background:#171b19}
.photo-viewer[data-photo-closing]::backdrop{background:transparent}
.photo-viewer__header{display:flex;align-items:center;justify-content:space-between;gap:12px}
.photo-viewer__header h2{margin:0;font-size:18px;line-height:1.4}
.photo-viewer__icon,.photo-viewer__zoom{display:inline-flex;align-items:center;justify-content:center;flex:none;min-width:44px;min-height:44px;padding:8px 12px;border:1px solid #6c766f;border-radius:12px;background:#242d27;color:#fff;font:inherit;font-size:16px;cursor:pointer}
.photo-viewer__icon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.photo-viewer__zoom:disabled{opacity:.55;cursor:default}
.photo-viewer__viewport{position:relative;display:grid;place-items:center;min-width:0;min-height:0;overflow:auto;overscroll-behavior:contain;touch-action:pan-y pinch-zoom}
.photo-viewer__viewport img{display:block;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain}
.photo-viewer__viewport:not(.is-zoomed)>img{position:absolute;inset:0;margin:auto}
.photo-viewer__viewport img[hidden]{display:none}
.photo-viewer__viewport.is-zoomed{display:block;touch-action:pan-x pan-y pinch-zoom}
.photo-viewer__viewport.is-zoomed img{max-width:none;max-height:none;margin:auto}
.photo-viewer__footer p{margin:0 0 8px;text-align:center;font-size:14px;line-height:1.4}
.photo-viewer__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.photo-viewer [hidden]{display:none}
/* One shared footer on every customer route, independent of page-specific CSS. */
footer.customer-footer{padding:28px 0 20px}
footer.customer-footer .footer-main{width:100%;max-width:none;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;padding:0 0 20px}
footer.customer-footer .footer-col{grid-column:auto;min-width:0}
footer.customer-footer h3{margin:0 0 6px;font-size:18px}
footer.customer-footer .shop-footer__links{gap:0;align-items:start}
footer.customer-footer a{font-size:16px;line-height:1.5;min-height:44px;display:inline-flex;align-items:center;overflow-wrap:anywhere}
footer.customer-footer p{margin:8px 0 0;font-size:14px;line-height:1.5}
footer.customer-footer .shop-footer__bottom{padding-top:16px;gap:8px 24px}
footer.customer-footer .privacy-footer-links{margin:12px 0 0;padding:0;gap:4px 24px}
.shop-nav__contacts{display:none}
.shop-header.header-is-compact .shop-nav__contacts{display:block;padding-top:8px}
.shop-header .shop-nav__contacts a{border:0;color:#c4df7c}
#checkoutItems .checkout-item:last-child{border-bottom:0}
/* One row sum; shared title/quantity/option axes, independent of text wrapping. */
.checkout-summary{container-type:inline-size}
.commerce-page #checkoutItems .checkout-item{grid-template-columns:58px minmax(0,1fr) auto;grid-template-areas:"image title title" "image offer offer" "image quantity price" "cutting cutting cutting";align-items:start;column-gap:12px;row-gap:0;padding-block:20px}
#checkoutItems .checkout-item__body{display:contents}
#checkoutItems .checkout-item>img,#checkoutItems .checkout-item>picture{grid-area:image;align-self:start}
#checkoutItems .checkout-item h3{grid-area:title;line-height:1.4;font-size:15px;margin:0 0 10px}
#checkoutItems .checkout-item .product-promotion{grid-area:offer;margin:0 0 8px}
.commerce-page #checkoutItems .checkout-quantity{grid-area:quantity;grid-template-columns:44px minmax(32px,max-content) 44px;gap:4px;justify-content:start;width:max-content;max-width:100%}
#checkoutItems .checkout-quantity small{text-align:center;white-space:nowrap}
.commerce-page #checkoutItems .checkout-item>strong{grid-area:price;justify-self:end;align-self:start;padding-top:10px;white-space:nowrap;overflow-wrap:normal;font-size:15px;line-height:24px}
.cart-cutting{display:block;min-width:0;min-inline-size:0;margin:0;padding:0;border:0;color:var(--shop-ink,#292b33);font:inherit}
.cart-cutting__legend{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 10px;max-width:100%;margin:0 0 9px;padding:0;font-size:15px;font-weight:700;line-height:1.5}
.cart-cutting__free{color:var(--shop-muted,#5e615c);font-size:14px;font-weight:500;white-space:nowrap}
.cart-cutting__options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.cart-cutting__choice{position:relative;display:block;min-width:0;cursor:pointer}
.cart-cutting__choice input[type="radio"]{position:absolute;inset:0;width:100%;height:100%;min-height:0;margin:0;opacity:0;z-index:1;cursor:pointer}
.cart-cutting__choice>span{display:flex;align-items:center;justify-content:center;min-height:56px;height:100%;padding:10px 7px;border:1px solid var(--shop-line,#e2e4dd);border-radius:12px;background:#fff;color:var(--shop-ink,#292b33);font-size:15px;font-weight:600;line-height:1.35;text-align:center;overflow-wrap:normal}
.cart-cutting__choice input:checked+span{border-color:var(--shop-green-dark,#719218);background:#eef4dd;color:#354612;font-weight:700}
.cart-cutting__choice input:focus-visible+span{outline:3px solid #405316;outline-offset:3px}
.cart-cutting__choice input:disabled{cursor:not-allowed}
.cart-cutting__choice input:disabled+span{opacity:.65}
.cart-cutting__hint{display:block;margin-top:8px;color:var(--shop-muted,#5e615c);font-size:13px!important;font-weight:500!important;line-height:1.5}
.cart-cutting__hint[hidden]{display:block;visibility:hidden}
#checkoutItems .cart-cutting{grid-area:cutting;margin-top:16px}
.cart-item .cart-cutting{grid-area:cutting;margin-top:6px}
.cart-summary-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:0 12px;margin-bottom:8px}
.checkout-summary .cart-summary-heading h2{margin:0}
.cart-clear{min-width:0;color:var(--shop-muted,#5e615c)}
.cart-clear[hidden]{display:none}
.cart-clear button{min-height:44px;font:inherit;font-size:13px;font-weight:600;line-height:1.4;cursor:pointer}
.cart-clear__ask{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:0;background:transparent;padding:8px 0;color:var(--shop-muted,#5e615c);text-align:left}
.cart-clear__ask svg{width:17px;height:17px;flex-shrink:0}
.cart-clear__confirmation{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 12px;padding:10px 12px;border-radius:12px;background:var(--shop-paper,#f6f7f3);font-size:14px;line-height:1.5}
.cart-clear__confirmation>span{font-weight:600;color:var(--shop-ink,#292b33)}
.cart-clear__confirmation>div{display:flex;gap:6px;flex-wrap:wrap}
.cart-clear__confirmation button{padding:8px 14px;border:1px solid var(--shop-line,#e2e4dd);border-radius:10px;background:#fff;color:var(--shop-ink,#292b33)}
.cart-clear__confirmation [data-cart-clear="confirm"]{border-color:#a53131;background:#a53131;color:#fff}
.cart-clear button:disabled{opacity:.5;cursor:not-allowed}
.cart-clear button:focus-visible{outline:3px solid #405316;outline-offset:3px}
@media(hover:hover) and (pointer:fine){.cart-cutting__choice input:not(:disabled):not(:checked):hover+span{border-color:var(--shop-green-dark,#719218);background:var(--shop-paper,#f6f7f3)}.cart-clear__ask:not(:disabled):hover{color:#405316;text-decoration:underline;text-underline-offset:4px}}
.cart-item{align-items:start}
.cart-item>img{align-self:start}
.order-success__cutting{text-align:left;margin-block:20px}
.order-success__cutting h3{font-size:17px;margin:0 0 8px}
.order-success__cutting ul{margin:0;padding-left:20px;line-height:1.5}
.account-order__cutting{display:block;color:var(--shop-green-dark);font-size:14px;font-weight:600}
@container(max-width:300px){.commerce-page #checkoutItems .checkout-item{grid-template-columns:50px minmax(0,1fr) auto;grid-template-areas:"image title title" "image offer offer" "quantity quantity price" "cutting cutting cutting";gap:0 8px}.commerce-page #checkoutItems .checkout-item>img{width:50px;height:50px}}
@container(max-width:265px){.commerce-page #checkoutItems .checkout-item{grid-template-areas:"image title title" "image offer offer" "quantity quantity quantity" "price price price" "cutting cutting cutting"}.commerce-page #checkoutItems .checkout-item>strong{padding-top:0}}
@media(max-width:700px){footer.customer-footer .footer-main{grid-template-columns:minmax(0,1fr);gap:16px}}
/* Shared tracks align real text within each row, even at three or more lines.
   Subgrid needs no measuring script, clipped titles or global tallest reserve. */
@supports(grid-template-rows:subgrid){
  @media(max-width:1000px) and (min-height:501px),(min-width:1001px) and (min-height:651px){
    :is(#productsGrid,.recommendation-section) .products-grid,
    #productsGrid.products-grid{row-gap:0}
    :is(#productsGrid,.recommendation-section) .products-grid>.product-card,
    #productsGrid.products-grid>.product-card{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:subgrid;grid-row:span 13;row-gap:0;margin-bottom:18px}
    :is(#productsGrid,.recommendation-section) .product-card__visual{grid-row:1;align-self:start}
    :is(#productsGrid,.recommendation-section) .product-card__body{display:grid;grid-template-columns:minmax(0,1fr);grid-row:2/span 12;grid-template-rows:subgrid;row-gap:0}
    :is(#productsGrid,.recommendation-section) .product-card__category{grid-row:1}
    :is(#productsGrid,.recommendation-section) .product-card h3{grid-row:2;min-height:0;align-self:start}
    :is(#productsGrid,.recommendation-section) .product-details{display:grid;grid-row:3/span 2;grid-template-rows:subgrid;row-gap:0}
    :is(#productsGrid,.recommendation-section) .product-details__price{grid-row:1;align-self:start}
    :is(#productsGrid,.recommendation-section) .product-details__weight{grid-row:2;align-self:start}
    :is(#productsGrid,.recommendation-section) .product-promotion{grid-row:5}
    :is(#productsGrid,.recommendation-section) .product-card__buy{display:grid;grid-template-columns:minmax(0,1fr);grid-row:6/span 7;grid-template-rows:subgrid;row-gap:0;margin-top:0;align-self:stretch;container-type:normal}
    :is(#productsGrid,.recommendation-section) .purchase-control--card{grid-row:1/span 7;grid-template-rows:subgrid;row-gap:0;container-type:normal}
    :is(#productsGrid,.recommendation-section) .purchase-control--card .purchase-price{display:grid;grid-row:1/span 2;grid-template-rows:subgrid;margin-bottom:6px}
    :is(#productsGrid,.recommendation-section) .product-card__old-price{grid-row:1}
    :is(#productsGrid,.recommendation-section) .product-card__price{grid-row:2}
    :is(#productsGrid,.recommendation-section) .purchase-control--card .purchase-selection{grid-row:3;align-self:start;margin-bottom:6px;min-height:0}
    :is(#productsGrid,.recommendation-section) .purchase-promotion-note{grid-row:4;margin-bottom:6px}
    :is(#productsGrid,.recommendation-section) .purchase-quantity-frame{display:block;grid-column:1/-1;grid-row:5;margin-bottom:6px;align-self:start;container:purchase/inline-size}
    :is(#productsGrid,.recommendation-section) .purchase-quantity-frame:has(>.purchase-quantity[hidden]){display:none}
    :is(#productsGrid,.recommendation-section) .purchase-error{grid-row:6;margin-bottom:6px;align-self:start}
    :is(#productsGrid,.recommendation-section) .purchase-control--card .purchase-add{grid-row:7;align-self:stretch}
    :is(#productsGrid,.recommendation-section) .purchase-control>[hidden]{display:none}
  }
}
@media(max-width:760px) and (min-height:501px){
  /* The phone catalog keeps two vertical cards, without desktop-size reserves. */
  #productsGrid .category-products .product-card__category{display:none}
  #productsGrid .product-card__body{padding:10px}
  #productsGrid .product-card h3{min-height:0;margin:0 0 8px;font-size:16px;line-height:1.35}
  #productsGrid .product-details{margin:0 0 8px;gap:3px}
  #productsGrid .product-card__buy{padding-top:8px}
  #productsGrid .purchase-control{gap:6px}
  #productsGrid .purchase-control--card .purchase-selection{min-height:0}
}

/* The fixed kg rate stays separate from the selected line total. */
.item-unit-price{display:block;margin:4px 0 6px;color:var(--shop-muted);font-size:14px;font-weight:600;line-height:1.4}
.item-unit-price .numeric{white-space:nowrap}
