/* «Сезон для своїх» — оформление поверх шаблона Promo. Схема «Лён и ягода». */
:root {
  --sz-linen: #f6f2ec;   /* фон як у «Шампань» (був #efe9e0 з текстурою)  */
  --sz-paper: #fffdf9;
  --sz-ink: #2b2f3a;
  --sz-muted: #7b7368;
  --sz-line: #e2d8ca;
  --sz-berry: #a8244b;
  --sz-berry-dark: #8f1d3f;
  --sz-berry-soft: #f7e4e9;
  --sz-sage: #3f7a58;
  --sz-kraft: #fbf0f4;      /* як у «Слива і троянда» (був #eadbc2) */
  --sz-kraft-ink: #6e4a5e;  /* був #6b5532 */
  --sz-tape-a: #f6dc8a;
  --sz-tape-b: #f1c84b;

  --pr-main-font: 'Inter', 'Segoe UI', Arial, sans-serif;
  --pr-primary-color: var(--sz-berry);
  --pr-primary-dark-color: var(--sz-berry);
  --pr-primary-light-color: var(--sz-muted);
  --pr-secondary-dark-color: var(--sz-ink);
  --pr-links-color: var(--sz-berry);
  --pr-interactive-color: var(--sz-sage);
  --pr-green-color: var(--sz-sage);
  --pr-red-color: var(--sz-berry);
  --pr-border-color: var(--sz-line);
  --pr-light-bg-color: var(--sz-linen);
  --pr-background-color: var(--sz-linen);
  --pr-light-theme-background-color: var(--sz-linen);
  --pr-light-theme-white-color: var(--sz-paper);
  --pr-white-color: var(--sz-paper);
  --pr-dark-text-color: var(--sz-ink);
  --pr-black-color: var(--sz-ink);
  --pr-light-text-color: var(--sz-muted);
  --pr-grey-color: var(--sz-muted);
  --pr-form-control-focus-color: var(--sz-berry);
  --bs-primary: #a8244b;
  --bs-primary-rgb: 168, 36, 75;
  --bs-link-color: #a8244b;
  --bs-link-hover-color: #8f1d3f;
}

/* фон — рівний, як у «Шампань» (текстуру льону прибрано 2026-10-16) */
.light-theme body {
  background-color: var(--sz-linen) !important;
  background-image: none !important;
  font-family: var(--pr-main-font);
}
body, button, input, select, textarea, .btn { font-family: var(--pr-main-font) !important; }

/* белые блоки → «бумага» */
.light-theme .content-block, .light-theme .bg-white, .light-theme .pr-header { background-color: var(--sz-paper) !important; }
.light-theme .dark-text, .light-theme .content-block, .light-theme .dark-link:not(:hover) { color: var(--sz-ink); }
.light-theme .grey-text { color: var(--sz-muted); }

