/*
Theme Name: Blocksy Child (azimut)
Template: blocksy
Version: 0.2.0
Description: Дочерняя тема azimut. Раскладка по дизайн-референсу PcComponentes (docs/reports/DESIGN-REF-pccomponentes-2026-09-29.md): белое всё, графит #333, один акцент, красный только для скидок, зелёный для доставки, Open Sans, радиус 4px, карточки без рамок и теней.
*/

/* ---------- 1. Токены ---------- */
:root {
  --azi-accent: #ff6000;
  --azi-accent-dark: #cc4d00;
  --azi-accent-soft: #ffeade;
  --azi-text: #333333;
  --azi-muted: #767676;      /* 4.54:1 на белом (ревью #23; референс #8f8f8f = 3.2:1) */
  --azi-border: #dbdbdb;
  --azi-bg-2: #f5f5f5;
  --azi-bg-3: #ebebeb;
  --azi-sale: #bf0019;
  --azi-ok: #118000;
  --azi-star: #ffa90d;
  --azi-navy: #170453;
  --azi-radius: 4px;
  --azi-radius-lg: 8px;
  --azi-gap: 24px;
  --azi-shadow-pop: 0 16px 24px rgba(0,0,0,.14), 0 6px 32px rgba(0,0,0,.12);

  /* Переопределяем переменные Blocksy, чтобы её компоненты (кнопки, ссылки, формы) взяли те же токены */
  --theme-font-family: 'Open Sans', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  --theme-font-size: 14px;
  --theme-line-height: 1.45;
  --theme-text-color: var(--azi-text);
  --theme-link-initial-color: var(--azi-text);
  --theme-link-hover-color: var(--azi-accent);
  --theme-headings-color: var(--azi-text);
  --theme-button-background-initial-color: var(--azi-accent);
  --theme-button-background-hover-color: var(--azi-accent-dark);
  --theme-button-text-initial-color: #fff;
  --theme-button-text-hover-color: #fff;
  --theme-button-border-radius: var(--azi-radius);
  --theme-button-min-height: 48px;
  --theme-button-font-weight: 400;
  --theme-button-font-size: 17px;
  --theme-form-field-border-initial-color: var(--azi-border);
  --theme-form-field-border-focus-color: var(--azi-accent);
  --theme-form-field-border-radius: var(--azi-radius);
  --theme-form-field-height: 48px;
  --theme-border-color: var(--azi-border);
  --theme-palette-color-1: var(--azi-accent);
  --theme-palette-color-2: var(--azi-accent-dark);
  --theme-palette-color-3: var(--azi-text);
  --theme-palette-color-4: var(--azi-text);
  --theme-palette-color-5: var(--azi-bg-3);
  --theme-palette-color-6: var(--azi-bg-2);
  --theme-palette-color-7: #fafafa;
  --theme-palette-color-8: #ffffff;
}

html:root { --theme-normal-container-max-width: 1376px; } /* #5: контейнер референса; Blocksy пишет свою в :root */
@media (max-width: 999.98px) { html:root { --theme-container-edge-spacing: calc(100vw - 32px); } } /* #13: поля 16 на мобиле */
body {
  font-family: var(--theme-font-family);
  font-size: 14px;
  line-height: 20px;
  color: var(--azi-text);
  background: #fff;
}
h1, h2, h3, h4, h5, h6 { font-family: var(--theme-font-family); font-weight: 700; text-transform: none; letter-spacing: 0; color: var(--azi-text); }
h1 { font-size: 29px; line-height: 40px; }
h2 { font-size: 24px; line-height: 32px; }
h3 { font-size: 20px; line-height: 28px; }
h4 { font-size: 17px; line-height: 24px; }
@media (max-width: 689.98px) {
  h1, .hero-section .page-title { font-size: 24px !important; line-height: 32px !important; }
  h2 { font-size: 20px; line-height: 28px; }
}

/* кнопки: 48px, radius 4, не bold, не uppercase */
.ct-button, button, .button, input[type="submit"], .wp-element-button,
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.single_add_to_cart_button, .checkout-button, .wc-block-components-button {
  font-family: var(--theme-font-family);
  font-weight: 400;
  font-size: 17px;
  text-transform: none;
  letter-spacing: 0;
  border-radius: var(--azi-radius);
  min-height: 48px;
  box-shadow: none;
}
.ct-button-ghost, .button.alt-ghost, .azi-btn--secondary {
  background: #fff; color: var(--azi-text); border: 1px solid var(--azi-border); min-height: 38px; font-size: 14px;
}

