/* V4 -> dev2: стили страниц старой темы из V4 (12.10.2026) — styles/v4-skin.css + styles/evolved-tealyra.css,
   обёртка .v4-skin заменена на .tygh-content. Порядок как в V4: сначала v4-skin, потом evolved. */
/* ===== v4-skin.css ===== */
/*
 * V4 (01.10.2026): «кожа» нового дизайна поверх прежних страниц витрины —
 * каталог, корзина, оформление заказа. Функции и разметка V3 не трогаются,
 * меняется только вид. Всё под .tygh-content (обёртка середины страницы в V4).
 * Палитра и шрифты — как шапка/подвал V4 (макет tealyra-loose-leaf).
 */
.tygh-content {
  --teal-900: #0F5C45; --teal-700: #0F5C45; --teal-600: #008556; --teal-300: #008556;
  --mint: #F7F3EA; --lilac: #F7F3EA; --cream: #F7F3EA; --pink: #B3261E; --ink: #1E2421; --line: #E3E7E5;
  font-family: var(--v4-sans), Arial, sans-serif !important;
  color: var(--ink);
}
/* Шрифт — только текстовым элементам: значки старой темы (i, *icon*) свой шрифт сохраняют. */
.tygh-content :is(div, p, a, label, td, th, li, input, button, select, textarea, bdi, strong, b, em, small, h2, h3, h4, h5),
.tygh-content span:not([class*="icon"]) { font-family: var(--v4-sans), Arial, sans-serif; }

