/*
Theme Name: CaseHouse
Theme URI: https://casehouse.bg
Author: CaseHouse
Description: Фирмена блок-тема на магазина CaseHouse — калъфи и аксесоари за телефони. Оранжев акцент, бял фон, едри закръглени карти. Работи с WooCommerce.
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 8.0
Version: 1.25.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: casehouse
Tags: e-commerce, block-themes, full-site-editing, one-column, custom-colors, custom-logo
*/

/* ==========================================================================
   0. Базови променливи
   ========================================================================== */
:root {
  --ch-radius: 20px;
  --ch-radius-sm: 14px;
  --ch-shadow: 0 10px 30px rgba(23, 23, 23, 0.10);
  --ch-gap: 16px;
  --ch-container: 1200px;
}

html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; overflow-x: hidden; }
/* Картинки-эмодзи WordPress (если где-то остались) — размером с текст */
img.emoji { height: 1em; width: 1em; margin: 0 .05em 0 .1em; vertical-align: -0.1em; display: inline; border: 0; box-shadow: none; }
img { max-width: 100%; height: auto; }
a { transition: color .15s ease; }
button, input, select, textarea { font-family: inherit; }

/* Контейнер: отступы на мобильном */
@media (max-width: 782px) {
  body { --wp--style--root--padding-left: 16px; --wp--style--root--padding-right: 16px; }
}

/* ==========================================================================
   1. Кнопки
   ========================================================================== */