/* поля */
input[type="text"], input[type="search"], input[type="email"], input[type="number"], input[type="password"], select, textarea, .ct-select-input {
  border: 1px solid var(--azi-border); border-radius: var(--azi-radius); height: 48px; font-family: var(--theme-font-family); font-size: 14px; color: var(--azi-text); background: #fff;
}
textarea { height: auto; }
label { font-size: 14px; }

/* ---------- 2. Шапка ---------- */
#header { position: sticky; top: 0; z-index: 60; }
.ct-header { background: #fff; box-shadow: none; }
.home .hero-section, .home .page-title { display: none; } /* главная без заголовка «Home» */
.ct-header [data-row="middle"], .ct-header [data-row="bottom"] { background: #fff; position: relative; }
.ct-header [data-row="middle"]::after, .ct-header [data-row="bottom"]::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px; background: var(--azi-border); pointer-events: none;
}
.ct-header [data-device="desktop"] [data-row="middle"] { --height: 81px; }
.ct-header [data-device="desktop"] [data-row="bottom"] { --height: 44px; }
.ct-header [data-device="mobile"] [data-row="middle"] { --height: 74px; }
.ct-header [data-device="mobile"] [data-row="bottom"] { --height: 64px; }
/* #9 тач-цели на мобиле */
.ct-header-trigger { min-width: 48px; min-height: 44px; justify-content: center; }
.ct-header-cart .ct-cart-item { min-height: 44px; display: inline-flex; align-items: center; }

/* заголовок архива/магазина: без серой плашки, H1 29px слева (как в референсе) */
.hero-section, .hero-section[data-type="type-2"] { background: none !important; padding: 16px 0 0 !important; min-height: 0 !important; margin-bottom: 0 !important; }
.hero-section[data-type="type-2"] .entry-header, .hero-section .entry-header {
  max-width: var(--theme-normal-container-max-width, 1376px) !important; width: 100%; text-align: left !important; align-items: flex-start !important; padding-top: 0 !important; padding-bottom: 0 !important;
}
.hero-section .entry-header { min-height: 0 !important; }
@media (max-width: 999.98px) { .hero-section .entry-header { padding-left: 16px !important; padding-right: 16px !important; } }
/* сетка товаров: 4 / 3 / 2 колонки (референс: 2 на 390) */
@media (max-width: 999.98px) { [data-products] { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; } }
@media (max-width: 689.98px) { [data-products] { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; --grid-columns-gap: 16px; } }
.hero-section .page-title { font-size: 29px !important; line-height: 40px !important; text-align: left; margin: 0; }
.hero-section .ct-breadcrumbs { justify-content: flex-start; }
.ct-header .site-title { font-size: 24px; font-weight: 800; letter-spacing: -.5px; color: var(--azi-text); }
.ct-header .site-logo-container img { max-height: 48px; width: auto; }

/* составной поиск [azi_search] в элементе Text */
.ct-header-text { flex: 1 1 auto; }
.ct-header-text .entry-content { max-width: none; }
.ct-header-text .entry-content > :last-child { margin-bottom: 0; }
.azi-search {
  display: flex; align-items: stretch; width: 100%; max-width: 680px; height: 48px;
  border: 1px solid var(--azi-border); border-radius: 0; background: #fff; margin: 0 24px;
}
.azi-search__cat { display: flex; border-right: 1px solid var(--azi-border); }
.azi-search__cat select {
  border: 0; border-radius: 0; height: 46px; padding: 0 36px 0 16px; width: 208px; font-size: 14px; background-color: #fff; cursor: pointer;
}
.azi-search__input { flex: 1 1 auto; min-width: 0; border: 0 !important; border-radius: 0 !important; height: 46px; padding: 0 16px; font-size: 14px; }
.azi-search__input:focus { outline: none; box-shadow: none; }
.ct-header .azi-search__btn, .azi-search__btn {
  flex: 0 0 48px; width: 48px !important; min-width: 48px; min-height: 0; height: 46px; padding: 0; border: 0; border-radius: 0; background: #fff; color: var(--azi-text); display: grid; place-items: center;
}
.azi-search__btn:hover { background: var(--azi-bg-2); color: var(--azi-accent); }
@media (max-width: 999.98px) {
  .azi-search { margin: 0; max-width: none; }
  .azi-search__cat { display: none; }
}

/* корзина и меню */
.ct-header-cart .ct-label { color: var(--azi-muted); font-size: 14px; }
.ct-header-cart .ct-cart-item { color: var(--azi-muted); }
.ct-header-cart .ct-cart-item:hover { color: var(--azi-text); }
.ct-header [data-id="menu"] .menu > li > a, .ct-header [data-id="menu-secondary"] .menu > li > a {
  font-family: var(--theme-font-family); font-size: 14px; font-weight: 400; color: var(--azi-text); text-transform: none; letter-spacing: 0;
}
.ct-header [data-id="menu"] .menu > li > a { font-weight: 600; }
.ct-header [data-id="menu-secondary"] .menu > li:last-child > a { color: var(--azi-accent-dark); font-weight: 700; } /* текстовый акцент #cc4d00 = 4.54:1 */
.ct-header [data-id="menu"] .sub-menu, .ct-header [data-id="menu-secondary"] .sub-menu {
  box-shadow: var(--azi-shadow-pop); border-radius: var(--azi-radius); border: 1px solid var(--azi-border); background: #fff;
}
.ct-header [data-id="menu"] .sub-menu a { font-size: 14px; font-weight: 400; color: var(--azi-text); text-transform: none; }
.ct-header [data-id="menu"] .sub-menu a:hover { color: var(--azi-accent); }

/* ---------- 3. Главная (разметка site/markup/home-2026-10-09.html) ---------- */
.azi-home { display: flex; flex-direction: column; gap: 40px; }
.home .ct-container > article, .home .entry-content > :last-child { margin-bottom: 0; }
.azi-home > section { margin: 0; }
.azi-home h2 { font-size: 24px; line-height: 32px; margin: 0 0 16px; display: flex; align-items: baseline; justify-content: space-between; gap: 16px; }
.azi-home h2 .azi-more { font-size: 14px; font-weight: 400; color: var(--azi-text); text-decoration: none; }
.azi-home h2 .azi-more:hover { color: var(--azi-accent); }

.azi-tagline { font-size: 14px; margin: 0; }
.azi-tagline strong { font-weight: 700; }

.azi-hero { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--azi-gap); }
.azi-hero a { display: block; border-radius: var(--azi-radius-lg); overflow: hidden; }
.azi-hero img { display: block; width: 100%; aspect-ratio: 443 / 283; object-fit: cover; }