/* Заголовки страниц */
.tygh-content .ty-mainbox-title, .tygh-content h1 {
  font: 600 clamp(30px, 3.6vw, 46px)/1.08 var(--v4-cond), sans-serif !important;
  color: var(--teal-700) !important; text-transform: none !important; letter-spacing: 0 !important; margin: 6px 0 18px !important;
}
.tygh-content .ty-breadcrumbs { font-size: 13px; text-transform: none; padding: 16px 0 6px; }
.tygh-content .ty-breadcrumbs a { color: #666 !important; }
.tygh-content .ty-breadcrumbs__current { color: var(--ink) !important; }

/* Кнопки */
.tygh-content .ty-btn, .tygh-content .ty-btn__primary, .tygh-content .ty-btn__secondary, .tygh-content button.ty-btn {
  border-radius: 999px !important; font-weight: 700 !important; text-transform: none !important;
  letter-spacing: .01em; padding: 11px 22px !important; height: auto !important; line-height: 1.2 !important;
  box-shadow: none !important; transition: background .15s, color .15s;
}
.tygh-content .ty-btn__primary, .tygh-content .cm-proceed-checkout, .tygh-content .ty-complete-order .ty-btn, .tygh-content .ty-btn__big {
  background: var(--teal-700) !important; border: 0 !important; color: #fff !important;
}
.tygh-content .ty-btn__primary:hover { background: var(--teal-900) !important; }
.tygh-content .ty-btn__secondary, .tygh-content .ty-btn__black {
  background: #fff !important; color: var(--ink) !important; border: 1.5px solid var(--ink) !important;
}
.tygh-content .ty-btn__secondary:hover { background: var(--ink) !important; color: #fff !important; }

/* Поля ввода */
.tygh-content .ty-input-text, .tygh-content input[type="text"], .tygh-content input[type="email"], .tygh-content input[type="tel"],
.tygh-content input[type="password"], .tygh-content select, .tygh-content textarea {
  border: 1.5px solid #dcdcdc !important; border-radius: 12px !important; padding: 10px 14px !important;
  height: auto !important; min-height: 44px; font-size: 15px !important; background: #fff !important; box-shadow: none !important;
}
.tygh-content input:focus, .tygh-content select:focus, .tygh-content textarea:focus { border-color: var(--teal-600) !important; outline: 3px solid rgba(0,163,166,.15); }
.tygh-content .ty-control-group__title { font-weight: 700 !important; font-size: 13px !important; text-transform: none !important; color: var(--ink) !important; }

/* ---------- Каталог ---------- */
.tygh-content .ty-sidebox, .tygh-content .vs-sidebox { background: #F4F6F5; border-radius: 22px; padding: 18px !important; border: 0 !important; }
.tygh-content .vs-sidebox-title, .tygh-content .ty-product-filters__title {
  font-family: var(--v4-cond), sans-serif !important; font-weight: 600 !important; text-transform: none; letter-spacing: -.01em;
  color: var(--teal-700) !important; font-size: 17px !important;
}
.tygh-content .ty-product-filters__block { border-bottom: 1px solid #eadfc3 !important; padding: 8px 0 !important; }
.tygh-content .ty-product-filters__group label { font-size: 14px; }
.tygh-content .ty-product-filters__wrapper .ty-btn { background: var(--pink) !important; border: 0 !important; color: #fff !important; }

.tygh-content .sf-category-thumb-link img, .tygh-content .ty-subcategories__item img { border-radius: 50%; }
.tygh-content .ty-sort-buttons-container .ty-btn, .tygh-content .ty-sort-button {
  border-radius: 999px !important; border: 1.5px solid var(--line) !important; background: #fff !important; color: var(--ink) !important;
}
.tygh-content .ty-sort-buttons-container .active, .tygh-content .ty-sort-button.active { background: var(--teal-700) !important; color: #fff !important; border-color: var(--teal-700) !important; }

.tygh-content .ty-grid-list__item {
  background: #fff; border-radius: 22px !important; border: 0 !important; padding: 14px !important;
  box-shadow: 0 2px 12px rgba(0,0,0,.06) !important; transition: transform .15s, box-shadow .15s;
}
.tygh-content .ty-grid-list__item:hover { transform: translateY(-3px); box-shadow: 0 12px 28px rgba(0,0,0,.1) !important; }
.tygh-content .ty-grid-list__item .preview-image, .tygh-content .ty-grid-list__item .ty-pict { border-radius: 16px; background: #F4F6F5; }
.tygh-content .product-title { font-weight: 700 !important; font-size: 16px !important; color: var(--ink) !important; text-transform: none !important; }
.tygh-content .origin-category-wrapper { color: var(--teal-600) !important; font-size: 12px !important; }
.tygh-content .short-description-wrapper { color: #666 !important; font-size: 13px !important; }
.tygh-content .ty-price, .tygh-content .ty-price-num { color: var(--teal-700) !important; font-weight: 600 !important; }
.tygh-content .ty-product-options__button {
  border-radius: 999px !important; border: 1.5px solid var(--line) !important; background: #fff !important; font-size: 12px !important;
}
.tygh-content .product_variant_button_selected, .tygh-content .ty-product-options__button.active {
  border-color: var(--teal-600) !important; background: #F4F6F5 !important; color: var(--teal-700) !important;
}
.tygh-content .ty-product-add-button, .tygh-content .et-atc, .tygh-content .add-buttons .ty-btn {
  background: var(--teal-700) !important; color: #fff !important; border: 0 !important; border-radius: 999px !important;
}
.tygh-content .ty-product-grid-label, .tygh-content .ty-product-grid-labels > * { border-radius: 999px !important; }
.tygh-content .ty-icon-star, .tygh-content .ty-icon-star-half { color: #f2a900 !important; }
.tygh-content .ty-pagination__item, .tygh-content .ty-pagination__btn {
  border-radius: 999px !important; min-width: 38px; height: 38px; line-height: 38px !important; padding: 0 10px !important;
}
.tygh-content .ty-pagination__selected { background: var(--teal-700) !important; color: #fff !important; border-radius: 999px; }

/* ---------- Корзина ---------- */
.tygh-content .vs-cart-page .ty-table { border: 0 !important; }
.tygh-content .vs-cart-page .ty-table th { background: none !important; border: 0 !important; font-size: 12px; text-transform: none; letter-spacing: .08em; color: #888 !important; }
.tygh-content .ty-cart-content__product-elem td { border-color: #eee !important; padding: 18px 8px !important; }
.tygh-content .ty-cart-content__image img { border-radius: 16px; background: #F4F6F5; }
.tygh-content .ty-cart-content__product-title { font: 600 20px/1.2 var(--v4-cond), sans-serif !important; color: var(--teal-700) !important; }
.tygh-content .ty-value-changer { border: 1.5px solid var(--line); border-radius: 999px; overflow: hidden; }
.tygh-content .ty-cart-total, .tygh-content .ty-cart-statistic { background: #F4F6F5; border-radius: 22px; padding: 18px 22px !important; }
.tygh-content .ty-cart-statistic__total-value, .tygh-content .ty-cart-statistic__total-value .ty-price { font: 600 30px var(--v4-cond), sans-serif !important; color: var(--ink) !important; }

/* ---------- Оформление заказа ---------- */
.tygh-content .ty-checkout-block__left .ty-step__container-active, .tygh-content .checkout__block {
  background: #fff; border: 1.5px solid var(--line) !important; border-radius: 22px !important; padding: 20px 22px !important; margin-bottom: 16px !important;
}
.tygh-content .ty-step__title-active, .tygh-content .ty-step__title-txt {
  font: 600 22px/1.2 var(--v4-cond), sans-serif !important; color: var(--teal-700) !important; text-transform: none !important; background: none !important; border: 0 !important;
}
.tygh-content .ty-checkout-block__right .ty-checkout-summary, .tygh-content .ty-checkout-summary {
  background: #eef7f3 !important; border-radius: 22px !important; border: 0 !important; padding: 20px !important;
}
.tygh-content .ty-checkout-summary__block { border: 0 !important; }
.tygh-content .ty-checkout-summary__total, .tygh-content .ty-checkout-summary__total-sum { font: 600 24px var(--v4-cond), sans-serif !important; color: var(--teal-700) !important; }
.tygh-content .ty-shipping-options__method { border: 1.5px solid var(--line); border-radius: 14px; padding: 12px 14px !important; margin-bottom: 8px; }
.tygh-content .ty-shipping-options__method:has(input:checked) { border-color: var(--teal-600); background: #F4F6F5; }
.tygh-content .ty-complete-order .ty-btn, .tygh-content .ty-complete-order button {
  width: 100%; min-height: 52px; font-size: 16px !important; background: var(--teal-700) !important; color: #fff !important;
}
.tygh-content .vs-login-facebook, .tygh-content .vs-login-google, .tygh-content .vs-login-amazon, .tygh-content .vs-login-microsoft {
  border-radius: 999px !important; border: 1.5px solid var(--line) !important; background: #fff !important; color: var(--ink) !important;
}

/* Шапка страницы оформления (CheckoutHeroV4) */
.v4-checkout-hero { padding: 28px 0 8px; }
.v4-checkout-hero p.k { text-transform: none; letter-spacing: .14em; font-size: 12px; font-weight: 700; color: var(--teal-300) !important; margin: 0 0 6px; }
.v4-checkout-hero h1 { margin: 0 0 6px !important; }
.v4-checkout-hero p.s { color: #666 !important; margin: 0 0 16px; }
.v4-checkout-steps { display: flex; gap: 10px; align-items: center; margin-bottom: 18px; flex-wrap: wrap; }
.v4-checkout-steps span { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 700; color: #888 !important; }
.v4-checkout-steps span b { display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; border: 1.5px solid #ccc; font-size: 13px; }
.v4-checkout-steps span.on { color: var(--teal-700) !important; }
.v4-checkout-steps span.on b { background: var(--teal-700); border-color: var(--teal-700); color: #fff !important; }
.v4-checkout-steps i { flex: 0 0 40px; height: 1.5px; background: #ddd; }

/* Правки после первого просмотра (01.10.2026) */
.tygh-content .ty-checkout-login-block .ty-btn, .tygh-content .ty-checkout-login-block .ty-btn * { color: var(--ink) !important; }
.tygh-content .ty-checkout-login-block .ty-btn { background: #fff !important; border: 1.5px solid var(--line) !important; margin: 0 6px 8px 0; }
.tygh-content .ty-checkout-login-block .ty-btn.ty-btn__primary, .tygh-content .ty-checkout-login-block .ty-btn.ty-btn__primary * { background: var(--teal-700) !important; color: #fff !important; border-color: var(--teal-700) !important; }
.tygh-content .ty-step__container-active .checkout__block,
.tygh-content .checkout__block .checkout__block { border: 0 !important; padding: 0 !important; margin: 0 !important; background: none !important; }

/* ================= V4 оформление заказа (CheckoutV4Client) — макет tealyra-loose-leaf ================= */
.v4co {
  --teal-900: #0F5C45; --teal-700: #0F5C45; --teal-600: #008556; --teal-300: #008556;
  --mint: #F7F3EA; --sage: #F7F3EA; --cream: #F7F3EA; --pink: #B3261E; --ink: #1E2421; --line: #E3E7E5;
  font-family: var(--v4-sans), Arial, sans-serif; color: var(--ink);
  max-width: 1200px; margin: 0 auto; padding: 8px clamp(16px, 3vw, 32px) 56px;
}
.v4co-grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(320px, .85fr); gap: clamp(24px, 4vw, 56px); align-items: start; }
.v4co-k { text-transform: none; letter-spacing: .14em; font-size: 12px !important; font-weight: 700; color: var(--teal-300) !important; margin: 0 0 6px !important; }
.v4co-hero { padding: 24px 0 8px; }
.v4co-hero h1 { font: 600 clamp(36px, 4.4vw, 56px)/1.05 var(--v4-cond), sans-serif !important; color: var(--teal-700) !important; margin: 0 0 6px !important; text-transform: none !important; }
.v4co-s { color: #666 !important; margin: 0 0 18px !important; }
.v4co-steps { display: flex; gap: 0; list-style: none !important; padding: 0 !important; margin: 0 0 20px !important; counter-reset: none; }
.v4co-steps li { display: flex; align-items: center; gap: 8px; font-weight: 700; font-size: 14px; color: #999; flex: 1; }
.v4co-steps li:not(:last-child)::after { content: ""; flex: 1; height: 1.5px; background: #ddd; margin: 0 10px; }
.v4co-steps li b { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; border: 1.5px solid #ccc; font-size: 13px; }
.v4co-steps li.on { color: var(--teal-700); }
.v4co-steps li.on b { background: var(--teal-700); border-color: var(--teal-700); color: #fff; }

.v4co-alert { background: #fdecef; color: #b0234f !important; border-radius: 12px; padding: 10px 14px; font-size: 14px; }
.v4co-card { background: #fff; border: 1.5px solid var(--line); border-radius: 22px; padding: 22px 24px; margin-bottom: 16px; }
.v4co-h { display: flex; align-items: center; gap: 12px; font: 600 24px/1.2 var(--v4-cond), sans-serif !important; color: var(--teal-700) !important; margin: 0 0 4px !important; text-transform: none !important; }
.v4co-h span { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: var(--teal-700); color: #fff !important; font: 700 14px var(--v4-sans), sans-serif; }
.v4co-note { color: #666 !important; font-size: 14px; margin: 0 0 16px 42px !important; }
.v4co-login { background: #F4F6F5; border-radius: 14px; padding: 12px 16px; margin-bottom: 16px; }
.v4co-login summary { cursor: pointer; font-weight: 700; color: var(--teal-700); }
.v4co-login[open] summary { margin-bottom: 12px; }

/* Старые блоки внутри карточек — без своих рамок и заголовков-полос */
.v4co .ty-step__container-active, .v4co .checkout__block, .v4co .ty-step__body-active { border: 0 !important; padding: 0 !important; margin: 0 !important; background: none !important; box-shadow: none !important; }
.v4co .ty-step__title-active, .v4co .ty-checkout-block__left h3.ty-step__title-active { display: none !important; }
.v4co .ty-control-group { margin-bottom: 12px !important; }
.v4co .ty-control-group__title { font-size: 13px !important; font-weight: 700 !important; color: var(--ink) !important; text-transform: none !important; }
.v4co .ty-input-text, .v4co input[type="text"], .v4co input[type="email"], .v4co input[type="tel"], .v4co input[type="password"], .v4co select, .v4co textarea {
  width: 100% !important; border: 1.5px solid #dcdcdc !important; border-radius: 12px !important; padding: 11px 14px !important;
  min-height: 46px; font-size: 15px !important; background: #fff !important; box-shadow: none !important;
}
.v4co input:focus, .v4co select:focus, .v4co textarea:focus { border-color: var(--teal-600) !important; outline: 3px solid rgba(0,163,166,.15) !important; }
.v4co .ty-shipping-options__method, .v4co .ty-payments-list__item, .v4co .ty-payment-method {
  border: 1.5px solid var(--line); border-radius: 14px; padding: 14px 16px !important; margin-bottom: 10px; display: block;
}
.v4co .ty-shipping-options__method:has(input:checked), .v4co .ty-payments-list__item:has(input:checked) { border-color: var(--teal-600); background: #F4F6F5; }
.v4co .ty-btn { border-radius: 999px !important; text-transform: none !important; font-weight: 700 !important; padding: 10px 20px !important; height: auto !important; }
.v4co .cm-login-provider { background: #fff !important; color: var(--ink) !important; border: 1.5px solid var(--line) !important; margin: 0 6px 8px 0; }

.v4co-place { margin-top: 18px; }
.v4co-btn { display: flex; align-items: center; justify-content: center; width: 100%; min-height: 54px; border: 0; border-radius: 999px; background: var(--teal-700); color: #fff !important; font: 700 16px var(--v4-sans), sans-serif; cursor: pointer; }
.v4co-btn:hover { background: var(--teal-900); }
.v4co-btn.disabled, .v4co-btn:disabled { opacity: .45; cursor: not-allowed; }
.v4co-btn-ghost { background: #fff; color: var(--ink) !important; border: 1.5px solid var(--ink); }
.v4co-help { display: flex; flex-direction: column; gap: 2px; padding: 16px 4px; font-size: 14px; }
.v4co-help a { color: var(--teal-700) !important; text-decoration: underline; }

/* Правая колонка */
.v4co-side { position: sticky; top: 16px; }
.v4co-bag { background: #F4F6F5; border-radius: 26px; overflow: hidden; }
.v4co-baglist { padding: 22px 22px 6px; }
.v4co-baglist h2 { display: flex; align-items: center; gap: 8px; font: 600 24px var(--v4-cond), sans-serif !important; color: var(--teal-700) !important; margin: 0 0 14px !important; text-transform: none !important; }
.v4co-baglist h2 span { background: #fff; border-radius: 999px; font: 700 13px var(--v4-sans); padding: 2px 9px; color: var(--ink) !important; }
.v4co-baglist ul { list-style: none !important; padding: 0 !important; margin: 0 !important; }
.v4co-baglist li { display: grid; grid-template-columns: 60px 1fr auto; gap: 12px; align-items: center; padding: 10px 0; border-bottom: 1px solid #dbe9e1; }
.v4co-thumb { position: relative; }
.v4co-thumb img { width: 60px; height: 60px; border-radius: 12px; object-fit: cover; background: #F4F6F5; }
.v4co-thumb em { position: absolute; top: -6px; right: -6px; min-width: 20px; height: 20px; border-radius: 10px; background: var(--teal-700); color: #fff !important; font: 700 11px/20px var(--v4-sans); text-align: center; font-style: normal; }
.v4co-lname strong { display: block; font-size: 14px; }
.v4co-lname small { color: #777 !important; font-size: 12px; }
.v4co-lprice { font-weight: 700; }
.v4co-meter { margin: 14px 0 8px; background: #fff; border-radius: 12px; padding: 10px 14px; font-size: 13px; }
.v4co-meter b { color: var(--teal-700); }
.v4co-meter div { height: 6px; background: #F4F6F5; border-radius: 3px; margin-top: 8px; overflow: hidden; }
.v4co-meter i { display: block; height: 100%; background: var(--teal-300); }
.v4co-summary { padding: 4px 22px 18px; }
.v4co-summary .ty-checkout-summary, .v4co-summary .ty-checkout-summary__block { background: none !important; border: 0 !important; padding: 0 !important; }
.v4co-summary .ty-checkout-summary__item td, .v4co-summary td { border: 0 !important; padding: 6px 0 !important; font-size: 14px; }
.v4co-summary .ty-checkout-summary__total, .v4co-summary .ty-checkout-summary__total-sum { font: 600 28px var(--v4-cond), sans-serif !important; color: var(--teal-700) !important; border-top: 1.5px solid #cfe2d8 !important; padding-top: 12px !important; }
.v4co-summary .ty-checkout-summary > h3, .v4co-summary .ty-checkout-summary__title { display: none !important; }
.v4co-moment { background: var(--teal-700); color: #fff; padding: 16px 22px; display: flex; flex-direction: column; gap: 2px; }
.v4co-moment strong { font: 600 18px var(--v4-cond), sans-serif ; color: #fff !important; }
.v4co-moment span { font-size: 13px; color: #F7F3EA !important; }

@media (max-width: 960px) {
  .v4co-grid { grid-template-columns: 1fr; }
  .v4co-side { position: static; order: -1; }
  .v4co-note { margin-left: 0 !important; }
}

/* Поля адреса — ровная сетка в две колонки (старые ty-col-* без float) */
.v4co .ty-row, .v4co .ty-row-inner { display: grid !important; grid-template-columns: 1fr 1fr; gap: 0 14px; margin: 0 !important; }
.v4co .ty-row::before, .v4co .ty-row::after, .v4co .ty-row-inner::before, .v4co .ty-row-inner::after { display: none !important; }
.v4co [class*="ty-col-"] { width: auto !important; float: none !important; padding: 0 !important; margin: 0 !important; min-width: 0; }
.v4co .ty-shipping-address, .v4co .ty-billing-address, .v4co .ty-control-email { grid-column: 1 / -1; }
.v4co .register-methods { display: flex; gap: 18px; margin-bottom: 10px; }
.v4co .register-methods label { display: inline-flex; align-items: center; gap: 6px; font-weight: 500; }
.v4co .ty-profile-field__switch { display: flex; align-items: center; justify-content: space-between; gap: 12px; background: #F4F6F5; border-radius: 12px; padding: 10px 14px; margin: 6px 0 14px; font-size: 14px; }
@media (max-width: 640px) { .v4co .ty-row, .v4co .ty-row-inner { grid-template-columns: 1fr; } }

/* Каталог: плитки крупнее, как на tealyra.com (слово владельца 03.10.2026) —
   меньше внутренних отступов карточки и промежутков, картинка во всю ширину. */
.tygh-content .ty-column3 { padding: 0 6px !important; }
.tygh-content .ty-grid-list__item { padding: 6px 6px 14px !important; margin-bottom: 14px !important; }
.tygh-content .ty-grid-list__item .preview-image, .tygh-content .ty-grid-list__item .et-product-main-icon,
.tygh-content .ty-grid-list__item .ty-pict { width: 100% !important; max-width: none !important; }
.tygh-content .ty-grid-list__item .ty-pict, .tygh-content .ty-grid-list__item .preview-image img { width: 100% !important; height: auto !important; }
.tygh-content .ty-sidebox, .tygh-content .vs-sidebox { padding: 14px !important; }

/* Ширина страницы: старая тема держала 1200px — плитки выходили мелкими.
   Как на tealyra.com: на всю ширину экрана, не больше 1600px; фильтры — 280px. */
.tygh-content .container { width: auto !important; max-width: 1600px; margin: 0 auto; padding: 0 clamp(12px, 2vw, 32px) !important; }
.tygh-content .row { display: flex; flex-wrap: wrap; margin-left: 0 !important; width: auto !important; }
.tygh-content .row::before, .tygh-content .row::after { display: none !important; }
.tygh-content .row > [class*="span"] { float: none !important; margin-left: 0 !important; min-width: 0; }
.tygh-content .row > .span16 { flex: 1 1 100%; width: 100% !important; }
.tygh-content .row > .span3 { flex: 0 0 280px; width: 280px !important; margin-right: 24px !important; }
.tygh-content .row > .span13 { flex: 1 1 0; width: auto !important; }
@media (max-width: 767px) {
  .tygh-content .row > .span3, .tygh-content .row > .span13 { flex: 1 1 100%; width: 100% !important; margin-right: 0 !important; }
}

/* Плитка каталога: поля фасовки и количества — компактные. Общее правило полей
   (min-height 44px) раздувало их, и они наезжали на «Add to cart» (03.10.2026). */
.tygh-content .ty-grid-list__item select,
.tygh-content .ty-grid-list__item input[type="text"],
.tygh-content .ty-grid-list__item input[type="number"] {
  min-height: 0 !important; height: 34px !important; padding: 4px 10px !important;
  font-size: 13px !important; line-height: 24px !important; border-radius: 10px !important;
}
.tygh-content .ty-grid-list__item .ty-product-amount-grid input { width: 40px !important; padding: 4px 2px !important; text-align: center; }
.tygh-content .ty-grid-list__item .product-buttons { margin-top: 8px !important; }

/* ---------- Кнопки входа через соцсети — фирменные стили (04.10.2026) ----------
   Facebook: синяя #1877F2, белый «f». Google: белая, рамка, цветной «G».
   Amazon: жёлтая #FFD814, тёмный текст. Microsoft: белая, рамка, 4 квадрата. */
.tygh-content .cm-login-provider, .v4co .cm-login-provider {
  display: inline-flex !important; align-items: center; justify-content: center; gap: 10px;
  min-height: 44px; padding: 10px 18px 10px 14px !important; border-radius: 999px !important;
  font-weight: 700 !important; font-size: 14px !important; text-transform: none !important;
  background-repeat: no-repeat !important; box-shadow: none !important; transition: filter .15s, box-shadow .15s;
}
.tygh-content .cm-login-provider::before, .v4co .cm-login-provider::before {
  content: ""; width: 20px; height: 20px; flex: 0 0 20px; background: center / contain no-repeat;
}
.tygh-content .cm-login-provider:hover, .v4co .cm-login-provider:hover { filter: brightness(.96); box-shadow: 0 4px 12px rgba(0,0,0,.12) !important; }

.tygh-content .ty-checkout-login-block .cm-login-provider.ty-btn.vs-login-facebook, .v4co .cm-login-provider.ty-btn.vs-login-facebook,
.tygh-content .ty-checkout-login-block .cm-login-provider.ty-btn.vs-login-facebook *, .v4co .cm-login-provider.ty-btn.vs-login-facebook * { background-color: #1877F2 !important; color: #fff !important; border-color: #1877F2 !important; }
.tygh-content .ty-checkout-login-block .cm-login-provider.ty-btn.vs-login-facebook::before, .v4co .cm-login-provider.ty-btn.vs-login-facebook::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='12' fill='%23fff'/%3E%3Cpath fill='%231877F2' d='M15.1 12.9l.4-2.8h-2.7V8.3c0-.8.4-1.5 1.6-1.5h1.2V4.4s-1.1-.2-2.2-.2c-2.2 0-3.7 1.4-3.7 3.9v2h-2.5v2.8h2.5V24h3.1V12.9z'/%3E%3C/svg%3E");
  background-color: transparent !important;
}
.tygh-content .ty-checkout-login-block .cm-login-provider.ty-btn.vs-login-google, .v4co .cm-login-provider.ty-btn.vs-login-google,
.tygh-content .ty-checkout-login-block .cm-login-provider.ty-btn.vs-login-google *, .v4co .cm-login-provider.ty-btn.vs-login-google * { background-color: #fff !important; color: #1f1f1f !important; }
.tygh-content .ty-checkout-login-block .cm-login-provider.ty-btn.vs-login-google, .v4co .cm-login-provider.ty-btn.vs-login-google { border: 1.5px solid #dadce0 !important; }
.tygh-content .ty-checkout-login-block .cm-login-provider.ty-btn.vs-login-google::before, .v4co .cm-login-provider.ty-btn.vs-login-google::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cpath fill='%23EA4335' d='M24 9.5c3.5 0 6.6 1.2 9.1 3.6l6.8-6.8C35.8 2.4 30.3 0 24 0 14.6 0 6.6 5.4 2.6 13.3l7.9 6.1C12.4 13.7 17.7 9.5 24 9.5z'/%3E%3Cpath fill='%234285F4' d='M46.1 24.5c0-1.6-.1-3.1-.4-4.5H24v9h12.4c-.5 2.9-2.2 5.3-4.6 6.9l7.4 5.7c4.3-4 6.9-9.9 6.9-17.1z'/%3E%3Cpath fill='%23FBBC05' d='M10.5 28.6c-.5-1.4-.8-3-.8-4.6s.3-3.2.8-4.6l-7.9-6.1C1 16.5 0 20.1 0 24s1 7.5 2.6 10.7l7.9-6.1z'/%3E%3Cpath fill='%2334A853' d='M24 48c6.5 0 11.9-2.1 15.8-5.8l-7.4-5.7c-2.1 1.4-4.8 2.3-8.4 2.3-6.3 0-11.6-4.2-13.5-9.9l-7.9 6.1C6.6 42.6 14.6 48 24 48z'/%3E%3C/svg%3E");
  background-color: transparent !important;
}
.tygh-content .ty-checkout-login-block .cm-login-provider.ty-btn.vs-login-amazon, .v4co .cm-login-provider.ty-btn.vs-login-amazon,
.tygh-content .ty-checkout-login-block .cm-login-provider.ty-btn.vs-login-amazon *, .v4co .cm-login-provider.ty-btn.vs-login-amazon * { background-color: #FFD814 !important; color: #0F1111 !important; border-color: #FCD200 !important; }
.tygh-content .ty-checkout-login-block .cm-login-provider.ty-btn.vs-login-amazon::before, .v4co .cm-login-provider.ty-btn.vs-login-amazon::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%230F1111' d='M13.9 9.6c-1.8.1-5.6.6-5.6 3.9 0 2.1 1.5 3.2 3.3 3.2 1.4 0 2.5-.6 3.3-1.6.5.7.7 1.1 1.5 1.7.2.1.5.1.6-.1l1.4-1.2c.2-.2.2-.4 0-.6-.5-.6-.9-1.1-.9-2.2V9.2c0-1.5.1-2.9-1-4-.9-.9-2.4-1.2-3.6-1.2-2.2 0-4.6.8-5.1 3.5-.1.3.2.4.3.4l2.2.2c.2 0 .4-.2.4-.4.2-.9 1-1.4 1.9-1.4.5 0 1 .2 1.3.6.3.5.3 1.1.3 1.6v1zm-.5 4.3c-.4.7-1 1.1-1.6 1.1-.9 0-1.4-.7-1.4-1.6 0-1.9 1.7-2.2 3.3-2.2v.5c0 .8 0 1.5-.3 2.2z'/%3E%3Cpath fill='%23FF9900' d='M20.5 18.3C18.1 20 14.6 21 11.6 21c-4.2 0-8-1.6-10.9-4.1-.2-.2 0-.5.3-.3 3.1 1.8 6.9 2.9 10.8 2.9 2.7 0 5.6-.6 8.3-1.7.4-.2.8.3.4.5zm1-1.2c-.3-.4-2-.2-2.8-.1-.2 0-.3-.2-.1-.3 1.4-1 3.6-.7 3.9-.4.3.3-.1 2.6-1.4 3.7-.2.2-.4.1-.3-.1.3-.8 1-2.5.7-2.8z'/%3E%3C/svg%3E");
  background-color: transparent !important;
}
.tygh-content .ty-checkout-login-block .cm-login-provider.ty-btn.vs-login-microsoft, .v4co .cm-login-provider.ty-btn.vs-login-microsoft,
.tygh-content .ty-checkout-login-block .cm-login-provider.ty-btn.vs-login-microsoft *, .v4co .cm-login-provider.ty-btn.vs-login-microsoft * { background-color: #fff !important; color: #5E5E5E !important; }
.tygh-content .ty-checkout-login-block .cm-login-provider.ty-btn.vs-login-microsoft, .v4co .cm-login-provider.ty-btn.vs-login-microsoft { border: 1.5px solid #8C8C8C !important; }
.tygh-content .ty-checkout-login-block .cm-login-provider.ty-btn.vs-login-microsoft::before, .v4co .cm-login-provider.ty-btn.vs-login-microsoft::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 21 21'%3E%3Crect x='1' y='1' width='9' height='9' fill='%23F25022'/%3E%3Crect x='11' y='1' width='9' height='9' fill='%237FBA00'/%3E%3Crect x='1' y='11' width='9' height='9' fill='%2300A4EF'/%3E%3Crect x='11' y='11' width='9' height='9' fill='%23FFB900'/%3E%3C/svg%3E");
  background-color: transparent !important;
}

/* Ряд кнопок входа: одна высота 44px (border-box), ровно в линию, перенос по ширине (04.10.2026).
   Старая тема давала height:44px при content-box + отступы → 67px, кнопки вылезали из блока. */
.v4co .checkout-login-form, .tygh-content .checkout-login-form {
  display: flex !important; flex-wrap: wrap; align-items: center; gap: 10px; height: auto !important;
}
.v4co .checkout-login-form > *, .tygh-content .checkout-login-form > * { margin: 0 !important; float: none !important; }
.v4co .checkout-login-form .cm-login-provider, .tygh-content .checkout-login-form .cm-login-provider,
.v4co .checkout-login-form .cm-dialog-opener, .tygh-content .checkout-login-form .cm-dialog-opener {
  box-sizing: border-box !important; height: 44px !important; min-height: 44px !important; line-height: 1 !important;
  padding-top: 0 !important; padding-bottom: 0 !important; display: inline-flex !important; align-items: center !important;
  vertical-align: middle !important; white-space: nowrap;
}
.v4co .checkout-login-form .cm-dialog-opener, .tygh-content .checkout-login-form .cm-dialog-opener { padding: 0 22px !important; border-radius: 999px !important; }
.v4co .v4co-login, .tygh-content .v4co-login { overflow: visible !important; height: auto !important; }
.v4co .checkout-login-form, .tygh-content .checkout-login-form { max-height: none !important; }

/* Оформление (06.10.2026): блок входа всегда открыт; «Гость / Регистрация» — две кнопки-переключателя. */
.v4co-login-title { font-weight: 700; color: var(--teal-700) !important; margin: 0 0 12px !important; }
.v4co .register-methods { display: grid !important; grid-template-columns: 1fr 1fr; gap: 10px; margin: 4px 0 18px !important; max-width: 520px; }
.v4co .register-methods::before, .v4co .register-methods::after { display: none !important; }
.v4co .register-method {
  position: relative; display: flex !important; align-items: center; justify-content: center; gap: 8px; float: none !important;
  width: auto !important; margin: 0 !important; min-height: 48px; padding: 10px 16px !important; border-radius: 14px;
  border: 1.5px solid var(--line); background: #fff; cursor: pointer; text-align: center; transition: border-color .15s, background .15s;
}
.v4co .register-method:hover { border-color: var(--teal-300); }
.v4co .register-method input.radio { position: absolute; opacity: 0; pointer-events: none; }
.v4co .register-method .method-title { font-weight: 700 !important; font-size: 15px !important; color: var(--ink) !important; white-space: nowrap; }
.v4co .register-method:has(input:checked) { border-color: var(--teal-700); background: #F4F6F5; box-shadow: inset 0 0 0 1px var(--teal-700); }
.v4co .register-method:has(input:checked) .method-title { color: var(--teal-700) !important; }
.v4co .register-method:has(input:checked)::before { content: "✓"; font-weight: 700; color: var(--teal-700); }
.v4co .register-method:has(input:focus-visible) { outline: 3px solid rgba(0,163,166,.3); }
@media (max-width: 480px) { .v4co .register-methods { grid-template-columns: 1fr; } }

/* ================= Каталог: плитка «A + B» (выбор владельца 06.10.2026) =================
   B — без рамки, фото на кремовом фоне, 4 в ряд; A — снизу короткий выбор фасовки и круглая «+».
   Логика старая (фасовка, корзина, избранное, быстрый просмотр); количество — 1 (поле скрыто). */
.tygh-content .vs-grid-table-wrapper { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px 20px; }
.tygh-content .vs-grid-table-wrapper > .ty-column3 { width: auto !important; float: none !important; padding: 0 !important; margin: 0 !important; }
.tygh-content .vs-grid-table-wrapper .ty-grid-list__item {
  background: none !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; margin: 0 !important;
  height: auto !important; min-height: 0 !important; transform: none !important;
}
.tygh-content .vs-grid-table-wrapper .ty-grid-list__item:hover { box-shadow: none !important; transform: none !important; }
.tygh-content .vs-grid-table-wrapper .vs-grid { position: relative; display: flex; flex-direction: column; height: auto !important; }

/* Фото */
.tygh-content .vs-grid-table-wrapper .preview-image { background: #F4F6F5; border-radius: 16px; overflow: hidden; padding: 10px; margin: 0 0 10px !important; }
.tygh-content .vs-grid-table-wrapper .preview-image img { width: 100% !important; height: auto !important; aspect-ratio: 1; object-fit: cover; border-radius: 10px; transition: transform .25s; }
.tygh-content .vs-grid-table-wrapper .ty-grid-list__item:hover .preview-image img { transform: scale(1.04); }

/* «Loose Tea / Tea Bags» — маленькие пилюли поверх фото сверху справа */
.tygh-content .vs-grid-table-wrapper .ty-group-links { position: absolute !important; top: 18px; right: 18px; left: auto !important; z-index: 3; background: none !important; height: auto !important; width: auto !important; padding: 0 !important; }
.tygh-content .vs-grid-table-wrapper .ty-product-group-links { display: flex; gap: 4px; background: none !important; }
.tygh-content .vs-grid-table-wrapper .ty-product-group-link {
  display: inline-block !important; font-size: 11px !important; font-weight: 700 !important; padding: 3px 9px !important; border-radius: 999px;
  background: rgba(255,255,255,.92) !important; color: #555 !important; line-height: 1.4 !important; height: auto !important; width: auto !important;
}
.tygh-content .vs-grid-table-wrapper .ty-product-group-link::before { display: none !important; }
.tygh-content .vs-grid-table-wrapper .ty-product-group-link-active { background: #0F5C45 !important; color: #fff !important; }

/* Метки (organic, sale) — слева сверху */
.tygh-content .vs-grid-table-wrapper .ty-product-grid-labels { position: absolute !important; top: 18px; left: 18px; z-index: 3; }

/* Текст */
.tygh-content .vs-grid-table-wrapper .rating-buttons { position: static !important; order: 2; margin: 0 0 2px; font-size: 11px; }
.tygh-content .vs-grid-table-wrapper .rating-buttons .vs-rating { display: block !important; }
.tygh-content .vs-grid-table-wrapper .rating-buttons i { font-size: 12px !important; }
.tygh-content .vs-grid-table-wrapper .title-price-wrapper { order: 3; position: static !important; height: auto !important; padding: 0 !important; }
.tygh-content .vs-grid-table-wrapper .product-title {
  display: -webkit-box !important; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; white-space: normal !important;
  font-size: 15px !important; line-height: 1.3 !important; min-height: 2.6em; text-align: left !important; margin: 0 0 3px !important;
}
.tygh-content .vs-grid-table-wrapper .origin-category-wrapper { text-align: left !important; font-size: 12px !important; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tygh-content .vs-grid-table-wrapper .short-description-wrapper { display: none !important; }
.tygh-content .vs-grid-table-wrapper .preview-image { order: 1; }

/* Низ: фасовка (выпадающий список) + круглая «+»; количество скрыто */
.tygh-content .vs-grid-table-wrapper .variants-container { position: static !important; display: flex !important; align-items: center; height: auto !important; margin: 8px 52px 0 0 !important; }
.tygh-content .vs-grid-table-wrapper .ty-product-options-grid { position: static !important; width: 100% !important; height: auto !important; margin: 0 !important; }
.tygh-content .vs-grid-table-wrapper .ty-product-options-grid select.cm-variants { display: block !important; width: 100% !important; height: 40px !important; border-radius: 999px !important; padding: 0 14px !important; font-size: 13px !important; font-weight: 700; }
.tygh-content .vs-grid-table-wrapper .ty-product-options__buttons { display: none !important; }
.tygh-content .vs-grid-table-wrapper .ty-product-amount-grid, .tygh-content .vs-grid-table-wrapper .ty-product-grid-price { display: none !important; }
.tygh-content .vs-grid-table-wrapper .product-description { order: 4; position: static !important; height: 0 !important; margin: 0 !important; padding: 0 !important; overflow: visible; }
.tygh-content .vs-grid-table-wrapper .product-buttons { position: static !important; height: 0 !important; margin: 0 !important; }
.tygh-content .vs-grid-table-wrapper .ty-product-add-button { position: absolute !important; right: 0; bottom: 0; margin: 0 !important; width: 44px !important; height: 40px !important; }
.tygh-content .vs-grid-table-wrapper .ty-product-add-button .et-atc {
  width: 44px !important; height: 40px !important; min-height: 0 !important; padding: 0 !important; border-radius: 999px !important;
  font-size: 0 !important; color: transparent !important; background: #0F5C45 !important; display: flex !important; align-items: center; justify-content: center;
}
.tygh-content .vs-grid-table-wrapper .ty-product-add-button .et-atc * { display: none !important; }
.tygh-content .vs-grid-table-wrapper .ty-product-add-button .et-atc::after { content: "+"; font: 400 26px/1 var(--v4-sans), Arial, sans-serif; color: #fff; }
.tygh-content .vs-grid-table-wrapper .ty-product-add-button .et-atc:hover { background: #0F5C45 !important; }

/* Избранное и быстрый просмотр — круглые значки на фото при наведении */
.tygh-content .vs-grid-table-wrapper .vs-add-to-wishlist, .tygh-content .vs-grid-table-wrapper .vs-quick-view {
  position: absolute !important; z-index: 4; width: 34px !important; height: 34px !important; border-radius: 50% !important;
  background: #fff !important; display: flex !important; align-items: center; justify-content: center; opacity: 0; transition: opacity .15s;
}
.tygh-content .vs-grid-table-wrapper .add-to-wish { display: block !important; }
.tygh-content .vs-grid-table-wrapper .vs-add-to-wishlist { top: 52px; right: 18px; left: auto !important; bottom: auto !important; }
.tygh-content .vs-grid-table-wrapper .vs-quick-view { top: 92px; right: 18px; left: auto !important; bottom: auto !important; }
.tygh-content .vs-grid-table-wrapper .ty-grid-list__item:hover .vs-add-to-wishlist,
.tygh-content .vs-grid-table-wrapper .ty-grid-list__item:hover .vs-quick-view { opacity: 1; }

/* Сортировка — вкладки с подчёркиванием */
.tygh-content .ty-sort-buttons-container { display: flex; gap: 22px; border-bottom: 1px solid #E3E7E5; margin-bottom: 22px !important; }
.tygh-content .ty-sort-buttons-container .ty-btn, .tygh-content .ty-sort-buttons-container .ty-sort-button {
  background: none !important; border: 0 !important; border-radius: 0 !important; padding: 10px 2px !important; margin: 0 !important;
  color: #777 !important; font-weight: 700 !important; border-bottom: 3px solid transparent !important;
}
.tygh-content .ty-sort-buttons-container .active { color: #0F5C45 !important; border-bottom-color: #0F5C45 !important; background: none !important; }

@media (max-width: 1100px) { .tygh-content .vs-grid-table-wrapper { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 767px) {
  .tygh-content .vs-grid-table-wrapper { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 12px; }
  .tygh-content .vs-grid-table-wrapper .vs-add-to-wishlist, .tygh-content .vs-grid-table-wrapper .vs-quick-view { opacity: 1; }
  .tygh-content .vs-grid-table-wrapper .product-title { font-size: 14px !important; }
}
/* Привязка «+», избранного и быстрого просмотра к плитке (.vs-grid), а не к промежуточным блокам */
.tygh-content .vs-grid-table-wrapper .product-description, .tygh-content .vs-grid-table-wrapper .product-buttons,
.tygh-content .vs-grid-table-wrapper .vs-buttons, .tygh-content .vs-grid-table-wrapper .ty-product-add-button .add-buttons,
.tygh-content .vs-grid-table-wrapper .add-to-wish, .tygh-content .vs-grid-table-wrapper .add-to-wish > span { position: static !important; }
.tygh-content .vs-grid-table-wrapper .ty-product-options-grid .ty-product-options,
.tygh-content .vs-grid-table-wrapper .ty-product-options-grid .ty-product-options__item { width: 100% !important; margin: 0 !important; padding: 0 !important; float: none !important; }
.tygh-content .vs-grid-table-wrapper .ty-group-links, .tygh-content .vs-grid-table-wrapper .ty-product-group-links { width: max-content !important; height: auto !important; overflow: visible !important; }
.tygh-content .vs-grid-table-wrapper .ty-product-group-links > span { display: inline-block !important; }
.tygh-content .vs-grid-table-wrapper .title-price-wrapper, .tygh-content .vs-grid-table-wrapper .ty-grid-list-product__click { min-height: 0 !important; height: auto !important; }
.tygh-content .vs-grid-table-wrapper .ty-product-options-grid { max-width: none !important; }
.tygh-content .vs-grid-table-wrapper .variants-container { margin-right: 96px !important; }
.tygh-content .vs-grid-table-wrapper .vs-add-to-wishlist { top: 2px !important; right: 50px !important; opacity: 1 !important; border: 1.5px solid #E3E7E5; }
.tygh-content .vs-grid-table-wrapper .vs-quick-view { top: 50px !important; right: 18px !important; }
.tygh-content .vs-grid-table-wrapper .ty-group-links { left: 16px !important; right: auto !important; top: 16px !important; display: flex !important; }
.tygh-content .vs-grid-table-wrapper .ty-product-group-links { display: flex !important; flex-wrap: nowrap; gap: 4px; }
.tygh-content .vs-grid-table-wrapper .ty-product-grid-labels { top: 48px !important; left: 16px !important; width: auto !important; }
.tygh-content .vs-grid-table-wrapper .ty-product-grid-labels:only-child, .tygh-content .vs-grid-table-wrapper .vs-grid:not(:has(.ty-group-links)) .ty-product-grid-labels { top: 16px !important; }
.tygh-content .vs-grid-table-wrapper .ty-product-group-links { position: static !important; top: auto !important; left: auto !important; }
.v4co .register-methods { width: 100% !important; }
.v4co .register-method { height: 50px !important; min-height: 0 !important; line-height: 1.2 !important; padding: 0 14px !important; }
.v4co .register-method .method-title { padding: 0 !important; margin: 0 !important; line-height: 1.2 !important; }

/* ===== Плитка: «Loose Tea / Tea Bags» под фото, сегментным переключателем над фасовкой (06.10.2026) =====
   Блоки-обёртки «растворяются» (display: contents), их части становятся строками плитки —
   так переключатель встаёт между названием и выбором фасовки без правки разметки. */
.tygh-content .vs-grid-table-wrapper .ty-grid-list-product-update,
.tygh-content .vs-grid-table-wrapper .title-price-wrapper { display: contents !important; }
.tygh-content .vs-grid-table-wrapper .vs-grid { position: relative !important; }
.tygh-content .vs-grid-table-wrapper .preview-image { order: 1; }
.tygh-content .vs-grid-table-wrapper .rating-buttons { order: 2; }
.tygh-content .vs-grid-table-wrapper .ty-grid-list-product__click { order: 3; }
.tygh-content .vs-grid-table-wrapper .ty-group-links { order: 4; }
.tygh-content .vs-grid-table-wrapper .variants-container { order: 5; }
.tygh-content .vs-grid-table-wrapper .product-description { order: 6; }

.tygh-content .vs-grid-table-wrapper .ty-group-links {
  position: static !important; top: auto !important; left: auto !important; right: auto !important;
  width: 100% !important; margin: 10px 0 0 !important; display: block !important;
}
.tygh-content .vs-grid-table-wrapper .ty-product-group-links {
  display: grid !important; grid-auto-flow: column; grid-auto-columns: 1fr; gap: 3px;
  background: #f1f1ee !important; border-radius: 999px; padding: 3px !important; width: 100% !important;
}
.tygh-content .vs-grid-table-wrapper .ty-product-group-links > span { display: block !important; }
.tygh-content .vs-grid-table-wrapper .ty-product-group-link {
  display: flex !important; align-items: center; justify-content: center; gap: 6px; width: 100% !important;
  height: 32px !important; padding: 0 8px !important; border-radius: 999px; background: transparent !important;
  color: #666 !important; font-size: 12.5px !important; font-weight: 700 !important; white-space: nowrap; cursor: pointer;
}
.tygh-content .vs-grid-table-wrapper .ty-product-group-link:hover { color: #0F5C45 !important; }
.tygh-content .vs-grid-table-wrapper .ty-product-group-link-active {
  background: #fff !important; color: #0F5C45 !important; box-shadow: 0 1px 4px rgba(0,0,0,.12);
}
/* значки: листик для развесного, пакетик для пакетиков */
.tygh-content .vs-grid-table-wrapper .ty-product-group-link-0::before,
.tygh-content .vs-grid-table-wrapper .ty-product-group-link-1::before {
  content: "" !important; display: inline-block !important; width: 14px; height: 14px; background: center / contain no-repeat;
}
.tygh-content .vs-grid-table-wrapper .ty-product-group-link-0::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2300686c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 21c.5-4.5 2.5-8 7-10'/%3E%3Cpath d='M9 18c6.2 0 10.5-3.3 11-12V4h-4C8.7 4 6 7.3 6 12c0 1.3.3 2.6 1 4'/%3E%3C/svg%3E");
}
.tygh-content .vs-grid-table-wrapper .ty-product-group-link-1::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2300686c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2v4'/%3E%3Cpath d='M7 8h10l1 13H6z'/%3E%3Cpath d='M10 13h4'/%3E%3C/svg%3E");
}
/* «organic» и другие метки — обратно на фото, слева сверху */
.tygh-content .vs-grid-table-wrapper .ty-product-grid-labels { position: absolute !important; top: 16px !important; left: 16px !important; z-index: 3; }
/* ряд фасовка · ♡ · + — сразу под переключателем */
.tygh-content .vs-grid-table-wrapper .variants-container { margin-top: 8px !important; }
.tygh-content .vs-grid-table-wrapper .ty-product-add-button { bottom: 1px !important; }
.tygh-content .vs-grid-table-wrapper .ty-product-group-links, .tygh-content .vs-grid-table-wrapper .ty-product-group-link { box-sizing: border-box !important; min-width: 0; }
.tygh-content .vs-grid-table-wrapper .ty-product-group-links > span { min-width: 0; }
/* Чай без пакетиков (одна форма) — то же место, чтобы плитки в ряду были одной высоты */
.tygh-content .vs-grid-table-wrapper .vs-grid:not(:has(.ty-group-links)) .variants-container { margin-top: 56px !important; }

/* Мобильная панель старой темы (Account / Search / Catalog / My Favorite / Cart) — в V4 не нужна:
   то же самое есть в шапке V4 (HeaderV4: поиск, кабинет, избранное, корзина, «бургер»). 06.10.2026 */
.tygh-menu-panel { display: none !important; }

/* Оформление: правая колонка «Your tea bag» едет вместе со страницей (06.10.2026).
   Старая тема ставила overflow на html/body — это ломает position: sticky.
   overflow-x: clip так же не даёт странице уезжать вбок, но липкость не ломает. */
html, body { overflow: visible !important; overflow-x: clip !important; }
.v4co-side { position: sticky !important; top: 16px; align-self: start; max-height: calc(100vh - 32px); overflow-y: auto; scrollbar-width: thin; border-radius: 26px; }

/* Быстрый просмотр в плитке: подпись — только для читалок, на виду — значок глаза (06.10.2026) */
.tygh-content .vs-grid-table-wrapper .vs-quick-view .ty-off-screen {
  position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important;
  overflow: hidden !important; clip: rect(0 0 0 0) !important; white-space: nowrap !important; border: 0 !important;
}
.tygh-content .vs-grid-table-wrapper .vs-quick-view { font-size: 0 !important; color: transparent !important; box-shadow: 0 2px 8px rgba(0,0,0,.15); }
.tygh-content .vs-grid-table-wrapper .vs-quick-view > :not(.ty-off-screen) { display: none !important; }
.tygh-content .vs-grid-table-wrapper .vs-quick-view::before {
  content: "" !important; display: block !important; width: 18px; height: 18px; background: center / contain no-repeat;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2300686c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s3.5-7 10-7 10 7 10 7-3.5 7-10 7S2 12 2 12z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E");
}
.tygh-content .vs-grid-table-wrapper .vs-quick-view::after { display: none !important; }
.tygh-content .vs-grid-table-wrapper .vs-quick-view:hover { background: #F4F6F5 !important; }

/* Оформление: длинная корзина и телефон (06.10.2026) */
.v4co-more { display: block; width: 100%; margin: 6px 0 0; padding: 8px; border: 0; background: none; color: var(--teal-700); font-weight: 700; font-size: 14px; cursor: pointer; text-decoration: underline; }
.v4co-bagtoggle { display: none; }
@media (max-width: 960px) {
  .v4co-side { position: static !important; max-height: none !important; overflow: visible !important; margin-bottom: 16px; }
  .v4co-bagtoggle {
    display: flex; width: 100%; justify-content: space-between; align-items: center; gap: 12px; padding: 14px 18px;
    border: 1.5px solid #cfe2d8; border-radius: 16px; background: #F4F6F5; font: 700 15px var(--v4-sans), sans-serif; color: var(--teal-700); cursor: pointer;
  }
  .v4co-bagtoggle strong { font-size: 16px; color: var(--ink); }
  .v4co-bagtoggle i { font-style: normal; color: var(--teal-700); margin-left: 4px; }
  .v4co-side .v4co-bag { display: none; margin-top: 10px; }
  .v4co-side.v4co-side-open .v4co-bag { display: block; }
}

/* ===== Плитка каталога, порядок владельца (06.10.2026) =====
   фото → звёзды → название → «страна • главный вид» → краткое описание →
   «Loose Tea / Tea Bags» → [фасовка | − 1 +] → [👁 | Add to cart | ♡] */
.tygh-content .vs-grid-table-wrapper .short-description-wrapper {
  display: -webkit-box !important; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
  text-align: left !important; font-size: 13px !important; line-height: 1.4 !important; color: #666 !important;
  min-height: 2.8em; margin: 4px 0 0 !important; height: auto !important;
}
.tygh-content .vs-grid-table-wrapper .vs-grid:not(:has(.ty-group-links)) .variants-container { margin-top: 56px !important; }

/* ряд: фасовка + счётчик */
.tygh-content .vs-grid-table-wrapper .variants-container { margin: 8px 0 0 !important; gap: 8px; }
.tygh-content .vs-grid-table-wrapper .ty-product-options-grid { flex: 1 1 auto; min-width: 0; }
.tygh-content .vs-grid-table-wrapper .ty-product-amount-grid {
  display: inline-flex !important; position: static !important; flex: 0 0 auto; align-items: center; height: 40px !important;
  width: auto !important; border: 1.5px solid #dcdcdc; border-radius: 999px; padding: 0 2px; margin: 0 !important; background: #fff;
}
.tygh-content .vs-grid-table-wrapper .ty-product-amount-grid > * { position: static !important; }
.tygh-content .vs-grid-table-wrapper .ty-product-amount-grid select.cm-amount { display: none !important; }
.tygh-content .vs-grid-table-wrapper .ty-product-amount-grid .ty-btn-minus,
.tygh-content .vs-grid-table-wrapper .ty-product-amount-grid .ty-btn-plus {
  display: flex !important; align-items: center; justify-content: center; width: 28px !important; height: 34px !important;
  padding: 0 !important; border: 0 !important; background: none !important; color: #0F5C45 !important; font-size: 18px !important; border-radius: 50% !important; box-shadow: none !important;
}
.tygh-content .vs-grid-table-wrapper .ty-product-amount-grid .ty-btn-minus.disabled { color: #bbb !important; }
.tygh-content .vs-grid-table-wrapper .ty-product-amount-grid .ty-btn-changer__label { min-width: 18px; text-align: center; font-weight: 700; font-size: 14px; }

/* ряд: быстрый просмотр | Add to cart | избранное */
.tygh-content .vs-grid-table-wrapper .product-description, .tygh-content .vs-grid-table-wrapper .product-buttons { height: auto !important; margin: 10px 0 0 !important; }
.tygh-content .vs-grid-table-wrapper .product-buttons { margin-top: 0 !important; }
.tygh-content .vs-grid-table-wrapper .vs-buttons { display: flex !important; align-items: center; gap: 8px; }
.tygh-content .vs-grid-table-wrapper .vs-buttons::before, .tygh-content .vs-grid-table-wrapper .vs-buttons::after { display: none !important; }
.tygh-content .vs-grid-table-wrapper .vs-quick-view {
  position: static !important; order: 0; opacity: 1 !important; flex: 0 0 40px; width: 40px !important; height: 40px !important;
  border: 1.5px solid #dcdcdc !important; box-shadow: none !important;
}
.tygh-content .vs-grid-table-wrapper .ty-product-add-button {
  position: static !important; order: 1; flex: 1 1 auto; display: flex !important; align-items: center; gap: 8px; width: auto !important; height: auto !important;
}
.tygh-content .vs-grid-table-wrapper .ty-product-add-button .et-atc {
  flex: 1 1 auto; width: auto !important; height: 40px !important; font-size: 14px !important; color: #fff !important; gap: 6px;
}
.tygh-content .vs-grid-table-wrapper .ty-product-add-button .et-atc::after { content: none !important; }
.tygh-content .vs-grid-table-wrapper .ty-product-add-button .et-atc::before { content: "+"; font: 400 20px/1 var(--v4-sans), Arial, sans-serif; color: #fff; }
.tygh-content .vs-grid-table-wrapper .ty-product-add-button .et-atc * { display: none !important; }
.tygh-content .vs-grid-table-wrapper .ty-product-add-button .et-atc { font-size: 0 !important; }
.tygh-content .vs-grid-table-wrapper .ty-product-add-button .et-atc::after { content: var(--v4t-atc, "Add to cart") !important; font: 700 14px var(--v4-sans), Arial, sans-serif; color: #fff; display: inline !important; }
.tygh-content .vs-grid-table-wrapper .add-to-wish { position: static !important; display: block !important; flex: 0 0 40px; order: 2; }
.tygh-content .vs-grid-table-wrapper .vs-add-to-wishlist {
  position: static !important; opacity: 1 !important; width: 40px !important; height: 40px !important; border: 1.5px solid #dcdcdc !important;
}
.tygh-content .vs-grid-table-wrapper .ty-product-amount-grid .ty-btn-changer__label { display: inline-flex !important; align-items: center; justify-content: center; width: auto !important; }
.tygh-content .vs-grid-table-wrapper .ty-product-options-grid, .tygh-content .vs-grid-table-wrapper .ty-product-options-grid * { margin-left: 0 !important; }
/* Телефон: 1 плитка в ряд — в 2 колонки ряды «фасовка + счётчик» и «👁 Add to cart ♡» не помещаются */
@media (max-width: 600px) {
  .tygh-content .vs-grid-table-wrapper { grid-template-columns: minmax(0, 1fr) !important; gap: 32px !important; }
  .tygh-content .vs-grid-table-wrapper .product-title { font-size: 17px !important; min-height: 0; }
  .tygh-content .vs-grid-table-wrapper .short-description-wrapper { font-size: 14px !important; min-height: 0; }
}

/* Липкая шапка V4 (06.10.2026): обёртка шапки sticky со сдвигом вверх на уходящую часть
   (--v4-head-offset мерит HeaderV4). Липкие колонки — ниже прилипшего меню (--v4-sticky-h). */
.v4co-side { top: calc(var(--v4-sticky-h, 0px) + 16px) !important; max-height: calc(100vh - var(--v4-sticky-h, 0px) - 32px) !important; }

/* ===== Плитка: сетка по областям (06.10.2026) — звёзды в одной строке со «страна • вид», мелкие и зелёные ===== */
.tygh-content .vs-grid-table-wrapper .ty-grid-list-product__click { display: contents !important; }
.tygh-content .vs-grid-table-wrapper .vs-grid {
  display: grid !important; grid-template-columns: minmax(0, 1fr) auto; column-gap: 8px;
  grid-template-areas: "img img" "title title" "origin stars" "desc desc" "group group" "vars vars" "btns btns";
}
.tygh-content .vs-grid-table-wrapper .preview-image { grid-area: img; }
.tygh-content .vs-grid-table-wrapper .product-title { grid-area: title; }
.tygh-content .vs-grid-table-wrapper .origin-category-wrapper { grid-area: origin; align-self: center; min-width: 0; }
.tygh-content .vs-grid-table-wrapper .rating-buttons { grid-area: stars; align-self: center; margin: 0 !important; line-height: 1; }
.tygh-content .vs-grid-table-wrapper .short-description-wrapper { grid-area: desc; }
.tygh-content .vs-grid-table-wrapper .ty-group-links { grid-area: group; }
.tygh-content .vs-grid-table-wrapper .variants-container { grid-area: vars; }
.tygh-content .vs-grid-table-wrapper .product-description { grid-area: btns; }
.tygh-content .vs-grid-table-wrapper .rating-buttons i,
.tygh-content .vs-grid-table-wrapper .rating-buttons [class*="ty-icon-star"] { font-size: 11px !important; color: #0f9d6e !important; margin: 0 !important; }
.tygh-content .vs-grid-table-wrapper .rating-buttons a { display: inline-flex; gap: 1px; }
/* у товара без отзывов — пустые звёзды не показываем, строка остаётся под «страна • вид» */
.tygh-content .vs-grid-table-wrapper .rating-buttons:not(:has(.ty-icon-star, .ty-icon-star-half)) { visibility: hidden; }

/* кнопки: «Add to cart» сжимается, сердечко не наезжает; «Out of stock» помещается */
.tygh-content .vs-grid-table-wrapper .ty-product-add-button { min-width: 0; }
.tygh-content .vs-grid-table-wrapper .ty-product-add-button .et-atc { min-width: 0 !important; flex: 1 1 0 !important; overflow: hidden; white-space: nowrap; }
.tygh-content .vs-grid-table-wrapper .add-to-wish { flex: 0 0 40px !important; width: 40px !important; position: static !important; }
.tygh-content .vs-grid-table-wrapper .vs-add-to-wishlist { position: static !important; margin: 0 !important; }
.tygh-content .vs-grid-table-wrapper .ty-product-add-button .et-atc:disabled,
.tygh-content .vs-grid-table-wrapper .ty-product-add-button .et-atc.disabled { background: #9aa9a7 !important; }
.tygh-content .vs-grid-table-wrapper .rating-buttons i,
.tygh-content .vs-grid-table-wrapper .rating-buttons [class*="ty-icon-star"] { width: auto !important; height: auto !important; padding: 0 !important; line-height: 1 !important; letter-spacing: 0 !important; }
.tygh-content .vs-grid-table-wrapper .rating-buttons .stars, .tygh-content .vs-grid-table-wrapper .rating-buttons .vs-rating { padding: 0 !important; margin: 0 !important; }
/* 4 в ряд — только на широком экране; плитка не уже ~220px */
@media (max-width: 1279px) and (min-width: 601px) { .tygh-content .vs-grid-table-wrapper { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; } }
@media (max-width: 860px) and (min-width: 601px) { .tygh-content .vs-grid-table-wrapper { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
.tygh-content .vs-grid-table-wrapper .rating-buttons i,
.tygh-content .vs-grid-table-wrapper .rating-buttons [class*="ty-icon-star"] { display: inline-block !important; width: 12px !important; height: 12px !important; font-size: 12px !important; }
.tygh-content .vs-grid-table-wrapper .rating-buttons i::before { font-size: 12px !important; color: #0f9d6e !important; }
/* Зелёные звёзды вместо жёлтого спрайта старой темы: полная / половина / пустая */
.tygh-content .vs-grid-table-wrapper .rating-buttons i { background-size: 12px 12px !important; background-position: center !important; background-repeat: no-repeat !important; }
.tygh-content .vs-grid-table-wrapper .rating-buttons .ty-icon-star {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%230f9d6e' d='M12 2l3.1 6.3 6.9 1-5 4.9 1.2 6.9L12 17.8 5.8 21.1 7 14.2 2 9.3l6.9-1z'/%3E%3C/svg%3E") !important;
}
.tygh-content .vs-grid-table-wrapper .rating-buttons .ty-icon-star-half {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cdefs%3E%3ClinearGradient id='h'%3E%3Cstop offset='50%25' stop-color='%230f9d6e'/%3E%3Cstop offset='50%25' stop-color='%23fff'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath fill='url(%23h)' stroke='%230f9d6e' stroke-width='1.6' d='M12 2l3.1 6.3 6.9 1-5 4.9 1.2 6.9L12 17.8 5.8 21.1 7 14.2 2 9.3l6.9-1z'/%3E%3C/svg%3E") !important;
}
.tygh-content .vs-grid-table-wrapper .rating-buttons .ty-icon-star-empty {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%230f9d6e' stroke-width='1.6' d='M12 2l3.1 6.3 6.9 1-5 4.9 1.2 6.9L12 17.8 5.8 21.1 7 14.2 2 9.3l6.9-1z'/%3E%3C/svg%3E") !important;
}

/* ===== Плитка: правки владельца (06.10.2026, снимок 13) ===== */
/* 1. Без большого отступа между названием и строкой «страна · вид» */
.tygh-content .vs-grid-table-wrapper .product-title { min-height: 0 !important; margin: 0 0 4px !important; }
/* 2. Разделитель — тонкая серая точка-середина вместо жирной точки */
.tygh-content .vs-grid-table-wrapper .origin-category-wrapper__delim { font-size: 0 !important; margin: 0 6px !important; display: inline-block; vertical-align: middle; }
.tygh-content .vs-grid-table-wrapper .origin-category-wrapper__delim::before { content: "·"; font-size: 14px; line-height: 1; color: #9aa; }
.tygh-content .vs-grid-table-wrapper .origin-category-wrapper { display: flex !important; align-items: center; line-height: 18px !important; }
/* 3. Звёзды — по центру той же строки, без своей высоты */
.tygh-content .vs-grid-table-wrapper .rating-buttons, .tygh-content .vs-grid-table-wrapper .rating-buttons .vs-rating,
.tygh-content .vs-grid-table-wrapper .rating-buttons .stars, .tygh-content .vs-grid-table-wrapper .rating-buttons a { height: 18px !important; display: flex !important; align-items: center; }
/* 4. Единственная форма («Loose Tea» без пакетиков) — неактивная таблетка во всю ширину */
.tygh-content .vs-grid-table-wrapper .v4-single-format .ty-product-group-links { grid-template-columns: 1fr; }
.tygh-content .vs-grid-table-wrapper .v4-single-format .ty-product-group-link { cursor: default; }
/* 5. «Add to cart» и сердечко — отдельно, с промежутком */
.tygh-content .vs-grid-table-wrapper .ty-product-add-button { gap: 10px !important; }
.tygh-content .vs-grid-table-wrapper .add-to-wish, .tygh-content .vs-grid-table-wrapper .add-to-wish > span { display: block !important; position: static !important; margin: 0 !important; }
.tygh-content .vs-grid-table-wrapper .ty-product-add-button .et-atc { margin: 0 !important; }
/* 6. Количество — выпадающий список 1–20 (как в исходном шаблоне), без «−/+» */
.tygh-content .vs-grid-table-wrapper .ty-product-amount-grid { border: 0 !important; padding: 0 !important; background: none !important; }
.tygh-content .vs-grid-table-wrapper .ty-product-amount-grid .ty-btn-minus,
.tygh-content .vs-grid-table-wrapper .ty-product-amount-grid .ty-btn-plus,
.tygh-content .vs-grid-table-wrapper .ty-product-amount-grid .ty-btn-changer__label { display: none !important; }
.tygh-content .vs-grid-table-wrapper .ty-product-amount-grid select.cm-amount {
  display: block !important; position: static !important; width: 66px !important; height: 40px !important; min-height: 0 !important;
  padding: 0 8px 0 14px !important; border-radius: 999px !important; font-size: 14px !important; font-weight: 700; opacity: 1 !important;
}
/* Блок «кнопка + сердечко» без своего фона: бирюзовая заливка тянулась под сердечко (07.10.2026) */
.tygh-content .vs-grid-table-wrapper .ty-product-add-button { background: transparent !important; border-radius: 0 !important; box-shadow: none !important; }
/* Пустая первая ячейка каталога: служебные ::before/::after старой темы (clearfix) в сетке стали ячейками (08.10.2026) */
.tygh-content .vs-grid-table-wrapper::before, .tygh-content .vs-grid-table-wrapper::after { content: none !important; display: none !important; }
/* Плитка (08.10.2026): «In cart · qty 1 · View cart» не показываем — вместо него выезжает корзина;
   ошибки («нет в наличии» и т.п.) — отдельной строкой под кнопками. */
.tygh-content .vs-grid-table-wrapper .ty-product-add-button { flex-wrap: wrap !important; }
.tygh-content .vs-grid-table-wrapper .ty-product-add-button .ty-product-block__note { display: none !important; }
.tygh-content .vs-grid-table-wrapper .ty-product-add-button .ty-error-text { flex: 1 1 100%; order: 5; margin: 6px 0 0 !important; font-size: 12px !important; line-height: 1.3; }
/* Каталог (09.10.2026): нет в наличии — серая «Out of stock» на месте «Add to cart», как на старом сайте */
.tygh-content .vs-grid-table-wrapper .product-buttons, .tygh-content .vs-grid-table-wrapper .vs-buttons { width: 100% !important; }
.tygh-content .vs-grid-table-wrapper .ty-product-add-button .qty-out-of-stock {
  display: flex !important; align-items: center; justify-content: center; flex: 1 1 0; min-width: 0; height: 40px;
  border-radius: 999px; background: #e6e9e8; color: #6b7472 !important; font: 700 14px var(--v4-sans), Arial, sans-serif;
  white-space: nowrap; overflow: hidden; margin: 0 !important; text-transform: none;
}
/* Каталог (09.10.2026): «Out of stock» — кликабельна (окно «Notify me»); сердечко — своя картинка, заметная рамка */
.tygh-content .vs-grid-table-wrapper .ty-product-add-button .qty-out-of-stock { cursor: pointer; }
.tygh-content .vs-grid-table-wrapper .ty-product-add-button .qty-out-of-stock::after { content: " · " var(--v4t-notifyme, "Notify me"); color: #0F5C45; margin-left: 4px; }
.tygh-content .vs-grid-table-wrapper .ty-product-add-button .qty-out-of-stock:hover { background: #F4F6F5; }
.tygh-content .vs-grid-table-wrapper .vs-add-to-wishlist { border: 1.5px solid #9fb3ae !important; background: #fff !important; }
.tygh-content .vs-grid-table-wrapper .vs-add-to-wishlist i { display: none !important; }
.tygh-content .vs-grid-table-wrapper .vs-add-to-wishlist::before {
  content: "" !important; display: block !important; width: 18px; height: 18px; background: center / contain no-repeat;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2300686c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.8 4.6a5.5 5.5 0 0 0-7.8 0L12 5.7l-1-1.1a5.5 5.5 0 0 0-7.8 7.8L12 21l8.8-8.6a5.5 5.5 0 0 0 0-7.8z'/%3E%3C/svg%3E");
}
.tygh-content .vs-grid-table-wrapper .vs-add-to-wishlist:hover { background: #F4F6F5 !important; }

/* ===== 09.10.2026: длинное название — одна строка с «…»; низ плиток (формат, фасовка, кнопки) на одном уровне ===== */
.tygh-content .vs-grid-table-wrapper .product-title,
.tygh-content .vs-grid-table-wrapper .product-title a { display: block !important; white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; min-width: 0; }
.tygh-content .vs-grid-table-wrapper .ty-column3,
.tygh-content .vs-grid-table-wrapper .ty-column4,
.tygh-content .vs-grid-table-wrapper .ty-grid-list__item { height: 100%; }
.tygh-content .vs-grid-table-wrapper .vs-grid {
  height: 100%;
  grid-template-areas: "img img" "title title" "origin stars" "desc desc" "fill fill" "group group" "vars vars" "btns btns";
  grid-template-rows: auto auto auto auto 1fr auto auto auto;
}
.tygh-content .vs-grid-table-wrapper .variants-container { justify-content: flex-start !important; }

/* ===== 09.10.2026: окно Quick view (диалог старой темы в body, вне .tygh-content) — шрифт, «Code» в строку, фасовки ровной сеткой ===== */
html body .ty-quick-view-dialog, html body .ty-quick-view-dialog *:not([class*="icon"]) { font-family: var(--v4-sans), system-ui, sans-serif !important; }
.ty-quick-view-dialog .ty-quick-view__title { font-size: 26px !important; font-weight: 700 !important; color: #1E2421 !important; line-height: 1.2; text-transform: none !important; }
.ty-quick-view-dialog .sku-options-wrapper .ty-control-group { display: flex !important; gap: 6px; align-items: baseline; margin: 6px 0 0 !important; border: 0 !important; padding: 0 !important; }
.ty-quick-view-dialog .sku-options-wrapper .ty-control-group__label { width: auto !important; min-width: 0 !important; margin: 0 !important; padding: 0 !important; color: #777 !important; font-size: 13px !important; }
.ty-quick-view-dialog .sku-options-wrapper .ty-control-group__item { margin: 0 !important; padding: 0 !important; border: 0 !important; color: #777 !important; font-size: 13px !important; }
.ty-quick-view-dialog .actual-price { font-size: 22px !important; font-weight: 700 !important; color: #0F5C45 !important; }
.ty-quick-view-dialog .ty-product-options__group-links { display: grid !important; grid-template-columns: 84px repeat(3, minmax(0, 1fr)); gap: 8px; align-items: stretch; margin: 0 0 10px !important; }
.ty-quick-view-dialog .ty-product-group-link { display: flex !important; flex-direction: column; align-items: center; justify-content: center; margin: 0 !important; font-size: 12px !important; color: #555 !important; }
.ty-quick-view-dialog .ty-product-options__button {
  display: flex !important; flex-direction: column; align-items: center; justify-content: center;
  width: auto !important; min-width: 0 !important; margin: 0 !important; padding: 10px 6px !important;
  border: 1.5px solid #d9e2e0 !important; border-radius: 12px !important; background: #fff !important; color: #1E2421 !important;
  font-size: 14px !important; font-weight: 700 !important; text-align: center;
}
.ty-quick-view-dialog .ty-product-options__button .ty-variant-price { font-size: 12px !important; font-weight: 500 !important; color: #0F5C45 !important; }
.ty-quick-view-dialog .product_variant_button_selected { border-color: #0F5C45 !important; background: #e8f4f2 !important; }
.ty-quick-view-dialog .ty-btn__primary, .ty-quick-view-dialog .ty-btn__add-to-cart, .ty-quick-view-dialog .ty-btn { border-radius: 999px !important; background: #0F5C45 !important; border-color: #0F5C45 !important; color: #fff !important; text-transform: none !important; font-weight: 700 !important; }
.ty-quick-view-dialog .ty-product-group-link { grid-column: 1; grid-row: 1 / span 9; }
.ty-quick-view-dialog .ty-product-options__button { grid-column: auto; }
.ty-quick-view-dialog .ty-product-options__group-links > .ty-product-options__button:nth-child(n) { grid-column-start: auto; }
.ty-quick-view-dialog .et-rating-brand *, .ty-quick-view-dialog .et-rating-brand { border: 0 !important; }
.ty-quick-view-dialog .et-rating-brand::after, .ty-quick-view-dialog .sku-options-wrapper::after { display: none !important; }
.ty-quick-view-dialog .ty-product-options__group-links { row-gap: 0 !important; }
.ty-quick-view-dialog .ty-product-options__group-links > .ty-product-options__button { margin-bottom: 8px !important; }
.ty-quick-view-dialog .ty-product-group-link { align-self: start; padding-top: 4px; }

/* ===== Шрифты как у Apple (11.10.2026): SF Pro, где есть, иначе Inter / Inter Tight. Заголовки 600, плотная разрядка ===== */

/* ===== evolved-tealyra.css ===== */
/* =====================================================================
   «Evolved Tealyra» (11.10.2026) — единственный файл нового образа для страниц старой темы
   (каталог, корзина, оформление, кабинет, блог, Quick view). Подключается ПОСЛЕДНИМ
   в app/(storefront)/layout.tsx. Файлы темы (styles/theme/*) не меняются.
   Откат: убрать импорт этого файла, либо git checkout v4-shrift-apple.
   ===================================================================== */

/* --- фон, текст, шрифты --- */
html body, .tygh-content, .tygh-content { background: #FFFFFF !important; }
body, .tygh-content, .tygh-content p, .tygh-content span, .tygh-content li, .tygh-content td, .tygh-content label, .tygh-content input, .tygh-content select, .tygh-content textarea, .tygh-content button {
  font-family: var(--v4-sans), "Segoe UI", sans-serif;
}
.tygh-content { color: var(--tl-ink) !important; }
.tygh-content h1, .tygh-content h2, .tygh-content h3, .tygh-content .ty-mainbox-title, .tygh-content .ty-product-block-title,
.tygh-content .ty-product-block__title, .tygh-content .ty-blog-post__title, .tygh-content .ty-checkout__title,
.ty-quick-view-dialog .ty-quick-view__title {
  font-family: var(--v4-cond), sans-serif !important; font-weight: 600 !important;
  color: var(--tl-ink) !important; text-transform: none !important; letter-spacing: 0 !important;
}
/* Заглавные буквы в меню и кнопках — отключены */
.tygh-content .ty-btn, .tygh-content button, .tygh-content .ty-menu__item-link, .tygh-content .ty-menu__submenu-link,
.tygh-content .ty-tabs__a, .tygh-content .ty-tabs__item, .tygh-content .ty-breadcrumbs, .tygh-content .ty-sidebox__title,
.tygh-content .ty-product-filters__title, .tygh-content .ty-dropdown-box__title, .ty-quick-view-dialog .ty-btn {
  text-transform: none !important; letter-spacing: 0 !important;
}

/* --- ссылки --- */
.tygh-content a { color: var(--tl-cta-hover); } /* #008556 на кремовом 4.22:1 < AA; #006B45 ≈ 5.9:1 */
.tygh-content a:hover { color: var(--tl-primary); }
.tygh-content .vs-grid-table-wrapper .product-title, .tygh-content .vs-grid-table-wrapper .product-title a { color: var(--tl-ink) !important; }
.tygh-content .ty-breadcrumbs, .tygh-content .ty-breadcrumbs a { color: var(--tl-muted) !important; }

/* --- кнопки: основная — зелёная покупка; второстепенная — золотая рамка --- */
.tygh-content .ty-btn__primary, .tygh-content .ty-btn__add-to-cart, .tygh-content .ty-btn__big, .tygh-content .ty-btn__secondary.cm-submit,
.tygh-content .ty-btn__primary.ty-btn, .ty-quick-view-dialog .ty-btn__primary, .ty-quick-view-dialog .ty-btn__add-to-cart {
  background: var(--tl-cta) !important; border: 1px solid var(--tl-cta) !important; color: #fff !important;
  border-radius: 6px !important; font-weight: 500 !important; box-shadow: none !important;
}
.tygh-content .ty-btn__primary:hover, .tygh-content .ty-btn__add-to-cart:hover, .tygh-content .ty-btn__big:hover,
.ty-quick-view-dialog .ty-btn__primary:hover, .ty-quick-view-dialog .ty-btn__add-to-cart:hover {
  background: var(--tl-cta-hover) !important; border-color: var(--tl-cta-hover) !important;
}
.tygh-content .ty-btn__secondary, .tygh-content .ty-btn__tertiary, .tygh-content .ty-btn__text, .ty-quick-view-dialog .ty-btn__secondary {
  background: transparent !important; border: 1px solid var(--tl-gold) !important; color: var(--tl-ink) !important;
  border-radius: 6px !important; font-weight: 500 !important;
}
.tygh-content .ty-btn__secondary:hover, .tygh-content .ty-btn__tertiary:hover { background: rgba(184,147,74,.12) !important; }

/* --- карточки каталога: белые, рамка 1px, радиус 8 --- */
.tygh-content .vs-grid-table-wrapper .ty-grid-list__item {
  background: var(--tl-surface) !important; border: 1px solid var(--tl-border) !important; border-radius: 8px !important; box-shadow: none !important;
}
.tygh-content .vs-grid-table-wrapper .ty-grid-list__item:hover { box-shadow: 0 6px 18px rgba(30,36,33,.08) !important; }
.tygh-content .vs-grid-table-wrapper .short-description-wrapper, .tygh-content .vs-grid-table-wrapper .origin-category-wrapper,
.tygh-content .vs-grid-table-wrapper .origin-category-wrapper * { color: var(--tl-muted) !important; }

/* --- цены --- */
.tygh-content .ty-price, .tygh-content .ty-price-num, .tygh-content .ty-price-update, .ty-quick-view-dialog .actual-price,
.ty-quick-view-dialog .actual-price * { color: var(--tl-ink) !important; font-weight: 500 !important; }
.tygh-content .ty-strike, .tygh-content .ty-list-price, .tygh-content .ty-list-price *, .tygh-content .ty-strike * { color: var(--tl-muted) !important; text-decoration: line-through; }
.tygh-content .ty-save-price, .tygh-content .ty-price-saved, .tygh-content .sale-price, .tygh-content .ty-price.ty-sale,
.tygh-content .ty-product-labels .sale, .tygh-content .ty-discount-label, .tygh-content .ty-discount-label__item { color: var(--tl-sale) !important; }

/* --- метки: New — зелёная, Premium/Bestseller — золото, Sale — красная; радиус 4 --- */
.tygh-content .ty-product-labels__item, .tygh-content .ty-discount-label { border-radius: 4px !important; }
.tygh-content .ty-product-labels__item--new, .tygh-content .ty-product-labels__item[class*="new"] { background: var(--tl-primary) !important; color: var(--tl-cream) !important; }
.tygh-content .ty-product-labels__item[class*="best"], .tygh-content .ty-product-labels__item[class*="premium"], .tygh-content .ty-product-labels__item[class*="exclusive"] { background: var(--tl-gold) !important; color: var(--tl-ink) !important; } /* белый на золоте 2.9:1 — не AA; тёмный 5.4:1 */
.tygh-content .ty-product-labels__item--discount, .tygh-content .ty-product-labels__item[class*="sale"], .tygh-content .ty-discount-label { background: var(--tl-sale) !important; color: #fff !important; }
.tygh-content .ty-product-labels__item *, .tygh-content .ty-discount-label * { color: inherit !important; }

/* --- звёзды — золото (иконки, не мелкий текст) --- */
.tygh-content .ty-stars i, .tygh-content [class*="ty-icon-star"], .tygh-content .vs-grid-table-wrapper .rating-buttons i,
.tygh-content .vs-grid-table-wrapper .rating-buttons [class*="ty-icon-star"] { color: var(--tl-gold) !important; }

/* --- красные темы → одна красная --- */
.tygh-content .ty-error-text, .tygh-content .cm-failed-label, .tygh-content .ty-control-group__label.cm-failed-label,
.tygh-content .text-error, .tygh-content .ty-qty-out-of-stock, .tygh-content .qty-out-of-stock:not(.vs-grid-table-wrapper *) { color: var(--tl-sale) !important; }
.tygh-content .cm-failed-field, .tygh-content input.cm-failed-field { border-color: var(--tl-sale) !important; }

/* --- формы, панели, меню: белые, рамка песочная --- */
.tygh-content input[type="text"], .tygh-content input[type="email"], .tygh-content input[type="password"], .tygh-content input[type="tel"],
.tygh-content input[type="number"], .tygh-content select, .tygh-content textarea {
  background: var(--tl-surface) !important; border: 1px solid var(--tl-border) !important; border-radius: 6px !important; color: var(--tl-ink) !important;
}
.tygh-content .ty-product-filters__wrapper, .tygh-content .cm-product-filters, .tygh-content .ty-sidebox, .tygh-content .ty-dropdown-box__content,
.tygh-content .ty-menu__submenu-items, .tygh-content .ty-cart-content, .tygh-content .ty-account, .tygh-content .ty-blog-post {
  background: var(--tl-surface) !important; border-color: var(--tl-border) !important;
}
.tygh-content hr, .tygh-content .ty-product-filters__block, .tygh-content .ty-cart-content__product, .tygh-content table td, .tygh-content table th { border-color: var(--tl-border) !important; }

/* --- оформление (собственная вёрстка V4 .v4co) --- */
.v4co, .v4co * { font-family: var(--v4-sans), "Segoe UI", sans-serif; }
.v4co h1, .v4co h2, .v4co h3 { font-family: var(--v4-cond), sans-serif !important; font-weight: 600 !important; color: var(--tl-primary) !important; }

/* --- Quick view --- */
html body .ty-quick-view-dialog, html body .ty-quick-view-dialog *:not([class*="icon"]) { font-family: var(--v4-sans), "Segoe UI", sans-serif !important; }
html body .ty-quick-view-dialog .ty-quick-view__title { font-family: var(--v4-cond), sans-serif !important; }
.ty-quick-view-dialog .product_variant_button_selected { border-color: var(--tl-primary) !important; background: #F4F6F5 !important; }

/* --- фокус виден всегда (WCAG) --- */
.tygh-content a:focus-visible, .tygh-content button:focus-visible, .tygh-content .ty-btn:focus-visible,
.tygh-content input:focus-visible, .tygh-content select:focus-visible, .tygh-content textarea:focus-visible,
.ty-quick-view-dialog a:focus-visible, .ty-quick-view-dialog button:focus-visible {
  outline: 2px solid var(--tl-cta) !important; outline-offset: 2px !important;
}

/* --- блоки V4 (шапка, подвал, корзина): тема ставит Roboto Condensed прямо тегам — наследуем шрифт блока --- */
:is([class^="v4_"], [class*=" v4_"]) :where(span:not([class*="v4_"]), a:not([class*="v4_"]), p:not([class*="v4_"]), li:not([class*="v4_"]),
  div:not([class*="v4_"]), button:not([class*="v4_"]), input:not([class*="v4_"]), label:not([class*="v4_"]),
  small:not([class*="v4_"]), strong:not([class*="v4_"]), b:not([class*="v4_"])) { font-family: inherit; }
:is([class^="v4_"], [class*=" v4_"]) { font-family: var(--v4-sans), "Segoe UI", sans-serif; }

/* --- метки плиток каталога (цветовые классы темы) --- */
.ty-product-grid-label { border-radius: 4px !important; text-transform: none !important; font-family: var(--v4-sans), sans-serif !important; font-weight: 500 !important; }
.ty-product-grid-label.blue, .ty-product-grid-label.gold, .ty-product-grid-label.yellow, .ty-product-grid-label.orange { background: var(--tl-gold) !important; color: var(--tl-ink) !important; }
.ty-product-grid-label.green { background: var(--tl-primary) !important; color: var(--tl-cream) !important; }
.ty-product-grid-label:not(.blue):not(.green):not(.gold):not(.yellow):not(.orange):not(.label-icon),
.ty-product-grid-label.red { background: var(--tl-sale) !important; color: #fff !important; }

/* --- окно согласия на cookies --- */
#cookies-popup { background: var(--tl-surface) !important; border-top: 3px solid var(--tl-primary) !important; color: var(--tl-ink) !important; }
#cookies-popup, #cookies-popup * { font-family: var(--v4-sans), "Segoe UI", sans-serif !important; text-transform: none !important; letter-spacing: 0 !important; }
#cookies-popup h1, #cookies-popup h2, #cookies-popup h3, #cookies-popup .cookies-title { font-family: var(--v4-cond), sans-serif !important; font-weight: 600 !important; color: var(--tl-primary) !important; }
#cookies-popup .ty-btn { border-radius: 6px !important; font-weight: 500 !important; }
#cookies-popup .cookies-accept-all, #cookies-popup .cookies-accept-selected { background: var(--tl-cta) !important; border: 1px solid var(--tl-cta) !important; color: #fff !important; }
#cookies-popup .cookies-reject-all, #cookies-popup .cookies-configure { background: transparent !important; border: 1px solid var(--tl-gold) !important; color: var(--tl-ink) !important; }

/* Карточки каталога без тёмных краёв (11.10.2026, слово владельца): ни теней, ни тёмных обводок внутри плитки */
.tygh-content .vs-grid-table-wrapper .ty-grid-list__item,
.tygh-content .vs-grid-table-wrapper .ty-grid-list__item:hover,
.tygh-content .vs-grid-table-wrapper .ty-grid-list__item *,
.tygh-content .vs-grid-table-wrapper .ty-grid-list__item *::before,
.tygh-content .vs-grid-table-wrapper .ty-grid-list__item *::after { box-shadow: none !important; }
.tygh-content .vs-grid-table-wrapper .ty-product-group-link-active { border: 1px solid #E3E7E5 !important; }
.tygh-content .vs-grid-table-wrapper .ty-column3::before, .tygh-content .vs-grid-table-wrapper .ty-column3::after,
.tygh-content .vs-grid-table-wrapper .ty-column4::before, .tygh-content .vs-grid-table-wrapper .ty-column4::after { display: none !important; }

/* Баннер категории есть — прежний заголовок категории не дублируем */
.tygh-content:has([class*="category-banner-v4_banner"]) .ty-mainbox-title { display: none !important; }

/* Карточки каталога без рамки (11.10.2026, слово владельца: «black lines» — это была рамка карточки) */
.tygh-content .vs-grid-table-wrapper .ty-grid-list__item, .tygh-content .vs-grid-table-wrapper .ty-grid-list__item:hover { border: 0 !important; outline: 0 !important; }

/* =====================================================================
   Каталог списком, как на старом сайте (11.10.2026). Включает <html class="v4-list">
   (components/storefront/v4/CatalogViewV4.tsx). Строка: слева текст, справа фото, внизу цена и кнопки.
   ===================================================================== */
html.v4-list .tygh-content .vs-grid-table-wrapper { grid-template-columns: minmax(0, 1fr) !important; gap: 0 !important; }
html.v4-list .tygh-content .vs-grid-table-wrapper .ty-grid-list__item { border-bottom: 1px solid #E3E7E5 !important; border-radius: 0 !important; padding: 20px 4px !important; }
html.v4-list .tygh-content .vs-grid-table-wrapper .ty-grid-list__item:hover { transform: none !important; }
html.v4-list .tygh-content .vs-grid-table-wrapper .vs-grid {
  display: grid !important; grid-template-columns: minmax(0, 1fr) 150px; column-gap: 24px;
  grid-template-areas: "title img" "origin img" "desc img" "group img" "vars img" "btns btns" !important;
  grid-template-rows: auto auto auto auto 1fr auto !important; height: auto !important;
}
html.v4-list .tygh-content .vs-grid-table-wrapper .preview-image { grid-area: img; width: 150px; margin: 0 !important; align-self: start; }
html.v4-list .tygh-content .vs-grid-table-wrapper .product-title { grid-area: title; font-size: 19px !important; white-space: normal !important; }
html.v4-list .tygh-content .vs-grid-table-wrapper .origin-category-wrapper { grid-area: origin; }
html.v4-list .tygh-content .vs-grid-table-wrapper .rating-buttons { display: none !important; }
html.v4-list .tygh-content .vs-grid-table-wrapper .short-description-wrapper { grid-area: desc; }
html.v4-list .tygh-content .vs-grid-table-wrapper .ty-group-links { grid-area: group; }
html.v4-list .tygh-content .vs-grid-table-wrapper .variants-container { grid-area: vars; align-self: end; }
html.v4-list .tygh-content .vs-grid-table-wrapper .product-description { grid-area: btns; margin-top: 12px; }
@media (max-width: 600px) {
  html.v4-list .tygh-content .vs-grid-table-wrapper .vs-grid { grid-template-columns: minmax(0, 1fr) 96px; column-gap: 14px; }
  html.v4-list .tygh-content .vs-grid-table-wrapper .preview-image { width: 96px; }
  html.v4-list .tygh-content .vs-grid-table-wrapper .product-title { font-size: 17px !important; }
}
html.v4-list .tygh-content .vs-grid-table-wrapper .ty-grid-list__item { position: relative !important; }
html.v4-list .tygh-content .vs-grid-table-wrapper .ty-group-links,
html.v4-list .tygh-content .vs-grid-table-wrapper .variants-container { max-width: 420px; width: 100%; justify-self: start; }
html.v4-list .tygh-content .vs-grid-table-wrapper .product-description { max-width: 420px; justify-self: end; width: 100%; grid-column: 1 / -1; margin-left: auto; padding-right: 52px; }
html.v4-list .tygh-content .vs-grid-table-wrapper .vs-quick-view { display: none !important; }
html.v4-list .tygh-content .vs-grid-table-wrapper .vs-add-to-wishlist { position: absolute !important; top: auto !important; left: auto !important; right: 4px !important; bottom: 22px !important; opacity: 1 !important; }
html.v4-list .tygh-content .vs-grid-table-wrapper .product-title,
html.v4-list .tygh-content .vs-grid-table-wrapper .origin-category-wrapper,
html.v4-list .tygh-content .vs-grid-table-wrapper .short-description-wrapper { padding-right: 0 !important; }
@media (max-width: 600px) {
  html.v4-list .tygh-content .vs-grid-table-wrapper .product-description { max-width: none; }
}
html.v4-list .tygh-content .vs-grid-table-wrapper .ty-product-grid-labels { position: absolute !important; left: auto !important; right: 112px !important; top: 26px !important; z-index: 2; }
@media (max-width: 600px) { html.v4-list .tygh-content .vs-grid-table-wrapper .ty-product-grid-labels { right: 64px !important; } }

/* ===== Подкатегории в левой колонке (11.10.2026) ===== */
html.v4-subcats-side .vs-category .subcategories { display: none !important; }
#v4-side-subcats { margin: 0 0 24px; padding: 0 0 18px; border-bottom: 1px solid #E3E7E5; }
#v4-side-subcats .v4-ss-title { margin: 0 0 12px; font: 600 12px var(--v4-sans), sans-serif; letter-spacing: .12em; text-transform: uppercase; color: #6E746F; }
#v4-side-subcats .v4-ss-row { display: flex; align-items: center; gap: 12px; padding: 6px 8px; margin: 0 -8px; border-radius: 8px; color: #1E2421 !important; font: 500 15px var(--v4-sans), sans-serif; text-decoration: none !important; }
#v4-side-subcats .v4-ss-row:hover { background: #F4F6F5; color: #008556 !important; }
#v4-side-subcats .v4-ss-row img { width: 40px; height: 40px; border-radius: 50%; object-fit: cover; flex: 0 0 40px; box-shadow: 0 0 0 1px #E3E7E5; }

/* ===== Главный баннер на широких экранах: фото заполняет правую часть, без пустоты посередине ===== */
@media (min-width: 1400px) {
  [class*="home-v4_hero__"] { background-size: cover !important; background-position: right 45% !important; min-height: 600px; }
}
#v4-side-subcats { display: block; width: 100%; flex: 0 0 100%; }

/* ===== баннер категории (V4 category-v4/category-banner-v4.module.css), классы cbv4-* ===== */
.cbv4-banner {
  position: relative; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  min-height: 200px; border-radius: 12px; overflow: hidden; margin: 8px 0 24px;
}
.cbv4-text { position: relative; z-index: 1; padding: 36px 40px; align-self: center; }
.cbv4-title {
  margin: 0 0 12px !important; font: 600 clamp(30px, 3.2vw, 44px)/1.05 var(--v4-cond), sans-serif !important;
  letter-spacing: -.015em !important; color: #1E2421 !important; text-transform: none !important; text-align: left !important;
}
.cbv4-lead { margin: 0; max-width: 520px; font: 400 16px/1.5 var(--v4-sans), sans-serif !important; color: #1E2421 !important; }
.cbv4-img { width: 100%; height: 100%; min-height: 200px; max-height: 260px; object-fit: cover; display: block; }
.cbv4-onDark .cbv4-title, .cbv4-onDark .cbv4-lead { color: #fff !important; }
@media (max-width: 760px) {
  .cbv4-banner { grid-template-columns: 1fr; }
  .cbv4-text { padding: 24px 20px 16px; }
  .cbv4-img { max-height: 160px; min-height: 140px; }
}
.cbv4-banner { min-height: 150px; margin: 4px 0 28px; }
.cbv4-text { padding: 24px 40px; }
.cbv4-title { font-size: clamp(26px, 2.6vw, 38px) !important; margin-bottom: 8px !important; }
.cbv4-img { min-height: 150px; max-height: 190px; }
.cbv4-banner { display: block; position: relative; overflow: hidden; }
.cbv4-img { position: absolute; inset: 0 0 0 auto; width: 70%; height: 100%; max-height: none; min-height: 0; object-fit: cover; }
.cbv4-banner::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, var(--ban-bg, #F4C542) 30%, color-mix(in srgb, var(--ban-bg, #F4C542) 70%, transparent) 45%, transparent 70%); pointer-events: none; z-index: 1; }
.cbv4-text { position: relative; z-index: 2; max-width: 55%; }
@media (max-width: 760px) {
  .cbv4-img { width: 100%; }
  .cbv4-banner::after { background: linear-gradient(180deg, var(--ban-bg, #F4C542) 45%, color-mix(in srgb, var(--ban-bg, #F4C542) 40%, transparent)); }
  .cbv4-text { max-width: none; }
}

/* ===== переключатель «список / плитки» (V4 v4.module.css) ===== */
.v4h-viewSw { display: flex; justify-content: flex-end; gap: 0; margin: 0 0 16px; }
.v4h-viewSw button { display: inline-flex; align-items: center; gap: 6px; border: 1px solid #C9CFCC; background: #fff; color: #1E2421; font: 600 13px var(--v4-sans), sans-serif; padding: 7px 12px; cursor: pointer; }
.v4h-viewSw button:first-child { border-radius: 6px 0 0 6px; }
.v4h-viewSw button:last-child { border-radius: 0 6px 6px 0; border-left: 0; }
.v4h-viewSw button.v4h-viewOn { background: #1E2421; color: #fff; border-color: #1E2421; }
#v4-view-slot[hidden] { display: none !important; }

/* ===== квадратное фото в плитке (V4 app/globals.css, «Listing / HOME grid cards») ===== */
/* Listing / HOME grid cards — theme had height:300px then height:auto (no box). */
.vs-grid .preview-image,
.vs-grid.vs-grid-table .preview-image,
.et-grid.vs-grid .preview-image,
.et-grid.vs-grid-table .preview-image {
  aspect-ratio: 1 / 1;
  width: 100%;
  max-width: 100%;
  height: auto;
  box-sizing: border-box;
  overflow: hidden;
}

.vs-grid .preview-image .scroll-image,
.vs-grid.vs-grid-table .preview-image .scroll-image {
  display: block;
  width: 100%;
  aspect-ratio: 1 / 1;
  line-height: 0;
  box-sizing: border-box;
}

.vs-grid .preview-image .scroll-image a.et-product-main-icon,
.vs-grid.vs-grid-table .preview-image .scroll-image a.et-product-main-icon {
  display: block;
  width: 100%;
  line-height: 0;
}

.vs-grid .preview-image img.ty-pict,
.vs-grid.vs-grid-table .preview-image img.ty-pict,
.et-grid .preview-image img.ty-pict {
  width: 100%;
  max-width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  object-fit: contain;
  vertical-align: top;
}

/* dev2: у плитки две кнопки — «Add to cart» (компьютер) и «Add» (телефон); стили V4 открывают обе, оставляем одну, как решает тема */
@media (min-width: 1007px) and (orientation: landscape) { .tygh-content .vs-grid-table-wrapper .ty-product-add-button .et-atc.hidden-desktop { display: none !important; } }
@media (max-width: 1006px), (orientation: portrait) { .tygh-content .vs-grid-table-wrapper .ty-product-add-button .et-atc.visible-desktop { display: none !important; } }

/* dev2: в V4 между .tygh-content и .container есть обёртка .v4-skin, и поля по бокам даёт она
   (правило темы «.tygh-content > div»). На dev2 обёртки нет — те же поля у .container. */
@media (max-width: 767px) {
  .tygh-content > .container { margin-left: 20px !important; margin-right: 20px !important; }
  .tygh-content > .container .row { margin-right: 0 !important; }
}
@media (min-width: 1008px) and (orientation: portrait), (min-width: 768px) and (max-width: 1007px) {
  .tygh-content > .container { margin-left: 2.4% !important; margin-right: 2.4% !important; }
  .tygh-content > .container .row { margin-right: 0 !important; }
}

/* dev2 (12.10.2026, слово владельца — всё содержимое боевого сайта остаётся): заголовок категории не прячем,
   хотя V4 убирала его при баннере. Заголовок баннера — не h1, чтобы главный заголовок страницы был один. */
.tygh-content:has([class*="category-banner-v4_banner"]) .ty-mainbox-title { display: block !important; }
.tygh-content .cbv4-banner p.cbv4-title { font: 600 clamp(26px, 2.6vw, 38px)/1.05 var(--v4-cond), sans-serif !important; letter-spacing: -.015em !important; color: #1E2421 !important; margin: 0 0 8px !important; }

/* dev2 (12.10.2026, замечание владельца — левая колонка развалилась): у темы .visible-desktop { display: inherit },
   а ряд .row у V4 — flex; колонка и блоки в ней наследовали flex и вставали в строку. Колонка — обычный блок. */
@media (min-width: 1007px) and (orientation: landscape) {
  .tygh-content .row > .span3.visible-desktop,
  .tygh-content .span3 .visible-desktop { display: block !important; }
}

/* dev2 (12.10.2026, замечание владельца): «Customers also bought» и другие ленты из 4 товаров — ячейки ty-column4.
   V4 сбрасывала старую ширину только у ty-column3, здесь тема давала 25% от колонки сетки (71px). */
.tygh-content .vs-grid-table-wrapper > .ty-column4, .tygh-content .vs-grid-table-wrapper > .ty-column2, .tygh-content .vs-grid-table-wrapper > .ty-column5 { width: auto !important; float: none !important; padding: 0 !important; margin: 0 !important; }
.ty-product-also-bought .ty-footer-general__header { font: 600 clamp(30px, 3.6vw, 44px)/1.08 var(--v4-cond), sans-serif !important; color: #0F5C45 !important; text-transform: none !important; text-align: left !important; margin: 56px 0 18px !important; letter-spacing: -.015em; }

/* dev2 (12.10.2026): ряд .row у V4 — flex, но ширина задана только span3/span13/span16 (каталог). Остальные колонки
   (страницы: span12 + span4 и т.п.) сжимались до содержимого — даём ширину пропорционально номеру, как в старой сетке. */
.tygh-content .row > .span1 { flex: 1 1 0; width: auto !important; min-width: 0; }
.tygh-content .row > .span2 { flex: 2 1 0; width: auto !important; min-width: 0; }
.tygh-content .row > .span4 { flex: 4 1 0; width: auto !important; min-width: 0; }
.tygh-content .row > .span5 { flex: 5 1 0; width: auto !important; min-width: 0; }
.tygh-content .row > .span6 { flex: 6 1 0; width: auto !important; min-width: 0; }
.tygh-content .row > .span7 { flex: 7 1 0; width: auto !important; min-width: 0; }
.tygh-content .row > .span8 { flex: 8 1 0; width: auto !important; min-width: 0; }
.tygh-content .row > .span9 { flex: 9 1 0; width: auto !important; min-width: 0; }
.tygh-content .row > .span10 { flex: 10 1 0; width: auto !important; min-width: 0; }
.tygh-content .row > .span11 { flex: 11 1 0; width: auto !important; min-width: 0; }
.tygh-content .row > .span12 { flex: 12 1 0; width: auto !important; min-width: 0; }
.tygh-content .row > .span14 { flex: 14 1 0; width: auto !important; min-width: 0; }
.tygh-content .row > .span15 { flex: 15 1 0; width: auto !important; min-width: 0; }
.tygh-content .row > [class*="span"] + [class*="span"]:not(.span13) { margin-left: 24px !important; }
@media (max-width: 767px) { .tygh-content .row > [class*="span"] { flex: 1 1 100% !important; margin-left: 0 !important; } }

/* страница корзины (12.10.2026): главное действие одно — «Proceed to checkout»; остальные кнопки второстепенные */
.ty-page-controller-checkout.ty-page-mode-cart .ty-btn:not(.ty-btn__primary):not(.cm-proceed-checkout):not([class*="checkout"]) {
  background: #fff !important; color: #1E2421 !important; border: 1px solid #E3E7E5 !important; border-radius: 6px !important;
}
.ty-page-controller-checkout.ty-page-mode-cart .ty-btn.ty-btn__primary, .ty-page-controller-checkout.ty-page-mode-cart .cm-proceed-checkout,
.ty-page-controller-checkout.ty-page-mode-cart a[href*="checkout"].ty-btn { background: #008556 !important; color: #fff !important; border: 0 !important; border-radius: 6px !important; padding: 12px 24px !important; font-weight: 600 !important; }
.ty-page-controller-checkout.ty-page-mode-cart .ty-cart-content__title a, .ty-page-controller-checkout.ty-page-mode-cart .ty-cart-content__product-title { font: 600 20px/1.2 var(--v4-cond), sans-serif !important; color: #1E2421 !important; }
/* «Clear cart» размечена как главная кнопка — делаем второстепенной */
.tygh-content .ty-cart-content__clear-button { background: #fff !important; color: #1E2421 !important; border: 1px solid #E3E7E5 !important; border-radius: 6px !important; }

/* плитка: товара нет в наличии (12.10.2026, замечание владельца) — тема даёт ссылку .et-atc.et-oos «Out of stock»,
   стили V4 перекрашивали её в зелёную «Add to cart». Серая неактивная кнопка «Out of stock», без перехода. */
.tygh-content .vs-grid-table-wrapper .ty-product-add-button .et-atc.et-oos {
  background: #e6e9e8 !important; color: #6b7472 !important; font-size: 14px !important; font-weight: 600 !important;
  pointer-events: none; cursor: default;
}
.tygh-content .vs-grid-table-wrapper .ty-product-add-button .et-atc.et-oos::before,
.tygh-content .vs-grid-table-wrapper .ty-product-add-button .et-atc.et-oos::after { content: none !important; display: none !important; }
.tygh-content .vs-grid-table-wrapper .ty-product-add-button .et-atc.et-oos * { display: inline !important; }

/* «Out of stock» в плитке открывает окно «Notify me» (12.10.2026, слово владельца; как в V4) */
.tygh-content .vs-grid-table-wrapper .ty-product-add-button .et-atc.et-oos { pointer-events: auto !important; cursor: pointer !important; }
.tygh-content .vs-grid-table-wrapper .ty-product-add-button .et-atc.et-oos::after { content: " · " var(--v4t-notifyme, "Notify me") !important; display: inline !important; color: #0F5C45; margin-left: 4px; font-size: 14px; }
.tygh-content .vs-grid-table-wrapper .ty-product-add-button .et-atc.et-oos:hover { background: #F4F6F5 !important; }
.v4h-npShade, .v4h-npShade * { font-family: var(--v4-sans), sans-serif !important; box-sizing: border-box; }
.v4h-npShade .v4h-npTitle { font-family: var(--v4-cond), sans-serif !important; }
.v4h-npForm { display: flex; gap: 8px; }
.v4h-npForm input { flex: 1; min-width: 0; height: 46px; border: 1.5px solid #dcdcdc; border-radius: 999px; padding: 0 16px; font-size: 15px; }
.v4h-npForm button { border: 0; border-radius: 999px; background: #008556; color: #fff; height: 46px; padding: 0 20px; font-weight: 600; cursor: pointer; }
.v4h-npForm button:disabled { opacity: .6; }
.v4h-npMsg { margin: 10px 0 0; font-size: 14px; color: #0F5C45; font-weight: 600; }
@media (max-width: 480px) { .v4h-npForm { flex-direction: column; } }
.tygh-content .vs-grid-table-wrapper .ty-product-add-button .et-atc.et-oos { font-size: 12px !important; padding: 0 6px !important; white-space: nowrap; letter-spacing: -.01em; justify-content: center; }
.tygh-content .vs-grid-table-wrapper .ty-product-add-button .et-atc.et-oos::after { font-size: 12px !important; margin-left: 3px !important; }
.tygh-content .vs-grid-table-wrapper .ty-product-add-button .et-atc.et-oos { font-size: 11.5px !important; padding: 0 4px !important; letter-spacing: -.02em !important; }
.tygh-content .vs-grid-table-wrapper .ty-product-add-button .et-atc.et-oos::after { content: "· " var(--v4t-notifyme, "Notify me") !important; font-size: 11.5px !important; margin-left: 3px !important; }

/* плитка: после выбора фасовки тема пишет «Option is out of stock» — не помещается (замечание владельца 12.10).
   Всегда показываем одно и то же: «Out of stock · Notify me». Текст темы скрыт, надпись — своя. */
.tygh-content .vs-grid-table-wrapper .ty-product-add-button .et-atc.et-oos,
.tygh-content .vs-grid-table-wrapper .ty-product-add-button .qty-out-of-stock { font-size: 0 !important; white-space: nowrap !important; }
.tygh-content .vs-grid-table-wrapper .ty-product-add-button .et-atc.et-oos > *,
.tygh-content .vs-grid-table-wrapper .ty-product-add-button .qty-out-of-stock > * { display: none !important; }
.tygh-content .vs-grid-table-wrapper .ty-product-add-button .et-atc.et-oos::before,
.tygh-content .vs-grid-table-wrapper .ty-product-add-button .qty-out-of-stock::before { content: var(--v4t-oos, "Out of stock") !important; display: inline !important; font: 600 12px var(--v4-sans), sans-serif; color: #6b7472; letter-spacing: -.01em; }
.tygh-content .vs-grid-table-wrapper .ty-product-add-button .et-atc.et-oos::after,
.tygh-content .vs-grid-table-wrapper .ty-product-add-button .qty-out-of-stock::after { content: "· " var(--v4t-notifyme, "Notify me") !important; display: inline !important; font: 600 12px var(--v4-sans), sans-serif; color: #0F5C45; margin-left: 4px !important; }

/* Сердечко «уже в избранном» (12.10.2026): CS-Cart меняет кнопку на .vs-delete-from-wishlist — тот же кружок, сердце закрашено */
.tygh-content .vs-grid-table-wrapper .vs-delete-from-wishlist {
  position: static !important; display: flex !important; align-items: center; justify-content: center; opacity: 1 !important;
  width: 40px !important; height: 40px !important; margin: 0 !important; padding: 0 !important; border-radius: 50% !important;
  border: 1.5px solid #9fb3ae !important; background: #fff !important; box-shadow: none !important; cursor: pointer;
}
.tygh-content .vs-grid-table-wrapper .vs-delete-from-wishlist i { display: none !important; }
.tygh-content .vs-grid-table-wrapper .vs-delete-from-wishlist::before {
  content: "" !important; display: block !important; width: 18px; height: 18px; background: center / contain no-repeat;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23c0392b' stroke='%23c0392b' stroke-width='2' stroke-linejoin='round'%3E%3Cpath d='M20.8 4.6a5.5 5.5 0 0 0-7.8 0L12 5.7l-1-1.1a5.5 5.5 0 0 0-7.8 7.8L12 21l8.8-8.6a5.5 5.5 0 0 0 0-7.8z'/%3E%3C/svg%3E");
}
.tygh-content .vs-grid-table-wrapper .vs-delete-from-wishlist:hover { background: #F4F6F5 !important; }

/* Свой выпадающий список фасовки / количества (12.10.2026): скруглённый, мягкая тень, выбранное — зелёным с галочкой */
.v4-pick {
  position: fixed; z-index: 10050; box-sizing: border-box; max-height: 320px; overflow-y: auto; padding: 6px;
  background: #fff; border: 1px solid #E3E7E5; border-radius: 16px; box-shadow: 0 16px 36px rgba(15, 40, 32, .16);
  animation: v4PickIn .14s ease-out; font-family: var(--v4-sans, Inter), system-ui, sans-serif;
}
@keyframes v4PickIn { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }
.v4-pickOpt {
  display: flex; align-items: center; gap: 14px; width: 100%; box-sizing: border-box; margin: 0; padding: 10px 14px 10px 34px;
  position: relative; border: 0; border-radius: 10px; background: none; cursor: pointer; text-align: left; white-space: nowrap;
  font: 500 15px/1.2 var(--v4-sans, Inter), system-ui, sans-serif; color: #1B2B26;
}
.v4-pickOpt span { flex: 1; }
.v4-pickOpt b { font-weight: 700; color: #0F5C45; }
.v4-pickOpt:hover, .v4-pickOpt:focus-visible { background: #F4F6F5; outline: none; }
.v4-pickOn { background: #E8F3EE; color: #0F5C45; font-weight: 700; }
.v4-pickOn::before {
  content: ""; position: absolute; left: 12px; top: 50%; width: 12px; height: 12px; margin-top: -6px; background: center / contain no-repeat;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23008556' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12l5 5L20 6'/%3E%3C/svg%3E");
}
.v4-pickOpt:disabled { color: #9aa9a7; cursor: default; background: none; }
select.v4-selOpen { border-color: #008556 !important; box-shadow: 0 0 0 3px rgba(0, 133, 86, .15) !important; }

/* Текст баннера из блока «Intro» админки (12.10.2026): абзацы и ссылки интро — в виде текста баннера */
.cbv4-lead[data-intro] p { margin: 0 0 8px !important; padding: 0 !important; font: inherit !important; color: inherit !important; }
.cbv4-lead[data-intro] p:last-child { margin-bottom: 0 !important; }
.cbv4-lead[data-intro] a { color: inherit !important; text-decoration: underline; }

/* Кадр картинки баннера (13.10.2026): картинка в рамке .cbv4-imgBox (место прежней картинки: правые 70%, на телефоне —
   вся ширина). Точку в центре и увеличение задают во вкладке «Banner» админки; v4-katalog.js ставит картинку по той же
   формуле, что редактор. Без скрипта — «заполнить» с точкой object-position. */
.cbv4-imgBox { position: absolute; top: 0; right: 0; bottom: 0; width: 70%; overflow: hidden; }
.cbv4-imgBox .cbv4-img { position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; max-width: none !important; max-height: none !important; min-height: 0 !important; object-fit: cover; }
.cbv4-imgBox .cbv4-img[data-fit] { inset: auto !important; object-fit: fill; }
@media (max-width: 760px) { .cbv4-imgBox { width: 100%; } }

/* ===== Фильтр в боковой колонке каталога — в стиле Tea Finder (16.10.2026, слово владельца) =====
   каждая группа — белая карточка со значком (значок ставит v4-katalog.js), варианты — таблетками,
   выбранный — зелёный с галочкой; сворачивание CS-Cart осталось, вместо «+/−» — стрелка справа */
.span3 .fy-block-filters { background: #F4F6F5 !important; padding: 16px !important; border-radius: 22px; }
.span3 .fy-block-filters .vs-sidebox-title { margin: 6px 2px 12px !important; padding: 0 !important; border: 0 !important; }
.span3 .fy-block-filters .vs-sidebox-title .vs-title-text { font: 700 12px Inter, system-ui, sans-serif !important; letter-spacing: .16em !important; text-transform: uppercase !important; color: #B8934A !important; }
.span3 .fy-block-filters .ty-product-filters__wrapper { display: flex !important; flex-direction: column; gap: 10px; margin: 0 !important; padding: 0 !important; background: none !important; border: 0 !important; }
.span3 .fy-block-filters .ty-product-filters__block { margin: 0 !important; padding: 12px 14px !important; background: #fff !important; border: 1px solid #E3E7E5 !important; border-radius: 18px !important; box-shadow: 0 6px 16px rgba(15,40,32,.04); transition: box-shadow .2s, border-color .2s; }
.span3 .fy-block-filters .ty-product-filters__block:hover { border-color: #CFE3D9 !important; box-shadow: 0 10px 22px rgba(15,40,32,.07); }
.span3 .fy-block-filters .ty-product-filters__switch { position: relative; display: block !important; margin: 0 !important; padding: 0 26px 0 0 !important; border: 0 !important; background: none !important; cursor: pointer; }
.span3 .fy-block-filters .ty-product-filters__switch::after { content: ""; position: absolute; right: 4px; top: 50%; width: 8px; height: 8px; margin-top: -6px; border-right: 2px solid #6E746F; border-bottom: 2px solid #6E746F; transform: rotate(45deg); transition: transform .25s, margin .25s; }
.span3 .fy-block-filters .ty-product-filters__switch.open::after { transform: rotate(-135deg); margin-top: -2px; }
.span3 .fy-block-filters .ty-product-filters__title { display: flex !important; align-items: center; gap: 10px; margin: 0 !important; padding: 0 !important; font: 600 16px Inter, system-ui, sans-serif !important; color: #0F5C45 !important; text-transform: none !important; letter-spacing: 0 !important; }
.span3 .fy-block-filters .vs-filter-closed, .span3 .fy-block-filters .vs-filter-open { display: none !important; }
.span3 .fy-block-filters .vs-filter-selected:empty { display: none !important; }
.span3 .fy-block-filters .vs-filter-selected { order: 3; margin-left: auto; font: 600 12px Inter, system-ui, sans-serif; color: #008556; }
.v4kf-ico { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 32px; width: 32px; height: 32px; border-radius: 50%; background: #F4F6F5; font-size: 16px; line-height: 1; }
.span3 .fy-block-filters .ty-product-filters__switch.open .v4kf-ico { background: #E8F3EE; }
.span3 .fy-block-filters ul.ty-product-filters { margin: 12px 0 2px !important; padding: 0 !important; border: 0 !important; list-style: none; }
.span3 .fy-block-filters ul.ty-product-filters > li { margin: 0 !important; padding: 0 !important; list-style: none; }
.span3 .fy-block-filters .ty-product-filters__search { position: relative; margin: 0 0 10px !important; }
.span3 .fy-block-filters .ty-product-filters__search input { box-sizing: border-box; width: 100% !important; height: 36px !important; min-height: 0 !important; margin: 0 !important; padding: 0 12px 0 34px !important; border: 1.5px solid #E3E7E5 !important; border-radius: 999px !important; background: #F7F9F8 !important; box-shadow: none !important; font: 400 13px Inter, system-ui, sans-serif !important; }
.span3 .fy-block-filters .ty-product-filters__search input:focus { outline: none; border-color: #008556 !important; background: #fff !important; box-shadow: 0 0 0 4px rgba(0,133,86,.12) !important; }
.span3 .fy-block-filters .ty-product-filters__search .ty-search-magnifier2 { position: absolute !important; left: 12px; top: 50%; transform: translateY(-50%) scale(.8); margin: 0 !important; opacity: .55; }
.span3 .fy-block-filters .ty-product-filters__variants { display: flex !important; flex-wrap: wrap; align-content: flex-start; gap: 6px; max-height: 196px !important; overflow-y: auto; margin: 0 !important; padding: 2px !important; list-style: none; scrollbar-width: thin; }
.span3 .fy-block-filters .ty-product-filters__group { display: block !important; margin: 0 !important; padding: 0 !important; list-style: none; }
.span3 .fy-block-filters .ty-product-filters__group label { position: relative; display: inline-flex !important; align-items: center; height: 32px; margin: 0 !important; padding: 0 12px !important; border: 1.5px solid #E3E7E5; border-radius: 999px; background: #fff; font: 500 13px Inter, system-ui, sans-serif !important; color: #1E2421 !important; cursor: pointer; white-space: nowrap; transition: border-color .15s, background .15s, color .15s; }
.span3 .fy-block-filters .ty-product-filters__group label:hover { border-color: #9FB3AE; background: #F7FBF9; }
.span3 .fy-block-filters .ty-product-filters__group label input { position: absolute; opacity: 0; pointer-events: none; width: 0; height: 0; margin: 0; }
.span3 .fy-block-filters .ty-product-filters__group label:has(input:checked) { background: #008556; border-color: #008556; color: #fff !important; }
.span3 .fy-block-filters .ty-product-filters__group label:has(input:checked)::before { content: "\2713"; margin-right: 6px; font-weight: 700; }
.span3 .fy-block-filters .ty-product-filters__group label:has(input:disabled) { opacity: .4; cursor: default; }
.span3 .fy-block-filters .ty-product-filters__group label:has(input:focus-visible) { box-shadow: 0 0 0 3px rgba(0,133,86,.25); }
.span3 .fy-block-filters .ty-product-filters__tools { margin: 4px 0 0 !important; padding: 0 !important; border: 0 !important; text-align: center; }
.span3 .fy-block-filters .ty-product-filters__reset-button { display: inline-flex !important; align-items: center; height: 38px; padding: 0 20px !important; border: 1.5px solid #008556 !important; border-radius: 999px !important; background: #fff !important; color: #0F5C45 !important; font: 700 14px Inter, system-ui, sans-serif !important; text-transform: none !important; box-shadow: none !important; }
.span3 .fy-block-filters .ty-product-filters__reset-button:hover { background: #008556 !important; color: #fff !important; }
@media (prefers-reduced-motion: reduce) { .span3 .fy-block-filters .ty-product-filters__switch::after { transition: none; } }

/* кнопка «Add to cart» в плитке: при наведении светлее зелёный и чуть приподнимается (16.10.2026, замечание владельца) */
.tygh-content .vs-grid-table-wrapper .ty-product-add-button .et-atc { transition: background .2s, transform .2s, box-shadow .2s; }
.tygh-content .vs-grid-table-wrapper .ty-product-add-button .et-atc:not(.et-oos):hover { background: #008556 !important; transform: translateY(-1px); box-shadow: 0 8px 18px rgba(0,133,86,.28) !important; }
/* товар уже в корзине — кнопка золотая с галочкой (по-прежнему добавляет ещё) */
.tygh-content .vs-grid-table-wrapper .v4-inCart .ty-product-add-button .et-atc:not(.et-oos) { background: #B8934A !important; }
.tygh-content .vs-grid-table-wrapper .v4-inCart .ty-product-add-button .et-atc:not(.et-oos)::before { content: "\2713" !important; font-size: 15px !important; font-weight: 700; }
.tygh-content .vs-grid-table-wrapper .v4-inCart .ty-product-add-button .et-atc:not(.et-oos):hover { background: #9A7A3A !important; box-shadow: 0 8px 18px rgba(154,122,58,.3) !important; }
@media (prefers-reduced-motion: reduce) { .tygh-content .vs-grid-table-wrapper .ty-product-add-button .et-atc:hover { transform: none; } }

/* уже в корзине — и в каруселях, и главная кнопка на странице товара (17.10.2026, слово владельца) */
form.v4-inCart a.ty-btn.et-atc:not(.et-oos), form.v4-inCart a.ty-btn.et-icon-atc { background: #B8934A !important; border-color: #B8934A !important; }
form.v4-inCart a.ty-btn.et-atc:not(.et-oos):hover, form.v4-inCart a.ty-btn.et-icon-atc:hover { background: #9A7A3A !important; border-color: #9A7A3A !important; box-shadow: 0 8px 18px rgba(154,122,58,.3) !important; }
form.v4-inCart a.ty-btn.et-icon-atc::before { content: "\2713"; display: inline-block; margin-right: 8px; font-weight: 700; color: #fff; }
form.v4-inCart a.ty-btn.et-icon-atc i, form.v4-inCart a.ty-btn.et-icon-atc svg { display: none !important; }
.ty-product-detail form.v4-inCart .et-button-container .ty-product-add-button .ty-btn { background: #B8934A !important; border-color: #B8934A !important; }
.ty-product-detail form.v4-inCart .et-button-container .ty-product-add-button .ty-btn:hover { background: #9A7A3A !important; border-color: #9A7A3A !important; }

/* переключатель Loose Tea / Tea Bags в плитке: у кнопок был отступ 3px по бокам сверх ширины колонки — одиночная «Loose Tea»
   съезжала вправо и вылезала за рамку (17.10.2026, замечание владельца) */
.tygh-content .vs-grid-table-wrapper .ty-product-group-links .ty-product-group-link { margin: 0 !important; }
/* страница товара, фасовка уже в корзине: «✓ Added to bag — цена» (подпись data-v4added ставит v4-katalog.js) */
.ty-product-detail form.v4-inCart .et-button-container .ty-product-add-button .ty-btn[data-v4added]::after { content: "\2713\00a0\00a0" attr(data-v4added) !important; }

/* плитка: сначала вид чая (чуть жирнее и темнее), потом страна (17.10.2026, слово владельца) */
.tygh-content .vs-grid-table-wrapper .origin-category-wrapper .origin-category-wrapper__category { order: 1; flex: 0 0 auto; font-weight: 600 !important; color: #4A524D !important; }
.tygh-content .vs-grid-table-wrapper .origin-category-wrapper .origin-category-wrapper__delim { order: 2; flex: 0 0 auto; }
.tygh-content .vs-grid-table-wrapper .origin-category-wrapper .origin-category-wrapper__origin { order: 3; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
/* плитка, фасовка уже в корзине: надпись «Added» вместо «Add to cart» (17.10.2026, слово владельца) */
.tygh-content .vs-grid-table-wrapper .v4-inCart .ty-product-add-button .et-atc:not(.et-oos)::after { content: var(--v4t-added, "Added") !important; }

/* ===== Низ плиток вне чайных категорий — вариант A владельца (17.10.2026) =====
   1) запас 56px под переключатель Loose / Tea Bags — только если на странице он вообще есть (матча, посуда — без пустой полосы);
   2) плитка без фасовок (класс v4-noVars ставит v4-katalog.js): счётчик в строке кнопки, «глаз» — в углу фото */
.tygh-content .vs-grid-table-wrapper:not(:has(.ty-group-links)) .vs-grid .variants-container { margin-top: 8px !important; }
.tygh-content .vs-grid-table-wrapper .v4-noVars .preview-image { position: relative; }
.tygh-content .vs-grid-table-wrapper .v4-noVars .preview-image > a.vs-quick-view { position: absolute !important; left: 10px; top: 10px; z-index: 2; width: 36px !important; height: 36px !important; margin: 0 !important; border-radius: 50% !important; background: rgba(255,255,255,.94) !important; box-shadow: 0 4px 12px rgba(15,40,32,.12); }
.tygh-content .vs-grid-table-wrapper .v4-noVars .vs-buttons { gap: 8px; align-items: center; }
.tygh-content .vs-grid-table-wrapper .v4-noVars .vs-buttons > .ty-product-amount-grid { flex: 0 0 64px; width: 64px !important; margin: 0 !important; }
.tygh-content .vs-grid-table-wrapper .v4-noVars .vs-buttons > .ty-product-amount-grid select { width: 100% !important; margin: 0 !important; }
.tygh-content .vs-grid-table-wrapper .v4-noVars .vs-buttons > .ty-product-add-button { flex: 1 1 0; min-width: 0; margin: 0 !important; }
.tygh-content .vs-grid-table-wrapper .v4-noVars .prices-container:not(:has(*:not(:empty))) { display: none !important; }
.tygh-content .vs-grid-table-wrapper .v4-noVars .product-description { margin-top: 10px !important; }
/* та же высота, что у плитки с фасовкой (ряд фасовки 50px), — кнопки в ряду на одной линии */
.tygh-content .vs-grid-table-wrapper .vs-grid.v4-noVars { grid-template-rows: auto auto auto auto minmax(50px, 1fr) auto auto auto !important; }
.tygh-content .vs-grid-table-wrapper .vs-grid.v4-noVars.v4-rowFlat { grid-template-rows: auto auto auto auto minmax(0, 1fr) auto auto auto !important; }
/* блок цены у плитки без фасовок после переезда счётчика пустой на вид (внутри скрытые поля CS-Cart) — без высоты, но в разметке */
.tygh-content .vs-grid-table-wrapper .v4-noVars .prices-container { height: 0 !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important; overflow: hidden !important; }

/* список вариантов: квадратик цвета слева от названия (17.10.2026, слово владельца); квадратик ставит v4-katalog.js */
.v4-pickSw { flex: 0 0 18px; width: 18px; height: 18px; margin-right: -4px; border-radius: 5px; border: 1px solid rgba(0,0,0,.14); box-shadow: inset 0 0 0 1px rgba(255,255,255,.35); }
.v4-pickSwClear { background: conic-gradient(#E3E7E5 25%, #fff 0 50%, #E3E7E5 0 75%, #fff 0) 0 0 / 8px 8px; }
.v4-pickSwNone { border-color: transparent; box-shadow: none; }
/* «глаз» у плитки без фасовок — в правый нижний угол фото (17.10.2026, слово владельца) */
.tygh-content .vs-grid-table-wrapper .v4-noVars .preview-image > a.vs-quick-view { top: auto !important; left: auto !important; right: 10px !important; bottom: 10px !important; }
/* строка «фасовка + количество» во всю ширину плитки, как кнопки: служебные ::before/::after (clearfix) были пустыми элементами
   flex-строки и давали по 8px отступа с краёв (17.10.2026, замечание владельца) */
.tygh-content .vs-grid-table-wrapper .variants-container::before, .tygh-content .vs-grid-table-wrapper .variants-container::after { display: none !important; content: none !important; }
/* плитка без фасовок: цена — на месте строки «вариант + количество», крупно слева (17.10.2026, замечание владельца:
   у одиночных товаров цены не было видно). Заменяет схлопывание блока цены выше */
.tygh-content .vs-grid-table-wrapper .v4-noVars .prices-container { display: flex !important; align-items: center; height: auto !important; min-height: 42px !important; margin: 8px 0 0 !important; padding: 0 !important; overflow: visible !important; }
.tygh-content .vs-grid-table-wrapper .v4-noVars .prices-container > .clearfix { display: flex; align-items: baseline; gap: 8px; }
.tygh-content .vs-grid-table-wrapper .v4-noVars .prices-container > .clearfix::before, .tygh-content .vs-grid-table-wrapper .v4-noVars .prices-container > .clearfix::after { display: none !important; }
.tygh-content .vs-grid-table-wrapper .v4-noVars .prices-container .ty-product-grid-price { display: block !important; float: none !important; margin: 0 !important; }
.tygh-content .vs-grid-table-wrapper .v4-noVars .prices-container .ty-price, .tygh-content .vs-grid-table-wrapper .v4-noVars .prices-container .ty-price * { font: 700 20px/1.2 Inter, system-ui, sans-serif !important; color: #0F5C45 !important; }
.tygh-content .vs-grid-table-wrapper .v4-noVars .prices-container .ty-list-price, .tygh-content .vs-grid-table-wrapper .v4-noVars .prices-container .ty-strike, .tygh-content .vs-grid-table-wrapper .v4-noVars .prices-container .ty-strike * { font: 500 14px Inter, system-ui, sans-serif !important; color: #8A8F8C !important; }
/* уточнение (17.10.2026): одиночный товар — строка «цена … количество» (как «вариант + количество»), «глаз» — снова в строке кнопки */
.tygh-content .vs-grid-table-wrapper .v4-noVars .prices-container { justify-content: space-between; gap: 8px; }
.tygh-content .vs-grid-table-wrapper .v4-noVars .prices-container > .ty-product-amount-grid { flex: 0 0 auto; margin: 0 0 0 auto !important; }
.tygh-content .vs-grid-table-wrapper .v4-noVars .prices-container { grid-column: 1 / -1 !important; width: auto !important; }
.tygh-content .vs-grid-table-wrapper .v4-noVars .prices-container > .ty-product-amount-grid select { margin: 0 !important; }
.tygh-content .vs-grid-table-wrapper .v4-noVars .prices-container::before, .tygh-content .vs-grid-table-wrapper .v4-noVars .prices-container::after { display: none !important; content: none !important; }
.tygh-content .vs-grid-table-wrapper .v4-noVars .prices-container > .ty-product-amount-grid { width: auto !important; }
.tygh-content .vs-grid-table-wrapper .v4-noVars .prices-container > .ty-product-amount-grid select { width: 59px !important; }
.tygh-content .vs-grid-table-wrapper .vs-grid.v4-noVars .prices-container > .ty-product-amount-grid select.cm-amount { width: 59px !important; min-width: 59px !important; max-width: 59px !important; }

/* ===== «Recently viewed» в боковой колонке (17.10.2026, слово владельца) =====
   серая подложка, как у фильтра; заголовок — золотой надзаголовок; товары — белые карточки «фото слева, текст справа»;
   звёзды — зелёные, как в плитках каталога */
.span3 .vs-sidebox:has(.template-small-item) { margin-top: 18px !important; padding: 16px !important; border-radius: 22px !important; background: #F4F6F5 !important; border: 0 !important; }
.span3 .vs-sidebox:has(.template-small-item) .vs-sidebox-title { margin: 4px 2px 12px !important; padding: 0 !important; border: 0 !important; background: none !important; }
.span3 .vs-sidebox:has(.template-small-item) .vs-sidebox-title .vs-title-text { font: 700 12px Inter, system-ui, sans-serif !important; letter-spacing: .16em !important; text-transform: uppercase !important; color: #B8934A !important; }
.span3 .vs-sidebox:has(.template-small-item) ul.template-small-item { display: flex !important; flex-direction: column; gap: 10px; margin: 0 !important; padding: 0 !important; list-style: none; }
.span3 .vs-sidebox:has(.template-small-item) ul.template-small-item > li { margin: 0 !important; padding: 0 !important; border: 0 !important; list-style: none; }
.span3 .vs-sidebox:has(.template-small-item) ul.template-small-item > li::before, .span3 .vs-sidebox:has(.template-small-item) ul.template-small-item > li::after { display: none !important; }
.span3 .vs-sidebox:has(.template-small-item) ul.template-small-item form { display: grid !important; grid-template-columns: 72px minmax(0, 1fr); gap: 12px; align-items: center; margin: 0 !important; padding: 10px !important; border: 1px solid #E3E7E5; border-radius: 16px; background: #fff; box-shadow: 0 6px 16px rgba(15,40,32,.04); transition: box-shadow .2s, transform .2s, border-color .2s; }
.span3 .vs-sidebox:has(.template-small-item) ul.template-small-item form:hover { border-color: #CFE3D9; transform: translateY(-1px); box-shadow: 0 10px 22px rgba(15,40,32,.08); }
.span3 .vs-sidebox:has(.template-small-item) .item-image { width: 72px !important; height: 72px !important; margin: 0 !important; padding: 0 !important; float: none !important; border-radius: 12px; overflow: hidden; background: #F7F9F8; }
.span3 .vs-sidebox:has(.template-small-item) .item-image a, .span3 .vs-sidebox:has(.template-small-item) .item-image picture { display: block !important; width: 100% !important; height: 100% !important; }
.span3 .vs-sidebox:has(.template-small-item) .item-image img { display: block; width: 100% !important; height: 100% !important; max-width: none !important; object-fit: cover; }
.span3 .vs-sidebox:has(.template-small-item) .item-description { display: flex !important; flex-direction: column; gap: 4px; width: auto !important; min-width: 0; margin: 0 !important; padding: 0 !important; float: none !important; }
.span3 .vs-sidebox:has(.template-small-item) .item-description .product-title { display: -webkit-box !important; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; width: auto !important; margin: 0 !important; font: 600 13.5px/1.3 Inter, system-ui, sans-serif !important; color: #1E2421 !important; text-decoration: none !important; }
.span3 .vs-sidebox:has(.template-small-item) .item-description .product-title:hover { color: #0F5C45 !important; }
.span3 .vs-sidebox:has(.template-small-item) .rating-wrapper { margin: 0 !important; padding: 0 !important; height: auto !important; }
.span3 .vs-sidebox:has(.template-small-item) .rating-wrapper .stars { display: flex !important; gap: 1px; height: auto !important; margin: 0 !important; padding: 0 !important; }
.span3 .vs-sidebox:has(.template-small-item) .rating-wrapper i { display: inline-block !important; width: 12px !important; height: 12px !important; margin: 0 !important; padding: 0 !important; font-size: 0 !important; background: center / 12px 12px no-repeat !important; }
.span3 .vs-sidebox:has(.template-small-item) .rating-wrapper i::before { content: none !important; }
.span3 .vs-sidebox:has(.template-small-item) .rating-wrapper .ty-icon-star { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%230f9d6e' d='M12 2l3.1 6.3 6.9 1-5 4.9 1.2 6.9L12 17.8 5.8 21.1 7 14.2 2 9.3l6.9-1z'/%3E%3C/svg%3E") !important; }
.span3 .vs-sidebox:has(.template-small-item) .rating-wrapper .ty-icon-star-half { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cdefs%3E%3ClinearGradient id='h'%3E%3Cstop offset='50%25' stop-color='%230f9d6e'/%3E%3Cstop offset='50%25' stop-color='%23fff'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath fill='url(%23h)' stroke='%230f9d6e' stroke-width='1.6' d='M12 2l3.1 6.3 6.9 1-5 4.9 1.2 6.9L12 17.8 5.8 21.1 7 14.2 2 9.3l6.9-1z'/%3E%3C/svg%3E") !important; }
.span3 .vs-sidebox:has(.template-small-item) .rating-wrapper .ty-icon-star-empty { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%230f9d6e' stroke-width='1.6' d='M12 2l3.1 6.3 6.9 1-5 4.9 1.2 6.9L12 17.8 5.8 21.1 7 14.2 2 9.3l6.9-1z'/%3E%3C/svg%3E") !important; }
.span3 .vs-sidebox:has(.template-small-item) .item-description .ty-price, .span3 .vs-sidebox:has(.template-small-item) .item-description .ty-price * { font: 700 15px/1.2 Inter, system-ui, sans-serif !important; color: #0F5C45 !important; }
.span3 .vs-sidebox:has(.template-small-item) .item-image img { object-fit: contain !important; padding: 4px; box-sizing: border-box; background: #fff; }

/* интро категории уже в баннере (подставил сервер) — исходный блок не показываем сразу, без ожидания скрипта (17.10.2026, CLS) */
html:has(.cbv4-lead[data-intro]) .tygh-content div[style]:has(> .tealyra-category-intro:only-child),
html:has(.cbv4-lead[data-intro]) .tygh-content .tealyra-category-intro { display: none !important; }
/* 18.10.2026, тест устройств: каталог «списком» на узких телефонах (до 420px) — выбор фасовки, количество и «Add to cart»
   во всю ширину под описанием (было зажато в колонке ~180px: фасовка обрезалась, кнопка вылезала); описание — ровно 2 строки */
@media (max-width: 420px) {
  html.v4-list .tygh-content .vs-grid-table-wrapper .vs-grid {
    grid-template-areas: "title img" "origin img" "desc img" "group group" "vars vars" "btns btns" !important;
    grid-template-rows: auto auto 1fr auto auto auto !important;
  }
  html.v4-list .tygh-content .vs-grid-table-wrapper .ty-group-links,
  html.v4-list .tygh-content .vs-grid-table-wrapper .variants-container { max-width: none !important; margin-top: 12px !important; }
  html.v4-list .tygh-content .vs-grid-table-wrapper .product-description { max-width: none !important; width: auto !important; justify-self: stretch !important; margin-left: 0 !important; padding-right: 56px !important; box-sizing: border-box; }
  html.v4-list .tygh-content .vs-grid-table-wrapper .product-description .ty-product-add-button { width: 100% !important; }
  html.v4-list .tygh-content .vs-grid-table-wrapper .product-description .et-atc { flex: 1 1 auto !important; min-width: 0 !important; max-width: none !important; width: auto !important; justify-content: center !important; }
  html.v4-list .tygh-content .vs-grid-table-wrapper .vs-add-to-wishlist { bottom: 0 !important; }
}
.tygh-content .vs-grid-table-wrapper .short-description-wrapper { max-height: 2.8em !important; padding-bottom: 0 !important; padding-top: 0 !important; margin-top: 6px !important; margin-bottom: 5px !important; }
/* 18.10.2026, тест устройств: пилюли фильтра — ширина по тексту, без обрезки длинных названий */
.span3 .fy-block-filters .ty-product-filters__variants > .ty-product-filters__group { width: auto !important; max-width: 100%; float: none !important; }
/* 19.10.2026, слово владельца: экономия места над товарами. Баннер — в правой колонке (v4-katalog.js), без лишних отступов;
   верхняя нумерация страниц убрана (нижняя остаётся); сортировка и «Total items» — в одну строку */
.tygh-content .cbv4-banner.cbv4-inCol { margin: 0 0 18px !important; }
.tygh-content .et-category .ty-pagination-container > .ty-pagination.et-pagination { display: none !important; }
.tygh-content .et-category .ty-pagination-container { position: relative; }
.tygh-content .et-category .ty-pagination-container > .ty-category-desktop-total { position: absolute !important; right: 0; top: 0; float: none !important; margin: 0 !important; z-index: 1; }
.tygh-content .et-category .ty-pagination-container > .ty-sort-buttons-container { margin-top: 0 !important; }
@media (min-width: 1007px) { .tygh-content .et-category .ty-pagination-container > .ty-sort-buttons-container { padding-right: 150px; } }
/* телефон и планшет: «Subcategories» и «Filters» — одним рядом, компактно; «Sort by» скрыта — она только показывала
   вкладки сортировки, а они и так всегда видны; вкладки — в одну строку (листаются, если не помещаются) */
@media (max-width: 1006px) {
  .tygh-content .ty-category-panel-buttons { display: flex !important; justify-content: center; flex-wrap: nowrap; gap: 8px; margin: 6px 0 10px !important; }
  .tygh-content .ty-category-panel-buttons .ty-btn { display: inline-flex !important; align-items: center; gap: 6px; width: auto !important; height: 38px !important; min-height: 0 !important; margin: 0 !important; padding: 0 16px !important; font-size: 14px !important; }
  .tygh-content .ty-category-panel-buttons [data-simpletarget=".ty-sort-buttons-container"] { display: none !important; }
  .tygh-content .et-category .ty-pagination-container > .ty-sort-buttons-container { flex-wrap: nowrap !important; overflow-x: auto; scrollbar-width: none; }
  .tygh-content .et-category .ty-pagination-container > .ty-sort-buttons-container > *, .tygh-content .et-category .ty-pagination-container > .ty-sort-buttons-container * { white-space: nowrap !important; flex: 0 0 auto; }
}
.tygh-content .et-category > .ty-mainbox-title, .tygh-content .et-category.ty-mainbox-container > h1.ty-mainbox-title { margin: 0 0 10px !important; }
/* 19.10.2026, слово владельца: сортировка — выпадающим списком справа в строке названия категории, рядом число товаров
   (v4-katalog.js, .v4cat-bar); строка вкладок и рамка «Total items» скрыты */
.tygh-content .et-category.ty-mainbox-container.v4cat-hasBar { position: relative; }
.v4cat-hasBar .ty-sort-buttons-container, .v4cat-hasBar .ty-category-desktop-total { display: none !important; }
.v4cat-bar { position: absolute; right: 0; top: 0; display: flex; align-items: center; gap: 14px; }
.v4cat-count { font: 500 14px Inter, system-ui, sans-serif; color: #6E746F; white-space: nowrap; }
.tygh-content .v4cat-bar .v4cat-sort select { -webkit-appearance: none !important; appearance: none !important; height: 40px !important; margin: 0 !important; padding: 0 38px 0 16px !important; border: 1.5px solid #E3E7E5 !important; border-radius: 999px !important; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%230F5C45' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") right 15px center / 11px no-repeat !important; font: 600 14px Inter, system-ui, sans-serif !important; color: #1E2421 !important; cursor: pointer !important; box-shadow: none !important; width: auto !important; max-width: 240px !important; }
.tygh-content .v4cat-bar .v4cat-sort select:hover { border-color: #9FB3AE !important; }
.tygh-content .v4cat-bar .v4cat-sort select:focus { outline: none; border-color: #008556 !important; box-shadow: 0 0 0 3px rgba(0,133,86,.15) !important; }
@media (min-width: 1007px) { .v4cat-hasBar > h1.ty-mainbox-title { padding-right: 440px !important; min-height: 40px; display: flex !important; align-items: center; } }
@media (max-width: 1006px) {
  .v4cat-bar { position: static; justify-content: center; flex-wrap: wrap; gap: 10px; margin: 2px 0 10px; }
  .tygh-content .v4cat-bar .v4cat-sort select { height: 38px !important; }
  .v4cat-count { display: none; }  /* на телефоне число товаров уже есть строкой под названием */
}
/* узкий экран: список сортировки — слева в строке переключателя «List / Grid» */
#v4-view-slot.v4cat-slotBar { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: 0 0 16px; }
#v4-view-slot.v4cat-slotBar .v4cat-bar { margin: 0; justify-content: flex-start; }
#v4-view-slot.v4cat-slotBar .v4h-viewSw { margin: 0; }
/* ===== 19.10.2026, слово владельца: Quick view в новом стиле (как страница товара). Окно — диалог старой темы в body;
   старые правила .ty-quick-view-dialog не срабатывают (у диалога больше нет этого класса) — здесь привязка к содержимому ===== */
.ui-dialog:has(.ty-quick-view__wrapper) { border: 0 !important; border-radius: 24px !important; overflow: hidden; box-shadow: 0 30px 80px rgba(15, 40, 32, .28) !important; padding: 0 !important; }
.ui-dialog:has(.ty-quick-view__wrapper) .ui-dialog-titlebar { position: absolute !important; top: 0; right: 0; left: auto; z-index: 3; height: auto !important; padding: 0 !important; border: 0 !important; background: none !important; }
.ui-dialog:has(.ty-quick-view__wrapper) .ui-dialog-titlebar .ui-dialog-title { display: none !important; }
.ui-dialog:has(.ty-quick-view__wrapper) .ui-dialog-titlebar button { position: static !important; display: grid !important; place-items: center; width: 38px !important; height: 38px !important; margin: 14px 14px 0 0 !important; padding: 0 !important; border: 0 !important; border-radius: 50% !important; background: #F4F6F5 !important; cursor: pointer; }
.ui-dialog:has(.ty-quick-view__wrapper) .ui-dialog-titlebar button:hover { background: #E8F3EE !important; }
.ui-dialog:has(.ty-quick-view__wrapper) .ui-dialog-content { padding: 0 !important; }
.ty-quick-view__wrapper { padding: 30px 34px 28px !important; }
.ty-quick-view__wrapper, .ty-quick-view__wrapper *:not([class*="icon"]):not(svg):not(path) { font-family: Inter, system-ui, -apple-system, sans-serif !important; }
.ty-quick-view__wrapper .ty-product-block__wrapper form { display: grid !important; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: 34px; align-items: start; }
.ty-quick-view__wrapper .image-wrap { float: none !important; width: auto !important; margin: 0 !important; }
.ty-quick-view__wrapper .image-wrap img { border-radius: 18px; }
.ty-quick-view__wrapper .image-wrap [class*="thumbnails"] img { border-radius: 10px; }
.ty-quick-view__wrapper .image-wrap [class*="thumbnails"] a, .ty-quick-view__wrapper .image-wrap [class*="thumbnails"] .ty-product-thumbnails__item { border-radius: 12px !important; border-color: #E3E7E5 !important; overflow: hidden; }
.ty-quick-view__wrapper .product-info { width: auto !important; float: none !important; margin: 0 !important; padding: 0 !important; }
.ty-quick-view__wrapper .et-title { margin: 0 0 10px !important; padding: 0 44px 0 0 !important; border: 0 !important; }
.ty-quick-view__wrapper a.ty-quick-view__title { font: 600 30px/1.1 var(--v4-cond, Inter), Inter, sans-serif !important; letter-spacing: -.015em; color: #1E2421 !important; text-decoration: none !important; text-transform: none !important; }
.ty-quick-view__wrapper a.ty-quick-view__title:hover { color: #0F5C45 !important; }
.ty-quick-view__wrapper .et-rating-brand { display: flex !important; flex-wrap: wrap; align-items: center; gap: 6px; margin: 0 0 16px !important; padding: 0 !important; border: 0 !important; }
.ty-quick-view__wrapper .et-rating-brand > div { display: inline-flex !important; align-items: center; height: 28px; margin: 0 !important; padding: 0 12px !important; border: 0 !important; border-radius: 999px; background: #F4F6F5; font-size: 13px !important; color: #4A524D !important; }
.ty-quick-view__wrapper .et-rating-brand > div *, .ty-quick-view__wrapper .et-rating-brand .ty-features-list { margin: 0 !important; padding: 0 !important; border: 0 !important; font-size: 13px !important; color: inherit !important; }
.ty-quick-view__wrapper .et-rating-brand .vs-stock { background: #E8F3EE; }
.ty-quick-view__wrapper .et-rating-brand .vs-stock, .ty-quick-view__wrapper .et-rating-brand .vs-stock * { color: #0F7A4A !important; font-weight: 600 !important; }
.ty-quick-view__wrapper .et-rating-brand .vs-sku label { margin-right: 4px !important; color: #8A8F8C !important; }
.ty-quick-view__wrapper .price-wrap { margin: 0 0 12px !important; padding: 0 !important; border: 0 !important; }
.ty-quick-view__wrapper .actual-price, .ty-quick-view__wrapper .actual-price .ty-price-num { font: 700 32px/1 Inter, system-ui, sans-serif !important; color: #0F5C45 !important; letter-spacing: -.01em; }
.ty-quick-view__wrapper .et-short-descr-wrapper { margin: 0 0 18px !important; padding: 0 !important; border: 0 !important; }
.ty-quick-view__wrapper .et-short-descr-wrapper, .ty-quick-view__wrapper .et-short-descr-wrapper * { font-size: 15px !important; line-height: 1.55 !important; color: #4A524D !important; }
.ty-quick-view__wrapper .options-wrapper { margin: 0 0 18px !important; padding: 0 !important; border: 0 !important; }
.ty-quick-view__wrapper .ty-product-options__group-links { display: grid !important; grid-template-columns: 76px repeat(3, minmax(0, 1fr)); gap: 8px; align-items: stretch; margin: 0 0 8px !important; }
.ty-quick-view__wrapper .ty-product-group-link { display: flex !important; flex-direction: column; align-items: center; justify-content: center; gap: 4px; margin: 0 !important; font-size: 12px !important; font-weight: 600 !important; color: #4A524D !important; }
.ty-quick-view__wrapper .ty-product-options__button { display: flex !important; flex-direction: column; align-items: flex-start; justify-content: center; gap: 2px; width: auto !important; min-width: 0 !important; height: auto !important; margin: 0 !important; padding: 10px 12px !important; border: 1.5px solid #E3E7E5 !important; border-radius: 14px !important; background: #fff !important; color: #1E2421 !important; font: 600 14px/1.2 Inter, system-ui, sans-serif !important; text-align: left !important; cursor: pointer; transition: border-color .15s, background .15s; }
.ty-quick-view__wrapper .ty-product-options__button:hover { border-color: #9FB3AE !important; }
.ty-quick-view__wrapper .ty-product-options__button .ty-variant-price { font: 500 12.5px/1.2 Inter, system-ui, sans-serif !important; color: #6E746F !important; }
.ty-quick-view__wrapper .ty-product-options__button.product_variant_button_selected { border-color: #0F5C45 !important; background: #F2F8F5 !important; color: #0F5C45 !important; box-shadow: inset 0 0 0 1px #0F5C45; }
.ty-quick-view__wrapper .ty-product-options__button.product_variant_button_selected .ty-variant-price { color: #0F5C45 !important; }
.ty-quick-view__wrapper .buttons-container { display: flex !important; flex-wrap: wrap; align-items: center; gap: 10px; margin: 0 !important; padding: 0 !important; border: 0 !important; }
.ty-quick-view__wrapper .buttons-container::before, .ty-quick-view__wrapper .buttons-container::after { display: none !important; }
.ty-quick-view__wrapper .ty-product-qty { float: none !important; margin: 0 !important; }
.ty-quick-view__wrapper .ty-value-changer { display: inline-flex !important; align-items: center; height: 50px; margin: 0 !important; padding: 0 6px !important; border: 1.5px solid #E3E7E5 !important; border-radius: 999px; background: #fff; }
.ty-quick-view__wrapper .ty-value-changer__label { display: none !important; }
.ty-quick-view__wrapper .ty-value-changer__input { width: 38px !important; height: 46px !important; margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; box-shadow: none !important; text-align: center; font: 600 16px Inter, system-ui, sans-serif !important; }
.ty-quick-view__wrapper .ty-value-changer__buttons { display: contents !important; }
.ty-quick-view__wrapper .ty-value-changer__decrease { order: -1; }
.ty-quick-view__wrapper .ty-value-changer__increase, .ty-quick-view__wrapper .ty-value-changer__decrease { display: grid !important; place-items: center; width: 34px !important; height: 34px !important; margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 50%; background: none !important; color: #1E2421 !important; font: 500 20px/1 Inter, system-ui, sans-serif !important; text-decoration: none !important; }
.ty-quick-view__wrapper .ty-value-changer__increase:hover, .ty-quick-view__wrapper .ty-value-changer__decrease:hover { background: #F4F6F5 !important; }
.ty-quick-view__wrapper .ty-product-add-button { float: none !important; flex: 1 1 auto; margin: 0 !important; }
.ty-quick-view__wrapper .ty-product-add-button .ty-btn { display: inline-flex !important; align-items: center; justify-content: center; gap: 8px; width: 100% !important; height: 50px !important; margin: 0 !important; padding: 0 22px !important; border: 0 !important; border-radius: 999px !important; background: #008556 !important; color: #fff !important; font: 700 16px Inter, system-ui, sans-serif !important; text-transform: none !important; box-shadow: 0 8px 20px rgba(0, 133, 86, .22) !important; transition: background .15s, transform .15s; }
.ty-quick-view__wrapper .ty-product-add-button .ty-btn:hover { background: #0F5C45 !important; transform: translateY(-1px); }
.ty-quick-view__wrapper .ty-product-add-button .ty-btn i { display: none !important; }
.ty-quick-view__wrapper .ty-product-detail-button { float: none !important; display: inline-flex !important; align-items: center; height: 50px !important; margin: 0 !important; padding: 0 20px !important; border: 1.5px solid #E3E7E5 !important; border-radius: 999px !important; background: #fff !important; color: #0F5C45 !important; font: 600 15px Inter, system-ui, sans-serif !important; text-transform: none !important; }
.ty-quick-view__wrapper .ty-product-detail-button:hover { border-color: #0F5C45 !important; background: #F2F8F5 !important; }
@media (max-width: 767px) {
  .ty-quick-view__wrapper { padding: 22px 18px !important; }
  .ty-quick-view__wrapper .ty-product-block__wrapper form { grid-template-columns: 1fr; gap: 18px; }
  .ty-quick-view__wrapper a.ty-quick-view__title { font-size: 24px !important; }
  .ty-quick-view__wrapper .ty-product-options__group-links { grid-template-columns: 64px repeat(2, minmax(0, 1fr)); }
}
/* Quick view, поправки: окно и затемнение — поверх липкой шапки, окно не выше экрана (прокрутка внутри);
   у кнопки покупки два варианта (для компьютера и телефона) — виден только свой; «View more» — в одну строку */
.ui-widget-overlay { z-index: 1990 !important; }
.ui-dialog:has(.ty-quick-view__wrapper) { z-index: 2000 !important; max-height: calc(100vh - 32px); max-height: calc(100dvh - 32px); display: flex !important; flex-direction: column; }
.ui-dialog:has(.ty-quick-view__wrapper) .ui-dialog-content { overflow-y: auto !important; max-height: none !important; height: auto !important; flex: 1 1 auto; }
@media (min-width: 1007px) { .ty-quick-view__wrapper .ty-product-add-button .ty-btn.hidden-desktop { display: none !important; } }
@media (max-width: 1006px) { .ty-quick-view__wrapper .ty-product-add-button .ty-btn.visible-desktop { display: none !important; } }
.ty-quick-view__wrapper .ty-product-add-button { flex: 1 1 160px; min-width: 0; }
.ty-quick-view__wrapper [id^="product_view_more"] { display: inline-flex; flex: 0 0 auto; }
.ty-quick-view__wrapper .ty-product-detail-button { white-space: nowrap; line-height: 1 !important; width: auto !important; min-width: 0 !important; border-radius: 999px !important; }
.ty-quick-view__wrapper .ty-product-detail-button::first-letter { text-transform: uppercase; }
.ty-quick-view__wrapper a.ty-product-detail-button.ty-btn { box-sizing: border-box !important; height: 50px !important; min-height: 0 !important; max-height: 50px; padding-top: 0 !important; padding-bottom: 0 !important; line-height: 1 !important; }
.ty-quick-view__wrapper .ty-product-add-button .ty-btn { box-sizing: border-box !important; min-width: 0 !important; max-width: 100%; }
.ty-quick-view__wrapper a.ty-product-detail-button.ty-btn { text-transform: capitalize !important; }
/* 19.10.2026, слово владельца: телефон и планшет — «Subcategories», «Filters» и список сортировки в одну строку, кнопки красивее
   (таблетки со значками), «Total items» в каталоге не показывается */
@media (max-width: 1006px) {
  .tygh-content .ty-category-mobile-panel .ty-category-total { display: none !important; }
  .tygh-content .ty-category-panel-buttons.v4cat-panelBar { display: flex !important; flex-wrap: nowrap; justify-content: center; align-items: center; gap: 8px; margin: 4px 0 14px !important; }
  .tygh-content .ty-category-panel-buttons .ty-btn.ty-show-simple-target { display: inline-flex !important; align-items: center; gap: 7px; flex: 0 1 auto; min-width: 0; height: 40px !important; margin: 0 !important; padding: 0 14px !important; border: 1.5px solid #E3E7E5 !important; border-radius: 999px !important; background: #fff !important; color: #1E2421 !important; font: 600 14px Inter, system-ui, sans-serif !important; text-transform: none !important; box-shadow: none !important; white-space: nowrap; transition: border-color .15s, background .15s; }
  .tygh-content .ty-category-panel-buttons .ty-btn.ty-show-simple-target:hover, .tygh-content .ty-category-panel-buttons .ty-btn.ty-show-simple-target.open, .tygh-content .ty-category-panel-buttons .ty-btn.ty-show-simple-target.active { border-color: #0F5C45 !important; background: #F2F8F5 !important; color: #0F5C45 !important; }
  .tygh-content .ty-category-panel-buttons .ty-btn.ty-show-simple-target span { color: inherit !important; font: inherit !important; overflow: hidden; text-overflow: ellipsis; }
  .tygh-content .ty-category-panel-buttons .ty-btn.ty-show-simple-target i { display: none !important; }
  .tygh-content .ty-category-panel-buttons .ty-btn.ty-show-simple-target::before { content: ""; flex: 0 0 16px; width: 16px; height: 16px; background: #0F5C45; -webkit-mask: var(--v4ic) center / contain no-repeat; mask: var(--v4ic) center / contain no-repeat; }
  .tygh-content .ty-category-panel-buttons [data-simpletarget=".subcategories"] { --v4ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M1.5 1.5h5v5h-5zM9.5 1.5h5v5h-5zM1.5 9.5h5v5h-5zM9.5 9.5h5v5h-5z' fill='none' stroke='%23000' stroke-width='1.6' stroke-linejoin='round'/%3E%3C/svg%3E"); }
  .tygh-content .ty-category-panel-buttons [data-simpletarget=".fy-block-filters"] { --v4ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M1.5 4h13M1.5 12h13' stroke='%23000' stroke-width='1.6' stroke-linecap='round'/%3E%3Ccircle cx='5' cy='4' r='2' fill='%23fff' stroke='%23000' stroke-width='1.6'/%3E%3Ccircle cx='11' cy='12' r='2' fill='%23fff' stroke='%23000' stroke-width='1.6'/%3E%3C/svg%3E"); }
  .tygh-content .ty-category-panel-buttons.v4cat-panelBar .v4cat-bar { position: static !important; flex: 0 1 auto; min-width: 0; margin: 0 !important; }
  .tygh-content .ty-category-panel-buttons.v4cat-panelBar .v4cat-bar .v4cat-sort select { height: 40px !important; max-width: 170px; padding: 0 34px 0 14px !important; background-position: right 13px center !important; }
}
@media (max-width: 400px) {
  .tygh-content .ty-category-panel-buttons .ty-btn.ty-show-simple-target { padding: 0 11px !important; font-size: 13px !important; gap: 5px; }
  .tygh-content .ty-category-panel-buttons.v4cat-panelBar .v4cat-bar .v4cat-sort select { max-width: 132px; font-size: 13px !important; padding: 0 28px 0 11px !important; background-position: right 10px center !important; }
}
/* кнопка «Sort by» темы не нужна — сортировка списком в этом же ряду (правило выше её снова показывало) */
@media (max-width: 1006px) { .tygh-content .ty-category-panel-buttons .ty-btn.ty-show-simple-target[data-simpletarget=".ty-sort-buttons-container"] { display: none !important; } }
/* ширины в ряду: список сортировки уже (прежнее правило давало max-width 240px !important) — всё помещается без наложения */
@media (max-width: 1006px) {
  .tygh-content .ty-category-panel-buttons.v4cat-panelBar .v4cat-bar .v4cat-sort select { max-width: 160px !important; width: auto !important; }
  .tygh-content .ty-category-panel-buttons.v4cat-panelBar > .ty-btn, .tygh-content .ty-category-panel-buttons.v4cat-panelBar > .v4cat-bar { flex: 0 0 auto !important; }
}
@media (max-width: 400px) {
  .tygh-content .ty-category-panel-buttons.v4cat-panelBar { gap: 6px; }
  .tygh-content .ty-category-panel-buttons.v4cat-panelBar .v4cat-bar .v4cat-sort select { max-width: 116px !important; height: 38px !important; font-size: 13px !important; padding: 0 26px 0 10px !important; background-position: right 9px center !important; }
  .tygh-content .ty-category-panel-buttons .ty-btn.ty-show-simple-target { height: 38px !important; padding: 0 10px !important; font-size: 13px !important; }
}
/* 19.10.2026, слово владельца «некрасивый выпадающий список»: свой список сортировки в стиле сайта вместо системного */
.tygh-content .v4cat-sort { position: relative; display: inline-block; }
.tygh-content .v4cat-bar .v4cat-sortBtn { display: inline-flex; align-items: center; justify-content: space-between; gap: 10px; height: 40px; max-width: 240px; margin: 0; padding: 0 14px 0 16px; border: 1.5px solid #E3E7E5; border-radius: 999px; background: #fff; color: #1E2421; font: 600 14px Inter, system-ui, sans-serif; cursor: pointer; white-space: nowrap; box-shadow: none; transition: border-color .15s, background .15s; }
.tygh-content .v4cat-bar .v4cat-sortBtn:hover { border-color: #9FB3AE; }
.tygh-content .v4cat-bar.v4cat-open .v4cat-sortBtn, .tygh-content .v4cat-bar .v4cat-sortBtn:focus-visible { outline: none; border-color: #0F5C45; background: #F2F8F5; }
.tygh-content .v4cat-bar .v4cat-sortCur { overflow: hidden; text-overflow: ellipsis; }
.tygh-content .v4cat-bar .v4cat-sortBtn svg { flex: 0 0 11px; width: 11px; height: 8px; fill: none; stroke: #0F5C45; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; transition: transform .2s; }
.tygh-content .v4cat-bar.v4cat-open .v4cat-sortBtn svg { transform: rotate(180deg); }
.tygh-content .v4cat-bar .v4cat-sortMenu { position: absolute; z-index: 60; top: calc(100% + 8px); right: 0; min-width: 230px; margin: 0; padding: 6px; list-style: none; border: 1px solid #E3E7E5; border-radius: 16px; background: #fff; box-shadow: 0 18px 40px rgba(15, 40, 32, .16); animation: v4catMenuIn .16s ease-out; }
.tygh-content .v4cat-bar .v4cat-sortMenu[hidden] { display: none; }
@keyframes v4catMenuIn { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }
.tygh-content .v4cat-bar .v4cat-sortMenu li { position: relative; margin: 0; padding: 10px 36px 10px 14px; border-radius: 10px; font: 500 14px Inter, system-ui, sans-serif; color: #1E2421; cursor: pointer; white-space: nowrap; list-style: none; }
.tygh-content .v4cat-bar .v4cat-sortMenu li:hover { background: #F4F6F5; }
.tygh-content .v4cat-bar .v4cat-sortMenu li.v4cat-on { color: #0F5C45; font-weight: 700; background: #F2F8F5; }
.tygh-content .v4cat-bar .v4cat-sortMenu li.v4cat-on::after { content: ""; position: absolute; right: 14px; top: 50%; width: 12px; height: 7px; margin-top: -5px; border: solid #0F5C45; border-width: 0 0 2px 2px; transform: rotate(-45deg); }
@media (max-width: 1006px) {
  .tygh-content .ty-category-panel-buttons.v4cat-panelBar .v4cat-bar .v4cat-sortBtn { max-width: 170px; }
  .tygh-content .ty-category-panel-buttons.v4cat-panelBar .v4cat-bar .v4cat-sortMenu { text-align: left; }
}
@media (max-width: 400px) {
  .tygh-content .ty-category-panel-buttons.v4cat-panelBar .v4cat-bar .v4cat-sortBtn { height: 38px; max-width: 124px; padding: 0 10px 0 12px; gap: 6px; font-size: 13px; }
  .tygh-content .v4cat-bar .v4cat-sortMenu { min-width: 210px; }
}
/* 19.10.2026, слово владельца: карточка «список» на телефоне — звёзды отзывов над фото (фото чуть ниже),
   сердечко — на углу фото, а не у кнопки; «Add to cart» во всю ширину */
@media (max-width: 767px) {
  html.v4-list .tygh-content .vs-grid-table-wrapper .vs-grid { grid-template-areas: "title stars" "title img" "origin img" "desc img" "group group" "vars vars" "btns btns" !important; grid-template-rows: auto auto auto 1fr auto auto auto !important; }
  html.v4-list .tygh-content .vs-grid-table-wrapper .rating-buttons { display: flex !important; grid-area: stars !important; justify-self: center; align-self: start; margin: 0 0 6px !important; }
  html.v4-list .tygh-content .vs-grid-table-wrapper .rating-buttons:not(:has(.ty-icon-star, .ty-icon-star-half)) { display: none !important; }
  html.v4-list .tygh-content .vs-grid-table-wrapper .rating-buttons i, html.v4-list .tygh-content .vs-grid-table-wrapper .rating-buttons [class*="ty-icon-star"] { font-size: 12px !important; }
  html.v4-list .tygh-content .vs-grid-table-wrapper .preview-image { grid-area: img !important; align-self: start; }
  html.v4-list .tygh-content .vs-grid-table-wrapper .product-description { padding-right: 0 !important; }
  html.v4-list .tygh-content .vs-grid-table-wrapper .product-description .product-buttons, html.v4-list .tygh-content .vs-grid-table-wrapper .product-description .vs-buttons, html.v4-list .tygh-content .vs-grid-table-wrapper .product-description .ty-product-add-button { width: 100% !important; max-width: none !important; }
  html.v4-list .tygh-content .vs-grid-table-wrapper .product-description .add-buttons.add-to-wish { flex: 0 0 0 !important; width: 0 !important; min-width: 0 !important; margin: 0 !important; }
  html.v4-list .tygh-content .vs-grid-table-wrapper .vs-add-to-wishlist { top: var(--v4heart-top, 22px) !important; bottom: auto !important; right: -6px !important; width: 34px !important; height: 34px !important; min-width: 0 !important; border: 0 !important; border-radius: 50% !important; background: #fff !important; box-shadow: 0 3px 10px rgba(15, 40, 32, .18) !important; z-index: 3; }
  html.v4-list .tygh-content .vs-grid-table-wrapper .vs-grid:not(:has(.rating-buttons .ty-icon-star, .rating-buttons .ty-icon-star-half)) .vs-add-to-wishlist { --v4heart-top: -6px; }
}
/* 19.10.2026, слово владельца: есть баннер категории — название под ним не выводим (дубль). H1 остаётся в странице для поиска,
   но скрыт визуально; на компьютере строка «Total items + сортировка» встаёт справа над товарами. Нет баннера — название как было */
.tygh-content:has(.cbv4-banner) .et-category.ty-mainbox-container > h1.ty-mainbox-title { position: absolute !important; width: 1px !important; height: 1px !important; min-height: 0 !important; margin: -1px !important; padding: 0 !important; overflow: hidden !important; clip: rect(0 0 0 0) !important; white-space: nowrap !important; border: 0 !important; }
@media (min-width: 1007px) { .tygh-content:has(.cbv4-banner) .et-category.v4cat-hasBar > .v4cat-bar { position: static !important; justify-content: flex-end; margin: 0 0 16px !important; } }
/* 19.10.2026, слово владельца: фильтры на телефоне были чёрными кнопками с белым текстом — непонятно, выбраны или нет.
   Как на компьютере: светлые таблетки с тёмным текстом, выбранная — тёмно-зелёная с галочкой */
html .tygh-content .fy-block-filters .ty-product-filters__variants { display: flex !important; flex-wrap: wrap; align-content: flex-start; gap: 6px; max-height: 196px !important; overflow-y: auto; margin: 0 !important; padding: 2px !important; list-style: none; }
html .tygh-content .fy-block-filters .ty-product-filters__variants > .ty-product-filters__group { display: block !important; width: auto !important; max-width: 100%; float: none !important; margin: 0 !important; padding: 0 !important; list-style: none; }
html .tygh-content .fy-block-filters .ty-product-filters__group label { position: relative; display: inline-flex !important; align-items: center; height: 34px; margin: 0 !important; padding: 0 13px !important; border: 1.5px solid #E3E7E5 !important; border-radius: 999px !important; background: #fff !important; font: 500 13.5px Inter, system-ui, sans-serif !important; color: #1E2421 !important; cursor: pointer; white-space: nowrap; box-shadow: none !important; transition: border-color .15s, background .15s, color .15s; }
html .tygh-content .fy-block-filters .ty-product-filters__group label:hover { border-color: #9FB3AE !important; background: #F7FBF9 !important; }
html .tygh-content .fy-block-filters .ty-product-filters__group label input { position: absolute; opacity: 0; pointer-events: none; width: 0; height: 0; margin: 0; }
html .tygh-content .fy-block-filters .ty-product-filters__group label:has(input:checked) { background: #0F5C45 !important; border-color: #0F5C45 !important; color: #fff !important; }
html .tygh-content .fy-block-filters .ty-product-filters__group label:has(input:checked)::before { content: "\2713"; margin-right: 6px; font-weight: 700; }
html .tygh-content .fy-block-filters .ty-product-filters__group label:has(input:disabled) { opacity: .4; cursor: default; }
/* «Reset» у выбранного фильтра — светлой таблеткой, а не чёрной плашкой */
html .tygh-content .fy-block-filters .ty-filter-item-close { display: inline-flex !important; align-items: center; height: 30px; padding: 0 12px !important; border: 1.5px solid #E3E7E5 !important; border-radius: 999px !important; background: #fff !important; color: #0F5C45 !important; font: 600 13px Inter, system-ui, sans-serif !important; text-decoration: none !important; }
html .tygh-content .fy-block-filters .ty-filter-item-close * { color: inherit !important; background: none !important; font: inherit !important; }
html .tygh-content .fy-block-filters .ty-filter-item-close:hover { border-color: #0F5C45 !important; background: #F2F8F5 !important; }
/* 19.10.2026, слово владельца: карточка «список» — сердечко на фото и на широких телефонах (до 767px, было до 420px).
   Телефон и планшет: кнопки быстрого просмотра (глаз) в карточках нет — окно Quick view на узком экране не нужно */
@media (max-width: 1006px) { .tygh-content .vs-grid-table-wrapper .vs-quick-view { display: none !important; } }
/* 19.10.2026, замечание владельца: у части картинок баннеров по краям белый фон — справа баннер выглядел обрезанным и уже каталога.
   Белое в картинке смешивается с цветом баннера (multiply), а сама картинка чуть крупнее, чтобы рваный край ушёл за рамку */
.tygh-content .cbv4-banner { background-color: var(--ban-bg, #F4C542); }
.tygh-content .cbv4-imgBox { background: var(--ban-bg, #F4C542); }
.tygh-content .cbv4-imgBox .cbv4-img { mix-blend-mode: multiply; transform: scale(1.06); transform-origin: left center; }
/* ===== 19.10.2026, слово владельца: баннер-анимация категории без фото (v4/category_banner.tpl ветка cbv4-auto, рисунки v4/cb_art.tpl).
   Слева название и текст блока «Intro», справа рисунок по теме категории; на телефоне рисунок под текстом ===== */
.tygh-content .cbv4-banner.cbv4-auto { min-height: 190px; }
.tygh-content .cbv4-auto::after { display: none !important; }
.tygh-content .cbv4-auto .cbv4-text { position: relative; z-index: 1; max-width: 56%; }
.tygh-content .cbv4-auto .cbv4-artBox { width: 46%; background: transparent !important; }
.tygh-content .cbv4-artBox svg { position: absolute; left: 0; right: 0; bottom: 4px; width: 100%; height: calc(100% - 12px); overflow: visible; }
@media (max-width: 760px) {
  .tygh-content .cbv4-auto .cbv4-text { max-width: none; }
  .tygh-content .cbv4-auto .cbv4-artBox { position: relative; width: 100%; height: 140px; margin-top: -6px; }
}
/* 15.10.2026, вторая редакция рисунков баннера (слово владельца «не так примитивно, как в первый раз»; v4/cb_art.tpl, генератор cbart2.py):
   объёмные сцены с заливками — контура нет; слои движения: пар лентами, рябь на чае, качание веток, листья падают с переворотом, искры мерцают, чайник наливает */
.cbv4-artBox svg [class*="cbx-"] { transform-box: fill-box; }
.cbx-breathe { transform-origin: 50% 50%; animation: cbxBreathe 6s ease-in-out infinite; }
.cbx-tw { transform-origin: 50% 50%; animation: cbxTw 3s ease-in-out infinite; animation-delay: var(--d, 0s); }
.cbx-sway { transform-origin: 50% 100%; animation: cbxSway 5.5s ease-in-out infinite; animation-delay: var(--d, 0s); }
.cbx-steam { opacity: 0; animation: cbxSteam 3.6s ease-in-out infinite; animation-delay: var(--d, 0s); }
.cbx-ripple { transform-origin: 50% 50%; opacity: 0; animation: cbxRipple 3s ease-out infinite; animation-delay: var(--d, 0s); }
.cbx-fall { opacity: 0; animation: cbxFall 9.6s linear infinite; animation-delay: var(--d, 0s); }
.cbx-flip { transform-origin: 50% 50%; animation: cbxFlip 1.8s ease-in-out infinite alternate; }
.cbx-bob { transform-origin: 50% 50%; animation: cbxBob 4.2s ease-in-out infinite; animation-delay: var(--d, 0s); }
.cbx-spin { transform-origin: 50% 50%; animation: cbxSpin 24s linear infinite; }
.cbx-spinS { transform-origin: 50% 50%; animation: cbxSpinS 7s ease-in-out infinite alternate; animation-delay: var(--d, 0s); }
.cbx-pour { transform-box: fill-box; transform-origin: 80% 90%; animation: cbxPour 7s ease-in-out infinite; }
.cbx-stream { stroke-dasharray: 100; opacity: 0; animation: cbxStream 7s ease-in-out infinite; }
.cbx-dip { animation: cbxDip 4.6s ease-in-out infinite; }
.cbx-fizz { opacity: 0; animation: cbxFizz 2.8s ease-in infinite; animation-delay: var(--d, 0s); }
.cbx-whisk { transform-origin: 50% 0%; animation: cbxWhisk .9s ease-in-out infinite alternate; }
.cbx-swing { transform-origin: 50% 0%; animation: cbxSwing 4.4s ease-in-out infinite; }
.cbx-hop { animation: cbxHop 3.6s ease-in-out infinite; animation-delay: var(--d, 0s); }
.cbx-open { transform-origin: 50% 50%; animation: cbxOpen 7s ease-in-out infinite; }
.cbx-stir { transform-origin: 0% 0%; animation: cbxStir 1.4s ease-in-out infinite alternate; }
.cbx-drop { opacity: 0; animation: cbxDrop 2.6s ease-in infinite; }
@keyframes cbxBreathe { 0%, 100% { transform: scale(1); opacity: .85; } 50% { transform: scale(1.06); opacity: 1; } }
@keyframes cbxTw { 0%, 100% { opacity: .1; transform: scale(.4) rotate(0); } 50% { opacity: 1; transform: scale(1) rotate(45deg); } }
@keyframes cbxSway { 0%, 100% { transform: rotate(-3deg); } 50% { transform: rotate(3.5deg); } }
@keyframes cbxSteam { 0% { opacity: 0; transform: translateY(8px) scaleX(.7); } 30% { opacity: .9; } 70% { opacity: .45; } 100% { opacity: 0; transform: translateY(-16px) scaleX(1.3); } }
@keyframes cbxRipple { 0% { opacity: .85; transform: scale(.25); } 100% { opacity: 0; transform: scale(1.7); } }
@keyframes cbxFall { 0% { opacity: 0; transform: translate(0, -16px) rotate(0); } 8% { opacity: 1; } 80% { opacity: .9; } 100% { opacity: 0; transform: translate(var(--x, -30px), 150px) rotate(240deg); } }
@keyframes cbxFlip { from { transform: scaleX(1); } to { transform: scaleX(-.35); } }
@keyframes cbxBob { 0%, 100% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-6px) rotate(5deg); } }
@keyframes cbxSpin { to { transform: rotate(360deg); } }
@keyframes cbxSpinS { from { transform: rotate(-10deg) scale(.97); } to { transform: rotate(14deg) scale(1.03); } }
@keyframes cbxPour { 0%, 14% { transform: rotate(0); } 30%, 62% { transform: rotate(22deg); } 78%, 100% { transform: rotate(0); } }
@keyframes cbxStream { 0%, 29% { opacity: 0; stroke-dashoffset: 100; } 36%, 60% { opacity: 1; stroke-dashoffset: 0; } 67%, 100% { opacity: 0; stroke-dashoffset: -100; } }
@keyframes cbxDip { 0%, 100% { transform: translateY(-6px); } 50% { transform: translateY(12px); } }
@keyframes cbxFizz { 0% { opacity: 0; transform: translateY(0); } 20% { opacity: .95; } 100% { opacity: 0; transform: translateY(-42px); } }
@keyframes cbxWhisk { from { transform: rotate(-11deg); } to { transform: rotate(11deg); } }
@keyframes cbxSwing { 0%, 100% { transform: rotate(-6deg); } 50% { transform: rotate(6deg); } }
@keyframes cbxHop { 0%, 55%, 100% { transform: translateY(0); } 25% { transform: translateY(-10px); } 40% { transform: translateY(0); } 47% { transform: translateY(-3px); } }
@keyframes cbxOpen { 0%, 8% { transform: scale(.3) rotate(-30deg); } 45%, 82% { transform: scale(1) rotate(0); } 100% { transform: scale(.3) rotate(-30deg); } }
@keyframes cbxStir { from { transform: rotate(-12deg); } to { transform: rotate(12deg); } }
@keyframes cbxDrop { 0% { opacity: 0; transform: translateY(0) scale(.6); } 25% { opacity: 1; transform: translateY(0) scale(1); } 100% { opacity: 0; transform: translateY(60px) scale(1); } }
.tygh-content .cbv4-auto .cbv4-artBox::before { display: none !important; }
@media (prefers-reduced-motion: reduce) { .cbv4-artBox svg * { animation: none !important; } .cbx-fall, .cbx-steam, .cbx-fizz, .cbx-drop, .cbx-stream { opacity: 0 !important; } }
/* 15.10.2026, третья редакция: крышка гайвани приподнимается, облака над горами плывут */
.cbx-lid { transform-origin: 50% 100%; animation: cbxLid 6s ease-in-out infinite; }
.cbx-cloud { animation: cbxCloud 12s ease-in-out infinite alternate; animation-delay: var(--d, 0s); }
@keyframes cbxLid { 0%, 55%, 100% { transform: translate(0, 0) rotate(0); } 70%, 85% { transform: translate(-4px, -9px) rotate(-12deg); } }
@keyframes cbxCloud { from { transform: translateX(-10px); } to { transform: translateX(14px); } }
/* 19.10.2026, слово владельца: фон анимированного баннера — градиентом, как блок заваривания: персик слева, светлая середина, цвет темы справа; кольцо за рисунком */
.tygh-content .cbv4-banner.cbv4-auto { background: linear-gradient(100deg, #FCE9D7 0%, #F8F4EC 40%, var(--ban-bg, #E6F1E9) 100%) !important; }
.tygh-content .cbv4-auto .cbv4-artBox::before { content: ""; position: absolute; left: 50%; top: 50%; width: min(78%, 230px); aspect-ratio: 1; transform: translate(-50%, -46%); border-radius: 50%; border: 2px solid rgba(15, 92, 69, .14); background: radial-gradient(circle, rgba(255, 255, 255, .55) 0%, rgba(255, 255, 255, 0) 70%); }
@media (max-width: 760px) { .tygh-content .cbv4-banner.cbv4-auto { background: linear-gradient(170deg, #FCE9D7 0%, #F8F4EC 45%, var(--ban-bg, #E6F1E9) 100%) !important; } .tygh-content .cbv4-auto .cbv4-artBox::before { width: 150px; } }
.tygh-content .cbv4-auto .cbv4-artBox::before { width: min(64%, 168px); top: 52%; transform: translate(-50%, -50%); }

/* 15.10.2026: баннер страницы новинок — отступ снизу до списка */
.v4-newBanner { margin: 0 0 24px !important; }
/* 15.10.2026, слово владельца: на страницах новинок и бестселлеров заголовок над баннером не нужен — название уже в баннере */
.ty-mainbox-container:has(.v4-newBanner) > .ty-mainbox-title, .ty-mainbox-container:has(.v4-newBanner) .ty-mainbox-title { display: none !important; }
.vs-mainbox-general:has(.v4-newBanner) > .vs-mainbox-title { display: none !important; }
/* 16.10.2026: Quick View не закрывался — display:flex !important перебивал скрытие окна; закрытое окно прячем */
.ui-dialog:has(.ty-quick-view__wrapper)[style*="display: none"] { display: none !important; }
/* 16.10.2026: Quick View — значок крестика по центру круглой кнопки (был прижат к правому краю) */
.ui-dialog:has(.ty-quick-view__wrapper) .ui-dialog-titlebar-close .ui-icon { position: static !important; margin: 0 !important; left: auto !important; top: auto !important; }
/* 16.10.2026, слово владельца: баннер категории на телефоне — меньше пустоты между текстом и графикой (графика прижата к низу, пустой верх срезан) */
@media (max-width: 767px) {
  .cbv4-banner .cbv4-text { padding-bottom: 6px !important; }
  .cbv4-banner .cbv4-artBox { height: 96px !important; margin-top: 0 !important; }
  .cbv4-banner .cbv4-artBox svg { top: auto !important; bottom: 2px !important; }
}
/* 16.10.2026, слово владельца: баннер категории на телефоне компактнее — меньше отступы, текст и графика */
@media (max-width: 767px) {
  .cbv4-banner .cbv4-text { padding: 16px 18px 4px !important; }
  .cbv4-banner .cbv4-title { font-size: 22px !important; padding: 0 !important; margin: 0 0 6px !important; }
  .cbv4-banner .cbv4-lead, .cbv4-banner .cbv4-lead p { font-size: 15px !important; line-height: 22px !important; }
  .cbv4-banner .cbv4-artBox { height: 80px !important; }
  .cbv4-banner { margin-bottom: 14px !important; }
}
/* 16.10.2026, слово владельца: подкатегории слева на странице категории — кнопками, заметнее */
.v4-ss-row { display: flex !important; align-items: center; gap: 12px; margin: 0 0 8px !important; padding: 8px 36px 8px 8px !important; background: #fff !important; border: 1px solid #E2E8E4 !important; border-radius: 14px !important;
  box-shadow: 0 2px 8px rgba(30,36,33,.06); color: #1E2421 !important; font-weight: 600 !important; text-decoration: none !important; position: relative; transition: border-color .2s, box-shadow .2s, transform .2s, background .2s; }
.v4-ss-row::after { content: "\2192"; position: absolute; right: 10px; top: 50%; transform: translateY(-50%); width: 24px; height: 24px; border-radius: 50%; background: #EAF2EE; color: #0F5C45; display: grid; place-items: center; font: 700 13px/24px Arial, sans-serif; text-align: center; transition: background .2s, color .2s; }
.v4-ss-row:hover, .v4-ss-row:focus-visible { border-color: #0F5C45 !important; background: #F4F9F6 !important; box-shadow: 0 6px 16px rgba(15,92,69,.14); transform: translateX(2px); }
.v4-ss-row:hover::after { background: #0F5C45; color: #fff; }
.v4-ss-row img { flex: 0 0 44px; width: 44px !important; height: 44px !important; border-radius: 10px !important; object-fit: cover; }
.v4-ss-row span { line-height: 1.25; }
/* 16.10.2026, слово владельца: заголовок «Shop by category» заметнее */
.v4-ss-title { font: 800 15px/1.2 var(--v4-sans), sans-serif !important; letter-spacing: .08em !important; text-transform: uppercase; color: #0F5C45 !important; margin: 0 0 12px !important; padding: 0 0 8px 12px !important; border-left: 4px solid #B8934A; border-bottom: 0 !important; }
/* 17.10.2026, слово владельца (iPad): старая тема на планшетах (до 1007px и вертикально) прижимала цену к низу карточки (position:absolute) —
   в раскладке V4 она ложилась на кнопку «Out of stock / Add to cart». Цена — в своём ряду, слева от количества, как на компьютере. */
.et-category .prices-container .ty-product-grid-price, .ty-page-controller-wishlist .prices-container .ty-product-grid-price, .ty-page-controller-v4_lists .prices-container .ty-product-grid-price,
.ty-grid-list .prices-container .ty-product-grid-price { position: static !important; bottom: auto !important; top: auto !important; left: auto !important; }
.et-category .prices-container, .ty-grid-list .prices-container { align-items: center; justify-content: space-between; }
/* 17.10.2026, слово владельца (iPad, немецкий): длинный текст «нет в наличии · сообщить» переносится на вторую строку внутри кнопки, не обрезается */
.et-atc.et-oos { white-space: normal !important; flex-wrap: wrap !important; row-gap: 0 !important; column-gap: 4px; line-height: 1.15 !important; height: auto !important; min-height: 40px; padding-top: 4px !important; padding-bottom: 4px !important; text-align: center; }
.et-atc.et-oos::after { font-size: .9em; }
/* 17.10.2026, слово владельца: Quick View убран везде (кнопка скрыта, код оставлен — вернуть: удалить это правило); кнопка «в корзину» занимает освободившееся место */
.vs-quick-view, a.vs-quick-view, .cm-dialog-opener.vs-quick-view { display: none !important; }
.et-grid-button-wrapper .et-atc, .ty-product-add-button .et-atc { flex: 1 1 auto !important; }
/* 17.10.2026: Quick View — правило сильнее прежнего «.tygh-content .vs-grid-table-wrapper .vs-quick-view {display:flex !important}» */
.tygh-content .vs-grid-table-wrapper .vs-quick-view, .tygh-content .vs-quick-view, html body .vs-quick-view { display: none !important; }
/* 17.10.2026, слово владельца: выбор фасовки/цвета и количества — заметнее: чёткая рамка, белый фон, при наведении зелёная */
select.cm-variants, select.cm-amount.ty-btn-changer, .ty-product-options select, .cm-picker-product-options select {
  border: 1.5px solid #AFC1B7 !important; background-color: #fff !important; color: #1E2421 !important; font-weight: 600 !important;
  box-shadow: 0 1px 3px rgba(15,92,69,.08) !important; transition: border-color .15s, box-shadow .15s; cursor: pointer; }
select.cm-variants:hover, select.cm-amount.ty-btn-changer:hover, .ty-product-options select:hover,
select.cm-variants:focus, select.cm-amount.ty-btn-changer:focus, .ty-product-options select:focus {
  border-color: #0F5C45 !important; box-shadow: 0 0 0 3px rgba(15,92,69,.12) !important; outline: none; }
/* 17.10.2026, слово владельца: планшет вертикально (600–1007px) — три товара в ряд вместо двух крупных */
@media (min-width: 600px) and (max-width: 1007px) {
  .tygh-content .grid-list.vs-grid-table-wrapper { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 14px !important; }
}
/* 17.10.2026, слово владельца: подкатегории — карточки с графикой из меню, рамка, подпись-кнопка */
.vs-category .subcategories ul.v4-subG { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 12px; padding: 0 !important; margin: 8px 0 16px !important; list-style: none; }
.vs-category .subcategories ul.v4-subG li { margin: 0 !important; padding: 0 !important; width: auto !important; float: none !important; display: block !important; }
.vs-category .subcategories ul.v4-subG li a { display: flex !important; flex-direction: column; width: auto !important; height: 100%; background: #fff; border: 1.5px solid #d6e2da; border-radius: 14px; overflow: hidden; text-decoration: none !important; box-shadow: 0 1px 3px rgba(0,0,0,.05); transition: border-color .15s, box-shadow .15s, transform .15s; }
.vs-category .subcategories ul.v4-subG li a:hover { border-color: #0F5C45; box-shadow: 0 6px 16px rgba(15,92,69,.14); transform: translateY(-1px); }
.vs-category .subcategories ul.v4-subG .v4-subG-img { display: block; width: 100%; height: auto; aspect-ratio: 312 / 172; object-fit: cover; background: #F4EFE4; margin: 0 !important; }
.vs-category .subcategories ul.v4-subG li a span { display: flex; align-items: center; justify-content: center; flex: 1; padding: 9px 8px 10px; background: #0F5C45; color: #fff !important; font-weight: 700; font-size: 14px; line-height: 1.25; text-align: center; white-space: normal; }
.vs-category .subcategories ul.v4-subG li a:hover span { background: #0b4a37; }
.vs-category .subcategories ul.v4-subG li.v4-subG-noimg a span { padding: 14px 10px; }
.tygh-content .vs-category .subcategories ul.v4-subG li a img.v4-subG-img { width: 100% !important; max-width: none !important; height: auto !important; max-height: none !important; aspect-ratio: 312 / 172; }
.vs-category .subcategories ul.v4-subG .v4-subG-art { width: 100%; aspect-ratio: 312 / 172; display: flex; align-items: flex-end; justify-content: center; overflow: hidden; }
.vs-category .subcategories ul.v4-subG .v4-subG-art svg { width: 100% !important; height: 100% !important; display: block; }
.tygh-content .vs-category .subcategories ul.v4-subG { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)) !important; }
@media (max-width: 599px) { .tygh-content .vs-category .subcategories ul.v4-subG { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 10px; } .vs-category .subcategories ul.v4-subG li a span { font-size: 13px; } }
/* ниже: рисунок в пропорциях плашки (400:160), как на странице подкатегории */
.vs-category .subcategories ul.v4-subG .v4-subG-art { aspect-ratio: 400 / 160 !important; }
.tygh-content .vs-category .subcategories ul.v4-subG li a img.v4-subG-img { aspect-ratio: 400 / 160 !important; }
.vs-category .subcategories ul.v4-subG li a span { padding: 7px 8px 8px !important; }
/* подкатегории: до прихода рисунка — пустой фон, картинка меню только как запасная; рисунок проявляется мягко */
.vs-category .subcategories ul.v4-subG li a { background-color: #fff; }
.tygh-content .vs-category .subcategories ul.v4-subG li a img.v4-subG-img { opacity: 0; transition: opacity .25s; background: #EEF3EE; }
.tygh-content .vs-category .subcategories ul.v4-subG li a img.v4-subG-img.v4-show { opacity: 1; }
.vs-category .subcategories ul.v4-subG .v4-subG-art { animation: v4subIn .35s ease-out; }
@keyframes v4subIn { from { opacity: 0; } to { opacity: 1; } }
/* 17.10.2026, слово владельца: фильтры на узких экранах — в два столбца */
@media (max-width: 1007px) {
  .tygh-content .ty-product-filters__wrapper { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 18px; align-items: start; }
  .tygh-content .ty-product-filters__wrapper > .ty-product-filters__tools { grid-column: 1 / -1; }
  .tygh-content .ty-product-filters__wrapper > .ty-product-filters__block { min-width: 0; }
}
@media (max-width: 599px) {
  .tygh-content .ty-product-filters__wrapper { column-gap: 10px; }
  .tygh-content .ty-product-filters__wrapper .ty-product-filters__title { font-size: 14px !important; }
}
@media (max-width: 1007px) {
  .tygh-content .ty-product-filters__wrapper .ty-product-filters__title { display: flex !important; align-items: center; gap: 6px; line-height: 1.2; }
  .tygh-content .ty-product-filters__wrapper .ty-product-filters__title > * { flex: 0 0 auto; }
}
@media (max-width: 599px) {
  .tygh-content .ty-product-filters__wrapper .ty-product-filters__title { font-size: 13.5px !important; gap: 4px; }
  .tygh-content .ty-product-filters__wrapper .ty-product-filters__title .v4kf-ico { transform: scale(.85); }
}
@media (max-width: 599px) { .tygh-content .ty-product-filters__wrapper .ty-product-filters__title .vs-filter-closed, .tygh-content .ty-product-filters__wrapper .ty-product-filters__title .vs-filter-open { display: none !important; } .tygh-content .ty-product-filters__wrapper .ty-product-filters__switch { padding-left: 4px !important; padding-right: 4px !important; } }
/* 17.10.2026, слово владельца: поиск внутри фильтра — аккуратное поле-капсула; варианты (ингредиенты и пр.) мельче */
@media (max-width: 1007px) {
  .tygh-content .ty-product-filters__search { position: relative; margin: 4px 0 10px !important; padding: 0 !important; }
  .tygh-content .ty-product-filters__search input.ty-input-text-medium { width: 100% !important; height: 36px !important; box-sizing: border-box; padding: 0 12px 0 36px !important; border: 1.5px solid #d6e2da !important; border-radius: 999px !important; background: #F7F9F7 !important; font-size: 14px !important; box-shadow: none !important; outline: none; }
  .tygh-content .ty-product-filters__search input.ty-input-text-medium:focus { border-color: #0F5C45 !important; background: #fff !important; }
  .tygh-content .ty-product-filters__search .ty-search-magnifier2 { position: absolute !important; left: 12px !important; top: 50% !important; transform: translateY(-50%); margin: 0 !important; width: 16px !important; height: 16px !important; opacity: .55; pointer-events: none; }
  .tygh-content .ty-product-filters__variants .ty-product-filters__group label { padding: 5px 11px !important; font-size: 13px !important; min-height: 0 !important; line-height: 1.25 !important; }
  .tygh-content .ty-product-filters__variants .ty-product-filters__group { margin: 0 0 6px !important; }
}
/* фильтры на узких экранах — во всю ширину каталога */
@media (max-width: 1007px) {
  .tygh-content .vs-category .vs-sidebox.et-sidebox-categ { padding-left: 0 !important; padding-right: 0 !important; }
  .tygh-content .ty-product-filters__wrapper .ty-product-filters__switch { padding-left: 2px !important; padding-right: 2px !important; }
  .tygh-content .ty-product-filters__wrapper ul.ty-product-filters { padding-left: 2px !important; padding-right: 0 !important; margin-left: 0 !important; }
}
/* 17.10.2026, полная проверка: при трёх товарах в ряд (600–1007px) строка фасовки «25g/0.88oz = CA$24.95» обрезалась — мельче шрифт и поля, количество уже */
@media (min-width: 600px) and (max-width: 1007px) {
  .tygh-content .vs-grid-table-wrapper .ty-product-options-grid select.cm-variants { font-size: 11.5px !important; padding: 0 22px 0 9px !important; letter-spacing: -.01em; }
  .tygh-content .vs-grid-table-wrapper .variants-container { gap: 6px !important; }
  .tygh-content .vs-grid-table-wrapper .variants-container select.cm-amount, .tygh-content .vs-grid-table-wrapper .ty-product-amount-grid select { min-width: 0 !important; width: 54px !important; padding: 0 16px 0 10px !important; }
}
/* левая колонка «Shop by category»: рисунок подкатегории слева в строке */
#v4-side-subcats a.v4-ss-row { display: flex !important; align-items: center; gap: 10px; }
#v4-side-subcats a.v4-ss-row .v4-subG-art { flex: 0 0 64px; width: 64px; height: 42px; aspect-ratio: auto !important; border-radius: 9px; overflow: hidden; display: flex; align-items: flex-end; justify-content: center; animation: v4subIn .35s ease-out; }
#v4-side-subcats a.v4-ss-row .v4-subG-art svg { width: 100%; height: 100%; display: block; }
/* 17.10.2026, слово владельца: левая колонка каталога шире (280 → 330), чтобы названия подкатегорий с рисунком влезали; только страницы категорий с колонкой подкатегорий */
@media (min-width: 1008px) {
  html.v4-subcats-side .tygh-content.ty-page-controller-categories .row > .span3.visible-desktop { flex: 0 0 330px !important; width: 330px !important; max-width: 330px !important; }
  html.v4-subcats-side .tygh-content.ty-page-controller-categories .row > .span3.visible-desktop + .span13 { flex: 1 1 0 !important; width: auto !important; max-width: none !important; min-width: 0 !important; }
  #v4-side-subcats a.v4-ss-row span { font-size: 14.5px !important; line-height: 1.25; }
}
/* 17.10.2026, слово владельца («при загрузке каталога мелькает блок категорий над товарами»): на компьютере старый блок подкатегорий скрыт сразу стилями,
   не дожидаясь скрипта (класс html.v4-subcats-side ставился после показа страницы); колонка сразу нужной ширины. Условие «компьютер» — как у темы (.visible-desktop) */
@media (min-width: 1008px) and (orientation: landscape) {
  .tygh-content.ty-page-controller-categories .vs-category .subcategories { display: none !important; }
  .tygh-content.ty-page-controller-categories:has(.vs-category .subcategories) .row > .span3.visible-desktop { flex: 0 0 330px !important; width: 330px !important; max-width: 330px !important; }
  .tygh-content.ty-page-controller-categories:has(.vs-category .subcategories) .row > .span3.visible-desktop + .span13 { flex: 1 1 0 !important; width: auto !important; max-width: none !important; min-width: 0 !important; }
}
/* 17.10.2026, слово владельца («при загрузке каталога мелькает строка сортировки New / Bestsellers»): строка сортировки темы и «Total items» скрыты сразу,
   не дожидаясь класса .v4cat-hasBar от скрипта; выпадающий список сортировки v4cat-bar берёт ссылки из скрытой строки */
.tygh-content .et-category .ty-sort-buttons-container, .tygh-content .et-category .ty-category-desktop-total { display: none !important; }
/* 17.10.2026, слово владельца: левая колонка одинаковой ширины (330) на всех страницах категорий, с подкатегориями и без */
@media (min-width: 1008px) and (orientation: landscape) {
  .tygh-content.ty-page-controller-categories .row > .span3.visible-desktop { flex: 0 0 330px !important; width: 330px !important; max-width: 330px !important; }
  .tygh-content.ty-page-controller-categories .row > .span3.visible-desktop + .span13 { flex: 1 1 0 !important; width: auto !important; max-width: none !important; min-width: 0 !important; }
}
/* 17.10.2026, слово владельца («скачки при загрузке каталога», CLS): до прихода скрипта — место под строку сортировки (v4cat-bar, 40px + отступ) уже занято,
   товары не съезжают; левая колонка с подкатегориями показывается уже собранной (пока скрипт вставляет подкатегории над фильтрами, она невидима — невидимое не «скачет») */
.tygh-content .et-category.ty-mainbox-container:not(.v4cat-hasBar) > h1.ty-mainbox-title { margin-bottom: 56px !important; }
@media (min-width: 1008px) and (orientation: landscape) {
  html:not(.v4-subcats-side) .tygh-content.ty-page-controller-categories:has(.vs-category .subcategories) .row > .span3.visible-desktop > * { visibility: hidden; }
}

/* 16.10.2026, отчёт юзабилити п.8 (слово владельца «делай»): телефон — вводный текст категории свёрнут до 3 строк, кнопка «Read more» / «Show less»
   (в шаблоне v4/category_banner.tpl, переключение — v4-katalog.js); рисунок баннера на телефоне не показывается — товары выше */
.cbv4-more { display: none; }
@media (max-width: 767px) {
  .cbv4-banner .cbv4-imgBox { display: none !important; }
  .cbv4-banner .cbv4-lead { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; }
  .cbv4-banner.cbv4-open .cbv4-lead { display: block; -webkit-line-clamp: unset; overflow: visible; }
  .cbv4-banner .cbv4-more { display: inline-block; margin: 6px 0 0; padding: 0; border: 0; background: none; font: 600 15px Inter, system-ui, sans-serif; color: #0F5C45; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
  .cbv4-onDark .cbv4-more { color: #fff; }
  .cbv4-banner .cbv4-more[hidden] { display: none; }
}
/* 16.10.2026: без рисунка баннеру на телефоне не нужна прежняя высота 190px — под «Read more» оставалось пустое место */
@media (max-width: 767px) {
  html body .tygh-content .cbv4-banner { min-height: 0 !important; }
  html body .tygh-content .cbv4-banner .cbv4-text { padding-bottom: 16px !important; }
}

/* 17.10.2026, слово владельца («Давай вариант А»): телефон — панель каталога в одну строку (v4-katalog.js, phoneA):
   «Подкатегории», «Фильтры и сортировка», вид — две иконки; сортировка — первым разделом в блоке фильтров (.v4cat-sortF) */
html body .tygh-content .ty-category-panel-buttons.v4cat-panelA { display: flex !important; flex-wrap: nowrap; justify-content: flex-start; align-items: center; gap: 6px; }
html body .tygh-content .ty-category-panel-buttons.v4cat-panelA > .ty-btn.ty-show-simple-target { flex: 1 1 auto !important; min-width: 0; justify-content: center; }
html body .tygh-content .ty-category-panel-buttons.v4cat-panelA > .ty-btn.ty-show-simple-target span { white-space: nowrap; }
html body .tygh-content .ty-category-panel-buttons.v4cat-panelAs > .v4cat-bar { display: none !important; }
html body .tygh-content .ty-category-panel-buttons.v4cat-panelA > #v4-view-slot { flex: 0 0 auto; margin: 0; }
html body .tygh-content .ty-category-panel-buttons.v4cat-panelA > #v4-view-slot .v4h-viewSw { margin: 0; }
html body .tygh-content .ty-category-panel-buttons.v4cat-panelA > #v4-view-slot .v4h-viewSw button { width: 38px; height: 38px; padding: 0; justify-content: center; font-size: 0; gap: 0; }
html body .tygh-content .ty-category-panel-buttons.v4cat-panelA > #v4-view-slot .v4h-viewSw button:first-child { border-radius: 19px 0 0 19px; }
html body .tygh-content .ty-category-panel-buttons.v4cat-panelA > #v4-view-slot .v4h-viewSw button:last-child { border-radius: 0 19px 19px 0; }
.v4cat-sortF { padding: 4px 0 12px; margin: 0; }
.v4cat-sortFh { margin: 0 0 8px; font: 600 14px var(--v4-sans), sans-serif; color: #1E2421; }
.v4cat-sortFl { display: flex; flex-wrap: wrap; gap: 6px; }
.v4cat-sortFl button { height: 34px; padding: 0 12px; border: 1px solid #C9CFCC; border-radius: 17px; background: #fff; color: #1E2421; font: 500 13px var(--v4-sans), sans-serif; cursor: pointer; }
.v4cat-sortFl button.v4cat-on { background: #0F5C45; border-color: #0F5C45; color: #fff; }
/* 17.10.2026: подписи не помещались даже на английском («Subcateg…») — строка шире (почти от края до края), кнопки плотнее */
html body .tygh-content .ty-category-panel-buttons.v4cat-panelA { margin-left: -16px !important; margin-right: -16px !important; gap: 5px; }
html body .tygh-content .ty-category-panel-buttons.v4cat-panelA > .ty-btn.ty-show-simple-target { padding: 0 9px !important; gap: 5px !important; font-size: 13px !important; }
html body .tygh-content .ty-category-panel-buttons.v4cat-panelA > .ty-btn.ty-show-simple-target::before { flex-basis: 15px !important; width: 15px !important; height: 15px !important; }
html body .tygh-content .ty-category-panel-buttons.v4cat-panelA > #v4-view-slot .v4h-viewSw button { width: 34px; }
html body .tygh-content .ty-category-panel-buttons.v4cat-panelA.v4cat-tight > .ty-btn.ty-show-simple-target::before { display: none !important; }
html body .tygh-content .ty-category-panel-buttons.v4cat-panelA.v4cat-tight { gap: 4px; }
html body .tygh-content .ty-category-panel-buttons.v4cat-panelA.v4cat-tight > .ty-btn.ty-show-simple-target { padding: 0 8px !important; }
/* 17.10.2026, слово владельца («Да. Вносить карточки плитками (вариант 3)»; показан снимком): телефон, вид «Список» —
   карточки сливались; каждая карточка — белая плитка со скруглением на светло-бежевой подложке, между плитками зазор */
html.v4-list .vs-grid-table-wrapper { display: block !important; background: #F3EEE5 !important; padding: 10px 8px 1px !important; border-radius: 18px; margin: 0 -8px !important; }
html.v4-list .vs-grid-table-wrapper > .ty-column3 { display: block !important; width: auto !important; float: none !important; background: #fff !important; border: 1px solid #E4DCCD !important; border-radius: 16px !important; margin: 0 0 10px !important; padding: 6px 6px 0 !important; box-shadow: none !important; }
html.v4-list .vs-grid-table-wrapper > .ty-column3 .vs-grid, html.v4-list .vs-grid-table-wrapper > .ty-column3 .ty-grid-list__item { border: 0 !important; background: transparent !important; box-shadow: none !important; padding-bottom: 6px !important; margin-bottom: 0 !important; }
/* 17.10.2026, слово владельца («Да» — плитки и в «Сетке»; показано снимком): телефон (до 600px), вид «Сетка» в каталоге — те же
   белые плитки на бежевой подложке, что и в «Списке». На ПК и планшете сетка не меняется */
@media (max-width: 600px) {
  html:not(.v4-list) .vs-category .vs-grid-table-wrapper { display: block !important; background: #F3EEE5 !important; padding: 10px 8px 1px !important; border-radius: 18px; margin: 0 -8px !important; }
  html:not(.v4-list) .vs-category .vs-grid-table-wrapper > .ty-column3 { display: block !important; width: auto !important; float: none !important; background: #fff !important; border: 1px solid #E4DCCD !important; border-radius: 16px !important; margin: 0 0 10px !important; padding: 10px 10px 4px !important; box-shadow: none !important; }
  html:not(.v4-list) .vs-category .vs-grid-table-wrapper > .ty-column3 .vs-grid, html:not(.v4-list) .vs-category .vs-grid-table-wrapper > .ty-column3 .ty-grid-list__item { border: 0 !important; background: transparent !important; box-shadow: none !important; margin-bottom: 0 !important; }
}
/* 17.10.2026, слово владельца («убрать окантовку фотографий на мобильном, как в листе, так и в сетке — лишняя и мешает глазу»):
   в плитках каталога у фото нет серой подложки с отступом (.preview-image), остаётся скругление самого фото */
html.v4-list .vs-grid-table-wrapper > .ty-column3 .preview-image { background: transparent !important; padding: 0 !important; }
@media (max-width: 600px) {
  html:not(.v4-list) .vs-category .vs-grid-table-wrapper > .ty-column3 .preview-image { background: transparent !important; padding: 0 !important; }
}
/* 17.10.2026, слово владельца («перенесём звёздочки в строку со страной и категорией — фото и нижний блок поднимутся»):
   телефон, вид «Список» — звёзды в строке «страна · категория», фото начинается вровень с названием */
@media (max-width: 767px) {
  html.v4-list .tygh-content .vs-grid-table-wrapper .vs-grid { grid-template-areas: "title title img" "origin stars img" "desc desc img" "group group group" "vars vars vars" "btns btns btns" !important; grid-template-columns: auto minmax(0, 1fr) 96px !important; }
  html.v4-list .tygh-content .vs-grid-table-wrapper .vs-grid .rating-buttons { justify-self: start !important; align-self: center !important; margin: 0 0 0 8px !important; }
}
/* страховка: звёздам всегда своё место (68px), слишком длинная строка «страна · категория» обрезается, а не наезжает на фото */
@media (max-width: 767px) {
  html.v4-list .tygh-content .vs-grid-table-wrapper .vs-grid { grid-template-columns: minmax(0, auto) minmax(68px, 1fr) 96px !important; }
  html.v4-list .tygh-content .vs-grid-table-wrapper .vs-grid .origin-category-wrapper { min-width: 0; overflow: hidden; white-space: nowrap; }
}

/* 17.10.2026, слово владельца («опции выглядят довольно широко… обрезать почти в два раза, потом кнопку количества и в конце
   сократить „Add to cart“… сделать значком, даже с анимацией. Если так, то делай»): телефон, вид «Список» — одна строка
   «фасовка | количество | значок корзины». Значок: корзина с плюсом; нажатие — проседание; товар в корзине (класс v4-inCart,
   ставит v4-katalog.js) — золотая кнопка с галочкой, галочка «подпрыгивает». Подписи нет — одинаково на всех языках; название
   кнопки для чтения с экрана остаётся текстом внутри. Карточка «нет в наличии» (.et-oos) — прежняя раскладка с текстом.
   Заодно: промежуток между столбцами 6px — строка «страна · категория» снова целиком (после страховки звёзд она обрезалась). */
@media (max-width: 767px) {
  html.v4-list body .tygh-content .vs-grid-table-wrapper .vs-grid { column-gap: 6px !important; grid-template-columns: auto minmax(64px, 1fr) 96px !important; }
  html.v4-list body .tygh-content .vs-grid-table-wrapper .vs-grid .rating-buttons { margin-left: 6px !important; }
  html.v4-list body .tygh-content .vs-grid-table-wrapper .vs-grid:not(:has(.et-oos)) { grid-template-areas: "title title img img" "origin stars img img" "desc desc img img" "group group group group" "vars vars vars btns" !important; grid-template-columns: auto minmax(64px, 1fr) 42px 48px !important; }
  html.v4-list body .tygh-content .vs-grid-table-wrapper .vs-grid:not(:has(.et-oos)) .product-description { grid-area: btns !important; grid-column: btns !important; grid-row: btns !important; align-self: end !important; margin: 0 !important; padding: 0 !important; width: 48px !important; }
  html.v4-list body .tygh-content .vs-grid-table-wrapper .vs-grid:not(:has(.et-oos)) .product-description .product-buttons, html.v4-list body .tygh-content .vs-grid-table-wrapper .vs-grid:not(:has(.et-oos)) .product-description .vs-buttons, html.v4-list body .tygh-content .vs-grid-table-wrapper .vs-grid:not(:has(.et-oos)) .ty-product-add-button { margin: 0 !important; padding: 0 !important; width: 48px !important; min-width: 0 !important; }
  html.v4-list body .tygh-content .vs-grid-table-wrapper .vs-grid:not(:has(.et-oos)) .product-description, html.v4-list body .tygh-content .vs-grid-table-wrapper .vs-grid:not(:has(.et-oos)) .product-description .product-buttons, html.v4-list body .tygh-content .vs-grid-table-wrapper .vs-grid:not(:has(.et-oos)) .product-description .vs-buttons, html.v4-list body .tygh-content .vs-grid-table-wrapper .vs-grid:not(:has(.et-oos)) .ty-product-add-button { height: 40px !important; min-height: 0 !important; overflow: visible !important; }
  html.v4-list body .tygh-content .vs-grid-table-wrapper .vs-grid:not(:has(.et-oos)) .variants-container { align-self: end !important; margin-bottom: 0 !important; min-width: 0; }
  html.v4-list body .tygh-content .vs-grid-table-wrapper .vs-grid:not(:has(.et-oos)) .ty-product-add-button .et-atc.hidden-desktop { flex: 0 0 48px !important; width: 48px !important; height: 40px !important; min-width: 0 !important; padding: 0 !important; border-radius: 14px !important; font-size: 0 !important; justify-content: center; transition: background .25s, transform .12s; }
  html.v4-list body .tygh-content .vs-grid-table-wrapper .vs-grid:not(:has(.et-oos)) .ty-product-add-button .et-atc.hidden-desktop::after { content: none !important; display: none !important; }
  html.v4-list body .tygh-content .vs-grid-table-wrapper .vs-grid:not(:has(.et-oos)) .ty-product-add-button .et-atc.hidden-desktop::before { content: "" !important; display: block !important; width: 24px; height: 24px; background: #fff; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 4h2l2.2 10.2a1.5 1.5 0 0 0 1.5 1.2h8.6a1.5 1.5 0 0 0 1.5-1.2L20.5 8H6.2'/%3E%3Ccircle cx='9.5' cy='19.5' r='1.3'/%3E%3Ccircle cx='17' cy='19.5' r='1.3'/%3E%3Cpath d='M13 6.5v-4M11 4.5h4'/%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='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 4h2l2.2 10.2a1.5 1.5 0 0 0 1.5 1.2h8.6a1.5 1.5 0 0 0 1.5-1.2L20.5 8H6.2'/%3E%3Ccircle cx='9.5' cy='19.5' r='1.3'/%3E%3Ccircle cx='17' cy='19.5' r='1.3'/%3E%3Cpath d='M13 6.5v-4M11 4.5h4'/%3E%3C/svg%3E") center / contain no-repeat; }
  html.v4-list body .tygh-content .vs-grid-table-wrapper .vs-grid:not(:has(.et-oos)) .ty-product-add-button .et-atc.hidden-desktop:active { transform: scale(.9); }
  html.v4-list body .tygh-content .vs-grid-table-wrapper .v4-inCart .vs-grid:not(:has(.et-oos)) .ty-product-add-button .et-atc.hidden-desktop::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") !important; mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") !important; animation: v4atcPop .5s cubic-bezier(.3, 1.6, .5, 1); }
}
@keyframes v4atcPop { 0% { transform: scale(.4) rotate(-20deg); } 60% { transform: scale(1.25) rotate(4deg); } 100% { transform: scale(1) rotate(0); } }
@media (prefers-reduced-motion: reduce) { html.v4-list body .tygh-content .vs-grid-table-wrapper .ty-product-add-button .et-atc::before { animation: none !important; } }
/* товар без выбора (v4-noVars: цена и количество в .prices-container) — та же строка: «цена и количество | значок корзины» */
@media (max-width: 767px) {
  html.v4-list body .tygh-content .vs-grid-table-wrapper .vs-grid.v4-noVars:not(:has(.et-oos)) .prices-container { grid-area: vars !important; align-self: end !important; margin: 0 !important; min-width: 0; }
}

/* 17.10.2026, слово владельца («ещё больше сократить опции по ширине и увеличить кнопку добавления в корзину»; унции на .com
   убирать нельзя — по ним покупают в США): значок корзины 56px (было 48), количество 46px, у списка фасовок меньше поля.
   Сверено расчётом ширины каждой подписи: US 36 вариантов — самый длинный «100g/3.52oz = $20.95» 139 из 143px, CA 27 и DE 28 — с запасом */
@media (max-width: 767px) {
  html.v4-list body .tygh-content .vs-grid-table-wrapper .vs-grid:not(:has(.et-oos)) { grid-template-columns: auto minmax(64px, 1fr) 34px 56px !important; }
  html.v4-list body .tygh-content .vs-grid-table-wrapper .vs-grid:not(:has(.et-oos)) .product-description, html.v4-list body .tygh-content .vs-grid-table-wrapper .vs-grid:not(:has(.et-oos)) .product-description .product-buttons, html.v4-list body .tygh-content .vs-grid-table-wrapper .vs-grid:not(:has(.et-oos)) .product-description .vs-buttons, html.v4-list body .tygh-content .vs-grid-table-wrapper .vs-grid:not(:has(.et-oos)) .ty-product-add-button { width: 56px !important; }
  html.v4-list body .tygh-content .vs-grid-table-wrapper .vs-grid:not(:has(.et-oos)) .ty-product-add-button .et-atc.hidden-desktop { flex: 0 0 56px !important; width: 56px !important; border-radius: 18px !important; }
  html.v4-list body .tygh-content .vs-grid-table-wrapper .vs-grid:not(:has(.et-oos)) .ty-product-add-button .et-atc.hidden-desktop::before { width: 25px !important; height: 25px !important; }
  html.v4-list body .tygh-content .vs-grid-table-wrapper .vs-grid:not(:has(.et-oos)) .variants-container { gap: 6px !important; }
  html.v4-list body .tygh-content .vs-grid-table-wrapper .vs-grid:not(:has(.et-oos)) .variants-container .ty-product-options-grid select { font-size: 13px !important; padding-left: 10px !important; padding-right: 20px !important; background-position: right 6px center !important; }
  html.v4-list body .tygh-content .vs-grid-table-wrapper .vs-grid:not(:has(.et-oos)) .ty-product-amount-grid, html.v4-list body .tygh-content .vs-grid-table-wrapper .vs-grid:not(:has(.et-oos)) .ty-product-amount-grid select { width: 46px !important; min-width: 46px !important; max-width: 46px !important; flex: 0 0 46px !important; }
  html.v4-list body .tygh-content .vs-grid-table-wrapper .vs-grid:not(:has(.et-oos)) .ty-product-amount-grid select { padding-left: 12px !important; padding-right: 14px !important; background-position: right 5px center !important; font-size: 13px !important; }
}

/* 17.10.2026, слово владельца («кнопку „в корзину“ сделать шире — узкая, на мелких телефонах неудобно; ширины опции не вижу»):
   на телефонах пошире всё свободное место уходило списку фасовок. Теперь у фасовки постоянная ширина под самую длинную подпись
   (160px, шрифт 12px — все 36 подписей US вида «100g/3.52oz = $20.95» помещаются), за ней количество 46px, а кнопка корзины
   забирает весь остаток строки: на экране 375px — 72px, на телефонах шире — больше. Фасовка+количество и кнопка — в одной ячейке */
@media (max-width: 767px) {
  html.v4-list body .tygh-content .vs-grid-table-wrapper .vs-grid:not(:has(.et-oos)) { grid-template-areas: "title title img img" "origin stars img img" "desc desc img img" "group group group group" "act act act act" !important; }
  html.v4-list body .tygh-content .vs-grid-table-wrapper .vs-grid:not(:has(.et-oos)) .variants-container, html.v4-list body .tygh-content .vs-grid-table-wrapper .vs-grid.v4-noVars:not(:has(.et-oos)) .prices-container { grid-area: act !important; grid-column: act !important; grid-row: act !important; justify-self: start !important; width: 212px !important; max-width: 212px !important; }
  html.v4-list body .tygh-content .vs-grid-table-wrapper .vs-grid:not(:has(.et-oos)) .variants-container .ty-product-options-grid { flex: 0 0 160px !important; width: 160px !important; max-width: 160px !important; min-width: 0 !important; }
  html.v4-list body .tygh-content .vs-grid-table-wrapper .vs-grid:not(:has(.et-oos)) .variants-container .ty-product-options-grid select { width: 160px !important; font-size: 12px !important; padding-left: 10px !important; padding-right: 18px !important; background-position: right 6px center !important; }
  html.v4-list body .tygh-content .vs-grid-table-wrapper .vs-grid:not(:has(.et-oos)) .product-description { grid-area: act !important; grid-column: act !important; grid-row: act !important; justify-self: end !important; width: calc(100% - 218px) !important; }
  html.v4-list body .tygh-content .vs-grid-table-wrapper .vs-grid:not(:has(.et-oos)) .product-description .product-buttons, html.v4-list body .tygh-content .vs-grid-table-wrapper .vs-grid:not(:has(.et-oos)) .product-description .vs-buttons, html.v4-list body .tygh-content .vs-grid-table-wrapper .vs-grid:not(:has(.et-oos)) .ty-product-add-button { width: 100% !important; }
  html.v4-list body .tygh-content .vs-grid-table-wrapper .vs-grid:not(:has(.et-oos)) .ty-product-add-button .et-atc.hidden-desktop { flex: 1 1 auto !important; width: 100% !important; border-radius: 20px !important; }
}

/* 17.10.2026, рекомендация, переданная владельцем («переключатель Loose Tea, когда вариант только один… выбрать там нечего.
   Если у товара нет пакетиков, переключатель можно скрыть — ещё около 50px с каждой карточки»): телефон, каталог («Список» и
   «Сетка») — переключатель прячется, если у товара один вариант (тема помечает такой блок классом group-links-total-1) */
@media (max-width: 767px) {
  html body .tygh-content .vs-category .vs-grid-table-wrapper .ty-group-links.group-links-total-1 { display: none !important; }
}/* 17.10.2026, слово владельца («это уже перебор, некрасиво… обрезать процентов на 35»): кнопка корзины не забирает весь остаток —
   её ширина от 72px (узкий телефон) до 84px (24% строки), остальное снова у фасовки (на 430px: кнопка ~83px, фасовка ~205px) */
@media (max-width: 767px) {
  html.v4-list body .tygh-content .vs-grid-table-wrapper .vs-grid:not(:has(.et-oos)) .product-description { width: clamp(72px, 24%, 84px) !important; }
  html.v4-list body .tygh-content .vs-grid-table-wrapper .vs-grid:not(:has(.et-oos)) .variants-container, html.v4-list body .tygh-content .vs-grid-table-wrapper .vs-grid.v4-noVars:not(:has(.et-oos)) .prices-container { width: calc(100% - clamp(72px, 24%, 84px) - 6px) !important; max-width: none !important; }
  html.v4-list body .tygh-content .vs-grid-table-wrapper .vs-grid:not(:has(.et-oos)) .variants-container .ty-product-options-grid { flex: 1 1 auto !important; width: auto !important; max-width: none !important; }
  html.v4-list body .tygh-content .vs-grid-table-wrapper .vs-grid:not(:has(.et-oos)) .variants-container .ty-product-options-grid select { width: 100% !important; }
}
/* 17.10.2026, слово владельца («ещё процентов на 15 увеличить кнопку „Купить“ и чуть-чуть расширить кнопку количества»):
   кнопка корзины clamp(83px, 27.6%, 97px) (+15%), количество 52px; у фасовки поля 8/16px. На самых узких телефонах (до 389px,
   iPhone SE/mini) кнопка остаётся 72px, количество 50px — иначе обрезались бы подписи «100g/3.52oz = $20.95» (расчёт: 3–13 из 34) */
@media (max-width: 767px) {
  html.v4-list body .tygh-content .vs-grid-table-wrapper .vs-grid:not(:has(.et-oos)) .product-description { width: clamp(83px, 27.6%, 97px) !important; }
  html.v4-list body .tygh-content .vs-grid-table-wrapper .vs-grid:not(:has(.et-oos)) .variants-container, html.v4-list body .tygh-content .vs-grid-table-wrapper .vs-grid.v4-noVars:not(:has(.et-oos)) .prices-container { width: calc(100% - clamp(83px, 27.6%, 97px) - 6px) !important; }
  html.v4-list body .tygh-content .vs-grid-table-wrapper .vs-grid:not(:has(.et-oos)) .ty-product-amount-grid, html.v4-list body .tygh-content .vs-grid-table-wrapper .vs-grid:not(:has(.et-oos)) .ty-product-amount-grid select { width: 52px !important; min-width: 52px !important; max-width: 52px !important; flex: 0 0 52px !important; }
  html.v4-list body .tygh-content .vs-grid-table-wrapper .vs-grid:not(:has(.et-oos)) .variants-container .ty-product-options-grid select { padding-left: 8px !important; padding-right: 16px !important; background-position: right 5px center !important; }
}
@media (max-width: 389px) {
  html.v4-list body .tygh-content .vs-grid-table-wrapper .vs-grid:not(:has(.et-oos)) .product-description { width: 72px !important; }
  html.v4-list body .tygh-content .vs-grid-table-wrapper .vs-grid:not(:has(.et-oos)) .variants-container, html.v4-list body .tygh-content .vs-grid-table-wrapper .vs-grid.v4-noVars:not(:has(.et-oos)) .prices-container { width: calc(100% - 78px) !important; }
  html.v4-list body .tygh-content .vs-grid-table-wrapper .vs-grid:not(:has(.et-oos)) .ty-product-amount-grid, html.v4-list body .tygh-content .vs-grid-table-wrapper .vs-grid:not(:has(.et-oos)) .ty-product-amount-grid select { width: 50px !important; min-width: 50px !important; max-width: 50px !important; flex: 0 0 50px !important; }
}

/* 17.10.2026, слово владельца («где нет опции выбора, кнопки накладываются друг на друга»): у товаров без фасовок количество
   стояло в 6px от кнопки корзины и сливалось с ней — зазор 12px (место у таких карточек есть: слева только цена) */
@media (max-width: 767px) {
  html.v4-list body .tygh-content .vs-grid-table-wrapper .vs-grid.v4-noVars:not(:has(.et-oos)) .prices-container { width: calc(100% - clamp(83px, 27.6%, 97px) - 12px) !important; }
}
@media (max-width: 389px) {
  html.v4-list body .tygh-content .vs-grid-table-wrapper .vs-grid.v4-noVars:not(:has(.et-oos)) .prices-container { width: calc(100% - 84px) !important; }
}
/* 17.10.2026, слово владельца («добавь „filter by“…», «довольно большие расстояния, много пустого места»): телефон, панель
   «Фильтры и сортировка» — заголовок «Filter by» над фильтрами (v4-katalog.js), строка фильтра 44px вместо 77 */
.v4cat-sortF .v4cat-filtH { margin: 18px 0 0; }
@media (max-width: 767px) {
  html body .tygh-content .fy-block-filters .ty-product-filters__wrapper .ty-product-filters__block { padding: 0 !important; }
  html body .tygh-content .fy-block-filters .ty-product-filters__wrapper .ty-product-filters__switch { padding: 6px 2px !important; }
  html body .tygh-content .fy-block-filters .ty-product-filters__wrapper .ty-product-filters__block > .ty-product-filters { margin-bottom: 8px !important; }
}

/* 17.10.2026, слово владельца («проверь этот поп-ап на телефоне, поехала строка адреса имейла»): окно «Back soon» — на телефоне
   (до 480px) форма в столбик, и flex: 1 сжимал поле почты по высоте до 21px. Поле и кнопка — своей высоты 46px; шрифт поля
   16px, иначе iPhone увеличивает страницу при вводе; поля темы (padding 4px 3px, margin) перебиты */
.v4h-npForm input { box-sizing: border-box; min-height: 46px; margin: 0 !important; padding: 0 18px !important; font-size: 16px !important; -webkit-appearance: none; appearance: none; background: #fff; }
@media (max-width: 480px) { .v4h-npForm input, .v4h-npForm button { flex: 0 0 auto !important; width: 100%; } }

/* 17.10.2026, слово владельца (снимки: значки перекрывают картинку и строку): значки товара (Organic, Exclusive, Sale и др.) — не поверх
   картинки, а строкой над названием, как на старом магазине. Карточка — сетка с областями (title, img, origin…), своей области у значков нет:
   значки ставятся в область названия сверху, а название сдвигается вниз на их высоту (только у карточек, где значки есть) */
/* 17.10.2026, слово владельца («задел, наверное, и десктоп … как было, вверху над фотографией»): значки над названием — только на телефоне;
   на компьютере — прежнее положение поверх фото (правила выше) */
@media (max-width: 767px) {
.tygh-content .vs-grid-table-wrapper .vs-grid .ty-grid-list-product__click > .ty-product-grid-labels.ty-product-grid-labels {
  position: static !important; grid-area: title !important; align-self: start !important; justify-self: start !important;
  top: auto !important; right: auto !important; left: auto !important; bottom: auto !important; transform: none !important;
  display: flex !important; flex-wrap: nowrap; align-items: center; gap: 6px; width: auto !important; max-width: 100%; height: auto !important; margin: 0 !important; padding: 0 !important; z-index: 1; }
.tygh-content .vs-grid-table-wrapper .vs-grid .ty-grid-list-product__click > .ty-product-grid-labels.ty-product-grid-labels:not(:has(> *)) { display: none !important; }
.tygh-content .vs-grid-table-wrapper .vs-grid .ty-grid-list-product__click > .ty-product-grid-labels.ty-product-grid-labels > * { position: static !important; margin: 0 !important; float: none !important; flex: 0 0 auto; }
.tygh-content .vs-grid-table-wrapper .vs-grid:has(.ty-product-grid-labels > *) .ty-grid-list-product__click > .product-title.product-title { padding-top: 32px !important; }
}
/* значок-листик (Organic в странах, где слово заменяется рисунком, — img 53x18) — по высоте строки значков */
.tygh-content .vs-grid-table-wrapper .vs-grid .ty-product-grid-labels.ty-product-grid-labels > .label-icon img { display: block; height: 16px; width: auto; }

/* 17.10.2026, снимок владельца («верх можно немножко приблизить к краю обрамления»): телефон, вид списком — у карточек со значками
   поле сверху 12px вместо 20 (значки ближе к краю); в виде сеткой — как было.
   17.10.2026, снимок владельца («по-прежнему большое расстояние между рамкой и следующим блоком»): то же поле 12px и у карточек без значков */
@media (max-width: 767px) { html.v4-list body .tygh-content .ty-grid-list__item,
  html.v4-list body .tygh-content .vs-grid-table-wrapper .ty-grid-list__item { padding-top: 12px !important; } } /* второй селектор сильнее правила «padding: 20px 4px» вида списком */

/* 17.10.2026, слово владельца («убери значок фаворит (сердечко) с мобильных устройств, не показывая его в каталоге»): телефон — без сердечка на карточках каталога */
/* обёртка сердечка (.add-buttons.add-to-wish, flex 0 0 40px) держала место справа от «Add to cart» в виде сеткой — скрыта целиком */
@media (max-width: 767px) { .tygh-content .ty-grid-list__item .vs-add-to-wishlist, .tygh-content .ty-grid-list__item .add-buttons.add-to-wish { display: none !important; } }

/* 17.10.2026, слово владельца: FAQ в описании категории на телефоне — ответы свёрнуты, по нажатию на вопрос раскрываются (класс .v4fq ставит v4-shapka.js) */
@media (max-width: 767px) {
  .tealyra-category-faq .v4fq [itemprop="acceptedAnswer"] { display: none; }
  .tealyra-category-faq .v4fq.v4fq-open [itemprop="acceptedAnswer"] { display: block; }
  .tealyra-category-faq .v4fq [itemprop="name"] { position: relative; cursor: pointer; padding-right: 34px !important; margin-bottom: 0 !important; -webkit-tap-highlight-color: transparent; }
  .tealyra-category-faq .v4fq.v4fq-open [itemprop="name"] { margin-bottom: 8px !important; }
  .tealyra-category-faq .v4fq [itemprop="name"]::after { content: "+"; position: absolute; right: 0; top: 50%; transform: translateY(-50%); width: 26px; height: 26px;
    border-radius: 50%; background: #EAF3EE; color: #0F5C45; font: 600 18px/26px Inter, system-ui, sans-serif; text-align: center; }
  .tealyra-category-faq .v4fq.v4fq-open [itemprop="name"]::after { content: "\2212"; }
}

/* 17.10.2026, снимок владельца («если нет дополнительных опций вывода, как Loose Tea, и появляется пустое место, то на мобильном скрывать»):
   у карточек без кнопок вариантов правило сетки держало над ценой 56px под эти кнопки — на телефоне в виде списком 10px */
@media (max-width: 767px) { html.v4-list body .tygh-content .vs-grid-table-wrapper .vs-grid:not(:has(.ty-group-links)) .variants-container { margin-top: 10px !important; } }
/* 18.10.2026, проверка на устройствах (20 устройств x 4 языка): на экранах 320px в виде «списком» у товаров без выбора фасовки (посуда, пуэр-кирпичи)
   длинная цена «CA$42.43» не оставляла места полю количества — оно на 2–5px заходило под кнопку корзины. До 360px цена в такой карточке — 16px */
@media (max-width: 360px) { html.v4-list body .tygh-content .vs-grid-table-wrapper .ty-grid-list__item .prices-container span.ty-price-num { font-size: 16px !important; } }
/* 18.10.2026, проверка на устройствах (немецкий): «In den Warenkorb» на кнопке карточки каталога (компьютер 1280px) была на 6px шире кнопки — для немецкого надпись 12.5px */
html[lang="de"] body .tygh-content a.ty-btn.et-atc.visible-desktop::after { font-size: 12.5px !important; letter-spacing: -0.01em !important; }

/* 18.10.2026, SEO-страницы фильтров: «Popular picks» — ссылки-плашки над текстом категории */
.v4sf-links { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 28px 0 12px; }
.v4sf-ttl { flex: 0 0 100%; font-weight: 700; font-size: 16px; margin-bottom: 2px; }
.v4sf-links a { display: inline-block; padding: 7px 14px; border: 1px solid #d8d3c4; border-radius: 999px; background: #fff; color: #1d2b24; font-size: 14px; line-height: 1.3; text-decoration: none; }
.v4sf-links a:hover { border-color: #0F5C45; color: #0F5C45; }
.v4sf-links a.is-on { background: #0F5C45; border-color: #0F5C45; color: #fff; }

/* 18.10.2026, слово владельца («поиск в фильтрах не работает — когда печатаешь, должно сразу подсвечивать выдачу»): поиск CS-Cart (cm-filter-table)
   прячет неподходящие варианты style="display:none", а наши плашки вариантов — display:block !important — это перебивали. Скрытое поиском — скрыто. */
html .tygh-content .fy-block-filters .ty-product-filters__variants > .ty-product-filters__group[style*="display: none"],
html .tygh-content .fy-block-filters .ty-product-filters__variants > .ty-product-filters__group[style*="display:none"],
html .span3 .fy-block-filters .ty-product-filters__group[style*="display: none"],
html .span3 .fy-block-filters .ty-product-filters__group[style*="display:none"] { display: none !important; }