.wp-block-button__link,
.wc-block-components-button,
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button,
.single_add_to_cart_button,
.wc-block-components-product-button .wp-block-button__link,
button.button, a.button, .button {
  font-family: inherit;
  font-weight: 700;
  border-radius: 999px !important;
  line-height: 1.2;
  transition: background .15s ease, color .15s ease, box-shadow .15s ease;
}
.wp-block-button__link { display: inline-flex; align-items: center; gap: 10px; }
.wp-block-button.is-style-outline .wp-block-button__link,
.wp-block-button.is-style-outline > .wp-block-button__link {
  background: transparent;
  color: #171717;
  border: 1.5px solid #171717;
  padding: calc(0.9rem - 1.5px) calc(1.6rem - 1.5px);
}
.wp-block-button.is-style-outline .wp-block-button__link:hover { background: #171717; color: #fff; }
.wp-block-button.is-style-dark .wp-block-button__link { background: #171717; color: #fff; }
.wp-block-button.is-style-dark .wp-block-button__link:hover { background: #333; color: #fff; }
.ch-btn-arrow .wp-block-button__link::after {
  content: "";
  width: 16px; height: 16px; flex-shrink: 0;
  background: no-repeat center / contain url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23171717' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'><path d='M7 17L17 7M9 7h8v8'/></svg>");
}

/* ==========================================================================
   2. Шапка
   ≥1200px: лого слева, меню в одну строку, справа телефон (от 1360px) и иконки.
   <1200px: бургер слева, лого по центру, справа поиск / профиль / корзина
   (на телефоне — только поиск и корзина, профиль есть в меню).
   ========================================================================== */
.ch-promo {
  background: #FF4D12;
  color: #171717;
  position: relative;
  box-sizing: border-box; min-height: 32px;
  display: flex; align-items: center; justify-content: center;
  padding: 4px 48px;
  font-size: 13px; font-weight: 500; text-align: center; line-height: 1.3; letter-spacing: .01em;
}
.ch-promo a { color: inherit; text-decoration: none; }
.ch-promo a:hover { text-decoration: underline; text-underline-offset: 3px; }
/* выделения в сообщениях: **жирно**, ==белая плашка==, ##чёрная плашка## */
.ch-promo__b { font-weight: 800; }
.ch-promo__chip { display: inline-block; padding: 0 6px; border-radius: 5px; font-weight: 800; line-height: 1.35; color: inherit; background: transparent; }
.ch-promo__chip--light { background: #fff; color: #171717; }
.ch-promo__chip--dark { background: #171717; color: #fff; }
.ch-promo__item { animation: ch-promo-in .35s ease; }
@keyframes ch-promo-in { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: none; } }
.ch-promo__btn {
  position: absolute; top: 50%; transform: translateY(-50%);
  background: transparent; border: 0; cursor: pointer; color: inherit;
  width: 26px; height: 26px; border-radius: 999px; display: inline-flex; align-items: center; justify-content: center;
}
.ch-promo__btn:first-child { left: 10px; }
.ch-promo__btn:last-child { right: 10px; }
.ch-promo__btn:hover { background: rgba(0,0,0,.08); }
.ch-promo__item { display: none; }
.ch-promo__item.is-active { display: block; }
.ch-promo--single .ch-promo__btn { display: none; }
@media (max-width: 782px) { .ch-promo { padding: 4px 34px; font-size: 12px; min-height: 30px; } .ch-promo__chip { padding: 0 5px; } .ch-promo__btn:first-child { left: 2px; } .ch-promo__btn:last-child { right: 2px; } }

/* Шапка закреплена при прокрутке (промо-полоса над ней — вне шапки, уезжает вместе со страницей) */
header.wp-block-template-part { position: sticky; top: var(--wp-admin--admin-bar--height, 0px); z-index: 900; }
@media (max-width: 782px) { header.wp-block-template-part { top: 0; } } /* панель WP на телефоне не фиксированная */
.ch-header { border-bottom: 1px solid #E6E6EA; background: #fff; position: relative; z-index: 20; transition: box-shadow .2s ease; }
.ch-header.is-stuck { box-shadow: 0 6px 24px rgba(23, 23, 23, .08); }
.ch-header__inner {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  column-gap: 28px;
  min-height: 66px;
}
.ch-logo { grid-column: 1; justify-self: start; margin: 0; }
.ch-logo a { display: block; }
.ch-logo img { height: 38px; width: auto !important; max-width: none; display: block; }
.ch-nav { grid-column: 2; min-width: 0; }
.ch-nav .wp-block-navigation__container { flex-wrap: nowrap !important; }
.ch-nav .wp-block-navigation-item__content { padding: 8px 0; font-weight: 500; white-space: nowrap; }
.ch-nav .wp-block-navigation-item__content:hover { color: #D93D08; }
.ch-nav__promo .wp-block-navigation-item__label::before {
  content: "%";
  display: inline-block; margin-right: 6px;
  background: #FF4D12; color: #171717; font-size: 11px; font-weight: 800; border-radius: 999px; padding: 2px 7px; line-height: 1.2;
}
.ch-nav .wp-block-navigation-item.ch-nav__account { display: none; } /* «Моят профил» — профиль теперь встроен в мобильную шторку */
.ch-nav .wp-block-navigation-item.ch-mobile-only { display: none !important; } /* пункт только для мобильной шторки (класс у пункта меню) */
.ch-header__actions { grid-column: 3; justify-self: end; display: flex !important; align-items: center; gap: 4px !important; flex-wrap: nowrap !important; }
.ch-phone { display: flex; flex-direction: column; align-items: flex-end; margin-right: 10px; line-height: 1.2; white-space: nowrap; }
.ch-phone__num { font-weight: 700; font-size: 15px; color: #171717; text-decoration: none; }
.ch-phone__hours { font-size: 12px; color: #6B7280; }

/* иконки в шапке — одинаковые круглые кнопки */
.ch-search__open,
.wc-block-customer-account .wc-block-customer-account__account-icon,
.wc-block-mini-cart .wc-block-mini-cart__button,
.ch-burger {
  width: 44px; height: 44px; border-radius: 999px; padding: 0 !important; margin: 0;
  display: inline-flex; align-items: center; justify-content: center;
  background: transparent; border: 0; color: #171717; cursor: pointer;
  transition: background .15s ease;
}
.ch-search__open:hover,
.wc-block-mini-cart .wc-block-mini-cart__button:hover,
.ch-burger:hover,
.wc-block-customer-account a:hover .wc-block-customer-account__account-icon { background: #F4F4F6; }
/* бургер WP и его полноэкранное меню не используем — вместо них своя шторка (.ch-drawer) */
.ch-nav .wp-block-navigation__responsive-container-open { display: none !important; }
.ch-burger { display: none; }
.wc-block-mini-cart__badge { background: #FF4D12 !important; color: #171717 !important; font-weight: 800 !important; border: 0 !important; }
.wc-block-mini-cart__quantity-badge { position: relative; }
.wc-block-customer-account a { text-decoration: none; }
.wc-block-customer-account__account-icon { color: #171717; }

/* Поиск: панель, выезжающая сверху, и затемнение страницы */
.ch-search__backdrop { position: fixed; inset: 0; z-index: 100000; background: rgba(23, 23, 23, .45); opacity: 0; transition: opacity .3s ease; }
.ch-search__backdrop.is-open { opacity: 1; }
.ch-search__panel {
  position: fixed; left: 0; right: 0; top: var(--wp-admin--admin-bar--height, 0px); z-index: 100001;
  background: #fff; box-shadow: 0 12px 32px rgba(23, 23, 23, .14);
  padding: 20px var(--wp--style--root--padding-right, 40px) 20px var(--wp--style--root--padding-left, 40px);
  transform: translateY(-110%);
  transition: transform .32s cubic-bezier(.2, .8, .2, 1);
}
.ch-search__panel.is-open { transform: translateY(0); }
.ch-search__panel[hidden], .ch-search__backdrop[hidden] { display: none; }
.ch-search__form {
  display: flex; align-items: center; gap: 12px;
  max-width: 1200px; margin: 0 auto; height: 64px;
  background: #F4F4F6; border-radius: 999px; padding: 0 10px 0 22px;
}
.ch-search__icon { display: inline-flex; color: #6B7280; flex-shrink: 0; }
.ch-search__input {
  flex: 1 1 auto; min-width: 0; height: 100%; border: 0; background: transparent; outline: 0;
  font-size: 18px; font-family: inherit; color: #171717; padding: 0;
}
.ch-search__input::placeholder { color: #9CA3AF; }
.ch-search__input::-webkit-search-cancel-button, .ch-search__input::-webkit-search-decoration { -webkit-appearance: none; appearance: none; }
.ch-search__submit { flex-shrink: 0; height: 44px; padding: 0 22px; border: 0; border-radius: 999px; background: #FF4D12; color: #171717; font-weight: 700; font-size: 15px; font-family: inherit; cursor: pointer; }
.ch-search__submit:hover { background: #D93D08; }
.ch-search__close { flex-shrink: 0; width: 44px; height: 44px; border: 0; border-radius: 999px; background: transparent; color: #171717; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; }
.ch-search__close:hover { background: #E6E6EA; }
body.ch-search-open { overflow: hidden; }

/* Меню для компьютера (строится из «Настройки сайта → Меню»): строка пунктов, выпадашки по наведению */
.ch-menu__list, .ch-menu__sub { list-style: none; margin: 0; padding: 0; }
.ch-menu__list { display: flex; align-items: center; gap: 26px; flex-wrap: nowrap; }
.ch-menu__item { position: relative; margin: 0; }
.ch-menu__link { display: inline-flex; align-items: center; gap: 5px; padding: 8px 0; font-size: 15px; font-weight: 500; color: #171717; text-decoration: none; white-space: nowrap; }
.ch-menu__link:hover { color: #D93D08; }
.ch-menu__item--promo > .ch-menu__link::before { content: "%"; display: inline-block; margin-right: 2px; background: #FF4D12; color: #171717; font-size: 11px; font-weight: 800; border-radius: 999px; padding: 2px 7px; line-height: 1.2; }
.ch-menu__chev { flex-shrink: 0; transition: transform .2s ease; }
.ch-menu__item.has-children:hover > .ch-menu__link > .ch-menu__chev { transform: rotate(180deg); }
.ch-menu__sub { position: absolute; top: 100%; left: -12px; z-index: 40; min-width: 230px; margin-top: 6px; padding: 8px; background: #fff; border: 1px solid #E6E6EA; border-radius: 14px; box-shadow: 0 12px 30px rgba(23, 23, 23, .12); opacity: 0; visibility: hidden; transform: translateY(6px); transition: opacity .18s ease, transform .18s ease, visibility 0s linear .18s; }
.ch-menu__sub::before { content: ""; position: absolute; left: 0; right: 0; top: -8px; height: 8px; } /* «мостик», чтобы меню не закрывалось по дороге к нему */
.ch-menu__item:hover > .ch-menu__sub, .ch-menu__item:focus-within > .ch-menu__sub { opacity: 1; visibility: visible; transform: none; transition-delay: 0s; }
.ch-menu__sub .ch-menu__link { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 8px 12px; border-radius: 8px; font-size: 15px; }
.ch-menu__sub .ch-menu__link:hover { background: #F4F4F6; color: #171717; }
.ch-menu__sub .ch-menu__item.has-children > .ch-menu__link > .ch-menu__chev { transform: rotate(-90deg); }
.ch-menu__sub .ch-menu__item.has-children:hover > .ch-menu__link > .ch-menu__chev { transform: rotate(-90deg); }
.ch-menu__sub .ch-menu__sub { top: -9px; left: 100%; margin: 0 0 0 2px; }
.ch-menu__sub .ch-menu__sub::before { top: 0; bottom: 0; left: -10px; right: auto; width: 10px; height: auto; }
.ch-menu__sub--grid { display: grid; grid-template-columns: 1fr 1fr; column-gap: 4px; min-width: 440px; }
.ch-menu__sub--grid > .ch-menu__item--all { grid-column: 1 / -1; border-bottom: 1px solid #E6E6EA; margin-bottom: 4px; padding-bottom: 4px; }
.ch-menu__item--all > .ch-menu__link { font-weight: 700; }
.ch-menu__list > .ch-menu__item:nth-last-child(-n+2) > .ch-menu__sub { left: auto; right: -12px; } /* у последних пунктов — не вылезать за экран */
.ch-menu__list > .ch-menu__item:nth-last-child(-n+2) > .ch-menu__sub .ch-menu__sub { left: auto; right: 100%; margin: 0 2px 0 0; }
.ch-menu__list > .ch-menu__item:nth-last-child(-n+2) > .ch-menu__sub .ch-menu__sub::before { left: auto; right: -10px; }
@media (max-width: 1199px) { .ch-nav > .ch-menu__list { display: none; } }

/* Выпадающие списки меню; модели iPhone — в две колонки */
.ch-nav .wp-block-navigation__submenu-container { border-radius: 14px !important; border: 1px solid #E6E6EA !important; box-shadow: 0 12px 30px rgba(23, 23, 23, .12); padding: 8px !important; background: #fff; }
.ch-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: 8px 12px !important; border-radius: 8px; font-size: 15px; }
.ch-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { background: #F4F4F6; color: #171717; }
@media (min-width: 1200px) {
  .ch-nav .ch-nav__models > .wp-block-navigation__submenu-container { display: grid !important; grid-template-columns: 1fr 1fr; column-gap: 4px; min-width: 440px; }
  .ch-nav .ch-nav__models > .wp-block-navigation__submenu-container > .ch-nav__models-all { grid-column: 1 / -1; border-bottom: 1px solid #E6E6EA; margin-bottom: 4px; padding-bottom: 4px; }
  .ch-nav .ch-nav__models > .wp-block-navigation__submenu-container > .ch-nav__models-all .wp-block-navigation-item__content { font-weight: 700; }
}

/* Телефон не влезает рядом с меню на узких десктопах */
@media (max-width: 1359px) { .ch-phone { display: none; } }

/* Планшет и телефон: бургер слева, лого по центру */
@media (max-width: 1199px) {
  .ch-header__inner { grid-template-columns: 1fr auto 1fr; column-gap: 12px; min-height: 56px; }
  .ch-nav { grid-column: 1; grid-row: 1; justify-self: start; }
  .ch-logo { grid-column: 2; grid-row: 1; justify-self: center; }
  .ch-logo img { height: 34px; }
  .ch-header__actions { grid-column: 3; grid-row: 1; justify-self: end; }
  /* строку ссылок WP прячем, показываем свой бургер — он открывает шторку .ch-drawer */
  .ch-nav .wp-block-navigation__responsive-container, .ch-nav > .wp-block-navigation__container { display: none !important; }
  .ch-burger { display: inline-flex; }
  .ch-search__form { height: 56px; padding-left: 18px; }
  .ch-search__input { font-size: 16px; }
  .ch-search__panel { padding: 14px var(--wp--style--root--padding-right, 16px); }
}
@media (max-width: 599px) {
  .ch-logo img { height: 30px; }
  .ch-header__actions .wc-block-customer-account { display: none; } /* профиль — в меню */
  .ch-search__submit { display: none; }
}

/* Мобильное меню — боковая шторка слева (как на iCases). Разметка — плагин, includes/mobile-menu.php */
.ch-drawer__backdrop { position: fixed; inset: 0; z-index: 100000; background: rgba(23, 23, 23, .5); opacity: 0; transition: opacity .3s ease; }
.ch-drawer__backdrop.is-open { opacity: 1; }
.ch-drawer {
  position: fixed; top: 0; bottom: 0; left: 0; z-index: 100001;
  width: min(86vw, 400px); box-sizing: border-box; padding: 14px 14px 32px;
  background: #fff; color: #171717; border-radius: 0 24px 24px 0; box-shadow: 0 0 48px rgba(23, 23, 23, .2);
  transform: translateX(-105%); transition: transform .38s cubic-bezier(.2, .8, .2, 1);
  overflow-y: auto; -webkit-overflow-scrolling: touch; overscroll-behavior: contain;
  display: flex; flex-direction: column;
}
.ch-drawer.is-open { transform: translateX(0); }
.ch-drawer[hidden], .ch-drawer__backdrop[hidden] { display: none; }
body.ch-drawer-open { overflow: hidden; }
.ch-drawer__head { display: flex; align-items: center; justify-content: space-between; padding: 2px 0 10px 10px; }
.ch-drawer__logo { display: block; text-decoration: none; color: #171717; font-weight: 800; font-size: 22px; }
.ch-drawer__logo img { height: 34px; width: auto; display: block; }
.ch-drawer__close { flex-shrink: 0; width: 44px; height: 44px; border: 0; border-radius: 999px; background: transparent; color: #171717; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; }
.ch-drawer__close:hover { background: #F4F4F6; }
.ch-drawer__list { list-style: none; margin: 0; padding: 0; }
.ch-drawer__item { margin: 0; padding: 0; }
.ch-drawer__row {
  display: flex; align-items: center; gap: 14px; width: 100%; min-height: 54px; box-sizing: border-box;
  padding: 10px 10px; border: 0; border-radius: 14px; background: transparent;
  color: #171717; font-family: inherit; font-size: 17px; font-weight: 500; line-height: 1.3; text-align: left; text-decoration: none; cursor: pointer;
  transition: background .15s ease;
}
@media (hover: hover) { .ch-drawer__row:hover { background: #F7F7F9; color: #171717; } }
.ch-drawer__item.is-open > .ch-drawer__row { background: #F4F4F6; }
.ch-drawer__icon { flex: 0 0 24px; width: 24px; height: 24px; color: #6B7280; display: inline-flex; align-items: center; justify-content: center; }
.ch-drawer__icon svg { width: 24px; height: 24px; }
.ch-drawer__label { flex: 1 1 auto; min-width: 0; }
.ch-drawer__chev { flex: 0 0 auto; width: 9px; height: 9px; border-right: 2px solid #6B7280; border-bottom: 2px solid #6B7280; transform: rotate(45deg); margin: -5px 10px 0 0; transition: transform .25s ease, margin .25s ease; }
.ch-drawer__item.is-open > .ch-drawer__row .ch-drawer__chev { transform: rotate(-135deg); margin-top: 5px; }
/* подменю: плавное раскрытие */
.ch-drawer__sub { display: grid; grid-template-rows: 0fr; visibility: hidden; transition: grid-template-rows .3s ease, visibility 0s linear .3s; }
.ch-drawer__item.is-open > .ch-drawer__sub { grid-template-rows: 1fr; visibility: visible; transition: grid-template-rows .3s ease, visibility 0s; }
.ch-drawer__sub > * { min-height: 0; overflow: hidden; }
.ch-drawer__sub .ch-drawer__row { min-height: 46px; padding: 8px 10px 8px 48px; font-size: 16px; font-weight: 400; color: #171717; }
.ch-drawer__sub .ch-drawer__row.is-all { font-weight: 600; }
.ch-drawer__sub .ch-drawer__icon { display: none; }
.ch-drawer__sub .ch-drawer__sub .ch-drawer__row { padding-left: 64px; }
.ch-drawer__sub .ch-drawer__list { padding-bottom: 6px; }
.ch-drawer__sep { flex-shrink: 0; height: 1px; background: #E6E6EA; margin: 8px 6px; }
/* «Моят профил»: кнопки входа/регистрации */
.ch-drawer__btns { display: grid; gap: 10px; padding: 10px 10px 14px 48px; }
.ch-drawer__btn { display: flex; align-items: center; justify-content: center; height: 48px; border-radius: 999px; box-sizing: border-box; font-size: 15px; font-weight: 700; text-decoration: none; color: #171717; }
.ch-drawer__btn--primary { background: #FF4D12; }
@media (hover: hover) { .ch-drawer__btn--primary:hover { background: #D93D08; color: #171717; } }
.ch-drawer__btn--outline { border: 1.5px solid #171717; }
@media (hover: hover) { .ch-drawer__btn--outline:hover { background: #171717; color: #fff; } }
/* телефон и соцсети внизу */
.ch-drawer__contacts { padding-bottom: 6px; }
.ch-drawer__phone { display: flex; align-items: center; gap: 14px; min-height: 54px; padding: 8px 10px; border-radius: 14px; text-decoration: none; color: #171717; }
@media (hover: hover) { .ch-drawer__phone:hover { background: #F7F7F9; color: #171717; } }
.ch-drawer__phone b { font-size: 17px; font-weight: 700; display: block; }
.ch-drawer__phone small { display: block; font-size: 13px; color: #6B7280; margin-top: 2px; }
.ch-drawer__social { padding: 6px 10px 0 48px; }
.ch-drawer__social .ch-social { margin: 0; }
@media (min-width: 1200px) { .ch-drawer, .ch-drawer__backdrop { display: none !important; } }
@media (max-width: 360px) { .ch-drawer { width: 90vw; } .ch-drawer__row { font-size: 16px; } }

/* ==========================================================================
   3. Общие секции / заголовки
   ========================================================================== */
.ch-section { margin-top: 56px; }
.ch-section__head { margin-bottom: 24px; gap: 16px; }
.ch-section__head h2 { margin: 0; }
.ch-section__head .wp-block-buttons { margin: 0; }
.ch-section__head .wp-block-button__link { padding: 11px 22px; font-size: 14px; }
/* Секции товаров на главной — карусели: стрелки на компьютере, свайп на телефоне */
.ch-section__head > .wp-block-buttons { margin-left: auto; }
.ch-carousel__nav { display: flex; gap: 8px; flex-shrink: 0; }
.ch-section__head > h2 + .ch-carousel__nav { margin-left: auto; } /* секция без кнопки «Виж всички» — стрелки справа */
.ch-carousel__btn { width: 44px; height: 44px; border-radius: 999px; border: 1.5px solid #171717; background: #fff; color: #171717; display: inline-flex; align-items: center; justify-content: center; padding: 0; cursor: pointer; transition: background .15s, color .15s, opacity .15s; }
.ch-carousel__btn svg { width: 18px; height: 18px; }
.ch-carousel__btn:hover:not(:disabled) { background: #171717; color: #fff; }
.ch-carousel__btn:disabled { opacity: .3; cursor: default; }
.ch-section--no-scroll .ch-carousel__nav { display: none; }
.ch-section .ch-products .wc-block-product-template {
  display: flex !important; flex-wrap: nowrap; gap: 16px; overflow-x: auto; overflow-y: hidden;
  scroll-snap-type: x mandatory; scroll-behavior: smooth; -webkit-overflow-scrolling: touch; overscroll-behavior-x: contain;
  scrollbar-width: none; padding: 4px 0 10px; margin: -4px 0 -10px; cursor: grab;
}
.ch-section .ch-products .wc-block-product-template::-webkit-scrollbar { display: none; }
.ch-section .ch-products .wc-block-product-template.is-dragging { scroll-snap-type: none; scroll-behavior: auto; cursor: grabbing; }
.ch-section .ch-products .wc-block-product-template > .wc-block-product { flex: 0 0 calc((100% - 48px) / 4); width: auto; max-width: none; box-sizing: border-box; scroll-snap-align: start; }
.ch-section .ch-products .wc-block-product-template.is-dragging a, .ch-section .ch-products .wc-block-product-template.is-dragging img { pointer-events: none; }
@media (max-width: 1024px) { .ch-section .ch-products .wc-block-product-template > .wc-block-product { flex-basis: calc((100% - 32px) / 3); } }
@media (max-width: 782px) {
  .ch-carousel__nav { display: none; }
  .ch-section .ch-products .wc-block-product-template { gap: 10px; cursor: default; }
  .ch-section .ch-products .wc-block-product-template > .wc-block-product { flex-basis: 44%; }
}
.ch-eyebrow { font-size: 12px; letter-spacing: .22em; text-transform: uppercase; font-weight: 700; color: #6B7280; margin: 0; }
@media (max-width: 782px) {
  .ch-section { margin-top: 36px; }
  .ch-section__head { flex-wrap: wrap; }
  .ch-section__head .wp-block-button__link { padding: 9px 16px; font-size: 13px; }
}

/* ==========================================================================
   4. Главный баннер (слайдер)
   Слайды едут горизонтально (как на icases.ua): стрелки по краям, счётчик
   «01 — 02» снизу, свайп на телефоне. Слайд-картинка — вся кликабельна.
   ========================================================================== */
.ch-hero { margin-top: 24px; position: relative; }
.ch-hero__viewport { background: #F4F4F6; border-radius: 28px; overflow: hidden; position: relative; }
.ch-hero__track { display: flex; align-items: stretch; transition: transform .55s cubic-bezier(.2, .8, .2, 1); will-change: transform; }
.ch-hero__track.is-dragging { transition: none; }
.ch-hero__slide { flex: 0 0 100%; min-width: 0; box-sizing: border-box; }
.ch-hero__slide--text { padding: 48px 56px; min-height: 440px; display: flex; align-items: center; }
.ch-hero__slide--image { display: block; aspect-ratio: 2.4 / 1; text-decoration: none; background: #F4F4F6; }
.ch-hero__slide--image picture { display: block; width: 100%; height: 100%; }
.ch-hero__slide--image img, .ch-hero__picture { width: 100% !important; height: 100% !important; max-width: none; object-fit: cover; object-position: center; display: block; }
.ch-hero__cols { width: 100%; align-items: center; display: flex; gap: 24px; }
.ch-hero__col--text { flex: 1 1 45%; min-width: 0; }
.ch-hero__col--img { flex: 1 1 55%; min-width: 0; }
.ch-hero__img { margin: 0; }
.ch-hero .wp-block-buttons { display: flex; gap: 12px; flex-wrap: wrap; }
.ch-hero__title { font-size: clamp(2rem, 4vw, 3.25rem); line-height: 1.05; margin: 12px 0 14px; }
.ch-hero__text { font-size: 18px; color: #4B5563; max-width: 440px; margin: 0 0 22px; }
.ch-hero__img img { max-height: 360px; width: auto; margin: 0 auto; display: block; }
.ch-hero__arrow {
  position: absolute; top: 50%; transform: translateY(-50%); z-index: 3;
  width: 48px; height: 48px; border-radius: 999px; border: 1px solid rgba(23, 23, 23, .12); background: rgba(255, 255, 255, .92); color: #171717;
  display: inline-flex; align-items: center; justify-content: center; cursor: pointer; backdrop-filter: blur(4px);
  transition: background .15s, color .15s, border-color .15s;
}
.ch-hero__arrow:hover { background: #171717; color: #fff; border-color: #171717; }
.ch-hero__arrow--prev { left: 18px; }
.ch-hero__arrow--next { right: 18px; }
.ch-hero__nav { position: absolute; left: 50%; bottom: 14px; transform: translateX(-50%); display: flex; align-items: center; gap: 12px; z-index: 3; font-size: 13px; font-weight: 600; color: #171717; letter-spacing: .04em; pointer-events: none; padding: 6px 14px; border-radius: 999px; background: rgba(255, 255, 255, .82); backdrop-filter: blur(4px); }
.ch-hero__nav-num { min-width: 20px; text-align: center; font-variant-numeric: tabular-nums; }
.ch-hero__nav-bar { width: 120px; height: 3px; border-radius: 2px; background: rgba(23, 23, 23, .18); overflow: hidden; }
.ch-hero__nav-bar i { display: block; height: 100%; background: #171717; border-radius: 2px; transition: transform .55s cubic-bezier(.2, .8, .2, 1); transform-origin: left; }
.ch-hero--single .ch-hero__arrow, .ch-hero--single .ch-hero__nav { display: none; }
/* Слайд «товары»: коллаж из карточек с фото товаров и наклейками (как первый баннер на iCases); один товар — одно большое фото */
.ch-hero__collage { position: relative; width: 100%; max-width: 580px; height: 400px; margin: 0 auto; }
.ch-hero__collage-in { position: absolute; left: 50%; top: 0; width: 580px; height: 400px; margin-left: -290px; transform-origin: top center; }
.ch-hero__card { position: absolute; display: block; width: 240px; aspect-ratio: 1 / 1; border-radius: 24px; overflow: hidden; background: #fff; box-shadow: 0 18px 40px rgba(23, 23, 23, .18); transform: rotate(var(--r, 0deg)); transition: transform .25s ease, box-shadow .25s ease; }
.ch-hero__card img { width: 100% !important; height: 100% !important; max-width: none; object-fit: cover; display: block; }
.ch-hero__card:hover { transform: rotate(var(--r, 0deg)) scale(1.04); box-shadow: 0 24px 50px rgba(23, 23, 23, .24); z-index: 9; }
.ch-hero__card--1 { left: 20px; top: 70px; width: 250px; --r: -8deg; z-index: 3; }
.ch-hero__card--2 { left: 215px; top: 8px; width: 235px; --r: 6deg; z-index: 2; }
.ch-hero__card--3 { left: 345px; top: 165px; width: 225px; --r: -5deg; z-index: 4; }
.ch-hero__card--4 { left: 70px; top: 255px; width: 150px; --r: 10deg; z-index: 1; }
.ch-hero__card--5 { left: 440px; top: 20px; width: 135px; --r: 14deg; z-index: 1; }
.ch-hero__collage--n2 .ch-hero__card--1 { left: 50px; top: 40px; width: 280px; }
.ch-hero__collage--n2 .ch-hero__card--2 { left: 280px; top: 100px; width: 260px; --r: 8deg; z-index: 4; }
.ch-hero__collage--n3 .ch-hero__card--1 { left: 30px; top: 50px; width: 260px; }
.ch-hero__collage--n3 .ch-hero__card--2 { left: 230px; top: 0; width: 230px; }
.ch-hero__collage--n3 .ch-hero__card--3 { left: 330px; top: 160px; width: 235px; }
.ch-hero__collage--n1 .ch-hero__card { position: static; width: 100%; max-width: 380px; margin: 10px auto 0; --r: -4deg; }
.ch-hero__collage--n1 .ch-hero__collage-in { position: static; width: auto; height: auto; margin: 0; }
.ch-hero__collage--n1 { height: auto; }
.ch-hero__sticker { position: absolute; z-index: 6; pointer-events: none; filter: drop-shadow(0 6px 10px rgba(23, 23, 23, .15)); }
.ch-hero__sticker--star { width: 64px; left: -6px; top: 10px; transform: rotate(-12deg); }
.ch-hero__sticker--eyes { width: 96px; left: 215px; top: 236px; transform: rotate(-8deg); }
.ch-hero__sticker--zig { width: 84px; left: 470px; top: 320px; transform: rotate(10deg); }
.ch-hero__sticker--spark { width: 46px; left: 395px; top: -4px; }
.ch-hero__slide--dark .ch-hero__sticker--spark path { fill: #fff; }
.ch-hero__slide--dark .ch-hero__card { box-shadow: 0 18px 40px rgba(0, 0, 0, .5); }
@media (max-width: 1024px) {
  .ch-hero__collage { height: 320px; }
  .ch-hero__collage-in { transform: scale(.8); }
}
@media (max-width: 782px) {
  .ch-hero__collage { height: 236px; max-width: none; }
  .ch-hero__collage-in { transform: scale(.58); }
  .ch-hero__collage--n1 .ch-hero__collage-in { transform: none; }
  .ch-hero__collage--n1 .ch-hero__card { max-width: 220px; margin-top: 0; }
  .ch-hero__card:hover { transform: rotate(var(--r, 0deg)); }
}
@media (max-width: 782px) {
  .ch-hero { margin-top: 16px; }
  .ch-hero__viewport { border-radius: 20px; }
  .ch-hero__slide--text { padding: 24px 20px 48px; min-height: 0; }
  .ch-hero__slide--image { aspect-ratio: 4 / 3; }
  .ch-hero__cols { flex-direction: column; }
  .ch-hero__cols .wp-block-column, .ch-hero__col { flex-basis: auto !important; width: 100%; }
  .ch-hero__title { font-size: 32px; }
  .ch-hero__text { font-size: 15px; margin-bottom: 16px; }
  .ch-hero__img img { max-height: 200px; }
  .ch-hero__arrow { width: 40px; height: 40px; }
  .ch-hero__arrow--prev { left: 10px; }
  .ch-hero__arrow--next { right: 10px; }
  .ch-hero__nav { bottom: 12px; font-size: 12px; }
  .ch-hero__nav-bar { width: 72px; }
}

/* ==========================================================================
   5. Плитки категорий
   ========================================================================== */
.ch-cats { margin-top: 40px; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(255px, 100%), 1fr)); gap: 16px; }
.ch-cats > .ch-cat { display: flex; align-items: center; text-decoration: none; color: #171717; }
.ch-cat__thumb { width: 44px !important; height: 44px; object-fit: cover; border-radius: 10px; }
.ch-cat__body { display: flex; flex-direction: column; min-width: 0; }
.ch-cat {
  border: 1px solid #E6E6EA; border-radius: 20px; background: #fff; padding: 18px 20px;
  gap: 16px !important; cursor: pointer; transition: border-color .15s ease;
}
.ch-cat:hover { border-color: #FF4D12; }
.ch-cat__icon { margin: 0; flex-shrink: 0; width: 56px; height: 56px; border-radius: 16px; background: #F4F4F6; display: flex; align-items: center; justify-content: center; }
.ch-cat__icon img { width: 28px !important; height: 28px; }
.ch-cat__name { font-weight: 700; font-size: 15px; margin: 0; line-height: 1.25; }
.ch-cat__name a { color: #171717; text-decoration: none; }
.ch-cat__sub { font-size: 13px; color: #6B7280; margin: 3px 0 0; }
@media (max-width: 782px) {
  .ch-cats { margin-top: 20px; gap: 10px !important; }
  .ch-cat { padding: 12px 14px; border-radius: 16px; gap: 12px !important; }
  .ch-cat__icon { width: 40px; height: 40px; border-radius: 12px; }
  .ch-cat__icon img { width: 22px !important; height: 22px; }
  .ch-cat__name { font-size: 14px; }
  .ch-cat__sub { font-size: 12px; }
}

/* ==========================================================================
   6. Карточка товара (WooCommerce product collection)
   ========================================================================== */
.ch-products .wc-block-product-template,
.wp-block-woocommerce-product-collection .wc-block-product-template { gap: 16px; }
.wp-block-woocommerce-product-collection .wc-block-product-template .wc-block-product,
.wc-block-related-products .products-block-post-template > li {
  position: relative;
  display: flex; flex-direction: column; gap: 10px;
  padding: 16px; background: #fff; border: 1px solid #E6E6EA; border-radius: 20px;
  transition: box-shadow .15s ease; text-align: left;
}
.wp-block-woocommerce-product-collection .wc-block-product:hover,
.wc-block-related-products .products-block-post-template > li:hover { box-shadow: var(--ch-shadow); }
.wc-block-components-product-image { margin: 0 0 4px; background: #F7F7F9; border-radius: 14px; overflow: hidden; }
.wc-block-components-product-image a { display: block; }
.wc-block-components-product-image img { aspect-ratio: 1 / 1; object-fit: contain; width: 100%; padding: 14px; box-sizing: border-box; }
.wc-block-product .wp-block-post-title { font-size: 14px; font-weight: 500; line-height: 1.4; letter-spacing: 0; margin: 0; min-height: 2.8em; }
.wc-block-product .wp-block-post-title a { color: #171717; text-decoration: none; }
.wc-block-product .wp-block-post-title a:hover { color: #D93D08; }
.wc-block-product .wc-block-components-product-price { font-size: 20px; font-weight: 800; margin: 0; display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; }
.wc-block-product .wc-block-components-product-price del,
.wc-block-product .wc-block-components-product-price .wc-block-components-product-price__regular { font-size: 14px; font-weight: 500; color: #6B7280; order: 2; }
.wc-block-product .wc-block-components-product-price ins { text-decoration: none; }
/* Низ карточки: наличие + кнопка. Карточка — container query: когда она узкая,
   кнопка уходит отдельной строкой на всю ширину и никогда не вылезает за край. */
.wp-block-woocommerce-product-collection .wc-block-product-template .wc-block-product,
.wc-block-related-products .products-block-post-template > li { container-type: inline-size; }
.ch-card__foot { margin-top: auto; gap: 8px !important; flex-wrap: wrap !important; min-width: 0; }
.wp-block-button.wc-block-components-product-button { margin: 0; min-width: 0; max-width: 100%; }
.wc-block-components-product-stock-indicator { font-size: 13px; font-weight: 600; margin: 0; white-space: nowrap; }
.wc-block-components-product-stock-indicator--in-stock { color: #15803D; }
.wc-block-components-product-stock-indicator--in-stock::before { content: ""; display: inline-block; width: 8px; height: 8px; border-radius: 999px; background: #15803D; margin-right: 6px; vertical-align: 1px; }
.wc-block-components-product-stock-indicator--out-of-stock { color: #6B7280; }
/* специфичность как у стилей WooCommerce (.wp-block-button.wc-block-components-product-button .wp-block-button__link),
   иначе их white-space:normal / width:auto перебивают тему — и кнопка «растёт» в две строки */
.wp-block-button.wc-block-components-product-button .wp-block-button__link {
  padding: 10px 12px; font-size: 13px; background: #FF4D12; color: #171717; white-space: nowrap; width: auto; max-width: 100%; box-sizing: border-box;
}
.wp-block-button.wc-block-components-product-button .wp-block-button__link:hover { background: #D93D08; }
/* (ширина контейнера в container query — это content-box карточки, без её padding) */
@container (max-width: 250px) {
  .ch-card__foot { flex-direction: column; align-items: stretch !important; }
  .wp-block-button.wc-block-components-product-button .wp-block-button__link { width: 100%; }
}
.wc-block-components-product-button .wp-block-button__link::before {
  content: ""; width: 16px; height: 16px; display: inline-block; vertical-align: -3px; margin-right: 6px;
  background: no-repeat center / contain url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23171717' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><path d='M3 4h2l2.4 11.2a1.5 1.5 0 0 0 1.5 1.3h8.6a1.5 1.5 0 0 0 1.5-1.2L21 8H6.5'/></svg>");
}
.wc-block-components-product-button .added_to_cart { display: block; font-size: 12px; margin-top: 6px; color: #15803D; }
/* бейджи */
.wc-block-components-product-sale-badge, .wc-block-grid__product-onsale, .onsale { display: none !important; }
.ch-badges { position: absolute; top: 14px; left: 14px; z-index: 2; display: flex; flex-direction: column; gap: 6px; align-items: flex-start; }
.ch-badge {
  display: inline-block;
  background: #DC2626; color: #fff; font-size: 12px; font-weight: 800; border-radius: 999px; padding: 4px 10px; line-height: 1.3;
}
.ch-badge--hit { background: #FF4D12; color: #171717; }
.ch-badge--new { background: #171717; color: #fff; }
/* «Съвместим с MagSafe» — строка под названием (ставится плагином, если у товара MagSafe: Да) */
.ch-ms { display: inline-flex; align-items: center; gap: 5px; font-size: 12px; font-weight: 700; line-height: 1.2; color: #171717; margin: -4px 0 0; white-space: nowrap; }
.ch-ms__icon { width: 15px; height: 15px; flex: 0 0 auto; color: #FF4D12; }
.ch-product__title + .ch-ms { font-size: 14px; margin: 6px 0 0; }
.ch-product__title + .ch-ms .ch-ms__icon { width: 18px; height: 18px; }
@media (max-width: 782px) { .ch-ms { font-size: 11px; } }
@media (max-width: 1024px) {
  .wp-block-woocommerce-product-collection .wc-block-product-template { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}
@media (max-width: 782px) {
  .wp-block-woocommerce-product-collection .wc-block-product-template { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 10px; }
  .wp-block-woocommerce-product-collection .wc-block-product-template .wc-block-product { padding: 12px; border-radius: 16px; }
  .wc-block-product .wp-block-post-title { font-size: 13px; }
  .wc-block-product .wc-block-components-product-price { font-size: 17px; }
  .wp-block-button.wc-block-components-product-button .wp-block-button__link { padding: 9px 10px; font-size: 12px; }
}

/* ==========================================================================
   7. Промо-лента (комплект)
   ========================================================================== */
.ch-band { margin-top: 56px; background: #171717; color: #fff; border-radius: 28px; padding: 48px 56px; }
.ch-band .ch-eyebrow { color: #FF4D12; }
.ch-band h2 { color: #fff; font-size: clamp(1.75rem, 3vw, 2.5rem); margin: 12px 0 14px; }
.ch-band p { color: #D1D5DB; max-width: 460px; }
.ch-band .wp-block-column { display: flex; flex-direction: column; justify-content: center; }
.ch-band__cols { display: flex; align-items: center; gap: 32px; }
.ch-band__col--text { flex: 1 1 55%; min-width: 0; }
.ch-band__col--img { flex: 1 1 45%; min-width: 0; }
.ch-band__img { margin: 0; }
.ch-band .wp-block-buttons { display: flex; gap: 12px; flex-wrap: wrap; }
.ch-band--orange .wp-block-button.is-style-outline .wp-block-button__link, .ch-band--peach .wp-block-button.is-style-outline .wp-block-button__link, .ch-band--light .wp-block-button.is-style-outline .wp-block-button__link { color: #171717; border-color: #171717; }
.ch-band--orange .wp-block-button.is-style-outline .wp-block-button__link:hover { background: #171717; color: #fff; }
.ch-band img { max-height: 220px; width: auto; margin: 0 auto; display: block; }
.ch-band .wp-block-button.is-style-outline .wp-block-button__link { color: #fff; border-color: #4B5563; }
.ch-band .wp-block-button.is-style-outline .wp-block-button__link:hover { background: #fff; color: #171717; border-color: #fff; }
@media (max-width: 782px) {
  .ch-band { margin-top: 36px; padding: 28px 20px; border-radius: 24px; }
  .ch-band__cols { flex-direction: column; align-items: stretch; }
  .ch-band img { max-height: 160px; margin-top: 10px; }
}

/* ==========================================================================
   8. Преимущества
   ========================================================================== */
.ch-benefits { margin-top: 56px; }
.ch-benefits--sc { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(255px, 100%), 1fr)); gap: 16px; }
.ch-benefits--sc .ch-benefit { display: flex; }
.ch-benefit__body { min-width: 0; }
.ch-benefit { background: #F4F4F6; border-radius: 20px; padding: 20px; gap: 14px !important; align-items: flex-start !important; }
.ch-benefit__icon { margin: 0; flex-shrink: 0; width: 44px; height: 44px; border-radius: 12px; background: #FF4D12; display: flex; align-items: center; justify-content: center; }
.ch-benefit__icon img { width: 22px !important; height: 22px; }
.ch-benefit h3 { font-size: 15px; margin: 0 0 4px; }
.ch-benefit p { font-size: 13px; color: #6B7280; margin: 0; }
@media (max-width: 782px) {
  .ch-benefits { margin-top: 36px; gap: 10px !important; }
  .ch-benefit { flex-direction: column; padding: 14px; border-radius: 16px; }
  .ch-benefit__icon { width: 36px; height: 36px; }
  .ch-benefit h3 { font-size: 13px; }
  .ch-benefit p { font-size: 12px; }
}

/* ==========================================================================
   9. Отзывы
   ========================================================================== */
.ch-reviews { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
/* на главной отзывы — карусель (все отзывы, стрелки / свайп) */
.ch-section .ch-reviews { display: flex; flex-wrap: nowrap; overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; scroll-behavior: smooth; -webkit-overflow-scrolling: touch; overscroll-behavior-x: contain; scrollbar-width: none; padding-bottom: 4px; cursor: grab; }
.ch-section .ch-reviews::-webkit-scrollbar { display: none; }
.ch-section .ch-reviews.is-dragging { scroll-snap-type: none; scroll-behavior: auto; cursor: grabbing; }
.ch-section .ch-reviews.is-dragging a { pointer-events: none; }
.ch-section .ch-reviews > .ch-review { flex: 0 0 calc((100% - 32px) / 3); box-sizing: border-box; scroll-snap-align: start; }
.ch-section .ch-reviews > .ch-review .ch-review__text { flex: 1 1 auto; }
.ch-review { display: flex; flex-direction: column; gap: 14px; padding: 28px; background: #F4F4F6; border-radius: 24px; }
.ch-review__stars { display: inline-flex; gap: 2px; color: #FF4D12; }
.ch-review__stars svg { width: 18px; height: 18px; fill: currentColor; }
.ch-review__stars svg.is-empty { fill: #D1D5DB; }
.ch-review__text { margin: 0; font-size: 15px; line-height: 1.55; color: #374151; }
.ch-review__author { display: flex; align-items: center; gap: 12px; margin-top: auto; }
.ch-review__avatar { width: 40px; height: 40px; border-radius: 999px; background: #171717; color: #fff; display: inline-flex; align-items: center; justify-content: center; font-weight: 800; font-size: 15px; flex-shrink: 0; }
.ch-review__name { font-weight: 700; font-size: 14px; display: block; }
.ch-review__meta { font-size: 12px; color: #6B7280; }
.ch-review__product { font-size: 12px; color: #6B7280; }
.ch-review__product a { color: #6B7280; text-decoration: underline; }
@media (max-width: 1024px) { .ch-reviews { grid-template-columns: repeat(2, minmax(0, 1fr)); } .ch-section .ch-reviews > .ch-review { flex-basis: calc((100% - 16px) / 2); } }
@media (max-width: 782px) { .ch-reviews { grid-template-columns: 1fr; gap: 10px; } .ch-review { padding: 20px; border-radius: 20px; } .ch-section .ch-reviews { cursor: default; } .ch-section .ch-reviews > .ch-review { flex-basis: 86%; } }

/* ==========================================================================
   9a. О магазине — SEO-текст с H1 (перед отзывами)
   ========================================================================== */
.ch-about { display: grid; grid-template-columns: minmax(260px, 36%) minmax(0, 1fr); gap: 32px 72px; align-items: start; background: #F7F7F9; border-radius: 24px; padding: 48px; }
.ch-about__logo { height: 48px; width: auto; display: block; margin: 0 0 22px; }
.ch-about__title { font-size: clamp(24px, 2.4vw, 34px); line-height: 1.2; font-weight: 800; letter-spacing: -0.02em; margin: 0; }
.ch-about__text { font-size: 16px; line-height: 1.75; color: #374151; position: relative; }
.ch-about__text p { margin: 0 0 16px; }
.ch-about__text p:last-child { margin-bottom: 0; }
.ch-about__text h2, .ch-about__text h3 { font-size: 20px; line-height: 1.3; margin: 24px 0 10px; color: #171717; }
.ch-about__text ul, .ch-about__text ol { margin: 0 0 16px 20px; }
.ch-about__text a { color: #D93D08; text-decoration: underline; text-underline-offset: 3px; }
.ch-about__text.is-collapsed { max-height: 200px; overflow: hidden; }
.ch-about__text.is-collapsed::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 96px; background: linear-gradient(to bottom, rgba(247, 247, 249, 0), #F7F7F9); pointer-events: none; }
.ch-about__text.is-animating { overflow: hidden; transition: max-height .4s ease; }
.ch-about__more { display: inline-flex; align-items: center; gap: 10px; margin-top: 18px; padding: 12px 22px; border: 1.5px solid #171717; border-radius: 999px; background: transparent; color: #171717; font-family: inherit; font-size: 15px; font-weight: 700; line-height: 1.2; cursor: pointer; transition: background .15s, color .15s; }
.ch-about__more:hover { background: #171717; color: #fff; }
.ch-about__more svg { transition: transform .2s; }
.ch-about__more[aria-expanded="true"] svg { transform: rotate(180deg); }
.ch-about__more.is-hidden { display: none; }
@media (max-width: 1024px) { .ch-about { grid-template-columns: 1fr; gap: 20px; padding: 32px; } }
@media (max-width: 782px) { .ch-about { padding: 24px 20px; border-radius: 20px; } .ch-about__title { font-size: 24px; } .ch-about__logo { height: 40px; margin-bottom: 16px; } .ch-about__text { font-size: 15px; } }

/* ==========================================================================
   10. Блог
   ========================================================================== */
.ch-blog .wp-block-post-template { gap: 16px; }
.ch-post { border: 1px solid #E6E6EA; border-radius: 20px; overflow: hidden; background: #fff; height: 100%; transition: box-shadow .15s ease; }
.ch-post:hover { box-shadow: var(--ch-shadow); }
.ch-post__img { margin: 0; background: #F7F7F9; }
.ch-post__img img { aspect-ratio: 16 / 9; object-fit: cover; width: 100%; display: block; }
/* Квадратные фото товаров (класс is-contain ставит плагин) — целиком, не режем */
.ch-post__img.is-contain { background: #fff; border-bottom: 1px solid #F0F0F3; }
.ch-post__img.is-contain img { object-fit: contain !important; padding: 12px 24px; box-sizing: border-box; }
.ch-post__body { padding: 16px 20px 20px; }
.ch-post__cat { display: inline-block; font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: #D93D08; margin: 0 10px 8px 0; }
.ch-post__cat a { color: inherit; text-decoration: none; }
.ch-post__cat a:hover { color: #171717; }
.ch-post__cat .wp-block-post-terms__separator { color: #9CA3AF; }
.ch-post__cat .wp-block-post-terms__prefix { display: none; }
.ch-post__date { display: inline-block; font-size: 12px; color: #6B7280; font-weight: 600; margin: 0 0 8px; }
.ch-post__title { font-size: 17px; line-height: 1.35; margin: 0 0 8px; font-weight: 700; letter-spacing: 0; }
.ch-post__title a { color: #171717; text-decoration: none; }
.ch-post__title a:hover { color: #D93D08; }
.ch-post__excerpt p { font-size: 14px; color: #4B5563; line-height: 1.5; margin: 0; }
.ch-post__excerpt .wp-block-post-excerpt__more-text { display: none; }
.ch-blogcats { margin: 20px 0 4px; }
@media (max-width: 782px) {
  .ch-blog .wp-block-post-template { grid-template-columns: 1fr !important; gap: 10px; }
  .ch-blogcats { margin-top: 14px; }
}

/* Страница статьи — на всю ширину контента (1200px) */
.ch-single { max-width: none; }
.ch-single__meta { gap: 12px; font-size: 13px; color: #6B7280; font-weight: 600; }
.ch-single__meta .ch-post__cat { margin: 0; font-size: 12px; }
.ch-single > .wp-block-post-title { font-size: clamp(1.75rem, 3.6vw, 2.75rem); line-height: 1.15; margin: 10px 0 22px; letter-spacing: -.01em; }
.ch-single__img { margin: 0 0 32px; overflow: hidden; border-radius: 24px; }
.ch-single__img img { border-radius: 24px; }
/* Квадратное фото товара — без обрезки под 16:9: естественные пропорции, по центру, не выше 560px */
.ch-single__img.is-contain { aspect-ratio: auto !important; border-radius: 0; }
.ch-single__img.is-contain img { width: auto !important; height: auto !important; max-height: 560px; max-width: 100%; display: block; margin: 0 auto; object-fit: contain !important; border-radius: 24px; }
.ch-single .wp-block-post-content { font-size: 18px; line-height: 1.75; color: #374151; }
.ch-single .wp-block-post-content > * { margin-top: 0; margin-bottom: 1.15em; }
.ch-single .wp-block-post-content h2 { font-size: 28px; line-height: 1.25; margin: 1.6em 0 .6em; color: #171717; }
.ch-single .wp-block-post-content h3 { font-size: 21px; line-height: 1.3; margin: 1.4em 0 .5em; color: #171717; }
.ch-single .wp-block-post-content a { text-decoration: underline; text-underline-offset: 3px; }
.ch-single .wp-block-post-content ul, .ch-single .wp-block-post-content ol { padding-left: 1.4em; }
.ch-single .wp-block-post-content li { margin-bottom: .4em; }
.ch-single .wp-block-post-content .wp-block-image { margin: 1.6em 0; text-align: center; }
.ch-single .wp-block-post-content .wp-block-image img { max-height: 560px; width: auto; height: auto; max-width: 100%; display: inline-block; border-radius: 20px; }
.ch-single .wp-block-post-content .wp-block-image figcaption { font-size: 14px; color: #6B7280; margin: 10px 0 0; text-align: center; }
.ch-single .wp-block-post-content .wp-block-table { margin: 1.4em 0; overflow-x: auto; }
.ch-single .wp-block-post-content table { font-size: 15px; line-height: 1.45; border-collapse: collapse; width: 100%; }
.ch-single .wp-block-post-content th, .ch-single .wp-block-post-content td { border: 1px solid #E6E6EA; padding: 10px 12px; vertical-align: top; text-align: left; }
.ch-single .wp-block-post-content th { background: #F7F7F9; color: #171717; font-weight: 700; }
.ch-single .wp-block-post-content tbody tr:nth-child(even) td { background: #FBFBFC; }
.ch-single .wp-block-post-content td:first-child { font-weight: 700; color: #171717; }
.ch-single .wp-block-separator { margin-top: 40px; }
@media (max-width: 782px) {
  .ch-single > .wp-block-post-title { margin-bottom: 16px; }
  .ch-single__img { margin-bottom: 20px; border-radius: 16px; }
  .ch-single__img img, .ch-single__img.is-contain img { border-radius: 16px; }
  .ch-single__img.is-contain img { max-height: 360px; }
  .ch-single .wp-block-post-content { font-size: 16px; line-height: 1.7; }
  .ch-single .wp-block-post-content h2 { font-size: 23px; }
  .ch-single .wp-block-post-content h3 { font-size: 19px; }
  .ch-single .wp-block-post-content .wp-block-image img { max-height: 380px; border-radius: 14px; }
  .ch-single .wp-block-post-content table { min-width: 640px; font-size: 14px; }
  .ch-single .wp-block-post-content th, .ch-single .wp-block-post-content td { padding: 8px 10px; }
}

/* ==========================================================================
   11. Футер
   ========================================================================== */
.ch-footer { margin-top: 64px; background: #171717; color: #fff; }
.ch-footer a { color: #D1D5DB; text-decoration: none; }
.ch-footer a:hover { color: #fff; }
.ch-footer__cols { padding-top: 56px; padding-bottom: 32px; gap: 24px; }
.ch-footer__logo { margin: 0 0 16px; }
.ch-footer__logo img { height: 40px; width: auto !important; }
.ch-footer h3 { color: #fff; font-size: 16px; margin: 0 0 12px; }
.ch-footer ul { list-style: none; padding: 0; margin: 0; }
.ch-footer li { margin: 0 0 10px; font-size: 14px; }
.ch-footer__menus { display: flex; gap: 24px; }
.ch-footer__menu { flex: 1 1 0; min-width: 0; }
.ch-footer__contacts { line-height: 1.6; font-size: 13px; color: #9CA3AF; }
.ch-footer__contacts .ch-footer__phone { display: block; font-weight: 700; font-size: 16px; color: #fff; margin-bottom: 6px; }
.ch-footer__contacts .wp-block-button__link, .ch-footer__viber { display: inline-flex; margin-top: 12px; padding: 11px 20px; font-size: 14px; }
.ch-footer__muted { font-size: 14px; color: #9CA3AF; margin: 0 0 12px; }
/* Иконки соцсетей */
.ch-social { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.ch-social__link { width: 40px; height: 40px; border-radius: 999px; display: inline-flex; align-items: center; justify-content: center; text-decoration: none !important; transition: background .15s, color .15s, transform .15s; }
.ch-social__link svg { width: 20px; height: 20px; display: block; }
.ch-social--dark .ch-social__link { background: #262626; color: #fff; }
.ch-social--dark .ch-social__link:hover { background: #FF4D12; color: #171717; transform: translateY(-1px); }
.ch-social--light .ch-social__link { background: #fff; color: #171717; border: 1px solid #E6E6EA; }
.ch-social--light .ch-social__link:hover { background: #171717; color: #fff; border-color: #171717; }
.ch-footer__address { font-size: 14px; color: #D1D5DB; line-height: 1.6; margin: 0; }
.ch-subscribe { display: flex; gap: 8px; flex-wrap: wrap; margin: 0 0 20px; }
.ch-subscribe input[type="email"] {
  flex: 1 1 200px; height: 48px; border-radius: 999px; border: 1px solid #4B5563; background: #262626; color: #fff;
  padding: 0 18px; font-size: 14px; min-width: 0;
}
.ch-subscribe input[type="email"]::placeholder { color: #9CA3AF; }
.ch-subscribe button { height: 48px; padding: 0 22px; font-size: 14px; background: #FF4D12; color: #171717; border: 0; border-radius: 999px; font-weight: 700; cursor: pointer; }
.ch-subscribe button:hover { background: #D93D08; }
.ch-subscribe__msg { font-size: 13px; margin: 6px 0 0; width: 100%; color: #D1D5DB; }
.ch-footer__bottom { border-top: 1px solid #333; padding: 20px 0; display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; font-size: 13px; color: #9CA3AF; }
.ch-pay { display: flex; gap: 8px; flex-wrap: wrap; margin: 0; }
.ch-pay span { font-size: 12px; font-weight: 700; color: #171717; background: #fff; border-radius: 6px; padding: 4px 10px; }
@media (max-width: 782px) {
  .ch-footer { margin-top: 36px; }
  .ch-footer__cols { padding-top: 32px; padding-bottom: 20px; }
  .ch-footer__cols .wp-block-column { flex-basis: 100% !important; }
  .ch-footer__menus { flex-wrap: wrap; gap: 16px 24px; }
  .ch-footer__menu { flex: 1 1 40%; }
}

/* ==========================================================================
   12. Каталог
   ========================================================================== */
.ch-crumbs, .woocommerce-breadcrumb { font-size: 13px; color: #6B7280; margin: 20px 0 0; }
.ch-crumbs a, .woocommerce-breadcrumb a { color: #6B7280; }
.ch-crumbs a:hover { color: #171717; }
.ch-catalog__head { gap: 14px; margin-top: 12px; flex-wrap: wrap; }
.ch-catalog__head h1 { margin: 0; font-size: clamp(1.75rem, 3vw, 2.5rem); }
.ch-count { font-size: 15px; color: #6B7280; margin: 0; }
.ch-subcats { display: flex; gap: 8px; flex-wrap: wrap; margin: 16px 0 0; }
.ch-subcats a {
  font-size: 14px; font-weight: 600; padding: 10px 16px; border-radius: 999px; border: 1px solid #E6E6EA; color: #171717; background: #fff; text-decoration: none;
}
.ch-subcats a:hover { border-color: #171717; }
.ch-subcats a.is-current { background: #171717; color: #fff; border-color: #171717; }
.ch-catalog__cols { margin-top: 28px; gap: 32px; }
.ch-filters { flex: 0 0 264px; }
/* Фильтры (блок WooCommerce «Product Filters», собирается шорткодом [ch_filters]).
   Стили самодостаточны — не зависят от CSS WooCommerce. */
.ch-filters .wc-block-product-filters { display: block; width: 100%; --top-padding: var(--wp-admin--admin-bar--height, 0px); }
.ch-filters .wc-block-product-filter--hidden { display: none !important; }
.ch-filters .ch-pf__title { font-size: 20px; font-weight: 800; margin: 0 0 4px !important; }
/* группа фильтра */
.ch-filters .wp-block-woocommerce-product-filter-price,
.ch-filters .wp-block-woocommerce-product-filter-attribute,
.ch-filters .wp-block-woocommerce-product-filter-status,
.ch-filters .wp-block-woocommerce-product-filter-rating,
.ch-filters .wp-block-woocommerce-product-filter-taxonomy { margin-top: 18px; padding-top: 16px; border-top: 1px solid #E6E6EA; }
.ch-filters .wp-block-woocommerce-product-filter-price .wp-block-heading,
.ch-filters .wp-block-woocommerce-product-filter-attribute .wp-block-heading,
.ch-filters .wp-block-woocommerce-product-filter-status .wp-block-heading,
.ch-filters .wp-block-woocommerce-product-filter-rating .wp-block-heading,
.ch-filters .wp-block-woocommerce-product-filter-taxonomy .wp-block-heading { font-size: 16px; font-weight: 700; margin: 0 0 14px !important; display: flex; align-items: center; justify-content: space-between; cursor: pointer; user-select: none; }
.ch-filters .ch-pf__group .wp-block-heading::after { content: ""; width: 10px; height: 10px; border-right: 2px solid #171717; border-bottom: 2px solid #171717; transform: rotate(-135deg); margin: 4px 6px 0 0; transition: transform .2s; }
.ch-filters .ch-pf__group.is-collapsed .wp-block-heading::after { transform: rotate(45deg); margin-top: -4px; }
.ch-filters .ch-pf__group.is-collapsed > :not(.wp-block-heading) { display: none; }
.ch-filters .ch-pf__group.is-collapsed .wp-block-heading { margin-bottom: 0 !important; }
/* активные фильтры (чипсы) */
.ch-filters .wp-block-woocommerce-product-filter-active { margin-top: 12px; }
.ch-filters .wp-block-woocommerce-product-filter-active:empty { display: none; }
.ch-filters .wc-block-product-filter-removable-chips__items { display: flex; flex-wrap: wrap; gap: 6px; list-style: none; margin: 0 0 10px; padding: 0; }
.ch-filters .wc-block-product-filter-removable-chips__item { display: inline-flex; align-items: center; gap: 2px; background: #F4F4F6; border-radius: 999px; padding: 5px 6px 5px 12px; font-size: 13px; font-weight: 600; margin: 0; }
.ch-filters .wc-block-product-filter-removable-chips__remove { border: 0; background: transparent; padding: 0; width: 22px; height: 22px; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; color: #6B7280; border-radius: 50%; }
.ch-filters .wc-block-product-filter-removable-chips__remove svg { width: 18px; height: 18px; fill: currentColor; }
.ch-filters .wc-block-product-filter-removable-chips__remove:hover { background: #E6E6EA; color: #171717; }
.ch-filters .wp-block-woocommerce-product-filter-clear-button .wp-block-buttons { margin: 0; }
.ch-filters .wp-block-woocommerce-product-filter-clear-button .wp-block-button { width: 100%; }
.ch-filters .wp-block-woocommerce-product-filter-clear-button button, .ch-filters .wp-block-woocommerce-product-filter-clear-button .wp-block-button__link { display: block; width: 100%; box-sizing: border-box; border-radius: 999px !important; border: 1.5px solid #171717 !important; background: transparent !important; color: #171717 !important; font-family: inherit; font-size: 14px !important; font-weight: 700; padding: 9px 14px !important; cursor: pointer; text-decoration: none; }
.ch-filters .wp-block-woocommerce-product-filter-clear-button button:hover { background: #171717 !important; color: #fff !important; }
/* список с галочками */
.ch-filters .wc-block-product-filter-checkbox-list fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }
.ch-filters .wc-block-product-filter-checkbox-list__items { display: flex; flex-direction: column; gap: 10px; }
.ch-filters .wc-block-product-filter-checkbox-list__item[hidden] { display: none !important; }
.ch-filters .wc-block-product-filter-checkbox-list__label { display: inline-flex; align-items: center; gap: 10px; cursor: pointer; font-size: 15px; line-height: 1.3; margin: 0; color: #171717; }
.ch-filters .wc-block-product-filter-checkbox-list__input-wrapper { position: relative; display: block; width: 20px; height: 20px; flex-shrink: 0; }
.ch-filters .wc-block-product-filter-checkbox-list__input-wrapper::before { content: ""; position: absolute; inset: 0; border: 1.5px solid #D1D5DB; border-radius: 6px; background: #fff; box-sizing: border-box; transition: background .15s, border-color .15s; }
.ch-filters .wc-block-product-filter-checkbox-list__input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.ch-filters svg.wc-block-product-filter-checkbox-list__mark { position: absolute; inset: 0; width: 20px; height: 20px; padding: 5px; box-sizing: border-box; color: #171717; display: none; pointer-events: none; }
.ch-filters .wc-block-product-filter-checkbox-list__input:checked + .wc-block-product-filter-checkbox-list__mark { display: block; }
.ch-filters .wc-block-product-filter-checkbox-list__input-wrapper:has(input:checked)::before { background: #FF4D12; border-color: #FF4D12; }
.ch-filters .wc-block-product-filter-checkbox-list__label:hover .wc-block-product-filter-checkbox-list__input-wrapper::before { border-color: #171717; }
.ch-filters .wc-block-product-filter-checkbox-list__input:disabled ~ * , .ch-filters .wc-block-product-filter-checkbox-list__label:has(input:disabled) { opacity: .5; cursor: not-allowed; }
.ch-filters .wc-block-product-filter-checkbox-list__text-wrapper { display: inline-flex; align-items: center; gap: 6px; font-size: 15px; }
.ch-filters .wc-block-product-filter-checkbox-list__count { color: #9CA3AF; font-size: 13px; }
.ch-filters .wc-block-product-filter-checkbox-list__show-more-button { background: none; border: 0; padding: 0; margin-top: 2px; color: #D93D08; font-family: inherit; font-size: 14px; font-weight: 600; cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
.ch-filters .wc-block-product-filter-checkbox-list__stars { display: inline-block; height: 1.3em; overflow: hidden; line-height: 0; color: #F59E0B; }
.ch-filters .wc-block-product-filter-checkbox-list__stars-svg { display: block; height: 1.3em; width: auto; }
.ch-filters .wc-block-product-filter-checkbox-list__color-swatch { width: 16px; height: 16px; border-radius: 50%; border: 1px solid rgba(0, 0, 0, .15); display: inline-block; background-size: cover; }
/* цена: ползунок + поля «от / до» */
.ch-filters .wc-block-product-filter-price-slider__content { display: grid; grid-template-areas: "price-slider price-slider" "left-input right-input"; grid-template-columns: 1fr 1fr; gap: 14px 12px; }
.ch-filters .wc-block-product-filter-price-slider__range { grid-area: price-slider; position: relative; height: 4px; margin: 10px 8px 6px; --low: 0%; --high: 100%; --range-color: #FF4D12; --track-background: linear-gradient(to right, transparent var(--low), var(--range-color) 0, var(--range-color) var(--high), transparent 0) no-repeat 0 100% / 100% 100%; }
.ch-filters .wc-block-product-filter-price-slider__range::before { content: ""; position: absolute; inset: 0; background: #E6E6EA; border-radius: 4px; }
.ch-filters .wc-block-product-filter-price-slider__range .range-bar { position: relative; height: 4px; border-radius: 4px; background: var(--track-background); }
.ch-filters .wc-block-product-filter-price-slider__range input[type="range"] { appearance: none; -webkit-appearance: none; position: absolute; left: 0; top: 0; width: 100%; height: 0; margin: 0; padding: 0 !important; background: transparent; border: 0 !important; outline: none !important; pointer-events: none; display: block; }
.ch-filters .wc-block-product-filter-price-slider__range input[type="range"]::-webkit-slider-runnable-track { appearance: none; height: 1px; }
.ch-filters .wc-block-product-filter-price-slider__range input[type="range"]::-moz-range-track { appearance: none; height: 1px; }
.ch-filters .wc-block-product-filter-price-slider__range input[type="range"]::-webkit-slider-thumb { -webkit-appearance: none; appearance: none; pointer-events: auto; width: 16px; height: 16px; margin: -8px 0 0; border-radius: 50%; background: #fff; border: 2px solid #171717; box-sizing: border-box; cursor: pointer; box-shadow: 0 1px 4px rgba(0, 0, 0, .15); }
.ch-filters .wc-block-product-filter-price-slider__range input[type="range"]::-moz-range-thumb { pointer-events: auto; width: 16px; height: 16px; border-radius: 50%; background: #fff; border: 2px solid #171717; box-sizing: border-box; cursor: pointer; }
.ch-filters .wc-block-product-filter-price-slider__range input[type="range"]::-webkit-slider-thumb:hover, .ch-filters .wc-block-product-filter-price-slider__range input[type="range"]:focus::-webkit-slider-thumb { background: #FF4D12; border-color: #FF4D12; }
.ch-filters .wc-block-product-filter-price-slider__left { grid-area: left-input; }
.ch-filters .wc-block-product-filter-price-slider__right { grid-area: right-input; }
.ch-filters .wc-block-product-filter-price-slider__left, .ch-filters .wc-block-product-filter-price-slider__right { background: #F4F4F6; border-radius: 12px; padding: 8px 12px 6px; font-size: 12px; color: #6B7280; min-width: 0; }
.ch-filters .wc-block-product-filter-price-slider__left::before { content: "от"; display: block; }
.ch-filters .wc-block-product-filter-price-slider__right::before { content: "до"; display: block; }
.ch-filters .wc-block-product-filter-price-slider .text input[type="text"] { display: block; width: 100%; max-width: none; min-width: 0; border: 0; background: transparent; padding: 2px 0 0; margin: 0; font-family: inherit; font-size: 16px; font-weight: 700; color: #171717; outline: 0; }
/* мобильная шторка (до 1024px) */
.ch-filters .wc-block-product-filters__open-overlay { display: inline-flex; align-items: center; justify-content: center; gap: 8px; width: 100%; height: 48px; border: 0; border-radius: 999px; padding: 0 18px; background: #FF4D12; color: #171717; font-family: inherit; font-size: 14px; font-weight: 700; cursor: pointer; }
.ch-filters .wc-block-product-filters__open-overlay svg { width: 20px; height: 20px; fill: currentColor; }
.ch-filters .wc-block-product-filters__close-overlay { width: 44px; height: 44px; border: 0; border-radius: 999px; background: transparent; color: #171717; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; }
.ch-filters .wc-block-product-filters__close-overlay svg { width: 24px; height: 24px; fill: currentColor; }
.ch-filters .wc-block-product-filters__close-overlay:hover { background: #F4F4F6; }
.ch-filters .wc-block-product-filters__apply { width: 100%; height: 50px; border-radius: 999px; background: #FF4D12; color: #171717; font-family: inherit; font-size: 15px; font-weight: 700; border: 0; cursor: pointer; }
@media (max-width: 1024px) {
  .ch-filters .wc-block-product-filters { display: block !important; }
  .ch-filters .wc-block-product-filters__open-overlay { display: inline-flex !important; }
  .ch-filters .wc-block-product-filters__overlay { position: fixed !important; inset: 0 !important; top: var(--top-padding) !important; z-index: 9999 !important; background-color: transparent; pointer-events: none !important; transition: background-color .2s .3s; }
  .ch-filters .wc-block-product-filters.is-overlay-opened .wc-block-product-filters__overlay { background-color: rgba(23, 23, 23, .45) !important; pointer-events: auto !important; transition-delay: 0s; }
  .ch-filters .wc-block-product-filters__overlay-wrapper { position: relative; width: 100% !important; height: 100% !important; }
  .ch-filters .wc-block-product-filters__overlay-dialog { position: absolute !important; inset: 0 auto 0 0; width: min(100%, 400px) !important; max-height: 100%; display: flex !important; flex-direction: column; background: #fff !important; color: #171717; transform: translateX(-100%) !important; transition: transform .4s cubic-bezier(.2, .8, .2, 1) !important; }
  .ch-filters .wc-block-product-filters.is-overlay-opened .wc-block-product-filters__overlay-dialog { transform: translateX(0) !important; }
  .ch-filters .wc-block-product-filters__overlay-header { display: flex !important; flex-flow: row-reverse; padding: 12px 12px 0; }
  .ch-filters .wc-block-product-filters__overlay-content { display: flex; flex-direction: column; flex: 1 1 auto; overflow-y: auto !important; padding: 0 20px 20px !important; }
  .ch-filters .wc-block-product-filters__overlay-content > :first-child { margin-top: 0; }
  .ch-filters .wc-block-product-filters__overlay-footer { display: block !important; padding: 14px 20px; box-shadow: 0 -4px 12px rgba(0, 0, 0, .08); }
  .ch-filters .ch-pf__title { margin-top: 4px !important; }
}
@media (min-width: 1025px) {
  .ch-filters .wc-block-product-filters__open-overlay, .ch-filters .wc-block-product-filters__overlay-header, .ch-filters .wc-block-product-filters__overlay-footer { display: none !important; }
  .ch-filters .wc-block-product-filters__overlay { position: static !important; pointer-events: auto !important; background: transparent !important; z-index: auto; inset: auto; }
  .ch-filters .wc-block-product-filters__overlay-wrapper { width: auto; height: auto; }
  .ch-filters .wc-block-product-filters__overlay-dialog { position: static !important; width: auto; transform: none !important; transition: none; max-height: none; background: transparent; }
  .ch-filters .wc-block-product-filters__overlay-content { padding: 0; overflow: visible; }
}
.ch-catalog__bar { margin-bottom: 16px; }
.wc-block-catalog-sorting, .woocommerce-ordering { margin: 0; }
.wc-block-catalog-sorting select, .woocommerce-ordering select, .orderby { height: 40px; border: 1px solid #E6E6EA; border-radius: 999px; padding: 0 36px 0 14px; font-size: 14px; background: #fff; }
.ch-catalog__main .wp-block-woocommerce-product-collection .wc-block-product-template { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.wp-block-query-pagination { margin-top: 32px; }
.wp-block-query-pagination-numbers a, .wp-block-query-pagination-numbers .current, .wp-block-query-pagination-previous, .wp-block-query-pagination-next {
  display: inline-flex; align-items: center; justify-content: center; min-width: 44px; height: 44px; padding: 0 12px; border-radius: 999px; border: 1px solid #E6E6EA; font-weight: 600; font-size: 14px; text-decoration: none; color: #171717;
}
.wp-block-query-pagination-numbers .current { background: #171717; color: #fff; border-color: #171717; }
.wp-block-query-pagination-numbers a:hover, .wp-block-query-pagination-previous:hover, .wp-block-query-pagination-next:hover { border-color: #171717; }
.ch-seo { margin-top: 48px; background: #F4F4F6; border-radius: 24px; padding: 32px 40px; color: #4B5563; font-size: 15px; line-height: 1.6; }
.ch-seo:empty { display: none; }
.wc-block-store-notices:empty, .wp-block-woocommerce-store-notices:empty { display: none; }
/* счётчик для телефона — рядом с кнопками, в шапке каталога прячется */
.ch-count--mobile { display: none; }
@media (max-width: 1024px) {
  /* [Филтри] [Подреди] в одну строку, под ними счётчик, потом сетка */
  .ch-catalog__cols { display: grid !important; grid-template-columns: 1fr 1fr; gap: 10px 10px; margin-top: 20px; }
  .ch-catalog__cols > .ch-filters { grid-column: 1; flex: none; width: auto; min-width: 0; }
  .ch-catalog__cols > .ch-catalog__main { display: contents; }
  /* «Подреди» — сама группа рисуется как кнопка-пилюля, а настоящий <select> лежит поверх невидимым:
     тап открывает системный список сортировки */
  .ch-catalog__cols .ch-catalog__bar { grid-column: 2; margin: 0; position: relative; min-width: 0; box-sizing: border-box; height: 48px; border: 1.5px solid #171717; border-radius: 999px; background: #fff; display: flex; align-items: center; justify-content: center !important; gap: 8px !important; font-size: 14px; font-weight: 700; color: #171717; overflow: hidden; }
  .ch-catalog__cols .ch-catalog__bar::before { content: "Подреди"; }
  .ch-catalog__cols .ch-catalog__bar::after { content: ""; width: 8px; height: 8px; border-right: 2px solid #171717; border-bottom: 2px solid #171717; transform: translateY(-2px) rotate(45deg); }
  .ch-catalog__bar .wc-block-catalog-sorting, .ch-catalog__bar .woocommerce-ordering { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; }
  .ch-catalog__bar select.orderby { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; padding: 0; border: 0; opacity: 0; cursor: pointer; -webkit-appearance: none; appearance: none; }
  .ch-count--mobile { display: block; grid-column: 1 / -1; font-size: 14px; font-weight: 700; color: #171717; margin: 4px 0 2px; }
  .ch-catalog__head .ch-count { display: none; }
  .ch-catalog__cols > .ch-catalog__main > .wp-block-woocommerce-product-collection { grid-column: 1 / -1; }
}
@media (max-width: 782px) {
  .ch-subcats { overflow-x: auto; flex-wrap: nowrap; padding-bottom: 6px; -webkit-overflow-scrolling: touch; }
  .ch-subcats a { white-space: nowrap; font-size: 13px; padding: 9px 14px; }
  .ch-catalog__main .wp-block-woocommerce-product-collection .wc-block-product-template { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ch-seo { padding: 20px; border-radius: 16px; margin-top: 28px; }
}

/* ==========================================================================
   13. Страница товара
   ========================================================================== */
.ch-product__cols { margin-top: 20px; gap: 48px; }
.ch-product__gallery .woocommerce-product-gallery { margin: 0; }
.ch-product__gallery .woocommerce-product-gallery__wrapper { background: #F4F4F6; border-radius: 24px; overflow: hidden; }
.ch-product__gallery .woocommerce-product-gallery__image img { padding: 40px; box-sizing: border-box; object-fit: contain; }
.ch-product__gallery .flex-control-thumbs { display: flex; gap: 10px; margin-top: 12px !important; }
.ch-product__gallery .flex-control-thumbs li { width: 88px !important; height: 88px; border-radius: 14px; background: #F4F4F6; border: 2px solid transparent; overflow: hidden; margin: 0; float: none; }
.ch-product__gallery .flex-control-thumbs li img { opacity: 1; padding: 8px; box-sizing: border-box; object-fit: contain; height: 100%; }
.ch-product__gallery .flex-control-thumbs li img.flex-active { border: 0; }
.ch-product__gallery .flex-control-thumbs li:has(img.flex-active) { border-color: #171717; }
.ch-product__gallery .woocommerce-product-gallery__trigger { right: 16px; top: 16px; border-radius: 999px; }
.ch-product__title { font-size: clamp(1.5rem, 2.5vw, 1.875rem); line-height: 1.2; margin: 0 0 10px; }
.ch-product__meta { gap: 14px !important; font-size: 13px; color: #6B7280; margin-bottom: 20px; }
.wc-block-components-product-rating { margin: 0; }
.wc-block-components-product-rating .wc-block-components-product-rating__stars, .star-rating { color: #FF4D12; }
.wc-block-components-product-rating__stars span::before, .star-rating span::before { color: #FF4D12; }
.wc-block-components-product-rating .wc-block-components-product-rating__link { color: #6B7280; }
.wp-block-woocommerce-product-sku { font-size: 13px; color: #6B7280; }
.ch-product__info .wp-block-post-excerpt { font-size: 15px; color: #4B5563; margin: 0 0 20px; }
.ch-buybox { border: 1px solid #E6E6EA; border-radius: 20px; padding: 20px; }
.ch-buybox .wc-block-components-product-price { font-size: 34px; font-weight: 800; letter-spacing: -0.02em; display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap; margin: 0 0 8px; }
.ch-buybox .wc-block-components-product-price del, .ch-buybox .wc-block-components-product-price .wc-block-components-product-price__regular { font-size: 16px; font-weight: 500; color: #6B7280; order: 2; }
.ch-buybox .wc-block-components-product-price ins { text-decoration: none; }
.ch-buybox .wc-block-components-product-stock-indicator { margin-bottom: 14px; }
.wp-block-woocommerce-add-to-cart-form form.cart { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; margin: 0; }
.wp-block-woocommerce-add-to-cart-form .quantity { display: inline-flex; align-items: center; }
.wp-block-woocommerce-add-to-cart-form .quantity .qty { height: 54px; width: 76px; border: 1.5px solid #E6E6EA; border-radius: 999px; text-align: center; font-weight: 700; font-size: 16px; }
.wp-block-woocommerce-add-to-cart-form .single_add_to_cart_button {
  flex: 1 1 220px; height: 54px; font-size: 16px; background: #FF4D12; color: #171717; border: 0; display: inline-flex; align-items: center; justify-content: center; gap: 10px; padding: 0 24px;
}
.wp-block-woocommerce-add-to-cart-form .single_add_to_cart_button:hover { background: #D93D08; }
.wp-block-woocommerce-add-to-cart-form .single_add_to_cart_button::before {
  content: ""; width: 20px; height: 20px;
  background: no-repeat center / contain url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23171717' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><path d='M3 4h2l2.4 11.2a1.5 1.5 0 0 0 1.5 1.3h8.6a1.5 1.5 0 0 0 1.5-1.2L21 8H6.5'/><circle cx='9.5' cy='20' r='1.3'/><circle cx='17.5' cy='20' r='1.3'/></svg>");
}
/* Выбор модели: подпись над полем, поле на всю ширину, своя стрелка */
.wp-block-woocommerce-add-to-cart-form .variations { width: 100%; margin: 0 0 14px; border-collapse: collapse; }
.wp-block-woocommerce-add-to-cart-form .variations tbody, .wp-block-woocommerce-add-to-cart-form .variations tr,
.wp-block-woocommerce-add-to-cart-form .variations th, .wp-block-woocommerce-add-to-cart-form .variations td { display: block; width: 100%; padding: 0; box-sizing: border-box; }
.wp-block-woocommerce-add-to-cart-form .variations tr + tr { margin-top: 12px; }
.wp-block-woocommerce-add-to-cart-form .variations th { font-size: 13px; font-weight: 700; color: #171717; text-align: left; margin: 0 0 8px; }
.wp-block-woocommerce-add-to-cart-form .variations th label { cursor: pointer; }
.wp-block-woocommerce-add-to-cart-form .variations td.value { position: relative; }
.wp-block-woocommerce-add-to-cart-form .variations select {
  width: 100%; min-width: 0; max-width: 100%; height: 52px; margin: 0; box-sizing: border-box;
  border: 1.5px solid #E6E6EA; border-radius: 999px; padding: 0 52px 0 22px;
  font-family: inherit; font-size: 16px; font-weight: 600; color: #171717; line-height: normal; cursor: pointer;
  -webkit-appearance: none; appearance: none;
  background: #fff no-repeat right 20px center / 16px url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23171717' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'><path d='M6 9l6 6 6-6'/></svg>");
  transition: border-color .15s ease;
}
.wp-block-woocommerce-add-to-cart-form .variations select:hover { border-color: #C9C9CF; }
.wp-block-woocommerce-add-to-cart-form .variations select:focus { outline: 0; border-color: #171717; }
.wp-block-woocommerce-add-to-cart-form .reset_variations { display: block; text-align: right; margin: 6px 4px 0 0; font-size: 12px; color: #6B7280; text-decoration: underline; text-underline-offset: 3px; }
.wp-block-woocommerce-add-to-cart-form .reset_variations[style*="hidden"] { display: none; }
/* Компактнее: без пустот между кнопками модели, наличием и кнопкой «Добави» */
.woocommerce div.product form.cart .variations, .wp-block-woocommerce-add-to-cart-form .variations { margin: 0 0 2px !important; }
.wp-block-woocommerce-add-to-cart-form form.variations_form .single_variation_wrap { gap: 6px; margin: 0; }
.wp-block-woocommerce-add-to-cart-form .woocommerce-variation.single_variation { margin: 0 !important; padding: 0; }
.wp-block-woocommerce-add-to-cart-form .woocommerce-variation-description:empty { display: none; }
.wp-block-woocommerce-add-to-cart-form .woocommerce-variation-description p:last-child { margin-bottom: 0; }
.wp-block-woocommerce-add-to-cart-form .woocommerce-variation-price { margin: 0 !important; }
.wp-block-woocommerce-add-to-cart-form .woocommerce-variation-availability { margin: 0; }
.wp-block-woocommerce-add-to-cart-form .woocommerce-variation-availability .stock { margin: 0 !important; display: inline-flex; align-items: center; gap: 6px; }
.wp-block-woocommerce-add-to-cart-form .woocommerce-variation-availability .in-stock::before { content: ""; width: 8px; height: 8px; border-radius: 999px; background: #15803D; display: inline-block; }
.wp-block-woocommerce-add-to-cart-form .woocommerce-variation-add-to-cart { margin-top: 6px !important; }
.wp-block-woocommerce-add-to-cart-form .reset_variations { margin: 2px 4px 0 0; }
/* Модель кнопками: select прячем (его значение ставит JS), кнопки — плитки */
.wp-block-woocommerce-add-to-cart-form .variations td.ch-has-swatches > select,
.wp-block-woocommerce-add-to-cart-form .variations td.value > select:has(+ .ch-swatches) { display: none; }
/* отступы ячеек от стилей WooCommerce (padding-bottom: block-gap) — убираем */
.wp-block-woocommerce-add-to-cart-form table.variations tr th, .wp-block-woocommerce-add-to-cart-form table.variations tr td { padding: 0; }
.wp-block-woocommerce-add-to-cart-form table.variations tr th { padding-bottom: 10px; }
.ch-swatches { display: flex; flex-wrap: wrap; gap: 8px; }
.ch-swatch {
  display: inline-flex; align-items: center; justify-content: center; min-height: 42px; padding: 0 16px;
  border: 1.5px solid #E6E6EA; border-radius: 12px; background: #fff; color: #171717;
  font-family: inherit; font-size: 14px; font-weight: 600; line-height: 1.2; cursor: pointer; white-space: nowrap;
  transition: border-color .15s ease, background .15s ease, color .15s ease;
}
.ch-swatch:hover { border-color: #171717; }
.ch-swatch.is-active { background: #171717; border-color: #171717; color: #fff; }
.ch-swatch.is-disabled { opacity: .4; text-decoration: line-through; cursor: not-allowed; }
.ch-swatch.is-disabled:hover { border-color: #E6E6EA; }
.ch-swatch:focus-visible { outline: 2px solid #FF4D12; outline-offset: 2px; }
@media (max-width: 782px) { .ch-swatches { gap: 6px; } .ch-swatch { min-height: 38px; padding: 0 12px; font-size: 13px; border-radius: 10px; } }
/* вариативный товар (выбор модели): цена/наличие выбранной модели, затем количество + кнопка в одну строку */
.wp-block-woocommerce-add-to-cart-form form.variations_form .single_variation_wrap { width: 100%; display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.wp-block-woocommerce-add-to-cart-form .woocommerce-variation.single_variation { width: 100%; }
.wp-block-woocommerce-add-to-cart-form .woocommerce-variation.single_variation:empty { display: none; }
.wp-block-woocommerce-add-to-cart-form .woocommerce-variation-price { margin: 0 0 4px; font-weight: 800; font-size: 22px; }
.wp-block-woocommerce-add-to-cart-form .woocommerce-variation-price del { font-size: 14px; font-weight: 500; color: #6B7280; }
.wp-block-woocommerce-add-to-cart-form .woocommerce-variation-price ins { text-decoration: none; }
.wp-block-woocommerce-add-to-cart-form .woocommerce-variation-availability .stock { margin: 0 0 4px; font-size: 14px; font-weight: 600; }
.wp-block-woocommerce-add-to-cart-form .woocommerce-variation-availability .in-stock { color: #15803D; }
.wp-block-woocommerce-add-to-cart-form .woocommerce-variation-availability .out-of-stock { color: #DC2626; }
.wp-block-woocommerce-add-to-cart-form .woocommerce-variation-add-to-cart { display: flex; flex: 1 1 auto; flex-wrap: wrap; align-items: center; gap: 10px; }
.wp-block-woocommerce-add-to-cart-form .woocommerce-variation-add-to-cart .single_add_to_cart_button { flex: 1 1 220px; }
.wp-block-woocommerce-add-to-cart-form .woocommerce-variation-add-to-cart-disabled .single_add_to_cart_button { opacity: .5; pointer-events: none; }
.ch-paymethods { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; font-size: 12px; color: #6B7280; margin: 14px 0 0; }
.ch-paymethods span { border: 1px solid #E6E6EA; border-radius: 6px; padding: 3px 8px; font-weight: 700; color: #171717; }
.ch-delivery { margin-top: 20px; display: flex; flex-direction: column; gap: 12px; }
.ch-delivery__title { font-size: 15px; font-weight: 700; margin: 0; }
.ch-delivery__row { display: flex; align-items: center; gap: 12px; font-size: 14px; }
.ch-delivery__icon { width: 36px; height: 36px; border-radius: 10px; background: #F4F4F6; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; }
.ch-delivery__icon img { width: 20px; height: 20px; }
.ch-delivery__body { flex: 1; display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.ch-delivery__body small { color: #6B7280; font-size: 14px; }
.ch-delivery__price { font-weight: 600; white-space: nowrap; }
.ch-delivery__price--free { color: #15803D; }
.wp-block-woocommerce-product-meta { margin-top: 20px; font-size: 13px; color: #6B7280; }
.wp-block-woocommerce-product-meta a { color: #171717; text-decoration: underline; }
/* табы «Описание / Характеристики / Отзиви» */
.wp-block-woocommerce-product-details { margin-top: 48px; }
.wp-block-woocommerce-product-details .wc-tabs, .woocommerce-tabs ul.tabs { display: flex; gap: 28px; border-bottom: 1px solid #E6E6EA; margin: 0 0 24px; padding: 0; overflow-x: auto; }
.woocommerce-tabs ul.tabs::before, .woocommerce-tabs ul.tabs::after { display: none; }
.woocommerce-tabs ul.tabs li { background: transparent; border: 0; border-bottom: 3px solid transparent; border-radius: 0; margin: 0; padding: 0; box-shadow: none; }
.woocommerce-tabs ul.tabs li::before, .woocommerce-tabs ul.tabs li::after { display: none; }
.woocommerce-tabs ul.tabs li a { padding: 14px 4px; font-size: 15px; font-weight: 600; color: #6B7280; white-space: nowrap; }
.woocommerce-tabs ul.tabs li.active { border-bottom-color: #FF4D12; }
.woocommerce-tabs ul.tabs li.active a { color: #171717; }
.woocommerce-tabs .panel { font-size: 15px; line-height: 1.65; color: #374151; }
.woocommerce-tabs .panel h2:first-child { font-size: 24px; margin-top: 0; }
.woocommerce-tabs table.shop_attributes { border: 1px solid #E6E6EA; border-radius: 16px; overflow: hidden; border-collapse: separate; border-spacing: 0; max-width: 560px; }
.woocommerce-tabs table.shop_attributes th, .woocommerce-tabs table.shop_attributes td { padding: 12px 20px; border-top: 1px solid #E6E6EA; border-bottom: 0; background: transparent; font-size: 14px; }
.woocommerce-tabs table.shop_attributes tr:first-child th, .woocommerce-tabs table.shop_attributes tr:first-child td { border-top: 0; }
.woocommerce-tabs table.shop_attributes th { font-weight: 500; color: #6B7280; width: 45%; }
.woocommerce-tabs table.shop_attributes td { font-weight: 600; }
.woocommerce-tabs table.shop_attributes td p { margin: 0; }
#reviews .commentlist { list-style: none; padding: 0; margin: 0 0 24px; }
#reviews .commentlist li { border: 1px solid #E6E6EA; border-radius: 20px; padding: 20px 24px; margin: 0 0 12px; }
#reviews .commentlist li .comment_container { display: flex; gap: 14px; }
#reviews .commentlist li img.avatar { width: 40px; height: 40px; border-radius: 999px; }
#reviews .comment-reply-title { font-size: 20px; font-weight: 800; display: block; margin-bottom: 12px; }
#reviews .comment-form input[type="text"], #reviews .comment-form input[type="email"], #reviews .comment-form textarea { width: 100%; border: 1px solid #E6E6EA; border-radius: 12px; padding: 10px 14px; }
#reviews .comment-form .submit { background: #171717; color: #fff; }
.wc-block-related-products h2, .ch-related h2 { font-size: clamp(1.5rem, 2.5vw, 1.875rem); margin: 48px 0 24px; }
.wc-block-related-products .products-block-post-template { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; list-style: none; padding: 0; margin: 0; }
/* WP добавляет карточкам (кроме первой) отступ сверху как «потоку» блоков — в сетке он делал первую карточку выше */
.wc-block-related-products .products-block-post-template > li { margin: 0 !important; }
@media (max-width: 1024px) {
  .ch-product__cols { gap: 24px; }
  .wc-block-related-products .products-block-post-template { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 782px) {
  .ch-product__cols { flex-direction: column; gap: 16px; margin-top: 12px; }
  .ch-product__cols .wp-block-column { flex-basis: auto !important; }
  .ch-product__gallery .woocommerce-product-gallery__image img { padding: 20px; }
  .ch-product__gallery .flex-control-thumbs li { width: 64px !important; height: 64px; }
  .ch-buybox { padding: 16px; border-radius: 18px; }
  .ch-buybox .wc-block-components-product-price { font-size: 30px; }
  .wp-block-woocommerce-add-to-cart-form .single_add_to_cart_button { width: 100%; }
  .wp-block-woocommerce-add-to-cart-form .variations select { height: 50px; font-size: 16px; }
  .wc-block-related-products .products-block-post-template { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .wp-block-woocommerce-product-details { margin-top: 28px; }
}

/* ==========================================================================
   14. Корзина, оформление, аккаунт (WooCommerce blocks)
   ========================================================================== */
/* Количка и Поръчка — на всю ширину экрана (контент, шапка и подвал на этих страницах) */
:root { --ch-summary-w: clamp(360px, 40%, 720px); --ch-summary-gap: clamp(40px, 4vw, 72px); }
.ch-cart-page > .alignwide, .ch-checkout-page > .alignwide,
body.woocommerce-cart .ch-header__row > .ch-header__inner, body.woocommerce-checkout .ch-header__row > .ch-header__inner,
body.woocommerce-cart .ch-footer > .ch-footer__cols, body.woocommerce-checkout .ch-footer > .ch-footer__cols,
body.woocommerce-cart .ch-footer > .ch-footer__bottom, body.woocommerce-checkout .ch-footer > .ch-footer__bottom { max-width: none !important; }

.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout { margin-top: 24px; }
/* итоги корзины — светлая карточка у правого края, той же ширины, что итоги на оформлении */
.wc-block-cart .wc-block-components-sidebar-layout { column-gap: var(--ch-summary-gap); }
.wc-block-cart.is-large .wc-block-components-sidebar { flex: 0 0 var(--ch-summary-w); width: var(--ch-summary-w); }
.wc-block-cart .wc-block-components-sidebar { background: #F7F7F9; border-radius: 20px; padding: 16px 28px 28px; box-sizing: border-box; }
.wc-block-cart .wc-block-components-sidebar .wc-block-components-totals-wrapper { border-color: #E3E3E8; }
.wc-block-cart .wc-block-components-sidebar .wc-block-components-totals-coupon .wc-block-components-text-input input { background: #fff; }
.wc-block-cart.is-medium .wc-block-components-sidebar, .wc-block-cart.is-small .wc-block-components-sidebar, .wc-block-cart.is-mobile .wc-block-components-sidebar { padding: 12px 20px 24px; }
.wc-block-components-sidebar-layout .wc-block-components-totals-wrapper, .wc-block-components-order-summary { font-size: 15px; }
.wc-block-cart .wc-block-components-product-name { font-weight: 600; }
.wc-block-components-text-input input, .wc-block-components-select .components-custom-select-control__button, .wc-block-components-country-input input { border-radius: 12px !important; }
.wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button { background: #FF4D12 !important; color: #171717 !important; border: 0 !important; }
.wc-block-cart__submit-button:hover, .wc-block-components-checkout-place-order-button:hover { background: #D93D08 !important; }
.wc-block-components-radio-control__option { border-radius: 12px; }
.wc-block-components-radio-control__input:checked { border-color: #FF4D12 !important; }
.wc-block-components-radio-control__input:checked::before { background: #FF4D12 !important; }
.woocommerce .button, .woocommerce button.button { background: #171717; color: #fff; }
.woocommerce .button:hover { background: #333; }
.woocommerce-message, .woocommerce-info, .woocommerce-error, .wc-block-components-notice-banner { border-radius: 14px; }

/* ==========================================================================
   14b. Личный кабинет «Моят профил» (как на iCases): карточка клиента и разделы слева, содержимое справа
   ========================================================================== */
body.woocommerce-account .ch-page { max-width: 1200px; }
body.woocommerce-account .ch-page > .wp-block-post-title { display: none; }
body.woocommerce-account .ch-page .wp-block-post-content { font-size: 15px; color: #171717; }
.woocommerce-account .woocommerce:has(> .woocommerce-MyAccount-navigation) { display: grid; grid-template-columns: 380px minmax(0, 1fr); grid-template-rows: auto 1fr; column-gap: 40px; row-gap: 16px; align-items: start; }
/* clearfix-псевдоэлементы WooCommerce (::before/::after) становились ячейками сетки и сдвигали колонки */
.woocommerce-account .woocommerce::before, .woocommerce-account .woocommerce::after, .woocommerce-account #customer_login::before, .woocommerce-account #customer_login::after, .woocommerce-account .woocommerce-Addresses::before, .woocommerce-account .woocommerce-Addresses::after { display: none !important; content: none !important; }
.woocommerce-account .woocommerce > .woocommerce-notices-wrapper { grid-column: 1 / -1; }
.woocommerce-account .woocommerce > .woocommerce-notices-wrapper:empty { display: none; }
.woocommerce-account .woocommerce-MyAccount-navigation { float: none !important; width: auto !important; grid-column: 1; grid-row: 2; }
.woocommerce-account .woocommerce:has(> .woocommerce-MyAccount-navigation):not(:has(> .ch-account__card)) .woocommerce-MyAccount-navigation { grid-row: 1 / span 2; }
.woocommerce-account .woocommerce-MyAccount-content { float: none !important; width: auto !important; grid-column: 2; grid-row: 1 / span 2; min-width: 0; }
/* карточка клиента */
.ch-account__card { grid-column: 1; grid-row: 1; display: flex; gap: 20px; align-items: center; background: #F7F7F9; border-radius: 20px; padding: 24px; }
.ch-account__avatar { flex-shrink: 0; width: 84px; height: 84px; border-radius: 50%; background: #FF4D12; color: #171717; font-size: 30px; font-weight: 800; display: flex; align-items: center; justify-content: center; letter-spacing: .5px; }
.ch-account__who { min-width: 0; }
.ch-account__name { font-size: 18px; font-weight: 700; margin-bottom: 10px; overflow-wrap: anywhere; }
.ch-account__meta { font-size: 14px; color: #171717; margin-top: 6px; overflow-wrap: anywhere; }
.ch-account__meta span { display: block; font-size: 12px; color: #6B7280; font-weight: 600; }
.ch-account__meta em { color: #9CA3AF; font-style: normal; }
/* разделы */
.woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 10px; --ch-ico: none; }
.woocommerce-MyAccount-navigation li { margin: 0; }
.woocommerce-MyAccount-navigation li a { display: flex; align-items: center; gap: 14px; min-height: 64px; padding: 12px 20px; border-radius: 16px; background: #F7F7F9; color: #171717; font-size: 17px; font-weight: 500; text-decoration: none; transition: background .15s ease; }
.woocommerce-MyAccount-navigation li a::before { content: ""; flex-shrink: 0; width: 24px; height: 24px; background: currentColor; -webkit-mask: var(--ch-ico) center / contain no-repeat; mask: var(--ch-ico) center / contain no-repeat; opacity: .55; }
.woocommerce-MyAccount-navigation li a::after { content: ""; margin-left: auto; width: 9px; height: 9px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(-45deg); opacity: .45; }
.woocommerce-MyAccount-navigation li a:hover { background: #EFEFF2; }
.woocommerce-MyAccount-navigation li.is-active a { background: #FF4D12; color: #171717; font-weight: 700; }
.woocommerce-MyAccount-navigation li.is-active a::before, .woocommerce-MyAccount-navigation li.is-active a::after { opacity: 1; }
.woocommerce-MyAccount-navigation-link--edit-account a { --ch-ico: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='8' r='4'/><path d='M4.5 20.5a7.5 7.5 0 0 1 15 0'/></svg>"); }
.woocommerce-MyAccount-navigation-link--orders a { --ch-ico: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M3 4h2l2.4 11.2a1.5 1.5 0 0 0 1.5 1.3h8.6a1.5 1.5 0 0 0 1.5-1.2L21 8H6.5'/><circle cx='9.5' cy='20' r='1.2'/><circle cx='17' cy='20' r='1.2'/></svg>"); }
.woocommerce-MyAccount-navigation-link--edit-address a { --ch-ico: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M12 3 4 7v10l8 4 8-4V7z'/><path d='M4 7l8 4 8-4M12 11v10'/></svg>"); }
.woocommerce-MyAccount-navigation-link--dashboard a { --ch-ico: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M3.5 11 12 4l8.5 7'/><path d='M6 10v10h12V10'/></svg>"); }
.woocommerce-MyAccount-navigation-link--downloads a, .woocommerce-MyAccount-navigation-link--payment-methods a, .woocommerce-MyAccount-navigation-link--subscriptions a { --ch-ico: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><rect x='4' y='4' width='16' height='16' rx='2.5'/><path d='M8 9h8M8 12.5h8M8 16h4.5'/></svg>"); }
.woocommerce-MyAccount-navigation-link--customer-logout a { --ch-ico: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M10 4H6.5A2.5 2.5 0 0 0 4 6.5v11A2.5 2.5 0 0 0 6.5 20H10'/><path d='M14 8l4 4-4 4M9 12h9'/></svg>"); }
/* содержимое */
body.woocommerce-account .wp-block-post-content .ch-account__title { font-size: clamp(1.6rem, 2.6vw, 2.1rem); font-weight: 800; margin: 2px 0 22px; }
body.woocommerce-account .wp-block-post-content .woocommerce-MyAccount-content h2:not(.ch-account__title), body.woocommerce-account .wp-block-post-content .woocommerce-MyAccount-content h3 { font-size: 20px; font-weight: 700; margin: 24px 0 12px; }
body.woocommerce-account .wp-block-post-content a { text-decoration: none; }
body.woocommerce-account .wp-block-post-content .woocommerce-MyAccount-content p a:not(.button), body.woocommerce-account .wp-block-post-content .woocommerce-privacy-policy-text a { text-decoration: underline; text-underline-offset: 3px; }
.woocommerce-MyAccount-content > p:first-of-type { margin-top: 0; }
/* формы кабинета: подпись над полем, поле — серая таблетка */
.woocommerce-account .woocommerce form .form-row { float: none; width: auto; margin: 0 0 16px; padding: 0; }
.woocommerce-account .woocommerce form .form-row label { display: block; font-size: 14px; color: #6B7280; font-weight: 500; margin-bottom: 6px; line-height: 1.3; }
.woocommerce-account .woocommerce form .form-row label .required { color: #DC2626; text-decoration: none; }
.woocommerce-account .woocommerce form .form-row .input-text, .woocommerce-account .woocommerce form .form-row select, .woocommerce-account .woocommerce form .form-row textarea, .woocommerce-account .woocommerce form .form-row .select2-container .select2-selection--single {
  display: block; width: 100%; box-sizing: border-box; height: 56px; padding: 0 18px; margin: 0; border: 1.5px solid #F4F4F6; border-radius: 14px; background: #F4F4F6; font-family: inherit; font-size: 16px; color: #171717; outline: 0; transition: border-color .15s, background .15s;
}
.woocommerce-account .woocommerce form .form-row .input-text:focus { border-color: #FF4D12; background: #fff; }
.woocommerce-account .woocommerce form .form-row .input-text::placeholder { color: #9CA3AF; }
.woocommerce-account .woocommerce form .form-row.woocommerce-invalid .input-text { border-color: #DC2626; }
.woocommerce-account .woocommerce form .password-input { display: block; position: relative; }
.woocommerce-account .woocommerce form .password-input .show-password-input { top: 50%; right: 16px; transform: translateY(-50%); margin: 0; }
.woocommerce-account .woocommerce form .form-row .ch-hidden-field, .woocommerce-account .woocommerce form .form-row.ch-hidden-field { display: none; }
.woocommerce-account .woocommerce form .select2-container .select2-selection--single { line-height: 54px; }
.woocommerce-account .woocommerce form .select2-container .select2-selection--single .select2-selection__rendered { line-height: 54px; padding-left: 0; }
.woocommerce-account .woocommerce form .select2-container .select2-selection--single .select2-selection__arrow { height: 54px; right: 10px; }
/* Лична информация */
.woocommerce-EditAccountForm { display: grid; grid-template-columns: 1fr 1fr; column-gap: 16px; }
.woocommerce-EditAccountForm > * { grid-column: 1 / -1; }
.woocommerce-EditAccountForm > .form-row-first { grid-column: 1; order: 1; }
.woocommerce-EditAccountForm > .form-row-last { grid-column: 2; order: 2; }
.woocommerce-EditAccountForm > .ch-account__phone { order: 3; }
.woocommerce-EditAccountForm > .form-row:has(#account_email) { order: 4; }
.woocommerce-EditAccountForm > .form-row:has(#account_display_name) { display: none; }
.woocommerce-EditAccountForm > .ch-account__pass-toggle { order: 5; }
.woocommerce-EditAccountForm > fieldset { order: 6; }
.woocommerce-EditAccountForm > p:has(.woocommerce-Button) { order: 7; }
.woocommerce-EditAccountForm > .clear { display: none; }
.ch-account__pass-toggle { justify-self: start; display: inline-flex; align-items: center; gap: 8px; margin: 0 0 18px; padding: 0; border: 0; background: none; color: #D93D08; font-family: inherit; font-size: 15px; font-weight: 700; cursor: pointer; }
.ch-account__pass-toggle::after { content: ""; width: 8px; height: 8px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: translateY(-2px) rotate(45deg); transition: transform .2s; }
.ch-account__pass-toggle.is-open::after { transform: translateY(2px) rotate(-135deg); }
.woocommerce-EditAccountForm > fieldset { display: none; border: 0; padding: 20px; margin: 0 0 18px; background: #F7F7F9; border-radius: 16px; }
.woocommerce-EditAccountForm.ch-pass-open > fieldset { display: block; }
.woocommerce-EditAccountForm > fieldset legend { font-size: 15px; font-weight: 700; padding: 0; margin-bottom: 4px; float: left; width: 100%; }
.woocommerce-account .woocommerce form.woocommerce-EditAccountForm > fieldset .form-row .input-text { background: #fff; border-color: #E6E6EA; }
.woocommerce-EditAccountForm > fieldset .form-row:last-child { margin-bottom: 0; }
/* кнопки */
.woocommerce-account .woocommerce .woocommerce-Button, .woocommerce-account .woocommerce button.button[name="save_address"], .woocommerce-account .woocommerce .woocommerce-form-login__submit, .woocommerce-account .woocommerce .woocommerce-form-register__submit, .woocommerce-account .woocommerce .woocommerce-ResetPassword .woocommerce-Button {
  display: flex; width: 100%; align-items: center; justify-content: center; height: 56px; padding: 0 24px; border: 0; border-radius: 999px; background: #FF4D12; color: #171717; font-family: inherit; font-size: 16px; font-weight: 700; cursor: pointer; transition: background .15s;
}
.woocommerce-account .woocommerce .woocommerce-Button:hover, .woocommerce-account .woocommerce button.button[name="save_address"]:hover, .woocommerce-account .woocommerce .woocommerce-form-login__submit:hover, .woocommerce-account .woocommerce .woocommerce-form-register__submit:hover { background: #D93D08; color: #171717; }
/* Моите поръчки */
.woocommerce-account table.shop_table.woocommerce-orders-table { width: 100%; border: 0; border-radius: 0; border-collapse: separate; border-spacing: 0 8px; margin: 0; font-size: 15px; }
.woocommerce-account table.shop_table.woocommerce-orders-table thead th { padding: 0 18px 2px; border: 0; background: transparent; font-size: 13px; font-weight: 600; color: #6B7280; text-align: left; }
.woocommerce-account .woocommerce-orders-table tbody th, .woocommerce-account .woocommerce-orders-table tbody td { padding: 16px 18px; border: 0; background: #F7F7F9; vertical-align: middle; text-align: left; }
.woocommerce-account .woocommerce-orders-table tbody tr > :first-child { border-radius: 16px 0 0 16px; }
.woocommerce-account .woocommerce-orders-table tbody tr > :last-child { border-radius: 0 16px 16px 0; }
.woocommerce-account .woocommerce-orders-table__cell-order-number a { font-weight: 700; color: #171717; text-decoration: none; }
.woocommerce-account .woocommerce-orders-table__cell-order-actions { text-align: right !important; }
.woocommerce-account .woocommerce-orders-table .button { display: inline-flex; align-items: center; height: 40px; padding: 0 18px; margin: 0 0 0 6px; border: 1.5px solid #171717; border-radius: 999px; background: transparent; color: #171717; font-size: 14px; font-weight: 700; text-decoration: none; }
.woocommerce-account .woocommerce-orders-table .button:hover { background: #171717; color: #fff; }
.woocommerce-account .woocommerce-orders-table .button.pay { background: #FF4D12; border-color: #FF4D12; }
.woocommerce-account .woocommerce-pagination { margin-top: 16px; display: flex; gap: 8px; }
.woocommerce-account .woocommerce-pagination .button { border-radius: 999px; padding: 10px 18px; }
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message, .woocommerce-account .woocommerce-MyAccount-content .woocommerce-info { background: #F4F4F6; border: 0; border-radius: 14px; padding: 16px 20px; margin: 0 0 20px; color: #171717; }
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info .button, .woocommerce-account .woocommerce-MyAccount-content .woocommerce-message .button { border-radius: 999px; background: #171717; color: #fff; padding: 9px 16px; font-weight: 600; }
/* Поръчка № (view-order) */
.woocommerce-account .woocommerce-order-details, .woocommerce-account .woocommerce-customer-details { margin-top: 24px; }
.woocommerce-account table.shop_table.order_details, .woocommerce-account table.shop_table.woocommerce-table--order-details { width: 100%; border: 1px solid #E6E6EA; border-radius: 16px; border-collapse: separate; border-spacing: 0; overflow: hidden; font-size: 15px; }
.woocommerce-account table.shop_table.order_details th, .woocommerce-account table.shop_table.order_details td, .woocommerce-account table.shop_table.woocommerce-table--order-details th, .woocommerce-account table.shop_table.woocommerce-table--order-details td { padding: 12px 16px; border-top: 1px solid #E6E6EA; border-left: 0; border-right: 0; border-bottom: 0; text-align: left; }
.woocommerce-account table.shop_table.order_details thead th, .woocommerce-account table.shop_table.woocommerce-table--order-details thead th { background: #F7F7F9; border-top: 0 !important; font-size: 13px; color: #6B7280; }
.woocommerce-account .woocommerce-customer-details address { border: 1px solid #E6E6EA; border-radius: 16px; padding: 16px 20px; font-style: normal; line-height: 1.6; }
/* Адреси за доставка */
.woocommerce-account .woocommerce-Addresses { display: grid; grid-template-columns: 1fr; gap: 16px; }
.woocommerce-account .woocommerce-Address { float: none !important; width: auto !important; max-width: 520px; background: #F7F7F9; border-radius: 20px; padding: 24px; }
.woocommerce-account .woocommerce-Address-title { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.woocommerce-account .woocommerce-Address-title h2 { font-size: 18px !important; margin: 0 !important; }
.woocommerce-account .woocommerce-Address-title .edit { display: inline-flex; align-items: center; height: 36px; padding: 0 16px; border: 1.5px solid #171717; border-radius: 999px; color: #171717; font-size: 14px; font-weight: 700; text-decoration: none; }
.woocommerce-account .woocommerce-Address-title .edit:hover { background: #171717; color: #fff; }
.woocommerce-account .woocommerce-Address address { font-style: normal; font-size: 15px; line-height: 1.7; }
.woocommerce-account .woocommerce-address-fields .form-row-first, .woocommerce-account .woocommerce-address-fields .form-row-last { width: calc(50% - 8px); float: left; }
.woocommerce-account .woocommerce-address-fields .form-row-last { float: right; }
.woocommerce-account .woocommerce-address-fields__field-wrapper::after { content: ""; display: table; clear: both; }
.woocommerce-account .woocommerce-address-fields > h2 { display: none; }
.woocommerce-account .woocommerce-address-fields > p:last-child { max-width: 420px; }
/* Вход / регистрация (не влязъл) */
.woocommerce-account #customer_login { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; max-width: 1040px; margin: 0 auto; }
.woocommerce-account #customer_login > .u-column1, .woocommerce-account #customer_login > .u-column2 { float: none !important; width: auto !important; background: #F7F7F9; border-radius: 24px; padding: 32px; }
body.woocommerce-account .wp-block-post-content #customer_login h2 { font-size: 24px; font-weight: 800; margin: 0 0 18px; }
.woocommerce-account #customer_login .form-row .input-text { background: #fff; border-color: #E6E6EA; }
.woocommerce-account #customer_login .form-row .input-text:focus { border-color: #FF4D12; }
.woocommerce-account .woocommerce-form-login__rememberme { display: flex; align-items: center; gap: 10px; margin: 0 0 16px; font-size: 15px; color: #171717 !important; font-weight: 500 !important; }
.woocommerce-account .woocommerce-form-login__rememberme input { margin: 0; }
.woocommerce-account .woocommerce-LostPassword { margin: 14px 0 0; font-size: 14px; }
body.woocommerce-account .wp-block-post-content .woocommerce-LostPassword a { color: #D93D08; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
body.woocommerce-account .woocommerce form.woocommerce-form-login.login, body.woocommerce-account .woocommerce form.register, body.woocommerce-account .woocommerce form.login { border: 0; border-radius: 0; padding: 0; margin: 0; max-width: none; }
.woocommerce-account .woocommerce-privacy-policy-text { font-size: 13px; color: #6B7280; line-height: 1.5; }
.woocommerce-account .woocommerce-privacy-policy-text a { color: #171717; }
/* Вход через Google / Facebook / Apple */
.ch-social-login { margin-top: 18px; }
.ch-social-login__or { display: flex; align-items: center; gap: 12px; margin: 0 0 14px; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #6B7280; }
.ch-social-login__or::before, .ch-social-login__or::after { content: ""; flex: 1 1 auto; height: 1px; background: #E6E6EA; }
.ch-social-login__btns { display: grid; gap: 10px; }
.ch-social-login__btn { display: flex; align-items: center; justify-content: center; gap: 10px; height: 48px; padding: 0 18px; border-radius: 999px; box-sizing: border-box; font-size: 15px; font-weight: 700; text-decoration: none !important; transition: filter .15s, background .15s; }
.ch-social-login__btn:hover { filter: brightness(.95); }
.ch-social-login__mark { width: 26px; height: 26px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 14px; font-weight: 800; }
.ch-social-login__btn--google { background: #fff; border: 1.5px solid #E6E6EA; color: #171717; }
.ch-social-login__btn--google .ch-social-login__mark { background: #F4F4F6; color: #171717; }
.ch-social-login__btn--facebook { background: #1877F2; color: #fff; }
.ch-social-login__btn--facebook .ch-social-login__mark { background: rgba(255, 255, 255, .18); color: #fff; }
.ch-social-login__btn--apple { background: #171717; color: #fff; }
.ch-social-login__btn--apple .ch-social-login__mark { background: rgba(255, 255, 255, .16); color: #fff; }
body.woocommerce-account .wp-block-post-content .ch-social-login__btn { color: inherit; }
body.woocommerce-account .wp-block-post-content .ch-social-login__btn--google { color: #171717; }
body.woocommerce-account .wp-block-post-content .ch-social-login__btn--facebook, body.woocommerce-account .wp-block-post-content .ch-social-login__btn--apple { color: #fff; }
.ch-social-login--drawer { margin-top: 2px; }
.ch-social-login--drawer .ch-social-login__btns { grid-template-columns: repeat(auto-fit, minmax(96px, 1fr)); gap: 8px; }
.ch-social-login--drawer .ch-social-login__btn { height: 44px; padding: 0 10px; font-size: 14px; gap: 6px; }
.ch-social-login--drawer .ch-social-login__mark { width: 22px; height: 22px; font-size: 12px; }
.woocommerce form.woocommerce-form-login .ch-social-login { margin-top: 16px; }
.woocommerce-account .woocommerce-ResetPassword { max-width: 480px; margin: 0 auto; background: #F7F7F9; border-radius: 24px; padding: 32px; }
.woocommerce-account .woocommerce form.woocommerce-ResetPassword .form-row .input-text { background: #fff; border-color: #E6E6EA; }
.woocommerce-account .woocommerce-ResetPassword > p:first-child { margin-top: 0; }
@media (max-width: 900px) {
  .woocommerce-account .woocommerce:has(> .woocommerce-MyAccount-navigation) { grid-template-columns: 1fr; grid-template-rows: none; }
  .ch-account__card { grid-row: auto; }
  .woocommerce-account .woocommerce-MyAccount-navigation { grid-row: auto !important; }
  .woocommerce-account .woocommerce-MyAccount-content { grid-column: 1; grid-row: auto; }
  .ch-account__card { padding: 18px; gap: 16px; }
  .ch-account__avatar { width: 64px; height: 64px; font-size: 24px; }
  .woocommerce-MyAccount-navigation li a { min-height: 56px; font-size: 16px; }
  .woocommerce-account #customer_login { grid-template-columns: 1fr; gap: 20px; }
  .woocommerce-account #customer_login > .u-column1, .woocommerce-account #customer_login > .u-column2 { padding: 22px 18px; }
  .woocommerce-EditAccountForm { grid-template-columns: 1fr; }
  .woocommerce-EditAccountForm > .form-row-first, .woocommerce-EditAccountForm > .form-row-last { grid-column: 1; }
  .woocommerce-account .woocommerce-address-fields .form-row-first, .woocommerce-account .woocommerce-address-fields .form-row-last { width: auto; float: none; }
}
@media (max-width: 768px) {
  /* таблица поръчек — карточками */
  .woocommerce-account .woocommerce-orders-table thead { display: none; }
  .woocommerce-account .woocommerce-orders-table tbody tr { display: block; background: #F7F7F9; border-radius: 16px; padding: 6px 0; margin-bottom: 10px; }
  .woocommerce-account .woocommerce-orders-table tbody th, .woocommerce-account .woocommerce-orders-table tbody td { display: block; padding: 5px 16px; border: 0 !important; border-radius: 0 !important; background: transparent; text-align: right; }
  .woocommerce-account .woocommerce-orders-table tbody th::after, .woocommerce-account .woocommerce-orders-table tbody td::after { content: ""; display: table; clear: both; }
  .woocommerce-account .woocommerce-orders-table tbody td::before, .woocommerce-account .woocommerce-orders-table tbody th::before { content: attr(data-title); float: left; margin-right: 12px; font-size: 13px; color: #6B7280; font-weight: 600; line-height: 1.6; }
  .woocommerce-account .woocommerce-orders-table__cell-order-actions::before { display: none; }
  .woocommerce-account .woocommerce-orders-table .button { margin: 2px 0 4px 6px; }
}

/* ==========================================================================
   15. Обычные страницы
   ========================================================================== */
.ch-page { max-width: 820px; margin-left: auto; margin-right: auto; padding-top: 24px; }
.ch-page .wp-block-post-title { margin-bottom: 20px; }
.ch-page .wp-block-post-content { font-size: 16px; line-height: 1.7; color: #374151; }
.ch-page .wp-block-post-content h2 { margin-top: 1.6em; }
.ch-page .wp-block-post-content a { text-decoration: underline; text-underline-offset: 3px; }
.ch-page .wp-block-table table { border: 1px solid #E6E6EA; border-radius: 16px; border-collapse: separate; border-spacing: 0; overflow: hidden; }
.ch-page .wp-block-table td, .ch-page .wp-block-table th { border: 0; border-top: 1px solid #E6E6EA; padding: 12px 16px; }
.ch-page .wp-block-table tr:first-child td, .ch-page .wp-block-table tr:first-child th { border-top: 0; }
.ch-contact-card { background: #F4F4F6; border-radius: 20px; padding: 24px; }
.ch-404 { text-align: center; padding: 80px 0; }
.ch-404 h1 { font-size: 96px; line-height: 1; color: #FF4D12; margin: 0; }
.ch-archive-title { margin: 24px 0 8px; }
.ch-archive-grid .wp-block-post-template { gap: 16px; }
.ch-search-form .wp-block-search__inside-wrapper { border: 1px solid #E6E6EA; border-radius: 999px; padding: 4px 4px 4px 18px; }
.ch-search-form .wp-block-search__input { border: 0; }
.ch-search-form .wp-block-search__button { border-radius: 999px; background: #171717; color: #fff; border: 0; padding: 10px 20px; }

/* Шорткоды — сообщения, если что-то не настроено */
.ch-notice { background: #FFEDE5; border: 1px solid #FF4D12; border-radius: 12px; padding: 12px 16px; font-size: 14px; }

/* Скрыть лишнее от WooCommerce */
.woocommerce-store-notice { background: #171717; }
.wc-block-breadcrumbs { font-size: 13px; }

/* ==========================================================================
   16. Оформление на поръчка (класическа форма)
   Форма слева занимает всё свободное место, итоги справа — светлая карточка
   у правого края (ширина var(--ch-summary-w), как у итогов корзины).
   Селекторы нарочно «тяжёлые» (.woocommerce form.checkout …): стили WooCommerce
   могут подключаться после темы.
   ========================================================================== */
.ch-checkout-page .woocommerce { margin-top: 24px; }
/* WooCommerce в блочных темах зажимает классическое оформление до 1000px (woocommerce-blocktheme.css) — снимаем */
body.woocommerce-checkout main.ch-checkout-page .woocommerce, body.woocommerce-checkout main.ch-checkout-page .wp-block-post-title,
body.woocommerce-cart main.ch-cart-page .woocommerce, body.woocommerce-cart main.ch-cart-page .wp-block-post-title { max-width: none !important; }
.woocommerce-form-login-toggle, .woocommerce-form-coupon-toggle { margin-bottom: 10px; }
.woocommerce .woocommerce-form-login-toggle .woocommerce-info, .woocommerce .woocommerce-form-coupon-toggle .woocommerce-info { background: #F4F4F6; border: 0; border-radius: 14px; padding: 14px 18px; margin: 0; color: #171717; font-size: 15px; }
.woocommerce .woocommerce-info::before, .woocommerce .woocommerce-message::before, .woocommerce .woocommerce-error::before { display: none; }
.woocommerce-form-login-toggle .showlogin, .woocommerce-form-coupon-toggle .showcoupon { color: #D93D08; text-decoration: underline; text-underline-offset: 3px; font-weight: 600; }
.woocommerce form.checkout_coupon, .woocommerce form.woocommerce-form-login.login { border: 1px solid #E6E6EA; border-radius: 16px; padding: 20px; margin: 0 0 16px; max-width: 520px; }
.woocommerce form.checkout_coupon .form-row { margin: 0; }
.woocommerce .woocommerce-error, .woocommerce .woocommerce-NoticeGroup .woocommerce-error { background: #FEF2F2; border: 1px solid #DC2626; border-radius: 14px; padding: 14px 18px 14px 36px; color: #171717; }
.woocommerce .woocommerce-error li { margin: 4px 0; }

/* Сетка: форма + карточка итогов */
.woocommerce form.checkout.woocommerce-checkout { display: grid; grid-template-columns: minmax(0, 1fr) var(--ch-summary-w); grid-template-rows: auto auto; column-gap: var(--ch-summary-gap); row-gap: 0; align-items: start; margin: 8px 0 16px; }
.woocommerce form.checkout > .woocommerce-NoticeGroup { grid-column: 1 / -1; grid-row: 1; margin: 0 0 20px; }
.woocommerce form.checkout #customer_details { grid-column: 1; grid-row: 2; min-width: 0; }
.woocommerce form.checkout #order_review_heading { display: none; }
.woocommerce form.checkout #order_review { grid-column: 2; grid-row: 2; min-width: 0; box-sizing: border-box; background: #F7F7F9; border-radius: 20px; padding: 24px 28px 28px; }
.ch-review__title { margin: 0 0 4px; font-size: 14px; line-height: 1.4; font-weight: 500; letter-spacing: .02em; text-transform: uppercase; color: #171717; }
.woocommerce form.checkout .col2-set .col-1, .woocommerce form.checkout .col2-set .col-2 { width: 100%; float: none; }
.woocommerce-billing-fields > h3, .woocommerce-additional-fields > h3, .ch-courier > h3 { font-size: 22px; margin: 0 0 16px; }
.woocommerce-additional-fields { margin-top: 28px; }
.woocommerce-billing-fields__field-wrapper { display: grid; grid-template-columns: 1fr 1fr; gap: 6px 16px; }
.woocommerce form.checkout .form-row { margin: 0 0 12px; padding: 0; float: none; width: auto; }
.woocommerce form.checkout .form-row-first, .woocommerce form.checkout .form-row-last { width: auto; float: none; }
.woocommerce-billing-fields__field-wrapper > .form-row-wide, .woocommerce-billing-fields__field-wrapper > #ch-courier, .woocommerce-billing-fields__field-wrapper > .ch-hidden-field { grid-column: 1 / -1; }
.ch-hidden-field { display: none !important; }
.woocommerce form.checkout .form-row label { display: block; line-height: 1.4; font-weight: 600; font-size: 14px; margin-bottom: 6px; }
.woocommerce form.checkout .form-row label .required { color: #DC2626; text-decoration: none; border: 0; }
.woocommerce form.checkout .form-row label .optional { color: #6B7280; font-weight: 400; }
.woocommerce form.checkout .form-row .input-text, .woocommerce form.checkout .form-row select, .woocommerce form.checkout .form-row textarea,
.woocommerce form.woocommerce-form-login .form-row .input-text, .woocommerce form.checkout_coupon .form-row .input-text {
  display: block; width: 100%; height: 48px; margin: 0; border: 1px solid #E6E6EA; border-radius: 12px; padding: 0 14px; font-size: 15px; line-height: normal; font-family: inherit; color: #171717; background: #fff; box-sizing: border-box;
}
.woocommerce form.checkout .form-row textarea { height: 110px; padding: 12px 14px; resize: vertical; }
.woocommerce form.checkout .form-row .input-text:focus, .woocommerce form.checkout .form-row textarea:focus { outline: 2px solid #FF4D12; outline-offset: 0; border-color: #FF4D12; }
.woocommerce form.checkout .form-row.woocommerce-invalid .input-text { border-color: #DC2626; }
.woocommerce form.checkout .form-row.woocommerce-invalid label { color: #171717; }
.woocommerce form.checkout .form-row.woocommerce-validated .input-text { border-color: #15803D; }
.woocommerce form.checkout .woocommerce-account-fields { margin: 4px 0 0; }
.woocommerce form.checkout label.checkbox, .woocommerce form.checkout .woocommerce-form__label-for-checkbox { display: flex; align-items: center; gap: 10px; font-weight: 500 !important; font-size: 15px; line-height: 1.4; cursor: pointer; }
.woocommerce form.checkout input[type="checkbox"], .woocommerce form.checkout input[type="radio"] { width: 18px; height: 18px; accent-color: #FF4D12; margin: 0; }
.woocommerce form.checkout .woocommerce-form__input-checkbox { margin: 0; }

/* Куриер */
.ch-courier { margin: 8px 0 4px; }
.ch-courier__tiles { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 14px; }
.ch-courier__tile { position: relative; cursor: pointer; }
.ch-courier__tile input { position: absolute; opacity: 0; pointer-events: none; width: 1px; height: 1px; }
.ch-courier__tile-inner { display: flex; align-items: center; justify-content: center; width: 140px; height: 68px; border: 2px solid #E6E6EA; border-radius: 16px; background: #fff; transition: border-color .15s, box-shadow .15s; }
.ch-courier__tile-inner img { max-width: 100px; max-height: 34px; width: auto; height: auto; object-fit: contain; }
.ch-courier__tile input:checked + .ch-courier__tile-inner { border-color: #FF4D12; box-shadow: 0 0 0 3px rgba(255, 77, 18, .18); }
.ch-courier__tile input:focus-visible + .ch-courier__tile-inner { box-shadow: 0 0 0 3px rgba(23, 23, 23, .2); }
.ch-courier__types { display: flex; gap: 20px; margin: 0 0 14px; }
.ch-courier__type { display: inline-flex; align-items: center; gap: 8px; font-size: 15px; font-weight: 500; cursor: pointer; }
.ch-courier__office { position: relative; }
.ch-courier__results { position: absolute; left: 0; right: 0; top: calc(100% - 26px); z-index: 50; background: #fff; border: 1px solid #E6E6EA; border-radius: 14px; box-shadow: 0 12px 30px rgba(23,23,23,.12); max-height: 300px; overflow: auto; padding: 6px; }
.ch-courier__item { display: flex; flex-direction: column; gap: 2px; width: 100%; text-align: left; background: transparent; border: 0; border-radius: 10px; padding: 9px 12px; cursor: pointer; font-family: inherit; color: #171717; }
.ch-courier__item:hover, .ch-courier__item:focus { background: #F4F4F6; outline: 0; }
.ch-courier__item strong { font-size: 14px; }
.ch-courier__item span { font-size: 13px; color: #6B7280; }
.ch-courier__empty { padding: 10px 12px; font-size: 14px; color: #6B7280; }
.ch-courier__hint { margin: 6px 0 0; font-size: 13px; color: #6B7280; }
.ch-courier__confirm { margin-top: 4px; }

/* Карточка итогов */
.woocommerce #order_review table.shop_table { border: 0; border-collapse: collapse; border-radius: 0; width: 100%; margin: 0; font-size: 15px; background: transparent; }
.woocommerce #order_review table.shop_table thead { display: none; }
.woocommerce #order_review table.shop_table th, .woocommerce #order_review table.shop_table td { padding: 12px 0; border: 0; border-top: 1px solid #E3E3E8; font-size: 15px; line-height: 1.45; vertical-align: top; text-align: left; background: transparent; }
.woocommerce #order_review table.shop_table td.product-name { font-weight: 500; padding-right: 12px; }
.woocommerce #order_review table.shop_table td.product-name .variation { margin: 2px 0 0; font-size: 13px; color: #6B7280; }
.woocommerce #order_review table.shop_table .product-quantity { color: #6B7280; font-weight: 500; white-space: nowrap; }
.woocommerce #order_review table.shop_table td.product-total, .woocommerce #order_review table.shop_table tfoot td { text-align: right; font-weight: 500; white-space: nowrap; }
.woocommerce #order_review table.shop_table tfoot th { font-weight: 500; color: #171717; padding: 16px 12px 16px 0; }
.woocommerce #order_review table.shop_table tfoot td { padding: 16px 0; }
.woocommerce #order_review table.shop_table tfoot tr.order-total th, .woocommerce #order_review table.shop_table tfoot tr.order-total td { font-size: 18px; font-weight: 700; }
.woocommerce #order_review table.shop_table tfoot tr.order-total td strong { font-weight: 700; }
.woocommerce #order_review table.shop_table tfoot small.includes_tax { display: block; font-size: 12px; font-weight: 400; color: #6B7280; }
.woocommerce #order_review .woocommerce-shipping-methods { list-style: none; padding: 0; margin: 0; }
.woocommerce #order_review .woocommerce-shipping-methods li { font-size: 15px; margin: 0; padding: 0; }
.woocommerce #order_review .woocommerce-shipping-methods input { display: none; }
.woocommerce #order_review .woocommerce-shipping-methods label { font-weight: 500; display: inline; }
.woocommerce #order_review .woocommerce-shipping-totals td { text-align: right; white-space: normal; }
.woocommerce #order_review .woocommerce-shipping-destination, .woocommerce #order_review .woocommerce-shipping-calculator { display: none; }
.woocommerce #order_review #payment { background: transparent; border-radius: 0; margin: 0; border-top: 1px solid #E3E3E8; }
.woocommerce #order_review #payment ul.payment_methods { list-style: none; padding: 16px 0; margin: 0; border-bottom: 1px solid #E3E3E8; text-align: left; }
.woocommerce #order_review #payment ul.payment_methods li { padding: 0; margin: 0; line-height: 1.4; }
.woocommerce #order_review #payment ul.payment_methods li + li { margin-top: 12px; }
.woocommerce #order_review #payment ul.payment_methods li label { font-weight: 600; font-size: 15px; display: inline-flex; align-items: center; gap: 10px; cursor: pointer; margin: 0; }
.woocommerce #order_review #payment ul.payment_methods li input.input-radio { width: 18px; height: 18px; accent-color: #FF4D12; margin: 0 10px 0 0; vertical-align: middle; }
.woocommerce #order_review #payment ul.payment_methods li img { max-height: 22px; margin: 0 0 0 6px; }
.woocommerce #order_review #payment div.payment_box { background: #fff; border-radius: 12px; padding: 12px 14px; margin: 10px 0 0; font-size: 14px; line-height: 1.5; color: #4B5563; width: 100%; box-sizing: border-box; }
.woocommerce #order_review #payment div.payment_box::before { display: none; }
.woocommerce #order_review #payment div.payment_box p { margin: 0 0 8px; }
.woocommerce #order_review #payment div.payment_box p:last-child { margin-bottom: 0; }
.woocommerce #order_review #payment .place-order { padding: 16px 0 0; margin: 0; }
.woocommerce #order_review #payment .woocommerce-terms-and-conditions-wrapper { margin-bottom: 14px; font-size: 14px; }
.woocommerce #order_review #payment .woocommerce-terms-and-conditions-wrapper a { text-decoration: underline; }
.woocommerce #order_review #payment .woocommerce-privacy-policy-text { font-size: 13px; color: #6B7280; margin-bottom: 12px; }
.woocommerce #order_review #payment .woocommerce-privacy-policy-text p { margin: 0 0 8px; }
.woocommerce #order_review #payment .woocommerce-terms-and-conditions-checkbox-text { font-weight: 500; }
.woocommerce #order_review #payment .woocommerce-validated .woocommerce-terms-and-conditions-checkbox-text { color: inherit; }
.woocommerce #order_review #place_order { display: block; width: 100%; min-height: 54px; padding: 0.9rem 1.6rem; font-size: 16px; line-height: 1.2; background: #FF4D12; color: #171717; border: 0; border-radius: 999px; font-weight: 700; cursor: pointer; }
.woocommerce #order_review #place_order:hover { background: #D93D08; color: #171717; }
.woocommerce #order_review #place_order:disabled { opacity: .6; cursor: default; }
.blockUI.blockOverlay { border-radius: 20px; }
@media (max-width: 1024px) {
  .woocommerce form.checkout.woocommerce-checkout { grid-template-columns: 1fr; grid-template-rows: none; gap: 0; }
  .woocommerce form.checkout > .woocommerce-NoticeGroup, .woocommerce form.checkout #customer_details, .woocommerce form.checkout #order_review { grid-column: 1; grid-row: auto; }
  .woocommerce form.checkout #order_review { margin-top: 28px; }
}
@media (max-width: 782px) {
  .woocommerce-billing-fields__field-wrapper { grid-template-columns: 1fr; }
  .woocommerce form.checkout #order_review { padding: 20px 18px 22px; border-radius: 16px; }
  .ch-courier__tile-inner { width: 120px; height: 60px; }
}
/* Страница «Благодарим» */
.woocommerce-order .woocommerce-thankyou-order-received { font-size: 22px; font-weight: 800; margin: 16px 0; }
.woocommerce-order ul.order_details { list-style: none; padding: 0; margin: 0 0 24px; display: flex; flex-wrap: wrap; gap: 12px; }
.woocommerce-order ul.order_details li { border: 1px solid #E6E6EA; border-radius: 14px; padding: 12px 16px; font-size: 13px; color: #6B7280; margin: 0; }
.woocommerce-order ul.order_details li strong { display: block; color: #171717; font-size: 16px; margin-top: 4px; }
.woocommerce-order h2.woocommerce-order-details__title, .woocommerce-order h2.woocommerce-column__title { font-size: 20px; margin: 24px 0 12px; }
.woocommerce-page .woocommerce-order table.shop_table, .woocommerce-order table.shop_table { width: 100%; border: 1px solid #E6E6EA; border-radius: 16px; border-collapse: separate; border-spacing: 0; overflow: hidden; }
.woocommerce-order table.shop_table th, .woocommerce-order table.shop_table td { border: 0; border-top: 1px solid #E6E6EA; padding: 10px 14px; }
.woocommerce-order table.shop_table thead th { border-top: 0; background: #F4F4F6; }
.ch-thankyou-delivery p { font-size: 15px; }

/* ==========================================================================
   17. Избрани (сердечки), «Наскоро разгледани», подсказки в поиске,
       полоска «до безплатна доставка». Разметка — плагин: includes/wishlist.php,
       search.php, freeship.php; скрипт — assets/js/casehouse.js
   ========================================================================== */
/* сердечко: на карточке — кружок в правом верхнем углу; на странице товара — кнопка рядом с «Добави в количката» */
.ch-wl { font-family: inherit; cursor: pointer; }
.ch-wl svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linejoin: round; stroke-linecap: round; transition: transform .15s ease, fill .15s ease; }
.ch-wl.is-on svg { fill: #FF4D12; stroke: #FF4D12; }
.ch-wl:active svg { transform: scale(.85); }
.ch-wl--card {
  position: absolute; top: 14px; right: 14px; z-index: 3;
  width: 36px; height: 36px; padding: 0; border: 0; border-radius: 999px;
  background: rgba(255, 255, 255, .94); color: #171717; box-shadow: 0 1px 4px rgba(23, 23, 23, .14);
  display: inline-flex; align-items: center; justify-content: center; transition: color .15s, background .15s;
}
.ch-wl--card svg { width: 18px; height: 18px; }
@media (hover: hover) { .ch-wl--card:hover { color: #FF4D12; } }
.ch-section .ch-products .wc-block-product-template.is-dragging .ch-wl--card { pointer-events: none; }
.ch-wl--page {
  height: 54px; padding: 0 20px; border: 1.5px solid #E6E6EA; border-radius: 999px; background: #fff; color: #171717;
  display: inline-flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 600; transition: border-color .15s;
}
.ch-wl--page:hover { border-color: #171717; }
.ch-wl--page.is-on { border-color: #FF4D12; }
.ch-wl--page .ch-wl__on, .ch-wl--page.is-on .ch-wl__off { display: none; }
.ch-wl--page.is-on .ch-wl__on { display: inline; }
/* сердечко в шапке (рядом с лупой) со счётчиком */
.ch-search { display: inline-flex; align-items: center; gap: 4px; }
.ch-wl-link { position: relative; width: 44px; height: 44px; border-radius: 999px; display: inline-flex; align-items: center; justify-content: center; color: #171717; text-decoration: none; transition: background .15s; }
.ch-wl-link:hover { background: #F4F4F6; color: #171717; }
.ch-wl-link__count { position: absolute; top: 2px; right: 0; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 999px; background: #FF4D12; color: #171717; font-size: 11px; font-weight: 800; line-height: 18px; text-align: center; box-sizing: border-box; }
.ch-wl-link__count[hidden] { display: none; }
.ch-drawer__count { position: static; margin-right: 12px; }
@media (max-width: 599px) { .ch-header__actions .ch-wl-link { display: none; } } /* на телефоне «Избрани» — в меню-шторке */
/* страница «Избрани» — широкая, сетка карточек как в каталоге */
.ch-wide-page .ch-page { max-width: 1200px; }
.ch-wishlist .wc-block-product-template, .ch-recent__grid .wc-block-product-template { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; list-style: none; margin: 0; padding: 0; }
.ch-wishlist .wc-block-product-template > li { margin: 0 !important; }
.ch-wishlist .wp-block-post-title a, .ch-wishlist .wp-block-button__link { text-decoration: none; } /* иначе подчёркивание ссылок обычной страницы */
.ch-wishlist__loading, .ch-wishlist__empty { text-align: center; color: #6B7280; font-size: 16px; padding: 56px 20px; margin: 0; background: #F7F7F9; border-radius: 20px; }
.ch-wishlist__empty::before { content: ""; display: block; width: 48px; height: 48px; margin: 0 auto 14px; background: no-repeat center / contain url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FF4D12' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'><path d='M12 20.5s-7.5-4.6-7.5-10A4.2 4.2 0 0 1 12 8a4.2 4.2 0 0 1 7.5 2.5c0 5.4-7.5 10-7.5 10z'/></svg>"); }
.woocommerce-MyAccount-navigation-link--izbrani a { --ch-ico: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M12 20.5s-7.5-4.6-7.5-10A4.2 4.2 0 0 1 12 8a4.2 4.2 0 0 1 7.5 2.5c0 5.4-7.5 10-7.5 10z'/></svg>"); }
/* «Наскоро разгледани» внизу страницы товара — такая же карусель, как секции на главной */
.ch-section--recent { margin-top: 48px; }
.ch-section--recent[hidden] { display: none; }
.ch-section--recent .ch-section__head { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; }
.ch-section--recent h2 { font-size: clamp(1.5rem, 2.5vw, 1.875rem); }
@media (max-width: 1024px) { .ch-wishlist .wc-block-product-template { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 782px) {
  .ch-wl--card { top: 10px; right: 10px; width: 32px; height: 32px; }
  .ch-wl--card svg { width: 16px; height: 16px; }
  .ch-wl--page { width: 100%; justify-content: center; }
  .ch-wishlist .wc-block-product-template { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .ch-wishlist__loading, .ch-wishlist__empty { padding: 40px 16px; font-size: 15px; }
  .ch-section--recent { margin-top: 32px; }
}

/* Подсказки под строкой поиска: слева товары с картинкой и ценой, справа категории и модели */
.ch-search__results { max-width: 1200px; margin: 16px auto 0; padding: 0 10px; box-sizing: border-box; max-height: min(70vh, calc(100vh - 170px)); overflow: auto; overscroll-behavior: contain; }
.ch-search__results[hidden] { display: none; }
.ch-search__cols { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); gap: 8px 40px; align-items: start; }
.ch-search__col { min-width: 0; }
.ch-search__label { font-size: 12px; letter-spacing: .18em; text-transform: uppercase; font-weight: 700; color: #6B7280; margin: 16px 0 8px; }
.ch-search__col > .ch-search__label:first-child { margin-top: 0; }
.ch-search__item { display: flex; align-items: center; gap: 14px; padding: 8px 10px; margin: 0 -10px; border-radius: 12px; color: #171717; text-decoration: none; }
.ch-search__item:hover { background: #F4F4F6; color: #171717; }
.ch-search__item img { width: 48px; height: 48px; flex-shrink: 0; object-fit: contain; border-radius: 10px; background: #F7F7F9; }
.ch-search__name { flex: 1 1 auto; min-width: 0; font-size: 15px; font-weight: 500; line-height: 1.35; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.ch-search__price { flex-shrink: 0; font-size: 15px; font-weight: 800; white-space: nowrap; }
.ch-search__price small { font-size: 12px; font-weight: 500; color: #6B7280; }
.ch-search__price s { font-size: 12px; font-weight: 500; color: #6B7280; margin-right: 2px; }
.ch-search__chips { display: flex; flex-wrap: wrap; gap: 8px; }
.ch-search__chip { display: inline-flex; align-items: center; padding: 8px 14px; border: 1px solid #E6E6EA; border-radius: 999px; background: #fff; color: #171717; font-size: 14px; font-weight: 500; text-decoration: none; transition: border-color .15s, background .15s; }
.ch-search__chip:hover { border-color: #171717; background: #F4F4F6; color: #171717; }
.ch-search__all { display: inline-block; margin-top: 16px; color: #D93D08; font-size: 15px; font-weight: 700; text-decoration: none; }
.ch-search__all:hover { text-decoration: underline; }
.ch-search__empty { margin: 0; color: #6B7280; font-size: 15px; }
@media (max-width: 782px) {
  .ch-search__results { margin-top: 12px; max-height: calc(100vh - 110px); }
  .ch-search__cols { grid-template-columns: 1fr; gap: 0; }
  .ch-search__col + .ch-search__col { margin-top: 16px; }
  .ch-search__item img { width: 42px; height: 42px; }
  .ch-search__name { font-size: 14px; }
}

/* Полоска «Още … до безплатна доставка» — над корзиной и в мини-корзине */
.ch-freeship { background: #F7F7F9; border-radius: 14px; padding: 14px 18px; font-size: 14px; color: #171717; }
.ch-freeship.is-empty { display: none; }
.ch-freeship--cart { margin: 24px 0 -4px; }
.ch-freeship--mini { margin: 8px 16px 12px; }
.ch-freeship__text b { font-weight: 800; }
.ch-freeship__bar { height: 8px; margin-top: 10px; border-radius: 999px; background: #E6E6EA; overflow: hidden; }
.ch-freeship__bar i { display: block; height: 100%; border-radius: 999px; background: #FF4D12; transition: width .4s ease; }
.ch-freeship.is-done .ch-freeship__text { color: #15803D; font-weight: 600; }
.ch-freeship.is-done .ch-freeship__bar i { background: #15803D; }

/* ==========================================================================
   19. Юридические страницы (Условия, Поверителност)
   ========================================================================== */
.ch-legal__intro { font-size: 17px; color: #374151; }
.ch-fill { background: #FFE8DF; color: #D93D08; font-weight: 700; padding: 0 6px; border-radius: 4px; }
.ch-firm-card { display: grid; grid-template-columns: max-content 1fr; gap: 8px 20px; padding: 18px 22px; margin: 8px 0 20px; background: #F7F7F9; border-radius: 16px; font-size: 15px; }
.ch-firm-card__row { display: contents; }
.ch-firm-card__k { color: #6B7280; }
.ch-firm-card__v { font-weight: 600; color: #171717; overflow-wrap: anywhere; }
.ch-legal__form { padding: 20px 24px; border: 1px dashed #C9C9CF; border-radius: 16px; background: #fff; }
.ch-legal__form p { margin: 0 0 10px; font-size: 15px; }
@media (max-width: 599px) { .ch-firm-card { grid-template-columns: 1fr; gap: 2px; } .ch-firm-card__k { margin-top: 8px; font-size: 13px; } }