/* верхняя полоса и подвал — тёмные */
#top { background: var(--sz-ink) !important; }
#top, #top a, #top .light-link, #top .pr-dropdown-toggle, #top .pr-dropdown-toggle > .d-none.d-lg-inline, #top .pr-dropdown-box .pr-dropdown-button { color: #e9e4dc !important; }
#top a:hover, #top .light-link:hover { color: #fff !important; }
.light-theme .pr-footer { background-color: var(--sz-ink) !important; }
.pr-footer .white-link:hover, .pr-footer .light-link:hover { color: #f3b6c6 !important; }

/* кнопки и акценты */
.btn-primary, .button-primary, .pr-button-primary, .pr-btn-primary, button.pr-button, .pr-header-cart-btn {
  background-color: var(--sz-berry) !important; border-color: var(--sz-berry) !important; color: #fff !important;
}
.btn-primary:hover, .button-primary:hover, .pr-button-primary:hover, .pr-btn-primary:hover { background-color: var(--sz-berry-dark) !important; border-color: var(--sz-berry-dark) !important; }
.blue-link, .pr-information a, a.agree { color: var(--sz-berry) !important; }
.form-control:focus, .form-select:focus { border-color: var(--sz-berry) !important; box-shadow: 0 0 0 3px var(--sz-berry-soft) !important; }
.form-check-input:checked { background-color: var(--sz-berry) !important; border-color: var(--sz-berry) !important; }

/* цены */
.pr-module-item-price-new, .pr-product-price-new { color: var(--sz-ink) !important; font-weight: 800; }
.pr-module-item-price-old+.pr-module-item-price-new, .pr-product-price-new.red { color: var(--sz-berry) !important; }

/* логотип: родные пропорции */
img[src*="sezon/logo"] { width: auto !important; height: 64px !important; max-width: none; object-fit: contain; }
.pr-footer img[src*="sezon/logo"], .mb-5 > span > img[src*="sezon/logo"] { height: 56px !important; }
.pr-mobile-menu-logo img[src*="sezon/logo"] { height: 40px !important; }
@media (max-width: 991px) { img[src*="sezon/logo"] { height: 44px !important; } }

/* лента-сантиметр до скидок (sezon.js) */
.sz-tapebar { border-top: 1px solid var(--sz-line); background: linear-gradient(90deg, var(--sz-linen), var(--sz-paper)); }
.sz-tapewrap { display: flex; align-items: center; gap: 14px; padding-top: 6px; padding-bottom: 6px; flex-wrap: wrap; }
.sz-txt { font-size: 13px; background: var(--sz-paper); border: 1px solid var(--sz-line); border-radius: 999px; padding: 4px 14px; color: var(--sz-ink); }
.sz-txt b { color: var(--sz-berry); } .sz-tapebar.ok .sz-txt b { color: var(--sz-sage); }
.sz-disc { font-size: 13px; font-weight: 600; color: var(--sz-sage); white-space: nowrap; }
.sz-tape { position: relative; flex: 1 1 420px; max-width: 820px; height: 26px; border-radius: 6px; background: linear-gradient(90deg, var(--sz-tape-a), var(--sz-tape-b)); overflow: hidden; box-shadow: inset 0 0 0 1px rgba(0,0,0,.05); }
.sz-ticks { position: absolute; inset: 0; opacity: .18; background:
  repeating-linear-gradient(90deg, #5a4500 0 1px, transparent 1px 2%) 0 0 / 100% 7px no-repeat,
  repeating-linear-gradient(90deg, #5a4500 0 1.5px, transparent 1.5px 5%) 0 0 / 100% 12px no-repeat; }
.sz-stop { position: absolute; top: 0; bottom: 0; border-left: 2px solid rgba(255,255,255,.75); }
.sz-stop span { position: absolute; top: 50%; transform: translateY(-50%); left: 6px; font-size: 11px; font-weight: 700; color: #5a4500; white-space: nowrap; line-height: 1; }
.sz-stop span i { font-style: normal; font-weight: 800; margin-left: 5px; } .sz-stop span em { font-style: normal; }
.sz-stop.hit span { color: var(--sz-berry-dark); }
.sz-done { position: absolute; left: 0; top: 0; bottom: 0; background: rgba(255,255,255,.35); box-shadow: inset -2px 0 0 var(--sz-berry); transition: width .35s; }
.sz-pin { position: absolute; top: -2px; bottom: -2px; width: 3px; background: var(--sz-berry); transition: left .35s; box-shadow: 0 0 0 2px rgba(255,255,255,.6); }
.sz-tapebar.ok .sz-pin { background: var(--sz-sage); }
@media (max-width: 767px) {
  .sz-tapewrap { gap: 6px; } .sz-txt { font-size: 11.5px; flex: 1 1 100%; border-radius: 10px; padding: 4px 10px; } .sz-disc { display: none; }
  .sz-tape { flex: 1 1 100%; height: 22px; } .sz-stop span { font-size: 9.5px; left: 3px; } .sz-stop span em { display: none; } .sz-stop span i { margin-left: 2px; }
}

/* карточки каталога (sezon_cards.js) */
.pr-module-item[data-product-id] { border-radius: 10px; }
.pr-module-item[data-product-id] .pr-module-item-rating { display: none !important; }
.pr-module-item-price-box { display: block !important; }
.sz-optb { position: relative; z-index: 3; display: inline-flex; align-items: baseline; gap: 5px; background: var(--sz-berry); color: #fff; font-size: 11px; font-weight: 800; letter-spacing: .03em; padding: 5px 9px; border-radius: 4px 12px 12px 4px; box-shadow: 0 2px 6px rgba(0,0,0,.15); }
.sz-optb small { font-weight: 600; letter-spacing: 0; opacity: .9; }
.sz-card { display: grid; gap: 9px; }
.sz-meta { display: flex; justify-content: space-between; gap: 8px; flex-wrap: wrap; font-size: 12px; color: var(--sz-muted); }
.sz-st { font-weight: 700; } .sz-st.in { color: var(--sz-sage); } .sz-st.low { color: #b26b00; } .sz-st.out { color: #b5ada2; }
.sz-st.in::before { content: ""; display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: currentColor; margin-right: 5px; vertical-align: 1px; }
.sz-tags { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; } .sz-tags.one { grid-template-columns: 1fr; }
.sz-tag { position: relative; display: grid; gap: 1px; text-align: left; border: 0; border-radius: 8px; background: var(--sz-kraft); color: var(--sz-kraft-ink); padding: 10px 11px 9px; font: inherit; cursor: pointer; min-width: 0; }
.sz-tag::before { content: none; } /* «строчку» прибрано */
.sz-tag .k { font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; } .sz-tag .k em { font-style: normal; font-weight: 600; text-transform: none; letter-spacing: 0; opacity: .85; }
.sz-tag .p { font-size: 20px; line-height: 24px; padding-bottom: 15px; font-weight: 800; color: var(--sz-ink); white-space: nowrap; } /* 20px — максимум для найвужчої бирки (124px, «178,13 грн»); висота бирки та сама (власник 21.10) */
.sz-tag .x { position: absolute; left: 11px; right: 10px; bottom: 4px; text-align: right; font-size: 11px; line-height: 14px; font-weight: 700; color: var(--sz-sage); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } /* «−28%» у правому нижньому куті */
.sz-tag.on { background: var(--sz-berry-soft); box-shadow: inset 0 0 0 2px var(--sz-berry); color: var(--sz-berry); }
.sz-tag.on::before { border-color: var(--sz-berry); opacity: .5; }
.sz-tag:disabled { opacity: .5; cursor: not-allowed; }
.sz-tags.one .sz-tag { cursor: default; }
.sz-wide { position: relative; background: var(--sz-berry-soft); box-shadow: inset 0 0 0 2px var(--sz-berry); color: var(--sz-berry); border-radius: 8px; padding: 11px 12px; display: grid; gap: 8px; }
.sz-wide::before { content: none; } /* «строчку» прибрано */
.sz-wide .base { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; flex-wrap: nowrap; height: 27px; } /* висота як була при 18px — ціна більша, картка та сама (власник 21.10) */
.sz-wide .base .k { min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sz-wide .k { font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; } .sz-wide .k em { font-style: normal; font-weight: 600; text-transform: none; letter-spacing: 0; }
.sz-wide .p { font-size: 26px; line-height: 27px; font-weight: 800; color: var(--sz-ink); white-space: nowrap; flex: none; }
.sz-ladder { position: relative; display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 6px; }
.sz-ladder .t { font: inherit; text-align: left; cursor: pointer; background: rgba(255,255,255,.7); border: 1px solid var(--sz-line); border-radius: 6px; padding: 5px 7px; display: grid; gap: 1px; color: var(--sz-muted); min-width: 0; }
.sz-ladder .t span { font-size: 12.5px; font-weight: 600; white-space: nowrap; }
.sz-ladder .t .r2 { display: flex; justify-content: space-between; align-items: baseline; gap: 4px; }
.sz-ladder .t b { font-size: 15.5px; font-weight: 800; color: var(--sz-ink); } .sz-ladder .t i { font-style: normal; font-size: 12.5px; font-weight: 800; color: var(--sz-berry); }
.sz-ladder .t:hover:not(.on) { border-color: var(--sz-berry); background: #fff; }
.sz-ladder .t.on { background: var(--sz-berry); border-color: var(--sz-berry); color: #fbe3ea; } .sz-ladder .t.on b, .sz-ladder .t.on i { color: #fff; }
.sz-rule { margin: 0; font-size: 12px; font-weight: 700; color: var(--sz-berry); }
.sz-buy { display: flex; gap: 8px; align-items: stretch; }
.sz-step { display: flex; align-items: center; border: 1.5px solid var(--sz-line); border-radius: 8px; background: #fff; height: 40px; flex: 0 0 104px; }
.sz-step button { width: 30px; height: 100%; border: 0; background: transparent; font-size: 18px; color: var(--sz-ink); cursor: pointer; }
.sz-step button:disabled { opacity: .3; }
.sz-step input { width: 100%; min-width: 0; border: 0; text-align: center; font-weight: 800; font-size: 14px; outline: 0; background: transparent; }
.sz-add { flex: 1; height: 40px; border: 0; border-radius: 8px; background: var(--sz-berry); color: #fff; font: inherit; font-size: 13px; font-weight: 700; display: flex; align-items: center; justify-content: center; gap: 7px; cursor: pointer; transition: background .2s; }
.sz-add svg { width: 17px; height: 17px; } .sz-add:hover:not(:disabled) { background: var(--sz-berry-dark); }
.sz-add.done { background: var(--sz-sage); } .sz-add:disabled { background: #b9b2a8; cursor: not-allowed; }
.sz-sum { margin: 0; font-size: 12px; color: var(--sz-muted); } .sz-sum b { color: var(--sz-ink); }
/* скрываем родной «В наявності / Код товару» под фото — у нас свой */
.pr-module-item.sz-ready .pr-module-item-info { display: none !important; }
@media (max-width: 575px) { .sz-tags { grid-template-columns: 1fr; } }

/* логотип в тёмном подвале — на светлой плашке */
.pr-footer img[src*="sezon/logo"] { background: var(--sz-paper); border-radius: 12px; padding: 6px 10px; box-sizing: content-box; }

/* телефон: по одному товару в ряд */
@media (max-width: 575px) {
  .pr-module-items > .pr-module-item.product-grid { flex: 0 0 100% !important; max-width: 100% !important; width: 100% !important; }
  .pr-module-item.product-grid .pr-module-item-image img { max-height: 260px; width: auto; }
  .sz-tags { grid-template-columns: 1fr 1fr !important; }
}

/* фото в карточке — во всю ширину */
.pr-module-item[data-product-id] { padding: 10px !important; }
.pr-module-item[data-product-id] .pr-module-item-image { margin-bottom: 10px !important; }
.pr-module-item[data-product-id] .pr-module-item-image > a { width: 100%; display: block; }
.pr-module-item[data-product-id] .pr-module-item-image img { width: 100% !important; height: auto !important; max-height: none !important; aspect-ratio: 1 / 1; object-fit: cover; border-radius: 8px; display: block; }
.pr-module-item[data-product-id] .pr-module-item-stickers-box { padding: 8px; }
.pr-module-item[data-product-id] .pr-module-item-buttons { top: 8px; right: 8px; z-index: 3; }
@media (max-width: 575px) { .pr-module-item.product-grid .pr-module-item-image img { max-height: none !important; aspect-ratio: 4 / 3; } }

/* фото без полей — вплотную к краям карточки */
.pr-module-item[data-product-id] { overflow: hidden; }
.pr-module-item[data-product-id] .pr-module-item-top { margin: -10px -10px 0 !important; }
.pr-module-item[data-product-id] .pr-module-item-image { margin: 0 0 10px !important; padding: 0 !important; background: none !important; }
.pr-module-item[data-product-id] .pr-module-item-image img { border-radius: 10px 10px 0 0 !important; }
.pr-module-item[data-product-id] .pr-module-item-stickers-box { padding: 10px; }

/* обрезаем белые поля самих фото: картинка чуть крупнее окна */
.pr-module-item[data-product-id] .pr-module-item-image > a { overflow: hidden; border-radius: 10px 10px 0 0; aspect-ratio: 1 / 1; }
.pr-module-item[data-product-id] .pr-module-item-image img { transform: scale(1.02); transform-origin: 50% 50%; border-radius: 0 !important; height: 100% !important; transition: transform .3s; }
.pr-module-item[data-product-id]:hover .pr-module-item-image img { transform: scale(1.07); }
@media (max-width: 575px) { .pr-module-item[data-product-id] .pr-module-item-image > a { aspect-ratio: 4 / 3; } }

/* без подчёркиваний у ссылок (верхняя полоса, меню, подвал, крошки) */
#top a, #top .light-link, .pr-footer a, .breadcrumb a, .pr-breadcrumbs a, .list-group a, .pr-module-item-title, a.dark-link, a.light-link, a.blue-link { text-decoration: none !important; }
#top a:hover, .pr-footer a:hover, .breadcrumb a:hover, .pr-breadcrumbs a:hover { text-decoration: none !important; color: #f3b6c6 !important; }
.breadcrumb a:hover, .pr-breadcrumbs a:hover { color: var(--sz-berry) !important; }
#top .pr-dropdown-toggle, #top .pr-dropdown-toggle *, #top button, #top span { text-decoration: none !important; }
#top .pr-dropdown-toggle, #top .pr-dropdown-toggle > span { color: #e9e4dc !important; }

/* «стрибок» значка кошика після прильоту товару */
@keyframes szBump { 0% { transform: scale(1); } 40% { transform: scale(1.25); } 100% { transform: scale(1); } }
.sz-bump { animation: szBump .45s ease; }
.pr-module-item.sz-ready .pr-module-attributes { display: none !important; }

/* шкала знижок у кошику / оформленні */
/* смужку Promo ховаємо завжди, ще до того, як скрипт вставить шкалу — інакше вона блимає */
.pr-sidebar-cart-delivery { font-size: 0 !important; min-height: 236px; }
.pr-sidebar-cart-delivery > *:not(.sz-ck) { display: none !important; }
.sz-ck { font-size: 14px; display: grid; gap: 10px; }
.sz-ck-h { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; }
.sz-ck-h b { font-size: 15px; } .sz-ck-h span { font-size: 12px; font-weight: 800; color: var(--sz-sage); background: #eaf3ec; padding: 3px 9px; border-radius: 999px; }
.sz-ck-next { margin: 0; font-size: 13px; padding: 9px 12px; border-radius: 8px; background: var(--sz-berry-soft); }
.sz-ck-next b { color: var(--sz-berry); }
.sz-ck ul { list-style: none; margin: 0; padding: 0 0 0 4px; display: grid; gap: 0; position: relative; }
.sz-ck li { display: grid; grid-template-columns: 18px 1fr auto; align-items: center; gap: 10px; font-size: 13px; color: var(--sz-muted); padding: 5px 0; position: relative; }
.sz-ck li::before { content: ""; position: absolute; left: 6px; top: -10px; bottom: 50%; width: 2px; background: var(--sz-line); }
.sz-ck li:first-child::before { display: none; }
.sz-ck li.on::before { background: var(--sz-sage); }
.sz-ck li .dot { width: 14px; height: 14px; border-radius: 50%; border: 2px solid var(--sz-line); background: var(--sz-paper); position: relative; z-index: 1; }
.sz-ck li.on { color: var(--sz-ink); } .sz-ck li.on .dot { background: var(--sz-sage); border-color: var(--sz-sage); }
.sz-ck li.on .dot::after { content: ""; position: absolute; left: 3px; top: 0; width: 4px; height: 7px; border: solid #fff; border-width: 0 2px 2px 0; transform: rotate(45deg); }
.sz-ck li em { font-style: normal; font-weight: 800; }
.sz-ck li.on em { color: var(--sz-sage); }
.sz-ck li.nx { color: var(--sz-ink); font-weight: 700; } .sz-ck li.nx .dot { border-color: var(--sz-berry); } .sz-ck li.nx em { color: var(--sz-berry); }

/* главная: первый экран */
.sz-hero { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(280px, 1fr); gap: 18px; margin: 4px 0 6px; }
.sz-hero-main { background: var(--sz-paper); border-radius: 14px; padding: 34px 36px; display: grid; gap: 14px; align-content: center; position: relative; overflow: hidden; box-shadow: 0 1px 3px rgba(60,45,20,.08); }
.sz-hero-main::after { content: ""; position: absolute; right: -40px; bottom: -40px; width: 220px; height: 220px; border-radius: 50%; border: 2px dashed var(--sz-berry-soft); }
.sz-hero-kicker { font-size: 13px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--sz-berry); }
.sz-hero h1 { font-size: clamp(24px, 2.6vw, 36px); line-height: 1.15; margin: 0; color: var(--sz-ink); font-weight: 800; max-width: 22ch; }
.sz-hero p { margin: 0; font-size: 15px; color: var(--sz-muted); max-width: 60ch; line-height: 1.6; }
.sz-hero-btns { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 6px; }
.sz-btn { display: inline-flex; align-items: center; height: 48px; padding: 0 24px; border-radius: 10px; background: var(--sz-berry); color: #fff !important; font-weight: 800; text-decoration: none !important; }
.sz-btn:hover { background: var(--sz-berry-dark); }
.sz-btn.ghost { background: transparent; color: var(--sz-berry) !important; box-shadow: inset 0 0 0 2px var(--sz-berry); }
.sz-btn.ghost:hover { background: var(--sz-berry-soft); }
.sz-hero-side { background: var(--sz-kraft); color: var(--sz-kraft-ink); border-radius: 14px; padding: 24px 24px 20px; position: relative; display: grid; gap: 10px; align-content: center; }
.sz-hero-side::before { content: ""; position: absolute; inset: 8px; border: 1.5px dashed rgba(107,85,50,.38); border-radius: 9px; pointer-events: none; }
.sz-hero-side b { font-size: 16px; color: var(--sz-ink); }
.sz-hero-side ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.sz-hero-side li { display: flex; justify-content: space-between; gap: 10px; font-size: 14px; padding-bottom: 6px; border-bottom: 1px dashed rgba(107,85,50,.25); }
.sz-hero-side li em { font-style: normal; font-weight: 800; color: var(--sz-berry); }
.sz-hero-side small { font-size: 12px; }
.sz-about { font-size: 14.5px; line-height: 1.7; color: var(--sz-ink); max-width: 90ch; }
.sz-about p { margin: 0 0 10px; }
@media (max-width: 991px) { .sz-hero { grid-template-columns: minmax(0, 1fr); } .sz-hero-main { padding: 24px 20px; } }
/* стіна категорій — більші картинки */
.pr-category-wall img, [class*="category-wall"] img { width: 100% !important; height: auto !important; aspect-ratio: 1; object-fit: cover; border-radius: 10px; }
/* стіна категорій — сіткою, усі розділи видно одразу */
.pr-categories-wall-items { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 12px !important; overflow: visible !important; transform: none !important; }
.pr-categories-wall-item { width: auto !important; min-width: 0 !important; max-width: none !important; flex: none !important; padding: 0 0 12px !important; overflow: hidden; border-radius: 12px !important; text-decoration: none !important; transition: transform .2s, box-shadow .2s; }
.pr-categories-wall-item:hover { transform: translateY(-3px); box-shadow: 0 8px 20px rgba(60,45,20,.12); }
.pr-categories-wall-item img { width: 100% !important; height: auto !important; aspect-ratio: 1; object-fit: cover; border-radius: 0 !important; margin-bottom: 10px; }
.pr-categories-wall-item span, .pr-categories-wall-item div { font-weight: 700; font-size: 13px; padding: 0 8px; text-align: center; }
@media (max-width: 575px) { .pr-categories-wall-items { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
#catalog { scroll-margin-top: 140px; }

/* темна тема Promo вимкнена (оформлення під неї не розраховане) — перемикач ☀ сховано */
[data-theme-toggle] { display: none !important; }

/* картки: без кнопки «До порівняння» */
.pr-module-item-button-compare { display: none !important; }

/* стрічка знижок як у «Шампань» (перенесено в «Льон» 2026-10-16) */
html:not([data-sz-design="b"]):not([data-sz-design="c"]):not([data-sz-design="d"]) .sz-tapebar { background: #fff; }
html:not([data-sz-design="b"]):not([data-sz-design="c"]):not([data-sz-design="d"]) .sz-txt { border-radius: 2px; border-color: var(--sz-line); }
html:not([data-sz-design="b"]):not([data-sz-design="c"]):not([data-sz-design="d"]) .sz-txt b { color: #b8955a; }
html:not([data-sz-design="b"]):not([data-sz-design="c"]):not([data-sz-design="d"]) .sz-tape { height: 22px; border-radius: 2px; background: linear-gradient(90deg, #f6efe3, #ecdcc0); }
html:not([data-sz-design="b"]):not([data-sz-design="c"]):not([data-sz-design="d"]) .sz-ticks { opacity: .1; }
html:not([data-sz-design="b"]):not([data-sz-design="c"]):not([data-sz-design="d"]) .sz-stop span { color: #7a6a52; letter-spacing: .04em; }
html:not([data-sz-design="b"]):not([data-sz-design="c"]):not([data-sz-design="d"]) .sz-pin, html:not([data-sz-design="b"]):not([data-sz-design="c"]):not([data-sz-design="d"]) .sz-tapebar.ok .sz-pin { background: var(--sz-ink); }
html:not([data-sz-design="b"]):not([data-sz-design="c"]):not([data-sz-design="d"]) .sz-done { box-shadow: inset -2px 0 0 var(--sz-ink); }
@media (max-width: 767px) { html:not([data-sz-design="b"]):not([data-sz-design="c"]):not([data-sz-design="d"]) .sz-txt { border-radius: 2px; } html:not([data-sz-design="b"]):not([data-sz-design="c"]):not([data-sz-design="d"]) .sz-stop span { letter-spacing: 0; } }

/* «Підібрати в тон» (sezon_cards.js) */
.sz-tone { flex: 0 0 40px; height: 40px; border: 1.5px solid var(--sz-line); border-radius: 8px; background: #fff; color: var(--sz-berry); display: grid; place-items: center; cursor: pointer; padding: 0; }
.sz-tone svg { width: 20px; height: 20px; } .sz-tone:hover { border-color: var(--sz-berry); background: var(--sz-berry-soft); }
html.sz-noscroll, html.sz-noscroll body { overflow: hidden; }
.sz-tdlg { position: fixed; inset: 0; z-index: 2147483000; background: rgba(20, 16, 14, .45); display: flex; align-items: center; justify-content: center; padding: 24px; }
.sz-tdlg-box { background: var(--sz-paper); border-radius: 14px; width: min(980px, 100%); max-height: 100%; display: flex; flex-direction: column; box-shadow: 0 20px 60px rgba(0, 0, 0, .3); }
.sz-tdlg-h { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; padding: 18px 22px 12px; border-bottom: 1px solid var(--sz-line); }
.sz-tdlg-h h3 { margin: 0; font-size: 19px; font-weight: 800; color: var(--sz-ink); } .sz-tdlg-h .sub { font-size: 13px; color: var(--sz-muted); margin-top: 2px; }
.sz-tdlg-x { border: 0; background: none; font-size: 30px; line-height: 1; color: var(--sz-muted); cursor: pointer; padding: 0 4px; }
.sz-tdlg-b { overflow: auto; padding: 8px 22px 22px; }
/* заголовок розділу — смуга з акцентом, прилипає зверху під час прокрутки */
.sz-tdlg-b section + section { margin-top: 22px; }
.sz-tdlg-b h4 { position: sticky; top: -8px; z-index: 2; display: flex; align-items: center; gap: 10px; margin: 0 -22px 12px; padding: 11px 22px; background: var(--sz-berry-soft); border-left: 5px solid var(--sz-berry); font-size: 16px; font-weight: 800; color: var(--sz-berry); }
@media (max-width: 767px) { .sz-tdlg-b h4 { margin: 0 -16px 10px; padding: 10px 16px; font-size: 15px; top: -4px; } }
.sz-tdlg-e { padding: 30px 0; text-align: center; color: var(--sz-muted); }
.sz-tgrid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.sz-ti { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.sz-ti-img { display: block; aspect-ratio: 1; border-radius: 10px; overflow: hidden; background: #fff; }
.sz-ti-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.sz-ti-n { font-size: 12.5px; line-height: 1.3; color: var(--sz-ink) !important; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.sz-ti-f { display: flex; align-items: center; justify-content: space-between; gap: 6px; margin-top: auto; }
.sz-ti-p { font-size: 13px; font-weight: 800; color: var(--sz-ink); white-space: nowrap; }
.sz-tadd { display: flex; align-items: center; justify-content: center; gap: 6px; width: 100%; height: 36px; border: 0; border-radius: 8px; background: var(--sz-berry); color: #fff; font: inherit; font-size: 13px; font-weight: 700; cursor: pointer; }
.sz-tadd svg { width: 16px; height: 16px; } .sz-tadd:hover:not(:disabled) { background: var(--sz-berry-dark); }
.sz-tadd:disabled { background: #b9b2a8; cursor: not-allowed; } .sz-tadd.done, .sz-tadd.done:disabled { background: var(--sz-sage); cursor: default; }
@media (max-width: 767px) {
  .sz-tdlg { padding: 0; align-items: flex-end; }
  .sz-tdlg-box { border-radius: 14px 14px 0 0; max-height: 88vh; }
  .sz-tdlg-h { padding: 14px 16px 10px; } .sz-tdlg-b { padding: 4px 16px 20px; }
  .sz-tgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
}
.sz-tdlg-b h4 span { font-weight: 800; color: #fff; background: var(--sz-berry); font-size: 12px; line-height: 1; padding: 4px 9px; border-radius: 999px; }
.sz-thide { display: none; }
.sz-tall { display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; margin: 12px 0 6px; border: 2px solid var(--sz-berry); background: var(--sz-berry-soft); color: var(--sz-berry); border-radius: 10px; padding: 11px 16px; font: inherit; font-size: 14px; font-weight: 800; cursor: pointer; }
.sz-tall::after { content: ""; width: 8px; height: 8px; border-right: 2.5px solid currentColor; border-bottom: 2.5px solid currentColor; transform: rotate(45deg) translateY(-3px); }
.sz-tall:hover { background: var(--sz-berry); color: #fff; }
.sz-tall:disabled::after { display: none; }
.sz-tmore { display: block; width: 100%; margin: 18px 0 4px; border: 0; background: var(--sz-berry); color: #fff; border-radius: 10px; padding: 13px 16px; font: inherit; font-size: 14px; font-weight: 800; cursor: pointer; }
.sz-tmore:hover { background: var(--sz-berry-dark); }

/* контент на всю ширину екрана (Promo обмежував 1140/1320 px на 1200–1599) */
@media (min-width: 992px) { .container-fluid, .container-xl { max-width: 1680px !important; padding-left: 20px !important; padding-right: 20px !important; } }
/* стрічка-сантиметр на ноутбуках: без «грн» і розрядки, щоб підписи не налазили */
@media (max-width: 1599px) { .sz-stop span > em { display: none; } .sz-stop span { letter-spacing: 0 !important; font-size: 10.5px; left: 4px; } .sz-stop span i { margin-left: 3px; } }

/* каталог/пошук на ноутбуках: 3 картки в ряд (у 4 колонки не вміщається лічильник + «В кошик» + «в тон») */
@media (min-width: 992px) and (max-width: 1599px) { [id^="product-"] .pr-module-items > .pr-module-col.product-grid { flex: 0 0 calc(33.333% - 10.667px) !important; max-width: calc(33.333% - 10.667px) !important; } }
/* стрічка на телефоні: тисячі буквою «к» (1к −3%, 15к −10%, 20к + вантажівка) */
.sz-stop span b { font-weight: inherit; } .sz-stop .sz-k { display: none; }
/* 22.10: на ПК ширина стрічки залежить від тексту зліва — підписи стискаємо за шириною самої стрічки (7 рівних відрізків) */
.sz-tape { container: sztape / inline-size; }
@container sztape (max-width: 720px) { .sz-stop span > em { display: none; } .sz-stop span i { margin-left: 3px; } }
@container sztape (max-width: 560px) { .sz-stop .sz-n { display: none; } .sz-stop .sz-k { display: inline; } .sz-stop span { letter-spacing: 0 !important; } }
@media (max-width: 575px) { .sz-stop .sz-n { display: none; } .sz-stop .sz-k { display: inline; } .sz-stop span { font-size: 10px !important; left: 3px !important; } .sz-stop span i { margin-left: 2px !important; } }

@media (max-width: 345px) { .sz-stop span { font-size: 9px !important; letter-spacing: -.02em !important; } }
/* хлібні крихти — помітніші, як на Prom */
.pr-breadcrumb, .breadcrumb.pr-breadcrumb { font-size: 14px !important; row-gap: 4px; flex-wrap: wrap; }
.pr-breadcrumb a { color: var(--sz-berry) !important; font-weight: 600; }
.pr-breadcrumb a:hover { text-decoration: underline !important; color: var(--sz-berry-dark) !important; }
.pr-breadcrumb li:last-child, .pr-breadcrumb li:last-child span { color: var(--sz-ink) !important; }
.pr-breadcrumb svg, .pr-breadcrumb i { color: var(--sz-berry) !important; fill: currentColor; }
@media (max-width: 575px) { .pr-breadcrumb, .breadcrumb.pr-breadcrumb { font-size: 13px !important; } }
/* купон на стрічці і в кабінеті */
.sz-cp { display: inline-block; background: var(--sz-sage); color: #fff; font-weight: 800; border-radius: 4px; padding: 1px 7px; margin-right: 4px; white-space: nowrap; }
.sz-mycp { display: grid; gap: 4px; padding: 14px 18px; margin-bottom: 18px; border-left: 5px solid var(--sz-sage); background: #eef6f0; border-radius: 8px; }
.sz-mycp b { font-size: 17px; color: var(--sz-ink); } .sz-mycp span { color: var(--sz-muted); font-size: 14px; }
/* підказки про купон: стрічка (гість), кошик, оформлення */
.sz-cpinv { font-size: 12.5px; font-weight: 700; color: var(--sz-sage) !important; white-space: nowrap; text-decoration: underline !important; text-underline-offset: 3px; }
.sz-cpinv[hidden] { display: none !important; }
@media (max-width: 1599px) { .sz-cpinv { display: none !important; } }
.sz-ck-cp { margin: -2px 0 0; font-size: 13px; color: var(--sz-sage); font-weight: 600; background: #eef6f0; border-radius: 8px; padding: 8px 12px; }
.sz-ck-cp a { color: var(--sz-sage) !important; text-decoration: underline !important; font-weight: 800; }
.sz-reghint { margin: 4px 0 8px 26px; font-size: 13px; font-weight: 600; color: var(--sz-sage); }
.sz-phint { display: grid; grid-template-columns: 1fr auto; gap: 2px 16px; align-items: center; background: #eef6f0; border-left: 5px solid var(--sz-sage); border-radius: 8px; padding: 12px 16px; margin-bottom: 16px; }
.sz-phint b { font-size: 15px; color: var(--sz-ink); } .sz-phint span { grid-column: 1; font-size: 13px; color: var(--sz-muted); }
.sz-phint .sz-btn { grid-column: 2; grid-row: 1 / span 2; background: var(--sz-sage) !important; color: #fff !important; border: 0; border-radius: 8px; padding: 10px 18px; font-weight: 800; cursor: pointer; }
.sz-thx { margin: 0 0 18px; }
.sz-thx a, .sz-mycp a { color: var(--sz-sage) !important; font-weight: 800; text-decoration: underline !important; }

/* головна: рядок про купон у блоці знижок */
.sz-hero-cp { display: grid; gap: 2px; margin-top: 14px; padding: 12px 14px; background: #eef6f0; border-radius: 8px; border-left: 4px solid var(--sz-sage); font-size: 13px; color: var(--sz-muted); }
.sz-hero-cp b { color: var(--sz-sage); font-size: 14px; } .sz-hero-cp a { color: var(--sz-sage) !important; font-weight: 800; text-decoration: underline !important; justify-self: start; }

/* сторінка «Система знижок»: кроки купона */
.sz-steps { padding-left: 0; list-style: none; counter-reset: s; display: grid; gap: 10px; margin: 12px 0 18px; }
.sz-steps li { counter-increment: s; position: relative; padding: 12px 14px 12px 52px; background: #eef6f0; border-radius: 10px; line-height: 1.5; }
.sz-steps li::before { content: counter(s); position: absolute; left: 14px; top: 12px; width: 26px; height: 26px; border-radius: 50%; background: var(--sz-sage); color: #fff; font-weight: 800; display: grid; place-items: center; font-size: 14px; }
.pr-account-account .dark-grey-text a { color: var(--sz-berry) !important; font-weight: 700; }
.sz-hide { display: none !important; }
/* кабінет: завантажити замовлення */
.sz-odl-box { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin: 0 0 18px; }
.sz-odl-box b { font-size: 14px; color: var(--sz-ink); }
.sz-odl { display: inline-flex; gap: 6px; vertical-align: middle; }
.sz-odl a { display: inline-block; padding: 7px 14px; border-radius: 8px; border: 1.5px solid var(--sz-berry); color: var(--sz-berry) !important; font-weight: 800; font-size: 13px; text-decoration: none !important; }
.sz-odl a:hover { background: var(--sz-berry); color: #fff !important; }
.sz-odl.sm { margin-left: 8px; } .sz-odl.sm a { padding: 3px 8px; font-size: 11px; border-width: 1px; }
/* оформлення: випадаючий список міст / відділень (модуль Shipping Data) — на всю ширину поля, як решта сайту */
.form-floating { position: relative; }
ul.dropdown-address { min-width: 100% !important; max-height: 340px !important; border-radius: 10px !important; border: 1px solid var(--sz-line) !important; box-shadow: 0 14px 34px rgba(30, 20, 15, .18) !important; background: #fff !important; z-index: 60 !important; padding: 4px 0 !important; }
ul.dropdown-address li { padding: 10px 14px !important; font-size: 14px !important; line-height: 1.35 !important; cursor: pointer; border-bottom: 1px solid #f1ece4; }
ul.dropdown-address li:last-child { border-bottom: 0; }
ul.dropdown-address li:hover, ul.dropdown-address li.active, ul.dropdown-address li.selected { background: var(--sz-berry-soft) !important; color: var(--sz-ink) !important; }
#shipping-city:focus::placeholder, #shipping-address_1:focus::placeholder { color: #a39a8f; opacity: 1; }
#shipping-city:not(:focus)::placeholder, #shipping-address_1:not(:focus)::placeholder { color: transparent !important; }
/* оформлення: перевізники у фірмових кольорах — Нова пошта червона, Укрпошта жовта з чорним */
.shipping-check-item:has(input[value^="novaposhta"]) { --carrier: #da291c; --carrier-ink: #fff; --carrier-soft: #fdeceb; }
.shipping-check-item:has(input[value^="ukrposhta"]) { --carrier: #ffc800; --carrier-ink: #1a1a1a; --carrier-soft: #fff8db; }
.shipping-check-item:has(input[value^="novaposhta"]), .shipping-check-item:has(input[value^="ukrposhta"]) {
  background: var(--carrier-soft) !important; border: 2px solid transparent !important; border-left: 6px solid var(--carrier) !important; border-radius: 12px !important; padding: 14px 16px !important; transition: border-color .15s, box-shadow .15s; }
.shipping-check-item:has(input[name="shipping_method"]:checked) { border-color: var(--carrier) !important; box-shadow: 0 4px 14px rgba(0, 0, 0, .08); }
.shipping-check-item:has(input[value^="novaposhta"]) > p.fw-600, .shipping-check-item:has(input[value^="ukrposhta"]) > p.fw-600 {
  display: inline-block; background: var(--carrier); color: var(--carrier-ink) !important; font-weight: 800 !important; font-size: 13px; letter-spacing: .02em; text-transform: uppercase; padding: 5px 12px; border-radius: 6px; margin-bottom: 10px !important; }
.shipping-check-item:has(input[value^="novaposhta"]) .form-check-input:checked, .shipping-check-item:has(input[value^="ukrposhta"]) .form-check-input:checked { background-color: var(--carrier) !important; border-color: var(--carrier) !important; }
.shipping-check-item:has(input[value^="ukrposhta"]) .form-check-input:checked { box-shadow: inset 0 0 0 2px #1a1a1a; }
.shipping-check-item .form-check { padding: 4px 0 4px 2px !important; }
.shipping-check-item .form-check .form-check-input { margin-left: 0 !important; float: none !important; flex: 0 0 auto; }
.shipping-check-item .form-check-label { font-size: 13.5px !important; cursor: pointer; }

/* плашка «Ви отримаєте купон» над кнопкою оформлення */
.sz-cpnext { display: flex; gap: 12px; align-items: center; background: #fff; border: 2px solid var(--sz-sage); border-radius: 12px; padding: 11px 14px; margin: 10px 0 12px; color: var(--sz-ink); }
.sz-cpnext > svg { flex: 0 0 30px; width: 30px; height: 30px; color: var(--sz-sage); }
.sz-cpnext div { display: grid; gap: 1px; line-height: 1.3; }
.sz-cpnext b { font-size: 15px; font-weight: 800; color: var(--sz-sage); }
.sz-cpnext span { font-size: 12.5px; color: var(--sz-muted); }
.sz-cpnext a { color: var(--sz-sage) !important; font-weight: 800; text-decoration: underline !important; }
/* шкала: «Ваша знижка» — компактна плашка з кружком відсотка */
.sz-ck-now { display: flex; align-items: center; gap: 10px; background: linear-gradient(135deg, #3f7a58, #2f6346); color: #fff; border-radius: 10px; padding: 7px 12px 7px 7px; box-shadow: 0 3px 10px rgba(47, 99, 70, .22); }
.sz-ck-now .pc { flex: 0 0 auto; display: grid; place-items: center; min-width: 40px; height: 40px; padding: 0 4px; border-radius: 50%; background: #fff; color: #2f6346; font-size: 15px; font-weight: 900; letter-spacing: -.02em; }
.sz-ck-now .tx { display: flex; align-items: baseline; gap: 2px 8px; flex-wrap: wrap; line-height: 1.2; }
.sz-ck-now .tx b { font-size: 15px; font-weight: 800; }
.sz-ck-now .tx small { font-size: 12px; font-weight: 600; opacity: .85; }

/* оформлення: збережене відділення — видно, що вже обране */
.sz-addr-ok { display: flex; align-items: center; gap: 8px; background: var(--sz-sage); color: #fff; font-size: 13px; font-weight: 700; border-radius: 8px; padding: 8px 12px; margin: 6px 0 10px; }
.sz-addr-ok::before { content: "✓"; display: grid; place-items: center; width: 20px; height: 20px; border-radius: 50%; background: #fff; color: var(--sz-sage); font-weight: 900; font-size: 13px; flex: 0 0 20px; }
.sz-addr-chosen #address-select { border: 2px solid var(--sz-sage) !important; font-weight: 700; color: var(--sz-ink); background-color: #f3faf5 !important; }
/* сторінка товару: блок покупки — на всю колонку, без оформлення картки каталогу */
.pr-module-item.sz-pp { width: 100% !important; max-width: none !important; flex: 1 1 auto !important; padding: 0 !important; margin: 0 !important; background: none !important; border: 0 !important; box-shadow: none !important; transform: none !important; }
.sz-pp .pr-module-item-price-box { display: block !important; width: 100%; }
.sz-pp .sz-card { gap: 12px; }
.sz-pp .sz-tag .p, .sz-pp .sz-wide .p { font-size: 22px; }
.sz-pp .sz-step { flex-basis: 120px; height: 46px; } .sz-pp .sz-add, .sz-pp .sz-tone { height: 46px; } .sz-pp .sz-add { font-size: 15px; } .sz-pp .sz-tone { flex-basis: 46px; }
.sz-pp .sz-meta { font-size: 13px; }
.sz-pp .sz-meta { padding-right: 44px; }
/* сторінка товару: розділ «В тон» */
.sz-tone-page .sz-tone-sub { color: var(--sz-muted); font-size: 14px; margin: -6px 0 6px; }
.sz-tone-page h4 { margin: 18px 0 10px; font-size: 15px; font-weight: 800; color: var(--sz-berry); }
.sz-tone-page h4 span { font-weight: 800; color: #fff; background: var(--sz-berry); font-size: 12px; padding: 3px 8px; border-radius: 999px; margin-left: 4px; }
.sz-tone-page .sz-tgrid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 767px) { .sz-tone-page .sz-tgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.pr-product-tab-tone .pr-product-tab-content-title svg { color: var(--sz-berry); }

/* описание товара: ссылки видно как ссылки (в текстах Prom «тут», «інші види» были без оформления) */
.pr-product-description a:not(.button):not([class*="btn"]) { color: var(--sz-berry, #a8234f); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; font-weight: 600; }
.pr-product-description a:not(.button):not([class*="btn"]):hover { text-decoration-thickness: 2px; }

/* телефон: карточки в модулях главной («Нові надходження» и т.п.) — как в каталоге, сверху вниз во всю ширину
   (Promo ставит фото и низ карточки рядом по 50% — цена, счётчик и «В кошик» не влазили) */
@media (max-width: 575.98px) {
  .pr-module-items .pr-module-item.product-grid { display: flex !important; flex-direction: column !important; }
  .pr-module-items .pr-module-item.product-grid > .pr-module-item-top,
  .pr-module-items .pr-module-item.product-grid > .pr-module-item-bottom { width: 100% !important; max-width: 100% !important; flex: 0 0 auto !important; }
  .pr-module-items .pr-module-item.product-grid .pr-module-item-img img { max-height: 260px; width: auto; margin: 0 auto; object-fit: contain; }
}

/* кількість змінюється — підсумки «перераховуються» (замість спінера на всю форму) */
/* (без затемнення — владелец: «выглядит как перерисовка»; сумма рядка рахується одразу в sezon.js) */

/* «Порівняння» не використовуємо: кнопка в шапці, у нижній панелі телефону і в бічному меню (у картках прибрано раніше) */
/* (кнопки «Порівняти» прибрані з шаблонів — patch-скрипти, sz_patch_util.drop_compare; у картках лишається правило вище для шаблонів, які не правимо: швидкий перегляд, блог, featured) */

/* узкі картки модулів на головній (5 в ряд): «В кошик» в один рядок */
.pr-module-items .sz-add { white-space: nowrap; padding-left: 8px; padding-right: 8px; gap: 4px; min-width: 0; }
@media (min-width: 1200px) and (max-width: 1599.98px) { .pr-module-items .sz-add svg { display: none; } }

/* «Ще … до мінімального замовлення» замість «Оформити замовлення», поки сума < 500 грн */
#button-go.sz-low, #cartSidebar a.sz-low { background: var(--sz-berry-soft, #f7e6ec) !important; color: var(--sz-berry, #a8244b) !important; border: 1px solid var(--sz-berry, #a8244b) !important; opacity: 1 !important; box-shadow: none !important; font-weight: 600; }
#button-go.sz-low { cursor: default; }

/* оформлення: «Куди відправити?» */
.sz-where { margin: 0 0 16px; display: flex; flex-direction: column; gap: 8px; }
.sz-where-t { font-weight: 700; font-size: 16px; color: var(--sz-ink, #2b2b2b); margin: 0 0 2px; }
.sz-where-opt { display: flex; gap: 12px; align-items: flex-start; padding: 12px 14px; border: 1.5px solid var(--sz-line, #e6e0d5); border-radius: 12px; background: #fff; cursor: pointer; margin: 0; }
.sz-where-opt:has(input:checked) { border-color: var(--sz-berry, #a8244b); background: var(--sz-berry-soft, #fbeef2); }
.sz-where-opt input { margin-top: 3px; width: 18px; height: 18px; accent-color: var(--sz-berry, #a8244b); flex: none; }
.sz-where-txt { display: flex; flex-direction: column; gap: 2px; font-size: 14px; line-height: 1.35; color: var(--sz-ink, #2b2b2b); }
.sz-where-h { font-size: 15px; }
.sz-where-txt em { font-style: normal; color: var(--sz-muted, #7a7470); font-size: 13px; }
/* режим «як минулого разу» — перевізники й поля сховані; в обох режимах — без старого списку адрес і галочки Promo */
.sz-saved-mode > p.grey-text, .sz-saved-mode .pr-smart-checkout-check, .sz-saved-mode #shipping-address-block { display: none !important; }
.sz-has-where .shipping-address-selection > .form-floating:has(#address-select),
.sz-has-where .shipping-address-selection > .form-check:has(#new-address-toggle), .sz-has-where .sz-addr-ok { display: none !important; }
.sz-has-where .form-check:has(#defaultAddressCheckbox) { display: none !important; }   /* адреса й так запам'ятовується після замовлення */

/* якір «До каталогу» на головній: сітка розділів не ховається під липкою шапкою (id="catalog" — oct_category_wall.twig) */
#catalog { scroll-margin-top: 150px; }
html { scroll-behavior: smooth; }

/* «Як оплатити»: реквізити ФОП / рахунок PDF («Дякуємо» і замовлення в кабінеті) */
.sz-pay { margin: 0 0 18px; padding: 16px 18px; border: 1.5px solid var(--sz-berry, #a8244b); border-radius: 14px; background: #fff; }
.sz-pay-t { display: block; font-size: 17px; margin-bottom: 10px; color: var(--sz-ink, #2b2b2b); }
.sz-pay-p { margin: 0 0 10px; color: var(--sz-muted, #6b6560); }
.sz-pay-l { margin: 0; display: flex; flex-direction: column; gap: 8px; }
.sz-pay-r { display: grid; grid-template-columns: 170px 1fr; gap: 10px; align-items: center; padding: 8px 0; border-top: 1px solid var(--sz-line, #ece6dc); }
.sz-pay-r:first-child { border-top: 0; }
.sz-pay-r dt { font-weight: 500; color: var(--sz-muted, #6b6560); font-size: 14px; }
.sz-pay-r dd { margin: 0; display: flex; gap: 10px; align-items: center; justify-content: space-between; font-weight: 700; font-size: 15px; word-break: break-all; }
.sz-pay-c { flex: none; border: 1px solid var(--sz-berry, #a8244b); color: var(--sz-berry, #a8244b); background: #fff; border-radius: 8px; padding: 5px 10px; font-size: 12px; font-weight: 600; cursor: pointer; }
.sz-pay-c.on { background: var(--sz-sage, #3a8a57); border-color: var(--sz-sage, #3a8a57); color: #fff; }
.sz-pay-btn { display: inline-flex; padding: 12px 20px; }
@media (max-width: 575.98px) { .sz-pay-r { grid-template-columns: 1fr; gap: 4px; } }
.sz-pay-n { margin: -2px 0 10px; padding: 8px 12px; border-radius: 10px; background: #edf6ef; color: #23633a; font-weight: 600; font-size: 14px; }
.sz-pay-n::before { content: "✓ "; }
.sz-pay-f { margin: 12px 0 0; font-size: 14px; color: var(--sz-ink, #2b2b2b); }

/* ===== мегаменю (ПК): щільні колонки замість сітки блоків — без порожнеч і ліній; підбірки — смужкою вгорі (sz-menu-coll, шаблон oct_menu) ===== */
@media (min-width: 992px) {
  .pr-menu-catalog-wide > .pr-menu-catalog-inner { display: block !important; padding: 18px 26px 22px !important; }
  .pr-menu-catalog-wide > .pr-menu-catalog-inner > ul.pr-menu-catalog-items { display: block !important; column-count: 3; column-gap: 40px; padding: 0 !important; margin: 0; }
  .pr-menu-catalog-wide > .pr-menu-catalog-inner > ul.pr-menu-catalog-items > li { display: block !important; break-inside: avoid; width: auto !important; max-width: none !important; margin: 0 0 16px !important; padding: 0 !important; border: 0 !important; background: none !important; }
  .pr-menu-catalog-wide > .pr-menu-catalog-inner > ul.pr-menu-catalog-items > li.sz-coll { display: none !important; }
  .pr-menu-catalog-wide > .pr-menu-catalog-inner > ul.pr-menu-catalog-items > li > a { display: inline-block !important; font-weight: 700; font-size: 15px; color: var(--sz-ink, #2b2b2b) !important; padding: 0 0 4px !important; border: 0 !important; }
  .pr-menu-catalog-wide > .pr-menu-catalog-inner > ul.pr-menu-catalog-items > li > a:hover { color: var(--sz-berry, #a8244b) !important; }
  .pr-menu-catalog-wide > .pr-menu-catalog-inner > ul.pr-menu-catalog-items > li > a::after,
  .pr-menu-catalog-wide > .pr-menu-catalog-inner > ul.pr-menu-catalog-items > li::after { display: none !important; }
  /* 3-й рівень — список під заголовком */
  .pr-menu-catalog-wide > .pr-menu-catalog-inner > ul.pr-menu-catalog-items > li > .pr-menu-catalog { position: static !important; display: block !important; box-shadow: none !important; border: 0 !important; padding: 0 !important; background: none !important; min-height: 0 !important; width: auto !important; }
  .pr-menu-catalog-wide > .pr-menu-catalog-inner > ul.pr-menu-catalog-items > li > .pr-menu-catalog > .pr-menu-catalog-inner { padding: 0 !important; }
  .pr-menu-catalog-wide > .pr-menu-catalog-inner > ul.pr-menu-catalog-items > li ul.pr-menu-catalog-items { display: block !important; padding: 0 !important; margin: 0; border: 0 !important; }
  .pr-menu-catalog-wide > .pr-menu-catalog-inner > ul.pr-menu-catalog-items > li ul.pr-menu-catalog-items > li { display: block !important; padding: 3px 0 !important; border: 0 !important; width: auto !important; font-weight: 400 !important; }
  .pr-menu-catalog-wide > .pr-menu-catalog-inner > ul.pr-menu-catalog-items > li ul.pr-menu-catalog-items > li > a { font-size: 14px; color: #5f5a55 !important; }
  .pr-menu-catalog-wide > .pr-menu-catalog-inner > ul.pr-menu-catalog-items > li ul.pr-menu-catalog-items > li > a:hover { color: var(--sz-berry, #a8244b) !important; }
  .pr-menu-catalog-wide [data-menu-level="4"] { padding-left: 12px !important; }
  /* смужка підбірок */
  .pr-menu-catalog-wide > .pr-menu-catalog-inner > ul.pr-menu-catalog-items > li.sz-menu-all,
  .pr-menu-catalog-wide > .pr-menu-catalog-inner > ul.pr-menu-catalog-items > li ul.pr-menu-catalog-items > li.sz-menu-all { display: none !important; }
  .pr-menu-catalog-wide > .pr-menu-catalog-inner > ul.pr-menu-catalog-items > li ul.pr-menu-catalog-items { column-count: 1 !important; }
  .sz-menu-coll { gap: 10px; flex-wrap: wrap; margin: 0 0 16px; padding: 0 0 14px; border-bottom: 1px solid var(--sz-line, #ece6dc); }
  .sz-menu-coll:empty { display: none !important; }
  .sz-menu-coll a { padding: 7px 14px; border-radius: 999px; background: var(--sz-berry-soft, #fbeef2); color: var(--sz-berry, #a8244b) !important; font-weight: 600; font-size: 14px; }
  .sz-menu-coll a::before { content: "★ "; }
  .sz-menu-coll a:hover { background: var(--sz-berry, #a8244b); color: #fff !important; }
}

/* ===== мегаменю (ПК): вигляд «Плитки» — картки підрозділів із фото (вибір власника 19.10; «Колонки» прибрано) ===== */
@media (min-width: 992px) {
  /* «Плитки»: картки з фото, без 3-го рівня */
  .pr-menu-catalog-wide.sz-mv-tiles > .pr-menu-catalog-inner > ul.pr-menu-catalog-items { display: grid !important; column-count: auto; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 14px; }
  .pr-menu-catalog-wide.sz-mv-tiles > .pr-menu-catalog-inner > ul.pr-menu-catalog-items > li { margin: 0 !important; border-radius: 14px !important; background: #fff !important; border: 1px solid var(--sz-line, #ece6dc) !important; transition: box-shadow .15s, transform .15s; }
  .pr-menu-catalog-wide.sz-mv-tiles > .pr-menu-catalog-inner > ul.pr-menu-catalog-items > li:hover { box-shadow: 0 6px 18px rgba(0,0,0,.08); transform: translateY(-2px); }
  .pr-menu-catalog-wide.sz-mv-tiles > .pr-menu-catalog-inner > ul.pr-menu-catalog-items > li > a { display: flex !important; flex-direction: column; align-items: center; text-align: center; gap: 10px !important; padding: 14px 10px 12px !important; width: 100%; font-size: 14px !important; line-height: 1.25; }
  .pr-menu-catalog-wide.sz-mv-tiles > .pr-menu-catalog-inner > ul.pr-menu-catalog-items > li > a img { width: 110px !important; height: 110px !important; object-fit: cover; border-radius: 10px; }
  .pr-menu-catalog-wide.sz-mv-tiles > .pr-menu-catalog-inner > ul.pr-menu-catalog-items > li > .pr-menu-catalog { display: none !important; }
  /* плитки компактніше: два ряди вміщаються без прокрутки (власник 19.10) */
  .pr-menu-catalog-wide.sz-mv-tiles > .pr-menu-catalog-inner { padding-top: 14px !important; }
  .pr-menu-catalog-wide.sz-mv-tiles .sz-menu-coll { margin: 0 0 10px; padding: 0 0 8px; }
  .pr-menu-catalog-wide.sz-mv-tiles > .pr-menu-catalog-inner > ul.pr-menu-catalog-items { gap: 10px; }
  .pr-menu-catalog-wide.sz-mv-tiles > .pr-menu-catalog-inner > ul.pr-menu-catalog-items > li > a { gap: 6px !important; padding: 10px 8px 9px !important; font-size: 13.5px !important; }
  .pr-menu-catalog-wide.sz-mv-tiles > .pr-menu-catalog-inner > ul.pr-menu-catalog-items > li > a img { width: 88px !important; height: 88px !important; }
}
@media (min-width: 992px) {
  /* панель мегаменю не ширша за вікно (Promo рахує ширину від контейнера 1680 px — на екранах до ~1700 px вилазила за правий край) */
  .pr-menu-catalog-wide { max-width: calc(100vw - 440px) !important; }
  .pr-menu-catalog-wide.sz-mv-tiles > .pr-menu-catalog-inner > ul.pr-menu-catalog-items > li > a img { border: 0 !important; padding: 0 !important; background: none !important; box-shadow: none !important; }
}

/* ===== «Новинки» — перший пункт каталогу, виділений (oct_menu 294, розділ 267; посилання всередині span) ===== */
.pr-menu-catalog-item:has(> .pr-menu-catalog-item-title > a[href$="/novinki-2"]), .pr-menu-catalog-item:has(> .pr-menu-catalog-item-title > a[href$="/ru/novinki"]) { background: var(--sz-berry-soft, #fbeef2) !important; }
.pr-menu-catalog-item-title > a[href$="/novinki-2"], .pr-menu-catalog-item-title > a[href$="/ru/novinki"] { color: var(--sz-berry, #a8244b) !important; font-weight: 700 !important; }
.pr-menu-catalog-item-title > a[href$="/novinki-2"]::before, .pr-menu-catalog-item-title > a[href$="/ru/novinki"]::before { content: "★"; margin-right: 8px; }

/* ===== друге фото карточки при наведенні (ПК) — patch_cards_twig.py + sezon_cards.js ===== */
a:has(> .sz-img2) { position: relative; display: block; }
.sz-img2 { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity .25s ease; pointer-events: none; border-radius: inherit; background: #fff; }
@media (hover: hover) { a:hover > .sz-img2[src] { opacity: 1; } }
/* телефон: листання фото пальцем — sezon_cards.js (data-pics), точки під фото */
a.sz-swipe { position: relative; display: block; touch-action: pan-y; overflow: hidden; }
a.sz-swipe > img[data-pics] { will-change: transform; }
.sz-dots { position: absolute; left: 0; right: 0; bottom: 8px; display: flex; justify-content: center; align-items: center; gap: 6px; pointer-events: none; z-index: 2; }
.sz-dots i { width: 9px; height: 9px; border-radius: 5px; background: rgba(255,255,255,.9); box-shadow: 0 0 0 1px rgba(0,0,0,.3); transition: width .2s ease, background-color .2s ease; }
.sz-dots i.on { width: 20px; background: var(--pr-main-color, #222); box-shadow: 0 0 0 1.5px #fff; }

/* ===== підказка «Збільшити» на головному фото товару (клік відкриває перегляд Promo) ===== */
.pr-product-images-main .oct-gallery::after { content: "⤢ Збільшити"; position: absolute; right: 10px; bottom: 10px; z-index: 3; padding: 5px 10px; border-radius: 999px; background: rgba(43,47,58,.72); color: #fff; font-size: 12.5px; font-weight: 600; pointer-events: none; }
html[lang="ru"] .pr-product-images-main .oct-gallery::after { content: "⤢ Увеличить"; }

/* ===== «Поповнили»: ярлик на карточці, пункт меню, блок на головній ===== */
.sz-restb { display: inline-block; margin-top: 4px; padding: 3px 8px; border-radius: 999px; background: #2f7d55; color: #fff; font-size: 11.5px; font-weight: 700; line-height: 1.3; }
.pr-module-item-stickers-box:has(.sz-restb) { flex-direction: column; align-items: flex-start !important; }
.pr-menu-catalog-item:has(> .pr-menu-catalog-item-title > a[href$="/popovnyly"]), .pr-menu-catalog-item:has(> .pr-menu-catalog-item-title > a[href$="/ru/popolnili"]) { background: #e8f4ec !important; }
.pr-menu-catalog-item-title > a[href$="/popovnyly"], .pr-menu-catalog-item-title > a[href$="/ru/popolnili"] { color: #2f7d55 !important; font-weight: 700 !important; }
.pr-menu-catalog-item-title > a[href$="/popovnyly"]::before, .pr-menu-catalog-item-title > a[href$="/ru/popolnili"]::before { content: "↻"; margin-right: 8px; }
.sz-restock-all { color: #2f7d55; font-weight: 700; white-space: nowrap; }
.sz-restock-items { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 12px; }
.sz-restock-item { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 10px 8px 12px; text-align: center; border-radius: 14px; text-decoration: none; transition: box-shadow .15s, transform .15s; }
.sz-restock-item:hover { box-shadow: 0 6px 18px rgba(0,0,0,.08); transform: translateY(-2px); }
.sz-restock-item img { width: 100%; max-width: 150px; height: auto; aspect-ratio: 1; object-fit: cover; border-radius: 10px; }
.sz-restock-name { font-size: 14px; font-weight: 700; color: var(--sz-ink, #2b2f3a); line-height: 1.25; }
.sz-restock-meta { font-size: 12.5px; font-weight: 700; color: #2f7d55; }
@media (max-width: 575.98px) { .sz-restock-items { grid-auto-flow: column; grid-auto-columns: 42%; grid-template-columns: none; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 6px; } .sz-restock-item { scroll-snap-align: start; } }

/* ===== стрічка суми: на телефоні — короткий текст в один рядок (sezon.js: .szl довгий / .szs короткий) ===== */
.sz-txt .szs { display: none; }
@media (max-width: 575.98px) {
  .sz-txt .szl { display: none; }
  .sz-txt .szs { display: inline; }
  .sz-txt { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
}

/* ===== ліва колонка «Категорії» (ПК): наведення на розділ — панель підрозділів праворуч; клік по стрілці, як і раніше, розгортає в колонці ===== */
@media (min-width: 1200px) and (hover: hover) {
  .pr-column-categories { overflow: visible !important; }
  .pr-column-categories-list-item { position: relative; }
  .pr-column-categories-list-item:hover { background: var(--sz-berry-soft, #fbeef2); }
  .pr-column-categories-list-item:hover > .pr-column-categories-collapse:not(.show) {
    display: block !important; position: absolute; left: 100%; top: 0; z-index: 60; width: 320px; max-height: 70vh; overflow-y: auto;
    background: #fff; border-radius: 12px; box-shadow: 0 12px 32px rgba(0,0,0,.14); padding: 6px 16px 12px; animation: szFly .12s ease-out;
  }
  .pr-column-categories-list-item:hover > .pr-column-categories-collapse:not(.show) > ul { margin-top: 8px !important; }
  /* місток, щоб курсор не «зривався» на шляху до панелі */
  .pr-column-categories-list-item:hover::after { content: ""; position: absolute; top: 0; right: -14px; width: 14px; height: 100%; }
}
@keyframes szFly { from { opacity: 0; transform: translateX(-6px); } to { opacity: 1; transform: none; } }

/* ===== ліва колонка «Категорії» (телефон/планшет): стрілка — помітна кнопка «розгорнути»: кружок, стрілка вниз, відкрито — вгору ===== */
@media (max-width: 1199.98px) {
  .pr-column-categories-list-item > span > button[data-bs-toggle="collapse"] { width: 34px; height: 34px; padding: 0 !important; border-radius: 50%; background: var(--sz-berry-soft, #fbeef2); display: inline-flex; align-items: center; justify-content: center; flex: 0 0 34px; }
  .pr-column-categories-list-item > span > button[data-bs-toggle="collapse"] svg { width: 7px; height: 12px; transform: rotate(90deg); transition: transform .2s; }
  .pr-column-categories-list-item > span > button[data-bs-toggle="collapse"] svg path { stroke: var(--sz-berry, #a8244b); }
  .pr-column-categories-list-item > span > button[aria-expanded="true"] svg { transform: rotate(-90deg); }
  .pr-column-categories-list-item > span > button[aria-expanded="true"] { background: var(--sz-berry, #a8244b); }
  .pr-column-categories-list-item > span > button[aria-expanded="true"] svg path { stroke: #fff; }
}

/* ===== «Плитки»: у плитки є свої підрозділи — підпис «6 підрозділів ›», список випадає при наведенні ===== */
.sz-subn { display: none; }
@media (min-width: 992px) {
  .pr-menu-catalog-wide.sz-mv-tiles .sz-subn { display: block; font-size: 12px; font-weight: 600; color: var(--sz-berry, #a8244b); margin-top: -2px; }
  .pr-menu-catalog-wide.sz-mv-tiles > .pr-menu-catalog-inner > ul.pr-menu-catalog-items > li { position: relative; }
  .pr-menu-catalog-wide.sz-mv-tiles > .pr-menu-catalog-inner > ul.pr-menu-catalog-items > li:hover { z-index: 6; }
  .pr-menu-catalog-wide.sz-mv-tiles > .pr-menu-catalog-inner > ul.pr-menu-catalog-items > li:hover > .pr-menu-catalog {
    display: block !important; position: absolute; top: calc(100% - 6px); left: 0; width: max-content; min-width: 100%; max-width: 300px;
    background: #fff; border-radius: 12px; box-shadow: 0 12px 28px rgba(0,0,0,.16); padding: 6px 0; animation: szFly .12s ease-out;
  }
  .pr-menu-catalog-wide.sz-mv-tiles > .pr-menu-catalog-inner > ul.pr-menu-catalog-items > li > .pr-menu-catalog .pr-menu-catalog-inner,
  .pr-menu-catalog-wide.sz-mv-tiles > .pr-menu-catalog-inner > ul.pr-menu-catalog-items > li > .pr-menu-catalog ul { display: block !important; padding: 0 !important; margin: 0 !important; background: none !important; column-count: auto !important; }
  .pr-menu-catalog-wide.sz-mv-tiles > .pr-menu-catalog-inner > ul.pr-menu-catalog-items > li > .pr-menu-catalog li { display: block !important; padding: 0 !important; border: 0 !important; background: none !important; }
  .pr-menu-catalog-wide.sz-mv-tiles > .pr-menu-catalog-inner > ul.pr-menu-catalog-items > li > .pr-menu-catalog li.sz-menu-all { display: none !important; }
  .pr-menu-catalog-wide.sz-mv-tiles > .pr-menu-catalog-inner > ul.pr-menu-catalog-items > li > .pr-menu-catalog li > a { display: block; padding: 7px 16px !important; font-size: 14px; font-weight: 500; color: var(--sz-ink, #2b2f3a); white-space: normal; }
  .pr-menu-catalog-wide.sz-mv-tiles > .pr-menu-catalog-inner > ul.pr-menu-catalog-items > li > .pr-menu-catalog li > a:hover { background: var(--sz-berry-soft, #fbeef2); color: var(--sz-berry, #a8244b); }
}

/* ===== ліва колонка «Категорії»: «Новинки» і «Поповнили» — першими (sort_order 1/2) і виділені, як у меню ===== */
.pr-column-categories-list-item:has(> span > a[href$="/novinki-2"]), .pr-column-categories-list-item:has(> span > a[href$="/ru/novinki"]) { background: var(--sz-berry-soft, #fbeef2); }
.pr-column-categories-list-item > span > a[href$="/novinki-2"], .pr-column-categories-list-item > span > a[href$="/ru/novinki"] { color: var(--sz-berry, #a8244b) !important; font-weight: 700 !important; }
.pr-column-categories-list-item > span > a[href$="/novinki-2"]::before, .pr-column-categories-list-item > span > a[href$="/ru/novinki"]::before { content: "★"; margin-right: 8px; }
.pr-column-categories-list-item:has(> span > a[href$="/popovnyly"]), .pr-column-categories-list-item:has(> span > a[href$="/ru/popolnili"]) { background: #e8f4ec; }
.pr-column-categories-list-item > span > a[href$="/popovnyly"], .pr-column-categories-list-item > span > a[href$="/ru/popolnili"] { color: #2f7d55 !important; font-weight: 700 !important; }
.pr-column-categories-list-item > span > a[href$="/popovnyly"]::before, .pr-column-categories-list-item > span > a[href$="/ru/popolnili"]::before { content: "↻"; margin-right: 8px; }

/* Mobile drawer: light header and readable links/dropdowns. */
@media (max-width: 991.98px) {
  #top.pr-mobile-menu { background: #fffdfa !important; color: #2b2f3a !important; }
  #top.pr-mobile-menu > .container-xl { border-bottom: 1px solid #e9e1d6; }
  #top.pr-mobile-menu > .container-xl > .d-flex { min-height: 68px; gap: 10px; }
  #top.pr-mobile-menu .pr-mobile-menu-logo { flex: 0 1 112px; min-width: 80px; }
  #top.pr-mobile-menu .pr-mobile-menu-logo img { width: 100% !important; height: auto !important; max-height: 48px; object-fit: contain; }
  #top.pr-mobile-menu .top-right { gap: 6px !important; }
  #top.pr-mobile-menu .pr-dropdown-toggle,
  #top.pr-mobile-menu .pr-dropdown-toggle > span,
  #top.pr-mobile-menu .pr-mobile-menu-content a { color: #2b2f3a !important; }
  #top.pr-mobile-menu .pr-mobile-menu-content a:hover { color: #ab204b !important; }
  #top.pr-mobile-menu .pr-mobile-menu-content-links > .pr-mobile-menu-content-links { gap: 0 !important; font-size: 16px; }
  #top.pr-mobile-menu .pr-mobile-menu-content-links a { display: block; padding: 13px 0; font-size: 16px !important; }
  #top.pr-mobile-menu .pr-mobile-menu-content-buttons > * { font-size: 13px !important; }
  #top.pr-mobile-menu .top-right-phone > .pr-dropdown-box > .pr-dropdown-toggle,
  #top.pr-mobile-menu #currency > .pr-dropdown-toggle,
  #top.pr-mobile-menu .pr-mobile-menu-close { min-width: 34px; height: 38px; justify-content: center; background: #f5f1eb !important; border: 1px solid #e9e1d6; }
  #top.pr-mobile-menu .pr-mobile-menu-close svg path { stroke: #2b2f3a; }
  
  #top.pr-mobile-menu .pr-mobile-menu-content-buttons > * { flex: 1 0 65px; padding-left: 10px !important; padding-right: 10px !important; }
}
/* Dropdowns have light surfaces, including on the desktop top bar. */
#top .pr-dropdown .content-block,
#top .pr-dropdown .content-block a,
#top .pr-dropdown .pr-dropdown-button,
#top .pr-dropdown .pr-dropdown-button span { color: #2b2f3a !important; }
#top .pr-dropdown .content-block a:hover { color: #ab204b !important; }
@media (max-width: 359.98px) {
  #top.pr-mobile-menu { width: 100vw; min-width: 0; }
  #top.pr-mobile-menu > .container-xl { min-width: 0; padding-inline: 8px; }
  #top.pr-mobile-menu > .container-xl > .d-flex { gap: 6px; }
  #top.pr-mobile-menu .pr-mobile-menu-logo { min-width: 64px; }
  #top.pr-mobile-menu .top-right { gap: 4px !important; }
  
  #top.pr-mobile-menu .top-right-phone > .pr-dropdown-box > .pr-dropdown-toggle,
  #top.pr-mobile-menu #currency > .pr-dropdown-toggle,
  #top.pr-mobile-menu .pr-mobile-menu-close { min-width: 30px; padding-inline: 6px !important; }
}

/* Keep language/contact/currency dropdowns above the drawer content. */
@media (max-width: 991.98px) {
  #top.pr-mobile-menu > .container-xl { z-index: 20 !important; }
  #top.pr-mobile-menu > .pr-mobile-menu-content { z-index: 1; }
}

@media (max-width: 991.98px) {
  
  .pr-header-box #logo { flex-shrink: 1; min-width: 74px; }
  .pr-header-box #logo img { max-width: 100%; height: auto !important; }
}

@media (max-width: 575.98px) {
  .pr-header-box { gap: 8px !important; padding-inline: 0 !important; }
  .pr-header-box .pr-header-buttons > .me-3 { margin-right: 10px !important; }
}

@media (max-width: 991.98px) {
  
  .pr-header-box .pr-header-buttons { margin-left: 0 !important; }
}

@media (max-width: 991.98px) {
  .pr-header-box .pr-header-buttons > .theme-switcher-wrapper:not(:has(> button:not([style*="display: none"]))) { display: none !important; }
}

/* №31: документи SalesDrive у блоці «Як оплатити» сторінки замовлення */
.sz-pay-docs { margin-top: 12px; display: flex; flex-direction: column; gap: 6px; }
.sz-pay-docs b { font-size: 14px; }
.sz-pay-docs a { font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
/* перемикач мови у верхній смузі шапки: випадний «UA ▾» (patch_seo_twig.py п.4, sezon.js) */
.sz-lang { position: relative; }
.sz-lang-cur { display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border: 0; border-radius: 8px; background: #fff; color: #2a2f3a; font-size: 12px; font-weight: 700; line-height: 1.4; cursor: pointer; }
.sz-lang-cur svg { transition: transform .15s; }
.sz-lang.open .sz-lang-cur svg { transform: rotate(180deg); }
.sz-lang-menu { display: none; position: absolute; right: 0; top: calc(100% + 6px); z-index: 1050; min-width: 72px; padding: 6px; border-radius: 12px; background: #fff; box-shadow: 0 10px 30px rgba(0,0,0,.18); }
.sz-lang.open .sz-lang-menu { display: block; }
#top .sz-lang-menu .sz-lang-a, .sz-lang-menu .sz-lang-a { display: flex; align-items: center; gap: 10px; padding: 8px 10px; border-radius: 8px; color: #2a2f3a !important; font-size: 14px; text-decoration: none; white-space: nowrap; }
.sz-lang-menu .sz-lang-a b { min-width: 24px; font-weight: 700; }
#top .sz-lang-menu .sz-lang-a:hover, .sz-lang-menu .sz-lang-a:hover { background: #f4efe7; color: #2a2f3a !important; }
.sz-lang-menu .sz-lang-a.on { background: #f4efe7; font-weight: 600; }
@media (max-width: 991.98px) { .sz-lang-cur { background: #efe8de; font-size: 14px; padding: 7px 12px; } }
/* «В кошик» понад залишок — повідомлення, скільки реально додано (sezon_cards.js updateCartCount) */
.sz-toast { position: fixed; left: 50%; bottom: 24px; z-index: 2000; max-width: min(520px, calc(100vw - 32px)); padding: 14px 18px; border-radius: 14px; background: #2a2f3a; color: #fff; font-size: 15px; font-weight: 600; line-height: 1.4; box-shadow: 0 12px 34px rgba(0,0,0,.25); transform: translate(-50%, 140%); opacity: 0; transition: transform .25s ease, opacity .25s ease; cursor: pointer; }
.sz-toast.on { transform: translate(-50%, 0); opacity: 1; }
@media (max-width: 991.98px) { .sz-toast { bottom: 96px; } }

/* Task34: a cart link replaces the buy control without changing the row height. */
.sz-full-stock .sz-step, .sz-full-stock .sz-add { display: none !important; }
.sz-cart-full { flex: 1; min-width: 0; height: 40px; padding: 3px 8px; border-radius: 8px; display: flex; align-items: center; justify-content: center; background: #e5ece7; color: #304e3d; font-size: 12px; font-weight: 700; line-height: 1.2; text-align: center; white-space: normal; text-decoration: none; }
.sz-cart-full:hover, .sz-cart-full:focus-visible { color: #203c2a; background: #d8e4dc; text-decoration: underline; }
.sz-pp .sz-cart-full { height: 46px; font-size: 14px; }
.pr-product-fixed-cart-btn.sz-stock-in-cart { background: #e5ece7; color: #304e3d; opacity: 1; white-space: normal; font-size: 11px; line-height: 1.2; }

/* №33 підписка «Повідомити про надходження» (стилі з restock33.js; ч/б фото — без скрипта, за кнопкою data-r33) */
.r33-dialog{border:0;border-radius:16px;padding:24px;width:calc(100% - 32px);max-width:480px;box-shadow:0 12px 50px #0005}
.r33-dialog::backdrop{background:#0007}
.r33-dialog label{display:block;margin:14px 0}
.r33-dialog input{display:block;width:100%;padding:12px;border:1px solid #aaa;border-radius:7px}
.r33-dialog .r33-viber{display:flex;align-items:center;gap:8px;margin:-6px 0 4px;font-size:13px;color:#555}
.r33-dialog .r33-viber svg{flex:none}
.r33-dialog h2{font-size:21px;margin-right:30px}
.r33-dialog .r33-close{position:absolute;right:12px;top:8px;font-size:28px;background:none;border:0}
.r33-dialog button[type=submit]{padding:12px;width:100%;background:#bd1854;color:white;border:0;border-radius:8px}
.r33-dialog [role=status]{margin-top:14px}
.sz-add[data-r33]{white-space:normal;font-size:13px;line-height:1.2;padding:9px;min-height:42px}
.r33-link{display:inline-block;margin:12px 0}
.pr-module-item:has(.sz-add[data-r33]) .pr-module-item-image img, body:has(.sz-pp .sz-add[data-r33]) .pr-product-images-main img, body:has(.sz-pp .sz-add[data-r33]) .pr-product-images-thumbs img { filter: grayscale(1); }
/* атрибути Promo під карткою з нашим блоком купівлі не показуємо (раніше ховав sezon_cards.js) */
.pr-module-item:has([data-sz]) .pr-module-attributes { display: none !important; }

/* Відгуки покупців з Prom: бейдж у шапці, сторінка «Відгуки», блок на картці товару */
.sz-rev-badge { display: inline-flex; align-items: center; gap: 4px; margin-right: 14px; font-size: 13px; color: inherit !important; text-decoration: none !important; white-space: nowrap; }
#top .sz-rev-badge, #top .sz-rev-badge b { color: #e9e4dc !important; }
#top .sz-rev-badge:hover .sz-rev-badge-n { text-decoration: underline; }
.sz-rev-badge-star { color: #f5b301 !important; font-size: 15px; line-height: 1; }
@media (max-width: 991.98px) { #top .sz-rev-badge, #top .sz-rev-badge b { color: #2b2f3a !important; } .sz-rev-badge { margin: 6px 0; } }
.sz-rev { display: grid; gap: 18px; }
.sz-rev-sum { display: grid; grid-template-columns: auto 1fr; gap: 12px 28px; align-items: center; padding: 18px 20px; border-radius: 14px; background: #fff; border: 1px solid #ece4d8; }
.sz-rev-avg { display: grid; justify-items: center; gap: 2px; }
.sz-rev-avg b { font-size: 40px; line-height: 1; font-weight: 800; }
.sz-rev-stars, .sz-rev-r { color: #f5b301; letter-spacing: 1px; }
.sz-rev-avg small { color: #6c6a73; }
.sz-rev-dist { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; font-size: 13px; }
.sz-rev-dist li { display: grid; grid-template-columns: 34px 1fr 64px; gap: 8px; align-items: center; }
.sz-rev-dist i { display: block; height: 8px; border-radius: 4px; background: #f1ece4; overflow: hidden; }
.sz-rev-dist em { display: block; height: 100%; background: #f5b301; }
.sz-rev-dist li span:last-child { text-align: right; color: #6c6a73; font-variant-numeric: tabular-nums; }
.sz-rev-src { grid-column: 1 / -1; margin: 0; font-size: 13px; color: #6c6a73; }
.sz-rev-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.sz-rev-item { display: grid; grid-template-columns: 170px 1fr; gap: 16px; padding: 16px 18px; border-radius: 14px; background: #fff; border: 1px solid #ece4d8; }
.sz-rev-meta { display: grid; gap: 3px; align-content: start; font-size: 13px; }
.sz-rev-meta time, .sz-rev-meta small { color: #6c6a73; }
.sz-rev-body { display: grid; gap: 10px; min-width: 0; }
.sz-rev-text { margin: 0; font-size: 15px; }
.sz-rev-prods { list-style: none; margin: 0; padding: 8px 12px; border-radius: 10px; background: #faf7f2; display: grid; gap: 4px; font-size: 13px; }
.sz-rev-prods a { color: #ab204b; }
.sz-rev-more { color: #6c6a73; }
.sz-rev-tags { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.sz-rev-tags li { padding: 5px 12px; border-radius: 999px; border: 1px solid #ece4d8; font-size: 13px; background: #fff; }
.sz-rev-reply { margin: 0; padding: 8px 12px; border-left: 3px solid #ab204b; background: #faf7f2; font-size: 14px; }
.sz-rev-product { margin-top: 24px; }
.sz-rev-product h3 { font-size: 18px; margin: 0; }
@media (max-width: 575.98px) { .sz-rev-item { grid-template-columns: 1fr; gap: 8px; } .sz-rev-sum { grid-template-columns: 1fr; } .sz-rev-avg { justify-items: start; } }
.sz-rev-mob { display: inline-flex; flex-direction: column; align-items: center; justify-content: center; line-height: 1.05; margin-left: 6px; padding: 3px 6px; border-radius: 8px; background: #fff7e0; color: #2b2f3a !important; text-decoration: none !important; font-size: 12px; flex: 0 0 auto; }
.sz-rev-mob .sz-rev-badge-star { font-size: 13px; }
/* сторінка «Кошик»: кількість дійшла до залишку (patch_cart_twig.py) */
.sz-cq-note { margin-top: 6px; font-size: 13px; font-weight: 600; color: #c2410c; }
.sz-cq-note[hidden] { display: none; }
.pr-quantity-button.sz-off, .pr-quantity-button.sz-off:hover, .pr-quantity-button.sz-off:focus { opacity: .4; pointer-events: none; cursor: default; }
/* кошик / оформлення: збільшене фото при наведенні на мініатюру (patch_cart_twig.py) */
.sz-zoom { display: none; }
@media (hover: hover) and (min-width: 768px) {
  .pr-sidebar-cart-product-image { position: relative; }
  .sz-zoom { display: block; position: absolute; left: calc(100% + 12px); top: 50%; z-index: 40; width: 280px; height: 280px; max-width: none; object-fit: contain; background: #fff; border-radius: 12px; box-shadow: 0 12px 34px rgba(0,0,0,.22); opacity: 0; visibility: hidden; transform: translateY(-50%) scale(.92); transform-origin: left center; transition: opacity .15s ease, transform .15s ease, visibility .15s; pointer-events: none; }
  .pr-sidebar-cart-product-image:hover .sz-zoom { opacity: 1; visibility: visible; transform: translateY(-50%) scale(1); }
}
/* сторінка «Кошик»: «+ Додати товар» біля заголовка (patch_cart_twig.py) */
.sz-cart-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.sz-cart-head h1 { margin: 0; }
.sz-cart-add { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 600; color: var(--pr-primary-color, #a8234a); text-decoration: none; white-space: nowrap; }
.sz-cart-add-i { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: 50%; background: var(--pr-primary-color, #a8234a); color: #fff; font-size: 20px; line-height: 1; font-weight: 500; transition: transform .15s ease; }
.sz-cart-add:hover { text-decoration: underline; }
.sz-cart-add:hover .sz-cart-add-i { transform: scale(1.08); }

/* №38: explicit pack total explains rounding of per-piece prices. */
.sz-pack38-note{font-size:12px;line-height:1.4;color:#586273;margin:6px 0}.sz-pack38-rounded{font-size:12px;color:#586273}
/* «Це весь залишок» у ряду лічильника, праворуч від ціни за одиницю */
.pr-sidebar-cart-product-quantity .sz-cq-note { margin: 0 0 0 14px; white-space: nowrap; }
@media (max-width: 575.98px) { .pr-sidebar-cart-product-quantity .sz-cq-note { position: absolute; right: 0; bottom: 6px; margin: 0; } }
/* живий пошук: «показано 8 з 75 · Показати всі →» і кнопка внизу (patch_livesearch_twig.py) */
.sz-ls-head { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; }
.sz-ls-shown { font-weight: 600; font-size: 14px; color: #2a2f3a; background: #fdf0d5; padding: 2px 8px; border-radius: 6px; }
.sz-ls-all { margin-left: auto; font-size: 14px; font-weight: 700; color: var(--pr-primary-color, #a8234a); text-decoration: underline; }
.sz-ls-btn { margin-left: auto; padding: 8px 16px; font-size: 14px; font-weight: 700; white-space: nowrap; }
@media (max-width: 575.98px) { .sz-ls-btn { margin-left: 0; width: 100%; } }

/* №38b: pieces label and short rule stay legible in narrow cart rows. */
.sz-piece-unit{font-size:12px;line-height:1;flex:0 0 auto;white-space:nowrap;margin-right:4px}.sz-pack38-rule{margin:8px 0 0}.sz-price-pieces{white-space:nowrap;font-size:12px}
/* кабінет «Товари з'явились» (restock33) */
.r33-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;margin-left:auto;border-radius:10px;background:var(--sz-berry);color:#fff;font-size:12px;font-weight:600;line-height:1}
.r33-h .r33-badge{margin-left:6px;vertical-align:middle}
.r33-account .r33-h{font-size:18px;margin:24px 0 12px}
.r33-account .r33-h:first-of-type{margin-top:0}
.r33-item{display:flex;align-items:center;gap:16px;padding:12px 0;border-top:1px solid #eee}
.r33-thumb img{width:72px;height:72px;object-fit:cover;border-radius:8px;display:block}
.r33-body{flex:1;min-width:0}
.r33-body p{margin:4px 0 0;font-size:13px;color:#777}
.r33-body .r33-ok{color:#2e7d4f;font-weight:600}
.r33-actions{display:flex;align-items:center;gap:12px;flex:none}
.r33-actions form{margin:0}
.r33-remove{background:none;border:0;padding:0;color:#888;font-size:13px;text-decoration:underline;cursor:pointer}
.r33-wait .r33-thumb img{filter:grayscale(1);opacity:.7}
.r33-empty{color:#777;font-size:14px}
@media (max-width:575px){.r33-item{flex-wrap:wrap}.r33-actions{width:100%;justify-content:space-between;padding-left:88px}}

/* пороги роздробу під бирками пари: коли вибрано опт — приглушені, клік перемикає на роздріб */
.sz-rladder.dim { opacity: .55; }
.sz-rladder.dim .t.on { background: rgba(255,255,255,.7); border-color: var(--sz-line); color: var(--sz-muted); } .sz-rladder.dim .t.on b { color: var(--sz-ink); } .sz-rladder.dim .t.on i { color: var(--sz-berry); }

/* ===== Єдина картка (варіант Codex №40.1, власник 21.10): усі три типи товару — один каркас однакової висоти ===== */
.sz-u .sz-mode { height: 36px; }
.sz-seg { display: grid; grid-template-columns: 1fr 1fr; gap: 3px; height: 36px; padding: 3px; background: #fff; border: 1.5px solid var(--sz-berry); border-radius: 9px; }
.sz-seg button { min-width: 0; display: flex; align-items: center; justify-content: center; gap: 5px; border: 0; border-radius: 6px; background: transparent; font: inherit; font-size: 12.5px; font-weight: 800; color: var(--sz-berry); cursor: pointer; padding: 0 4px; white-space: nowrap; overflow: hidden; }
.sz-seg button:hover:not(.on) { background: var(--sz-berry-soft); }
.sz-seg button em { font-style: normal; font-size: 10.5px; font-weight: 800; background: var(--sz-sage); color: #fff; border-radius: 10px; padding: 1px 6px; line-height: 15px; flex: none; }
.sz-seg button.on { background: var(--sz-berry); color: #fff; box-shadow: 0 2px 6px rgba(168,36,75,.35); }
.sz-seg button:focus-visible { outline: 2px solid var(--sz-berry); outline-offset: 1px; }
.sz-modelab { height: 36px; display: flex; align-items: center; justify-content: center; padding: 0 8px; background: var(--sz-kraft); border: 1px solid var(--sz-berry-soft); border-radius: 8px; color: var(--sz-berry); font-size: 12px; font-weight: 700; line-height: 1.2; text-align: center; overflow: hidden; }
.sz-price { background: var(--sz-berry-soft); border-radius: 10px; padding: 8px 11px 11px; display: grid; grid-template-rows: 40px 55px; gap: 6px; min-width: 0; }
.sz-price .line { display: flex; justify-content: space-between; align-items: center; gap: 8px; min-width: 0; }
.sz-price .line .k { font-size: 12px; font-weight: 700; line-height: 1.2; color: var(--sz-berry); min-width: 0; }
.sz-price .line .k em { font-style: normal; font-weight: 800; color: var(--sz-sage); margin-left: 4px; white-space: nowrap; }
.sz-total { margin: 0; min-height: 18px; font-size: 12px; line-height: 18px; color: var(--sz-muted); }
.sz-total b { color: var(--sz-ink); }
.sz-price .top { display: flex; justify-content: space-between; align-items: center; gap: 6px; font-size: 11px; font-weight: 700; color: var(--sz-berry); white-space: nowrap; }
.sz-price .pct { font-weight: 800; }
.sz-price .big { display: flex; align-items: baseline; gap: 4px; line-height: 40px; color: var(--sz-ink); white-space: nowrap; flex: none; }
.sz-price .num { font-size: 32px; font-weight: 800; letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.sz-price .ap { font-size: 20px; font-weight: 500; color: var(--sz-muted); }
.sz-price .cur { font-size: 13px; font-weight: 700; }
.sz-price .sub { font-size: 12px; line-height: 18px; color: var(--sz-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sz-price .sub b { color: var(--sz-ink); font-weight: 700; }
.sz-price .opts { min-width: 0; }
.sz-price .opts .t:disabled { opacity: .45; border-style: dashed; cursor: not-allowed; }
.sz-facts { display: grid; align-content: center; gap: 3px; padding: 6px 8px; background: rgba(255,255,255,.7); border: 1px solid var(--sz-line); border-radius: 6px; font-size: 12px; min-width: 0; }
.sz-facts div { display: flex; justify-content: space-between; gap: 6px; } .sz-facts span { color: var(--sz-muted); } .sz-facts b { color: var(--sz-ink); font-weight: 700; white-space: nowrap; }
.sz-facts.one { text-align: center; color: var(--sz-muted); line-height: 1.35; }
.sz-pp .sz-price .num { font-size: 38px; } .sz-pp .sz-price { grid-template-rows: 46px 55px; } .sz-pp .sz-price .big { line-height: 46px; }
@media (max-width: 575px) { .pr-module-item:not(.sz-pp) .sz-price .num { font-size: 26px; } .pr-module-item:not(.sz-pp) .sz-price { padding: 9px 9px 10px; } .sz-seg button, .sz-modelab { font-size: 11px; } }

/* рядок артикул + залишок — завжди один рядок (скорочення залишку робить fitMeta у sezon_cards.js) */
.sz-u .sz-meta { flex-wrap: nowrap; white-space: nowrap; min-width: 0; }
.sz-u .sz-meta > span:first-child { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.sz-u .sz-meta .sz-st { flex: none; }
/* final 28.10 (desktop): на сторінці товару й у швидкому перегляді код товару не обрізати - наявність іде на другий рядок */
.sz-pp .sz-u .sz-meta { flex-wrap: wrap; row-gap: 4px; }
.sz-pp .sz-u .sz-meta > span:first-child { flex: 0 0 auto; max-width: 100%; }

/* Кошики (бічний, «Кошик», оформлення) — 23.10.2026: рядок «− N + × ціна  [Це весь / залишок]  сума» в одну лінію;
   «Це весь залишок» — компактна плашка, кожне слово з нового рядка; цифри трохи менші; на телефоні сума праворуч */
.pr-sidebar-cart-product .pr-sidebar-cart-product-price-one { white-space: nowrap; font-size: 14px; }
.pr-sidebar-cart-product .pr-sidebar-cart-product-bottom .fsz-20 { font-size: 17px !important; white-space: nowrap; }
.pr-sidebar-cart-product-quantity .sz-cq-note { position: static !important; display: inline-block; width: min-content; margin: 0 0 0 8px !important;
  padding: 2px 6px; border-radius: 6px; background: #fdf1e7; border: 1px solid #f3d2b8; color: #b4441b;
  font-size: 10px; line-height: 1.15; font-weight: 700; text-align: center; white-space: normal; }
.pr-sidebar-cart-product-quantity .sz-cq-note[hidden] { display: none; }
@media (max-width: 991.98px) {
  .pr-sidebar-cart-product .pr-sidebar-cart-product-bottom { flex-direction: row !important; flex-wrap: wrap; align-items: center !important; justify-content: space-between !important; row-gap: 8px; }
  .pr-sidebar-cart-product .pr-sidebar-cart-product-bottom > span:last-child { margin: 0 0 0 auto !important; }
}
/* телефон: 1-й рядок «− N + × ціна», 2-й — плашка «Це весь залишок» ліворуч і сума праворуч (23.10) */
@media (max-width: 575.98px) {
  .pr-sidebar-cart-product .pr-sidebar-cart-product-bottom { flex-wrap: wrap !important; row-gap: 8px; }
  .pr-sidebar-cart-product .pr-sidebar-cart-product-bottom > .pr-sidebar-cart-product-quantity { display: contents !important; }
  .pr-sidebar-cart-product .pr-sidebar-cart-product-quantity > * { order: 1; }
  .pr-sidebar-cart-product .pr-sidebar-cart-product-bottom::after { content: ''; order: 2; flex-basis: 100%; height: 0; }
  .pr-sidebar-cart-product .pr-sidebar-cart-product-quantity > .sz-cq-note { order: 3; width: auto; white-space: nowrap; margin: 0 !important; }
  .pr-sidebar-cart-product .pr-sidebar-cart-product-bottom > span:last-child { order: 4; margin: 0 0 0 auto !important; }
}
/* оформлення: рядок «Кошик + Додати товар» над кошиком (окремої сторінки кошика немає, 23.10) */
.sz-co-cart-head .sz-co-cart-title { font-size: 20px; font-weight: 700; }
/* оформлення: номер товару в кошику (patch_cart_owner_2310.py, рішення власника 23.10) */
.pr-sidebar-cart-products .pr-sidebar-cart-product-image { position: relative; flex-shrink: 0; }
.sz-co-n { position: absolute; top: -7px; left: -7px; z-index: 2; min-width: 22px; height: 22px; padding: 0 6px; border-radius: 11px; background: #3c7a4f; color: #fff; font-size: 12px; font-weight: 700; line-height: 22px; text-align: center; box-shadow: 0 0 0 2px #fff; pointer-events: none; }

/* 23.10: швидкі натискання «+/−» і «В кошик» на телефоні — без зуму подвійним тапом */
.sz-step button, .sz-add, .sz-tadd, .pr-quantity-button { touch-action: manipulation; }
/* 23.10: «−/+» у картці стискалися полем до 22 px — фіксована ширина; на сенсорних екранах кнопки 40 px під палець */
.sz-step button { flex: 0 0 30px; }
@media (pointer: coarse) {
  .sz-step { flex-basis: 128px; }
  .sz-step button { flex-basis: 40px; font-size: 22px; }
  .sz-pp .sz-step { flex-basis: 140px; }
}
/* 23.10: мобільне меню ≤575 px — «✕» вилазила за правий край (рядок лого + рейтинг + телефон + мова); лишаємо «★ 5,0» без кількості відгуків */
@media (max-width: 575.98px) { .pr-mobile-menu .sz-rev-badge-n { display: none; } }
/* картка: авто-блок замість опису Prom (extension/module/sezon_autoblock, 24.10.2026) */
.sz-ab { font-size: 15px; line-height: 1.6; color: var(--pr-black-color, #222); }
.sz-ab p { margin: 0 0 12px; }
.sz-ab-facts { list-style: none; padding: 0; margin: 0 0 12px; display: grid; gap: 6px; }
.sz-ab-facts li span { color: #6b6359; }

/* ===== Codex №61 (24.10): узкие экраны и крупный шрифт ===== */
.sz-restock-head { flex-wrap: wrap; row-gap: 0; }
.sz-restock-all { white-space: normal; }
.sz-ti-f { flex-wrap: wrap; }
.sz-ti-p { white-space: normal; min-width: 0; overflow-wrap: anywhere; }
@media (max-width: 991.98px) {
  /* зона нажатия ≥40 px без изменения раскладки: невидимый ::after вокруг иконки */
  .pr-header-mobile-menu-button, .pr-header-open-mobile-search, .pr-header-open-account, #cart, .pr-dropdown-toggle, .pr-sidebar-cart-product-delete, .pr-header-search-close { position: relative; }
  .pr-header-mobile-menu-button::after, .pr-header-open-mobile-search::after, .pr-header-open-account::after, #cart::after, .pr-dropdown-toggle::after, .pr-sidebar-cart-product-delete::after, #pr-search-button::after, .pr-header-search-close::after { content: ""; position: absolute; left: 50%; top: 50%; width: 44px; height: 44px; transform: translate(-50%, -50%); }
  #cart::after { left: auto; right: -6px; transform: translateY(-50%); }
  .pr-mobile-bottom-nav-item { min-width: 44px; min-height: 44px; }
  /* cookie-баннер не закрывает нижнюю панель с «Каталогом» */
  #oct-policy.fixed-bottom { bottom: calc(80px + env(safe-area-inset-bottom, 0px)); }
  #oct-policy-btn { min-height: 40px; }
}
/* подвал: e-mail был синим (#4f5f99) на тёмном фоне — контраст ~2:1 */
/* только колонка контактов подвала — не всплывающее окно «Зворотний зв’язок» (оно тоже внутри <footer>) */
.pr-footer-item-link > a[href^="mailto:"] { color: #f3efe8 !important; }
.pr-footer-item-link > a[href^="mailto:"]:hover { color: #fff !important; text-decoration: underline; }
/* вікно «Зворотний зв’язок»: при наведенні текст був блідо-рожевим на білому */
.fixed-contact-dropdown .fixed-contact-item, .fixed-contact-dropdown .fixed-contact-item span:last-child { color: var(--sz-ink, #2b2f3a) !important; }
.fixed-contact-dropdown .fixed-contact-item:hover span:last-child { color: var(--sz-berry, #9b2348) !important; text-decoration: underline; }
/* головна, банер: рядок про доставку (замість 4 плиток «Переваги», вимкнених 25.10) */
.sz-hero-ship { margin: 14px 0 0; font-size: 14px; color: var(--sz-muted, #7b7368); }
.sz-hero-ship a { color: var(--sz-berry, #9b2348); font-weight: 600; text-decoration: underline; text-underline-offset: 2px; }
/* головна, банер: сітка посилань у порожній правій частині sz-hero-main (25.10) */
.sz-hero-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; position: relative; z-index: 1; margin-top: 8px; }
.sz-hero-links a { display: grid; gap: 2px; align-content: start; padding: 11px 14px; border-radius: 10px; background: #fff; border: 1px solid var(--sz-line, #ece6dc); text-decoration: none !important; transition: border-color .15s, box-shadow .15s, transform .15s; min-width: 0; }
.sz-hero-links a b { font-size: 14px; font-weight: 700; color: var(--sz-ink, #2b2f3a); }
.sz-hero-links a span { font-size: 12.5px; color: var(--sz-muted, #7b7368); line-height: 1.35; }
.sz-hero-links a:hover { border-color: var(--sz-berry, #9b2348); box-shadow: 0 4px 14px rgba(0,0,0,.06); transform: translateY(-1px); }
.sz-hero-links a:hover b { color: var(--sz-berry, #9b2348); }
@media (min-width: 1400px) {
  .sz-hero-main { grid-template-columns: minmax(0, 1fr) minmax(0, 360px); column-gap: 32px; }
  .sz-hero-main > * { grid-column: 1; }
  .sz-hero-main > .sz-hero-links { grid-column: 2; grid-row: 1 / span 4; align-self: center; margin-top: 0; }
}
@media (max-width: 420px) { .sz-hero-links a { padding: 10px 12px; } }
/* банер: купон на наступне замовлення поруч зі знижкою (25.10) */
.sz-hero-side li:has(.sz-hero-cpn) { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: baseline; column-gap: 10px; }
.sz-hero-side li .sz-hero-cpn { font-style: normal; font-size: 12.5px; font-weight: 700; color: var(--sz-sage, #2f7d55); white-space: nowrap; }
@media (max-width: 420px) { .sz-hero-side li:has(.sz-hero-cpn) { column-gap: 8px; } .sz-hero-side li em { text-align: right; } }
/* «Система знижок»: правило «купон і знижка не сумуються» — помітна плашка (25.10) */
.sz-rule { margin: 16px 0; padding: 14px 16px; border-radius: 10px; background: #fff4e5; border-left: 4px solid var(--sz-berry, #9b2348); font-size: 15px; line-height: 1.6; color: var(--sz-ink, #2b2f3a); }
.sz-rule { font-weight: 400 !important; } .sz-rule b { font-weight: 800; } .sz-rule > b:first-child { font-size: 16px; }
/* банер: сума не переноситься («20 000 грн» на телефоні ламався) */
.sz-hero-side li span { white-space: nowrap; }
/* «Зворотний зв'язок»: меню інфосторінок зліва — та сама біла картка, що на інших сторінках (CSS №59 обнуляє фон .content-block) */
.auth59-contact aside.pr-column .content-block { background: rgb(255, 253, 249) !important; border-radius: 12px !important; box-shadow: 0 1px 3px rgba(60,45,20,.08); }

/* ===== Підрозділи категорії — великі фото (patches/patch_subcats_2510.py, 25.10) ===== */
.sz-subcats-box { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(126px, 200px); justify-content: start; gap: 14px; overflow-x: auto; scroll-snap-type: x proximity; scrollbar-width: thin; padding-bottom: 4px; }
.sz-subcat { scroll-snap-align: start; }
.sz-subcat { display: flex; flex-direction: column; background: var(--sz-paper); border: 1px solid var(--sz-line); border-radius: 14px; overflow: hidden; color: var(--sz-ink); text-decoration: none; transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.sz-subcat-img { display: block; aspect-ratio: 1 / 1; overflow: hidden; background: var(--sz-linen); }
.sz-subcat-img img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.sz-subcat-name { flex: 1; display: flex; align-items: center; justify-content: center; padding: 10px 10px 12px; font-size: 14px; font-weight: 600; line-height: 1.25; text-align: center; }
@media (hover: hover) {
  .sz-subcat:hover { transform: translateY(-3px); border-color: var(--sz-berry-soft); box-shadow: 0 10px 24px rgba(60, 35, 30, .12); color: var(--sz-berry); }
  .sz-subcat:hover .sz-subcat-img img { transform: scale(1.05); }
}
.sz-subcat:focus-visible { outline: 2px solid var(--sz-berry); outline-offset: 2px; }
@media (max-width: 767.98px) {
  .sz-subcats-box { display: flex; gap: 10px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: 12px; scrollbar-width: none; margin: 0 -12px; padding: 0 12px 4px; }
  .sz-subcats-box::-webkit-scrollbar { display: none; }
  .sz-subcat { flex: 0 0 128px; scroll-snap-align: start; }
  .sz-subcat-name { font-size: 13px; padding: 8px 8px 10px; }
}

/* ===== Оптові пороги в картці — помітна «плашка вигоди» (25.10, власник: «опт від 5 шт погано видно») ===== */
.sz-ladder .t { background: #e8f3ec; border: 1.5px solid var(--sz-sage); border-radius: 8px; padding: 4px 8px; color: #2f5e43; align-content: center; }
.sz-ladder .t span { font-size: 13px; font-weight: 700; color: #2f5e43; }
.sz-ladder .t b { font-size: 19px; font-weight: 800; color: #1f4a33; letter-spacing: -.01em; font-variant-numeric: tabular-nums; }
.sz-ladder .t i { font-size: 12px; font-weight: 800; color: #fff; background: var(--sz-sage); border-radius: 999px; padding: 1px 7px; line-height: 1.5; }
.sz-ladder .t:hover:not(.on):not(:disabled) { background: #d9ede1; border-color: #2f5e43; }
.sz-ladder .t.on { background: var(--sz-sage); border-color: var(--sz-sage); color: #fff; }
.sz-ladder .t.on span, .sz-ladder .t.on b { color: #fff; } .sz-ladder .t.on i { background: #fff; color: var(--sz-sage); }
.sz-ladder .t:focus-visible { outline: 2px solid var(--sz-sage); outline-offset: 2px; }
/* 3+ порогів — вужчі колонки */
.sz-ladder:has(.t:nth-child(3)) .t { padding: 4px 6px; }
.sz-ladder:has(.t:nth-child(3)) .t span { font-size: 11.5px; }
.sz-ladder:has(.t:nth-child(3)) .t b { font-size: 15.5px; }
.sz-ladder:has(.t:nth-child(3)) .t i { font-size: 10.5px; padding: 0 5px; }
/* роздрібна ціна трохи тихіша, коли поруч є опт */
.sz-price:has(.sz-ladder .t) .num { font-size: 28px; }
.sz-pp .sz-price:has(.sz-ladder .t) .num { font-size: 34px; }
@media (max-width: 575px) {
  .pr-module-item:not(.sz-pp) .sz-price:has(.sz-ladder .t) .num { font-size: 24px; }
  .pr-module-item:not(.sz-pp) .sz-ladder .t b { font-size: 16px; }
}
/* один поріг — в один рядок: «від 5 шт.» … 44,32 грн  −15% */
.sz-ladder:not(:has(.t:nth-child(2))) .t { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 6px 10px; }
.sz-ladder:not(:has(.t:nth-child(2))) .t > span:first-child { font-size: 14px; }
.sz-ladder:not(:has(.t:nth-child(2))) .t .r2 { justify-content: flex-end; gap: 8px; align-items: center; }
.sz-ladder:not(:has(.t:nth-child(2))) .t b { font-size: 22px; }
.sz-ladder:not(:has(.t:nth-child(2))) .t b::after { content: ' грн'; font-size: 12px; font-weight: 700; }
@media (max-width: 575px) { .pr-module-item:not(.sz-pp) .sz-ladder:not(:has(.t:nth-child(2))) .t b { font-size: 19px; } }

/* №62 E1 (26.10): плашка лише з перемикачем Роздріб|Опт; «Кількість» над полем; рядок підсумку завжди займає місце — рожеві блоки на одному рівні */
.sz-u .sz-mode:not(:has(.sz-seg)) { display: none; }
.sz-u .sz-buy { margin-top: 20px; }
.sz-u .sz-step { position: relative; }
.sz-u .sz-step::before { content: "Кількість"; position: absolute; left: 2px; bottom: 100%; margin-bottom: 3px; font-size: 12px; line-height: 1; color: var(--sz-muted, #8a8580); white-space: nowrap; pointer-events: none; }
html[lang^="ru"] .sz-u .sz-step::before { content: "Количество"; }
.sz-u .sz-total { min-height: 2.7em; line-height: 1.35; margin-bottom: 0; }

/* 26.10: кнопка копіювання коду */
.pr-product-main-info-code { display: inline-flex; align-items: center; gap: 6px; }
.sz-copy { display: inline-flex; align-items: center; justify-content: center; width: 26px; height: 26px; padding: 0; border: 1px solid var(--sz-line, #e6dcd2); border-radius: 7px; background: var(--sz-paper, #fff); color: var(--sz-muted, #8a8580); cursor: pointer; transition: color .15s, border-color .15s, background .15s; }
.sz-copy:hover { color: var(--sz-berry, #a8234f); border-color: var(--sz-berry-soft, #e3b6c4); }
.sz-copy.ok { color: #fff; background: #2f7a4f; border-color: #2f7a4f; }
.sz-copy.err { color: #fff; background: #b3261e; border-color: #b3261e; }
.sz-copy:focus-visible { outline: 2px solid var(--sz-berry, #a8234f); outline-offset: 2px; }

/* 26.10: сторінка «Товари оптом» (information 8) */
.sz-opt { --c: var(--sz-berry, #9b2348); }
.sz-opt-lead { margin: 0 0 18px; padding: 16px 18px; border-radius: 12px; background: #eef6f0; border-left: 4px solid var(--sz-sage, #3d7a57); font-size: 16px; line-height: 1.55; }
.sz-opt-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.sz-opt-card { position: relative; display: flex; flex-direction: column; padding: 18px 18px 16px 62px; border: 1px solid var(--sz-line, #eadfd6); border-radius: 14px; background: #fff; }
.sz-opt-n { position: absolute; left: 18px; top: 16px; width: 30px; height: 30px; border-radius: 50%; background: var(--c); color: #fff; font-weight: 800; display: grid; place-items: center; font-size: 15px; }
.sz-opt-card h3 { margin: 4px 0 6px; font-size: 17px; font-weight: 800; }
.sz-opt-card p { margin: 0 0 12px; line-height: 1.55; color: var(--sz-ink, #2b2f3a); }
.sz-opt-demo { margin-top: auto; }
.sz-opt-seg { display: inline-flex; border: 1px solid var(--c); border-radius: 10px; padding: 3px; gap: 3px; font-weight: 700; font-size: 13px; }
.sz-opt-seg i { font-style: normal; padding: 5px 14px; border-radius: 7px; color: var(--c); }
.sz-opt-seg i.on { background: #fbeef2; } .sz-opt-seg em, .sz-opt-tier em { font-style: normal; margin-left: 6px; padding: 1px 7px; border-radius: 999px; background: #2f7a4f; color: #fff; font-size: 11px; }
.sz-opt-tier { display: inline-flex; align-items: center; gap: 8px; padding: 7px 12px; border: 1px solid #2f7a4f; border-radius: 10px; background: #eef6f0; font-size: 13px; } .sz-opt-tier b { font-size: 17px; }
.sz-opt-chips { display: flex; flex-wrap: wrap; gap: 6px; } .sz-opt-chips i { font-style: normal; padding: 5px 10px; border-radius: 999px; background: #fbeef2; color: var(--c); font-weight: 700; font-size: 12.5px; }
.sz-opt-list { display: grid; gap: 5px; max-width: 220px; } .sz-opt-list i { height: 9px; border-radius: 5px; background: linear-gradient(90deg, #e7ddd3 0 60%, transparent 60% 70%, #f1c9d5 70%); }
.sz-opt-foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 20px; margin-top: 16px; padding: 16px 18px; border-radius: 14px; background: #fbeef2; }
.sz-opt-min { font-size: 17px; } .sz-opt-min span { display: block; margin-top: 2px; font-size: 14px; color: var(--sz-muted, #6f6a66); }
.sz-opt-links { display: flex; flex-wrap: wrap; gap: 8px; } .sz-opt-links a { padding: 8px 14px; border-radius: 10px; background: #fff; color: var(--c); font-weight: 700; text-decoration: none; border: 1px solid #ecc6d2; } .sz-opt-links a:hover { background: var(--c); color: #fff; }
@media (max-width: 767px) { .sz-opt-grid { grid-template-columns: 1fr; } .sz-opt-card { padding-left: 58px; } }

/* 26.10: стіна категорій на головній — 11 кореневих розділів, неповний ряд по центру */
@media (min-width: 576px) {
  #catalog .pr-categories-wall-items { display: flex !important; flex-wrap: wrap; justify-content: center; }
  #catalog .pr-categories-wall-item { --n: 3; flex: 0 0 calc((100% - (var(--n) - 1) * 12px) / var(--n)) !important; max-width: calc((100% - (var(--n) - 1) * 12px) / var(--n)) !important; }
}
@media (min-width: 768px) { #catalog .pr-categories-wall-item { --n: 4; } }
@media (min-width: 1200px) { #catalog .pr-categories-wall-item { --n: 6; } }

/* 26.10: «Зворотний зв’язок» — та сама ширина і ліва колонка, що й в інших інфо-сторінках (знято max-width 1120 з customer_contact59_panel.css) */
html body #information-contact.auth59-contact { max-width: 1680px !important; margin-left: auto !important; margin-right: auto !important; }

/* 26.10: мегаменю «Плитки» — великі фото на всю ширину картки, сучасні картки (власник) */
@media (min-width: 992px) {
  .pr-menu-catalog-wide.sz-mv-tiles > .pr-menu-catalog-inner > ul.pr-menu-catalog-items { grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)) !important; gap: 16px !important; }
  .pr-menu-catalog-wide.sz-mv-tiles > .pr-menu-catalog-inner > ul.pr-menu-catalog-items > li { overflow: hidden; border-radius: 16px !important; border: 1px solid rgba(60,45,20,.08) !important; background: #fff !important; box-shadow: 0 1px 2px rgba(60,45,20,.06); transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease !important; }
  .pr-menu-catalog-wide.sz-mv-tiles > .pr-menu-catalog-inner > ul.pr-menu-catalog-items > li:hover { transform: translateY(-4px) !important; box-shadow: 0 12px 28px rgba(60,45,20,.14) !important; border-color: var(--sz-berry-soft, #e9bfcc) !important; }
  .pr-menu-catalog-wide.sz-mv-tiles > .pr-menu-catalog-inner > ul.pr-menu-catalog-items > li > a { display: flex !important; flex-direction: column; align-items: stretch !important; gap: 0 !important; padding: 0 10px 12px !important; height: 100%; font-size: 14px !important; font-weight: 700 !important; line-height: 1.3; text-align: center; }
  .pr-menu-catalog-wide.sz-mv-tiles > .pr-menu-catalog-inner > ul.pr-menu-catalog-items > li > a img { display: block; width: calc(100% + 20px) !important; max-width: none !important; margin: 0 -10px 10px; height: auto !important; aspect-ratio: 1 / 1; object-fit: cover; border-radius: 0 !important; transition: transform .35s ease; }
  .pr-menu-catalog-wide.sz-mv-tiles > .pr-menu-catalog-inner > ul.pr-menu-catalog-items > li:hover > a img { transform: scale(1.05); }
}
html body #information-contact.auth59-contact > nav { margin: 0 !important; }
html body #information-contact.auth59-contact .pr-page-title h1 { font-size: 24px !important; line-height: 1.5 !important; }
html body #information-contact.auth59-contact .auth59-contact-intro { display: none !important; }

/* 26.10: «або весь залишок» завжди з нового рядка (
 у canBuy) */
.sz-u .sz-total { white-space: pre-line; }

/* 26.10: товар уже в кошику — позначка на фото і зелена рамка картки */
.sz-incart { position: absolute; left: 10px; bottom: 10px; z-index: 4; display: inline-flex; align-items: center; gap: 5px; max-width: calc(100% - 20px); padding: 5px 10px 5px 8px; border-radius: 999px; background: #2f7a4f; color: #fff !important; font-size: 12px; font-weight: 700; line-height: 1.2; text-decoration: none !important; box-shadow: 0 2px 8px rgba(0,0,0,.18); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sz-incart:hover { background: #256641; }
.pr-module-item.sz-in-cart { box-shadow: 0 0 0 2px #2f7a4f !important; }
.pr-module-item-image > a.sz-incart, a.sz-incart { aspect-ratio: auto !important; max-height: 32px; inset: auto auto 10px 10px !important; top: auto !important; right: auto !important; width: auto !important; height: auto !important; min-height: 0 !important; margin: 0 !important; display: inline-flex !important; }

/* 26.10: сторінка товару — «У кошику» рядком угорі блоку покупки, не поверх фото */
a.sz-incart.sz-incart-pp { position: static !important; display: flex !important; width: max-content !important; max-width: 100%; margin: 0 0 10px !important; box-shadow: none; }

/* 26.10: видалення з кошика — миттєвий відгук */
.pr-sidebar-cart-product { transition: opacity .2s ease, max-height .3s ease .1s, padding .3s ease .1s, margin .3s ease .1s; }
.pr-sidebar-cart-product.sz-removing { opacity: .25; pointer-events: none; overflow: hidden; max-height: 0 !important; padding-top: 0 !important; padding-bottom: 0 !important; margin-top: 0 !important; margin-bottom: 0 !important; }

/* 26.10: бічний кошик — нижній блок (купон + «Оформити замовлення») закріплений унизу панелі, товари прокручуються під ним */
.pr-sidebar-cart-content > .pr-sidebar-cart-footer { position: sticky; bottom: calc(-1 * var(--szcf-pad, 24px)); z-index: 3; margin-bottom: calc(-1 * var(--szcf-pad, 24px)); padding: 12px 0 var(--szcf-pad, 24px); background: var(--sz-paper, #fffdf9); box-shadow: 0 -10px 16px -10px rgba(60,45,20,.22); }
@media (max-width: 991px) { .pr-sidebar-cart-content { --szcf-pad: 16px; } }

/* 26.10: підрозділ, у якому є ще розділи — «стопка» карток і підпис «▸ N підрозділів» */
.sz-subcats-box { padding-bottom: 8px; }
.sz-subcat.sz-subcat-has { box-shadow: 4px 4px 0 -1px var(--sz-paper, #fffdf9), 4px 4px 0 0 var(--sz-line, #e6dcd2), 8px 8px 0 -2px var(--sz-paper, #fffdf9), 8px 8px 0 -1px var(--sz-line, #e6dcd2); }
.sz-subcat-name { flex-direction: column; gap: 3px; }
.sz-subcat-more { display: block; font-size: 12px; font-weight: 600; color: var(--sz-berry, #a8244b); }
.sz-subcat-more::before { content: "▸ "; }

/* 26.10: адресна книга — підказка замість кнопки «Новий адрес» */
.sz-addr-note { font-size: 14px; line-height: 1.5; color: var(--sz-muted, #6f6a66); }

/* QA 26.10: планшет 768–991 — логотип не з'їдає шапку (пошук був «Знайдіть сво»), повертаємо іконку кабінету */
@media (min-width: 768px) and (max-width: 991.98px) {
  .pr-header-box #logo { flex: 0 1 210px; max-width: 210px; }
  .pr-header-box .pr-header-open-account { display: inline-flex !important; }
}
/* QA 26.10: плаваюча кнопка зв'язку налазила на «Оформити замовлення» / «Надіслати повідомлення»; на телефоні — нижня панель на «Оформити» */
body:has(#checkout-checkout) #fixed_contact_button, body:has(#information-contact) #fixed_contact_button { display: none !important; }
@media (max-width: 991.98px) { body:has(#checkout-checkout) .pr-mobile-bottom-nav { display: none !important; } }
/* QA 26.10: кількість у закріпленій панелі картки на телефоні («2 уп. · 302,10 грн») */
.pr-product-fixed-btns .sz-fx-q { font-size: 12px; font-weight: 500; color: #6b6f7a; }
/* QA 26.10: підтвердження номера кодом SMS на оформленні (dozakaz.js otp) */
.sz-otp { background: #fff7e0; border: 1px solid #f0dca8; border-radius: 12px; padding: 14px 16px; }
.sz-otp p { margin: 0 0 10px; font-size: 14px; line-height: 1.45; }
.sz-otp .sz-otp-row { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.sz-otp .sz-otp-code { width: 140px; font-size: 16px; letter-spacing: 3px; text-align: center; }
.sz-otp .sz-otp-ok { border: 1px solid var(--sz-berry, #a8204a); color: var(--sz-berry, #a8204a); background: #fff; }
.sz-otp .sz-otp-msg { margin: 8px 0 0; font-size: 13px; color: #6b4e00; }
.sz-otp .sz-otp-msg:empty { display: none; }

/* 27.10: телефон — 44-px зони натискання іконок шапки перекривались (іконки за ~28 px одна від одної): тап по «людині» відкривав кошик.
   Ширина зони = відстань між іконками (28 px), висота лишається 44 px; зона кошика — по центру, не зсунута ліворуч */
@media (max-width: 767.98px) {
  .pr-header-open-mobile-search::after, #pr-search-button::after, .pr-header-open-account::after, #cart::after { width: 28px; }
  #cart::after { left: 50%; right: auto; transform: translate(-50%, -50%); }
}

/* 27.10: у роздробу з парою-оптом — кнопка «Дешевше упаковкою: 5 рулонів −13% →» замість «Це вже оптова ціна» */
.sz-facts.sz-same-o { width: 100%; cursor: pointer; color: var(--sz-berry, #a3214a); font-weight: 600; font-family: inherit; }
.sz-facts.sz-same-o:hover { border-color: currentColor; background: #fff; }
/* 27.10: оформлення — підказка під незаповненим полем (smartcheckout.twig, patch_ux_2710.py) */
.sz-field-err { color: #b3261e; font-size: 12.5px; line-height: 1.35; margin: 4px 2px 0; }

/* ===== 27.10 UX (власник) ===== */
/* нижнє меню телефона: підписи під іконками + «Кошик» (header.twig, patch_ux_2710.py) */
@media (max-width: 991.98px) {
  .pr-mobile-bottom-nav { gap: 2px !important; }
  .pr-mobile-bottom-nav .pr-mobile-bottom-nav-item { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; width: auto; height: auto; min-width: 50px; min-height: 48px; padding: 5px 5px 4px; border-radius: 12px; flex: 1 1 0; }
  .pr-mobile-bottom-nav .pr-mobile-bottom-nav-item svg { flex: none; }
  .sz-bn-l { font-size: 10px; line-height: 1.1; font-weight: 600; color: var(--sz-ink); white-space: nowrap; }
  .pr-mobile-bottom-nav-item-badge.pr-header-buttons-item-count-cart { font-size: .5rem; }
  #oct-policy.fixed-bottom { bottom: calc(90px + env(safe-area-inset-bottom, 0px)); }
}
/* банер cookies на телефоні — тонка смуга: текст і «OK» в один ряд */
@media (max-width: 767.98px) {
  #oct-policy.fixed-bottom { padding: 0 !important; }
  #oct-policy .content-block { flex-direction: row !important; align-items: center !important; gap: 10px; padding: 8px 10px 8px 14px !important; margin: 0 8px !important; }
  #oct-policy .oct-policy-text { font-size: 12px !important; line-height: 1.35; margin: 0 !important; }
  #oct-policy-btn { flex: none; min-height: 34px; padding: 4px 16px !important; }
}
/* живий пошук: порожній блок підказок search36 давав порожню смугу над «Категорії» */
.pr-livesearch .search36-ui:not(:has(*)) { display: none; }
/* порожній бічний кошик — посилання на новинки */
.sz-empty-new { color: var(--sz-berry); text-decoration: underline; text-underline-offset: 3px; }
/* сторінка товару: блок Promo «Код / рейтинг» тепер порожній (код — у рядку з наявністю) — без порожньої смуги між лініями */
.pr-product-main-info .d-flex.pb-4.border-bottom:not(:has(*)) { display: none !important; }
/* 27.10: оформлення — «Вже купували в нас? Увійти за номером телефону» одним рядком з переносом (flex розносив текст і посилання в дві колонки) */
#checkout-checkout span.d-flex.grey-text:has(> a[href*="account/login"]) { display: block !important; }

/* ===== 27.10 мобільний UX-прохід (Claude, patch_mob_2710.py) ===== */
@media (max-width: 991.98px) {
  /* шапка: іконки — зона дотику 40×40 (було 16–19 px); телефон є в нижньому меню «Зв’язок» — у шапці прибрано */
  .pr-header .pr-header-box { gap: 2px; }
  .pr-header .pr-header-mobile-menu-button { min-width: 40px; min-height: 40px; justify-content: center; margin-left: -8px; }
  .pr-header .pr-header-buttons > .pr-dropdown-box-phones { display: none !important; }
  .pr-header .pr-header-buttons .pr-header-open-mobile-search,
  .pr-header .pr-header-buttons .pr-header-open-account,
  .pr-header .pr-header-buttons .pr-header-buttons-item-cart { min-width: 40px; min-height: 40px; margin: 0 !important; display: inline-flex !important; align-items: center; justify-content: center; }
  .pr-header .pr-header-buttons { margin-right: -8px; }
  /* при прокрутці вниз ховається рядок з логотипом, стрічка знижок лишається вгорі (sezon.js szHdr) */
  header.pr-header.sticky-top { transition: top .2s ease; }
  body.sz-hdr-up header.pr-header.sticky-top { top: var(--sz-hdr-row, -79px); }
  /* стрічка: поки кошик порожній, текстовий рядок дублює лінійку — ховаємо */
  #szTape.sz-empty .sz-txt { display: none; }
  /* дрібний текст: підписи нижнього меню 10 → 11 px */
  .sz-bn-l { font-size: 11px; }
  /* сторінка товару: коли з'явилась панель «Ціна · В кошик», нижнє меню ховається (не налазить на неї) */
  .pr-mobile-bottom-nav.is-lifted { opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .2s ease, visibility 0s linear .2s; }
  body.body-product .fixed_contact_button { display: none !important; }
  /* товар: назва над фото (sezon.js переносить .pr-page-title), остання крихта = назва — не дублюємо */
  .sz-h1-top { border: 0 !important; padding: 0 0 10px !important; }
  .sz-h1-top h1 { font-size: 20px; line-height: 1.3; margin: 0; }
  #product-product .pr-breadcrumb-item:last-child { display: none; }
  /* оформлення: підсумок одразу під товарами (sezon.js szCoSum) */
  .sz-co-sum { order: 1; padding: 14px 16px !important; }
  .sz-co-sum .sz-co-row { display: flex; justify-content: space-between; gap: 12px; font-size: 15px; padding: 3px 0; }
  .sz-co-sum .sz-co-row b { white-space: nowrap; }
  .sz-co-sum .sz-co-row.sz-co-final { font-size: 17px; font-weight: 700; border-top: 1px dashed rgba(0,0,0,.15); margin-top: 4px; padding-top: 8px; }
  .sz-co-sum .sz-co-next { font-size: 13px; color: var(--sz-berry); margin: 6px 0 0; }
  .sz-co-sum .sz-co-next:empty { display: none; }
}
@media (max-width: 767.98px) {
  /* головна: перший екран — заголовок і одразу розділи; плитки «Доставка/Оплата…» і таблиця знижок — після каталогу (sezon.js szHome) */
  .sz-hero-main { padding: 0 !important; border: 0 !important; box-shadow: none !important; background: none !important; }
  .sz-hero-main h1 { font-size: 26px; }
  .sz-home-more { margin-top: 1.5rem; }
  .sz-home-more .sz-hero-links { margin-bottom: 1rem; }
  /* пошук: категорія і галочки — за кнопкою «Уточнити пошук» */
  .pr-product-search .ds-product-search-form:not(.sz-open) select,
  .pr-product-search .ds-product-search-form:not(.sz-open) .form-checkbox-group { display: none !important; }
  .pr-product-search .ds-product-search-form:not(.sz-open) #button-search { display: none; }
  .pr-product-search .ds-product-search-form .form-group { gap: 8px; }
  .sz-search-more { background: none; border: 0; padding: 8px 0 0; color: var(--sz-berry); font-weight: 600; font-size: 14px; text-decoration: underline; text-underline-offset: 3px; }
  .pr-product-search .ds-product-search-form.sz-open .sz-search-more { display: none; }
  .pr-product-search .pr-page-title h1 { font-size: 20px; }
}

/* 27.10 (Claude): кабінет — посилання модулів після заголовка («Ключі доступу» №63, «Повідомити про надходження» №33)
   стояли в одному рядку з h1 різними шрифтами. Заголовок — окремим рядком, посилання — під ним акуратними «таблетками». */
.pr-account .pr-page-title:has(> h1 + p) { flex-wrap: wrap; row-gap: 12px; }
.pr-account .pr-page-title:has(> h1 + p) > h1 { flex: 1 1 calc(100% - 40px); margin: 0; }
.pr-account .pr-page-title > h1 ~ p { margin: 0 !important; padding: 0 !important; align-self: center; line-height: 1; }
.pr-account .pr-page-title > svg ~ h1 + p { margin-left: 34px; }
.pr-account .pr-page-title > h1 ~ p > a { margin: 0 !important; display: inline-flex; align-items: center; gap: 7px; padding: 7px 14px; border: 1px solid #e2d8ca; border-radius: 999px;
  background: #fff; color: var(--sz-berry, #a8244b); font-size: 13px; font-weight: 600; line-height: 1.25; text-decoration: none; transition: background .15s, border-color .15s; }
.pr-account .pr-page-title > h1 ~ p > a:hover { border-color: var(--sz-berry, #a8244b); background: #f7e4e9; }
.pr-account .pr-page-title > h1 ~ p.pk63-account-link > a::before { content: '🔑'; font-size: 13px; }
.pr-account .pr-page-title > h1 ~ p > a.r33-link::before { content: '🔔'; font-size: 13px; }
@media (max-width: 575px) { .pr-account .pr-page-title > svg ~ h1 + p { margin-left: 0; } .pr-account .pr-page-title > h1 ~ p > a { padding: 6px 12px; } }

/* ===== 27.10 (v3): вид «Прайс-лист» = оптовий бланк (кнопка #price-view Promo, клас .product-price на картках).
   Розмітка картки та сама — рядок через display:contents; КОЖЕН елемент має явне місце (grid-column/row), бо .sz-mode буває прихований
   і авто-розкладка зсувала колонки. ПК: фото | назва+код+фасування | ціна і знижки в ряд | кількість+кнопка | сума. Логіка — sezon_cards.js */
.sz-bl-head, .sz-bl-foot { display: none; }
.product-price .pr-module-item-stickers-box, .product-price .pr-module-item-buttons, .product-price .pr-module-item-info, .product-price .sz-img2, .product-price .sz-dots,
.product-price .sz-buy .sz-tone, .product-price .pr-module-item-image .sz-incart, .product-price .sz-step::before { display: none !important; }
.product-price .pr-module-item-top { margin: 0 !important; width: var(--bl-ph, 64px); }
.product-price .pr-module-item-image, .product-price .pr-module-item-image a { margin: 0 !important; width: var(--bl-ph, 64px); height: var(--bl-ph, 64px); }
.product-price .pr-module-item-image img { width: var(--bl-ph, 64px) !important; height: var(--bl-ph, 64px) !important; object-fit: cover; border-radius: 10px; background: #f6f2ec; }
.product-price .pr-module-item-title { margin: 0 !important; }
.sz-bl-foot { position: sticky; bottom: 12px; z-index: 6; margin: 10px 84px 0 0; padding: 10px 16px; border-radius: 12px; background: #2a2f3a; color: #fff; align-items: center; gap: 14px; font-size: 14px; box-shadow: 0 8px 24px rgba(0,0,0,.18); }
.sz-bl-foot b { font-weight: 800; }
.sz-bl-foot a { margin-left: auto; background: var(--sz-berry); color: #fff !important; padding: 8px 16px; border-radius: 8px; font-weight: 700; text-decoration: none; white-space: nowrap; }
.pr-category-products:has(.product-price) .sz-bl-foot.on { display: flex; }
@media (min-width: 1200px) {
  .pr-category-products:has(.product-price) .pr-module-items { gap: 0 !important; background: #fff; border: 1px solid var(--sz-line); border-top: 0; border-radius: 0 0 12px 12px; overflow: clip; }
  .pr-module-item.product-price, .sz-bl-head { --bl-ph: 120px; grid-template-columns: 120px minmax(220px, 1fr) minmax(260px, 330px) 226px 112px; column-gap: 20px; padding: 14px 20px !important; }
  .pr-module-item.product-price { display: grid !important; grid-template-rows: auto auto 1fr; row-gap: 8px; align-items: start; width: 100% !important; max-width: 100% !important; flex: 0 0 100% !important;
    border-radius: 0 !important; border: 0 !important; border-bottom: 1px solid var(--sz-line) !important; box-shadow: none !important; margin: 0 !important; background: #fff; }
  .pr-module-item.product-price:last-child { border-bottom: 0 !important; }
  .pr-module-item.product-price:hover { background: #fffaf3; }
  .pr-module-item.product-price.sz-in-cart { background: #eef7f1; box-shadow: inset 4px 0 0 #2f7a4f !important; }
  .product-price .pr-module-item-bottom, .product-price .pr-module-item-price-box, .product-price .sz-card { display: contents !important; }
  .product-price .pr-module-item-top { grid-column: 1; grid-row: 1 / span 3; align-self: center; }
  .product-price .pr-module-item-title { grid-column: 2; grid-row: 1; font-size: 15.5px !important; line-height: 1.3 !important; }
  .product-price .sz-meta { grid-column: 2; grid-row: 2; margin: 0 !important; display: flex; flex-wrap: wrap; gap: 2px 14px; font-size: 13px; color: var(--sz-muted); }
  .product-price .sz-mode { grid-column: 2; grid-row: 3; margin: 0 !important; align-self: start; max-width: 360px; }
  .product-price .sz-mode .sz-seg { height: 36px; }
  .product-price .sz-mode .sz-seg button { padding: 4px 8px; font-size: 13px; }
  .product-price .sz-modelab { font-size: 13px; line-height: 1.3; }
  .product-price .sz-price { grid-column: 3; grid-row: 1 / span 3; align-self: center; margin: 0 !important; padding: 10px 12px !important; display: flex !important; flex-direction: column; gap: 8px; }
  .product-price .sz-price .line { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; min-height: 0 !important; }
  .product-price .sz-price .k { font-size: 12.5px; }
  .product-price .sz-price .line .big .num { font-size: 24px; }
  .product-price .sz-price .opts { display: flex !important; flex-wrap: nowrap; gap: 6px; }
  .product-price .sz-price .opts .t { flex: 1 1 0; min-width: 0; padding: 4px 8px; }
  .product-price .sz-price .opts .t span { font-size: 12px; }
  .product-price .sz-price .opts .t b { font-size: 17px; }
  .product-price .sz-price .sz-facts { font-size: 12.5px; padding: 6px 8px; }
  /* роздріб↔опт без стрибків: «Упаковка / Ціна упаковки» в один рядок, висота сходинок і суми однакова в обох режимах */
  .product-price .sz-price .opts { min-height: 54px; align-items: stretch; }
  .product-price .sz-meta { min-height: 18px; flex-wrap: nowrap !important; overflow: hidden; }   /* повний текст наявності на мить до скорочення (fitMeta) — без переносу */
  .product-price .sz-meta > span { white-space: nowrap; } .product-price .sz-meta .sz-st { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
  .product-price:has(.sz-seg) .pr-module-item-title { min-height: 3.9em; }   /* назва змінюється при перемиканні (роздріб↔опт) — місце під 3 рядки */
  .product-price .sz-price .opts > .sz-facts:not(.one) { flex: 1 1 auto; display: flex; flex-wrap: wrap; align-items: center; gap: 2px 14px; }
  .product-price .sz-price .opts > .sz-facts:not(.one) div { gap: 5px; }
  .product-price .sz-total { min-height: 54px; display: flex; flex-direction: column; justify-content: center; align-items: flex-end; }
  .product-price .sz-buy { grid-column: 4; grid-row: 1 / span 3; align-self: center; margin: 0 !important; display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
  .product-price .sz-buy .sz-step { flex: 0 0 104px; }
  .product-price .sz-buy .sz-add { flex: 1 1 0; min-width: 0; min-height: 40px; font-size: 14px; padding: 0 8px; }
  .product-price .sz-buy .sz-cart-full { flex-basis: 100%; font-size: 12px; }
  .product-price .sz-total { grid-column: 5; grid-row: 1 / span 3; align-self: center; margin: 0 !important; font-size: 13px; line-height: 1.35; text-align: right; white-space: pre-line; }
  .product-price .sz-total b { display: block; font-size: 16px; color: var(--sz-ink); }
  .sz-bl-head { position: sticky; top: var(--sz-bl-top, 150px); z-index: 5; margin-top: 4px; padding-top: 10px !important; padding-bottom: 10px !important; background: #f3ece1; border: 1px solid var(--sz-line); border-radius: 12px 12px 0 0;
    font-size: 12.5px; font-weight: 700; color: #5b5348; text-transform: uppercase; letter-spacing: .03em; }
  .sz-bl-head span:last-child { text-align: right; }
  .pr-category-products:has(.product-price) .sz-bl-head { display: grid; }
}
/* вузький ПК (1200–1399): менше фото, «Сума» переїжджає під кнопку — 4 колонки, щоб усе влізло поруч із бічною колонкою */
@media (min-width: 1200px) and (max-width: 1399.98px) {
  .pr-module-item.product-price, .sz-bl-head { --bl-ph: 88px; grid-template-columns: 88px minmax(170px, 1fr) minmax(220px, 270px) 206px; column-gap: 14px; padding: 12px 14px !important; }
  .sz-bl-head span:last-child { display: none; }
  .product-price .pr-module-item-title { font-size: 14.5px !important; }
  .product-price .sz-mode .sz-seg button { padding: 4px 5px; font-size: 12px; }
  .product-price .sz-price .sz-facts { white-space: normal; text-align: left; }
  .product-price .sz-buy { grid-column: 4; grid-row: 1 / span 2; align-self: end; }
  .product-price .sz-buy .sz-step { flex-basis: 96px; }
  .product-price .sz-total { grid-column: 4; grid-row: 3; align-self: start; text-align: left; }
  .product-price .sz-total b { display: inline; font-size: 14px; }
}
/* телефон/планшет: фото + назва/код, під ними фасування, ціна і покупка на всю ширину */
@media (max-width: 1199.98px) {
  .pr-module-item.product-price { --bl-ph: 84px; display: grid !important; grid-template-columns: 84px 1fr; column-gap: 12px; row-gap: 8px; width: 100% !important; max-width: 100% !important; flex: 0 0 100% !important; padding: 10px !important; }
  .product-price .pr-module-item-top { grid-row: 1 / span 2; }
  .product-price .pr-module-item-bottom { display: contents !important; }
  .product-price .pr-module-item-title { font-size: 14px !important; }
  .product-price .pr-module-item-price-box { grid-column: 1 / -1; margin: 0 !important; }
  .sz-bl-foot { font-size: 13px; margin-right: 0; bottom: calc(84px + env(safe-area-inset-bottom, 0px)); }
  /* компактна картка телефона (190 px фото на всю ширину) тут не діє — квадратне фото 84 px */
  .pr-category-products .product-price .pr-module-item-top { margin: 0 !important; width: 84px !important; }
  .pr-category-products .product-price .pr-module-item-image, .pr-category-products .product-price .pr-module-item-image a { width: 84px !important; height: 84px !important; }
  .pr-category-products .product-price .pr-module-item-image img { width: 84px !important; height: 84px !important; }
  .pr-category-products .product-price .pr-module-item-bottom { margin-top: 0 !important; }
}

/* 27.10: перемикач мови в мобільній шапці (sezon.js); щоб усе влізло — менші проміжки між іконками */
.sz-lang-m { display: inline-flex; flex: 0 0 auto; align-items: center; margin-right: 10px; padding: 2px; border: 1px solid #e9e1d6; border-radius: 8px; background: #f5f1eb; }
.sz-lang-m .sz-lang-a { padding: 2px 5px; border-radius: 6px; color: #6b6458 !important; font-size: 11.5px; line-height: 1.3; text-decoration: none; }
.sz-lang-m .sz-lang-a b { font-weight: 700; }
.sz-lang-m .sz-lang-a.on { background: #fff; color: #ab204b !important; box-shadow: 0 1px 2px rgba(0,0,0,.08); }
@media (max-width: 991.98px) {
  .pr-header-buttons .theme-switcher-wrapper:has(~ .sz-lang-m) { display: none !important; }
  .sz-lang-m ~ .pr-header-open-mobile-search.me-3, .sz-lang-m ~ .pr-header-open-account.me-3 { margin-right: 10px !important; }
}
@media (max-width: 374.98px) {
  .sz-lang-m { margin-right: 6px; } .sz-lang-m .sz-lang-a { padding: 2px 3px; font-size: 11px; }
  .sz-lang-m ~ .pr-header-open-mobile-search.me-3, .sz-lang-m ~ .pr-header-open-account.me-3 { margin-right: 7px !important; }
}
@media (max-width: 399.98px) {
  .pr-header-buttons:has(.sz-lang-m) .pr-header-buttons-item-cart { padding-left: 4px !important; padding-right: 4px !important; width: 32px !important; min-width: 32px !important; }
  .sz-lang-m ~ .pr-header-open-mobile-search.me-3, .sz-lang-m ~ .pr-header-open-account.me-3 { width: 32px !important; min-width: 32px !important; margin-right: 4px !important; }
  .sz-lang-m { margin-right: 4px; }
  .pr-header-mobile-menu-button:has(~ .pr-header-buttons .sz-lang-m) { padding-left: 8px !important; padding-right: 8px !important; }
}
@media (max-width: 349.98px) { .sz-rev-mob:has(~ .pr-header-buttons .sz-lang-m) { display: none !important; } }

/* ===== 27.10: компактна картка в каталозі на телефоні (обрано варіант 1 з тесту ?szv): фото 190 px, щільніші відступи і сходинки опту ===== */
@media (max-width: 575.98px) {
  .pr-category-products .pr-module-item { padding: 8px !important; }
  .pr-category-products .pr-module-item-top { margin: -8px -8px 0 !important; width: calc(100% + 16px) !important; max-width: none !important; }
  .pr-category-products .pr-module-item-image { height: 190px; margin-bottom: 0 !important; overflow: hidden; }
  .pr-category-products .pr-module-item-image a { width: 100%; height: 190px; }
  .pr-category-products .pr-module-item-image img { width: 100% !important; height: 190px !important; object-fit: cover; }
  .pr-category-products .pr-module-item-bottom { margin-top: 8px !important; gap: 6px !important; }
  .pr-category-products .sz-card { gap: 6px !important; }
  .pr-category-products .sz-price { padding: 6px 8px !important; gap: 5px !important; grid-template-rows: auto auto !important; }
  .pr-category-products .sz-seg { height: 40px; }
  .pr-category-products .sz-price .num { font-size: 21px !important; }
  .pr-category-products .sz-price .line { min-height: 0 !important; }
  .pr-category-products .sz-price .line .big { line-height: 1.1; }
  .pr-category-products .sz-ladder .t { padding: 3px 7px !important; gap: 0 !important; line-height: 1.2; }
  .pr-category-products .sz-ladder .t * { line-height: 1.2 !important; }
  .pr-category-products .sz-ladder .t > span:first-child { font-size: 11.5px !important; }
  .pr-category-products .sz-ladder .t b { font-size: 14px !important; }
  .pr-category-products .sz-ladder .t i { font-size: 10.5px !important; padding: 1px 6px !important; }
  .pr-category-products .sz-buy { margin-top: 2px !important; }
  .pr-category-products .sz-ladder .t { min-height: 34px; }
  .pr-category-products .sz-step button { min-width: 36px; }
  .pr-category-products .sz-step::before { display: none !important; }
  .pr-category-products .sz-total { font-size: 11px !important; margin: 0 !important; }
}

/* ===== 27.10: фільтр «Колір» над товарами розділу (розмітка — patch_ux_2710.py, div.sz-colors) ===== */
.sz-colors { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 0 0 14px; }
.sz-colors-l { margin-right: 4px; font-size: 13px; font-weight: 700; color: #5b5348; }
.sz-colors .sz-color { display: inline-flex; align-items: center; gap: 6px; height: 32px; padding: 0 10px 0 7px; border: 1px solid #e3d9cb; border-radius: 999px; background: #fffdfa; color: #2b2f3a !important; font-size: 13px; font-weight: 500; line-height: 1; text-decoration: none; white-space: nowrap; transition: border-color .15s, background .15s; }
.sz-colors .sz-color:hover { border-color: #ab204b; background: #fff; }
.sz-colors .sz-color i { flex: none; width: 16px; height: 16px; border-radius: 50%; box-shadow: inset 0 0 0 1px rgba(0,0,0,.15); }
.sz-colors .sz-color small { font-size: 11px; color: #8a8174; }
.sz-colors .sz-color.on { border-color: #ab204b; background: #fbeef2; color: #ab204b !important; font-weight: 700; }
.sz-colors .sz-color.on small { color: #ab204b; }
.sz-colors .sz-color-reset { padding: 0 12px; border-style: dashed; color: #6b6458 !important; }
.sz-colors-l { order: -2; } .sz-colors .sz-color-reset { order: -1; }   /* «Усі кольори» — завжди першим одразу після підпису */
@media (max-width: 767.98px) {
  /* телефон: одна стрічка з прокруткою вбік, щоб фільтр не з'їдав пів екрана */
  .sz-colors { flex-wrap: nowrap; overflow-x: auto; margin: 0 -12px 12px; padding: 2px 12px 6px; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
  .sz-colors::-webkit-scrollbar { display: none; }
  .sz-colors-l, .sz-colors .sz-color { flex: none; }
  .sz-colors .sz-color { height: 34px; }
}

/* ===== 27.10: картки в каталозі на телефоні не зливаються — рамка, помітна тінь, більший проміжок ===== */
@media (max-width: 575.98px) {
  .pr-category-products .pr-module-items { gap: 14px !important; }
  .pr-category-products .pr-module-item { border: 1px solid #e3d9cb !important; border-radius: 14px !important; box-shadow: 0 1px 2px rgba(60,40,20,.06), 0 6px 16px rgba(60,40,20,.09) !important; background: #fffdfa; overflow: hidden; }
  .pr-category-products .pr-module-item-top { border-radius: 13px 13px 0 0; overflow: hidden; }
}

/* 27.10: фільтр «Колір» без перезавантаження (sezon.js) — поки вантажиться, товари тьмяніють */
.pr-category-products { transition: opacity .15s; }
.pr-category-products.sz-loading { opacity: .4; pointer-events: none; }

/* 27.10: обране — опт закінчився, пропозиція роздробу (controller account/wishlist, .sz-wl-ret) */
.sz-wl-ret { margin-top: 8px; padding: 8px 10px; border-radius: 10px; background: #fbeef2; border: 1px solid #f0d3dc; font-size: 13px; line-height: 1.4; color: #2b2f3a; }
.sz-wl-ret > div { font-weight: 700; color: #ab204b; margin-bottom: 2px; }
.sz-wl-ret a { color: #2b2f3a; text-decoration: underline; }
.sz-wl-ret .sz-wl-ret-btn { display: flex; margin-top: 8px; min-height: 38px; font-size: 13px; }

/* 27.10 (Claude): кабінет — перевізник кольором (адреси, отримувачі), заповнені поля «Мої дані» темним текстом */
.sz-addr{display:flex;flex-direction:column;gap:3px;color:#2b2723}
.sz-car{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;line-height:1;padding:6px 10px;border-radius:999px;margin-bottom:6px;letter-spacing:.01em}
.sz-car:before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor;opacity:.85}
.sz-car-np{background:#fdecea;color:#c8102e;box-shadow:inset 0 0 0 1px #f5c2bd}
.sz-car-up{background:#fff6cc;color:#5a4500;box-shadow:inset 0 0 0 1px #f0d75a}
.sz-car-up:before{background:#f5c400;opacity:1}
.sz-addr-place{font-weight:600;font-size:15px}
.sz-addr-city{font-size:14px;color:#4a4540}
.sz-addr-person{font-size:13px;color:#7b7368;margin-top:2px}
.sz-r32-h{font-size:18px;font-weight:700;margin:18px 0 0}
.sz-r32-item{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.sz-r32-del{border:0;background:none;color:#a3123a;font-size:14px;padding:0;cursor:pointer;white-space:nowrap}
.sz-r32-del:hover{text-decoration:underline}
.pr-account-page .form-floating>.form-control,.pr-account-page .form-floating>.form-select{color:#2b2723;font-weight:500;font-size:15px}
.pr-account-page .form-floating>.form-control:placeholder-shown{font-weight:400}

/* 27.10 (Claude): замовлення з Prom у кабінеті (sezon/prom_orders.twig) */
.sz-ph{margin-top:22px}
.sz-ph-sum{display:flex;align-items:center;gap:16px;padding:16px 18px;border-radius:12px;background:#fbeef2;border:1px solid #f0d3dc}
.sz-ph-num{font-size:30px;font-weight:800;color:#a3123a;line-height:1}
.sz-ph-t{font-weight:700;color:#2b2723}
.sz-ph-s{font-size:13px;color:#6b635a;margin-top:2px}
.sz-ph-more{margin-left:auto;font-weight:600;color:#a3123a;white-space:nowrap}
.sz-ph-h{font-size:18px;font-weight:700;margin:22px 0 10px}
.sz-ph-o{border:1px solid #e2d8ca;border-radius:12px;background:#fffdf9;margin-top:10px;overflow:hidden}
.sz-ph-o>summary{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;padding:14px 18px;cursor:pointer;list-style:none}
.sz-ph-o>summary::-webkit-details-marker{display:none}
.sz-ph-o>summary:after{content:"▾";margin-left:6px;color:#7b7368;transition:transform .15s}
.sz-ph-o[open]>summary:after{transform:rotate(180deg)}
.sz-ph-id{font-weight:700;color:#2b2723}
.sz-ph-d,.sz-ph-c{font-size:14px;color:#6b635a}
.sz-ph-st{font-size:12px;font-weight:700;color:#2e7d32;background:#e8f5e9;border-radius:999px;padding:5px 10px}
.sz-ph-o .sz-car{margin:0}
.sz-ph-tot{margin-left:auto;font-weight:700;font-size:16px;color:#2b2723}
.sz-ph-items{list-style:none;margin:0;padding:0 18px 8px;border-top:1px solid #efe6d9}
.sz-ph-items li{display:grid;grid-template-columns:48px 1fr auto auto;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid #f3ece2;font-size:14px}
.sz-ph-items li:last-child{border-bottom:0}
.sz-ph-items img,.sz-ph-noimg{width:48px;height:48px;border-radius:8px;object-fit:cover;background:#f3ece2;display:block}
.sz-ph-n a{color:#2b2723}
.sz-ph-n a:hover{color:#a3123a}
.sz-ph-gone{display:inline-block;margin-left:8px;font-size:11px;color:#7b7368;background:#f3ece2;border-radius:6px;padding:2px 6px}
.sz-ph-q{color:#6b635a;white-space:nowrap}
.sz-ph-p{font-weight:600;white-space:nowrap;text-align:right;min-width:80px}
.sz-ph-ttn{padding:0 18px 14px;font-size:13px;color:#6b635a}
@media (max-width:575px){.sz-ph-sum{flex-wrap:wrap}.sz-ph-more{margin-left:0}.sz-ph-items li{grid-template-columns:48px 1fr auto}.sz-ph-q{grid-column:2}.sz-ph-p{grid-column:3;grid-row:1/span 2}}
.sz-ph-svc{color:#6b635a;font-style:italic}

/* ===== 27.10: прохід телефоном як покупець (claude-5d) ===== */
@media (max-width: 575.98px) {
  /* сторінка товару: ціна й кнопка ближче до першого екрана — нижче фото, без порожніх 48px під ним, крихти в один рядок */
  .pr-product-images-main .swiper-slide img.d-block { height: 210px !important; width: 100% !important; object-fit: contain; }
  .pr-product-images-main { aspect-ratio: auto !important; height: auto !important; }   /* Promo ставить inline aspect-ratio 1/1 — інакше під фото лишається порожнеча */
  .pr-product-images-main .swiper-slide, .pr-product-images-main .swiper-wrapper { height: 210px !important; }
  .pr-product-images-main > .swiper-wrapper.mb-5 { margin-bottom: 0 !important; }
  .pr-product-images-additional { margin-top: 10px !important; }
  #product-product .pr-breadcrumb { flex-wrap: nowrap; overflow-x: auto; white-space: nowrap; scrollbar-width: none; }
  #product-product .pr-breadcrumb::-webkit-scrollbar { display: none; }
  /* порожнеча між «разом» і «Доставка цього товару» (~100px) */
  .pr-product-actions { padding-bottom: 10px !important; row-gap: 0 !important; }
  .pr-product-actions-info { padding-bottom: 12px !important; }
  .pr-product-delivery { padding-top: 14px !important; }
  /* «Ви дивились» (Promo виводить «мінімальний» вигляд з фото 100px) — фото на всю ширину картки */
  .pr-module[data-type="minimal"] .pr-module-item-image img { max-width: none !important; width: 100% !important; height: 200px !important; object-fit: cover; }
  .pr-module[data-type="minimal"] .pr-module-item-image { height: 200px; overflow: hidden; }
  /* вкладки «Все про товар / Опис / Характеристики» на телефоні: липли вгорі й перекривали початок блоків; розділи й так ідуть нижче один за одним —
     прибираємо, кнопка «До кошика» піднімається на перший екран (нижня панель з ціною при прокрутці лишається, її показує Promo) */
  .pr-product-tabs.sticky-top { display: none !important; }
  /* сторінка товару: «До кошика» на першому екрані (390×844) — щільніший блок ціни, як у каталозі, менші мініатюри */
  .pr-product-images-additional .swiper-slide { width: 42px !important; height: 42px !important; padding: 5px !important; }
  .pr-product-images-additional .pr-product-images-additional-item, .pr-product-images-additional img { width: 30px !important; height: 30px !important; }
  .pr-product-images-additional { margin-top: 6px !important; }
  .sz-pp .sz-price { grid-template-rows: auto auto !important; padding: 6px 10px 8px !important; gap: 5px !important; }
  .sz-pp .sz-price .line { min-height: 0 !important; }
  .sz-pp .sz-price .line .big { line-height: 1.1; }
  .sz-pp .sz-ladder .t { padding: 3px 8px !important; min-height: 34px; }
  .sz-pp .sz-ladder .t * { line-height: 1.2 !important; }
  .sz-pp .sz-buy { margin-top: 8px !important; }
  .sz-pp .sz-step::before { display: none !important; }
  .pr-module[data-type="minimal"] .pr-module-item-top { width: calc(100% + 20px) !important; max-width: none !important; }
  .pr-product-actions { padding-top: 12px !important; }
}
/* оформлення: «Я прочитав Умови угоди і згоден» — звичайним рядком, а не трьома колонками */
#agree-block .form-check-label { display: block !important; line-height: 1.45; }
#agree-block .form-check-label a { display: inline; }
/* 27.10: рядки замовлень Prom — фото | код | назва | к-сть | ціна | сума */
.sz-ph-items{display:block;padding:0 18px 8px}
.sz-ph-row{display:grid;grid-template-columns:48px 130px 1fr 100px 90px 100px;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid #f3ece2;font-size:14px}
.sz-ph-row:last-child{border-bottom:0}
.sz-ph-head{font-size:12px;font-weight:700;color:#7b7368;text-transform:uppercase;letter-spacing:.03em;padding:10px 0 8px}
.sz-ph-head span:nth-child(n+4){text-align:right}
.sz-ph-sku{font-family:ui-monospace,Consolas,monospace;font-size:13px;color:#4a4540;word-break:break-all}
.sz-ph-q,.sz-ph-pr{text-align:right;white-space:nowrap;color:#6b635a}
.sz-ph-row img,.sz-ph-row .sz-ph-noimg{width:48px;height:48px;border-radius:8px;object-fit:cover;background:#f3ece2;display:block}
@media (max-width:767px){.sz-ph-head{display:none}.sz-ph-row{grid-template-columns:48px 1fr auto;grid-template-areas:"img name sum" "img sku qty" "img sku pr"}
 .sz-ph-row>img,.sz-ph-row>.sz-ph-noimg{grid-area:img}.sz-ph-n{grid-area:name}.sz-ph-sku{grid-area:sku}.sz-ph-q{grid-area:qty}.sz-ph-pr{grid-area:pr;font-size:12px}.sz-ph-p{grid-area:sum}}

/* ===== 27.10 (копія для блоків товарів поза розділом — «Нові надходження» на головній тощо): компактна картка на телефоні (обрано варіант 1 з тесту ?szv): фото 190 px, щільніші відступи і сходинки опту ===== */
@media (max-width: 575.98px) {
  .pr-module:not([data-type="minimal"]):not(.pr-category-products) .pr-module-item { padding: 8px !important; }
  .pr-module:not([data-type="minimal"]):not(.pr-category-products) .pr-module-item-top { margin: -8px -8px 0 !important; width: calc(100% + 16px) !important; max-width: none !important; }
  .pr-module:not([data-type="minimal"]):not(.pr-category-products) .pr-module-item-image { height: 190px; margin-bottom: 0 !important; overflow: hidden; }
  .pr-module:not([data-type="minimal"]):not(.pr-category-products) .pr-module-item-image a { width: 100%; height: 190px; }
  .pr-module:not([data-type="minimal"]):not(.pr-category-products) .pr-module-item-image img { width: 100% !important; height: 190px !important; object-fit: cover; }
  .pr-module:not([data-type="minimal"]):not(.pr-category-products) .pr-module-item-bottom { margin-top: 8px !important; gap: 6px !important; }
  .pr-module:not([data-type="minimal"]):not(.pr-category-products) .sz-card { gap: 6px !important; }
  .pr-module:not([data-type="minimal"]):not(.pr-category-products) .sz-price { padding: 6px 8px !important; gap: 5px !important; grid-template-rows: auto auto !important; }
  .pr-module:not([data-type="minimal"]):not(.pr-category-products) .sz-seg { height: 40px; }
  .pr-module:not([data-type="minimal"]):not(.pr-category-products) .sz-price .num { font-size: 21px !important; }
  .pr-module:not([data-type="minimal"]):not(.pr-category-products) .sz-price .line { min-height: 0 !important; }
  .pr-module:not([data-type="minimal"]):not(.pr-category-products) .sz-price .line .big { line-height: 1.1; }
  .pr-module:not([data-type="minimal"]):not(.pr-category-products) .sz-ladder .t { padding: 3px 7px !important; gap: 0 !important; line-height: 1.2; }
  .pr-module:not([data-type="minimal"]):not(.pr-category-products) .sz-ladder .t * { line-height: 1.2 !important; }
  .pr-module:not([data-type="minimal"]):not(.pr-category-products) .sz-ladder .t > span:first-child { font-size: 11.5px !important; }
  .pr-module:not([data-type="minimal"]):not(.pr-category-products) .sz-ladder .t b { font-size: 14px !important; }
  .pr-module:not([data-type="minimal"]):not(.pr-category-products) .sz-ladder .t i { font-size: 10.5px !important; padding: 1px 6px !important; }
  .pr-module:not([data-type="minimal"]):not(.pr-category-products) .sz-buy { margin-top: 2px !important; }
  .pr-module:not([data-type="minimal"]):not(.pr-category-products) .sz-ladder .t { min-height: 34px; }
  .pr-module:not([data-type="minimal"]):not(.pr-category-products) .sz-step button { min-width: 36px; }
  .pr-module:not([data-type="minimal"]):not(.pr-category-products) .sz-step::before { display: none !important; }
  .pr-module:not([data-type="minimal"]):not(.pr-category-products) .sz-total { font-size: 11px !important; margin: 0 !important; }
}
/* ===== 27.10: картки в каталозі на телефоні не зливаються — рамка, помітна тінь, більший проміжок ===== */
@media (max-width: 575.98px) {
  .pr-module:not([data-type="minimal"]):not(.pr-category-products) .pr-module-items { gap: 14px !important; }
  .pr-module:not([data-type="minimal"]):not(.pr-category-products) .pr-module-item { border: 1px solid #e3d9cb !important; border-radius: 14px !important; box-shadow: 0 1px 2px rgba(60,40,20,.06), 0 6px 16px rgba(60,40,20,.09) !important; background: #fffdfa; overflow: hidden; }
  .pr-module:not([data-type="minimal"]):not(.pr-category-products) .pr-module-item-top { border-radius: 13px 13px 0 0; overflow: hidden; }
}

/* головна, телефон: плитки каталогу нижчі — фото 4:3 замість квадрата */
@media (max-width: 575.98px) {
  .pr-categories-wall-item img { aspect-ratio: 4 / 3; width: 100% !important; height: auto !important; object-fit: cover; }
}

/* 27.10 (Claude): список замовлень — явно, як відкрити замовлення */
.sz-ord-row{cursor:pointer}
.sz-ord-row:hover td{background:#fbeef2 !important}
.sz-ord-id{font-weight:700;color:#a3123a;text-decoration:underline;text-underline-offset:3px}
.sz-ord-view{display:inline-flex;align-items:center;white-space:nowrap;padding:7px 14px;border-radius:999px;background:#a3123a;color:#fff !important;font-weight:600;font-size:13px;text-decoration:none}
.sz-ord-view:hover{background:#8a0f31}
.sz-ord-view,.sz-ord-view:hover{text-decoration:none !important}

/* 27.10 (Claude): сторінка замовлення — компактна шапка */
.sz-oi-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;padding-bottom:14px;border-bottom:1px solid #efe6d9;margin-bottom:14px}
.sz-oi-h1{font-size:26px;font-weight:800;margin:0}
/* 04.11: склад замовлення з SalesDrive */
.sz-oi-note{margin:0 0 10px;padding:8px 12px;border-radius:8px;background:#fff6e5;color:#6b4f1d;font-size:13px}
.sz-oi-badge{display:inline-block;margin-left:6px;padding:1px 7px;border-radius:999px;background:#e8f1ff;color:#1f4e8c;font-size:11px;font-weight:600;white-space:nowrap;vertical-align:middle}
.sz-oi-meta{margin-top:4px;color:#6b635a;font-size:14px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.sz-oi-st{font-size:12px;font-weight:700;color:#8a5a00;background:#fff3d6;border-radius:999px;padding:4px 10px}
.sz-oi-dl{display:flex;gap:8px}
.sz-oi-dl a{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border:1px solid #a3123a;border-radius:8px;color:#a3123a;font-weight:600;font-size:14px;text-decoration:none !important}
.sz-oi-dl a:hover{background:#a3123a;color:#fff}
.sz-oi-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:0;border:1px solid #e2d8ca;border-radius:10px;margin:14px 0 18px;background:#fffdf9}
.sz-oi-cell{padding:14px 16px;border-left:1px solid #efe6d9;display:flex;flex-direction:column;gap:3px}
.sz-oi-cell:first-child{border-left:0}
.sz-oi-k{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#7b7368;margin-bottom:4px}
.sz-oi-v{font-weight:600;color:#2b2723}
.sz-oi-s{font-size:14px;color:#6b635a}
.sz-oi-cell .sz-car{margin-bottom:4px}
@media (max-width:767px){.sz-oi-grid{grid-template-columns:1fr}.sz-oi-cell{border-left:0;border-top:1px solid #efe6d9}.sz-oi-cell:first-child{border-top:0}}
.sz-oi-add{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;padding:8px 12px;border-radius:8px;background:#a3123a;color:#fff !important;font-weight:600;font-size:13px;text-decoration:none !important}
.sz-oi-add:hover{background:#8a0f31}
.sz-oi-add .button-icon{width:18px;height:18px;background-color:#fff}
.sz-oi-add.busy{opacity:.6;pointer-events:none}.sz-oi-add.done{background:#2e7d32}

/* 27.10 (Claude, пошук на телефоні): у живих підказках останній товар ховався під нижнім меню (.pr-mobile-bottom-nav, fixed) — запас знизу */
@media (max-width: 991.98px) { .pr-livesearch-inner { padding-bottom: calc(96px + env(safe-area-inset-bottom, 0px)) !important; } }

/* 27.10 (Claude): обране — легкий ефект замість повідомлення (sezon.js) */
@keyframes szWlPop{0%{transform:scale(1)}35%{transform:scale(1.28)}65%{transform:scale(.94)}100%{transform:scale(1)}}
@keyframes szWlUnpop{0%{transform:scale(1)}40%{transform:scale(.82)}100%{transform:scale(1)}}
@keyframes szWlFly{0%{opacity:.95;transform:translateY(0) scale(.7)}100%{opacity:0;transform:translateY(-46px) scale(1.35)}}
@keyframes szBump{0%{transform:scale(1)}40%{transform:scale(1.35)}100%{transform:scale(1)}}
.sz-wl-pop{animation:szWlPop .45s ease-out}
.sz-wl-unpop{animation:szWlUnpop .3s ease-out}
.sz-wl-fly{position:fixed;z-index:10000;pointer-events:none;color:#e0245e;animation:szWlFly .85s ease-out forwards;filter:drop-shadow(0 2px 4px rgba(224,36,94,.25))}
.sz-bump{display:inline-block;animation:szBump .4s ease-out}
@media (prefers-reduced-motion:reduce){.sz-wl-pop,.sz-wl-unpop,.sz-bump{animation:none}.sz-wl-fly{display:none}}

/* ===== 27.10 (Claude): кабінет на телефоні ===== */
@media (max-width:1199.98px){
  /* меню кабінету — горизонтальна стрічка замість 8 рядків над сторінкою */
  .pr-account > #column-left .pr-column-account{background:none;box-shadow:none;border:0;overflow:visible !important}
  .pr-account > #column-left .pr-column-categories-list{flex-direction:row !important;flex-wrap:nowrap;overflow-x:auto;gap:8px;padding:2px 0 6px !important;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .pr-account > #column-left .pr-column-categories-list::-webkit-scrollbar{display:none}
  .pr-account > #column-left .pr-column-categories-list-item{flex:0 0 auto;padding:8px 14px !important;gap:8px !important;border:1px solid #e2d8ca !important;border-radius:999px;background:#fffdf9;white-space:nowrap;font-size:14px}
  .pr-account > #column-left .pr-column-categories-list-item-icon{display:none !important}
}
@media (max-width:767.98px){
  /* товари замовлення — картки: фото+назва / код · ціна × к-сть = сума / кнопка */
  .sz-oi-tbl{overflow:visible !important;border:0 !important}
  .sz-oi-tbl table,.sz-oi-tbl tbody,.sz-oi-tbl tr,.sz-oi-tbl td{display:block;border:0 !important}
  .sz-oi-tbl thead{display:none}
  .sz-oi-tbl tbody tr:not(.sz-oi-tot){display:grid;grid-template-columns:1fr auto auto auto;gap:6px 10px;align-items:center;padding:12px;margin-bottom:10px;border:1px solid #e2d8ca !important;border-radius:10px;background:#fffdf9}
  .sz-oi-tbl tbody tr:not(.sz-oi-tot)>td{padding:0 !important;background:none !important;text-align:left !important}
  .sz-oi-tbl tbody tr:not(.sz-oi-tot)>td:nth-child(1){grid-column:1/-1}
  .sz-oi-tbl tbody tr:not(.sz-oi-tot)>td:nth-child(1) img{width:64px;height:64px;object-fit:cover}
  .sz-oi-tbl tbody tr:not(.sz-oi-tot)>td:nth-child(1) a strong{font-weight:500;font-size:14px}
  .sz-oi-tbl tbody tr:not(.sz-oi-tot)>td:nth-child(2){font-size:12px;color:#6b635a}
  .sz-oi-tbl tbody tr:not(.sz-oi-tot)>td:nth-child(2):before{content:"Код: "}
  .sz-oi-tbl tbody tr:not(.sz-oi-tot)>td:nth-child(3){font-size:13px;color:#6b635a;white-space:nowrap}
  .sz-oi-tbl tbody tr:not(.sz-oi-tot)>td:nth-child(4){font-size:13px;color:#6b635a;white-space:nowrap}
  .sz-oi-tbl tbody tr:not(.sz-oi-tot)>td:nth-child(4):before{content:"× "}
  .sz-oi-tbl tbody tr:not(.sz-oi-tot)>td:nth-child(5){font-weight:700;white-space:nowrap}
  .sz-oi-tbl tbody tr:not(.sz-oi-tot)>td:nth-child(6){grid-column:1/-1}
  .sz-oi-tbl tbody tr:not(.sz-oi-tot)>td:nth-child(6):empty{display:none}
  .sz-oi-tbl .sz-oi-add{width:100%;justify-content:center;padding:10px}
  .sz-oi-tbl tr.sz-oi-tot{display:flex;justify-content:flex-end;gap:12px;padding:4px 4px}
  .sz-oi-tbl tr.sz-oi-tot>td{padding:0 !important;background:none !important}
  .sz-oi-tbl tr.sz-oi-tot>td:empty{display:none}
  .sz-oi-tbl tr.sz-oi-tot:last-child{border-top:2px solid #2b2723 !important;margin-top:4px;padding-top:8px;font-size:16px;font-weight:700}
  .sz-oi-head{gap:10px}.sz-oi-h1{font-size:22px}
  /* списки замовлень — картки */
  .sz-ol-tbl,.sz-ac-tbl{overflow:visible !important;border:0 !important}
  .sz-ol-tbl table,.sz-ol-tbl tbody,.sz-ol-tbl tr,.sz-ol-tbl td,.sz-ac-tbl table,.sz-ac-tbl tbody,.sz-ac-tbl tr,.sz-ac-tbl td{display:block;border:0 !important}
  .sz-ol-tbl thead,.sz-ac-tbl thead{display:none}
  .sz-ol-tbl tbody tr,.sz-ac-tbl tbody tr{display:grid;grid-template-columns:1fr auto;gap:6px 10px;align-items:center;padding:12px 14px;margin-bottom:10px;border:1px solid #e2d8ca !important;border-radius:10px;background:#fffdf9}
  .sz-ol-tbl tbody td,.sz-ac-tbl tbody td{padding:0 !important;background:none !important}
  .sz-ol-tbl td:nth-child(1),.sz-ac-tbl td:nth-child(1){grid-column:1/-1;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
  .sz-ol-tbl td:nth-child(2){display:none}
  .sz-ol-tbl td:nth-child(3){font-size:13px;color:#6b635a}.sz-ol-tbl td:nth-child(3):after{content:" тов."}
  .sz-ol-tbl td:nth-child(4),.sz-ac-tbl td:nth-child(2){justify-self:end;font-size:12px;font-weight:700;color:#8a5a00;background:#fff3d6;border-radius:999px;padding:4px 10px !important}
  .sz-ol-tbl td:nth-child(5),.sz-ac-tbl td:nth-child(4){font-weight:700;font-size:16px}
  .sz-ol-tbl td:nth-child(6),.sz-ac-tbl td:nth-child(3){justify-self:end;font-size:13px;color:#6b635a}
  .sz-ol-tbl td:nth-child(7),.sz-ac-tbl td:nth-child(5){grid-column:1/-1;text-align:center !important}
  .sz-ol-tbl .sz-ord-view,.sz-ac-tbl .sz-ord-view{width:100%;justify-content:center;padding:10px}
  .sz-ac-tbl td[colspan]{grid-column:1/-1}
  /* підсумок замовлень Prom і рядки адрес — тісніше */
  .sz-ph-sum{padding:12px 14px;gap:12px}.sz-ph-num{font-size:26px}
  .sz-r32-item{flex-direction:column}
}
@media (max-width:767.98px){.sz-oi-tbl tbody tr:not(.sz-oi-tot)>td{white-space:normal !important;min-width:0}.sz-oi-tbl tbody tr:not(.sz-oi-tot)>td:nth-child(1)>div{min-width:0}.sz-oi-tbl tbody tr:not(.sz-oi-tot)>td:nth-child(1)>div>div{min-width:0;flex:1}.sz-oi-tbl tbody tr:not(.sz-oi-tot)>td:nth-child(1) a{white-space:normal !important;overflow-wrap:anywhere}.sz-oi-tbl tbody tr:not(.sz-oi-tot)>td:nth-child(3),.sz-oi-tbl tbody tr:not(.sz-oi-tot)>td:nth-child(4),.sz-oi-tbl tbody tr:not(.sz-oi-tot)>td:nth-child(5){white-space:nowrap !important}.sz-oi-tbl tbody tr:not(.sz-oi-tot)>td:nth-child(2){overflow-wrap:anywhere}}
.pr-column-account .pr-column-categories-list-item.sz-on{background:#fbeef2}
.pr-column-account .pr-column-categories-list-item.sz-on a{color:#a3123a;font-weight:600}
@media (max-width:1199.98px){.pr-account > #column-left .pr-column-categories-list-item.sz-on{border-color:#a3123a !important;background:#a3123a}.pr-account > #column-left .pr-column-categories-list-item.sz-on a{color:#fff}}
@media (max-width:767.98px){.pr-account-wishlist-item img,.pr-account-wishlist img{max-height:120px;object-fit:contain}}

/* 27.10 (Claude): доставка «перевізник → спосіб» (shipping_methods.twig + smartcheckout.twig, обидві копії): вкладки перевізників,
   видно лише карточку обраного; назва перевізника вже на вкладці — плашку в карточці ховаємо */
.sz-car-tabs { display: grid; grid-template-columns: repeat(auto-fit, minmax(0, 1fr)); gap: 8px; margin: 0 0 10px; }
.sz-car-tab { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 52px; padding: 8px 10px; border: 2px solid var(--sz-line, #e6ddd0); border-radius: 12px; background: #fff;
  font: inherit; font-size: 15px; color: var(--sz-ink, #2a2a2a); cursor: pointer; transition: border-color .15s, background .15s; }
.sz-car-tab b { font-weight: 800; }
.sz-car-tab::before { content: ''; flex: 0 0 auto; width: 14px; height: 14px; border-radius: 50%; border: 2px solid #b9b0a3; background: #fff; }
.sz-car-tab[data-car="novaposhta"] { --c: #da291c; --cs: #fdeceb; } .sz-car-tab[data-car="ukrposhta"] { --c: #e0a800; --cs: #fff8db; }
.sz-car-tab:hover { border-color: var(--c, #a8244b); }
.sz-car-tab.on { border-color: var(--c, #a8244b); background: var(--cs, #fbeef2); }
.sz-car-tab.on::before { border-color: var(--c, #a8244b); background: radial-gradient(circle, var(--c, #a8244b) 0 45%, #fff 50%); }
.shipping-check-item.sz-car-off { display: none !important; }
.sz-car-tabs ~ .pr-smart-checkout-check .shipping-check-item > p.fw-600 { display: none !important; }
.sz-saved-mode .sz-car-tabs { display: none !important; }

/* 27.10 (Claude, власник: «як додати в обране на телефоні?»): Promo на телефоні ховає блок кнопок картки (width50: display:none),
   на ПК показує лише при наведенні — на сенсорних екранах наведення немає. Тут — постійне сердечко в куті фото. */
@media (max-width:991.98px), (hover:none) {
  .pr-module-item[data-product-id] .pr-module-item-buttons { display:flex !important; opacity:1 !important; transform:none !important; top:8px !important; right:8px !important; bottom:auto !important; left:auto !important; }
  .pr-module-item[data-product-id] .pr-module-item-buttons > :not(.pr-module-item-button-wishlist) { display:none !important; }
  .pr-module-item[data-product-id] .pr-module-item-button-wishlist { width:38px; height:38px; min-width:0 !important; padding:0 !important; border-radius:50% !important; display:flex !important; align-items:center; justify-content:center;
    background:rgba(255,255,255,.92) !important; box-shadow:0 2px 8px rgba(0,0,0,.12); border:0 !important; }
  .pr-module-item[data-product-id] .pr-module-item-button-wishlist svg { width:18px; height:16px; }
  .product-price .pr-module-item[data-product-id] .pr-module-item-buttons, .pr-module-item[data-product-id].product-price .pr-module-item-buttons { display:none !important; }
}
/* у обраному — сердечко зафарбоване (Promo ставить клас .added) */
.pr-module-item-button-wishlist.added svg path, .pr-product-wishlist.added svg path, [onclick*="wishlist.add"].added svg path { fill:#e0245e !important; stroke:#e0245e !important; }
.pr-module-item-button-wishlist.added { background:#fff !important; }

/* 27.10 (Claude, власник: «у нижньому меню налазять написи»): кнопка «вгору» (#back-top) жила всередині меню й при прокрутці
   стискала 6 пунктів; підписи 11px не вміщались («Смотрели», «Избранное»). Кнопку — окремим колом над меню, пункти можуть стискатися. */
@media (max-width: 991.98px) {
  .pr-mobile-bottom-nav #back-top { position: fixed !important; right: 14px; bottom: calc(92px + env(safe-area-inset-bottom, 0px)); width: 40px !important; height: 40px !important; margin: 0 !important;
    border-radius: 50% !important; background: #fff !important; box-shadow: 0 3px 12px rgba(0,0,0,.16); z-index: 5; }
  .pr-mobile-bottom-nav #back-top:not(.active) { opacity: 0; pointer-events: none; }
  .pr-mobile-bottom-nav { gap: 2px !important; }
  .pr-mobile-bottom-nav .pr-mobile-bottom-nav-item { min-width: 0 !important; padding: 5px 1px 4px !important; }
  .pr-mobile-bottom-nav .sz-bn-l { font-size: 10.5px; letter-spacing: -.2px; max-width: 100%; overflow: hidden; text-overflow: clip; }
}
@media (max-width: 389.98px) { .pr-mobile-bottom-nav .sz-bn-l { font-size: 10px; letter-spacing: -.35px; } }
@media (max-width: 991.98px) { .pr-mobile-bottom-nav .pr-mobile-bottom-nav-item { flex: 1 1 auto !important; } }

/* 27.10 (Claude): «Повторити замовлення» з Prom */
.sz-ph-foot{display:flex;align-items:center;justify-content:flex-end;gap:14px;flex-wrap:wrap;padding:6px 18px 16px}
.sz-ph-foot .sz-ph-ttn{padding:0;margin-right:auto}
.sz-ph-av{font-size:13px;color:#6b635a}
.sz-ph-rep{display:inline-flex;align-items:center;gap:8px;border:0;border-radius:8px;background:#a3123a;color:#fff;font-weight:600;font-size:14px;padding:10px 16px;cursor:pointer}
.sz-ph-rep:hover{background:#8a0f31}
.sz-ph-rep.busy{opacity:.6;pointer-events:none}
.sz-ph-rep.done{background:#2e7d32}
@media (max-width:767.98px){.sz-ph-foot{justify-content:stretch}.sz-ph-rep{width:100%;justify-content:center}.sz-ph-av{width:100%;text-align:center}}

/* ===== 27.10 (власник): шрифт Inter (варіативний 300–800, свій хостинг; шапка Promo ставить --pr-main-font інлайном — html:root сильніший) ===== */
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 300 800; font-display: swap; src: url('fonts/inter-var-cyrillic-ext.woff2') format('woff2'); unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 300 800; font-display: swap; src: url('fonts/inter-var-cyrillic.woff2') format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 300 800; font-display: swap; src: url('fonts/inter-var-latin-ext.woff2') format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 300 800; font-display: swap; src: url('fonts/inter-var-latin.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
html:root { --pr-main-font: 'Inter', 'Segoe UI', Arial, sans-serif; }

/* ===== 27.10 (власник): перемикач роздріб/опт у картці — підпис «РОЗДРІБ/ОПТ», опт завжди зелений, на опті лише знижка;
   «Це вже оптова ціна» → факти з назви (sezon_cards.js + sezon_card.php). Вид «Прайс-лист» (.product-price) не чіпаємо ===== */
.sz-u:not(.product-price .sz-u) .sz-mode { height: auto !important; margin: 0 !important; }
.sz-u:not(.product-price .sz-u) .sz-seg { height: auto !important; min-height: 58px; padding: 4px; gap: 4px; border: 0; border-radius: 12px; background: var(--sz-berry-soft); }
.sz-u:not(.product-price .sz-u) .sz-seg button { flex-wrap: wrap; align-content: center; row-gap: 1px; column-gap: 6px; padding: 5px 4px; border-radius: 9px; font-size: 17px; font-weight: 800; line-height: 1.1; letter-spacing: -.01em; color: var(--sz-berry); transition: background .15s, box-shadow .15s; }
.sz-u:not(.product-price .sz-u) .sz-seg button::before { flex-basis: 100%; text-align: center; font-size: 10.5px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; opacity: .8; }
.sz-u:not(.product-price .sz-u) .sz-seg button[data-k="r"]::before { content: "Роздріб"; }
html[lang^="ru"] .sz-u:not(.product-price .sz-u) .sz-seg button[data-k="r"]::before { content: "Розница"; }
.sz-u:not(.product-price .sz-u) .sz-seg button[data-k="o"]::before { content: "Опт"; }
.sz-u:not(.product-price .sz-u) .sz-seg button:hover:not(.on) { background: rgba(255,255,255,.75); }
.sz-u:not(.product-price .sz-u) .sz-seg button[data-k="r"].on { background: var(--sz-berry); color: #fff; box-shadow: inset 0 0 0 2.5px #fff, 0 0 0 2px var(--sz-berry), 0 3px 8px rgba(168,36,75,.3); }
.sz-u:not(.product-price .sz-u) .sz-seg button[data-k="o"], .sz-u:not(.product-price .sz-u) .sz-seg button[data-k="o"]:hover:not(.on) { background: #3f7a58; color: #fff; }
.sz-u:not(.product-price .sz-u) .sz-seg button[data-k="o"]:hover:not(.on) { background: #2c5a40; }
.sz-u:not(.product-price .sz-u) .sz-seg button[data-k="o"].on { background: #2c5a40; box-shadow: inset 0 0 0 2.5px #fff, 0 0 0 2px #2c5a40, 0 3px 8px rgba(0,0,0,.2); }
.sz-u:not(.product-price .sz-u) .sz-seg button em { white-space: nowrap; font-size: 15px; font-weight: 800; line-height: 20px; padding: 0 8px; border-radius: 999px; background: #fff !important; color: #2c5a40 !important; letter-spacing: -.01em; }
/* опт: лише «ОПТ» + знижка (назву фасовки ховаємо; без знижки — лишаємо назву) */
.sz-u:not(.product-price .sz-u) .sz-seg button[data-k="o"]:has(em) { font-size: 0; }
.sz-u:not(.product-price .sz-u) .sz-seg button[data-k="o"] em { font-size: 18px; line-height: 24px; padding: 0 10px; }
.sz-u:not(.product-price .sz-u) .sz-seg button[data-k="o"]:not(:has(em)) { font-size: 14px; }
.sz-u .sz-facts div { display: flex; justify-content: space-between; gap: 8px; }
.sz-u .sz-facts.one:empty { display: none; }
.sz-u .sz-price:has(.sz-facts.one:empty) { grid-template-rows: 40px !important; }

/* ===== 27.10 (власник): «Повідомити про надходження» — інший колір, ніж «В кошик» (графіт + дзвіночок), і в картці, і закріплена кнопка товару ===== */
.sz-add[data-r33], .pr-product-fixed-cart-btn[data-r33] { background: var(--sz-ink) !important; color: #fff !important; gap: 7px; }
.sz-add[data-r33]:hover, .pr-product-fixed-cart-btn[data-r33]:hover { background: #1b1e26 !important; }
.sz-add[data-r33]::before, .pr-product-fixed-cart-btn[data-r33]::before { content: ""; flex: 0 0 16px; width: 16px; height: 16px; background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 8a6 6 0 0 1 12 0c0 7 3 9 3 9H3s3-2 3-9'/%3E%3Cpath d='M10.3 21a1.94 1.94 0 0 0 3.4 0'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 8a6 6 0 0 1 12 0c0 7 3 9 3 9H3s3-2 3-9'/%3E%3Cpath d='M10.3 21a1.94 1.94 0 0 0 3.4 0'/%3E%3C/svg%3E") center / contain no-repeat; }
.pr-product-fixed-cart-btn[data-r33] { display: inline-flex; align-items: center; justify-content: center; }

/* ===== 27.10 (власник): «немає в наявності» помітніше — плашка на фото, графітова пігулка замість блідого тексту, приглушена ціна (вибраний варіант без залишку = є .sz-add[data-r33]) ===== */
.sz-st.out { display: inline-flex; align-items: center; gap: 5px; padding: 3px 9px; border-radius: 999px; background: var(--sz-ink); color: #fff !important; font-size: 11.5px; line-height: 1.2; white-space: nowrap; }
.sz-st.out::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: #ff8a8a; flex: none; }
.pr-module-item:has(.sz-add[data-r33]) .pr-module-item-image { position: relative; }
.pr-module-item:has(.sz-add[data-r33]) .pr-module-item-image::after { content: "Немає в наявності"; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); z-index: 3; pointer-events: none;
  padding: 8px 16px; border-radius: 999px; background: rgba(43,47,58,.88); color: #fff; font-size: 14px; font-weight: 800; letter-spacing: .02em; white-space: nowrap; box-shadow: 0 4px 14px rgba(0,0,0,.25); }
html[lang^="ru"] .pr-module-item:has(.sz-add[data-r33]) .pr-module-item-image::after { content: "Нет в наличии"; }
.pr-module-item:has(.sz-add[data-r33]) .sz-price { opacity: .6; }
.product-price.pr-module-item:has(.sz-add[data-r33]) .pr-module-item-image::after { display: none; }
body:has(.sz-pp .sz-add[data-r33]) .pr-product-images-main { position: relative; }
body:has(.sz-pp .sz-add[data-r33]) .pr-product-images-main::after { content: "Немає в наявності"; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); z-index: 5; pointer-events: none;
  padding: 10px 20px; border-radius: 999px; background: rgba(43,47,58,.88); color: #fff; font-size: 16px; font-weight: 800; white-space: nowrap; box-shadow: 0 4px 14px rgba(0,0,0,.25); }
html[lang^="ru"] body:has(.sz-pp .sz-add[data-r33]) .pr-product-images-main::after { content: "Нет в наличии"; }

/* ===== 27.10 (власник: «більш акуратно оформи»): сторінка «Замовлення прийнято» і блок реквізитів (.sz-pay — також у кабінеті, order_info) ===== */
#common-success .content-block { max-width: 880px; margin: 0 auto; padding-top: 28px; }
#common-success .pr-page-title { flex-direction: column; justify-content: center; text-align: center; gap: 12px !important; border-bottom: 0 !important; padding-bottom: 0 !important; margin-bottom: 22px !important; }
#common-success .pr-page-title::before { content: ""; width: 56px; height: 56px; border-radius: 50%; flex: none;
  background: #e5f2e9 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233f7a58' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.2 4.2L19 7'/%3E%3C/svg%3E") center / 28px no-repeat; }
#common-success .pr-page-title h1 { font-size: 26px; line-height: 1.25; margin: 0; }
/* текст Promo під блоком: картинку й повтор заголовка (він уже в H1) не показуємо, решта — спокійним рядком */
#common-success .fw-500:has(> p:first-child img[src*="ecommerce-success"]) > p:nth-child(-n+3) { display: none; }
#common-success .fw-500 { text-align: center; color: var(--sz-muted); font-weight: 500 !important; margin-top: 18px; }
#common-success .fw-500 p { margin: 0 0 4px; text-align: center !important; }
#common-success .fw-500 span { font-size: 14.5px !important; color: inherit !important; }
#common-success .fw-500 a { color: var(--sz-berry); font-weight: 600; }
#common-success .sz-thx { margin: 18px 0 0; }

.sz-pay { padding: 20px 22px 18px; border: 1px solid var(--sz-line); border-radius: 16px; background: #fff; box-shadow: 0 6px 24px rgba(43,47,58,.06); }
.sz-pay-t { display: flex; align-items: center; gap: 10px; font-size: 18px; font-weight: 800; margin-bottom: 12px; }
.sz-pay-t::before { content: ""; width: 34px; height: 34px; border-radius: 10px; flex: none;
  background: var(--sz-berry-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a8244b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2.5' y='5' width='19' height='14' rx='2.5'/%3E%3Cpath d='M2.5 10h19M6.5 15h4'/%3E%3C/svg%3E") center / 19px no-repeat; }
.sz-pay-n { display: inline-flex; align-items: center; gap: 6px; margin: 0 0 12px; padding: 6px 12px; border-radius: 999px; font-size: 13px; }
.sz-pay-n::before { content: "✓"; font-weight: 900; }
.sz-pay-l { gap: 0; border: 1px solid var(--sz-line); border-radius: 12px; overflow: hidden; }
.sz-pay-r { grid-template-columns: 190px minmax(0, 1fr); gap: 12px; padding: 11px 14px; border-top: 1px solid var(--sz-line); background: #fff; }
.sz-pay-r dt { font-size: 13.5px; }
.sz-pay-r dd { font-size: 15.5px; word-break: normal; overflow-wrap: anywhere; }
.sz-pay-r:nth-child(2) dd span { font-variant-numeric: tabular-nums; letter-spacing: .03em; }
.sz-pay-r:nth-child(4) { background: var(--sz-berry-soft); }
.sz-pay-r:nth-child(4) dd span { font-size: 20px; font-weight: 800; color: var(--sz-berry); }
.sz-pay-c { display: inline-flex; align-items: center; gap: 5px; border: 1px solid var(--sz-line); color: var(--sz-ink); border-radius: 8px; padding: 5px 10px; font-weight: 600; transition: border-color .15s, color .15s; }
.sz-pay-c::before { content: ""; width: 13px; height: 13px; flex: none; background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='9' y='9' width='12' height='12' rx='2'/%3E%3Cpath d='M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='9' y='9' width='12' height='12' rx='2'/%3E%3Cpath d='M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1'/%3E%3C/svg%3E") center / contain no-repeat; }
.sz-pay-c:hover { border-color: var(--sz-berry); color: var(--sz-berry); }
.sz-pay-c.on::before { -webkit-mask: none; mask: none; content: "✓"; background: none; width: auto; height: auto; font-weight: 900; }
.sz-pay-f { display: flex; gap: 8px; align-items: flex-start; margin: 12px 2px 0; font-size: 13px; color: var(--sz-muted); line-height: 1.45; }
.sz-pay-f::before { content: "i"; flex: none; width: 17px; height: 17px; border-radius: 50%; border: 1.5px solid currentColor; display: grid; place-items: center; font-size: 11px; font-weight: 800; font-style: italic; font-family: Georgia, serif; margin-top: 1px; }
@media (max-width: 575.98px) {
  #common-success .pr-page-title h1 { font-size: 21px; }
  .sz-pay { padding: 16px 14px; }
  .sz-pay-r { grid-template-columns: 1fr; gap: 3px; padding: 10px 12px; }
  .sz-pay-r dd { gap: 8px; }
  .sz-pay-r:nth-child(2) dd span { font-size: 14px; letter-spacing: 0; white-space: nowrap; }
  .sz-pay-r { position: relative; } .sz-pay-r dt { padding-right: 44px; min-height: 22px; } .sz-pay-r .sz-pay-c { position: absolute; right: 8px; top: 7px; padding: 6px; }
  .sz-pay-l { margin: 0 -4px; } .sz-pay-r { padding-left: 10px; padding-right: 8px; }
  .sz-pay-c { font-size: 0 !important; padding: 8px; gap: 0; }
  .sz-pay-c::before { width: 16px; height: 16px; }
  .sz-pay-c.on::before { font-size: 14px; }
}

/* 28.10 (Claude; ux2_2810: і data-type="split" - так віддає модуль 34 show_type width-50): головна на телефоні — «Нові надходження» стрічкою з прокруткою (було 10 повних карток ≈ 4500 px).
   Компактна картка: фото, назва у 2 рядки, ціна, «В кошик» (кількість — мінімальна, як у кроковому полі за замовчуванням).
   Повна картка з оптом/порогами — у розділі «Новинки» (посилання в заголовку). */
@media (max-width: 575.98px) {
  #common-home .pr-module:is([data-type="width50"],[data-type="split"]) > .pr-page-title a { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; text-decoration: none; }
  #common-home .pr-module:is([data-type="width50"],[data-type="split"]) > .pr-page-title a::after { content: 'Усі →'; font-size: 14px; font-weight: 700; color: var(--sz-berry, #a8244b); white-space: nowrap; }
  html[lang^="ru"] #common-home .pr-module:is([data-type="width50"],[data-type="split"]) > .pr-page-title a::after { content: 'Все →'; }
  #common-home .pr-module:is([data-type="width50"],[data-type="split"]) .pr-module-items { flex-wrap: nowrap !important; overflow-x: auto; scroll-snap-type: x mandatory; gap: 10px !important;
    margin: 0 -16px; padding: 2px 16px 10px; scroll-padding-inline: 16px; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
  #common-home .pr-module:is([data-type="width50"],[data-type="split"]) .pr-module-items::-webkit-scrollbar { display: none; }
  #common-home .pr-module:is([data-type="width50"],[data-type="split"]) .pr-module-item { flex: 0 0 calc(50% - 21px) !important; width: auto !important; max-width: none !important; scroll-snap-align: start; padding: 0 0 8px !important; overflow: hidden; }
  #common-home .pr-module:is([data-type="width50"],[data-type="split"]) .pr-module-item-top { margin: 0 !important; width: 100% !important; }
  #common-home .pr-module:is([data-type="width50"],[data-type="split"]) .pr-module-item-image, #common-home .pr-module:is([data-type="width50"],[data-type="split"]) .pr-module-item-image a { height: 150px !important; margin: 0 !important; }
  #common-home .pr-module:is([data-type="width50"],[data-type="split"]) .pr-module-item-image img { height: 150px !important; width: 100% !important; object-fit: cover; }
  #common-home .pr-module:is([data-type="width50"],[data-type="split"]) .sz-dots, #common-home .pr-module:is([data-type="width50"],[data-type="split"]) .pr-module-item-buttons,
  #common-home .pr-module:is([data-type="width50"],[data-type="split"]) .sz-meta, #common-home .pr-module:is([data-type="width50"],[data-type="split"]) .sz-mode, #common-home .pr-module:is([data-type="width50"],[data-type="split"]) .sz-price .opts,
  #common-home .pr-module:is([data-type="width50"],[data-type="split"]) .sz-price .k, #common-home .pr-module:is([data-type="width50"],[data-type="split"]) .sz-step, #common-home .pr-module:is([data-type="width50"],[data-type="split"]) .sz-tone,
  #common-home .pr-module:is([data-type="width50"],[data-type="split"]) .sz-total, #common-home .pr-module:is([data-type="width50"],[data-type="split"]) .sz-cart-full, #common-home .pr-module:is([data-type="width50"],[data-type="split"]) .pr-module-item-info { display: none !important; }
  #common-home .pr-module:is([data-type="width50"],[data-type="split"]) .sz-optb { font-size: 10.5px; padding: 2px 6px; }
  #common-home .pr-module:is([data-type="width50"],[data-type="split"]) .sz-optb small { display: none; }
  #common-home .pr-module:is([data-type="width50"],[data-type="split"]) .pr-module-item-bottom { margin: 8px 0 0 !important; padding: 0 8px; min-width: 0; width: 100%; box-sizing: border-box; gap: 6px !important; }
  #common-home .pr-module:is([data-type="width50"],[data-type="split"]) .pr-module-item-title { overflow-wrap: anywhere; }
  #common-home .pr-module:is([data-type="width50"],[data-type="split"]) .pr-module-item-title { font-size: 13px !important; line-height: 1.3 !important; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-height: 2.6em; }
  #common-home .pr-module:is([data-type="width50"],[data-type="split"]) .sz-card { gap: 6px !important; }
  #common-home .pr-module:is([data-type="width50"],[data-type="split"]) .sz-price { padding: 0 !important; background: none !important; border: 0 !important; min-height: 0 !important; }
  #common-home .pr-module:is([data-type="width50"],[data-type="split"]) .sz-price .line { justify-content: flex-start; min-height: 0 !important; }
  #common-home .pr-module:is([data-type="width50"],[data-type="split"]) .sz-price .num { font-size: 19px !important; }
  #common-home .pr-module:is([data-type="width50"],[data-type="split"]) .sz-buy { margin: 0 !important; }
  #common-home .pr-module:is([data-type="width50"],[data-type="split"]) .sz-buy .sz-add { flex: 1 1 100%; min-height: 38px; font-size: 13.5px; padding: 0 6px; }
}

/* 27.10 (Claude): оплата в застосунку банку / QR-код НБУ (блок реквізитів) */
.sz-pay-qr { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; margin: 14px 0 4px; padding: 14px 16px; border: 1px dashed #e2c3cf; border-radius: 12px; background: #fffafb; }
.sz-pay-bank { display: none; align-items: center; justify-content: center; gap: 10px; width: 100%; min-height: 50px; padding: 12px 16px; border-radius: 10px; background: #a3123a; color: #fff !important; font-weight: 700; font-size: 16px; text-decoration: none !important; }
.sz-pay-bank:hover { background: #8a0f31; }
.sz-pay-qr-box { display: flex; align-items: center; gap: 16px; }
.sz-pay-qr-img { width: 200px; height: 200px; flex: none; }
.sz-pay-qr-img svg { width: 100%; height: 100%; display: block; }
.sz-pay-qr-t { margin: 0; font-size: 14px; line-height: 1.45; color: #4a4540; max-width: 340px; }
.sz-pay-qr-off .sz-pay-qr-box { display: none; }
/* телефон / сенсорний екран — кнопка відкриває застосунок банку; QR не потрібен (свій екран не відскануєш) */
@media (pointer: coarse), (max-width: 767.98px) {
  .sz-pay-bank { display: flex; }
  .sz-pay-qr-box { display: none; }
  .sz-pay-qr { padding: 10px; border: 0; background: none; }
}

/* 27.10 (вечір): компактна картка — фото на всю ширину. Правила вище (.pr-module-items .product-grid > .pr-module-item-top: width/max-width 100%;
   [data-product-id] .pr-module-item-top: margin -10px) сильніші за блок компактної картки — фото не доходило до правого краю на ~15 px */
@media (max-width: 575.98px) {
  .pr-category-products .pr-module-items .pr-module-item.product-grid[data-product-id] > .pr-module-item-top,
  .pr-module:not([data-type="minimal"]) .pr-module-items .pr-module-item.product-grid[data-product-id] > .pr-module-item-top { margin: -8px -8px 0 !important; width: calc(100% + 16px) !important; max-width: none !important; }
}

/* 27.10 (Claude): «Замовлення прийнято» — дозамовлення до цього замовлення (success.twig, patch_success_2710.py) */
.sz-dz { margin: 18px 0 14px; padding: 18px 20px; border-radius: 14px; background: #fff7ea; border: 1px solid #f1dcb4; }
.sz-dz-t { display: block; font-size: 18px; font-weight: 800; color: #2b2723; margin-bottom: 6px; }
.sz-dz-p { margin: 0 0 10px; font-size: 14.5px; line-height: 1.5; color: #4a4540; }
.sz-dz-bar { height: 8px; border-radius: 99px; background: #f1e4cc; overflow: hidden; margin: 4px 0 6px; }
.sz-dz-bar span { display: block; height: 100%; border-radius: 99px; background: linear-gradient(90deg, #e7a83b, #a3123a); }
.sz-dz-gap { margin: 0 0 12px; font-size: 14px; font-weight: 600; color: #8a4b00; }
.sz-dz-act { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; }
.sz-dz-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: 10px 22px; border-radius: 10px; background: #a3123a; color: #fff !important; font-weight: 700; text-decoration: none !important; }
.sz-dz-btn:hover { background: #8a0f31; }
.sz-dz-how { color: #a3123a; font-weight: 600; font-size: 14px; }
.sz-dz-links { margin: 6px 0 12px; font-size: 14px; color: #6b635a; }
.sz-dz-links a { color: #a3123a; font-weight: 700; }
@media (max-width: 575.98px) { .sz-dz { padding: 14px; } .sz-dz-btn { width: 100%; } }

/* 28.10 (Claude): «Новинки» першою плиткою в «Каталозі» головної — лише на телефоні/планшеті (модуль 33 + розділ 267); на ПК як було */
/* 29.10 владелец: «Новинки» в «Каталоге» и на ПК - правило скрытия снято */

/* 28.10 (Claude): Android — кнопки банків для оплати за QR НБУ (sezon.js) */
.sz-pay-android { width: 100%; }
.sz-pay-banks-t { margin: 0 0 8px; font-weight: 700; font-size: 15px; color: #2b2723; }
.sz-pay-banks { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.sz-pay-bk { display: flex; align-items: center; justify-content: center; min-height: 46px; padding: 8px 10px; border-radius: 10px; background: #a3123a; color: #fff !important; font-weight: 700; font-size: 15px; text-decoration: none !important; text-align: center; }
.sz-pay-bk-any { background: #fff; color: #a3123a !important; box-shadow: inset 0 0 0 1.5px #a3123a; grid-column: 1 / -1; }
.sz-pay-banks-n { margin: 8px 0 0; font-size: 13px; color: #8a4b00; }

/* ===== 28.10 (Claude): мобільний пошук — порожній стан, «нічого не знайдено», сторінка результатів ===== */
/* порожній стан (#szSearchHome у common/search.twig): лише на телефоні, коли пошук відкрито й підказок ще немає */
.sz-sh { display: none; }
@media (max-width: 767.98px) {
  .pr-header-search.active:has(#liveSearch.d-none) .sz-sh, .pr-header-search.active:not(:has(#liveSearch)) .sz-sh { display: block; padding: 4px 16px calc(110px + env(safe-area-inset-bottom, 0px)); max-height: calc(100dvh - 64px); overflow-y: auto; }
}
.sz-sh-t { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 16px 0 10px; font-size: 15px; font-weight: 700; color: var(--sz-ink, #2b2f38); }
.sz-sh-clr { border: 0; background: none; padding: 4px 0; color: var(--sz-berry, #a8234f); font-size: 13px; font-weight: 600; }
.sz-sh-chips, .search36-popular .d-flex { display: flex; flex-wrap: wrap; gap: 8px; }
.sz-sh-chips a, .sz-sh-chips button, .search36-popular .d-flex a.button {
  display: inline-flex !important; align-items: center; width: auto !important; max-width: 100%; flex: 0 0 auto !important; min-height: 40px; margin: 0 !important;
  padding: 8px 14px !important; border: 1px solid #e3d9cb !important; border-radius: 999px !important; background: #fff !important; box-shadow: none !important;
  color: var(--sz-ink, #2b2f38) !important; font-size: 14px !important; font-weight: 600; line-height: 1.2; text-align: left; text-decoration: none; }
.sz-sh-rq button::before { content: ""; width: 14px; height: 14px; margin-right: 6px; flex: 0 0 14px; background: currentColor; opacity: .45;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E") center / contain no-repeat; }
.sz-sh-chips a:active, .sz-sh-chips button:active { background: #f6efe4 !important; }
/* живий пошук: «нічого не знайдено» — першим, популярні розділи — пігулками на всю ширину рядка */
.sz-ls-none { padding-top: 4px; }
.pr-livesearch .search36-popular { background: none !important; padding: 0 !important; }
/* сторінка результатів */
.sz-found { font-weight: 700; }
.pr-product-search-page-text:empty { display: none; }
@media (max-width: 575.98px) {
  #product-search > nav { display: none; }   /* «Головна › Пошук» — є шапка і поле запиту */
  #product-search .pr-product-search { padding: 10px 12px !important; margin-bottom: 10px !important; }
  #product-search .pr-product-search .pr-page-title { position: absolute !important; width: 1px; height: 1px; margin: 0 !important; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  #product-search .pr-product-search #input-search { min-height: 44px; padding: 8px 12px; font-size: 16px; }   /* 16 px — iPhone не збільшує сторінку при фокусі */
  #product-search .pr-product-search .sz-search-more { padding-top: 6px; font-size: 13px; }
  #product-search .pr-category-sort { margin-bottom: 12px !important; }
  #product-search .pr-category-sort .content-block { padding: 8px 10px 8px 14px !important; gap: 10px; }
  #product-search .pr-category-sort .content-block > div:not(.pr-category-appearance) { flex: 0 1 auto !important; min-width: 0; }
  #product-search .pr-category-sort-select { max-width: 190px; }
  .sz-found-row { flex: 1 1 auto; min-width: 0; font-size: 14px; color: var(--sz-ink, #2b2f38); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
}
/* порожній результат: поради, популярні розділи, зв'язок */
.sz-search-empty .sz-se-tips { margin: 0 0 4px; padding-left: 18px; color: #5d6470; font-size: 14px; line-height: 1.5; }
.sz-search-empty .search36-ui { padding: 0 !important; }
.sz-search-empty .search36-popular { background: none !important; padding: 8px 0 0 !important; }
.sz-search-empty .sz-se-contact { margin-top: 14px; font-size: 14px; color: #5d6470; }
.sz-search-empty .sz-se-contact a { color: var(--sz-berry, #a8234f); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
/* 28.10 (Claude) уточнення: пігулки розділів без мінімальної ширини .button (стояли по одній у рядку); «Знайдено N» не обрізається — звужується список сортування */
.search36-popular .d-flex { flex-direction: row !important; }
.search36-popular .d-flex a.button { min-width: 0 !important; justify-content: flex-start !important; }
@media (max-width: 575.98px) {
  #product-search .pr-product-search { margin-top: 10px !important; }
  #product-search .pr-category-sort .content-block > div:not(.pr-category-appearance) { flex: 1 1 auto !important; }
  #product-search .pr-category-sort-select { max-width: none; width: 100%; min-width: 0; }
  .sz-found-row { flex: 0 0 auto; overflow: visible; }
}

/* ===== 28.10 (власник): запрошення увійти після першого «В кошик» (sezon.js, dialog.sz-inv-dlg) ===== */
.sz-inv-dlg { width: min(460px, calc(100vw - 32px)); padding: 22px 22px 18px; border: 0; border-radius: 18px; background: var(--sz-paper); color: var(--sz-ink); box-shadow: 0 18px 50px rgba(43,47,58,.28); }
.sz-inv-dlg::backdrop { background: rgba(43,47,58,.45); }
.sz-inv-x { position: absolute; top: 8px; right: 10px; width: 34px; height: 34px; border: 0; background: none; font-size: 26px; line-height: 1; color: var(--sz-muted); cursor: pointer; border-radius: 8px; }
.sz-inv-x:hover { color: var(--sz-ink); background: var(--sz-linen); }
.sz-inv-ok { display: inline-flex; align-items: center; gap: 6px; margin: 0 0 10px; padding: 4px 11px; border-radius: 999px; background: #e5f2e9; color: var(--sz-sage); font-size: 13px; font-weight: 700; }
.sz-inv-ok::before { content: "✓"; font-weight: 900; }
.sz-inv-dlg h3 { margin: 0 34px 12px 0; font-size: 19px; line-height: 1.3; font-weight: 800; }
.sz-inv-dlg ul { list-style: none; margin: 0 0 12px; padding: 0; display: grid; gap: 10px; }
.sz-inv-dlg li { position: relative; padding-left: 40px; font-size: 14.5px; line-height: 1.45; min-height: 30px; }
.sz-inv-dlg li::before { position: absolute; left: 0; top: 0; width: 30px; height: 30px; border-radius: 9px; background: var(--sz-berry-soft); display: grid; place-items: center; font-size: 16px; }
.sz-inv-dlg li.i0::before { content: "%"; color: var(--sz-berry); font-weight: 900; }
.sz-inv-dlg li.i1::before { content: "📦"; }
.sz-inv-dlg li.i2::before { content: "↻"; color: var(--sz-berry); font-weight: 900; font-size: 18px; }
.sz-inv-dlg li b { font-weight: 700; }
.sz-inv-n { margin: 0 0 16px; font-size: 13px; color: var(--sz-muted); line-height: 1.45; }
.sz-inv-b { display: flex; gap: 10px; }
.sz-inv-go { flex: 1; border: 0; border-radius: 12px; padding: 12px 16px; background: var(--sz-berry); color: #fff; font-weight: 700; font-size: 15.5px; cursor: pointer; }
.sz-inv-go:hover { background: var(--sz-berry-dark); }
.sz-inv-later { border: 1px solid var(--sz-line); border-radius: 12px; padding: 12px 16px; background: #fff; color: var(--sz-ink); font-weight: 600; font-size: 15px; cursor: pointer; }
@media (max-width: 575.98px) {
  .sz-inv-dlg { margin: auto 0 0; width: 100vw; max-width: 100vw; border-radius: 18px 18px 0 0; padding: 20px 16px calc(16px + env(safe-area-inset-bottom)); }
  .sz-inv-dlg h3 { font-size: 17.5px; }
}

/* 28.10: історія Prom — «немає на сайті» → посилання в розділ зі схожими (sezon_card::szPromCat) */
.sz-ph-cat { display: inline-flex; align-items: center; margin: 4px 0 0 6px; padding: 3px 10px; border-radius: 999px; background: var(--sz-berry-soft); color: var(--sz-berry) !important; font-size: 12.5px; font-weight: 600; line-height: 1.35; text-decoration: none; transition: background .15s, color .15s; }
.sz-ph-cat:hover { background: var(--sz-berry); color: #fff !important; }

/* ===== 28.10 (Claude): картка товару на телефоні - фото на всю ширину, «В кошик» в один рядок, код повністю, більші кнопки ===== */
@media (max-width: 575.98px) {
  /* фото - квадрат на всю ширину картки (замість 210 px від 27.10); бічні стрілки прибрано - гортати пальцем або мініатюрами */
  .pr-product-images-main .swiper-slide img.d-block { height: auto !important; width: 100% !important; aspect-ratio: 1 / 1; object-fit: contain; }
  .pr-product-images-main .swiper-slide, .pr-product-images-main .swiper-wrapper { height: auto !important; }
  .pr-product-images-main .swiper-button { display: none !important; }
  /* рядок покупки: вужчий лічильник - «В кошик / В корзину» не переноситься на 360 px */
  .sz-pp .sz-buy .sz-step { flex-basis: 112px !important; }
  .sz-pp .sz-buy .sz-step button { flex: 0 0 36px !important; min-width: 36px; }
  .sz-pp .sz-buy .sz-add { white-space: nowrap; min-width: 0; padding-left: 8px; padding-right: 8px; }
  /* код товару - повністю (за ним шукають), наявність - окремим рядком; праворуч місце під «обране» */
  .sz-pp .sz-u .sz-meta { flex-wrap: wrap !important; white-space: normal; row-gap: 6px; padding-right: 54px; }
  .sz-pp .sz-u .sz-meta > span:first-child { flex: 0 0 100%; overflow: visible; text-overflow: clip; display: flex; align-items: center; gap: 8px; }
  /* кнопки «копіювати код» і «в обране» - під палець */
  .sz-pp .sz-copy { width: 36px; height: 36px; border-radius: 9px; }
  .pr-product-actions-buttons .pr-module-item-button-wishlist { width: 44px; height: 44px; display: flex; align-items: center; justify-content: center; }
}

/* ===== 28.10 мобільний UX, другий прохід (Claude, patch_mob_2810.py) ===== */
/* оформлення: обраний перевізник і спосіб доставки - нейтральна рамка; фірмовий колір лише смужкою зліва й у радіокнопці
   (червона рамка з рожевим тлом Нової пошти читалась як помилка в полі) */
.sz-car-tab.on { border-color: var(--sz-ink, #2b2f3a); background: #fff; box-shadow: 0 2px 8px rgba(0, 0, 0, .07); }
.sz-car-tab:hover { border-color: #b9b0a3; }
.sz-car-tab.on:hover { border-color: var(--sz-ink, #2b2f3a); }
.shipping-check-item:has(input[value^="novaposhta"]), .shipping-check-item:has(input[value^="ukrposhta"]) {
  background: #fff !important; border: 1px solid var(--sz-line, #e6ddd0) !important; border-left: 4px solid var(--carrier) !important; }
.shipping-check-item:has(input[name="shipping_method"]:checked) { border-color: var(--sz-line, #e6ddd0) !important; border-left-color: var(--carrier) !important; box-shadow: none; }
/* підсумок оформлення: «Ви заощаджуєте» і рядок доставки (cart.twig .sz-tot-x; дзеркало під товарами - sezon.js szCoSum) */
.sz-tot-x { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: -4px 0 12px; font-size: 14px; color: var(--sz-muted, #7b7368); text-align: left; }
.sz-tot-x b { font-weight: 700; white-space: nowrap; color: var(--sz-ink, #2b2f3a); }
.sz-tot-x.sz-tot-saved, .sz-tot-x.sz-tot-saved b { color: var(--sz-sage, #2f6346); }
.sz-co-sum .sz-co-row.sz-tot-x { margin: 0; font-size: 14px; }
/* вікно «Товар у кошику»: головна дія - до кошика, «Увійти» - другою */
.sz-inv-b .sz-inv-cart { flex: 1; border: 0; border-radius: 12px; padding: 12px 16px; background: var(--sz-berry); color: #fff; font-weight: 700; font-size: 15.5px; cursor: pointer; }
.sz-inv-b .sz-inv-cart:hover { background: var(--sz-berry-dark); }
.sz-inv-b .sz-inv-go { flex: 0 0 auto; background: #fff; color: var(--sz-berry); border: 1.5px solid var(--sz-berry); }
.sz-inv-b .sz-inv-go:hover { background: var(--sz-berry-soft); }
@media (max-width: 991.98px) {
  /* шкала знижок: лише заголовок і «Ще N грн до …», пороги - по тапу (sezon.js, body.sz-ck-all) */
  body:not(.sz-ck-all) .sz-ck > ul { display: none; }
  body:not(.sz-ck-all) .pr-sidebar-cart-delivery.sz-ck-box { min-height: 0; }
  .sz-ck-h { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; cursor: pointer; -webkit-tap-highlight-color: transparent; }
  .sz-ck-h::after { content: "усі пороги ▾"; flex: 0 0 auto; font-size: 13px; font-weight: 600; color: var(--sz-berry); }
  html[lang^="ru"] .sz-ck-h::after { content: "все пороги ▾"; }
  body.sz-ck-all .sz-ck-h::after { content: "згорнути ▴"; }
  html[lang^="ru"] body.sz-ck-all .sz-ck-h::after { content: "свернуть ▴"; }
  /* UA/RU у шапці: зона дотику ~38 px заввишки без збільшення самого перемикача */
  .sz-lang-m .sz-lang-a { position: relative; }
  .sz-lang-m .sz-lang-a::after { content: ""; position: absolute; inset: -10px -2px; }
  /* пошук: розділи з живого пошуку над результатами */
  .sz-search-cats { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 12px; }
  .sz-search-cats span { font-size: 13px; color: var(--sz-muted, #7b7368); }
  .sz-search-cats a { display: inline-flex; align-items: center; min-height: 36px; padding: 6px 14px; border-radius: 999px; border: 1px solid var(--sz-line, #e6ddd0); background: #fff; color: var(--sz-ink, #2b2f3a) !important; font-size: 14px; font-weight: 600; text-decoration: none !important; }
}

/* ===== 28.10 (Claude, patch_perf_2810): швидкість мобільної версії ===== */
/* Головна на телефоні: плитки «Доставка/Оплата…» і таблиця знижок після розділів каталогу - порядком CSS.
   Раніше sezon.js переносив їх після завантаження, і каталог стрибав на ~1000 px (CLS 0,49 → 0). */
@supports selector(:has(a)) {
  @media (max-width: 767.98px) {
    #common-home { display: flex; flex-direction: column; }
    #common-home > .pr-module-html:first-child:has(> .pr-module-html-text > .sz-hero),
    #common-home > .pr-module-html:first-child:has(> .pr-module-html-text > .sz-hero) > .pr-module-html-text,
    #common-home > .pr-module-html:first-child > .pr-module-html-text > .sz-hero,
    #common-home > .pr-module-html:first-child > .pr-module-html-text > .sz-hero > .sz-hero-main { display: contents; }
    #common-home .sz-hero-main::after { display: none; }
    /* текстова частина банера лишається «білою карткою» (як був .content-block.p-3) */
    #common-home .sz-hero-kicker, #common-home .sz-hero h1, #common-home .sz-hero-main > p { background: var(--pr-white-color, #fff); margin: 0; padding: 0 16px; max-width: none; }
    #common-home .sz-hero-kicker { margin-top: 1.5rem; padding-top: 16px; border-radius: .75rem .75rem 0 0; }
    #common-home .sz-hero h1 { padding-top: 14px; }
    #common-home .sz-hero-main > p { padding-top: 14px; }
    #common-home .sz-hero-main > p.sz-hero-ship { padding-top: 28px; padding-bottom: 16px; border-radius: 0 0 .75rem .75rem; }
    #common-home #catalog { order: 1; }
    #common-home .sz-hero-links { order: 2; margin: 1.5rem 0 1rem; }
    #common-home .sz-hero-side { order: 3; }
    #common-home > :not(#catalog):not(.pr-module-html:first-child) { order: 4; }
  }
}
/* Бічне меню каталогу (~1000 вузлів DOM, 165 пунктів) на телефоні не рахувати в layout/style, поки не відкрите */
@media (max-width: 991.98px) {
  .pr-menu-catalog.pr-sidebar-catalog:not(.active) { content-visibility: hidden; }
}

/* ===== 28.10 (Claude, patch_ux2_2810.py): мобільний UX, третій прохід (аудит телефоном 390×844) ===== */
/* кошик (бічний і оформлення): «N × упаковка оптом - дешевше на …» з кнопкою «Замінити» (sezon_card::optHintData / optSwap) */
.sz-opt-hint { display: flex; align-items: center; gap: 10px; width: 100%; margin-top: 8px; padding: 8px 10px; border-radius: 10px; background: #e8f4ec; color: #1f5f3f; font-size: 12.5px; line-height: 1.3; box-sizing: border-box; }
.sz-opt-hint span { flex: 1 1 auto; min-width: 0; }
.sz-opt-hint .sz-opt-swap { flex: none; border: 0; border-radius: 999px; background: #2f7d55; color: #fff; font-weight: 700; font-size: 12.5px; line-height: 1; padding: 9px 12px; cursor: pointer; }
.sz-opt-hint .sz-opt-swap:disabled { opacity: .6; cursor: default; }
/* нижнє меню: «Обране» без «0», «Дивилися» без лічильника (header.twig, sezon.js) */
.pr-mobile-bottom-nav-item-badge.sz-zero { display: none !important; }
/* стрічка знижок на телефоні: один рядок тексту + тонка лінійка без підписів порогів; при прокрутці вниз ховається разом із шапкою (sezon.js rowH) */
@media (max-width: 767.98px) {
  .sz-tapewrap { gap: 4px; padding-top: 5px; padding-bottom: 6px; }
  #szTape .sz-txt { font-size: 12px; padding: 0 !important; border-radius: 0 !important; background: none !important; border: 0 !important; box-shadow: none !important; }
  #szTape .sz-tape { height: 6px; border-radius: 3px; }
  #szTape .sz-stop span, #szTape .sz-ticks { display: none; }
  #szTape .sz-stop { border-left: 2px solid rgba(255,255,255,.9); }
  #szTape .sz-pin { top: -2px; bottom: -2px; width: 3px; }
  /* головна: перший екран коротший - абзац у 2 рядки, менший H1, перший ряд розділів каталогу видно без прокрутки */
  #common-home .sz-hero h1 { font-size: 22px; line-height: 1.2; }
  #common-home .sz-hero-main > p:not(.sz-hero-ship) { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-size: 14px; line-height: 1.35; }
  #common-home .sz-hero-main > p.sz-hero-ship { font-size: 14px; padding-top: 14px !important; }
}

/* 28.10 (Claude, patch_ux2_2810.py, ux2c_2810 - власник): картки в розділі на телефоні помітніше відділені одна від одної */
@media (max-width: 575.98px) {
  .pr-category-products .pr-module-items, #product-search .pr-module-items { gap: 26px !important; }
  .pr-category-products .pr-module-item, #product-search .pr-module-item { border-color: #d6c9b6 !important; box-shadow: 0 1px 2px rgba(60,40,20,.08), 0 12px 24px -8px rgba(60,40,20,.32) !important; }
  .pr-category-products .pr-module-item-top, #product-search .pr-module-item-top { border-bottom: 1px solid #efe7da; }
}

/* ===== 28.10 (Claude, patch_ux2_2810.py, mview13_2810): вид розділу на телефоні - Детально | Плитка ===== */
/* перемикач (.sz-mview у category.twig / search.twig, під рядком сортування; стан - sezon.js, localStorage sz_mview) */
.sz-mview { display: flex; gap: 6px; margin: -4px 0 12px; }
@media (min-width: 768px) { .sz-mview { display: none !important; } }
.sz-mview button { flex: 1 1 0; min-height: 36px; border: 1px solid var(--sz-line, #e3d9cb); border-radius: 10px; background: #fff; font-size: 12.5px; font-weight: 700; color: var(--sz-ink, #2b2b2b); padding: 0 6px; line-height: 1.1; }
.sz-mview button.on { background: var(--sz-berry, #a8244b); border-color: var(--sz-berry, #a8244b); color: #fff; }
.sz-tile-col, .sz-tile-act { display: none; }
/* «Плитка»: 2 в ряд (телефон), 3 в ряд (576-767): фото, колір, назва без кольору, ціна, значок кошика + значок «ОПТ −N%» (шторка .sz-bs) */
@media (max-width: 767.98px) {
  body.sz-mv-tiles :is(.pr-category-products, #product-search) .pr-module-items { display: grid !important; grid-template-columns: 1fr 1fr; gap: 10px !important; }
  body.sz-mv-tiles :is(.pr-category-products, #product-search) .pr-module-items .pr-module-item.product-grid { width: auto !important; max-width: none !important; flex: none !important; padding: 0 0 8px !important; overflow: hidden; margin: 0 !important; min-width: 0; }
  body.sz-mv-tiles :is(.pr-category-products, #product-search) .pr-module-items .product-grid .pr-module-item-top { margin: 0 !important; border-bottom: 0; }
  body.sz-mv-tiles :is(.pr-category-products, #product-search) .pr-module-items .product-grid .pr-module-item-image, body.sz-mv-tiles :is(.pr-category-products, #product-search) .pr-module-items .product-grid .pr-module-item-image a, body.sz-mv-tiles :is(.pr-category-products, #product-search) .pr-module-items .product-grid .pr-module-item-image img { height: 150px !important; margin: 0 !important; width: 100% !important; object-fit: cover; }
  body.sz-mv-tiles :is(.pr-category-products, #product-search) .pr-module-items .product-grid .pr-module-item-buttons .sz-zoom, body.sz-mv-tiles :is(.pr-category-products, #product-search) .pr-module-items .product-grid .pr-module-item-buttons .pr-module-item-button-viewed,
  body.sz-mv-tiles :is(.pr-category-products, #product-search) .pr-module-items .product-grid .sz-optb, body.sz-mv-tiles :is(.pr-category-products, #product-search) .pr-module-items .product-grid .pr-module-item-info, body.sz-mv-tiles :is(.pr-category-products, #product-search) .pr-module-items .product-grid .sz-meta,
  body.sz-mv-tiles :is(.pr-category-products, #product-search) .pr-module-items .product-grid .sz-mode, body.sz-mv-tiles :is(.pr-category-products, #product-search) .pr-module-items .product-grid .sz-price .opts, body.sz-mv-tiles :is(.pr-category-products, #product-search) .pr-module-items .product-grid .sz-price .k,
  body.sz-mv-tiles :is(.pr-category-products, #product-search) .pr-module-items .product-grid .sz-buy, body.sz-mv-tiles :is(.pr-category-products, #product-search) .pr-module-items .product-grid .sz-total, body.sz-mv-tiles :is(.pr-category-products, #product-search) .pr-module-items .product-grid .sz-dots { display: none !important; }
  body.sz-mv-tiles :is(.pr-category-products, #product-search) .pr-module-items .product-grid .pr-module-item-bottom { margin: 8px 0 0 !important; padding: 0 8px; gap: 6px !important; min-width: 0; width: 100%; box-sizing: border-box; }
  body.sz-mv-tiles :is(.pr-category-products, #product-search) .pr-module-items .product-grid .pr-module-item-title { font-size: 12.5px !important; line-height: 1.3 !important; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-height: 2.6em; overflow-wrap: anywhere; color: #6a655f !important; font-weight: 500 !important; }
  body.sz-mv-tiles :is(.pr-category-products, #product-search) .pr-module-items .product-grid .pr-module-item-title .sz-tc { display: none; }
  body.sz-mv-tiles :is(.pr-category-products, #product-search) .pr-module-items .product-grid .sz-tile-col { display: flex; align-items: center; gap: 6px; font-size: 14px; font-weight: 700; line-height: 1.2; color: var(--sz-ink, #2b2b2b); }
  /* однаковий каркас у ряду: рядок кольору завжди (порожній - теж), назва рівно 2 рядки, ціна і кнопки притиснуті до низу */
  body.sz-mv-tiles :is(.pr-category-products, #product-search) .pr-module-items .product-grid .sz-tile-col { min-height: 17px; }
  body.sz-mv-tiles :is(.pr-category-products, #product-search) .pr-module-items .product-grid .sz-tile-col-empty { display: block; }
  body.sz-mv-tiles :is(.pr-category-products, #product-search) .pr-module-items .product-grid .pr-module-item-title { max-height: 2.6em; }
  body.sz-mv-tiles :is(.pr-category-products, #product-search) .pr-module-items .product-grid .pr-module-item-bottom { flex: 1 1 auto !important; display: flex !important; flex-direction: column; justify-content: flex-start !important; }
  body.sz-mv-tiles :is(.pr-category-products, #product-search) .pr-module-items .product-grid .pr-module-item-price-box { margin-top: auto !important; }
  body.sz-mv-tiles :is(.pr-category-products, #product-search) .pr-module-items .product-grid .sz-tile-col i { flex: none; width: 14px; height: 14px; border-radius: 50%; border: 1px solid rgba(0,0,0,.15); }
  body.sz-mv-tiles :is(.pr-category-products, #product-search) .pr-module-items .product-grid .sz-card { gap: 6px !important; }
  body.sz-mv-tiles :is(.pr-category-products, #product-search) .pr-module-items .product-grid .sz-price { padding: 0 !important; background: none !important; border: 0 !important; min-height: 0 !important; }
  body.sz-mv-tiles :is(.pr-category-products, #product-search) .pr-module-items .product-grid .sz-price .line { justify-content: flex-start; min-height: 0 !important; }
  body.sz-mv-tiles :is(.pr-category-products, #product-search) .pr-module-items .product-grid .sz-price .big { font-size: 19px !important; }
  body.sz-mv-tiles :is(.pr-category-products, #product-search) .pr-module-items .product-grid .sz-tile-act { display: flex; gap: 6px; align-items: stretch; }
  body.sz-mv-tiles :is(.pr-category-products, #product-search) .pr-module-items .product-grid .sz-tile-cart { flex: 1 1 auto; min-height: 38px; border: 0; border-radius: 10px; background: var(--sz-berry, #a8244b); color: #fff; display: flex; align-items: center; justify-content: center; }
  body.sz-mv-tiles :is(.pr-category-products, #product-search) .pr-module-items .product-grid .sz-tile-cart svg { width: 20px; height: 20px; }
  body.sz-mv-tiles :is(.pr-category-products, #product-search) .pr-module-items .product-grid .sz-tile-opt { flex: none; min-height: 38px; padding: 0 9px; border: 1.5px solid #2f7d55; border-radius: 10px; background: #e8f4ec; color: #1f5f3f; font-size: 11.5px; font-weight: 800; letter-spacing: .02em; white-space: nowrap; }
  body.sz-mv-tiles :is(.pr-category-products, #product-search) .pr-module-items .product-grid .sz-tile-none { flex: 1 1 auto; min-height: 38px; display: flex; align-items: center; justify-content: center; border-radius: 10px; background: #f1ece4; color: #7a736b; font-size: 12px; font-weight: 600; }
}
@media (min-width: 576px) and (max-width: 767.98px) {
  body.sz-mv-tiles :is(.pr-category-products, #product-search) .pr-module-items { grid-template-columns: repeat(3, 1fr); }
}
/* шторка «роздріб / опт» (sezon.js open()) */
.sz-bs { position: fixed; inset: 0; z-index: 13050; }
.sz-bs-bd { position: absolute; inset: 0; background: rgba(20,14,8,.45); opacity: 0; transition: opacity .25s; }
.sz-bs-in { position: absolute; left: 0; right: 0; bottom: 0; max-height: 88vh; overflow-y: auto; background: #fff; border-radius: 18px 18px 0 0; padding: 14px 14px calc(16px + env(safe-area-inset-bottom, 0px)); transform: translateY(100%); transition: transform .25s ease-out; box-shadow: 0 -8px 30px rgba(0,0,0,.18); }
.sz-bs.show .sz-bs-bd { opacity: 1; } .sz-bs.show .sz-bs-in { transform: none; }
body.sz-bs-open { overflow: hidden; }
.sz-bs-top { display: flex; gap: 12px; align-items: flex-start; margin-bottom: 12px; padding-right: 36px; position: relative; }
.sz-bs-top img { width: 56px; height: 56px; border-radius: 10px; object-fit: cover; flex: none; border: 1px solid var(--sz-line, #e3d9cb); }
.sz-bs-name { font-size: 14px; font-weight: 700; line-height: 1.3; color: var(--sz-ink, #2b2b2b); }
.sz-bs-code { font-size: 12px; color: #8a8378; margin-top: 2px; }
.sz-bs-x { position: absolute; right: -4px; top: -6px; width: 36px; height: 36px; border: 0; background: #f1ece4; border-radius: 50%; font-size: 22px; line-height: 1; color: #5f5a55; }
.sz-bs-row { border: 1.5px solid var(--sz-line, #e3d9cb); border-radius: 14px; padding: 10px 12px; margin-bottom: 10px; }
.sz-bs-row.opt { border-color: #bfdccb; background: #f3faf5; }
.sz-bs-row.on { box-shadow: 0 0 0 2px #2f7d55; }
.sz-bs-row.out { opacity: .7; }
.sz-bs-h { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; }
.sz-bs-h b { font-size: 12px; text-transform: uppercase; letter-spacing: .04em; color: var(--sz-berry, #a8244b); }
.sz-bs-row.opt .sz-bs-h b { color: #1f5f3f; }
.sz-bs-p { font-size: 20px; font-weight: 800; color: var(--sz-ink, #2b2b2b); white-space: nowrap; }
.sz-bs-p small { font-size: 12px; font-weight: 500; color: #6f6a64; }
.sz-bs-per { font-size: 12px; color: #1f5f3f; font-weight: 600; margin-top: 2px; text-align: right; }
.sz-bs-tiers { display: grid; grid-template-columns: repeat(auto-fill, minmax(96px, 1fr)); gap: 6px; margin-top: 8px; }
.sz-bs-tier { border: 1px solid var(--sz-line, #e3d9cb); border-radius: 10px; background: #fff; padding: 6px 8px; text-align: left; display: flex; flex-direction: column; gap: 1px; font: inherit; line-height: 1.2; }
.sz-bs-tier b { font-size: 11.5px; color: #6f6a64; font-weight: 600; }
.sz-bs-tier span { font-size: 14px; font-weight: 800; color: var(--sz-ink, #2b2b2b); }
.sz-bs-tier em { font-style: normal; font-size: 11px; font-weight: 800; color: #1f5f3f; }
.sz-bs-tier.on { border-color: var(--sz-berry, #a8244b); background: #fbeef2; box-shadow: inset 0 0 0 1px var(--sz-berry, #a8244b); }
.sz-bs-row.opt .sz-bs-tier.on { border-color: #2f7d55; background: #e8f4ec; box-shadow: inset 0 0 0 1px #2f7d55; }
.sz-bs-stock { font-size: 12px; color: #2f7d55; margin-top: 4px; }
.sz-bs-stock::before { content: '● '; font-size: 9px; vertical-align: 1px; }
.sz-bs-stock.out { color: #8a8378; }
.sz-bs-buy { display: flex; gap: 8px; margin-top: 8px; }
.sz-bs-step { display: flex; align-items: stretch; border: 1px solid var(--sz-line, #e3d9cb); border-radius: 10px; overflow: hidden; background: #fff; flex: none; }
.sz-bs-step button { width: 36px; border: 0; background: none; font-size: 20px; color: var(--sz-ink, #2b2b2b); }
.sz-bs-step input { width: 44px; border: 0; text-align: center; font-weight: 700; font-size: 15px; }
.sz-bs-add { flex: 1 1 auto; min-height: 42px; border: 0; border-radius: 10px; background: var(--sz-berry, #a8244b); color: #fff; font-weight: 700; font-size: 14px; display: flex; align-items: center; justify-content: center; gap: 8px; }
.sz-bs-add svg { width: 18px; height: 18px; }
.sz-bs-add.done { background: #2f7d55; } .sz-bs-add:disabled { opacity: .75; }
.sz-bs-sum { font-size: 12px; color: #6f6a64; margin-top: 6px; }
.sz-bs-toast { position: fixed; left: 50%; bottom: 100px; transform: translateX(-50%); z-index: 13060; background: #2b2b2b; color: #fff; padding: 10px 14px; border-radius: 10px; font-size: 13px; max-width: 90vw; }

/* mview5: шторка - роздріб і опт чітко розділені, знижки помітні, упаковка опту окремим рядком */
.sz-bs-row { padding: 0 !important; overflow: hidden; }
.sz-bs-row > *:not(.sz-bs-head) { margin-left: 12px; margin-right: 12px; }
.sz-bs-row > :last-child { margin-bottom: 12px; }
.sz-bs-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 7px 12px; background: #fbeef2; color: var(--sz-berry, #a8244b); font-size: 12.5px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; margin-bottom: 8px; }
.sz-bs-row.opt .sz-bs-head { background: #2f7d55; color: #fff; }
.sz-bs-head small { font-size: 11.5px; font-weight: 600; letter-spacing: 0; text-transform: none; opacity: .9; }
.sz-bs-disc { background: #fff; color: #1f6a43; border-radius: 999px; padding: 2px 9px; font-size: 13px; font-weight: 900; letter-spacing: 0; }
.sz-bs-row:not(.opt) .sz-bs-disc { background: #2f7d55; color: #fff; }
.sz-bs-h { margin-bottom: 2px; }
.sz-bs-h b { display: none; }
.sz-bs-pack { font-size: 13px; color: var(--sz-ink, #2b2b2b); margin-top: 2px; }
.sz-bs-pack b { font-weight: 800; }
.sz-bs-save { display: inline-block; margin-top: 6px; padding: 4px 9px; border-radius: 8px; background: #e8f4ec; color: #1f5f3f; font-size: 12.5px; font-weight: 700; }
.sz-bs-save s { color: #8a8378; font-weight: 500; margin-left: 4px; }
.sz-bs-per { text-align: left !important; }
.sz-bs-tier em { display: inline-block; align-self: flex-start; margin-top: 2px; background: #2f7d55; color: #fff; border-radius: 999px; padding: 1px 7px; font-size: 11.5px !important; }
.sz-bs-row.opt .sz-bs-add { background: #2f7d55; }
.sz-bs-sum { display: none !important; }
.sz-bs-add span { font-size: 16px; font-weight: 800; }
.sz-bs-vs { color: #8a8378; font-weight: 500; margin-left: 4px; }
.sz-bs-pk { font-size: 13px; font-weight: 800; letter-spacing: 0; text-transform: none; color: var(--sz-ink, #2b2b2b); background: #fff; border-radius: 999px; padding: 2px 10px; }
.sz-bs-pack { display: inline-flex !important; align-items: baseline; gap: 8px; margin-top: 6px !important; padding: 6px 12px; border-radius: 10px; background: #fff; border: 1.5px solid #2f7d55; }
.sz-bs-pack span { font-size: 12px; font-weight: 700; color: #1f5f3f; text-transform: uppercase; letter-spacing: .04em; }
.sz-bs-pack b { font-size: 20px; font-weight: 900; color: #1f5f3f; line-height: 1; }
.sz-bs-tier.off { opacity: .5; background: #f6f3ee; cursor: default; }
.sz-bs-tier.off em { background: #9a948c !important; }
.sz-bs-tier i { font-style: normal; font-size: 11px; font-weight: 600; color: #8a8378; margin-top: 2px; }
.sz-tile-tone { display: none; }
@media (max-width: 767.98px) {
  body.sz-mv-tiles :is(.pr-category-products, #product-search) .pr-module-items .product-grid .pr-module-item-buttons .sz-tile-tone {
    display: flex !important; order: 3; width: 38px; height: 38px; padding: 0 !important; align-items: center; justify-content: center; color: var(--sz-berry, #a8244b);
    border-radius: 50% !important; background: rgba(255,255,255,.92) !important; border: 0 !important; box-shadow: 0 2px 8px rgba(0,0,0,.12) !important; }
  body.sz-mv-tiles :is(.pr-category-products, #product-search) .pr-module-items .product-grid .sz-tile-tone svg { width: 19px; height: 19px; }
}

/* 28.10 (Claude, patch_ux2_2810.py, mview_qv_2810): швидкий перегляд на телефоні - без обрізання блоку купівлі справа */
@media (max-width: 575.98px) {
  #quickViewModal .modal-dialog { margin: 8px auto; max-width: calc(100vw - 16px); }
  #quickViewModal .modal-body { padding: 12px !important; }
  #quickViewModal .modal-body .row { --bs-gutter-x: 0; }
  #quickViewModal .sz-pp { min-width: 0; max-width: 100%; }
  #quickViewModal .sz-pp .sz-seg button { min-width: 0; padding-left: 6px; padding-right: 6px; }
}

/* 28.10 (mview_badge_2810): плитка - плашка «У кошику: …» на фото дрібніша і переноситься, не обрізається */
@media (max-width: 767.98px) { body.sz-mv-tiles :is(.pr-category-products, #product-search) .pr-module-items .product-grid .sz-cart-full { font-size: 10.5px; line-height: 1.2; white-space: normal; padding: 3px 7px; max-width: calc(100% - 12px); } }

/* 28.10 (Claude, patch_ux2_2810.py, fixedbottom_2810 - власник: «перекрилось»): усе прилипле до низу екрана на телефоні - вище нижнього меню і повз кнопку «вгору» */
@media (max-width: 991.98px) {
  .pk63-offer { bottom: calc(96px + env(safe-area-inset-bottom, 0px)) !important; left: 12px !important; right: 66px !important; width: auto !important; max-width: none !important; padding: 14px 16px !important; z-index: 12002 !important; }
  .pk63-offer > p:first-child { margin-bottom: 10px !important; }
  .sz-toast { bottom: calc(96px + env(safe-area-inset-bottom, 0px)) !important; z-index: 12005 !important; }
}

/* 28.10 (mview_badge2_2810): плашка «У кошику: …» на фото плитки - клас .sz-incart (не .sz-cart-full): дрібніше і з переносом, не обрізається */
@media (max-width: 767.98px) { body.sz-mv-tiles :is(.pr-category-products, #product-search) .pr-module-items .product-grid .sz-incart { font-size: 10.5px !important; line-height: 1.2 !important; white-space: normal !important; text-align: left; padding: 3px 7px !important; max-width: calc(100% - 20px); } }

/* 28.10 (mview_green_2810, власник): плитка - товар уже в кошику (картка .sz-in-cart, ставить sezon_cards.js) → значок кошика зелений з галочкою */
@media (max-width: 767.98px) {
  body.sz-mv-tiles :is(.pr-category-products, #product-search) .pr-module-items .product-grid.sz-in-cart .sz-tile-cart { background: #2f7d55; }
  body.sz-mv-tiles :is(.pr-category-products, #product-search) .pr-module-items .product-grid.sz-in-cart .sz-tile-cart::after { content: '\2713'; font-size: 14px; font-weight: 800; margin-left: 5px; }
}

/* 28.10 (Claude, patch_ux2_2810.py, hscroll_2810 - власник: «зсунув екран убік», «модалка не влазить»): на телефоні нічого не ширше екрана */
@media (max-width: 767.98px) {
  html, body { overflow-x: clip; }
  .pr-module-items > .pr-module-item { max-width: 100% !important; min-width: 0 !important; box-sizing: border-box; }
  .pr-module-items > .pr-module-item img { max-width: 100% !important; }
  .pr-module-items > .pr-module-item .pr-module-item-bottom, .pr-module-items > .pr-module-item .pr-module-item-title, .pr-module-items > .pr-module-item .sz-card,
  .pr-module-items > .pr-module-item .sz-price, .pr-module-items > .pr-module-item .sz-price .line { min-width: 0 !important; max-width: 100%; }
  .pr-module-items > .pr-module-item .pr-module-item-title { overflow-wrap: anywhere; }
  .pr-module[data-type="minimal"] .pr-module-items > .pr-module-item { flex: 1 1 100% !important; }
  #common-home .pr-module:is([data-type="width50"],[data-type="split"]) .pr-module-items { margin-left: -12px !important; margin-right: -12px !important; padding-left: 12px !important; padding-right: 12px !important; }
  .sz-bs-in { width: 100%; max-width: 100vw; box-sizing: border-box; }
  .sz-bs-top > div { min-width: 0; overflow-wrap: anywhere; }
}

/* 28.10 (mview_seg_2810): перемикач виду - сегмент з іконками праворуч від сортування */
@media (max-width: 767.98px) {
  .pr-category-sort .content-block { gap: 8px; }
  .pr-category-sort .sz-mview.sz-mview-seg { display: inline-flex; flex: none; gap: 2px; margin: 0; padding: 3px; background: #f1ece4; border-radius: 10px; }
  .pr-category-sort .sz-mview-seg button { flex: none; min-height: 38px; min-width: 42px; padding: 0 9px; border: 0; border-radius: 8px; background: transparent; color: #7a736b; display: inline-flex; align-items: center; justify-content: center; gap: 5px; font-size: 12px; font-weight: 700; line-height: 1; }
  .pr-category-sort .sz-mview-seg button.on { background: #fff; color: var(--sz-berry, #a8244b); border: 0; box-shadow: 0 1px 3px rgba(60,40,20,.18); }
}
@media (max-width: 399.98px) { .pr-category-sort .sz-mview-seg button span { display: none; } }

/* mview_seg2_2810: лише іконки (з підписами не влазило поруч із сортуванням на 414 px), сегмент тієї ж висоти, що й поле сортування */
@media (max-width: 767.98px) {
  .pr-category-sort .sz-mview-seg button span { display: none; }
  .pr-category-sort .sz-mview-seg button { min-width: 44px; min-height: 40px; padding: 0; }
  .pr-category-sort .sz-mview-seg button svg { width: 18px; height: 18px; }
  .pr-category-sort .content-block > div:first-child { min-width: 0; }
}

/* mview_img_2810 (власник: «фото в плитці не по центру»): блок фото був ширший за плитку (185 px у 171) і обрізався справа - фото зсувалось праворуч */
@media (max-width: 767.98px) {
  body.sz-mv-tiles :is(.pr-category-products, #product-search) .pr-module-items .product-grid .pr-module-item-top,
  body.sz-mv-tiles :is(.pr-category-products, #product-search) .pr-module-items .product-grid .pr-module-item-image,
  body.sz-mv-tiles :is(.pr-category-products, #product-search) .pr-module-items .product-grid .pr-module-item-image > a { width: 100% !important; max-width: 100% !important; margin-left: 0 !important; margin-right: 0 !important; left: 0 !important; box-sizing: border-box; }
  body.sz-mv-tiles :is(.pr-category-products, #product-search) .pr-module-items .product-grid .pr-module-item-image img { width: 100% !important; max-width: 100% !important; margin: 0 !important; object-position: 50% 50%; }
}

/* mobaudit_2810 (автоаудит мобільної версії 28.10: 14 сторінок × 360/414) */
@media (max-width: 767.98px) {
  /* пошук: «Знайдено N товарів» + сортування + перемикач виду не влазили в рядок (сортування «За ре…», перемикач обрізаний) - лічильник окремим рядком */
  #product-search .pr-category-sort .content-block { flex-wrap: wrap; row-gap: 8px; }
  #product-search .pr-category-sort .sz-found-row { flex: 1 1 100%; }
  .pr-category-sort .sz-mview.sz-mview-seg { flex: none !important; }
  /* ярлик ОПТ на фото: підпис упаковки 8,8 px - не читався */
  .sz-optb small { font-size: 10.5px !important; }
  /* малі зони натискання (18-28 px) - невидиме розширення до ~40 px */
  .pr-sidebar-cart-product-delete, a.pr-sidebar-cart-product-delete, .sz-cart-add, .sz-search-more, #product-product a.p-0 { position: relative; }
  .pr-sidebar-cart-product-delete::after, .sz-cart-add::after, .sz-search-more::after, #product-product a.p-0::after { content: ''; position: absolute; inset: -10px; }
}

/* mobaudit2_2810: пошук 360 px - сортування і перемикач в одному рядку під лічильником */
@media (max-width: 767.98px) {
  .pr-category-sort .content-block > .d-flex.flex-grow-1 { flex: 1 1 0 !important; min-width: 0; }
  .pr-category-sort .content-block > .d-flex.flex-grow-1 select { width: 100%; min-width: 0; }
  .pr-category-sort .sz-mview.sz-mview-seg { width: auto !important; }
}

/* mobaudit3_2810: у пошуку правило 28.10 «#product-search … > div:not(.pr-category-appearance) {flex:1 1 auto}» розтягувало і перемикач - перебиваємо точніше */
@media (max-width: 767.98px) {
  #product-search .pr-category-sort .content-block > .sz-mview.sz-mview-seg { flex: none !important; }
  #product-search .pr-category-sort .content-block > .d-flex.flex-grow-1 { flex: 1 1 0 !important; }
  #product-search .pr-category-sort .content-block > .sz-found-row { flex: 1 1 100% !important; }
}

/* mview_eye_2810 (власник: «у плитці глазик - перегляд»): кнопка швидкого перегляду Promo (octPopUpView) - кругла, під сердечком */
@media (max-width: 767.98px) {
  body.sz-mv-tiles :is(.pr-category-products, #product-search) .pr-module-items .product-grid .pr-module-item-buttons .pr-module-item-button-viewed {
    display: flex !important; order: 2; width: 38px; height: 38px; padding: 0 !important; align-items: center; justify-content: center;
    border-radius: 50% !important; background: rgba(255,255,255,.92) !important; border: 0 !important; box-shadow: 0 2px 8px rgba(0,0,0,.12) !important; }
  body.sz-mv-tiles :is(.pr-category-products, #product-search) .pr-module-items .product-grid .pr-module-item-buttons .pr-module-item-button-viewed svg { width: 18px; height: 18px; }
  body.sz-mv-tiles :is(.pr-category-products, #product-search) .pr-module-items .product-grid .pr-module-item-buttons .pr-module-item-button-wishlist { order: 1; }
}

/* mview_fulltitle_2810 (власник: «у плитці назви не обрізай»): назва повністю; ряди рівні - плитки в ряду однакової висоти, ціна й кнопки притиснуті до низу */
@media (max-width: 767.98px) {
  body.sz-mv-tiles :is(.pr-category-products, #product-search) .pr-module-items .product-grid .pr-module-item-title { display: block !important; -webkit-line-clamp: unset !important; max-height: none !important; overflow: visible !important; }
}

/* qv_sticky_2810 (власник: «у попередньому перегляді хрестик липкий»): шапка швидкого перегляду «Про товар ×» лишається вгорі при прокрутці */
#quickViewModal .modal-header { position: sticky; top: 0; z-index: 5; border-radius: inherit; box-shadow: 0 1px 0 var(--sz-line, #ece6dc); }
@media (max-width: 575.98px) { #quickViewModal .modal-header { padding: 12px 16px !important; } }

/* mview_btns_small_2810 (власник: «3 кнопки на фото менші й напівпрозорі»): сердечко, перегляд, тон - 32 px, фон 55% з розмиттям; зона натискання лишається ~40 px */
@media (max-width: 767.98px) {
  body.sz-mv-tiles :is(.pr-category-products, #product-search) .pr-module-items .product-grid .pr-module-item-buttons { gap: 6px !important; top: 6px !important; right: 6px !important; }
  body.sz-mv-tiles :is(.pr-category-products, #product-search) .pr-module-items .product-grid .pr-module-item-buttons > :is(.pr-module-item-button-wishlist, .pr-module-item-button-viewed, .sz-tile-tone) {
    width: 32px !important; height: 32px !important; min-width: 0 !important; min-height: 0 !important; padding: 0 !important; position: relative;
    background: rgba(255,255,255,.55) !important; -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); box-shadow: 0 1px 4px rgba(0,0,0,.10) !important; }
  body.sz-mv-tiles :is(.pr-category-products, #product-search) .pr-module-items .product-grid .pr-module-item-buttons > :is(.pr-module-item-button-wishlist, .pr-module-item-button-viewed, .sz-tile-tone)::after { content: ''; position: absolute; inset: -4px; }
  body.sz-mv-tiles :is(.pr-category-products, #product-search) .pr-module-items .product-grid .pr-module-item-buttons > :is(.pr-module-item-button-wishlist, .pr-module-item-button-viewed, .sz-tile-tone) svg { width: 15px !important; height: 15px !important; }
}

/* final_2810 mobile */
/* (1) плитка на 576-767 px: ціна без порожніх grid-рядків 40px+55px (дірка між ціною і кнопкою) */
@media (min-width: 576px) and (max-width: 767.98px) {
  body.sz-mv-tiles :is(.pr-category-products, #product-search) .pr-module-items .product-grid .sz-price { grid-template-rows: auto auto !important; gap: 4px !important; }
  body.sz-mv-tiles :is(.pr-category-products, #product-search) .pr-module-items .product-grid .sz-price .line { min-height: 0 !important; }
  body.sz-mv-tiles :is(.pr-category-products, #product-search) .pr-module-items .product-grid .sz-price .big { line-height: 1.15; }
}
@media (max-width: 767.98px) {
  /* (2) пошук: чипи «Розділи:» - один рядок з горизонтальною прокруткою, а не стовпчик */
  .sz-search-cats { flex-wrap: nowrap !important; overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none; margin: 0 -12px 12px !important; padding: 0 12px 4px; }
  .sz-search-cats::-webkit-scrollbar { display: none; }
  .sz-search-cats span, .sz-search-cats a { flex: none; white-space: nowrap; }
  /* (3) живий пошук: наклейка наявності 10 px → 11 px */
  .pr-livesearch .pr-stock-sticker { font-size: 11px !important; }
}

/* 29.10 (Claude, владелец «сделай уже баннер»): первый экран главной компактнее на ПК - 390 -> ~320 px; заголовок в 2 строки, плитки без переносов, блок скидок без пустоты */
@media (min-width: 992px) {
  #common-home .sz-hero-main { padding: 24px 30px !important; }
  #common-home .sz-hero-main h1 { font-size: 30px !important; line-height: 1.2 !important; }
  #common-home .sz-hero-links { gap: 8px !important; align-content: center; }
  #common-home .sz-hero-links a { padding: 8px 12px !important; }
  #common-home .sz-hero-side { padding: 18px 22px 16px !important; align-content: center; }
}
@media (min-width: 1200px) { #common-home .sz-hero-links { grid-template-columns: repeat(2, minmax(190px, 1fr)) !important; } }

/* 29.10 (Claude): 992-1199 px - скидки полосой под первым экраном (было: столбик слева и пустой блок скидок справа) */
@media (min-width: 992px) and (max-width: 1199.98px) {
  #common-home .sz-hero { grid-template-columns: 1fr !important; }
  #common-home .sz-hero-main { display: grid !important; grid-template-columns: minmax(0, 1fr) minmax(380px, 420px) !important; column-gap: 24px !important; align-items: center; }
  #common-home .sz-hero-main > :not(.sz-hero-links) { grid-column: 1; }
  #common-home .sz-hero-main > .sz-hero-links { grid-column: 2; grid-row: 1 / span 6; }
  #common-home .sz-hero-side ul { display: grid; grid-template-columns: 1fr 1fr; column-gap: 28px; }
}

/* sezon QA 29.10 */
/* пошук: кнопка «Уточнити пошук» (sezon.js) оформлена лише для телефона - на ширших екранах форма і так розгорнута */
@media (min-width: 768px) { .sz-search-more { display: none !important; } }
/* оформлення: до formChangeData() (~1,3 с) Promo малює сирий кошик (10.30 грн, без шапки) і підсумок без шкали -
   вміст ховаємо (місце лишається), у картці кошика - значок завантаження; страховка 2,5 с */
#checkout-checkout #cart-table:not(:has(.sz-co-cart-head)) > *,
#checkout-checkout .pr-cart-column-total:not(:has(.sz-ck-box)) > * { visibility: hidden; animation: szCoShow 0s 2.5s forwards; }
#checkout-checkout #cart-table:not(:has(.sz-co-cart-head)) { position: relative; }
#checkout-checkout #cart-table:not(:has(.sz-co-cart-head))::after { content: ''; position: absolute; left: 50%; top: 50%; width: 28px; height: 28px; margin: -14px 0 0 -14px; border: 3px solid rgba(0, 0, 0, .12); border-top-color: var(--sz-berry, #a8244b); border-radius: 50%; animation: szCoSpin .8s linear infinite, szCoHide 0s 2.5s forwards; }
@keyframes szCoShow { to { visibility: visible; } }
@keyframes szCoHide { to { opacity: 0; } }
@keyframes szCoSpin { to { transform: rotate(360deg); } }

/* 30.10 (власник): плитка - плашка «за що ціна» в рядку з ціною, поріг нижче; шторка - без смуги «Роздріб», мінімум під лічильником */
.sz-tile-u, .sz-tile-t { display: none; }
@media (max-width: 767.98px) {
  body.sz-mv-tiles :is(.pr-category-products, #product-search) .pr-module-items .product-grid .sz-price .line { display: flex; align-items: baseline; flex-wrap: nowrap; gap: 5px; min-width: 0; white-space: nowrap; }
  body.sz-mv-tiles :is(.pr-category-products, #product-search) .pr-module-items .product-grid .sz-price .big { flex: none; }
  body.sz-mv-tiles :is(.pr-category-products, #product-search) .pr-module-items .product-grid .sz-tile-u { display: inline-block; flex: none; margin-left: auto; align-self: center; padding: 3px 6px; border-radius: 6px; background: #f1ece4; color: #5f5a55; font-size: 11px; font-weight: 600; line-height: 1.2; white-space: nowrap; }
  body.sz-mv-tiles :is(.pr-category-products, #product-search) .pr-module-items .product-grid .sz-tile-t { display: block; min-height: 15px; color: #2f7d55; font-size: 12px; font-weight: 700; line-height: 1.25; white-space: nowrap; }
  body.sz-mv-tiles :is(.pr-category-products, #product-search) .pr-module-items .product-grid .sz-card { gap: 6px !important; }
  body.sz-mv-tiles :is(.pr-category-products, #product-search) .pr-module-items .product-grid .sz-u-sm .big .num { font-size: 18px !important; }
  body.sz-mv-tiles :is(.pr-category-products, #product-search) .pr-module-items .product-grid .sz-u-xs .big .num { font-size: 16.5px !important; }
  body.sz-mv-tiles :is(.pr-category-products, #product-search) .pr-module-items .product-grid .sz-u-sm .line { gap: 3px; }
  body.sz-mv-tiles :is(.pr-category-products, #product-search) .pr-module-items .product-grid .sz-u-sm .sz-tile-u { padding: 3px 4px; }
  body.sz-mv-tiles :is(.pr-category-products, #product-search) .pr-module-items .product-grid .sz-u-tn .sz-tile-u { flex: 0 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; }
}
.sz-bs-row.nohead { padding-top: 14px !important; padding-bottom: 14px !important; }
.sz-bs-row.nohead .sz-bs-h { margin-top: 0 !important; }
.sz-bs-min { margin-top: 8px; font-size: 13px; font-weight: 600; line-height: 1.3; color: #2b2b2b; }
.sz-bs-row:not(.nohead) .sz-bs-min { margin-bottom: 10px; }

/* 30.10 (Claude): фірмові знаки перевізників на вкладках доставки; файли image/carriers/*.svg */
.sz-car-logo { display: block; flex: 0 0 auto; width: auto; height: 24px; }
.sz-car-tab b { white-space: nowrap; }
/* вузькі екрани: радіо не вміщується поруч із лого, обрану вкладку показує товща темна рамка */
@media (max-width: 575px) {
  .sz-car-tab { gap: 6px; padding: 8px 6px; font-size: 14px; }
  .sz-car-tab::before { display: none; }
  .sz-car-tab.on { box-shadow: inset 0 0 0 1px var(--sz-ink, #2b2f3a), 0 2px 8px rgba(0, 0, 0, .07); }
}
@media (max-width: 359px) {
  .sz-car-logo { height: 22px; }
  .sz-car-tab { gap: 5px; padding: 8px 4px; font-size: 13px; }
}
/* r32-logo-gap 30.10 (власник): кружок вибору і лого перевізника далі одне від одного */
@media (min-width:576px){.sz-car-logo{margin-left:12px}}
/* r32-hover-ink 30.10: тема робила текст білим при наведенні */
.oct-checkout-block ul.dropdown-address li:hover, .oct-checkout-block ul.dropdown-address li:hover *, .oct-checkout-block ul.dropdown-address li.active, .oct-checkout-block ul.dropdown-address li.active *, ul.dropdown-address li:hover, ul.dropdown-address li:hover * { color: var(--sz-ink) !important; }
.sz-ord-ttn { display: block; margin-top: 4px; font-size: 12px; font-weight: 600; color: var(--sz-berry); text-decoration: underline; white-space: nowrap; }
/* 31.10: посилка на організацію не їде разом з відкритим замовленням */
body.sz-org .dozakaz-banner { display: none !important; }
.r32-org-found { grid-column: 1 / -1; margin: 0; font-weight: 600; }
/* 31.10 (власник): лише ПК - «В тон» на фото поруч з оком і сердечком, кнопка кошика на всю ширину рядка (кнопку створює draw() у sezon_cards.js) */
@media (min-width: 992px) and (hover: hover) {
  .pr-module-item[data-product-id] .pr-module-item-buttons > .sz-tile-tone { display: flex !important; align-items: center; justify-content: center; height: 28px; }
  .pr-module-item[data-product-id] .pr-module-item-buttons > .sz-tile-tone:not(:hover) { color: var(--pr-black-color); }
  .pr-module-item[data-product-id] .pr-module-item-buttons > .sz-tile-tone svg { width: 14px; height: 14px; }
  .pr-module-item[data-product-id]:has(.pr-module-item-buttons > .sz-tile-tone) .sz-buy .sz-tone { display: none !important; }
  .pr-module-item[data-product-id] .sz-add:not([data-r33]) { font-size: 16px !important; }   /* сума на кнопці кошика крупніше */
}
/* 31.10 (власник): ПК, список підрозділів при наведенні на плитку (sezon.js) */
.sz-subpop { position: fixed; z-index: 1050; width: 260px; overflow-y: auto; padding: 6px; background: var(--sz-paper, #fffdf9); border: 1px solid var(--sz-line, #e6dcd2); border-radius: 12px; box-shadow: 0 12px 32px rgba(60, 35, 30, .16); }
.sz-subpop[hidden] { display: none; }
.sz-subpop a { display: block; padding: 8px 12px; border-radius: 8px; font-size: 14px; font-weight: 500; line-height: 1.25; color: var(--sz-ink, #2a2422); text-decoration: none; }
.sz-subpop a:hover { background: var(--sz-berry-soft, #fbeef2); color: var(--sz-berry, #a8244b); }
/* 31.10 (власник): покупець увійшов - іконка «Кабінет» кольорова із зеленою галочкою (меню .pr-header-user-logged є лише в кабінеті) */
.pr-dropdown-box:has(> .pr-header-user-logged) :is(.pr-header-buttons-item-account, .pr-header-open-account) { position: relative; color: var(--sz-berry, #a8244b) !important; }
.pr-dropdown-box:has(> .pr-header-user-logged) :is(.pr-header-buttons-item-account, .pr-header-open-account) svg path { stroke: var(--sz-berry, #a8244b); fill: var(--sz-berry-soft, #fbeef2); }
.pr-dropdown-box:has(> .pr-header-user-logged) :is(.pr-header-buttons-item-account, .pr-header-open-account)::after { content: "✓"; position: absolute; top: -6px; width: 15px; height: 15px; border-radius: 50%; background: #2f7a54; color: #fff; font-size: 10px; font-weight: 800; line-height: 15px; text-align: center; }
.pr-dropdown-box:has(> .pr-header-user-logged) .pr-header-buttons-item-account::after { left: calc(50% - 4px); }
.pr-dropdown-box:has(> .pr-header-user-logged) .pr-header-open-account::after { left: 10px; top: calc(50% - 17px); }
/* 31.10: поріг у вузькій картці: ціна й знижка переносяться, а не виходять за край */
.sz-ladder:not(:has(.t:nth-child(2))) .t { flex-wrap: wrap; row-gap: 0; }
.sz-ladder:not(:has(.t:nth-child(2))) .t .r2 { flex: 1 1 auto; min-width: 0; justify-content: space-between; }
/* 31.10: кілька порогів: знижка під ціну, якщо не вміщається */
.sz-ladder .t .r2 { flex-wrap: wrap; min-width: 0; row-gap: 1px; }
.sz-ladder .t .r2 b, .sz-ladder .t .r2 i { white-space: nowrap; }

/* sezon 04.11 catwall font */
/* плитки розділів: Promo ставить .fsz-14 !important - підпис дрібний */
.pr-categories-wall-item .pr-categories-wall-item-title { font-size: 16px !important; line-height: 1.25 !important; }
@media (max-width: 575px) { .pr-categories-wall-item .pr-categories-wall-item-title { font-size: 15px !important; } }

/* sezon 04.11 timeline: лента кроків на сторінці замовлення (sezon_card::szTimeline) */
.sz-tl{list-style:none;margin:0 0 22px;padding:0 0 0 4px;position:relative}
.sz-tl li{position:relative;padding:0 0 18px 32px;min-height:28px}
.sz-tl li:before{content:"";position:absolute;left:9px;top:22px;bottom:-2px;width:2px;background:#e6dcd2}
.sz-tl li:last-child:before{display:none}
.sz-tl-dot{position:absolute;left:0;top:1px;width:20px;height:20px;border-radius:50%;border:2px solid #cdbfae;background:#fff;box-sizing:border-box}
.sz-tl-done .sz-tl-dot,.sz-tl-now .sz-tl-dot{border-color:#2e7d4f;background:#2e7d4f}
.sz-tl-done .sz-tl-dot:after,.sz-tl-now .sz-tl-dot:after{content:"";position:absolute;left:5px;top:2px;width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.sz-tl-now .sz-tl-dot{box-shadow:0 0 0 4px #dcefe3}
.sz-tl-k-bad .sz-tl-dot{border-color:#b3261e;background:#b3261e;box-shadow:0 0 0 4px #f5dcda}
.sz-tl-k-bad .sz-tl-dot:after{content:"\00d7";border:0;transform:none;left:0;top:-3px;width:16px;height:16px;color:#fff;font-size:15px;line-height:16px;text-align:center;font-weight:700}
.sz-tl-next{color:#8a8178}
.sz-tl-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;font-size:15px}
.sz-tl-head b{font-weight:700;color:#2b2723}
.sz-tl-next .sz-tl-head b{font-weight:600;color:#8a8178}
.sz-tl-head time{font-size:13px;color:#8a8178;white-space:nowrap}
.sz-tl-text{margin-top:3px;font-size:14px;line-height:1.45;color:#4a4540}
.sz-tl-next .sz-tl-text{color:#8a8178}
.sz-tl-text a{color:#a3123a;text-decoration:underline}
.sz-tl-note{margin-top:6px;padding:8px 12px;border-radius:8px;background:#f6f2ec;font-size:13px;line-height:1.45;color:#4a4540;white-space:pre-line}

/* 06.11 блог «Корисне»: посилання в тексті статті - як у текстах розділів (видимі) */
.pr-blog-post-text a{color:#a8244b;text-decoration:underline;font-weight:700}
.pr-blog-post-text a:hover{text-decoration:none}
.pr-blog-post-text img{border-radius:12px}

/* oos_color_0811 */
body:has(.sz-pp .sz-add[data-r33]) .pr-product-images-main img,
body:has(.sz-pp .sz-add[data-r33]) .pr-product-images-thumbs img { filter: none; }
body:has(.sz-pp .sz-add[data-r33]) .pr-product-images-main::after { left: 12px; top: 12px; transform: none;
  padding: 6px 12px; font-size: 13px; box-shadow: 0 2px 8px rgba(0,0,0,.2); }
/* /oos_color_0811 */

/* ladder_1111 */
/* 11.11: кілька порогів - ціна і знижка в один рядок однаково в усіх плитках (не «одна в рядок, сусідня з переносом») */
@media (min-width: 576px) {
  .sz-ladder:has(.t:nth-child(2)) .t { container-type: inline-size; }
  @container (max-width: 112px) {
    .sz-ladder .t .r2 { gap: 3px; }
    .sz-ladder .t .r2 b { font-size: 18px; letter-spacing: -.02em; }
    .sz-ladder .t .r2 i { font-size: 11px; padding: 0 5px; }
  }
  @container (max-width: 98px) {
    .sz-ladder .t .r2 b { font-size: 16px; }
    .sz-ladder .t .r2 i { font-size: 10.5px; padding: 0 4px; }
  }
  @container (max-width: 80px) {
    .sz-ladder .t .r2 { flex-direction: column; align-items: flex-start; }
  }
}
/* /ladder_1111 */