.azi-cats { display: grid; grid-template-columns: repeat(6, 1fr); gap: var(--azi-gap) 16px; }
.azi-cats a { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 12px; text-decoration: none; color: var(--azi-text); font-size: 14px; line-height: 20px; }
.azi-cats .azi-circle {
  width: 96px; height: 96px; border-radius: 50%; background: var(--azi-bg-2); border: 1px solid var(--azi-bg-3);
  display: grid; place-items: center; color: var(--azi-muted); font-size: 11px; font-weight: 700; letter-spacing: .04em; transition: border-color .15s;
}
.azi-cats a:hover .azi-circle { border-color: var(--azi-accent); }
.azi-cats a:hover { color: var(--azi-accent); }

.azi-products { display: grid; grid-template-columns: repeat(5, 1fr); gap: var(--azi-gap); }
.azi-card { display: flex; flex-direction: column; gap: 6px; padding: 16px; position: relative; text-decoration: none; color: var(--azi-text); background: #fff; }
.azi-card__img { width: 100%; aspect-ratio: 1; background: var(--azi-bg-2); border-radius: var(--azi-radius); display: grid; place-items: center; color: var(--azi-muted); font-size: 12px; font-weight: 700; margin-bottom: 6px; }
.azi-card__badge { position: absolute; top: 16px; left: 16px; background: var(--azi-sale); color: #fff; font-size: 12px; font-weight: 700; line-height: 24px; padding: 0 6px; border-radius: var(--azi-radius); }
.azi-card__title { font-size: 14px; line-height: 20px; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; min-height: 40px; }
.azi-card__price { font-size: 24px; font-weight: 700; line-height: 28px; }
.azi-card__price--sale { color: var(--azi-sale); }
.azi-card__old { font-size: 14px; color: var(--azi-muted); text-decoration: line-through; margin-left: 6px; font-weight: 400; white-space: nowrap; display: inline-block; }
.azi-card__rating { font-size: 12px; } .azi-card__rating b { font-weight: 700; } .azi-card__rating .azi-star { color: var(--azi-star); } .azi-card__rating span { color: var(--azi-muted); }
.azi-card__ship { font-size: 12px; font-weight: 700; } .azi-card__ship em { font-style: normal; color: var(--azi-ok); }

.azi-promo img { display: block; width: 100%; border-radius: var(--azi-radius-lg); aspect-ratio: 1376 / 240; object-fit: cover; }

.azi-guides { display: grid; grid-template-columns: 1fr 1fr; gap: var(--azi-gap); }
.azi-guides a { display: block; text-decoration: none; color: var(--azi-text); }
.azi-guides img { display: block; width: 100%; border-radius: var(--azi-radius-lg); aspect-ratio: 676 / 300; object-fit: cover; margin-bottom: 12px; }
.azi-guides h3 { font-size: 17px; line-height: 24px; margin: 0 0 4px; }
.azi-guides p { margin: 0; color: var(--azi-muted); font-size: 14px; }

.azi-brands { display: grid; grid-template-columns: repeat(8, 1fr); gap: 16px; }
.azi-brands span { height: 56px; border: 1px solid var(--azi-border); border-radius: var(--azi-radius); display: grid; place-items: center; color: var(--azi-muted); font-size: 12px; font-weight: 700; letter-spacing: .06em; }

.azi-home > section.azi-trust { background: var(--azi-bg-2); width: 100vw; margin: 0 0 0 calc(50% - 50vw); padding: 24px 0; } /* #3: специфичнее .azi-home > section */
.home .ct-container-full[data-vertical-spacing], .home .ct-container[data-vertical-spacing] { padding-bottom: 0 !important; } .home article.post, .home article.page, .home .entry-content, .home .entry-content > :last-child { margin-bottom: 0 !important; }
.azi-trust__in { max-width: var(--theme-normal-container-max-width, 1376px); margin: 0 auto; padding: 0 32px; display: grid; grid-template-columns: repeat(4, 1fr); }
.azi-trust__item { display: flex; align-items: center; gap: 16px; padding: 8px 24px; border-left: 1px solid var(--azi-border); font-size: 14px; }
.azi-trust__item:first-child { border-left: 0; padding-left: 0; }
.azi-trust__item svg { flex: 0 0 48px; width: 48px; height: 48px; color: var(--azi-accent); }
.azi-trust__item strong { font-weight: 700; }

.azi-seo h2 { font-size: 14px; font-weight: 700; display: block; margin: 0 0 8px; }
.azi-seo p { margin: 0 0 12px; }
.azi-seo ul { margin: 0 0 12px 24px; padding: 0; }

.azi-ph { outline: 1px dashed #c8c8c8; outline-offset: -1px; } /* метка «заглушка» */

@media (max-width: 999.98px) {
  .azi-cats { grid-template-columns: repeat(4, 1fr); }
  .azi-products { grid-template-columns: repeat(3, 1fr); }
  .azi-brands { grid-template-columns: repeat(4, 1fr); }
  .azi-trust__in { grid-template-columns: 1fr 1fr; gap: 8px 0; padding: 0 16px; }
  .azi-trust__item:nth-child(odd) { border-left: 0; padding-left: 0; }
}
@media (max-width: 689.98px) {
  .azi-home { gap: 32px; }
  .azi-hero { grid-template-columns: 1fr; gap: 16px; }
  .azi-cats { grid-template-columns: repeat(3, 1fr); gap: 16px 8px; }
  .azi-cats .azi-circle { width: 80px; height: 80px; }
  .azi-products { grid-template-columns: 1fr 1fr; gap: 16px; }
  .azi-card { padding: 8px; }
  .azi-card__price { font-size: 17px; line-height: 24px; }
  .azi-guides { grid-template-columns: 1fr; }
  .azi-brands { grid-template-columns: repeat(2, 1fr); }
  .azi-trust__in { grid-template-columns: 1fr; }
  .azi-trust__item { border-left: 0; padding-left: 0; }
}

/* ---------- 4. Листинг WooCommerce ---------- */
.woocommerce ul.products li.product, [data-products] .product {
  background: #fff; border: 0; box-shadow: none; border-radius: 0; padding: 16px;
}
[data-products] .product .ct-woo-card-extra, [data-products] .product .ct-woo-card-extra:hover { box-shadow: none; }
[data-products] { --grid-columns-gap: 24px; --grid-rows-gap: 24px; }
.woocommerce ul.products li.product .woocommerce-loop-product__title, [data-products] .product .woocommerce-loop-product__title {
  font-size: 14px; line-height: 20px; font-weight: 400; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}
.woocommerce ul.products li.product .price, [data-products] .product .price { font-size: 24px; font-weight: 700; color: var(--azi-text); }
.woocommerce ul.products li.product .price ins, [data-products] .product .price ins { color: var(--azi-sale); text-decoration: none; }
.woocommerce ul.products li.product .price del, [data-products] .product .price del { font-size: 14px; font-weight: 400; color: var(--azi-muted); }
@media (max-width: 689.98px) {
  .woocommerce ul.products li.product .price, [data-products] .product .price { font-size: 17px; }
  [data-products] { --grid-columns-gap: 16px; }
}
.onsale, .azi-onsale, .ct-woo-badge-sale {
  background: var(--azi-sale) !important; color: #fff !important; border-radius: var(--azi-radius) !important;
  font-size: 12px !important; font-weight: 700 !important; line-height: 24px !important; min-height: 0 !important; padding: 0 6px !important;
}
[data-products] .product .star-rating, .woocommerce .star-rating { color: var(--azi-star); }
.woocommerce-result-count { text-transform: none !important; font-size: 14px !important; font-weight: 400 !important; color: var(--azi-muted); letter-spacing: 0; }
.ct-pagination .page-numbers, .woocommerce-pagination .page-numbers { text-transform: none !important; font-size: 14px !important; letter-spacing: 0; border-width: 1px; }
.ct-pagination .page-numbers.current, .woocommerce-pagination .page-numbers.current { background: var(--azi-accent); color: #fff; }
/* #2: превью квадратом без обрезки (фото каталога квадратные на белом) */
[data-products] .product .ct-media-container img, [data-products] .product img.attachment-woocommerce_thumbnail, [data-products] .product .woocommerce-loop-product__link img { aspect-ratio: 1 / 1 !important; object-fit: contain !important; background: #fff; }
/* #22: пустой поиск — одно сообщение */
.search-no-results .woocommerce-info { display: none; }
.woocommerce-info, .woocommerce-message, .woocommerce-error { background: var(--azi-bg-2); border-radius: var(--azi-radius); color: var(--azi-text); }
/* #12: мобильная плитка — это правило должно идти ПОСЛЕ [data-products] .product { padding:16px } */
@media (max-width: 689.98px) { .woocommerce ul.products li.product, [data-products] .product { padding: 8px !important; } }
/* мобильная панель Filter + off-canvas сайдбар (functions.php: azi-mbar) */
.azi-mbar { display: none; }
@media (max-width: 999.98px) {
  .azi-mbar { display: flex; gap: 8px; position: sticky; top: 138px; z-index: 40; background: #333; margin: 0 -16px 16px; padding: 6px 16px; }
  .azi-mbar__btn { display: inline-flex; align-items: center; gap: 8px; min-height: 36px; padding: 0 14px; border: 1px solid rgba(255,255,255,.4); border-radius: var(--azi-radius); background: transparent; color: #fff; font-size: 14px; }
  #sidebar.ct-hidden-sm, #sidebar.ct-hidden-md { display: block !important; position: fixed; top: 0; left: 0; bottom: 0; width: min(320px, 88vw); background: #fff; z-index: 1001; overflow-y: auto; padding: 56px 16px 24px; transform: translateX(-100%); transition: transform .25s; box-shadow: var(--azi-shadow-pop); }
  body.azi-filters-open #sidebar { transform: none; }
  .azi-filters-backdrop { position: fixed; inset: 0; background: rgba(51,51,51,.24); z-index: 1000; }
  .azi-filters-close { position: absolute; top: 8px; right: 8px; width: 44px; height: 44px; border: 0; background: transparent; font-size: 28px; line-height: 1; color: var(--azi-text); }
  body.azi-filters-open { overflow: hidden; }
}
@media (min-width: 1000px) { .azi-filters-close, .azi-filters-backdrop { display: none; } }
/* сайдбар листинга 240px */
[data-sidebar] { --sidebar-width: 240px; --sidebar-gap: 24px; }
.ct-sidebar { --sidebar-width: 240px; }
.ct-sidebar .widget-title, .ct-sidebar .wp-block-heading { font-size: 14px; font-weight: 700; }
.ct-sidebar .widget { padding-bottom: 16px; border-bottom: 1px solid var(--azi-border); margin-bottom: 16px; }
.ct-sidebar .widget h4.wp-block-heading { font-size: 14px; font-weight: 700; margin: 0 0 8px; }
.ct-sidebar .wp-block-woocommerce-product-filters, .ct-sidebar .wc-block-product-filters { border: 0 !important; padding: 0 !important; }
.ct-sidebar [class*="wc-block-product-filter"] { border: 0 !important; outline: 0 !important; box-shadow: none !important; }
.ct-sidebar fieldset, .ct-sidebar legend { padding: 0 !important; margin: 0 !important; border: 0 !important; min-width: 0; } /* Blocksy: fieldset{padding:30px;border:1px dashed} — это и была «пунктирная рамка» у фильтра бренда */
.ct-sidebar input[type="checkbox"] { width: 18px; height: 18px; border: 1px solid var(--azi-muted); border-radius: 2px; background: #fff; accent-color: var(--azi-accent); }
.ct-sidebar .wc-block-product-filters, .ct-sidebar .wc-block-product-filters > *, .ct-sidebar .wc-block-product-filter-attribute, .ct-sidebar .wc-block-product-filter-price { padding: 0 !important; margin-left: 0 !important; margin-right: 0 !important; }
/* Product Filters на мобиле: показываем содержимое инлайн внутри нашего off-canvas, свою кнопку/оверлей Woo прячем */
@media (max-width: 999.98px) {
  .ct-sidebar .wc-block-product-filters__open-overlay { display: none !important; }
  .ct-sidebar .wc-block-product-filters__overlay, .ct-sidebar .wc-block-product-filters__overlay-wrapper, .ct-sidebar .wc-block-product-filters__overlay-dialog, .ct-sidebar .wc-block-product-filters__overlay-content {
    display: block !important; position: static !important; transform: none !important; opacity: 1 !important; visibility: visible !important; width: auto !important; height: auto !important; max-height: none !important; padding: 0 !important; margin: 0 !important; background: transparent !important; overflow: visible !important;
  }
  .ct-sidebar .wc-block-product-filters__overlay-header, .ct-sidebar .wc-block-product-filters__overlay-footer { display: none !important; }
}
.ct-sidebar .wc-block-product-filter-checkbox-list__item { margin: 0 0 6px; font-size: 14px; }
.ct-sidebar .wc-block-product-filter-checkbox-list__label { gap: 8px; }
.ct-sidebar .wc-block-product-filter-checkbox-list__input { width: 18px; height: 18px; border: 1px solid var(--azi-muted); border-radius: 2px; }
.ct-sidebar .wc-block-product-filter-checkbox-list__input:checked { accent-color: var(--azi-accent); }
.ct-sidebar .wc-block-product-filter-checkbox-list__show-more { font-size: 14px; }
.azi-cats--archive { margin: 8px 0 24px; grid-template-columns: repeat(6, 1fr); }
@media (max-width: 999.98px) { .azi-cats--archive { grid-template-columns: repeat(4, 1fr); } }
@media (max-width: 689.98px) { .azi-cats--archive { grid-template-columns: repeat(3, 1fr); } }
.ct-sidebar .wc-block-product-categories-list, .ct-sidebar .wc-block-product-categories-list ul { list-style: none; margin: 0; padding: 0; font-size: 14px; }
.ct-sidebar .wc-block-product-categories-list ul { padding-left: 12px; }
.ct-sidebar .wc-block-product-categories-list li { margin: 0 0 6px; }
.ct-sidebar .wc-block-product-categories-list-item-count, .ct-sidebar .wc-block-attribute-filter-list .wc-filter-element-label-list-count { color: var(--azi-muted); }
.ct-sidebar .wc-block-attribute-filter, .ct-sidebar .wc-block-price-filter { font-size: 14px; }
.ct-sidebar .wc-block-checkbox-list { list-style: none; margin: 0; padding: 0; }
.ct-sidebar .wc-block-components-checkbox .wc-block-components-checkbox__input { width: 18px; height: 18px; border: 1px solid var(--azi-muted); border-radius: 2px; }
.ct-sidebar .wc-block-components-checkbox .wc-block-components-checkbox__input:checked { border-color: var(--azi-accent); background: var(--azi-accent); }
.ct-sidebar .wc-block-price-filter__range-input-progress { --range-color: var(--azi-accent); }
.ct-sidebar .wc-block-price-filter__amount { height: 40px; border: 1px solid var(--azi-border); border-radius: var(--azi-radius); }
.ct-sidebar .wc-block-components-filter-reset-button, .ct-sidebar .wc-block-components-filter-submit-button { font-size: 14px; min-height: 38px; }
/* хлебные крошки */
.ct-breadcrumbs, .ct-breadcrumbs a, .ct-breadcrumbs span { font-size: 14px; color: var(--azi-text); text-transform: none; letter-spacing: 0; }
.ct-breadcrumbs span:last-child { font-weight: 400; }
.single-product .hero-section { margin-bottom: 16px !important; }
.single-product .product_meta, .single-product .product_meta a, .single-product .product_meta span { text-transform: none; letter-spacing: 0; font-size: 12px; }
.single-product .product_meta a { color: var(--azi-text); text-decoration: underline; font-weight: 400; }
.single-product .product_meta > span { text-transform: none !important; font-size: 12px !important; font-weight: 400 !important; letter-spacing: 0; }
/* #11: без цены — не рисовать пустую цену и двойной разделитель (само отключится, когда придут цены) */
.single-product .entry-summary .price:empty, .ct-product-add-to-cart:empty, .ct-product-add-to-cart:empty + .ct-product-divider { display: none; }
/* #16: вкладки без капса, активная тёмно-оранжевая (AA) */
.woocommerce-tabs .wc-tabs li a { text-transform: none !important; font-size: 14px !important; letter-spacing: 0; color: var(--azi-text); font-weight: 600; }
.woocommerce-tabs .wc-tabs li.active a { color: var(--azi-accent-dark); }
/* #19: на мобиле крошки без последнего пункта (он же H1) */
@media (max-width: 689.98px) { .single-product .ct-breadcrumbs > span:last-child, .single-product .ct-breadcrumbs > span:nth-last-child(2) { display: none; } }
/* #18: миниатюры 64px (вертикально слева — theme mod gallery_style=vertical) */
.flexy-pills span, .flexy-pills [class*="ct-image-container"] { width: 64px; }
.woocommerce-product-gallery[data-thumbs="left"] .flexy-pills { width: 64px; }

/* ---------- 5. Карточка товара (PDP) ---------- */
.single-product .product_title { font-size: 20px; line-height: 28px; }
.single-product .entry-summary .price { font-size: 40px; font-weight: 700; color: var(--azi-text); line-height: 1; }
.single-product .entry-summary .price ins { color: var(--azi-sale); text-decoration: none; }
.single-product .entry-summary .price del { font-size: 12px; font-weight: 400; color: var(--azi-muted); }
.single-product .entry-summary .single_add_to_cart_button { width: 100%; height: 48px; }
.single-product .woocommerce-tabs h2 { font-size: 20px; line-height: 28px; }
.woocommerce table.shop_attributes th { background: var(--azi-bg-3); font-weight: 700; }
.woocommerce table.shop_attributes tr:nth-child(even) td { background: var(--azi-bg-2); }
.woocommerce-product-gallery .flexy-item img, .woocommerce-product-gallery .ct-media-container img { aspect-ratio: 1 / 1 !important; object-fit: contain !important; background: #fff; } /* #1: квадрат без обрезки */
.woocommerce-product-gallery .flex-control-thumbs li img { border: 1px solid var(--azi-border); border-radius: var(--azi-radius); }
.woocommerce-product-gallery .flex-control-thumbs li img.flex-active { border-color: var(--azi-accent); }

/* ---------- 6. Футер ---------- */
body { overflow-x: clip; } /* полоса доверия на 100vw не должна давать горизонтальный скролл */
.ct-footer { background: #fff; border-top: 1px solid var(--azi-border); margin-top: 0; }
.ct-footer [data-row="middle"] { background: #fff; }
.ct-footer [data-row="middle"] > .ct-container { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; padding-top: 40px; padding-bottom: 40px; }
.ct-footer [data-row="bottom"] > .ct-container { padding-top: 16px; padding-bottom: 16px; }
@media (max-width: 999.98px) { .ct-footer [data-row="middle"] > .ct-container { grid-template-columns: 1fr 1fr; } }
@media (max-width: 689.98px) { .ct-footer [data-row="middle"] > .ct-container { grid-template-columns: 1fr; gap: 16px; padding-top: 24px; } }
.ct-footer h4.wp-block-heading { font-size: 14px; font-weight: 700; margin: 0 0 12px; }
.ct-footer [data-row="bottom"] { background: var(--azi-bg-2); border-top: 1px solid var(--azi-border); }
.ct-footer .widget-title { font-size: 14px; font-weight: 700; color: var(--azi-text); margin-bottom: 12px; }
.ct-footer .widget, .ct-footer .widget a { font-size: 14px; color: var(--azi-text); }
.ct-footer .widget a:hover { color: var(--azi-accent); }
.ct-footer ul { list-style: none; margin: 0; padding: 0; }
.ct-footer li { margin: 0 0 8px; }
.ct-footer-copyright { font-size: 12px; color: var(--azi-muted); }
.ct-footer .widget a { display: inline-block; padding: 4px 0; }

/* ---------- 7. Мобильное меню (offcanvas) — белая панель, как референс (#6) ---------- */
#offcanvas .ct-panel-inner, #offcanvas .ct-panel-content { background: #fff; color: var(--azi-text); }
#offcanvas .mobile-menu a, #offcanvas .ct-toggle-close, #offcanvas .ct-toggle-close svg { color: var(--azi-text); fill: currentColor; }
#offcanvas .mobile-menu > ul > li > span > a, #offcanvas .mobile-menu > ul > li > a { font-size: 16px; font-weight: 600; }
#offcanvas .mobile-menu .sub-menu a { font-size: 14px; font-weight: 400; }
#offcanvas .ct-toggle-dropdown-mobile, #offcanvas .ct-toggle-dropdown-mobile svg { color: var(--azi-text); fill: currentColor; }
#offcanvas .mobile-menu li { border-color: var(--azi-border); }

/* ---------- 8. Корзина / чекаут / аккаунт (#7, #8, чекбокс) ---------- */
.wp-block-woocommerce-empty-cart-block .wp-block-separator,
.wp-block-woocommerce-empty-cart-block h2:not(.with-empty-cart-icon),
.wp-block-woocommerce-empty-cart-block .wp-block-woocommerce-product-new { display: none; }
.woocommerce-form-login .show-password-input, .woocommerce-form-register .show-password-input, .woocommerce-form .show-password-input {
  width: 40px; height: 48px; display: flex; align-items: center; justify-content: center;
}
.woocommerce-form .show-password-input::before, .woocommerce-form .show-password-input::after { content: none !important; display: none !important; }
.woocommerce-form .show-password-input {
  background: transparent url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23767676' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M2 12s3.5-7 10-7 10 7 10 7-3.5 7-10 7S2 12 2 12z'/><circle cx='12' cy='12' r='3'/></svg>") center / 20px no-repeat !important;
  border: 0; cursor: pointer; top: 0; right: 4px;
}
.woocommerce-form .show-password-input svg { display: none; }
.woocommerce-form-login input[type="checkbox"], .woocommerce-form input[type="checkbox"] { width: 18px; height: 18px; }
.wc-block-components-button, .wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button { background: var(--azi-accent); border-radius: var(--azi-radius); }

/* ---------- 9. Страницы политик (.vp) — свой H1 внутри, заголовок темы прячем ---------- */
body:has(.entry-content .vp) .hero-section { display: none !important; }

/* ---------- 10. 404 (#21) ---------- */
.error404 .ct-search-form, .error404 .search-form { margin: 16px 0 0; max-width: 400px; }
.error404 .ct-container { text-align: left; }
