/*! AskSystems Child — custom.css (synced from prototype after QA fixes) */
/* ===== :ROOT DESIGN TOKENS ===== */
    :root {
      --color-primary: #1E60D1;
      --color-primary-hover: #1748A8;
      --color-primary-active: #103680;
      --color-primary-dark: #0F2540;
      --color-accent: #4A8BFF;
      --color-accent-strong: #4A8BFF;
      --color-accent-soft: #E1ECFF;
      --color-bg: #FFFFFF;
      --color-bg-secondary: #F5F8FC;
      --color-bg-tertiary: #EAF0F8;
      --color-bg-dark: #0F2540;
      --color-bg-darker: #0A1830;
      --color-text: #0F172A;
      --color-text-secondary: #475569;
      --color-text-muted: #94A3B8;
      --color-text-inverse: #FFFFFF;
      --color-text-on-dark: #CBD5E1;
      --color-border: #E2E8F0;
      --color-border-strong: #CBD5E1;
      --color-border-focus: #1E60D1;
      --color-success: #16A34A;
      --color-success-soft: #DCFCE7;
      --color-warning: #F59E0B;
      --color-warning-soft: #FEF3C7;
      --color-danger: #DC2626;
      --color-danger-soft: #FEE2E2;
      --color-info: #0EA5E9;
      --font-heading: 'Rubik', system-ui, -apple-system, sans-serif;
      --font-body: 'Golos Text', system-ui, -apple-system, sans-serif;
      --fs-h1: 48px;
      --fs-h2: 36px;
      --fs-h3: 28px;
      --fs-h4: 22px;
      --fs-h5: 18px;
      --fs-h6: 16px;
      --fs-body: 16px;
      --fs-small: 14px;
      --fs-caption: 12px;
      --lh-heading: 1.2;
      --lh-body: 1.6;
      --lh-small: 1.5;
      --lh-caption: 1.4;
      --fw-regular: 400;
      --fw-medium: 500;
      --fw-semibold: 600;
      --fw-bold: 700;
      --space-1: 4px;
      --space-2: 8px;
      --space-3: 12px;
      --space-4: 16px;
      --space-5: 24px;
      --space-6: 32px;
      --space-7: 48px;
      --space-8: 64px;
      --space-9: 96px;
      --radius-sm: 4px;
      --radius-md: 8px;
      --radius-lg: 16px;
      --radius-xl: 24px;
      --radius-full: 9999px;
      --shadow-sm: 0 1px 2px rgba(11,30,71,0.06), 0 1px 3px rgba(11,30,71,0.08);
      --shadow-md: 0 4px 8px rgba(11,30,71,0.08), 0 8px 16px rgba(11,30,71,0.10);
      --shadow-lg: 0 12px 24px rgba(11,30,71,0.12), 0 24px 48px rgba(11,30,71,0.16);
      --bp-xs: 480px;
      --bp-sm: 768px;
      --bp-md: 992px;
      --bp-lg: 1200px;
      --bp-xl: 1440px;
      --z-base: 1;
      --z-sticky: 100;
      --z-dropdown: 200;
      --z-overlay: 900;
      --z-modal: 1000;
      --z-toast: 1100;
      --z-tooltip: 1200;
      --transition-fast: 150ms ease;
      --transition-base: 200ms ease;
      --transition-slow: 300ms ease;
      --container-max: 1200px;
      --container-padding: 24px;
    }

    @media (max-width: 768px) {
      :root {
        --fs-h1: 32px;
        --fs-h2: 28px;
        --fs-h3: 22px;
        --fs-h4: 18px;
        --container-padding: 16px;
      }
    }

    /* ===== RESET ===== */
    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
    html { scroll-behavior: smooth; }
    body { font-family: var(--font-body); font-size: var(--fs-body); line-height: var(--lh-body); color: var(--color-text); background: var(--color-bg); -webkit-font-smoothing: antialiased; }
    ul, ol { list-style: none; }
    img { display: block; max-width: 100%; }
    a { color: var(--color-primary); text-decoration: none; transition: color var(--transition-fast); }
    a:hover { color: var(--color-primary-hover); }
    a:focus-visible { outline: 3px solid rgba(14,58,138,0.35); outline-offset: 2px; border-radius: 2px; }
    h1, h2, h3, h4, h5, h6 { font-family: var(--font-heading); font-weight: var(--fw-semibold); line-height: var(--lh-heading); color: var(--color-text); }
    h1 { font-size: var(--fs-h1); font-weight: var(--fw-bold); }
    h2 { font-size: var(--fs-h2); }
    h3 { font-size: var(--fs-h3); }
    h4 { font-size: var(--fs-h4); }
    h5 { font-size: var(--fs-h5); }
    h6 { font-size: var(--fs-h6); }
    button { cursor: pointer; border: none; background: none; font-family: inherit; }

    /* ===== CONTAINER ===== */
    .ask-container { max-width: var(--container-max); margin: 0 auto; padding: 0 var(--container-padding); }

    /* ===== BUTTONS ===== */
    .ask-btn {
      display: inline-flex; align-items: center; justify-content: center; gap: var(--space-2);
      height: 44px; padding: 0 24px;
      font-family: var(--font-heading); font-weight: var(--fw-semibold); font-size: 14px;
      border-radius: var(--radius-md);
      transition: background-color var(--transition-fast), color var(--transition-fast), box-shadow var(--transition-fast), transform 50ms ease;
      white-space: nowrap; cursor: pointer; border: none; text-decoration: none;
    }
    .ask-btn--primary { background: var(--color-primary); color: var(--color-text-inverse); }
    .ask-btn--primary:hover { background: var(--color-primary-hover); color: var(--color-text-inverse); }
    .ask-btn--primary:active { background: var(--color-primary-active); }
    .ask-btn--secondary { background: transparent; color: var(--color-primary); border: 1.5px solid var(--color-primary); }
    .ask-btn--secondary:hover { background: var(--color-accent-soft); color: var(--color-primary-hover); border-color: var(--color-primary-hover); }

    .ask-btn--lg { height: 52px; padding: 0 32px; font-size: 16px; }
    .ask-btn--sm { height: 36px; padding: 0 16px; font-size: 13px; }
    .ask-btn--dark-outline { background: transparent; color: #fff; border: 1.5px solid rgba(255,255,255,0.4); }
    .ask-btn--dark-outline:hover { background: rgba(255,255,255,0.1); color: #fff; }

    /* ===== SECTION HEAD ===== */
    .ask-section-head { display: flex; justify-content: space-between; align-items: flex-end; margin-bottom: 40px; }
    .ask-section-head--centered { flex-direction: column; align-items: center; text-align: center; max-width: 720px; margin-left: auto; margin-right: auto; margin-bottom: 56px; gap: 12px; }
    .ask-section-head__title { font-size: var(--fs-h2); }
    .ask-section-head__subtitle { font-family: var(--font-body); font-size: 18px; line-height: 1.6; color: var(--color-text-secondary); font-weight: var(--fw-regular); }
    .ask-section-head__link { font-family: var(--font-heading); font-weight: var(--fw-medium); font-size: 14px; color: var(--color-primary); display: flex; align-items: center; gap: 6px; white-space: nowrap; }
    .ask-section-head__link:hover { color: var(--color-primary-hover); }

    /* ===== ICON SIZES ===== */
    .icon-sm { font-size: 16px; }
    .icon-md { font-size: 24px; }
    .icon-lg { font-size: 32px; }
    .icon-xl { font-size: 56px; }

    /* ===== 1. TOPBAR ===== */
    .ask-topbar { background: var(--color-bg-dark); height: 36px; }
    .ask-topbar__inner { display: flex; justify-content: space-between; align-items: center; height: 100%; }
    .ask-topbar__left { display: flex; align-items: center; gap: 16px; }
    .ask-topbar__contact, .ask-topbar__hours { display: flex; align-items: center; gap: 6px; font-family: var(--font-body); font-size: 13px; font-weight: var(--fw-medium); color: var(--color-text-on-dark); transition: color var(--transition-fast); }
    .ask-topbar__contact:hover { color: var(--color-text-inverse); }
    .ask-topbar__contact i, .ask-topbar__hours i { font-size: 14px; color: var(--color-accent); }
    .ask-topbar__divider { width: 1px; height: 14px; background: rgba(255,255,255,0.15); }
    .ask-topbar__nav { display: flex; gap: 24px; }
    .ask-topbar__nav a { font-family: var(--font-body); font-size: 13px; font-weight: var(--fw-medium); color: var(--color-text-on-dark); transition: color var(--transition-fast); }
    .ask-topbar__nav a:hover { color: var(--color-text-inverse); }

    /* ===== 2. HEADER ===== */
    .ask-header {
      background: var(--color-bg); border-bottom: 1px solid var(--color-border);
      position: sticky; top: 0; z-index: var(--z-sticky);
      transition: box-shadow var(--transition-base), padding var(--transition-base);
    }
    .ask-header.is-scrolled { box-shadow: var(--shadow-md); }
    .ask-header__inner {
      display: flex; align-items: center; gap: 24px;
      height: 80px;
    }
    .ask-header__logo { display: flex; flex-direction: column; text-decoration: none; flex-shrink: 0; }
    .ask-header__logo-mark { font-family: var(--font-heading); font-weight: var(--fw-bold); font-size: 22px; color: var(--color-text); line-height: 1; }
    .ask-header__logo-mark--accent { color: var(--color-primary); }
    .ask-header__logo-tagline { font-family: var(--font-body); font-size: 12px; line-height: 1.2; color: var(--color-text-muted); }
    .ask-header__nav { display: flex; align-items: center; gap: 4px; }
    .ask-header__nav-link {
      font-family: var(--font-heading); font-weight: var(--fw-medium); font-size: 15px; color: var(--color-text);
      padding: 28px 12px; display: flex; align-items: center; gap: 4px;
      position: relative; transition: color var(--transition-fast); background: none; border: none;
      text-decoration: none; white-space: nowrap;
    }
    .ask-header__nav-link::after {
      content: ''; position: absolute; bottom: 0; left: 12px; right: 12px;
      height: 2px; background: var(--color-primary);
      transform: scaleX(0); transition: transform var(--transition-base); transform-origin: left;
    }
    .ask-header__nav-link:hover { color: var(--color-primary); }
    .ask-header__nav-link:hover::after { transform: scaleX(1); }
    .ask-header__search {
      display: flex; align-items: center; gap: 10px;
      background: var(--color-bg); border: 1.5px solid var(--color-border);
      border-radius: var(--radius-full); padding: 3px 3px 3px 18px;
      height: 48px; flex: 1 1 280px; max-width: 420px; min-width: 240px;
      margin-left: auto;
      transition: border-color var(--transition-fast);
    }
    .ask-header__search:hover { border-color: var(--color-border-strong); }
    .ask-header__search:focus-within { border-color: var(--color-primary); }
    .ask-header__search i { font-size: 17px; color: var(--color-primary); flex-shrink: 0; }
    .ask-header__search input { background: none; border: none; outline: none; font-family: var(--font-body); font-size: 15px; color: var(--color-text); width: 100%; }
    .ask-header__search input::placeholder { color: var(--color-text-muted); }
    .ask-header__search-btn {
      height: 40px; padding: 0 22px; flex-shrink: 0;
      background: var(--color-primary); color: white;
      font-family: var(--font-heading); font-weight: var(--fw-semibold); font-size: 14px;
      border: none; border-radius: var(--radius-full); cursor: pointer;
      transition: background var(--transition-fast);
    }
    .ask-header__search-btn:hover { background: var(--color-primary-hover); }
    .ask-header__search-btn i { font-size: 14px; color: white; margin-right: 6px; }

    .ask-header__burger { display: none; align-items: center; justify-content: center; width: 44px; height: 44px; color: var(--color-text); }
    .ask-header__burger i { font-size: 28px; }

    /* ===== MEGAMENU (1.0.37 — refactor: без картинок, чёткая нижняя граница,
       группы с подкатегориями сверху, листовые — внизу компактным списком) ===== */
    .ask-megamenu {
      position: absolute; top: 100%; left: 0; right: 0;
      background: var(--color-bg, #fff);
      border-top: 3px solid var(--color-primary, #1E60D1);
      border-bottom: 4px solid var(--color-primary, #1E60D1);
      box-shadow: 0 20px 40px -16px rgba(15,37,64,0.18);
      padding: 36px 0 28px;
      opacity: 0; visibility: hidden;
      transform: translateY(8px);
      transition: opacity 220ms ease, transform 220ms ease, visibility 0s linear 220ms;
      z-index: var(--z-dropdown, 90);
      max-height: calc(100vh - 120px); overflow-y: auto;
    }
    .ask-megamenu.is-open {
      opacity: 1; visibility: visible; transform: translateY(0);
      transition: opacity 220ms ease, transform 220ms ease, visibility 0s;
    }
    .ask-megamenu__inner {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 28px 36px;
    }
    /* Группа категории */
    .ask-megamenu__group { display: flex; flex-direction: column; gap: 10px; }
    .ask-megamenu__group-head {
      position: relative;
      display: flex; align-items: center; justify-content: space-between; gap: 10px;
      font-family: var(--font-heading, 'Rubik', sans-serif);
      font-weight: 600; font-size: 14px;
      color: var(--color-text, #1F2937); text-decoration: none;
      padding-bottom: 10px;
      border-bottom: 1.5px solid var(--color-border, #E2E8F0);
      transition: color 180ms ease, border-color 180ms ease;
    }
    .ask-megamenu__group-head:hover { color: var(--color-primary, #1E60D1); border-bottom-color: var(--color-primary, #1E60D1); }
    .ask-megamenu__group-arrow {
      font-size: 14px;
      color: var(--color-text-muted, #94A3B8);
      opacity: 0;
      transform: translate(-4px, 4px);
      transition: opacity 180ms ease, transform 180ms ease, color 180ms ease;
    }
    .ask-megamenu__group-head:hover .ask-megamenu__group-arrow {
      opacity: 1; transform: translate(0, 0); color: var(--color-primary, #1E60D1);
    }
    .ask-megamenu__sub { display: flex; flex-direction: column; gap: 2px; }
    .ask-megamenu__sub a {
      font-family: var(--font-body, 'Golos Text', sans-serif);
      font-weight: 400; font-size: 13.5px; line-height: 1.45;
      color: var(--color-text-secondary, #475569); text-decoration: none;
      padding: 5px 8px 5px 12px; border-radius: 6px;
      position: relative;
      transition: color 150ms ease, background 150ms ease, padding-left 150ms ease;
    }
    .ask-megamenu__sub a:hover {
      color: var(--color-primary, #1E60D1);
      background: var(--color-bg-secondary, #F5F8FC);
      padding-left: 16px;
    }

    /* Листовые группы (без подкатегорий) — нижняя граница как у обычных групп
       для единообразного вида (1.0.55). */
    .ask-megamenu__group--leaf .ask-megamenu__group-head {
      padding-bottom: 10px;
      border-bottom: 1.5px solid var(--color-border, #E2E8F0);
      font-weight: 600;
      color: var(--color-text, #1F2937);
    }
    .ask-megamenu__group--leaf .ask-megamenu__group-head:hover {
      color: var(--color-primary, #1E60D1);
      border-bottom-color: var(--color-primary, #1E60D1);
    }

    .ask-megamenu__footer {
      display: flex; justify-content: space-between; align-items: center;
      margin-top: 32px; padding-top: 20px;
      border-top: 1px solid var(--color-border, #E2E8F0);
    }
    .ask-megamenu__footer-text {
      font-family: var(--font-body, 'Golos Text', sans-serif);
      font-size: 14px; color: var(--color-text-secondary, #475569);
    }
    .ask-megamenu__footer-link {
      font-family: var(--font-heading, 'Rubik', sans-serif);
      font-weight: 600; font-size: 14px;
      color: var(--color-primary, #1E60D1); text-decoration: none;
      display: inline-flex; align-items: center; gap: 6px;
    }
    .ask-megamenu__footer-link:hover { color: var(--color-primary-hover, #1748A8); }

    @media (max-width: 1200px) {
      .ask-megamenu__inner { grid-template-columns: repeat(3, 1fr); }
    }
    @media (max-width: 992px) {
      .ask-megamenu,
      html body .ask-megamenu,
      html body .ask-megamenu.is-open { display: none !important; visibility: hidden !important; }
    }

    /* Mobile menu */
    /* плавный slide-in из правого края вместо display:none/flex */
    .ask-mobile-menu {
      position: fixed; inset: 0; background: var(--color-bg); z-index: var(--z-modal);
      display: flex; flex-direction: column; padding: 16px var(--container-padding) 24px;
      overflow-y: auto;
      transform: translateX(100%); visibility: hidden;
      transition: transform 280ms cubic-bezier(0.16, 1, 0.3, 1), visibility 0ms 280ms;
    }
    .ask-mobile-menu.is-open {
      transform: translateX(0); visibility: visible;
      transition: transform 280ms cubic-bezier(0.16, 1, 0.3, 1), visibility 0ms 0ms;
    }
    .ask-mobile-menu__header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 14px; }
    .ask-mobile-menu__search {
      display: flex; align-items: center; gap: 10px;
      background: var(--color-bg-secondary); border: 1.5px solid var(--color-border);
      border-radius: var(--radius-full); padding: 3px 3px 3px 18px;
      height: 44px; margin-bottom: 16px;
    }
    .ask-mobile-menu__search i { color: var(--color-primary); font-size: 16px; flex-shrink: 0; }
    .ask-mobile-menu__search input { flex: 1; border: none; background: none; outline: none; font-family: var(--font-body); font-size: 15px; color: var(--color-text); }
    .ask-mobile-menu__search input::placeholder { color: var(--color-text-muted); }
    .ask-mobile-menu__search button {
      height: 36px; padding: 0 16px;
      background: var(--color-primary); color: #fff;
      font-family: var(--font-heading); font-weight: var(--fw-semibold); font-size: 13px;
      border: none; border-radius: var(--radius-full); cursor: pointer;
      flex-shrink: 0;
    }
    .ask-mobile-menu__close { width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; font-size: 24px; color: var(--color-text); }
    .ask-mobile-menu__nav { display: flex; flex-direction: column; gap: 2px; }
    .ask-mobile-menu__link { font-family: var(--font-heading); font-weight: var(--fw-medium); font-size: 16px; color: var(--color-text); padding: 10px 0; border-bottom: 1px solid var(--color-border); display: block; }
    .ask-mobile-menu__group { border-bottom: 1px solid var(--color-border); }
    .ask-mobile-menu__group[open] summary i.ti-chevron-down { transform: rotate(180deg); }
    .ask-mobile-menu__group summary {
      list-style: none; cursor: pointer;
      font-family: var(--font-heading); font-weight: var(--fw-medium); font-size: 16px; color: var(--color-text);
      padding: 10px 0; display: flex; align-items: center; justify-content: space-between;
    }
    .ask-mobile-menu__group summary::-webkit-details-marker { display: none; }
    .ask-mobile-menu__group summary i { font-size: 13px; color: var(--color-text-muted); transition: transform 200ms ease; }
    .ask-mobile-menu__sub { display: flex; flex-direction: column; gap: 0; padding: 2px 0 10px 14px; border-left: 2px solid var(--color-accent-soft); margin-left: 4px; }
    .ask-mobile-menu__sub > a { font-family: var(--font-body); font-size: 14px; color: var(--color-text-secondary); padding: 6px 0; text-decoration: none; }
    .ask-mobile-menu__sub > a:hover { color: var(--color-primary); }

    /* [1.4.18] Подкатегории в Каталог-секции бургер-меню (2-й уровень) */
    .ask-mobile-menu__subgroup { border-top: 1px solid rgba(226,232,240,0.6); }
    .ask-mobile-menu__subgroup:first-child { border-top: 0; }
    .ask-mobile-menu__subgroup[open] .ask-mobile-menu__subgroup-chevron { transform: rotate(180deg); }
    .ask-mobile-menu__subgroup > summary {
      list-style: none; cursor: pointer;
      display: flex; align-items: center; justify-content: space-between;
      gap: 12px;
      padding: 8px 0;
      font-family: var(--font-body); font-size: 14px; font-weight: 500;
      color: var(--color-text);
    }
    .ask-mobile-menu__subgroup > summary::-webkit-details-marker { display: none; }
    .ask-mobile-menu__subgroup-name { flex: 1; min-width: 0; }
    .ask-mobile-menu__subgroup-chevron { font-size: 11px !important; color: var(--color-text-muted); transition: transform 200ms ease; flex-shrink: 0; }
    .ask-mobile-menu__subsub {
      display: flex; flex-direction: column;
      padding: 2px 0 10px 12px;
      border-left: 2px solid rgba(30,96,209,0.10);
      margin-left: 4px;
    }
    .ask-mobile-menu__subsub a {
      font-family: var(--font-body); font-size: 13.5px; color: var(--color-text-secondary);
      padding: 6px 0; text-decoration: none;
    }
    .ask-mobile-menu__subsub a:hover { color: var(--color-primary); }
    .ask-mobile-menu__subsub-all {
      font-weight: 600 !important;
      color: var(--color-primary) !important;
      font-size: 13px !important;
      text-transform: uppercase;
      letter-spacing: 0.04em;
    }
    .ask-mobile-menu__subgroup-leaf {
      display: block;
      font-family: var(--font-body); font-size: 14px; font-weight: 500;
      color: var(--color-text);
      padding: 8px 0;
      text-decoration: none;
      border-top: 1px solid rgba(226,232,240,0.6);
    }
    .ask-mobile-menu__subgroup-leaf:first-child { border-top: 0; }
    .ask-mobile-menu__subgroup-leaf:hover { color: var(--color-primary); }
    .ask-mobile-menu__contacts { margin-top: 20px; display: flex; flex-direction: column; gap: 8px; }
    .ask-mobile-menu__phone { display: flex; align-items: center; gap: 8px; font-family: var(--font-heading); font-weight: var(--fw-semibold); font-size: 18px; color: var(--color-text); }
    .ask-mobile-menu__phone i { color: var(--color-primary); }

    /* ===== 3. HERO ===== */
    .ask-hero { position: relative; height: 580px; overflow: hidden; }
    .ask-hero__slider { position: relative; height: 100%; }
    .ask-hero__track { display: flex; height: 100%; transition: transform 0.5s ease; }
    .ask-hero__slide {
      min-width: 100%; height: 100%;
      background: #05101E;
      position: relative; overflow: hidden;
    }
    .ask-hero__slide--1 { background: radial-gradient(ellipse at 30% 40%, #0F2547 0%, #0A1830 70%); }
    .ask-hero__slide--2 { background: radial-gradient(ellipse at 70% 40%, #11243D 0%, #06101E 70%); }
    .ask-hero__slide--3 { background: radial-gradient(ellipse at 50% 50%, #1A1528 0%, #080513 70%); }
    .ask-hero__slide--4 { background: radial-gradient(ellipse at 50% 40%, #0A1428 0%, #020612 70%); }
    .ask-hero__slide--5 { background: radial-gradient(ellipse at 35% 45%, #0E2A4A 0%, #06121F 70%); }
    .ask-hero__slide--6 { background: radial-gradient(ellipse at 60% 40%, #2A1410 0%, #0A0604 70%); }
    /* [1.4.38] Сервис-слайды: картинка-баннер во всю ширину, без правого фото,
       минимум затемнения (картинки уже с запечённым лёгким градиентом слева) */
    .ask-hero__slide--svc .ask-hero__slide-bg { opacity: 1; mix-blend-mode: normal; object-position: center right; }
    /* [1.4.48] сервис-слайды — ЯВНЫЙ градиент слева под контентом → прозрачный справа.
       Правая половина (картинка) полностью открыта → суммарно слабее товарных. */
    .ask-hero__slide--svc::after {
      display: block !important;
      background: linear-gradient(90deg, rgba(5,15,34,0.68) 0%, rgba(5,15,34,0.5) 22%, rgba(5,15,34,0.22) 42%, rgba(5,15,34,0) 60%) !important;
    }
    .ask-hero__slide--svc .ask-hero__title,
    .ask-hero__slide--svc .ask-hero__subtitle { color: #fff; text-shadow: none; }
    .ask-hero__slide--svc .ask-hero__media { display: none; }
    .ask-hero__slide--svc .ask-hero__inner { grid-template-columns: 1fr; }
    .ask-hero__slide--svc .ask-hero__content { max-width: 560px; }
    .ask-hero__slide-bg {
      position: absolute; inset: 0; object-fit: cover; width: 100%; height: 100%;
      opacity: 0.28; mix-blend-mode: screen;
    }
    .ask-hero__slide::after {
      content: ''; position: absolute; inset: 0;
      /* [1.4.47] товарные слайды — затемнение ослаблено (было 0.85/0.4/0.15) */
      background: linear-gradient(90deg, rgba(5,15,34,0.6) 0%, rgba(5,15,34,0.28) 50%, rgba(5,15,34,0.06) 100%);
      z-index: 1;
    }
    @media (max-width: 768px) {
      /* [1.4.47] на мобиле фоновая картинка слайда — на всю площадь у ВСЕХ слайдов */
      .ask-hero__slide-bg { opacity: 1 !important; mix-blend-mode: normal !important; }
      /* товарные слайды — равномерное, но ослабленное затемнение фона */
      .ask-hero__slide::after {
        background: rgba(5,15,34,0.42) !important;
      }
      /* сервис-слайды — полное затемнение, но заметно слабее товарных */
      .ask-hero__slide--svc::after {
        background: rgba(5,15,34,0.24) !important;
      }
    }
    .ask-hero__inner { z-index: 2; }

    .ask-hero__inner { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 48px; height: 100%; position: relative; z-index: 2; }
    .ask-hero__content { display: flex; flex-direction: column; gap: 24px; }

    .ask-hero__title { font-size: var(--fs-h1); font-weight: var(--fw-bold); line-height: 1.1; color: var(--color-text-inverse); }
    .ask-hero__subtitle { font-size: 18px; line-height: 1.6; color: var(--color-text-on-dark); }
    .ask-hero__actions { display: flex; gap: 16px; flex-wrap: wrap; }
    .ask-hero__media { display: flex; align-items: center; justify-content: center; }
    .ask-hero__media img { border-radius: var(--radius-xl); width: 100%; max-height: 420px; object-fit: cover; opacity: 0.9; }
    .ask-hero__arrow {
      position: absolute; top: 50%; transform: translateY(-50%);
      width: 48px; height: 48px; border-radius: var(--radius-full);
      background: rgba(255,255,255,0.9); border: none; cursor: pointer;
      display: flex; align-items: center; justify-content: center;
      transition: background var(--transition-base);
      z-index: 3;
    }
    .ask-hero__arrow i { font-size: 24px; color: var(--color-primary); }
    .ask-hero__arrow:hover { background: white; }
    .ask-hero__arrow--prev { left: 24px; }
    .ask-hero__arrow--next { right: 24px; }
    .ask-hero__dots { position: absolute; bottom: 24px; left: 50%; transform: translateX(-50%); display: flex; gap: 8px; z-index: 3; }
    .ask-hero__dot {
      width: 10px; height: 10px; border-radius: var(--radius-full);
      background: rgba(255,255,255,0.5); border: none; cursor: pointer;
      transition: width var(--transition-base), background var(--transition-base);
    }
    .ask-hero__dot.is-active { width: 28px; background: var(--color-primary); }

    /* ===== 4. УТП-ПОЛОСКА ===== */
    .ask-features { background: var(--color-bg-secondary); padding: 48px 0; }
    .ask-features__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 32px; }
    .ask-features__item { display: flex; align-items: flex-start; gap: 16px; }
    .ask-features__icon {
      width: 56px; height: 56px; border-radius: var(--radius-full);
      background: var(--color-accent-soft);
      display: flex; align-items: center; justify-content: center; flex-shrink: 0;
    }
    .ask-features__icon i { font-size: 28px; color: var(--color-primary); }
    .ask-features__text { display: flex; flex-direction: column; gap: 4px; }
    .ask-features__title { font-family: var(--font-heading); font-weight: var(--fw-semibold); font-size: 16px; line-height: 1.3; color: var(--color-text); }
    .ask-features__caption { font-family: var(--font-body); font-size: 14px; line-height: 1.5; color: var(--color-text-secondary); }

    /* ===== 5. КАТЕГОРИИ ===== */
    .ask-categories { background: var(--color-bg); padding: var(--space-8) 0; }
    .ask-categories__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
    .ask-cat-card {
      display: flex; flex-direction: column; justify-content: flex-end;
      padding: 20px; gap: 4px; position: relative; overflow: hidden;
      border-radius: var(--radius-lg);
      text-decoration: none; aspect-ratio: 1/1;
      isolation: isolate;
    }
    .ask-cat-card__img {
      position: absolute; inset: 0; width: 100%; height: 100%;
      object-fit: cover; z-index: -2;
      transition: transform 400ms ease;
    }
    .ask-cat-card::before {
      content: ''; position: absolute; inset: 0;
      background: linear-gradient(180deg, rgba(8,26,61,0) 0%, rgba(8,26,61,0.25) 40%, rgba(8,26,61,0.88) 100%);
      z-index: -1;
      transition: opacity 280ms ease;
    }
    .ask-cat-card::after {
      content: ''; position: absolute; left: 0; bottom: 0;
      height: 3px; width: 0; background: var(--color-accent);
      transition: width 320ms ease;
      z-index: 1;
    }
    .ask-cat-card:hover::after { width: 100%; }
    .ask-cat-card:hover .ask-cat-card__img { transform: scale(1.06); }
    .ask-cat-card__title { font-family: var(--font-heading); font-weight: var(--fw-semibold); font-size: 18px; color: #fff; line-height: 1.25; text-shadow: 0 1px 2px rgba(0,0,0,0.3); }
    .ask-cat-card__caption { font-family: var(--font-body); font-size: 13.5px; line-height: 1.45; color: rgba(255,255,255,0.82); }

    /* ===== 6. ТОВАРЫ ===== */
    .ask-products { background: var(--color-bg-secondary); padding: var(--space-8) 0; }
    .ask-products__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
    .ask-product-card {
      display: flex; flex-direction: column; gap: 12px; padding: 24px;
      background: var(--color-bg); border: 1px solid var(--color-border);
      border-radius: var(--radius-lg); position: relative; overflow: hidden;
      transition: border-color var(--transition-base);
    }
    .ask-product-card::before {
      content: ''; position: absolute; top: 0; left: 0; right: 0;
      height: 3px; transform: scaleX(0); transform-origin: left;
      background: var(--color-primary);
      transition: transform 280ms ease;
    }
    .ask-product-card:hover { border-color: var(--color-primary); }
    .ask-product-card:hover::before { transform: scaleX(1); }
    .ask-product-card__media { aspect-ratio: 1/1; position: relative; border-radius: var(--radius-md); background: var(--color-bg-secondary); overflow: hidden; }
    .ask-product-card__media img { width: 100%; height: 100%; object-fit: cover; }
    .ask-product-card__badge {
      position: absolute; top: 12px; left: 12px;
      font-family: var(--font-heading); font-weight: var(--fw-medium); font-size: 12px;
      padding: 4px 8px; border-radius: var(--radius-sm);
    }
    .ask-product-card__badge--success { background: var(--color-success-soft); color: var(--color-success); }
    .ask-product-card__badge--danger { background: var(--color-danger); color: white; }

    .ask-product-card__category { font-family: var(--font-body); font-size: 12px; line-height: 1.4; text-transform: uppercase; letter-spacing: 0.05em; color: var(--color-text-muted); }
    .ask-product-card__title { font-family: var(--font-heading); font-weight: var(--fw-semibold); font-size: 18px; line-height: 1.35; color: var(--color-text); overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; min-height: 2.7em; }
    .ask-product-card__sku { font-family: var(--font-body); font-size: 14px; line-height: 1.5; color: var(--color-text-secondary); }
    .ask-product-card__desc { font-family: var(--font-body); font-size: 14px; line-height: 1.5; color: var(--color-text-secondary); overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; min-height: 3em; }
    .ask-product-card__footer { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: auto; }
    .ask-product-card__price { font-family: var(--font-heading); font-weight: var(--fw-bold); font-size: 22px; color: var(--color-primary); }
    .ask-products__more { display: flex; justify-content: center; margin-top: 40px; }

    /* ===== 8. О КОМПАНИИ ===== */
    .ask-about { background: var(--color-bg-secondary); padding: 80px 0; }
    .ask-about__inner { display: grid; grid-template-columns: 5fr 6fr; gap: 64px; align-items: center; }
    .ask-about__media { position: relative; aspect-ratio: 4/5; border-radius: var(--radius-xl); overflow: visible; }
    .ask-about__photo { width: 100%; height: 100%; object-fit: cover; border-radius: var(--radius-xl); }
    .ask-about__badge {
      position: absolute; background: var(--color-bg); border-radius: var(--radius-lg);
      box-shadow: var(--shadow-md); display: flex; flex-direction: column;
      padding: 16px 20px; gap: 4px;
    }
    .ask-about__badge--years { top: 24px; left: -32px; align-items: center; }
    .ask-about__badge--team { bottom: 32px; right: -24px; flex-direction: row; align-items: center; gap: 12px; max-width: 200px; }
    .ask-about__badge-num { font-family: var(--font-heading); font-weight: var(--fw-bold); font-size: 40px; color: var(--color-primary); line-height: 1; }
    .ask-about__badge-label { font-family: var(--font-body); font-size: 14px; line-height: 1.3; color: var(--color-text-secondary); }
    .ask-about__badge--team i { font-size: 24px; color: var(--color-primary); flex-shrink: 0; }
    .ask-about__badge--team span { font-family: var(--font-body); font-size: 14px; line-height: 1.4; color: var(--color-text); }
    .ask-about__content { display: flex; flex-direction: column; gap: 24px; }
    .ask-about__eyebrow { font-family: var(--font-heading); font-weight: var(--fw-semibold); font-size: 13px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--color-primary); }
    .ask-about__title { font-size: var(--fs-h2); line-height: 1.2; }
    .ask-about__text { font-family: var(--font-body); font-size: 16px; line-height: 1.6; color: var(--color-text-secondary); }
    .ask-about__benefits { display: flex; flex-direction: column; gap: 12px; }
    .ask-about__benefits li { display: flex; align-items: flex-start; gap: 12px; font-family: var(--font-body); font-size: 16px; line-height: 1.5; color: var(--color-text); }
    .ask-about__benefits li i { font-size: 20px; color: var(--color-success); flex-shrink: 0; margin-top: 2px; }
    .ask-about__cta { align-self: flex-start; }

    /* ===== 9. ЦИФРЫ ДОВЕРИЯ ===== */
    .ask-stats {
      background: var(--color-bg-dark);
      background-image: linear-gradient(135deg, var(--color-primary-dark) 0%, var(--color-primary-active) 100%);
      padding: 80px 0;
    }
    .ask-stats__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 32px; }
    .ask-stats__item {
      display: flex; flex-direction: column; align-items: center; text-align: center; gap: 8px;
      position: relative;
    }
    .ask-stats__item:not(:last-child)::after { content: ''; position: absolute; right: 0; top: 10%; bottom: 10%; width: 1px; background: rgba(255,255,255,0.15); }
    .ask-stats__num { font-family: var(--font-heading); font-weight: var(--fw-bold); font-size: 64px; color: var(--color-text-inverse); line-height: 1; }
    .ask-stats__label { font-family: var(--font-heading); font-weight: var(--fw-medium); font-size: 18px; color: var(--color-text-on-dark); }
    .ask-stats__caption { font-family: var(--font-body); font-size: 14px; line-height: 1.4; color: rgba(255,255,255,0.6); }

    /* ===== 10. НОВОСТИ + АКЦИИ ===== */
    .ask-news { background: var(--color-bg); padding: var(--space-8) 0; }
    .ask-news__layout { display: grid; grid-template-columns: 2fr 1fr; gap: 48px; }
    .ask-news__col { display: flex; flex-direction: column; }
    .ask-news__list { display: flex; flex-direction: column; gap: 20px; }
    .ask-news-card {
      display: grid; grid-template-columns: 200px 1fr; gap: 20px; padding: 16px;
      border: 1px solid var(--color-border); border-radius: var(--radius-lg);
      transition: border-color var(--transition-base), background var(--transition-base);
      text-decoration: none;
    }
    .ask-news-card:hover { border-color: var(--color-primary); background: var(--color-bg-secondary); }
    .ask-news-card__media { aspect-ratio: 4/3; border-radius: var(--radius-md); overflow: hidden; }
    .ask-news-card__media img { width: 100%; height: 100%; object-fit: cover; }
    .ask-news-card__body { display: flex; flex-direction: column; gap: 8px; }
    .ask-news-card__date { font-family: var(--font-body); font-size: 13px; line-height: 1.4; color: var(--color-text-muted); }
    .ask-news-card__title { font-family: var(--font-heading); font-weight: var(--fw-semibold); font-size: 18px; line-height: 1.3; color: var(--color-text); }
    .ask-news-card__excerpt { font-family: var(--font-body); font-size: 14px; line-height: 1.5; color: var(--color-text-secondary); overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
    .ask-news-card__link { display: flex; align-items: center; gap: 4px; font-family: var(--font-heading); font-weight: var(--fw-medium); font-size: 14px; color: var(--color-primary); margin-top: auto; }
    .ask-news-card__link i { transition: transform var(--transition-base); }
    .ask-news-card:hover .ask-news-card__link i { transform: translateX(4px); }
    .ask-promo__list { display: flex; flex-direction: column; gap: 20px; }
    .ask-promo-card {
      display: flex; flex-direction: column; gap: 12px; padding: 28px;
      border-radius: var(--radius-lg); position: relative;
      background: var(--color-accent-soft); border: 1px solid var(--color-accent);
      transition: border-color var(--transition-base), background var(--transition-base);
    }
    .ask-promo-card:hover { border-color: var(--color-primary); background: #DCE7FF; }
    .ask-promo-card__badge {
      position: absolute; top: 20px; right: 20px;
      font-family: var(--font-heading); font-weight: var(--fw-bold); font-size: 14px;
      padding: 6px 12px; border-radius: var(--radius-sm); background: var(--color-warning); color: white;
    }
    .ask-promo-card__title { font-family: var(--font-heading); font-weight: var(--fw-semibold); font-size: 20px; color: var(--color-text); padding-right: 80px; }
    .ask-promo-card__excerpt { font-family: var(--font-body); font-size: 14px; line-height: 1.5; color: var(--color-text-secondary); }
    .ask-promo-card__date { font-family: var(--font-body); font-size: 13px; line-height: 1.4; color: var(--color-text-muted); }

    /* ===== 11. БРЕНДЫ ===== */
    .ask-brands { background: var(--color-bg-secondary); padding: var(--space-8) 0; }
    .ask-brands__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 32px; align-items: center; }
    .ask-brands__tile {
      display: flex; align-items: center; justify-content: center; padding: 24px;
      border-radius: var(--radius-md); background: var(--color-bg); border: 1px solid var(--color-border);
      height: 100px; transition: border-color var(--transition-base), box-shadow var(--transition-base);
    }
    .ask-brands__tile:hover { border-color: var(--color-primary); }
    .ask-brands__tile:hover .ask-brand-logo { filter: grayscale(0%); opacity: 1; }
    .ask-brand-logo {
      font-family: var(--font-heading); font-weight: var(--fw-bold); font-size: 20px;
      color: var(--color-text-secondary);
      filter: grayscale(100%); opacity: 0.6;
      transition: filter var(--transition-base), opacity var(--transition-base);
    }

    /* ===== 12. CTA ===== */
    .ask-cta { background: var(--color-bg-dark); padding: 80px 0; }
    .ask-cta__card {
      display: grid; grid-template-columns: 1fr 1fr; gap: 64px; padding: 56px;
      border-radius: var(--radius-xl); background: var(--color-bg); box-shadow: var(--shadow-lg);
    }
    .ask-cta__content { display: flex; flex-direction: column; gap: 20px; justify-content: center; }
    .ask-cta__title { font-family: var(--font-heading); font-weight: var(--fw-bold); font-size: 36px; color: var(--color-text); }
    .ask-cta__text { font-family: var(--font-body); font-size: 18px; line-height: 1.6; color: var(--color-text-secondary); }
    .ask-cta__benefits { display: flex; flex-direction: column; gap: 8px; }
    .ask-cta__benefits li { display: flex; align-items: center; gap: 8px; font-family: var(--font-body); font-size: 15px; line-height: 1.5; color: var(--color-text); }
    .ask-cta__benefits li i { font-size: 18px; color: var(--color-success); flex-shrink: 0; }
    .ask-cta__form { display: flex; flex-direction: column; gap: 16px; }
    .ask-form__field { display: flex; flex-direction: column; gap: 8px; }
    .ask-form__label { font-family: var(--font-body); font-size: 14px; font-weight: var(--fw-semibold); line-height: 1.4; color: var(--color-text); display: block; }
    .ask-form__required { color: var(--color-danger); }
    .ask-form__input {
      height: 48px; padding: 12px 16px;
      font-family: var(--font-body); font-size: 16px; line-height: 1.5; color: var(--color-text);
      background: var(--color-bg); border: 1px solid var(--color-border); border-radius: var(--radius-sm);
      width: 100%; outline: none;
      transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
    }
    .ask-form__input::placeholder { color: var(--color-text-muted); }
    .ask-form__input:hover { border-color: var(--color-border-strong); }
    .ask-form__input:focus { border-color: var(--color-primary); box-shadow: 0 0 0 3px rgba(14,58,138,0.20); }
    .ask-cta__submit { width: 100%; }
    .ask-cta__privacy { font-family: var(--font-body); font-size: 12px; line-height: 1.4; color: var(--color-text-muted); }
    .ask-cta__privacy a { color: var(--color-primary); text-decoration: underline; }

    /* ===== 12b. CALLBACK MODAL — [1.0.61] всплывающая форма обратной связи ===== */
    .ask-modal { position: fixed; inset: 0; z-index: 10000; display: none; }
    .ask-modal.is-open { display: block; }
    .ask-modal__backdrop {
      position: absolute; inset: 0;
      background: rgba(8, 26, 61, 0.65);
      -webkit-backdrop-filter: blur(4px);
      backdrop-filter: blur(4px);
      animation: askModalFadeIn 200ms ease;
    }
    .ask-modal__dialog {
      position: relative;
      max-width: 480px;
      width: calc(100% - 32px);
      max-height: calc(100vh - 32px);
      margin: 0 auto;
      top: 50%;
      transform: translateY(-50%);
      background: var(--color-bg);
      border-radius: var(--radius-xl);
      box-shadow: 0 24px 48px rgba(8, 26, 61, 0.35);
      overflow-y: auto;
      animation: askModalSlideUp 240ms cubic-bezier(0.16, 1, 0.3, 1);
    }
    .ask-modal__close {
      position: absolute; top: 16px; right: 16px;
      width: 36px; height: 36px;
      display: flex; align-items: center; justify-content: center;
      background: transparent; border: none; cursor: pointer;
      color: var(--color-text-muted);
      border-radius: var(--radius-full);
      font-size: 20px;
      transition: background var(--transition-fast), color var(--transition-fast);
      z-index: 2;
    }
    .ask-modal__close:hover,
    .ask-modal__close:focus { background: var(--color-primary, #1E60D1); color: #fff; }
    .ask-modal__close:hover i,
    .ask-modal__close:focus i,
    .ask-modal__close:hover .ti,
    .ask-modal__close:focus .ti { color: #fff !important; fill: currentColor !important; }
    .ask-modal__content { padding: 40px 36px 32px; }
    /* специфичность html body перебивает Hello Elementor inline h2 { font-size:36px !important } */
    html body .ask-modal__title,
    html body[class] .ask-modal__title {
      font-family: var(--font-heading) !important; font-weight: var(--fw-bold) !important;
      font-size: 20px !important; line-height: 1.25 !important; color: var(--color-text) !important;
      margin: 0 0 10px !important;
      padding-right: 32px !important;
    }
    .ask-modal__text {
      font-family: var(--font-body); font-size: 15px; line-height: 1.55;
      color: var(--color-text-secondary);
      margin: 0 0 20px;
    }

    .ask-modal__form { display: flex; flex-direction: column; gap: 16px; }
    .ask-modal__submit { width: 100%; }
    .ask-modal__privacy {
      font-family: var(--font-body); font-size: 12px; line-height: 1.4;
      color: var(--color-text-muted);
      margin: 4px 0 0;
    }
    .ask-modal__privacy a { color: var(--color-primary); text-decoration: underline; }

    @keyframes askModalFadeIn { from { opacity: 0; } to { opacity: 1; } }
    @keyframes askModalSlideUp {
      from { opacity: 0; transform: translateY(-46%); }
      to   { opacity: 1; transform: translateY(-50%); }
    }

    @media (max-width: 540px) {
      .ask-modal__content { padding: 32px 24px 24px; }
      .ask-modal__title { font-size: 22px; }

    }

    /* ===== 13. FOOTER ===== */
    .ask-footer__main { background: var(--color-bg-dark); padding: 64px 0 48px; }
    .ask-footer__grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1.3fr; gap: 40px; }
    .ask-footer__col h4 + .ask-footer__help { margin-top: 24px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,0.1); }
    .ask-footer__help { display: flex; flex-direction: column; gap: 6px; }
    .ask-footer__help-heading { font-family: var(--font-heading); font-weight: var(--fw-semibold); font-size: 13px; color: var(--color-text-on-dark); letter-spacing: 0.02em; margin-bottom: 4px; }
    .ask-footer__help a { font-family: var(--font-body); font-size: 13px; color: rgba(255,255,255,0.55); transition: color var(--transition-fast); text-decoration: none; }
    .ask-footer__help a:hover { color: var(--color-accent); }
    .ask-footer__col { display: flex; flex-direction: column; gap: 16px; }
    .ask-footer__col--brand { max-width: 320px; gap: 20px; }
    .ask-footer__logo { display: flex; font-family: var(--font-heading); font-weight: var(--fw-bold); font-size: 24px; text-decoration: none; }
    .ask-footer__logo span:first-child { color: white; }
    .ask-footer__logo-mark { color: var(--color-accent); }
    .ask-footer__about { font-family: var(--font-body); font-size: 14px; line-height: 1.6; color: var(--color-text-on-dark); }
    .ask-footer__socials { display: flex; gap: 12px; }
    .ask-footer__socials a {
      width: 40px; height: 40px; border-radius: var(--radius-full);
      background: rgba(255,255,255,0.08); display: flex; align-items: center; justify-content: center;
      color: white; font-size: 20px; transition: background var(--transition-base);
    }
    .ask-footer__socials a:hover { background: var(--color-accent); }
    .ask-footer__heading { font-family: var(--font-heading); font-weight: var(--fw-semibold); font-size: 16px; color: var(--color-text-inverse); }
    .ask-footer__links { display: flex; flex-direction: column; gap: 8px; }
    .ask-footer__links a { font-family: var(--font-body); font-size: 14px; line-height: 1.6; color: var(--color-text-on-dark); transition: color var(--transition-fast); }
    .ask-footer__links a:hover { color: var(--color-text-inverse); }
    .ask-footer__contacts { display: flex; flex-direction: column; gap: 10px; }
    .ask-footer__contacts li { display: flex; align-items: flex-start; gap: 10px; font-family: var(--font-body); font-size: 14px; line-height: 1.5; color: var(--color-text-on-dark); }
    .ask-footer__contacts li i { font-size: 18px; color: var(--color-accent); flex-shrink: 0; margin-top: 2px; }
    .ask-footer__contacts a { color: var(--color-text-on-dark); transition: color var(--transition-fast); }
    .ask-footer__contacts a:hover { color: var(--color-accent); }

    .ask-footer__quick-row .ask-form__input { background: rgba(255,255,255,0.08); border-color: rgba(255,255,255,0.15); color: white; height: 44px; flex: 1; }
    .ask-footer__quick-row .ask-form__input::placeholder { color: rgba(255,255,255,0.4); }
    .ask-footer__quick-row .ask-btn { width: 44px; height: 44px; padding: 0; flex-shrink: 0; }
    .ask-footer__bottom { background: var(--color-bg-darker); padding: 20px 0; border-top: 1px solid rgba(255,255,255,0.08); }
    .ask-footer__bottom-row { display: flex; justify-content: space-between; align-items: center; gap: 24px; }
    .ask-footer__bottom-row p { font-family: var(--font-body); font-size: 13px; line-height: 1.4; color: rgba(255,255,255,0.5); margin: 0; }
    .ask-footer__powered a { color: rgba(255,255,255,0.75); text-decoration: none; font-weight: 500; transition: color 200ms ease; }
    .ask-footer__powered a:hover { color: #fff; }

    /* ===== RESPONSIVE ===== */
    @media (min-width: 1440px) {
      :root { --container-max: 1320px; }
      .ask-hero { height: 640px; }
      .ask-header__search { max-width: 460px; }
    }

    @media (max-width: 1200px) {
      .ask-header__nav-link { padding: 28px 8px; font-size: 14px; }
      .ask-header__search { flex-basis: 220px; min-width: 200px; }
      .ask-header__search-btn { padding: 0 16px; }
      .ask-categories__grid { gap: 20px; }
      .ask-products__grid { gap: 20px; }
    }

    @media (max-width: 992px) {
      .ask-topbar { display: none; }
      .ask-header__nav { display: none; }
      .ask-header__cta { display: none; }

      .ask-header__burger { display: flex; }
      .ask-header__logo-tagline { display: none; }
      .ask-header__search { flex: 1 1 auto; min-width: 0; max-width: none; margin-left: 16px; }
      .ask-header__search-btn { display: none; }
      .ask-features__grid { grid-template-columns: repeat(2, 1fr); gap: 24px; }
      .ask-categories__grid { grid-template-columns: repeat(3, 1fr); }
      .ask-products__grid { grid-template-columns: repeat(3, 1fr); }
      .ask-about__inner { grid-template-columns: 1fr; gap: 40px; }
      .ask-about__media { aspect-ratio: 16/10; }
      .ask-about__badge--years { left: 16px; }
      .ask-about__badge--team { right: 16px; }
      .ask-stats__grid { grid-template-columns: repeat(2, 1fr); gap: 40px; }
      .ask-stats__item:not(:last-child)::after { display: none; }
      .ask-stats__num { font-size: 48px; }
      .ask-news__layout { grid-template-columns: 1fr; gap: 48px; }
      .ask-brands__grid { grid-template-columns: repeat(3, 1fr); }
      .ask-cta__card { grid-template-columns: 1fr; gap: 40px; padding: 40px 32px; }
      .ask-footer__grid { grid-template-columns: 1fr 1fr; gap: 40px; }
      .ask-footer__col--brand { grid-column: span 2; max-width: none; }
      .ask-footer__col--contacts { grid-column: span 2; }
    }

    @media (max-width: 768px) {
      .ask-header__inner { height: 64px; gap: 12px; }
      .ask-header__search { display: none; }

      .ask-header__burger { margin-left: 0; }
      .ask-hero { height: auto; min-height: 460px; }
      .ask-hero__inner { grid-template-columns: 1fr; padding-top: 56px; padding-bottom: 56px; gap: 20px; }
      .ask-hero__media { display: none; }
      .ask-hero__title { font-size: 28px; line-height: 1.15; }
      .ask-hero__subtitle { font-size: 15px; line-height: 1.5; }
      .ask-hero__subtitle br { display: none; }
      .ask-hero__actions { flex-direction: column; }
      .ask-hero__actions .ask-btn { width: 100%; }
      .ask-hero__arrow { display: none; }
      .ask-categories__grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
      /* на мобайле: фото сверху, текст снизу на фоне — overlay убираем */
      .ask-cat-card {
        aspect-ratio: unset; padding: 0; gap: 0;
        flex-direction: column; justify-content: flex-start;
        background: var(--color-bg-secondary);
        overflow: hidden;
      }
      .ask-cat-card::before { display: none; }
      .ask-cat-card__img {
        position: static !important; inset: auto !important;
        width: 100% !important; height: auto !important; z-index: auto !important;
        aspect-ratio: 4/3; object-fit: cover;
        border-radius: 0; transform: none !important;
      }
      .ask-cat-card__title {
        font-size: 13px; line-height: 1.25;
        color: var(--color-text); text-shadow: none;
        padding: 8px 10px 4px;
      }
      .ask-cat-card__caption { font-size: 11px; line-height: 1.3; color: var(--color-text-secondary); padding: 0 10px 8px; }
      .ask-products__grid { grid-template-columns: repeat(2, 1fr); gap: 16px; }
      .ask-product-card { padding: 16px; }
      .ask-product-card__title { font-size: 15px; }
      .ask-product-card__price { font-size: 18px; }
      .ask-product-card__footer { flex-direction: column; align-items: stretch; gap: 8px; }
      .ask-news-card { grid-template-columns: 1fr; }
      .ask-news-card__media { aspect-ratio: 16/9; }
      .ask-brands__grid { grid-template-columns: repeat(2, 1fr); gap: 16px; }
      .ask-brands__tile { height: 80px; }
      .ask-cta__title { font-size: 28px; }
      .ask-cta__card { padding: 32px 24px; }
      .ask-footer__grid { grid-template-columns: 1fr; gap: 32px; }
      .ask-footer__col--brand { grid-column: 1; }
      .ask-footer__col--contacts { grid-column: 1; }
      .ask-footer__bottom-row { flex-direction: column; align-items: flex-start; gap: 12px; }
      .ask-about__badge--years { left: 0; top: 16px; }
      .ask-about__badge--team { right: 0; bottom: 16px; }
      .ask-stats__num { font-size: 40px; }
    }

    @media (max-width: 480px) {
      .ask-features__grid { grid-template-columns: 1fr; gap: 20px; }
      .ask-hero { min-height: 420px; }
      .ask-hero__title { font-size: 24px; }
      .ask-products__grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
      .ask-product-card__desc { display: none; }
      .ask-product-card__footer { flex-direction: column; align-items: stretch; }
      .ask-categories__grid { grid-template-columns: repeat(2, 1fr); gap: 8px; }
      .ask-cat-card__title { font-size: 12px; padding: 6px 8px 2px; }
      .ask-cat-card__caption { display: none; }
      .ask-brands__grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
      .ask-stats__grid { grid-template-columns: 1fr; gap: 32px; }
      .ask-cta__card { padding: 24px 20px; }
    }

/* ===== СПЕЦИФИЧНОСТЬ ПРОТИВ HELLO ELEMENTOR / ELEMENTOR KIT ===== */
/* Elementor Kit ставит .elementor-kit-N { font-family: Inter } со специфичностью 0,1,0.
   Чтобы наш дизайн-фонт побеждал — добавляем body-префикс (специфичность 0,0,2) или !important. */

body,
body.elementor-kit-9,
body[class*="elementor-kit-"] { font-family: 'Golos Text', system-ui, -apple-system, sans-serif !important; color: var(--color-text); }

body h1, body h2, body h3, body h4, body h5, body h6 { font-family: 'Rubik', system-ui, -apple-system, sans-serif !important; }

/* Кнопки — boost specificity, не зависим от Hello Elementor button styles */
.ask-btn,
a.ask-btn,
button.ask-btn { font-family: 'Rubik', sans-serif; text-decoration: none !important; }
.ask-btn--primary,
a.ask-btn--primary,
button.ask-btn--primary { background: var(--color-primary) !important; color: #fff !important; border: none; }
.ask-btn--primary:hover,
a.ask-btn--primary:hover,
button.ask-btn--primary:hover { background: var(--color-primary-hover) !important; color: #fff !important; }
.ask-btn--secondary,
a.ask-btn--secondary { background: transparent !important; color: var(--color-primary) !important; border: 1.5px solid var(--color-primary) !important; }
.ask-btn--secondary:hover,
a.ask-btn--secondary:hover { background: var(--color-accent-soft) !important; color: var(--color-primary-hover) !important; }
.ask-btn--dark-outline { background: transparent !important; color: #fff !important; border: 1.5px solid rgba(255,255,255,0.4) !important; }
.ask-btn--dark-outline:hover { background: rgba(255,255,255,0.1) !important; }

/* Hello Elementor оборачивает контент в .site-content / .page-content — убираем лишние отступы */
body .site-content,
body .page-content,
body main { max-width: none !important; padding: 0 !important; margin: 0 !important; }

/* Hello Elementor добавляет site-header/site-footer wrapping — мы не используем, скрываем если случайно появляются */
.site-header > *:not(.ask-header):not(.ask-topbar):not(.ask-megamenu):not(.ask-mobile-menu),
.site-footer > *:not(.ask-footer) { display: none; }

/* Reset базовых элементов от Hello Elementor поверх наших */
body a { color: var(--color-primary); }
body p { margin: 0 0 1em 0; }
body img { max-width: 100%; height: auto; }

/* Линки в шапке/подвале не должны быть подчёркнутыми */
.ask-header a, .ask-footer a, .ask-topbar a, .ask-megamenu a, .ask-mobile-menu a { text-decoration: none !important; }

/* ===== ИКОНКИ ВНУТРИ КНОПОК ===== */
/* Hello Elementor / Elementor Kit могут перекрашивать <i> и <svg> внутри кнопок —
   на primary-фоне иконка может слиться с фоном. Фиксим явно. */
.ask-btn i,
.ask-btn svg,
.ask-btn .ti,
.ask-btn span { color: inherit !important; }
.ask-btn--primary i,
.ask-btn--primary svg,
.ask-btn--primary .ti,
a.ask-btn--primary i,
a.ask-btn--primary .ti,
button.ask-btn--primary i,
button.ask-btn--primary .ti { color: #fff !important; fill: currentColor !important; }
.ask-btn--secondary i,
.ask-btn--secondary svg,
.ask-btn--secondary .ti,
a.ask-btn--secondary i,
a.ask-btn--secondary .ti { color: var(--color-primary) !important; fill: currentColor !important; }
.ask-btn--dark-outline i,
.ask-btn--dark-outline svg,
.ask-btn--dark-outline .ti { color: #fff !important; fill: currentColor !important; }

/* ===== H1-H6 — РАЗМЕРЫ И ЦВЕТ С ВЫСОКОЙ СПЕЦИФИЧНОСТЬЮ ===== */
/* Hello Elementor reset.css + Elementor Kit ставят свои размеры заголовков. */
body h1 { font-family: 'Rubik', sans-serif !important; font-size: 48px !important; font-weight: 700 !important; line-height: 1.2 !important; margin: 0 !important; }
body h2 { font-family: 'Rubik', sans-serif !important; font-size: 36px !important; font-weight: 600 !important; line-height: 1.2 !important; margin: 0 !important; }
body h3 { font-family: 'Rubik', sans-serif !important; font-size: 28px !important; font-weight: 600 !important; line-height: 1.25 !important; margin: 0 !important; }
body h4 { font-family: 'Rubik', sans-serif !important; font-size: 22px !important; font-weight: 600 !important; line-height: 1.3 !important; margin: 0 !important; }
body h5 { font-family: 'Rubik', sans-serif !important; font-size: 18px !important; font-weight: 600 !important; line-height: 1.35 !important; margin: 0 !important; }
body h6 { font-family: 'Rubik', sans-serif !important; font-size: 16px !important; font-weight: 600 !important; line-height: 1.4 !important; margin: 0 !important; }

/* Цвета: дефолт — тёмный; для секций с тёмным фоном — белый. */
body h1, body h2, body h3, body h4, body h5, body h6 { color: var(--color-text) !important; }
.ask-hero h1, .ask-hero__title,
.ask-stats h1, .ask-stats h2, .ask-stats h3, .ask-stats__num,
.ask-footer h4,
.ask-cat-card__title { color: #fff !important; }

/* Адаптив заголовков */
@media (max-width: 768px) {
  body h1 { font-size: 32px !important; }
  body h2 { font-size: 28px !important; }
  body h3 { font-size: 22px !important; }
  body h4 { font-size: 18px !important; }
  .ask-hero__title { font-size: 28px !important; }
}
@media (max-width: 480px) {
  body h1 { font-size: 28px !important; }
  .ask-hero__title { font-size: 24px !important; }
  .ask-cat-card__title { font-size: 13px !important; }
}

/* Числовые элементы — тоже Rubik */
body .ask-product-card__price,
body .ask-stats__num,
body .ask-about__badge-num { font-family: 'Rubik', sans-serif !important; }

/* =====================================================================
 * SHOP / CATALOG ARCHIVE — оформление WooCommerce архива категорий
 * (Селекторы с html body[class] чтобы перебить inline критику в functions.php,
 *  которая обнуляет padding на любом <main>.)
 * ================================================================== */

/* Главная обёртка архива — даёт воздух между sticky-шапкой и контентом, и от футера снизу. */
html body main.ask-shop,
html body[class*="elementor-"] main.ask-shop {
  padding-top: 48px !important;
  padding-bottom: 80px !important;
  background: var(--color-bg) !important;
  min-height: 60vh !important;
}

/* Верхняя зона: breadcrumbs + H1. Под ней — тонкая черта-разделитель. */
html body main.ask-shop .ask-shop__top {
  padding-top: 0 !important;
  padding-bottom: 24px !important;
  margin-bottom: 32px !important;
  border-bottom: 1px solid var(--color-border, #E2E8F0);
}
html body main.ask-shop .ask-shop__header {
  margin-top: 12px !important;
  margin-bottom: 0 !important;
}
html body main.ask-shop h1.ask-shop__title {
  font-size: 36px !important;
  line-height: 1.2 !important;
  margin: 0 !important;
}

/* Тело архива — sidebar 280px + main, c gap-ом */
html body main.ask-shop .ask-shop__body {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
html body main.ask-shop .ask-shop__layout {
  display: grid !important;
  grid-template-columns: 280px 1fr !important;
  gap: 32px !important;
  align-items: start !important;
}

/* Хлебные крошки */
.ask-breadcrumbs { font-size: 13px; color: var(--color-text-secondary); }
.ask-breadcrumbs__inner { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.ask-breadcrumbs__item a { color: var(--color-text-secondary); text-decoration: none; transition: color 200ms ease; }
.ask-breadcrumbs__item a:hover { color: var(--color-primary); }
.ask-breadcrumbs__item:last-child { color: var(--color-text); font-weight: 500; }
.ask-breadcrumbs__sep { color: var(--color-text-muted); }

/* Сайдбар */
.ask-shop__sidebar {
  background: #fff;
  border: 1px solid var(--color-border, #E2E8F0);
  border-radius: var(--radius-md, 12px);
  padding: 20px;
  position: sticky;
  top: 96px; /* под sticky-header */
  align-self: start;
}

/* Основной блок (результаты + сортировка + товары + пагинация) */
.ask-shop__main { min-width: 0; }

.woocommerce-notices-wrapper + .woocommerce-result-count,
.woocommerce-result-count {
  font-size: 14px; color: var(--color-text-secondary);
}
.woocommerce-ordering { margin: 0; }
.woocommerce-ordering select {
  padding: 8px 32px 8px 14px !important;
  border: 1px solid var(--color-border, #E2E8F0) !important;
  border-radius: 8px !important;
  background-color: #fff !important;
  font-family: 'Golos Text', sans-serif !important;
  font-size: 14px !important;
  color: var(--color-text) !important;
  cursor: pointer !important;
  appearance: none !important;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394A3B8' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'/%3e%3c/svg%3e") !important;
  background-repeat: no-repeat !important;
  background-position: right 12px center !important;
}

/* Сетка товаров WooCommerce */
html body.woocommerce ul.products,
html body.woocommerce-page ul.products {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 24px !important;
  list-style: none !important;
  margin: 24px 0 !important;
  padding: 0 !important;
  width: 100% !important;
  clear: both !important;
}
html body.woocommerce ul.products::before,
html body.woocommerce ul.products::after { display: none !important; content: none !important; }
html body.woocommerce ul.products li.product {
  width: auto !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
  clear: none !important;
}

/* Пагинация */
.woocommerce nav.woocommerce-pagination { text-align: center; margin: 32px 0 0 0; }
.woocommerce nav.woocommerce-pagination ul { display: inline-flex; gap: 6px; border: none !important; margin: 0; padding: 0; }
.woocommerce nav.woocommerce-pagination ul li { border: none !important; background: transparent; margin: 0; }
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  display: inline-flex; align-items: center; justify-content: center;
  width: 40px; height: 40px;
  border: 1px solid var(--color-border, #E2E8F0) !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: var(--color-text) !important;
  font-family: 'Rubik', sans-serif;
  font-weight: 500;
  font-size: 14px;
  text-decoration: none;
  padding: 0 !important;
  margin: 0 !important;
  transition: all 200ms ease;
}
.woocommerce nav.woocommerce-pagination ul li a:hover { border-color: var(--color-primary) !important; color: var(--color-primary) !important; }
.woocommerce nav.woocommerce-pagination ul li span.current {
  background: var(--color-primary) !important;
  border-color: var(--color-primary) !important;
  color: #fff !important;
}

/* "Нет товаров" */
.woocommerce-info, .woocommerce-no-products-found {
  background: var(--color-bg-secondary, #F5F8FC) !important;
  border-left: 4px solid var(--color-primary) !important;
  color: var(--color-text) !important;
  padding: 16px 20px !important;
  border-radius: 8px !important;
  margin: 24px 0 !important;
}

/* =====================================================================
 * Нативные карточки WooCommerce loop (li.product без наших BEM-классов)
 * Перебиваем стандартный шаблон Hello Elementor.
 * ================================================================== */
html body.woocommerce ul.products li.product,
html body.woocommerce-page ul.products li.product {
  background: #fff !important;
  border: 1px solid var(--color-border, #E2E8F0) !important;
  border-radius: var(--radius-md, 12px) !important;
  padding: 14px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  text-align: left !important;
  transition: border-color 200ms ease, transform 200ms ease !important;
  position: relative !important;
}
html body.woocommerce ul.products li.product:hover,
html body.woocommerce-page ul.products li.product:hover {
  border-color: var(--color-primary) !important;
  transform: translateY(-2px);
}

/* Ссылка на товар (картинка + заголовок) */
html body.woocommerce ul.products li.product a.woocommerce-LoopProduct-link,
html body.woocommerce-page ul.products li.product a.woocommerce-LoopProduct-link {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  text-decoration: none !important;
  color: inherit !important;
}

/* Картинка товара */
html body.woocommerce ul.products li.product img,
html body.woocommerce-page ul.products li.product img {
  width: 100% !important;
  aspect-ratio: 1/1 !important;
  object-fit: contain !important;
  background: var(--color-bg-secondary, #F5F8FC) !important;
  border-radius: 8px !important;
  margin: 0 !important;
  padding: 8px !important;
  box-sizing: border-box !important;
  display: block !important;
}

/* Заголовок товара */
html body.woocommerce ul.products li.product h2.woocommerce-loop-product__title,
html body.woocommerce-page ul.products li.product h2.woocommerce-loop-product__title,
html body.woocommerce ul.products li.product .woocommerce-loop-product__title,
html body.woocommerce-page ul.products li.product .woocommerce-loop-product__title,
html body[class*="elementor-"] ul.products li.product h2.woocommerce-loop-product__title {
  font-family: 'Rubik', sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  color: var(--color-text) !important;
  margin: 0 !important;
  padding: 0 !important;
  /* [1.4.19] Названия товаров Hikvision/Hiwatch с SKU+описанием часто длинные.
     min-height 2.7em — минимум 2 строки (выравнивание коротких карточек),
     line-clamp 4 — максимум 4 строки (длинные не обрезаются как раньше на 2). */
  min-height: 2.7em;
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
  word-break: break-word;
}

/* Цена */
html body.woocommerce ul.products li.product .price,
html body.woocommerce-page ul.products li.product .price {
  font-family: 'Rubik', sans-serif !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  color: var(--color-primary) !important;
  line-height: 1.2 !important;
  margin: 0 !important;
  display: block !important;
}
html body.woocommerce ul.products li.product .price del,
html body.woocommerce ul.products li.product .price .woocommerce-Price-amount.amount del {
  color: var(--color-text-muted) !important;
  font-weight: 500 !important;
  font-size: 13px !important;
  margin-right: 6px;
}

/* Add to cart button */
html body.woocommerce ul.products li.product a.button,
html body.woocommerce-page ul.products li.product a.button,
html body.woocommerce ul.products li.product a.add_to_cart_button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: var(--color-primary) !important;
  color: #fff !important;
  font-family: 'Rubik', sans-serif !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  height: 38px !important;
  padding: 0 16px !important;
  border-radius: 8px !important;
  border: 0 !important;
  text-decoration: none !important;
  transition: background-color 200ms ease !important;
  margin-top: auto !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
html body.woocommerce ul.products li.product a.button:hover,
html body.woocommerce-page ul.products li.product a.button:hover { background: var(--color-primary-hover, #1748A8) !important; color: #fff !important; }
html body.woocommerce ul.products li.product a.added_to_cart {
  display: inline-block !important;
  margin-top: 6px !important;
  font-size: 12px !important;
  color: var(--color-success, #16A34A) !important;
}

/* Бэйджи "Распродажа"/"Хит" — WC native .onsale */
html body.woocommerce ul.products li.product .onsale,
html body.woocommerce-page ul.products li.product .onsale {
  position: absolute !important;
  top: 12px !important;
  left: 12px !important;
  right: auto !important;
  background: var(--color-primary) !important;
  color: #fff !important;
  font-family: 'Rubik', sans-serif !important;
  font-weight: 700 !important;
  font-size: 11px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  padding: 4px 10px !important;
  border-radius: 4px !important;
  margin: 0 !important;
  min-height: 0 !important;
  line-height: 1.2 !important;
  z-index: 2 !important;
}

/* =====================================================================
 * SINGLE PRODUCT — нативная страница товара
 * ================================================================== */
html body.single-product div.product .product_title {
  font-size: 28px !important;
  font-family: 'Rubik', sans-serif !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  margin: 0 0 16px 0 !important;
  color: var(--color-text) !important;
}
html body.single-product div.product p.price,
html body.single-product div.product span.price {
  font-family: 'Rubik', sans-serif !important;
  font-size: 28px !important;
  font-weight: 700 !important;
  color: var(--color-primary) !important;
  margin: 0 0 16px 0 !important;
}
html body.single-product div.product form.cart .button,
html body.single-product div.product form.cart .single_add_to_cart_button {
  background: var(--color-primary) !important;
  color: #fff !important;
  font-family: 'Rubik', sans-serif !important;
  font-weight: 600 !important;
  height: 48px !important;
  padding: 0 24px !important;
  border-radius: 8px !important;
  border: 0 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}
html body.single-product div.product form.cart .quantity input[type="number"] {
  height: 48px !important;
  border: 1px solid var(--color-border, #E2E8F0) !important;
  border-radius: 8px !important;
  padding: 0 12px !important;
  font-family: 'Golos Text', sans-serif !important;
  font-size: 15px !important;
  width: 80px !important;
}

/* Single product wrapper (если не имеет .ask-shop) — добавим базовые отступы */
html body.single-product main,
html body.single-product main.elementor-section-wrap,
html body.single-product .site-main,
html body.single-product .content-area {
  padding-top: 48px !important;
  padding-bottom: 80px !important;
}
html body.single-product main.ask-shop { padding-top: 48px !important; padding-bottom: 80px !important; }

@media (max-width: 768px) {
  html body.single-product div.product .product_title { font-size: 22px !important; }
  html body.single-product div.product p.price,
  html body.single-product div.product span.price { font-size: 22px !important; }
  html body.single-product main,
  html body.single-product .site-main { padding-top: 28px !important; padding-bottom: 56px !important; }
}

/* Адаптив */
@media (max-width: 1200px) {
  html body main.ask-shop .ask-shop__layout {
    grid-template-columns: 240px 1fr !important;
    gap: 24px !important;
  }
  html body.woocommerce ul.products,
  html body.woocommerce-page ul.products {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
@media (max-width: 992px) {
  html body main.ask-shop,
  html body[class*="elementor-"] main.ask-shop {
    padding-top: 32px !important;
    padding-bottom: 56px !important;
  }
  html body main.ask-shop .ask-shop__layout {
    grid-template-columns: 1fr !important;
  }
  .ask-shop__sidebar { position: static; top: auto; }
  html body main.ask-shop h1.ask-shop__title { font-size: 28px !important; }
}
@media (max-width: 640px) {
  html body main.ask-shop,
  html body[class*="elementor-"] main.ask-shop {
    padding-top: 24px !important;
    padding-bottom: 48px !important;
  }
  html body main.ask-shop .ask-shop__top {
    padding-bottom: 16px !important;
    margin-bottom: 20px !important;
  }
  html body.woocommerce ul.products,
  html body.woocommerce-page ul.products {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
}

/* =====================================================================
 * SINGLE PRODUCT — карточка товара (просто базовые отступы под общую сетку)
 * ================================================================== */
html body main.ask-shop.ask-shop--single,
html body[class*="elementor-"] main.ask-shop.ask-shop--single {
  padding-top: 48px !important;
  padding-bottom: 80px !important;
}

/* =====================================================================
 * PAGE — общий шаблон для статичных страниц (about, services, works, etc.)
 * ================================================================== */
html body main.ask-page,
html body[class*="elementor-"] main.ask-page {
  padding-top: 32px !important;
  padding-bottom: 64px !important;
  background: var(--color-bg) !important;
  min-height: 60vh !important;
}
.ask-page__head {
  margin-bottom: 32px;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--color-border, #E2E8F0);
}
nav.ask-breadcrumbs { margin: 0 0 16px 0; }
.ask-breadcrumbs__item { line-height: 1.4; }
.ask-page__title { font-size: 36px !important; line-height: 1.15 !important; font-weight: 700 !important; color: var(--color-text) !important; margin: 0 0 10px 0 !important; }
.ask-page__lead { font-size: 17px; line-height: 1.6; color: var(--color-text-secondary); margin: 0; }
.ask-page__section { margin: 0 0 56px 0; }
.ask-page__section:last-child { margin-bottom: 0; }
.ask-page__section-title { font-size: 28px !important; line-height: 1.25 !important; font-weight: 600 !important; color: var(--color-text) !important; margin: 0 0 24px 0 !important; }

@media (max-width: 768px) {
  html body main.ask-page,
  html body[class*="elementor-"] main.ask-page {
    padding-top: 32px !important;
    padding-bottom: 56px !important;
  }
  .ask-page__title { font-size: 28px !important; }
  .ask-page__lead { font-size: 16px; }
  .ask-page__section-title { font-size: 22px !important; }
}

/* =====================================================================
 * PHOTO-FRAME — серый плейсхолдер вместо фото
 * ================================================================== */
.ask-photo-frame {
  display: flex; align-items: center; justify-content: center;
  background: var(--color-bg-secondary, #F5F8FC);
  border: 1px dashed var(--color-border, #CBD5E1);
  border-radius: var(--radius-md, 12px);
  color: var(--color-text-muted, #94A3B8);
  font-family: 'Rubik', sans-serif;
  font-size: 14px; font-weight: 500;
  text-align: center;
  padding: 24px 16px;
  min-height: 180px;
  width: 100%;
}

/* =====================================================================
 * CATALOG LANDING (/catalog/) — page-catalog.php
 * ================================================================== */
.ask-catalog-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  margin-top: 8px;
}

/* =====================================================================
 * SERVICES (/services/) — page-services.php
 * ================================================================== */
.ask-services-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.ask-service-card {
  background: #fff;
  border: 1px solid var(--color-border, #E2E8F0);
  border-radius: var(--radius-md, 12px);
  padding: 24px;
  display: flex; flex-direction: column; gap: 12px;
  transition: border-color 200ms ease, transform 200ms ease;
}
.ask-service-card:hover { border-color: var(--color-primary); transform: translateY(-2px); }
.ask-service-card__icon {
  width: 48px; height: 48px;
  display: inline-flex; align-items: center; justify-content: center;
  border-radius: 10px;
  background: var(--color-accent-soft, #E1ECFF);
  color: var(--color-primary);
  font-size: 24px;
}
.ask-service-card__icon i { color: var(--color-primary) !important; font-size: 24px !important; }
.ask-service-card__title { font-family: 'Rubik', sans-serif; font-size: 18px !important; font-weight: 600 !important; color: var(--color-text) !important; margin: 0 !important; line-height: 1.3 !important; }
.ask-service-card__text,
.ask-service-card p { font-size: 14.5px; line-height: 1.55; color: var(--color-text-secondary); margin: 0; }

/* Шаги процесса (4 шага в один ряд) */
.ask-process-steps {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  counter-reset: step;
}

@media (max-width: 992px) { .ask-services-grid { grid-template-columns: repeat(2, 1fr); } .ask-process-steps { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .ask-services-grid { grid-template-columns: 1fr; gap: 16px; } .ask-process-steps { grid-template-columns: 1fr; } }

/* =====================================================================
 * WORKS (/works/) — page-works.php
 * ================================================================== */
.ask-works-cats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.ask-works-cat {
  background: #fff;
  border: 1px solid var(--color-border, #E2E8F0);
  border-radius: var(--radius-md, 12px);
  padding: 24px;
  display: flex; flex-direction: column; gap: 8px;
  transition: border-color 200ms ease;
}
.ask-works-cat:hover { border-color: var(--color-primary); }
.ask-works-cat__icon { width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; background: var(--color-accent-soft, #E1ECFF); color: var(--color-primary); border-radius: 10px; font-size: 22px; margin-bottom: 4px; }
.ask-works-cat__icon i { color: var(--color-primary) !important; font-size: 22px !important; }
.ask-works-cat__title { font-size: 16px !important; font-weight: 600 !important; color: var(--color-text) !important; margin: 0 !important; line-height: 1.3 !important; }
.ask-works-cat__text,
.ask-works-cat p { font-size: 14px; line-height: 1.5; color: var(--color-text-secondary); margin: 0; }

.ask-works-gallery {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.ask-works-gallery .ask-photo-frame { aspect-ratio: 4/3; min-height: 0; }

@media (max-width: 992px) { .ask-works-cats, .ask-works-gallery { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .ask-works-cats, .ask-works-gallery { grid-template-columns: 1fr; } }

/* =====================================================================
 * ABOUT (/about/) — page-about.php
 * ================================================================== */
.ask-about-blocks,
.ask-about-areas {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}
.ask-about-areas__item {
  background: #fff;
  border: 1px solid var(--color-border, #E2E8F0);
  border-radius: var(--radius-md, 12px);
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  transition: border-color 200ms ease, transform 200ms ease, box-shadow 200ms ease;
}
.ask-about-areas__item:hover {
  border-color: var(--color-primary, #1E60D1);
  transform: translateY(-2px);
  box-shadow: 0 14px 28px -18px rgba(15,37,64,0.18);
}
.ask-about-areas__icon {
  width: 44px; height: 44px;
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--color-accent-soft, #E1ECFF);
  color: var(--color-primary, #1E60D1);
  border-radius: 10px;
  font-size: 22px;
  margin: 0 0 4px 0;
}
.ask-about-areas__icon i { color: var(--color-primary, #1E60D1) !important; font-size: 22px; }
.ask-about-areas__title { font-family: 'Rubik', sans-serif !important; font-size: 17px !important; font-weight: 600 !important; color: var(--color-text) !important; margin: 0 0 4px 0 !important; line-height: 1.3 !important; }
.ask-about-areas__item p { font-size: 14.5px; line-height: 1.55; color: var(--color-text-secondary); margin: 0; }

@media (max-width: 1100px) {.ask-about-areas { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) {.ask-about-areas { grid-template-columns: 1fr; gap: 14px; } }

.ask-about-stats {
  background: var(--color-primary, #1E60D1);
  border-radius: 16px;
  padding: 40px 32px;
  color: #fff;
}

@media (max-width: 768px) {

  .ask-about-stats { padding: 28px 20px; }

}

/* =====================================================================
 * CONTACTS (/contacts/) — page-contacts.php
 * ================================================================== */
/* [1.0.67-refactor] устаревшие .ask-contacts/.ask-contacts__info-*/.ask-contacts__form-*
 * удалены — структура страницы перешла на .ask-contacts__grid (см. ниже строку ~2270). */
.ask-contacts__info { display: flex; flex-direction: column; gap: 16px; }

/* Универсальные стили полей формы */
.ask-field { margin-bottom: 14px; }
.ask-field__label { display: block; font-size: 13px; color: var(--color-text-secondary); margin-bottom: 6px; font-weight: 500; }
html body .ask-field__input,
html body[class*="elementor-"] .ask-field__input {
  width: 100% !important;
  padding: 12px 14px !important;
  font-family: 'Golos Text', sans-serif !important;
  font-size: 15px !important;
  border: 1px solid var(--color-border, #E2E8F0) !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: var(--color-text) !important;
  outline: none !important;
  transition: border-color 200ms ease, box-shadow 200ms ease !important;
  box-sizing: border-box !important;
}
html body .ask-field__input:focus {
  border-color: var(--color-primary) !important;
  box-shadow: 0 0 0 3px rgba(30,96,209,0.12) !important;
}

.ask-field--hp { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; opacity: 0 !important; pointer-events: none !important; }
.ask-field__input--textarea { min-height: 110px; resize: vertical; }
/* Status под формой контактов */
.ask-contacts__status { margin: 14px 0 0 0; padding: 12px 14px; border-radius: 8px; font-size: 14px; line-height: 1.5; }
.ask-contacts__status:empty { display: none; }
.ask-contacts__status--ok    { background: #ECFDF5; color: #047857; border-left: 3px solid #10B981; }
.ask-contacts__status--error { background: #FEF2F2; color: #B91C1C; border-left: 3px solid #DC2626; }
.ask-contacts__legal { font-size: 12px; color: var(--color-text-muted); margin: 14px 0 0 0; line-height: 1.5; }
.ask-field__req { color: var(--color-danger); }

.ask-form__result { margin-top: 14px; padding: 12px 14px; border-radius: 8px; font-size: 14px; line-height: 1.5; display: none; }
.ask-form__result.is-success { display: block; background: #ECFDF5; color: #047857; border-left: 3px solid #10B981; }
.ask-form__result.is-error { display: block; background: #FEF2F2; color: #B91C1C; border-left: 3px solid #DC2626; }

/* [1.0.96] .ask-contacts__map убран — рамка теперь только на .ask-contacts__map-wrap (внутри секции) */
.ask-contacts__map iframe { display: block; width: 100%; height: 420px; border: 0; }

@media (max-width: 900px) {
  .ask-contacts__map iframe { height: 320px; }
}

/* =====================================================================
 * DELIVERY (/delivery/) — page-delivery.php
 * ================================================================== */
.ask-delivery-grid,
.ask-payment-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}
.ask-delivery-card,
.ask-payment-card {
  background: #fff;
  border: 1px solid var(--color-border, #E2E8F0);
  border-radius: var(--radius-md, 12px);
  padding: 24px;
  display: flex; flex-direction: column; gap: 10px;
}
.ask-delivery-card__icon,
.ask-payment-card__icon {
  width: 44px; height: 44px;
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--color-accent-soft, #E1ECFF);
  color: var(--color-primary);
  border-radius: 10px;
  font-size: 22px;
  margin-bottom: 4px;
}
.ask-delivery-card__icon i,
.ask-payment-card__icon i { color: var(--color-primary) !important; }
.ask-delivery-card__title,
.ask-payment-card__title { font-size: 18px !important; font-weight: 600 !important; color: var(--color-text) !important; margin: 0 !important; line-height: 1.3 !important; }

@media (max-width: 640px) { .ask-delivery-grid, .ask-payment-grid { grid-template-columns: 1fr; } }

/* =====================================================================
 * WARRANTY (/warranty/) — page-warranty.php
 * ================================================================== */
.ask-warranty-table {
  width: 100%;
  border-collapse: collapse;
  background: #fff;
  border: 1px solid var(--color-border, #E2E8F0);
  border-radius: var(--radius-md, 12px);
  overflow: hidden;
}
.ask-warranty-table th,
.ask-warranty-table td {
  padding: 14px 18px;
  text-align: left;
  border-bottom: 1px solid var(--color-border, #E2E8F0);
  font-size: 14px;
  line-height: 1.5;
  vertical-align: top;
}
.ask-warranty-table thead th {
  background: var(--color-bg-secondary, #F5F8FC);
  color: var(--color-text);
  font-family: 'Rubik', sans-serif;
  font-weight: 600;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.ask-warranty-table tbody tr:last-child td { border-bottom: 0; }

.ask-warranty-cols {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}

@media (max-width: 768px) { .ask-warranty-cols { grid-template-columns: 1fr; } }

/* =====================================================================
 * RETURN (/return/) — page-return.php
 * ================================================================== */
.ask-return-steps {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  counter-reset: rstep;
}

@media (max-width: 768px) { .ask-return-steps { grid-template-columns: 1fr; } }

/* =====================================================================
 * FAQ (/faq/) — page-faq.php — нативный <details>
 * ================================================================== */
.ask-faq-list { display: flex; flex-direction: column; gap: 12px; }
.ask-faq-item {
  background: #fff;
  border: 1px solid var(--color-border, #E2E8F0);
  border-radius: var(--radius-md, 12px);
  padding: 0;
  overflow: hidden;
  transition: border-color 200ms ease;
}
.ask-faq-item[open] { border-color: var(--color-primary); }
.ask-faq-item__q {
  list-style: none;
  cursor: pointer;
  padding: 18px 22px;
  font-family: 'Rubik', sans-serif;
  font-size: 16px;
  font-weight: 600;
  color: var(--color-text);
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
  position: relative;
  user-select: none;
}
.ask-faq-item__q::-webkit-details-marker { display: none; }
.ask-faq-item__q::after {
  content: '+';
  font-size: 24px;
  color: var(--color-primary);
  font-weight: 400;
  line-height: 1;
  width: 24px; text-align: center;
  transition: transform 200ms ease;
}
.ask-faq-item[open] .ask-faq-item__q::after { content: '−'; }
.ask-faq-item__a { padding: 0 22px 18px 22px; font-size: 15px; line-height: 1.6; color: var(--color-text-secondary); }

/* =====================================================================
 * PARTNERS (/partners/) — page-partners.php
 * ================================================================== */
.ask-partners-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}

.ask-partner-card__logo.ask-photo-frame {
  aspect-ratio: 16/9;
  min-height: 0;
  font-size: 13px;
  margin-bottom: 4px;
}

/* =====================================================================
 * NEWS (/news/) — page-news.php
 * ================================================================== */
.ask-news-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.ask-news-card { background: #fff; border: 1px solid var(--color-border, #E2E8F0); border-radius: var(--radius-md, 12px); overflow: hidden; transition: border-color 200ms ease, transform 200ms ease; }
.ask-news-card:hover { border-color: var(--color-primary); transform: translateY(-2px); }
.ask-news-card__link { display: flex; flex-direction: column; height: 100%; text-decoration: none !important; color: inherit; }
.ask-news-card__media { aspect-ratio: 16/9; overflow: hidden; }
.ask-news-card__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ask-news-card__media.ask-photo-frame { min-height: 0; aspect-ratio: 16/9; border-radius: 0; border-top: 0; border-left: 0; border-right: 0; }
.ask-news-card__body { padding: 16px 20px 20px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.ask-news-card__date { font-size: 12px; color: var(--color-text-muted); text-transform: uppercase; letter-spacing: 0.05em; }
.ask-news-card__title { font-family: 'Rubik', sans-serif; font-size: 18px !important; font-weight: 600 !important; line-height: 1.3 !important; color: var(--color-text) !important; margin: 0 !important; }
.ask-news-card__excerpt { font-size: 14px; line-height: 1.55; color: var(--color-text-secondary); margin: 0; }

.ask-pagination { display: flex; justify-content: center; gap: 6px; margin-top: 40px; }
.ask-pagination .page-numbers {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 40px; height: 40px; padding: 0 12px;
  border: 1px solid var(--color-border, #E2E8F0);
  border-radius: 8px;
  background: #fff;
  color: var(--color-text);
  font-family: 'Rubik', sans-serif; font-weight: 500; font-size: 14px;
  text-decoration: none;
  transition: all 200ms ease;
}
.ask-pagination .page-numbers:hover { border-color: var(--color-primary); color: var(--color-primary); }
.ask-pagination .page-numbers.current { background: var(--color-primary); border-color: var(--color-primary); color: #fff; }

@media (max-width: 992px) { .ask-news-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .ask-news-grid { grid-template-columns: 1fr; } }

/* =====================================================================
 * PROSE — типографика для длинных текстов (privacy, terms, single news)
 * ================================================================== */
.ask-prose { font-size: 16px; line-height: 1.7; color: var(--color-text); }
.ask-prose p { margin: 0 0 14px 0; }
.ask-prose ul, .ask-prose ol { margin: 0 0 14px 24px; padding: 0; }
.ask-prose li { margin-bottom: 6px; }
.ask-prose a { color: var(--color-primary); text-decoration: underline; }
.ask-prose a:hover { color: var(--color-primary-hover); }

/* =========================================================
   Shop archive sidebar filters (WC Layered Nav)
   Используется в woocommerce/archive-product.php (1.0.31+)
   ========================================================= */
.ask-shop-sidebar__widget {
  margin-bottom: 24px;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--color-border, #E2E8F0);
}
.ask-shop-sidebar__widget:last-child { border-bottom: 0; margin-bottom: 0; padding-bottom: 0; }

.ask-shop-sidebar__title {
  font-family: 'Rubik', sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--color-text-muted, #64748B) !important;
  margin: 0 0 12px 0 !important;
  padding: 0 !important;
}

/* WC Layered Nav list */
.ask-shop-sidebar__widget ul.woocommerce-widget-layered-nav-list,
.ask-shop-sidebar__widget ul {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.ask-shop-sidebar__widget ul li.woocommerce-widget-layered-nav-list__item,
.ask-shop-sidebar__widget ul li {
  margin: 0 0 4px 0 !important;
  padding: 0 !important;
  font-size: 14px;
  line-height: 1.4;
}
.ask-shop-sidebar__widget ul li a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 8px;
  border-radius: 6px;
  color: var(--color-text, #1F2937);
  text-decoration: none;
  transition: background 150ms ease, color 150ms ease;
}
.ask-shop-sidebar__widget ul li a:hover {
  background: var(--color-bg-secondary, #F5F8FC);
  color: var(--color-primary, #1E60D1);
}
.ask-shop-sidebar__widget ul li.woocommerce-widget-layered-nav-list__item--chosen a {
  font-weight: 600;
  color: var(--color-primary, #1E60D1);
}
.ask-shop-sidebar__widget ul li.woocommerce-widget-layered-nav-list__item--chosen a::before {
  content: '×' !important;
  display: inline-flex !important;
  width: 16px !important; height: 16px !important;
  align-items: center !important; justify-content: center !important;
  border-radius: 50% !important;
  background: var(--color-primary, #1E60D1) !important;
  color: #fff !important;
  font-family: 'Golos Text', 'Rubik', sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  font-style: normal !important;
  line-height: 1 !important;
  text-decoration: none !important;
  text-transform: none !important;
  margin: 0 !important;
  padding: 0 !important;
  flex: 0 0 auto !important;
}
.ask-shop-sidebar__widget ul li .count {
  margin-left: auto;
  display: inline-flex;
  align-items: center; justify-content: center;
  min-width: 22px; height: 18px;
  padding: 0 6px;
  border-radius: 999px;
  background: var(--color-bg-secondary, #F5F8FC);
  color: var(--color-text-muted, #64748B);
  font-size: 11px;
  font-weight: 500;
}

/* Active filters widget */
.ask-shop-sidebar__widget--active ul {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.ask-shop-sidebar__widget--active ul li {
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  list-style: none !important;
}
.ask-shop-sidebar__widget--active ul li a {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 6px 12px 6px 8px !important;
  background: var(--color-accent-soft, #E1ECFF) !important;
  color: var(--color-primary, #1E60D1) !important;
  border-radius: 999px !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
  transition: background 200ms ease, color 200ms ease !important;
}
.ask-shop-sidebar__widget--active ul li a:hover {
  background: var(--color-primary, #1E60D1) !important;
  color: #fff !important;
}
/* [1.4.6] Перебиваем дефолтный WC «×» — он рендерится через a::before с
   font-family: 'WooCommerce' (unicode \e013) и color: red. Заменяем на свой
   круглый × в брендовом цвете. */
.ask-shop-sidebar__widget--active ul li a::before {
  content: '×' !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 16px !important;
  height: 16px !important;
  border-radius: 50% !important;
  background: var(--color-primary, #1E60D1) !important;
  color: #fff !important;
  font-family: 'Golos Text', 'Rubik', sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  font-style: normal !important;
  line-height: 1 !important;
  text-decoration: none !important;
  text-transform: none !important;
  margin: 0 !important;
  padding: 0 !important;
  flex: 0 0 auto !important;
  vertical-align: middle !important;
}
.ask-shop-sidebar__widget--active ul li a:hover::before {
  background: #fff !important;
  color: var(--color-primary, #1E60D1) !important;
}
/* На случай если WC рендерит <span> внутри ссылки — прячем его */
.ask-shop-sidebar__widget--active ul li a .screen-reader-text {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
}

/* Mobile — фильтры сворачиваются */
@media (max-width: 900px) {
  html body main.ask-shop .ask-shop__layout {
    grid-template-columns: 1fr !important;
  }
  .ask-shop__sidebar {
    position: static !important;
    margin-bottom: 24px;
  }
  .ask-shop-sidebar__widget { padding-bottom: 16px; margin-bottom: 16px; }
}

/* =========================================================
   /works/ — этапы работы (.ask-process)
   ========================================================= */
.ask-process {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
}
.ask-process__item {
  display: flex;
  gap: 18px;
  padding: 22px 22px 22px 18px;
  background: #fff;
  border: 1px solid var(--color-border, #E2E8F0);
  border-radius: 14px;
  transition: border-color 200ms ease, transform 200ms ease, box-shadow 200ms ease;
}
.ask-process__item:hover {
  border-color: var(--color-primary, #1E60D1);
  transform: translateY(-2px);
  box-shadow: 0 14px 28px -18px rgba(15,37,64,0.18);
}
.ask-process__num {
  flex-shrink: 0;
  width: 40px; height: 40px;
  border-radius: 50%;
  background: var(--color-accent-soft, #E1ECFF);
  color: var(--color-primary, #1E60D1);
  font-family: 'Rubik', sans-serif;
  font-weight: 700;
  font-size: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.ask-process__title { font-size: 17px !important; font-weight: 600 !important; color: var(--color-text) !important; margin: 0 0 6px 0 !important; line-height: 1.3 !important; }
.ask-process__text { font-size: 14.5px; line-height: 1.55; color: var(--color-text-secondary); margin: 0; }

@media (max-width: 768px) {
  .ask-process { grid-template-columns: 1fr; gap: 14px; }
}

/* =========================================================
   /partners/ — динамические бренды (.ask-brand-*)
   ========================================================= */
.ask-brand-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}
.ask-brand-card {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 22px 22px;
  background: #fff;
  border: 1px solid var(--color-border, #E2E8F0);
  border-radius: 12px;
  text-decoration: none;
  color: inherit;
  transition: border-color 180ms ease, transform 180ms ease, box-shadow 180ms ease;
}
.ask-brand-card:hover {
  border-color: var(--color-primary, #1E60D1);
  transform: translateY(-2px);
  box-shadow: 0 14px 28px -18px rgba(15,37,64,0.18);
}
.ask-brand-card__name {
  font-family: 'Rubik', sans-serif;
  font-weight: 600;
  font-size: 17px;
  color: var(--color-text, #1F2937);
  line-height: 1.2;
}
.ask-brand-card__count {
  font-size: 13px;
  color: var(--color-text-muted, #94A3B8);
}
.ask-brand-card__cta {
  margin-top: 8px;
  font-size: 13px;
  color: var(--color-primary, #1E60D1);
  font-weight: 500;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  opacity: 0;
  transform: translateY(-2px);
  transition: opacity 180ms ease, transform 180ms ease;
}
.ask-brand-card:hover .ask-brand-card__cta {
  opacity: 1;
  transform: translateY(0);
}

@media (max-width: 1100px) { .ask-brand-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 720px)  { .ask-brand-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 420px)  { .ask-brand-grid { grid-template-columns: 1fr; } }

/* CTA-блок «Не нашли свой бренд» */
.ask-partners-cta__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  padding: 32px 36px;
  background: var(--color-accent-soft, #E1ECFF);
  border-radius: 16px;
}
.ask-partners-cta__title { font-size: 22px !important; font-weight: 700 !important; color: var(--color-text, #1F2937) !important; margin: 0 0 6px 0 !important; }
.ask-partners-cta__text  { font-size: 15px; color: var(--color-text-secondary, #475569); margin: 0; max-width: 640px; }

@media (max-width: 768px) {
  .ask-partners-cta__inner { flex-direction: column; align-items: flex-start; padding: 24px 22px; }
}

/* =========================================================
   [1.0.44] REFACTOR: добавлены отсутствующие BEM-стили
   для контактов, гарантии, возврата, FAQ, шагов процесса.
   ========================================================= */

/* ---------- CONTACTS (/contacts/) ---------- */
.ask-contacts__body { flex: 1; min-width: 0; }
.ask-contacts__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 18px;
  margin: 0 0 28px 0;
}
.ask-contacts__item {
  display: flex; align-items: flex-start; gap: 14px;
  padding: 18px;
  background: #fff;
  border: 1px solid var(--color-border, #E2E8F0);
  border-radius: 12px;
  transition: border-color 180ms ease, transform 180ms ease;
}
.ask-contacts__item:hover { border-color: var(--color-primary, #1E60D1); }
.ask-contacts__icon {
  width: 40px; height: 40px;
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--color-accent-soft, #E1ECFF);
  color: var(--color-primary, #1E60D1);
  border-radius: 10px;
  flex-shrink: 0;
}
.ask-contacts__icon i { font-size: 20px; color: var(--color-primary, #1E60D1) !important; }
.ask-contacts__label {
  display: block;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--color-text-muted, #64748B);
  margin: 0 0 4px 0;
}
.ask-contacts__item h3 {
  font-family: 'Rubik', sans-serif !important;
  font-size: 17px !important;
  font-weight: 600 !important;
  color: var(--color-text, #1F2937) !important;
  margin: 0 0 4px 0 !important;
}
.ask-contacts__item p,
.ask-contacts__item address {
  font-size: 14.5px;
  color: var(--color-text-secondary, #475569);
  margin: 0;
  font-style: normal;
}
.ask-contacts__item a {
  color: var(--color-primary, #1E60D1);
  text-decoration: none;
}
.ask-contacts__item a:hover { text-decoration: underline; }
.ask-contacts__form-wrap {
  background: var(--color-bg-secondary, #F5F8FC);
  border-radius: 14px;
  padding: 26px;
}
.ask-contacts__form-wrap h3 {
  font-family: 'Rubik', sans-serif !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  margin: 0 0 14px 0 !important;
}

.ask-contacts__submit { margin-top: 6px; }

@media (max-width: 992px) {
  .ask-contacts__grid { grid-template-columns: 1fr; gap: 18px; }
}
@media (max-width: 560px) {
  .ask-contacts__grid { grid-template-columns: 1fr; }
}

/* ---------- WARRANTY (/warranty/) ---------- */
.ask-warranty-cols {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
  margin-top: 12px;
}
.ask-warranty-cols__item {
  padding: 22px;
  border-radius: 14px;
  background: #fff;
  border: 1px solid var(--color-border, #E2E8F0);
}
.ask-warranty-cols__item--in {
  border-left: 4px solid #16A34A;
  background: rgba(22,163,74,0.04);
}
.ask-warranty-cols__item--out {
  border-left: 4px solid #DC2626;
  background: rgba(220,38,38,0.04);
}
.ask-warranty-cols__title {
  font-family: 'Rubik', sans-serif !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  color: var(--color-text, #1F2937) !important;
  margin: 0 0 12px 0 !important;
}
.ask-warranty-cols__item ul {
  margin: 0; padding-left: 18px;
  font-size: 14.5px;
  color: var(--color-text-secondary, #475569);
  line-height: 1.55;
}
.ask-warranty-cols__item li { margin-bottom: 6px; }
.ask-warranty-cols__item li:last-child { margin-bottom: 0; }

.ask-warranty-contacts {
  list-style: none;
  margin: 14px 0 0 0; padding: 0;
  display: flex; flex-wrap: wrap; gap: 16px;
}
.ask-warranty-contacts li {
  display: inline-flex; align-items: center; gap: 8px;
  font-size: 14.5px;
  color: var(--color-text, #1F2937);
}
.ask-warranty-contacts a { color: var(--color-primary, #1E60D1); text-decoration: none; }
.ask-warranty-contacts a:hover { text-decoration: underline; }
.ask-warranty-contacts i { color: var(--color-primary, #1E60D1); font-size: 18px; }

@media (max-width: 768px) {
  .ask-warranty-cols { grid-template-columns: 1fr; }
}

/* ---------- RETURN (/return/) ---------- */
.ask-return-list {
  list-style: none; margin: 0; padding: 0;
}
.ask-return-list li {
  position: relative;
  padding: 10px 0 10px 28px;
  font-size: 14.5px;
  color: var(--color-text, #1F2937);
  border-bottom: 1px dashed var(--color-border, #E2E8F0);
}
.ask-return-list li::before {
  content: '✓';
  position: absolute;
  left: 0; top: 10px;
  color: #16A34A;
  font-weight: 700;
}
.ask-return-list--neg li::before { content: '✕'; color: #DC2626; }

.ask-return-steps {
  list-style: none; margin: 0; padding: 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
  counter-reset: rstep;
}
.ask-return-steps__item {
  display: flex; gap: 14px;
  padding: 18px;
  background: #fff;
  border: 1px solid var(--color-border, #E2E8F0);
  border-radius: 12px;
}
.ask-return-steps__num {
  flex-shrink: 0;
  width: 36px; height: 36px;
  border-radius: 50%;
  background: var(--color-accent-soft, #E1ECFF);
  color: var(--color-primary, #1E60D1);
  font-family: 'Rubik', sans-serif;
  font-weight: 700;
  font-size: 16px;
  display: inline-flex; align-items: center; justify-content: center;
}
.ask-return-steps__title {
  font-family: 'Rubik', sans-serif !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  color: var(--color-text, #1F2937) !important;
  margin: 0 0 4px 0 !important;
}
.ask-return-steps__item p { margin: 0; font-size: 14.5px; color: var(--color-text-secondary, #475569); }

@media (max-width: 720px) {
  .ask-return-steps { grid-template-columns: 1fr; }
}

/* ---------- PROCESS STEPS (variant 2) — used on /services/ ---------- */
.ask-process-steps__item {
  display: flex; gap: 14px;
  padding: 18px;
  background: #fff;
  border: 1px solid var(--color-border, #E2E8F0);
  border-radius: 12px;
}
.ask-process-steps__num {
  flex-shrink: 0;
  width: 36px; height: 36px;
  border-radius: 50%;
  background: var(--color-accent-soft, #E1ECFF);
  color: var(--color-primary, #1E60D1);
  font-family: 'Rubik', sans-serif;
  font-weight: 700;
  font-size: 16px;
  display: inline-flex; align-items: center; justify-content: center;
}
.ask-process-steps__title {
  font-family: 'Rubik', sans-serif !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  color: var(--color-text, #1F2937) !important;
  margin: 0 0 4px 0 !important;
}
.ask-process-steps__text { font-size: 14.5px; line-height: 1.5; color: var(--color-text-secondary, #475569); margin: 0; }

/* ---------- DELIVERY / PAYMENT aliases ---------- */
.ask-delivery-card__text,
.ask-payment-card__text,
.ask-delivery-card p,
.ask-payment-card p { font-size: 14.5px; line-height: 1.55; color: var(--color-text-secondary, #475569); margin: 0; }
.ask-payment-card,
.ask-delivery-card {
  background: #fff;
  border: 1px solid var(--color-border, #E2E8F0);
  border-radius: 12px;
  padding: 22px;
  display: flex; flex-direction: column; gap: 10px;
  transition: border-color 180ms ease;
}
.ask-payment-card:hover, .ask-delivery-card:hover { border-color: var(--color-primary, #1E60D1); }
.ask-delivery-card__icon,
.ask-payment-card__icon {
  width: 44px; height: 44px;
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--color-accent-soft, #E1ECFF);
  color: var(--color-primary, #1E60D1);
  border-radius: 10px;
}
.ask-delivery-card__icon i,
.ask-payment-card__icon i { font-size: 22px !important; color: var(--color-primary, #1E60D1) !important; }
.ask-delivery-card__title,
.ask-payment-card__title {
  font-family: 'Rubik', sans-serif !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  color: var(--color-text, #1F2937) !important;
  margin: 0 !important;
}

/* ---------- NEWS COLS modifiers (главная) ---------- */
.ask-news__col--news,
.ask-news__col--promo { min-width: 0; }

/* ---------- PAGE NOTE и общие хелперы ---------- */
.ask-page__note {
  margin: 16px 0 0 0;
  padding: 14px 18px;
  background: var(--color-bg-secondary, #F5F8FC);
  border-radius: 10px;
  font-size: 14px;
  color: var(--color-text-secondary, #475569);
  border-left: 3px solid var(--color-primary, #1E60D1);
}
.ask-page__section { margin: 0 0 56px 0; }
.ask-page__section:last-child { margin-bottom: 0; }
.ask-page__section-title {
  font-family: 'Rubik', sans-serif !important;
  font-size: 26px !important;
  font-weight: 700 !important;
  color: var(--color-text, #1F2937) !important;
  margin: 0 0 20px 0 !important;
  line-height: 1.2 !important;
}

/* ---------- PRODUCT SKU alias ---------- */
.ask-product__sku { color: var(--color-text-muted, #94A3B8); font-size: 13px; }

/* ---------- Контактная форма (общая) ---------- */
.ask-contacts__form-wrap form .ask-field,
.ask-form__field { margin-bottom: 14px; }
.ask-form__label { display: block; font-size: 13px; color: var(--color-text-secondary, #475569); margin-bottom: 4px; }
.ask-form__required { color: #DC2626; }
.ask-form__input {
  width: 100%;
  padding: 11px 14px;
  border: 1px solid var(--color-border, #E2E8F0);
  border-radius: 10px;
  background: #fff;
  font-family: 'Golos Text', sans-serif;
  font-size: 14.5px;
  color: var(--color-text, #1F2937);
  outline: none;
  transition: border-color 180ms ease;
}
.ask-form__input:focus { border-color: var(--color-primary, #1E60D1); }

/* =========================================================
   SINGLE PRODUCT (1.0.39 — ориентир: barlau.kz)
   ========================================================= */
html body.single-product main.ask-shop,
html body.single-product main {
    padding-top: 32px !important;
    padding-bottom: 64px !important;
}
.ask-product { padding: 0 0 32px; }
.ask-product .ask-breadcrumbs { margin: 0 0 24px 0; }
.ask-product__layout {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
    gap: 48px;
    align-items: start;
    margin-bottom: 56px;
}

/* Галерея */
.ask-product__gallery .woocommerce-product-gallery,
.ask-product__gallery { width: 100% !important; }
.ask-product__gallery .woocommerce-product-gallery__image {
    background: #fff;
    border: 1px solid var(--color-border, #E2E8F0);
    border-radius: 16px;
    overflow: hidden;
}
.ask-product__gallery .woocommerce-product-gallery__image img {
    width: 100%; height: auto; object-fit: contain;
    padding: 32px;
    max-height: 520px;
}
.ask-product__gallery .flex-control-thumbs {
    display: flex; gap: 10px; margin: 16px 0 0; padding: 0;
    flex-wrap: wrap;
}
.ask-product__gallery .flex-control-thumbs li { list-style: none; width: 72px; }
.ask-product__gallery .flex-control-thumbs img {
    border: 1px solid var(--color-border, #E2E8F0);
    border-radius: 10px; padding: 6px; background: #fff;
    cursor: pointer; transition: border-color 180ms ease;
}
.ask-product__gallery .flex-control-thumbs img:hover,
.ask-product__gallery .flex-control-thumbs .flex-active { border-color: var(--color-primary, #1E60D1); }
.ask-product__gallery .woocommerce-product-gallery__trigger {
    top: 16px; right: 16px;
    background: rgba(255,255,255,0.85);
    border: 1px solid var(--color-border, #E2E8F0);
    width: 36px; height: 36px; border-radius: 999px;
    display: inline-flex; align-items: center; justify-content: center;
    color: var(--color-text, #1F2937);
}

/* Summary (правая колонка) */
.ask-product__summary { padding: 0; }
.ask-product__title {
    font-family: 'Rubik', sans-serif !important;
    font-size: 28px !important; font-weight: 700 !important;
    line-height: 1.25 !important; color: var(--color-text, #1F2937) !important;
    margin: 0 0 14px 0 !important;
}
.ask-product__meta-top {
    display: flex; align-items: center; gap: 12px;
    margin: 0 0 16px 0;
    font-size: 13px; color: var(--color-text-muted, #94A3B8);
}
.ask-product__sku-val { color: var(--color-text, #1F2937); font-weight: 500; }
.ask-product__brand-pill {
    background: var(--color-accent-soft, #E1ECFF);
    color: var(--color-primary, #1E60D1);
    font-size: 12px; font-weight: 600;
    padding: 4px 10px; border-radius: 999px;
    text-transform: uppercase; letter-spacing: 0.04em;
}
.ask-product__price-block {
    display: flex; align-items: baseline; gap: 16px;
    padding: 16px 0;
    border-top: 1px solid var(--color-border, #E2E8F0);
    border-bottom: 1px solid var(--color-border, #E2E8F0);
    margin: 0 0 18px 0;
}
.ask-product__price-block .price { margin: 0 !important; }
.ask-product__price-block .price .woocommerce-Price-amount {
    font-family: 'Rubik', sans-serif;
    font-size: 30px !important; font-weight: 700;
    color: var(--color-text, #1F2937);
}
.ask-product__price-block .price del .woocommerce-Price-amount {
    color: var(--color-text-muted, #94A3B8);
    font-size: 18px !important; font-weight: 500;
    text-decoration: line-through;
}
.ask-product__stock { font-size: 13px; display: inline-flex; align-items: center; gap: 4px; font-weight: 500; }
.ask-product__stock--in { color: #16A34A; }
.ask-product__stock--out { color: #DC2626; }

.ask-product__short {
    font-size: 14.5px; line-height: 1.55;
    color: var(--color-text-secondary, #475569);
    margin: 0 0 20px 0;
}
.ask-product__short p:last-child { margin-bottom: 0; }

/* Форма "в корзину" */
.ask-product__cart .cart {
    display: flex !important; align-items: stretch; gap: 10px;
    margin: 0 0 24px 0 !important;
}
.ask-product__cart .quantity {
    display: inline-flex; align-items: stretch;
    border: 1px solid var(--color-border, #E2E8F0);
    border-radius: 10px; overflow: hidden; background: #fff;
}
.ask-product__cart .quantity input.qty {
    width: 56px; border: 0; background: transparent;
    text-align: center; font-size: 15px; height: 100%;
}
.ask-product__cart button.single_add_to_cart_button {
    flex: 1;
    background: var(--color-primary, #1E60D1) !important;
    color: #fff !important; border: 0 !important;
    padding: 12px 20px !important;
    font-family: 'Rubik', sans-serif !important;
    font-weight: 600 !important; font-size: 15px !important;
    border-radius: 10px !important; cursor: pointer;
    transition: background 180ms ease;
}
.ask-product__cart button.single_add_to_cart_button:hover { background: var(--color-primary-hover, #1748A8) !important; }

/* Топ-6 характеристик */
.ask-product__specs {
    padding: 20px 22px;
    background: var(--color-bg-secondary, #F5F8FC);
    border-radius: 14px; margin: 0 0 18px 0;
}
.ask-product__specs-title {
    font-family: 'Rubik', sans-serif !important;
    font-size: 13px !important; font-weight: 600 !important;
    text-transform: uppercase; letter-spacing: 0.06em;
    color: var(--color-text-muted, #64748B) !important;
    margin: 0 0 12px 0 !important;
}
.ask-product__specs-list { margin: 0; padding: 0; }
.ask-product__specs-row {
    display: grid; grid-template-columns: 42% 58%; gap: 12px;
    padding: 10px 0;
    border-bottom: 1px dashed rgba(148,163,184,0.4);
    align-items: baseline;
}
.ask-product__specs-row:last-child { border-bottom: 0; }
.ask-product__specs-label { font-size: 13.5px; color: var(--color-text-muted, #64748B); font-weight: 400; margin: 0; }
.ask-product__specs-value { font-size: 14px; color: var(--color-text, #1F2937); font-weight: 500; margin: 0; }
.ask-product__specs-more {
    display: inline-flex; align-items: center; gap: 6px;
    margin: 14px 0 0 0;
    font-size: 14px; font-weight: 500;
    color: var(--color-primary, #1E60D1);
    text-decoration: none; transition: gap 180ms ease;
}
.ask-product__specs-more:hover { gap: 10px; }

.ask-product__cats { font-size: 13px; color: var(--color-text-muted, #64748B); }
.ask-product__cats a { color: var(--color-primary, #1E60D1); text-decoration: none; }
.ask-product__cats a:hover { text-decoration: underline; }

/* Табы */
.ask-product__tabs-wrap { margin-top: 16px; }
.woocommerce-tabs.wc-tabs-wrapper { padding: 0; }
.woocommerce-tabs ul.tabs.wc-tabs {
    display: flex; gap: 0;
    margin: 0 0 24px 0 !important; padding: 0 !important;
    list-style: none !important;
    border-bottom: 1px solid var(--color-border, #E2E8F0) !important;
}
.woocommerce-tabs ul.tabs.wc-tabs::before,
.woocommerce-tabs ul.tabs.wc-tabs::after,
.woocommerce-tabs ul.tabs.wc-tabs li::before,
.woocommerce-tabs ul.tabs.wc-tabs li::after { display: none !important; content: '' !important; border: 0 !important; }
.woocommerce-tabs ul.tabs.wc-tabs li {
    margin: 0 !important; padding: 0 !important;
    background: transparent !important; border: 0 !important; border-radius: 0 !important;
}
.woocommerce-tabs ul.tabs.wc-tabs li a {
    display: block; padding: 14px 20px !important;
    font-family: 'Rubik', sans-serif !important;
    font-weight: 600 !important; font-size: 15px !important;
    color: var(--color-text-secondary, #475569) !important;
    text-decoration: none !important;
    border-bottom: 2px solid transparent !important;
    transition: color 180ms ease, border-color 180ms ease;
}
.woocommerce-tabs ul.tabs.wc-tabs li a:hover { color: var(--color-text, #1F2937) !important; }
.woocommerce-tabs ul.tabs.wc-tabs li.active a {
    color: var(--color-primary, #1E60D1) !important;
    border-bottom-color: var(--color-primary, #1E60D1) !important;
}
.woocommerce-tabs .panel.entry-content {
    padding: 0 !important; margin: 0 !important; background: none !important; border: 0 !important;
}
.woocommerce-tabs .panel h2 { display: none !important; }
.woocommerce-tabs .panel { font-size: 15px; line-height: 1.65; color: var(--color-text, #1F2937); }
.woocommerce-tabs .panel p { margin: 0 0 12px 0; }

/* Таблица атрибутов */
table.woocommerce-product-attributes.shop_attributes {
    width: 100% !important;
    border-collapse: collapse !important;
    border: 0 !important;
}
.woocommerce-product-attributes tr { border-bottom: 1px solid var(--color-border, #E2E8F0); }
.woocommerce-product-attributes th,
.woocommerce-product-attributes td {
    padding: 12px 16px !important;
    border: 0 !important;
    font-size: 14.5px !important; line-height: 1.5 !important;
    vertical-align: top;
}
.woocommerce-product-attributes th {
    width: 38%; color: var(--color-text-muted, #64748B) !important;
    font-weight: 400 !important; background: transparent !important;
}
.woocommerce-product-attributes td {
    color: var(--color-text, #1F2937) !important;
    font-weight: 500 !important; background: transparent !important;
}
.woocommerce-product-attributes tr:nth-child(even) { background: var(--color-bg-secondary, #F5F8FC); }

/* Related/Upsells */
.related.products > h2, .upsells.products > h2 {
    font-family: 'Rubik', sans-serif !important;
    font-size: 22px !important; font-weight: 700 !important;
    color: var(--color-text, #1F2937) !important;
    margin: 48px 0 20px 0 !important;
}

@media (max-width: 992px) {
    .ask-product__layout { grid-template-columns: 1fr; gap: 24px; }
    .ask-product__title { font-size: 24px !important; }
}
@media (max-width: 560px) {
    .ask-product__cart .cart { flex-wrap: wrap; }
    .ask-product__cart button.single_add_to_cart_button { width: 100%; flex: none; }
    .ask-product__specs-row { grid-template-columns: 1fr; gap: 2px; }
    .woocommerce-tabs ul.tabs.wc-tabs { overflow-x: auto; flex-wrap: nowrap; }
    .woocommerce-tabs ul.tabs.wc-tabs li a { padding: 12px 14px !important; font-size: 14px !important; white-space: nowrap; }
}

/* =========================================================
   [1.0.85] Single product polish — sticky, trust-badges, layout
   ========================================================= */

/* Главный wrap — увеличиваем gap, чуть шире sidebar */
.ask-product__wrap {
  grid-template-columns: 240px minmax(0, 1fr) minmax(0, 1.05fr) !important;
  gap: 40px !important;
  margin: 12px 0 64px !important;
}
@media (max-width: 1100px) {
  .ask-product__wrap { grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr) !important; gap: 32px !important; }
}
@media (max-width: 992px) {
  .ask-product__wrap { grid-template-columns: 1fr !important; gap: 24px !important; }
}

/* Sticky sidebar категорий */
@media (min-width: 1101px) {
  .ask-product__cats-nav {
    position: sticky; top: 96px;
    max-height: calc(100vh - 120px);
    overflow-y: auto;
    padding-right: 8px;
  }
  .ask-product__cats-nav::-webkit-scrollbar { width: 4px; }
  .ask-product__cats-nav::-webkit-scrollbar-thumb { background: rgba(0,0,0,0.12); border-radius: 4px; }
}

/* Sticky galley на десктопе (картинка остаётся видимой при скролле summary) */
@media (min-width: 993px) {
  .ask-product__gallery { position: sticky; top: 96px; align-self: start; }
}

/* Galery polishing — убираем избыточный padding, мягкая тень при hover */
.ask-product__gallery .woocommerce-product-gallery__image {
  background: linear-gradient(180deg, #FAFBFD 0%, #fff 100%) !important;
  transition: box-shadow 200ms ease;
}
.ask-product__gallery .woocommerce-product-gallery__image:hover {
  box-shadow: 0 12px 28px -10px rgba(8,26,61,0.12);
}
.ask-product__gallery .woocommerce-product-gallery__image img {
  padding: 24px !important;
  max-height: 480px !important;
}

/* Onsale badge — заметнее */
.ask-product__gallery .onsale {
  position: absolute; top: 16px; left: 16px; z-index: 2;
  background: linear-gradient(135deg, #F59E0B 0%, #F97316 100%) !important;
  color: #fff !important;
  padding: 6px 14px !important;
  border-radius: 999px !important;
  font-family: 'Rubik', sans-serif !important;
  font-size: 12px !important; font-weight: 700 !important;
  text-transform: uppercase; letter-spacing: 0.04em;
  border: none !important; margin: 0 !important;
  box-shadow: 0 4px 12px rgba(245,158,11,0.32);
}

/* Title — крупнее, line-height чище */
.ask-product__title {
  font-size: 30px !important;
  line-height: 1.22 !important;
  margin: 0 0 16px 0 !important;
}
@media (min-width: 1200px) {
  .ask-product__title { font-size: 34px !important; }
}

/* Meta-top — переработан с разделителем */
.ask-product__meta-top {
  gap: 14px !important;
  margin: 0 0 20px 0 !important;
}
.ask-product__sku { display: inline-flex; align-items: center; gap: 6px; }
.ask-product__sku::before {
  content: ''; width: 4px; height: 4px;
  background: var(--color-text-muted, #94A3B8);
  border-radius: 50%; display: inline-block;
  margin-right: 2px;
}
.ask-product__brand-pill {
  display: inline-flex !important; align-items: center !important;
  gap: 4px !important;
}
.ask-product__brand-pill::before {
  content: '\f6e2'; font-family: 'tabler-icons';
  font-size: 14px; line-height: 1;
}

/* Price-block — крупнее, с акцентом */
.ask-product__price-block {
  padding: 22px 0 !important;
  margin: 0 0 22px 0 !important;
  gap: 18px !important;
  flex-wrap: wrap !important;
}
.ask-product__price-block .price .woocommerce-Price-amount {
  font-size: 36px !important;
  color: var(--color-primary, #1E60D1) !important;
  letter-spacing: -0.01em;
}
.ask-product__price-block .price del .woocommerce-Price-amount {
  font-size: 20px !important;
  color: var(--color-text-muted, #94A3B8) !important;
}
.ask-product__stock {
  font-size: 14px !important;
  padding: 6px 12px;
  border-radius: 999px;
  gap: 6px !important;
}
.ask-product__stock--in { background: rgba(22,163,74,0.10); color: #15803D !important; }
.ask-product__stock--out { background: rgba(220,38,38,0.10); color: #B91C1C !important; }
.ask-product__stock i { font-size: 16px; }

/* Short description */
.ask-product__short {
  font-size: 15.5px !important;
  line-height: 1.6 !important;
  margin: 0 0 24px 0 !important;
  padding: 16px 18px;
  background: var(--color-bg-secondary, #F5F8FC);
  border-radius: 10px;
  border-left: 3px solid var(--color-primary, #1E60D1);
}

/* Cart — full width, выделено */
.ask-product__cart { margin: 0 0 16px 0; }
.ask-product__cart .cart { gap: 12px !important; margin: 0 !important; }
.ask-product__cart .quantity {
  border-radius: 12px !important;
  border-width: 1.5px !important;
}
.ask-product__cart .quantity input.qty {
  width: 64px !important;
  font-family: 'Rubik', sans-serif !important;
  font-weight: 600 !important;
  font-size: 16px !important;
}
.ask-product__cart button.single_add_to_cart_button {
  height: 52px !important;
  padding: 0 28px !important;
  font-size: 16px !important;
  border-radius: 12px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  box-shadow: 0 4px 12px rgba(30,96,209,0.20);
  transition: background 180ms ease, box-shadow 180ms ease, transform 120ms ease;
}
.ask-product__cart button.single_add_to_cart_button::before {
  content: '\eaae'; font-family: 'tabler-icons';
  font-size: 18px;
}
/* removed: дублирующее hover-правило (transform/shadow) — оставлен только flat-hover в .ask-product__buy */

/* Дополнительная кнопка — заказать в 1 клик */
.ask-product__cart-secondary {
  display: flex;
  margin: 0 0 24px 0;
}
.ask-product__cart-secondary .ask-btn {
  width: 100%;
  height: 48px;
  font-size: 15px;
  border-radius: 12px;
}

/* Trust-badges — 4 микро-иконки */
.ask-product__trust {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px;
  padding: 18px;
  background: #fff;
  border: 1px solid var(--color-border, #E2E8F0);
  border-radius: 12px;
  margin: 0 0 22px 0;
}
.ask-product__trust-item {
  display: flex; flex-direction: column; align-items: center;
  text-align: center;
  gap: 6px;
}
.ask-product__trust-icon {
  width: 36px; height: 36px;
  display: inline-flex; align-items: center; justify-content: center;
  border-radius: 10px;
  background: var(--color-accent-soft, rgba(30,96,209,0.10));
}
.ask-product__trust-icon i { font-size: 18px; color: var(--color-primary); }
.ask-product__trust-title { font-size: 12px; font-weight: 600; color: var(--color-text); margin: 0; line-height: 1.3; }
.ask-product__trust-sub { font-size: 11px; color: var(--color-text-secondary); margin: 0; line-height: 1.3; }
@media (max-width: 560px) {
  .ask-product__trust { grid-template-columns: repeat(2, 1fr); gap: 12px; }
}

/* Specs — больше воздуха, чуть заметнее */
.ask-product__specs {
  padding: 22px 24px !important;
  border-radius: 14px !important;
  margin: 0 0 22px 0 !important;
  background: linear-gradient(180deg, #FAFBFD 0%, #fff 100%) !important;
  border: 1px solid var(--color-border, #E2E8F0);
}
.ask-product__specs-row {
  padding: 12px 0 !important;
  grid-template-columns: 44% 56% !important;
}
.ask-product__specs-label { font-size: 14px !important; }
.ask-product__specs-value { font-size: 14.5px !important; }
.ask-product__specs-more {
  font-size: 14.5px !important;
  padding: 10px 0 0 0;
  border-top: 1px solid var(--color-border, #E2E8F0);
  margin: 14px 0 0 0 !important;
}

/* Tabs polish — современный outlined-tab look */
.woocommerce-tabs ul.tabs.wc-tabs {
  margin: 32px 0 24px 0 !important;
}
.woocommerce-tabs ul.tabs.wc-tabs li a {
  padding: 16px 24px !important;
  font-size: 15px !important;
}
.woocommerce-tabs ul.tabs.wc-tabs li.active a {
  border-bottom-width: 3px !important;
}
.woocommerce-tabs .panel {
  font-size: 15.5px !important;
  line-height: 1.7 !important;
}
.woocommerce-tabs .panel h3, .woocommerce-tabs .panel h4 {
  font-family: 'Rubik', sans-serif !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  margin: 1.4em 0 0.6em 0 !important;
}

/* Related products — отступ от табов */
.related.products, .upsells.products { margin-top: 48px !important; }

/* =========================================================
   [1.0.50] CTA-BANNER «Не нашли нужную позицию»
   ========================================================= */
.ask-cta-banner {
  display: flex; align-items: center; gap: 24px;
  padding: 28px 32px;
  background: var(--color-accent-soft, #E1ECFF);
  border-radius: 18px;
  margin: 8px 0 32px;
}
.ask-cta-banner__icon {
  flex-shrink: 0;
  width: 56px; height: 56px;
  border-radius: 50%;
  background: var(--color-primary, #1E60D1);
  color: #fff;
  display: inline-flex; align-items: center; justify-content: center;
}
.ask-cta-banner__icon i { font-size: 28px; color: #fff !important; }
.ask-cta-banner__body { flex: 1; min-width: 0; }
.ask-cta-banner__title {
  font-family: 'Rubik', sans-serif !important;
  font-size: 20px !important; font-weight: 700 !important;
  color: var(--color-text, #1F2937) !important;
  margin: 0 0 4px 0 !important;
}
.ask-cta-banner__text { font-size: 14.5px; color: var(--color-text-secondary, #475569); margin: 0; }

@media (max-width: 768px) {
  .ask-cta-banner { flex-direction: column; align-items: flex-start; padding: 22px; }
}

/* =========================================================
   [1.0.50] COLLAPSIBLE FILTERS (sidebar)
   ========================================================= */
.ask-shop-sidebar__widget--filter > summary.ask-shop-sidebar__title {
  cursor: pointer;
  list-style: none;
  display: flex; align-items: center; justify-content: space-between;
  padding: 12px 0 !important;
  margin: 0 !important;
  border-bottom: 1px solid var(--color-border, #E2E8F0);
  font-family: 'Rubik', sans-serif !important;
  font-size: 13px !important; font-weight: 600 !important;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--color-text, #1F2937) !important;
}
.ask-shop-sidebar__widget--filter > summary::-webkit-details-marker { display: none; }
.ask-shop-sidebar__widget--filter > summary::marker { content: ''; }
.ask-shop-sidebar__chevron {
  transition: transform 180ms ease;
  font-size: 16px;
  color: var(--color-text-muted, #94A3B8);
}
.ask-shop-sidebar__widget--filter[open] > summary .ask-shop-sidebar__chevron {
  transform: rotate(180deg);
  color: var(--color-primary, #1E60D1);
}
.ask-shop-sidebar__body {
  padding: 10px 0 14px 0;
}
.ask-shop-sidebar__widget--filter { border-bottom: 0; margin-bottom: 0; padding-bottom: 0; }

/* =========================================================
   [1.0.50] Заголовок archive — единый стиль с .ask-page__head
   ========================================================= */
.ask-shop__header {
  margin: 8px 0 24px 0;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--color-border, #E2E8F0);
}
.ask-shop__title.page-title {
  font-family: 'Rubik', sans-serif !important;
  font-size: 32px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  color: var(--color-text, #1F2937) !important;
  margin: 0 !important;
}
.ask-shop__desc {
  margin-top: 8px;
  font-size: 15px; color: var(--color-text-secondary, #475569);
}

/* Убираем Hello/WC дефолтный wrapper если случайно остался */
.ehf-template-hello-elementor .ehf-container,
.ehf-template-hello-elementor #content > .ehf-container {
  max-width: none !important;
  padding: 0 !important;
}

/* =========================================================
   [1.0.51] Точечные фиксы по фидбеку:
   - «Активные фильтры» — мелкий заголовок
   - Отступ сверху на archive/single (полоска прилегала)
   - Single product summary — шире, без правого пустяка
   - /catalog/ карточки — без обводки/градиента, прозрачные
   - /contacts/ — снять ограничение ширины формы
   ========================================================= */

/* (1) Заголовок «Активные фильтры» — был большой WC widget h3 */
.ask-shop-sidebar__widget--active .widgettitle,
.ask-shop-sidebar__widget--active h3 {
  font-family: 'Rubik', sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--color-text-muted, #64748B) !important;
  margin: 0 0 10px 0 !important;
  padding: 0 !important;
  line-height: 1.2 !important;
}
.ask-shop-sidebar__widget--active {
  padding-top: 14px;
  border-top: 1px solid var(--color-border, #E2E8F0);
  margin-top: 12px;
}

/* (2) Отступ сверху archive/single — была прижата к топбару */
html body main.ask-shop,
html body main.ask-shop--archive,
html body main.ask-shop--single,
html body[class*="elementor-"] main.ask-shop {
  padding-top: 32px !important;
  padding-bottom: 64px !important;
}

/* (3) Single product — переопределим layout колонок (фото 1.1 / summary 1) */
.ask-product__layout {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr) !important;
}
.ask-product__summary { padding: 0 0 0 8px; max-width: none !important; }

@media (max-width: 992px) {
  .ask-product__layout { grid-template-columns: 1fr !important; }
}

/* (4) /catalog/ группы — без обводки (удалено как мёртвое) */

/* (5) /contacts/ — ширина */
.ask-page--contacts .ask-contacts__form-wrap { max-width: none; width: 100%; }
.ask-page--contacts .ask-contacts__body { grid-template-columns: 1fr 1.2fr; gap: 32px; }
@media (max-width: 992px) {
  .ask-page--contacts .ask-contacts__body { grid-template-columns: 1fr; }
}

/* [1.0.51] Single product wrap — 3 колонки: cat-nav | gallery | summary */
.ask-product__wrap {
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr) minmax(0, 1.1fr);
  gap: 32px;
  align-items: start;
  margin: 8px 0 48px;
}
.ask-product__cats-nav { padding-top: 4px; }
.ask-product__wrap .ask-product__layout {
  display: contents;
}

@media (max-width: 1100px) {
  .ask-product__wrap { grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); }
  .ask-product__cats-nav { display: none; }
}
@media (max-width: 768px) {
  .ask-product__wrap { grid-template-columns: 1fr; }
}

/* [1.0.51] CTA-блок на /about/ — стиль как .ask-cta-banner */
.ask-page--about .ask-cta-banner,
.ask-page--contacts .ask-cta-banner { margin-top: 48px; }

/* [1.0.51] Бренды на /about/ — упрощённая версия .ask-brands */
.ask-about-brands {
  margin-top: 56px;
}

/* [1.0.52] /works/ галерея кейсов */
.ask-works-gallery {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin: 8px 0 0;
}
.ask-works-case {
  margin: 0;
  display: flex; flex-direction: column;
  background: #fff;
  border: 1px solid var(--color-border, #E2E8F0);
  border-radius: 14px;
  overflow: hidden;
  transition: border-color 200ms ease, transform 200ms ease, box-shadow 200ms ease;
}
.ask-works-case:hover {
  border-color: var(--color-primary, #1E60D1);
  transform: translateY(-2px);
  box-shadow: 0 14px 28px -18px rgba(15,37,64,0.18);
}
.ask-works-case img {
  width: 100%; aspect-ratio: 4/3;
  object-fit: cover;
  display: block;
}
.ask-works-case figcaption { padding: 18px 20px; }
.ask-works-case h3 {
  font-family: 'Rubik', sans-serif !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  color: var(--color-text, #1F2937) !important;
  margin: 0 0 6px 0 !important;
}
.ask-works-case p { font-size: 14px; color: var(--color-text-secondary, #475569); margin: 0; line-height: 1.5; }

@media (max-width: 992px) { .ask-works-gallery { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .ask-works-gallery { grid-template-columns: 1fr; } }

/* [1.0.52] Search results — список страниц */
.ask-search-results { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 16px; }
.ask-search-results li {
  padding: 16px 20px;
  background: #fff;
  border: 1px solid var(--color-border, #E2E8F0);
  border-radius: 10px;
  transition: border-color 180ms ease;
}
.ask-search-results li:hover { border-color: var(--color-primary, #1E60D1); }
.ask-search-results h3 {
  font-family: 'Rubik', sans-serif !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  color: var(--color-text, #1F2937) !important;
  margin: 0 0 6px 0 !important;
}
.ask-search-results a { text-decoration: none; }
.ask-search-results a:hover h3 { color: var(--color-primary, #1E60D1) !important; }
.ask-search-results p { margin: 0; font-size: 14px; color: var(--color-text-secondary, #475569); line-height: 1.5; }

/* =========================================================
   [1.0.54] Точечные фиксы по фидбеку:
   - Single product: убрать тени/границы с фото, выровнять summary
   - Атрибуты в «Деталях» — выравнивание
   - Похожие товары — 4 колонки
   ========================================================= */

.ask-shop-sidebar__body { padding: 8px 0 12px 0; }
.ask-shop-sidebar__widget--filter { border-bottom: 1px solid var(--color-border, #E2E8F0); padding-bottom: 0; margin-bottom: 0; }
.ask-shop-sidebar__widget--filter:last-of-type { border-bottom: 0; }

/* (3, 5) Single product — убрать тени/границы с галереи + summary шире */
.ask-product__gallery .woocommerce-product-gallery__image {
  background: #fff !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.ask-product__gallery .woocommerce-product-gallery__image img {
  padding: 8px;
  max-height: 560px;
}
.ask-product__gallery .flex-control-thumbs img {
  border: 1px solid var(--color-border, #E2E8F0);
  border-radius: 8px;
  box-shadow: none;
}
.ask-product__gallery .woocommerce-product-gallery__trigger {
  box-shadow: none;
  background: rgba(255,255,255,0.9);
  border: 1px solid var(--color-border, #E2E8F0);
}

.ask-product__summary { padding: 0 !important; }
.ask-product__layout {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
}

/* (Атрибуты в табе "Детали") — выравнивание значений */
table.woocommerce-product-attributes.shop_attributes th,
.woocommerce-product-attributes th {
  width: 32% !important;
  vertical-align: top;
  padding: 12px 16px 12px 0 !important;
}
table.woocommerce-product-attributes.shop_attributes td,
.woocommerce-product-attributes td {
  padding: 12px 0 12px 16px !important;
}
.woocommerce-product-attributes-item__value p { margin: 0 !important; }

/* (4) Похожие/Up-sell — 4 колонки */
.related.products ul.products,
.up-sells.upsells.products ul.products,
.related.products,
.upsells.products {
  display: block;
}
.related.products > ul.products,
.upsells.products > ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 20px !important;
}
@media (max-width: 1100px) {
  .related.products > ul.products,
  .upsells.products > ul.products { grid-template-columns: repeat(3, 1fr) !important; }
}
@media (max-width: 768px) {
  .related.products > ul.products,
  .upsells.products > ul.products { grid-template-columns: repeat(2, 1fr) !important; }
}

/* =========================================================
   [1.0.59] Дизайн-полишинг /catalog/, /catalog/<cat>/, /tovar/
   по аудиту 2026-05-20 — фиксы P0/P1/P2.
   ========================================================= */

/* (P0.A1/A2) Заголовки .ask-cat-group__title на /catalog/.
   Повышаем специфичность до html body[class] чтобы перебить
   inline-стиль из <head> (html body h2 { font-size:36px !important }html body.page .ask-cat-group__title {
  font-family: 'Rubik', sans-serif !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  color: var(--color-text, #1F2937) !important;
  margin: 0 !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  -webkit-hyphens: none !important;
  hyphens: none !important;
}

/* (P2.A3) Счётчик (N) inline после заголовка категории. */
.ask-cat-group__count {
  display: inline !important;
  margin-left: 6px !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: var(--color-text-muted, #94A3B8) !important;
}

/* (P2.A4) Убрать обводку у медиа-плитки категории — чище и ближе к barlau. */
.ask-cat-group__media {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  aspect-ratio: 4 / 3 !important;
  max-height: 200px !important;
  padding: 8px !important;
}

/* (P1.B1) 4-колоночная сетка на /catalog/<cat>/ listing.
   Перебиваем дефолтный WooCommerce columns-4. */
html body.woocommerce ul.products.columns-4,
html body.woocommerce-page ul.products.columns-4 {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 20px !important;
}
@media (max-width: 1280px) {
  html body.woocommerce ul.products.columns-4,
  html body.woocommerce-page ul.products.columns-4 {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 900px) {
  html body.woocommerce ul.products.columns-4,
  html body.woocommerce-page ul.products.columns-4 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 480px) {
  html body.woocommerce ul.products.columns-4,
  html body.woocommerce-page ul.products.columns-4 {
    grid-template-columns: 1fr !important;
  }
}

/* (P2.B2) Компактнее картинка карточки товара. */
html body.woocommerce ul.products li.product img,
html body.woocommerce-page ul.products li.product img {
  aspect-ratio: 4 / 3 !important;
  object-fit: contain !important;
  max-height: 200px !important;
  width: 100% !important;
  padding: 12px !important;
}

/* (P1.B3) Бейдж наличия — стилизация для PHP-хука ask_loop_stock_badge. */
.ask-stock-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 12px;
  font-weight: 500;
  color: #15803D;
  margin: 0 0 6px;
  line-height: 1.2;
}
.ask-stock-badge::before {
  content: "\2713";
  font-size: 11px;
  font-weight: 700;
}
.ask-stock-badge--out {
  color: var(--color-text-muted, #94A3B8);
}
.ask-stock-badge--out::before {
  content: "\25CB";
}

/* (P1.B4) Чекбоксы фильтра в одну строку: label + count (margin-left:auto). */
.ask-shop-sidebar .woocommerce-widget-layered-nav-list__item,
.ask-shop-sidebar ul li label {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 6px 0 !important;
  font-size: 14px !important;
  line-height: 1.3 !important;
}
.ask-shop-sidebar .count,
.ask-shop-sidebar .woocommerce-widget-layered-nav-list__item-count {
  margin-left: auto !important;
  font-size: 12px !important;
  color: var(--color-text-muted, #94A3B8) !important;
}

/* (P2.B7) Secondary стиль для "Запросить цену" — outline. */
html body.woocommerce ul.products li.product a.button.ask-button--quote,
html body.woocommerce ul.products li.product a[href*="zapros"],
html body.woocommerce-page ul.products li.product a.button.ask-button--quote {
  background: transparent !important;
  color: var(--color-primary, #1E60D1) !important;
  border: 1px solid var(--color-primary, #1E60D1) !important;
}
html body.woocommerce ul.products li.product a.button.ask-button--quote:hover,
html body.woocommerce ul.products li.product a[href*="zapros"]:hover {
  background: var(--color-primary, #1E60D1) !important;
  color: #fff !important;
}

/* (P1.B8 / P1.C9) Breadcrumbs виден на мобильном. */
@media (max-width: 768px) {
  .ask-breadcrumbs {
    display: flex !important;
    font-size: 12px !important;
    margin-bottom: 8px !important;
    overflow-x: auto !important;
    white-space: nowrap !important;
    padding-bottom: 4px !important;
  }
  .ask-product .ask-breadcrumbs {
    display: block !important;
    margin-bottom: 12px !important;
  }
  .ask-breadcrumbs::-webkit-scrollbar { display: none; }
}

/* (P0.C1) Sticky cat-nav на /tovar/ — убирает дыру ~600px под галереей. */
.ask-product__cats-nav {
  position: sticky !important;
  top: 100px !important;
  align-self: start !important;
  max-height: calc(100vh - 120px) !important;
  overflow-y: auto !important;
  padding-right: 8px !important;
  scrollbar-width: thin !important;
}
.ask-product__cats-nav::-webkit-scrollbar { width: 6px; }
.ask-product__cats-nav::-webkit-scrollbar-thumb {
  background: var(--color-border, #E2E8F0);
  border-radius: 999px;
}

/* (P0.C2) Изменить пропорции колонок .ask-product__wrap чтобы summary было ≥380px. */
.ask-product__wrap {
  grid-template-columns: 220px minmax(0, 1fr) minmax(380px, 1.1fr) !important;
  gap: 32px !important;
}
@media (max-width: 1280px) {
  .ask-product__wrap {
    grid-template-columns: 200px minmax(0, 1fr) minmax(360px, 1fr) !important;
    gap: 24px !important;
  }
}
@media (max-width: 1024px) {
  .ask-product__wrap {
    grid-template-columns: minmax(0, 1fr) minmax(360px, 1fr) !important;
  }
  .ask-product__cats-nav { display: none !important; }
}

/* (P2.C4) Hint "Нажмите для увеличения" при hover на gallery image. */
.ask-product__gallery .woocommerce-product-gallery__image {
  position: relative;
  cursor: zoom-in;
}
.ask-product__gallery .woocommerce-product-gallery__image::after {
  content: "Нажмите для увеличения";
  position: absolute;
  left: 50%;
  bottom: 16px;
  transform: translateX(-50%);
  background: rgba(31, 41, 55, 0.85);
  color: #fff;
  padding: 6px 14px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 500;
  opacity: 0;
  transition: opacity 200ms ease;
  pointer-events: none;
  white-space: nowrap;
}
.ask-product__gallery .woocommerce-product-gallery__image:hover::after {
  opacity: 1;
}

/* (P2.C5) Скрыть дублированную ссылку категории под summary. */
.ask-product__summary .product_meta,
.ask-product__summary .posted_in {
  display: none !important;
}

/* (P1.C6) Крупная CTA "В корзину" на product page (52px, full-width вместе с qty). */
.ask-product__summary form.cart {
  display: flex !important;
  align-items: stretch !important;
  gap: 12px !important;
  margin: 16px 0 20px !important;
}
.ask-product__summary form.cart .quantity input.qty {
  height: 52px !important;
  width: 80px !important;
  font-size: 16px !important;
  border-radius: 8px !important;
}
.ask-product__summary .single_add_to_cart_button,
.ask-product__summary button[name="add-to-cart"] {
  height: 52px !important;
  flex: 1 !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  padding: 0 24px !important;
  border-radius: 8px !important;
}

/* (P1.C10) Мобильная цена 26px, заголовок 22px. */
@media (max-width: 768px) {
  .ask-product__summary .price,
  .ask-product__summary .woocommerce-Price-amount {
    font-size: 26px !important;
    font-weight: 700 !important;
  }
  .ask-product__title {
    font-size: 22px !important;
  }
}

/* (P2.C11) Aspect-ratio 4/3 у gallery image вместо max-height 520. */
.ask-product__gallery .woocommerce-product-gallery__image img {
  aspect-ratio: 4 / 3 !important;
  max-height: 460px !important;
  padding: 24px !important;
  object-fit: contain !important;
}

/* (P2.C5b) Усилить контраст зелёного "В наличии" до #15803D. */
.ask-product__summary .stock.in-stock,
.ask-product__summary .ask-stock-badge {
  color: #15803D !important;
  font-weight: 500 !important;
}

/* =========================================================
   [1.0.60] Мобильная доработка по фидбеку Асада:
   - /catalog/ на 360-768px = 2 колонки (была 1 от 480px)
   - /tovar/ на <768px = 1 колонка,
gallery + summary стэк
   - Карточки товара на 480-768px = 2 колонки (была 1)
   - Sticky cat-nav на mobile отключить (overflow-y создаёт зону скролла)
   ========================================================= */

/* (1.0.60.M1) /catalog/ — 2 колонки на узком экране {
  display: grid !important;
}

/* (1.0.60.M2) Карточки товара на категории — 2 колонки на мобайле. */
@media (min-width: 360px) and (max-width: 768px) {
  html body.woocommerce ul.products.columns-4,
  html body.woocommerce-page ul.products.columns-4,
  html body.woocommerce ul.products,
  html body.woocommerce-page ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }
  html body.woocommerce ul.products li.product .woocommerce-loop-product__title,
  html body.woocommerce-page ul.products li.product .woocommerce-loop-product__title {
    font-size: 13px !important;
    line-height: 1.3 !important;
  }
  html body.woocommerce ul.products li.product .price,
  html body.woocommerce-page ul.products li.product .price {
    font-size: 14px !important;
  }
  html body.woocommerce ul.products li.product a.button,
  html body.woocommerce-page ul.products li.product a.button {
    height: 36px !important;
    font-size: 13px !important;
    padding: 8px 10px !important;
  }
}

/* (1.0.60.M3) Product page на <768px — стэк gallery, потом summary; cat-nav скрыт. */
@media (max-width: 768px) {
  .ask-product__wrap {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
  .ask-product__cats-nav {
    display: none !important;
    position: static !important;
    max-height: none !important;
    overflow-y: visible !important;
  }
  .ask-product__gallery {
    margin-bottom: 8px;
  }
  .ask-product__summary form.cart {
    flex-wrap: wrap !important;
  }
  .ask-product__summary .single_add_to_cart_button {
    width: 100% !important;
    flex: 1 1 100% !important;
  }
}

/* (1.0.60.M4) Sidebar на category на мобайле — над товарами, компактнее. */
@media (max-width: 900px) {
  .ask-shop__layout {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
  .ask-shop__sidebar {
    position: static !important;
    width: 100% !important;
    max-height: none !important;
  }
}

/* (1.0.60.M5) Hero/header padding mobile — больше воздуха под sticky-шапкой. */
@media (max-width: 768px) {
  .ask-page__head { padding: 16px 0 8px !important; }
  .ask-page__title { font-size: 24px !important; line-height: 1.2 !important; }
  .ask-page__lead { font-size: 14px !important; }
}

/* =====================================================================
 * [1.0.84] Общий компонент .ask-steps — горизонтальный таймлайн
 * ===================================================================== */
.ask-steps {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px;
  position: relative;
}
.ask-steps--3 { grid-template-columns: repeat(3, 1fr); }
.ask-steps::before {
  content: ''; position: absolute; top: 28px; left: 8%; right: 8%;
  height: 2px; background: var(--color-border, #E2E8F0); z-index: 0;
}
.ask-step { position: relative; z-index: 1; }
.ask-step__num {
  width: 56px; height: 56px;
  display: inline-flex; align-items: center; justify-content: center;
  border-radius: 50%;
  background: var(--color-primary);
  color: #fff;
  font-family: 'Rubik', sans-serif;
  font-size: 22px; font-weight: 700;
  box-shadow: 0 0 0 4px #fff, 0 0 0 5px var(--color-accent-soft, rgba(30,96,209,0.20));
  margin: 0 0 14px 0;
}
.ask-step__title { font-family: 'Rubik', sans-serif; font-size: 16px !important; font-weight: 600 !important; margin: 0 0 6px 0 !important; line-height: 1.3 !important; color: var(--color-text) !important; }
.ask-step__text { font-size: 14px; line-height: 1.55; color: var(--color-text-secondary); margin: 0; }
@media (max-width: 900px) {
  .ask-steps, .ask-steps--3 { grid-template-columns: 1fr; gap: 24px; }
  .ask-steps::before { display: none; }
  .ask-step { display: grid; grid-template-columns: 64px 1fr; gap: 14px; align-items: start; }
  .ask-step__num { margin: 0; }
}

/* Info-notice — плоский блок (без big-radius) для подсказок */
.ask-info-notice {
  display: flex; align-items: flex-start; gap: 14px;
  padding: 18px 22px;
  background: var(--color-accent-soft, rgba(30,96,209,0.07));
  border-left: 3px solid var(--color-primary, #1E60D1);
  border-radius: 4px;
  margin: 24px 0 0 0;
}
.ask-info-notice__icon {
  width: 28px; height: 28px;
  flex-shrink: 0;
  display: inline-flex; align-items: center; justify-content: center;
  color: var(--color-primary);
}
.ask-info-notice__icon i { font-size: 22px; color: var(--color-primary); }
.ask-info-notice__body { font-size: 14.5px; line-height: 1.55; color: var(--color-text); }
.ask-info-notice__body strong { color: var(--color-text); font-weight: 600; }
.ask-info-notice__body a { color: var(--color-primary); text-decoration: underline; text-underline-offset: 3px; }

/* =====================================================================
 * [1.0.80] HOME FEED — Новости + Акции на главной (split 2 колонки)
 * ===================================================================== */
.ask-home-feed { padding: 80px 0; background: var(--color-bg-secondary, #F5F8FC); }
.ask-home-feed__grid { display: grid; grid-template-columns: 1.4fr 1fr; gap: 40px; }
.ask-home-feed__col { display: flex; flex-direction: column; gap: 0; }
.ask-home-feed__head {
  display: flex; align-items: center; justify-content: space-between;
  gap: 16px;
  margin: 0 0 24px 0;
}
.ask-home-feed__title {
  font-family: 'Rubik', sans-serif !important;
  font-size: 30px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  margin: 0 !important;
  color: var(--color-text) !important;
}
.ask-home-feed__more {
  display: inline-flex; align-items: center; gap: 6px;
  color: var(--color-primary) !important;
  font-size: 14px; font-weight: 600;
  text-decoration: none !important;
  transition: gap .15s;
}
.ask-home-feed__more:hover { gap: 10px; }
.ask-home-feed__more i { font-size: 16px; }

/* News list */
.ask-home-feed__news-list { display: flex; flex-direction: column; gap: 16px; }
.ask-home-news {
  display: grid; grid-template-columns: 180px 1fr; gap: 18px;
  background: #fff;
  border: 1px solid var(--color-border, #E2E8F0);
  border-radius: 14px;
  overflow: hidden;
  transition: border-color .15s, transform .15s, box-shadow .15s;
}
.ask-home-news:hover {
  border-color: var(--color-primary);
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(30,96,209,0.08);
}
.ask-home-news__media { display: block; }
.ask-home-news__media img { width: 100%; height: 100%; object-fit: cover; display: block; aspect-ratio: 4/3; }
.ask-home-news__media-empty {
  width: 100%; height: 100%;
  display: flex; align-items: center; justify-content: center;
  background: linear-gradient(135deg, var(--color-primary, #1E60D1) 0%, #4A8BFF 100%);
  aspect-ratio: 4/3;
}
.ask-home-news__media-empty i { font-size: 42px; color: #fff; opacity: 0.6; }
.ask-home-news__body { padding: 16px 18px 16px 0; display: flex; flex-direction: column; gap: 6px; }
.ask-home-news__date {
  font-size: 12px; color: var(--color-text-secondary);
  text-transform: uppercase; letter-spacing: 0.06em; font-weight: 600;
}
.ask-home-news__title {
  font-family: 'Rubik', sans-serif !important;
  font-size: 16px !important; font-weight: 600 !important;
  line-height: 1.35 !important;
  margin: 0 !important;
}
.ask-home-news__title a { color: var(--color-text) !important; text-decoration: none !important; transition: color .15s; }
.ask-home-news__title a:hover { color: var(--color-primary) !important; }
.ask-home-news__excerpt { font-size: 13.5px; line-height: 1.5; color: var(--color-text-secondary); margin: 0; }
.ask-home-news__cta {
  display: inline-flex; align-items: center; gap: 5px;
  color: var(--color-primary) !important;
  font-size: 13px; font-weight: 600;
  text-decoration: none !important;
  margin-top: 4px;
  transition: gap .15s;
}
.ask-home-news__cta:hover { gap: 9px; }

/* Promo cards */
.ask-home-feed__promo-list { display: flex; flex-direction: column; gap: 16px; }
.ask-home-promo {
  position: relative;
  background: linear-gradient(135deg, rgba(30,96,209,0.06) 0%, rgba(74,139,255,0.04) 100%);
  border: 1px solid rgba(30,96,209,0.18);
  border-radius: 14px;
  padding: 22px 24px 24px;
  display: flex; flex-direction: column; gap: 10px;
}
.ask-home-promo__badge {
  align-self: flex-start;
  background: #F59E0B;
  color: #fff;
  font-family: 'Rubik', sans-serif;
  font-size: 13px; font-weight: 700;
  padding: 4px 10px;
  border-radius: 6px;
  letter-spacing: 0.02em;
  margin: 0 0 2px 0;
  line-height: 1.4;
}
.ask-home-promo__title {
  font-family: 'Rubik', sans-serif !important;
  font-size: 18px !important; font-weight: 600 !important;
  line-height: 1.3 !important;
  margin: 0 !important;
}
.ask-home-promo__title a { color: var(--color-text) !important; text-decoration: none !important; transition: color .15s; }
.ask-home-promo__title a:hover { color: var(--color-primary) !important; }
.ask-home-promo__text { font-size: 14px; line-height: 1.55; color: var(--color-text-secondary); margin: 0; }
.ask-home-promo__date { font-size: 12px; color: var(--color-text-secondary); text-transform: uppercase; letter-spacing: 0.06em; font-weight: 600; margin-top: 2px; }
.ask-home-promo__cta { align-self: flex-start; margin-top: 6px; }

/* Placeholders (когда постов/акций нет) */
.ask-home-feed__placeholder {
  background: #fff;
  border: 1px dashed var(--color-border, #E2E8F0);
  border-radius: 14px;
  padding: 36px 28px;
  text-align: center;
}
.ask-home-feed__placeholder i { font-size: 40px; color: var(--color-primary); margin: 0 0 12px 0; opacity: 0.6; }
.ask-home-feed__placeholder p { font-size: 14.5px; line-height: 1.55; color: var(--color-text-secondary); margin: 0 auto 16px; max-width: 380px; }
.ask-home-feed__placeholder--promo { background: linear-gradient(135deg, rgba(30,96,209,0.04) 0%, rgba(74,139,255,0.02) 100%); border-style: solid; border-color: rgba(30,96,209,0.18); }

@media (max-width: 900px) {
  .ask-home-feed { padding: 56px 0; }
  .ask-home-feed__grid { grid-template-columns: 1fr; gap: 32px; }
  .ask-home-feed__title { font-size: 26px !important; }
}
@media (max-width: 560px) {
  .ask-home-news { grid-template-columns: 1fr; }
  .ask-home-news__media img,
  .ask-home-news__media-empty { aspect-ratio: 16/9; }
  .ask-home-news__body { padding: 14px 18px 18px; }
}

/* =====================================================================
 * [1.0.78] Аккордеоны — общий компонент .ask-accordion
 * ===================================================================== */
details.ask-accordion {
  background: #fff;
  border: 1px solid var(--color-border, #E2E8F0);
  border-radius: 12px;
  padding: 0 22px;
  margin-bottom: 10px;
  transition: border-color 0.18s ease, box-shadow 0.18s ease;
}
details.ask-accordion[open] {
  border-color: var(--color-primary);
  box-shadow: 0 4px 14px rgba(30,96,209,0.06);
}
details.ask-accordion > summary {
  list-style: none; cursor: pointer;
  padding: 20px 0;
  font-family: 'Rubik', sans-serif;
  font-size: 16px; font-weight: 500;
  color: var(--color-text);
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
}
details.ask-accordion > summary::-webkit-details-marker { display: none; }
details.ask-accordion > summary::after {
  content: '+';
  font-family: 'Rubik', sans-serif;
  font-size: 22px;
  font-weight: 300;
  color: var(--color-primary);
  width: 32px; height: 32px;
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--color-accent-soft, rgba(30,96,209,0.10));
  border-radius: 50%;
  transition: transform 0.28s cubic-bezier(0.4, 0, 0.2, 1), background-color 0.18s ease, color 0.18s ease;
  flex-shrink: 0;
}
details.ask-accordion[open] > summary::after {
  transform: rotate(135deg);
  background: var(--color-primary);
  color: #fff;
}
details.ask-accordion > .ask-accordion__body {
  overflow: hidden;
  transition: max-height 0.32s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.22s ease;
}
details.ask-accordion > .ask-accordion__body > .ask-accordion__inner {
  padding: 0 0 20px 0;
  font-size: 15px; line-height: 1.6;
  color: var(--color-text-secondary);
}
details.ask-accordion > .ask-accordion__body > .ask-accordion__inner p { margin: 0 0 10px 0; }
details.ask-accordion > .ask-accordion__body > .ask-accordion__inner p:last-child { margin-bottom: 0; }
details.ask-accordion > .ask-accordion__body > .ask-accordion__inner a { color: var(--color-primary); text-decoration: underline; text-underline-offset: 3px; }

/* =====================================================================
 * [1.0.66] Hero slider — фото выше надписей на мобиле
 * ===================================================================== */
.ask-hero__media-mobile { display: none; }
@media (max-width: 768px) {
  .ask-hero__media-mobile {
    display: block;
    order: -1;
    margin: 0 auto 6px auto;
    width: 100%;
    max-width: 420px;
  }
  .ask-hero__media-mobile img {
    display: block;
    width: 100%;
    max-height: 240px;
    object-fit: contain;
    border-radius: var(--radius-xl, 16px);
  }
}

/* =====================================================================
 * [1.0.86] SINGLE PRODUCT — полная переработка под barlau-style
 * Главный блок: sidebar категорий | main (title, hero=gallery+summary, tabs)
 * Перебивает все старые правила через body.single-product специфичность.
 * ===================================================================== */

body.single-product .ask-product { padding: 0 0 64px; }
body.single-product .ask-shop--single { padding-top: 24px !important; }

/* MAIN LAYOUT: 240px sidebar | 1fr main */
body.single-product .ask-product__layout {
  display: grid !important;
  grid-template-columns: 240px minmax(0, 1fr) !important;
  gap: 40px !important;
  align-items: start !important;
  margin: 0 !important;
}
@media (max-width: 1100px) {
  body.single-product .ask-product__layout {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }
}

/* SIDEBAR — категории с миниатюрами (без sticky, без ограничения высоты) */
body.single-product .ask-product__sidebar {
  padding: 0;
}

.ask-side-cats { padding: 0; }
.ask-side-cats__list {
  list-style: none; margin: 0; padding: 0;
  display: flex; flex-direction: column; gap: 4px;
}
.ask-side-cats__item {
  position: relative;
  margin: 0; padding: 0;
}
.ask-side-cats__link {
  display: flex !important;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  border: 1px solid transparent;
  border-radius: 12px;
  color: var(--color-text);
  text-decoration: none !important;
  font-size: 13.5px;
  line-height: 1.35;
  transition: background-color .15s ease, border-color .15s ease, color .15s ease, transform .15s ease;
}
.ask-side-cats__item:hover .ask-side-cats__link {
  background: #fff;
  border-color: var(--color-border, #E2E8F0);
  box-shadow: 0 4px 14px rgba(8,26,61,0.06);
  color: var(--color-text);
}
.ask-side-cats__item.is-active .ask-side-cats__link {
  background: var(--color-accent-soft, rgba(30,96,209,0.10));
  border-color: rgba(30,96,209,0.20);
  color: var(--color-primary);
  font-weight: 600;
}
.ask-side-cats__media {
  width: 48px; height: 48px;
  background: #fff;
  border: 1px solid var(--color-border, #E2E8F0);
  border-radius: 10px;
  display: flex; align-items: center; justify-content: center;
  overflow: hidden;
  flex-shrink: 0;
  transition: border-color .15s ease;
}
.ask-side-cats__media img {
  width: 100%; height: 100%;
  object-fit: contain;
  padding: 6px;
  display: block;
}
.ask-side-cats__name {
  flex: 1; min-width: 0;
  font-size: 13.5px;
  line-height: 1.35;
}
.ask-side-cats__caret {
  flex-shrink: 0;
  display: inline-flex; align-items: center;
  color: var(--color-text-muted, #94A3B8);
  transition: color .15s ease, transform .15s ease;
}
.ask-side-cats__caret i { font-size: 16px; }
.ask-side-cats__item:hover .ask-side-cats__caret,
.ask-side-cats__item.is-active .ask-side-cats__caret {
  color: var(--color-primary);
  transform: translateX(2px);
}

/* FLYOUT с подкатегориями (появляется при hover на категории) */
.ask-side-cats__flyout {
  position: absolute;
  left: calc(100% + 8px);
  top: 0;
  min-width: 260px;
  max-width: 320px;
  background: #fff;
  border: 1px solid var(--color-border, #E2E8F0);
  border-radius: 12px;
  padding: 8px;
  box-shadow: 0 4px 14px -4px rgba(8,26,61,0.13), 0 1px 2px rgba(8,26,61,0.06);
  opacity: 0;
  visibility: hidden;
  transform: translateX(-6px);
  transition: opacity .15s ease, transform .15s ease, visibility 0s linear .15s;
  z-index: 50;
}
.ask-side-cats__item.has-subs:hover > .ask-side-cats__flyout,
.ask-side-cats__item.has-subs:focus-within > .ask-side-cats__flyout {
  opacity: 1;
  visibility: visible;
  transform: translateX(0);
  transition: opacity .15s ease, transform .15s ease, visibility 0s linear 0s;
}
.ask-side-cats__flyout ul { list-style: none; margin: 0; padding: 0; }
.ask-side-cats__flyout li { margin: 0; padding: 0; position: relative; }
.ask-side-cats__flyout a {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 14px;
  border-radius: 8px;
  color: var(--color-text);
  text-decoration: none !important;
  font-size: 14px;
  line-height: 1.4;
  transition: background .12s, color .12s;
}
.ask-side-cats__flyout a:hover {
  background: var(--color-accent-soft, rgba(30,96,209,0.10));
  color: var(--color-primary);
}
.ask-side-cats__flyout a i { font-size: 14px; color: var(--color-text-muted, #94A3B8); flex-shrink: 0; transition: color .12s, transform .12s; }
.ask-side-cats__flyout a:hover i { color: var(--color-primary); transform: translateX(2px); }

/* Nested flyout — для 3-го уровня (sub-sub) выезжает ещё правее */
.ask-side-cats__flyout .ask-side-cats__flyout {
  position: absolute;
  left: calc(100% + 6px);
  top: -8px;
  min-width: 240px;
  opacity: 0;
  visibility: hidden;
  transform: translateX(-4px);
  transition: opacity .15s ease, transform .15s ease, visibility 0s linear .15s;
}
.ask-side-cats__flyout li.has-children:hover > .ask-side-cats__flyout,
.ask-side-cats__flyout li.has-children:focus-within > .ask-side-cats__flyout {
  opacity: 1;
  visibility: visible;
  transform: translateX(0);
  transition: opacity .15s ease, transform .15s ease, visibility 0s linear 0s;
}
.ask-side-cats__flyout li.has-children > a {
  font-weight: 500;
}

/* [1.4.75] Только ≤900px (мобильный drawer). На 901–1280px sidebar-категории
   используют десктопное hover-поведение: ничего не открыто по умолчанию,
   L2/L3 выезжают только при наведении. Раньше был ≤1100px и форсил все
   вложенные флайауты visible → под-подкатегории торчали по умолчанию. */
@media (max-width: 900px) {
  .ask-side-cats__flyout {
    position: static; min-width: 0; max-width: none;
    box-shadow: none; transform: none;
    padding: 4px 0 0 60px;
    border: 0; background: transparent;
    opacity: 1; visibility: visible;
  }
  .ask-side-cats__item.has-subs:hover .ask-side-cats__flyout { transform: none; }
  .ask-side-cats__flyout .ask-side-cats__flyout {
    position: static; min-width: 0;
    opacity: 1; visibility: visible; transform: none;
    padding: 2px 0 0 18px;
  }
}

/* MAIN COLUMN */
body.single-product .ask-product__main {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
body.single-product .ask-product .ask-breadcrumbs { margin: 0 0 16px 0 !important; }

/* TITLE */
body.single-product .ask-product__title {
  font-family: 'Rubik', sans-serif !important;
  font-size: clamp(24px, 2.6vw, 32px) !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  color: var(--color-text) !important;
  margin: 0 0 28px 0 !important;
}

/* HERO: Gallery | Summary */
body.single-product .ask-product__hero {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr) !important;
  gap: 40px !important;
  align-items: start !important;
  margin: 0 0 48px 0 !important;
}
@media (max-width: 992px) {
  body.single-product .ask-product__hero {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }
}

/* GALLERY */
body.single-product .ask-product__gallery {
  position: sticky; top: 96px;
}
@media (max-width: 992px) {
  body.single-product .ask-product__gallery { position: static; }
}
body.single-product .ask-product__gallery .woocommerce-product-gallery,
body.single-product .ask-product__gallery { width: 100% !important; }
body.single-product .ask-product__gallery .woocommerce-product-gallery__image {
  background: #fff !important;
  border: 1px solid var(--color-border, #E2E8F0) !important;
  border-radius: 14px !important;
  overflow: hidden;
  position: relative;
  transition: box-shadow .2s ease;
}
body.single-product .ask-product__gallery .woocommerce-product-gallery__image:hover {
  box-shadow: 0 8px 24px -8px rgba(8,26,61,0.12);
}
body.single-product .ask-product__gallery .woocommerce-product-gallery__image img {
  width: 100% !important; height: auto !important;
  object-fit: contain !important;
  padding: 24px !important;
  max-height: 460px !important;
}
body.single-product .ask-product__gallery .flex-control-thumbs {
  display: flex !important; gap: 10px !important; margin: 14px 0 0 !important; padding: 0 !important;
  flex-wrap: wrap !important;
}
body.single-product .ask-product__gallery .flex-control-thumbs li { list-style: none !important; width: 68px !important; }
body.single-product .ask-product__gallery .flex-control-thumbs img {
  width: 68px !important; height: 68px !important;
  border: 1px solid var(--color-border, #E2E8F0) !important;
  border-radius: 10px !important; padding: 5px !important;
  background: #fff !important; object-fit: contain !important;
  cursor: pointer !important;
  transition: border-color .15s ease;
}
body.single-product .ask-product__gallery .flex-control-thumbs img:hover,
body.single-product .ask-product__gallery .flex-control-thumbs .flex-active {
  border-color: var(--color-primary) !important;
}
body.single-product .ask-product__gallery .woocommerce-product-gallery__trigger {
  top: 14px !important; right: 14px !important;
  background: rgba(255,255,255,0.92) !important;
  border: 1px solid var(--color-border, #E2E8F0) !important;
  width: 32px !important; height: 32px !important;
  border-radius: 999px !important;
  display: inline-flex !important; align-items: center !important; justify-content: center !important;
  color: var(--color-text) !important;
  font-size: 14px !important;
}
body.single-product .ask-product__gallery .onsale {
  position: absolute !important;
  top: 14px !important; left: 14px !important; z-index: 2 !important;
  background: linear-gradient(135deg, #F59E0B 0%, #F97316 100%) !important;
  color: #fff !important;
  padding: 5px 12px !important;
  border-radius: 999px !important;
  font-family: 'Rubik', sans-serif !important;
  font-size: 11px !important; font-weight: 700 !important;
  text-transform: uppercase; letter-spacing: 0.04em;
  border: none !important; margin: 0 !important;
  box-shadow: 0 4px 10px rgba(245,158,11,0.32);
  min-width: 0 !important; min-height: 0 !important;
  line-height: 1.4 !important;
}

/* SUMMARY */
body.single-product .ask-product__summary {
  padding: 0 !important;
  max-width: none !important;
  margin: 0 !important;
  width: 100% !important;
  float: none !important;
}

/* META (Артикул / Наличие) */
body.single-product .ask-product__meta {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin: 0 0 22px 0;
  padding: 0 0 18px 0;
  border-bottom: 1px solid var(--color-border, #E2E8F0);
}
body.single-product .ask-product__meta-item { display: flex; flex-direction: column; gap: 4px; }
body.single-product .ask-product__meta-label {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--color-text-muted, #94A3B8);
  font-weight: 500;
}
body.single-product .ask-product__meta-value {
  font-family: 'Rubik', sans-serif;
  font-size: 15px;
  font-weight: 600;
  color: var(--color-text);
  display: inline-flex; align-items: center; gap: 6px;
}
body.single-product .ask-product__meta-value--in { color: #15803D; }
body.single-product .ask-product__meta-value--out { color: #B91C1C; }
body.single-product .ask-product__meta-value i { font-size: 18px; }

/* PRICE */
body.single-product .ask-product__price {
  margin: 0 0 20px 0;
  display: flex; align-items: baseline; gap: 14px; flex-wrap: wrap;
}
body.single-product .ask-product__price .price { margin: 0 !important; padding: 0 !important; }
body.single-product .ask-product__price .price .woocommerce-Price-amount,
body.single-product .ask-product__price .price ins .woocommerce-Price-amount {
  font-family: 'Rubik', sans-serif !important;
  font-size: 34px !important; font-weight: 800 !important;
  color: var(--color-text) !important;
  letter-spacing: -0.01em !important;
  line-height: 1 !important;
}
body.single-product .ask-product__price .price del .woocommerce-Price-amount {
  font-family: 'Rubik', sans-serif !important;
  font-size: 18px !important; font-weight: 500 !important;
  color: var(--color-text-muted) !important;
  text-decoration: line-through;
}
body.single-product .ask-product__price .price ins { background: transparent !important; text-decoration: none !important; }

/* BUY ROW: qty + В корзину + 1 клик */
body.single-product .ask-product__buy {
  display: flex;
  align-items: stretch;
  gap: 10px;
  margin: 0 0 22px 0;
}
body.single-product .ask-product__buy .cart {
  flex: 1;
  display: flex !important;
  align-items: stretch !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.single-product .ask-product__buy .quantity {
  display: inline-flex;
  border: 1.5px solid var(--color-border, #E2E8F0);
  border-radius: 10px;
  overflow: hidden;
  background: #fff;
  height: 48px;
  align-items: center;
}
body.single-product .ask-product__buy .quantity input.qty {
  width: 56px !important;
  border: 0 !important;
  background: transparent !important;
  text-align: center;
  font-family: 'Rubik', sans-serif !important;
  font-weight: 600 !important;
  font-size: 16px !important;
  height: 100% !important;
  outline: none;
  padding: 0 !important;
}
body.single-product .ask-product__buy button.single_add_to_cart_button {
  flex: 1 !important;
  height: 48px !important;
  background: var(--color-primary) !important;
  background-color: var(--color-primary) !important;
  color: #fff !important;
  border: 0 !important;
  padding: 0 24px !important;
  font-family: 'Rubik', sans-serif !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  border-radius: 10px !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  transition: background-color 200ms ease, color 200ms ease;
  white-space: nowrap;
}
body.single-product .ask-product__buy button.single_add_to_cart_button::before {
  content: '\eaae'; font-family: 'tabler-icons'; font-size: 18px;
}
body.single-product .ask-product__buy button.single_add_to_cart_button:hover {
  background: var(--color-primary-hover, #1748A8) !important;
  background-color: var(--color-primary-hover, #1748A8) !important;
  color: #fff !important;
}
body.single-product .ask-product__quick-btn {
  height: 48px;
  padding: 0 16px;
  background: #fff;
  color: var(--color-primary);
  border: 1.5px solid var(--color-primary);
  border-radius: 10px;
  font-family: 'Rubik', sans-serif;
  font-weight: 600;
  font-size: 14px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
  transition: background .15s ease, color .15s ease;
}
body.single-product .ask-product__quick-btn:hover {
  background: var(--color-accent-soft, rgba(30,96,209,0.10));
}
body.single-product .ask-product__quick-btn i { font-size: 18px; color: var(--color-primary); }
body.single-product .ask-product__quick-btn:hover i { color: var(--color-primary); }
@media (max-width: 480px) {
  body.single-product .ask-product__buy { flex-wrap: wrap; }
  body.single-product .ask-product__buy .cart { flex: 1 0 100%; }
  body.single-product .ask-product__quick-btn { flex: 1 0 100%; justify-content: center; }
}

/* Brand line — мелкая строка под кнопкой */
body.single-product .ask-product__brand-line {
  font-size: 13px;
  color: var(--color-text-secondary);
  margin: 0 0 20px 0;
  line-height: 1.4;
}
body.single-product .ask-product__brand-line span { color: var(--color-text-muted); margin: 0 4px; }

/* Quick specs — 2 колонки label+value */
body.single-product .ask-product__quick-specs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px 32px;
  margin: 0 0 18px 0;
  padding: 22px 24px;
  background: var(--color-bg-secondary, #F5F8FC);
  border-radius: 12px;
}
body.single-product .ask-product__quick-spec { display: flex; flex-direction: column; gap: 3px; }
body.single-product .ask-product__quick-spec-label {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--color-text-muted, #94A3B8);
  font-weight: 500;
  margin: 0;
}
body.single-product .ask-product__quick-spec-value {
  font-family: 'Rubik', sans-serif;
  font-size: 14.5px;
  font-weight: 600;
  color: var(--color-text);
  margin: 0;
  line-height: 1.4;
}
@media (max-width: 560px) {
  body.single-product .ask-product__quick-specs { grid-template-columns: 1fr; gap: 14px; padding: 18px 20px; }
}

/* "Все характеристики" — link below quick-specs */
body.single-product .ask-product__all-specs {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: 'Rubik', sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: var(--color-primary) !important;
  text-decoration: none !important;
  margin: -8px 0 24px 0;
  transition: gap .15s ease;
}
body.single-product .ask-product__all-specs:hover { gap: 10px; }
body.single-product .ask-product__all-specs i { font-size: 16px; }

/* SHORT description */
body.single-product .ask-product__short {
  margin: 0;
  padding: 16px 18px;
  background: #fff;
  border: 1px solid var(--color-border, #E2E8F0);
  border-radius: 10px;
  font-size: 14.5px;
  line-height: 1.6;
  color: var(--color-text-secondary);
}
body.single-product .ask-product__short p { margin: 0 0 8px 0; }
body.single-product .ask-product__short p:last-child { margin-bottom: 0; }

/* TABS */
body.single-product .ask-product__tabs-wrap { margin-top: 0; }
body.single-product .woocommerce-tabs.wc-tabs-wrapper { padding: 0; }
body.single-product .woocommerce-tabs ul.tabs.wc-tabs {
  display: flex !important;
  gap: 0 !important;
  margin: 0 0 28px 0 !important;
  padding: 0 !important;
  list-style: none !important;
  border-bottom: 1px solid var(--color-border, #E2E8F0) !important;
}
body.single-product .woocommerce-tabs ul.tabs.wc-tabs::before,
body.single-product .woocommerce-tabs ul.tabs.wc-tabs::after,
body.single-product .woocommerce-tabs ul.tabs.wc-tabs li::before,
body.single-product .woocommerce-tabs ul.tabs.wc-tabs li::after {
  display: none !important; content: '' !important; border: 0 !important;
}
body.single-product .woocommerce-tabs ul.tabs.wc-tabs li {
  margin: 0 !important; padding: 0 !important;
  background: transparent !important; border: 0 !important; border-radius: 0 !important;
}
body.single-product .woocommerce-tabs ul.tabs.wc-tabs li a {
  display: block !important;
  padding: 16px 24px !important;
  font-family: 'Rubik', sans-serif !important;
  font-weight: 500 !important;
  font-size: 15px !important;
  color: var(--color-text-secondary) !important;
  text-decoration: none !important;
  border-bottom: 3px solid transparent !important;
  margin-bottom: -1px !important;
  transition: color .15s ease, border-color .15s ease;
}
body.single-product .woocommerce-tabs ul.tabs.wc-tabs li a:hover { color: var(--color-text) !important; }
body.single-product .woocommerce-tabs ul.tabs.wc-tabs li.active a {
  color: var(--color-primary) !important;
  border-bottom-color: var(--color-primary) !important;
  font-weight: 600 !important;
}
body.single-product .woocommerce-tabs .panel.entry-content {
  padding: 0 !important; margin: 0 !important;
  background: none !important; border: 0 !important;
}
body.single-product .woocommerce-tabs .panel h2 { display: none !important; }
body.single-product .woocommerce-tabs .panel {
  font-size: 15.5px !important;
  line-height: 1.7 !important;
  color: var(--color-text) !important;
}
body.single-product .woocommerce-tabs .panel p { margin: 0 0 14px 0 !important; }
body.single-product .woocommerce-tabs .panel h3,
body.single-product .woocommerce-tabs .panel h4 {
  font-family: 'Rubik', sans-serif !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  margin: 24px 0 10px 0 !important;
  color: var(--color-text) !important;
}

/* Attributes table в табе "Характеристики" */
body.single-product table.woocommerce-product-attributes.shop_attributes {
  width: 100% !important;
  border-collapse: collapse !important;
  border: 1px solid var(--color-border, #E2E8F0) !important;
  border-radius: 12px;
  overflow: hidden;
}
body.single-product .woocommerce-product-attributes tr { border-bottom: 1px solid var(--color-border, #E2E8F0); }
body.single-product .woocommerce-product-attributes tr:last-child { border-bottom: 0; }
body.single-product .woocommerce-product-attributes th,
body.single-product .woocommerce-product-attributes td {
  padding: 14px 18px !important;
  border: 0 !important;
  font-size: 14.5px !important;
  line-height: 1.5 !important;
  vertical-align: top;
}
body.single-product .woocommerce-product-attributes th {
  width: 38%;
  color: var(--color-text-muted) !important;
  font-weight: 500 !important;
  background: var(--color-bg-secondary, #F5F8FC) !important;
}
body.single-product .woocommerce-product-attributes td {
  color: var(--color-text) !important;
  font-weight: 500 !important;
  background: #fff !important;
}

/* Related products */
body.single-product .related.products,
body.single-product .upsells.products { margin-top: 56px !important; }
body.single-product .related.products > h2,
body.single-product .upsells.products > h2 {
  font-family: 'Rubik', sans-serif !important;
  font-size: 24px !important;
  font-weight: 700 !important;
  color: var(--color-text) !important;
  margin: 0 0 24px 0 !important;
}

@media (max-width: 992px) {
  body.single-product .ask-product__title { font-size: 24px !important; margin-bottom: 20px !important; }
  body.single-product .ask-product__price .price .woocommerce-Price-amount { font-size: 28px !important; }
  body.single-product .woocommerce-tabs ul.tabs.wc-tabs { overflow-x: auto; flex-wrap: nowrap; }
  body.single-product .woocommerce-tabs ul.tabs.wc-tabs li a { padding: 14px 18px !important; white-space: nowrap; }
}

/* =====================================================================
 * [1.0.93] Лого в шапке и подвале — единый PNG, в подвале через filter:invert
 * ===================================================================== */
html body .ask-header__logo,
html body a.ask-header__logo {
  display: inline-flex !important;
  align-items: center !important;
  text-decoration: none !important;
  line-height: 1 !important;
  flex-shrink: 0 !important;
  max-width: 240px;
}
html body .ask-header__logo-img,
html body img.ask-header__logo-img {
  display: block !important;
  height: 32px !important;
  width: auto !important;
  max-height: 32px !important;
  max-width: 240px !important;
  object-fit: contain !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}
@media (max-width: 768px) {
  html body .ask-header__logo-img,
  html body img.ask-header__logo-img {
    height: 26px !important;
    max-height: 26px !important;
    max-width: 200px !important;
  }
}

html body .ask-footer__logo,
html body a.ask-footer__logo {
  display: inline-flex !important;
  align-items: center !important;
  text-decoration: none !important;
  line-height: 1 !important;
  max-width: 220px;
}
html body .ask-footer__logo-img,
html body img.ask-footer__logo-img {
  display: block !important;
  height: 30px !important;
  width: auto !important;
  max-height: 30px !important;
  max-width: 220px !important;
  object-fit: contain !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  /* Чёрный лого на тёмном фоне → инвертируем в белый */
  filter: invert(1) brightness(2) !important;
}

/* [1.0.99] Home feed — только акции, full-width grid 3 колонки */
.ask-home-feed--promos-only {
  padding: 64px 0;
  background: var(--color-bg-secondary, #F5F8FC);
}
.ask-home-feed--promos-only .ask-home-feed__head {
  display: flex; align-items: center; justify-content: space-between;
  gap: 16px;
  margin: 0 0 28px 0;
}
.ask-home-feed__promo-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.ask-home-feed--promos-only .ask-home-promo {
  height: 100%;
}
.ask-home-feed--promos-only .ask-home-promo__cta { margin-top: auto; }
@media (max-width: 900px) {
  .ask-home-feed__promo-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
  .ask-home-feed__promo-grid { grid-template-columns: 1fr; }
  .ask-home-feed--promos-only { padding: 48px 0; }
}

/* =====================================================================
 * [1.1.5] МИНИ-КОРЗИНА в шапке + ОВЕРРАЙДЫ /cart/, /checkout/, /my-account/
 * Перебивает стандартные WC + Gutenberg блоки через body.woocommerce-* специфичность
 * ===================================================================== */

/* === Мини-корзина в шапке === */
.ask-mini-cart {
  position: relative;
  display: inline-flex; align-items: center; justify-content: center;
  width: 44px; height: 44px;
  border-radius: 10px;
  background: transparent;
  color: var(--color-text);
  text-decoration: none !important;
  transition: background-color .15s ease, color .15s ease;
  flex-shrink: 0;
}
.ask-mini-cart:hover {
  background: var(--color-accent-soft, rgba(30,96,209,0.10));
  color: var(--color-primary);
}
.ask-mini-cart i { font-size: 22px; }
/* [1.4.55] Счётчик корзины — пилюля с акцентным градиентом, мягкой тенью и pop-анимацией */
.ask-mini-cart__badge {
  position: absolute; top: -3px; right: -3px;
  min-width: 15px; height: 15px;
  padding: 0 3px;
  background: linear-gradient(135deg, #2E74F0 0%, #1E60D1 100%);
  color: #fff;
  border-radius: 999px;
  font-family: 'Rubik', sans-serif;
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: 0;
  display: inline-flex; align-items: center; justify-content: center;
  line-height: 1;
  border: 1.5px solid #fff;
  box-sizing: content-box;
  box-shadow: 0 1px 4px rgba(30,96,209,0.45);
  pointer-events: none;
  z-index: 2;
  animation: ask-badge-pop .28s cubic-bezier(.34,1.56,.64,1);
}
@keyframes ask-badge-pop { 0% { transform: scale(.2); opacity: 0; } 60% { transform: scale(1.18); } 100% { transform: scale(1); opacity: 1; } }
.ask-mini-cart__badge[data-empty="1"] { display: none; }

/* [1.4.55] Дропдаун мини-корзины */
.ask-mini-cart-wrap { position: relative; flex-shrink: 0; }
.ask-minicart-panel {
  position: absolute; top: calc(100% + 10px); right: 0;
  width: 340px; max-width: calc(100vw - 32px);
  background: #fff;
  border: 1px solid var(--color-border, #E2E8F0);
  border-radius: 14px;
  box-shadow: 0 20px 48px -12px rgba(8,26,61,0.28);
  padding: 16px;
  z-index: 1200;
  opacity: 0; visibility: hidden; transform: translateY(-8px);
  transition: opacity .18s ease, transform .18s ease, visibility 0s linear .18s;
}
.ask-minicart-panel[hidden] { display: block !important; } /* управляем видимостью через is-open, не hidden */
.ask-mini-cart-wrap.is-open .ask-minicart-panel {
  opacity: 1; visibility: visible; transform: translateY(0);
  transition: opacity .18s ease, transform .18s ease, visibility 0s linear 0s;
}
/* стрелочка-указатель */
.ask-minicart-panel::before {
  content: ''; position: absolute; top: -7px; right: 16px;
  width: 12px; height: 12px; background: #fff;
  border-left: 1px solid var(--color-border, #E2E8F0);
  border-top: 1px solid var(--color-border, #E2E8F0);
  transform: rotate(45deg);
}
/* WooCommerce mini-cart содержимое */
.ask-minicart-panel ul.woocommerce-mini-cart, .ask-minicart-panel ul.cart_list {
  list-style: none !important; margin: 0 0 4px 0 !important; padding: 0 !important;
  max-height: 46vh; overflow-y: auto;
}
/* [1.4.60] шапка панели мини-корзины + крестик закрытия */
.ask-minicart-panel__head {
  display: flex; align-items: center; justify-content: space-between;
  margin: 0 0 8px 0; padding-bottom: 10px;
  border-bottom: 1px solid var(--color-border, #F1F5F9);
}
.ask-minicart-panel__title {
  font-family: 'Rubik', sans-serif; font-weight: 700; font-size: 15px; color: var(--color-text);
}
.ask-minicart-close {
  width: 30px; height: 30px; padding: 0; flex-shrink: 0;
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--color-bg-secondary, #F1F5F9); border: 0; border-radius: 8px;
  cursor: pointer; transition: background .12s;
}
.ask-minicart-close:hover { background: #FEE2E2; }
.ask-minicart-close .ask-x-icon { position: relative; display: block; width: 14px; height: 14px; }
.ask-minicart-close .ask-x-icon::before,
.ask-minicart-close .ask-x-icon::after {
  content: ''; position: absolute; top: 50%; left: 50%; width: 14px; height: 2px; border-radius: 2px;
  background: var(--color-text, #1F2937);
}
.ask-minicart-close .ask-x-icon::before { transform: translate(-50%,-50%) rotate(45deg); }
.ask-minicart-close .ask-x-icon::after  { transform: translate(-50%,-50%) rotate(-45deg); }
.ask-minicart-close:hover .ask-x-icon::before, .ask-minicart-close:hover .ask-x-icon::after { background: #DC2626; }

/* [1.4.60] компактные строки: фото абсолютно СЛЕВА (в WC img вложен в ссылку с именем,
   поэтому позиционируем абсолютно, а контент сдвигаем вправо паддингом) */
.ask-minicart-panel li.woocommerce-mini-cart-item, .ask-minicart-panel ul.cart_list li {
  position: relative; display: block !important;
  padding: 10px 32px 10px 64px !important; margin: 0 !important;
  min-height: 70px;
  border: 0 !important; border-radius: 10px;
  transition: background .14s ease;
}
.ask-minicart-panel ul.cart_list li + li { margin-top: 2px !important; }
.ask-minicart-panel ul.cart_list li:hover { background: var(--color-bg-secondary, #F5F8FC); }
/* фото — абсолютно слева, по центру по вертикали */
.ask-minicart-panel ul.cart_list li img {
  position: absolute !important; left: 6px; top: 50%; transform: translateY(-50%);
  width: 48px !important; height: 48px !important; float: none !important; margin: 0 !important;
  object-fit: contain;
  border: 1px solid var(--color-border, #E2E8F0); border-radius: 10px; background: #fff; padding: 3px;
}
/* название — 2 строки, обрезка многоточием */
.ask-minicart-panel ul.cart_list li a:not(.remove) {
  display: -webkit-box !important; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
  font-size: 13px !important; font-weight: 600 !important;
  color: var(--color-text) !important; text-decoration: none !important; line-height: 1.3;
}
.ask-minicart-panel ul.cart_list li .quantity {
  display: block; margin-top: 4px !important;
  font-family: 'Rubik', sans-serif !important;
  font-size: 12.5px !important; color: var(--color-text-muted, #64748B) !important; font-weight: 600;
}
.ask-minicart-panel ul.cart_list li .quantity .woocommerce-Price-amount { color: var(--color-text) !important; }
.ask-minicart-panel ul.cart_list li a.remove {
  position: absolute !important; top: 50%; right: 6px; transform: translateY(-50%);
  width: 22px; height: 22px; line-height: 20px !important; text-align: center;
  border-radius: 50%; background: transparent !important;
  color: var(--color-text-muted, #94A3B8) !important; font-size: 15px !important;
  opacity: .7; transition: opacity .12s, background .12s, color .12s;
}
.ask-minicart-panel ul.cart_list li a.remove:hover { opacity: 1; background: #FEF2F2 !important; color: #DC2626 !important; }
.ask-minicart-panel .woocommerce-mini-cart__total {
  display: flex; justify-content: space-between; align-items: center;
  padding: 12px 0 !important; margin: 4px 0 0 0 !important; border-top: 0 !important;
  font-family: 'Rubik', sans-serif; font-size: 15px; font-weight: 700; color: var(--color-text);
}
.ask-minicart-panel .woocommerce-mini-cart__empty-message {
  padding: 18px 4px; text-align: center; color: var(--color-text-muted, #64748B); font-size: 14px; margin: 0;
}
.ask-minicart-panel .woocommerce-mini-cart__buttons {
  display: flex !important; flex-direction: column; gap: 8px; margin: 4px 0 0 0 !important; padding: 0 !important;
}
.ask-minicart-panel .woocommerce-mini-cart__buttons a {
  display: flex !important; align-items: center; justify-content: center;
  height: 44px; border-radius: 10px; font-family: 'Rubik', sans-serif;
  font-weight: 600; font-size: 14px; text-decoration: none !important; width: 100%;
}
.ask-minicart-panel .woocommerce-mini-cart__buttons a.button:not(.checkout) {
  background: var(--color-bg-secondary, #F1F5F9) !important; color: var(--color-text) !important;
}
.ask-minicart-panel .woocommerce-mini-cart__buttons a.checkout {
  background: var(--color-primary, #1E60D1) !important; color: #fff !important;
}
@media (max-width: 992px) {
  /* [1.4.55] корзину — рядом с бургером (оба справа) */
  .ask-mini-cart-wrap { margin-left: auto !important; }
  html body .ask-header__burger { margin-left: 8px !important; }
}
@media (max-width: 768px) {
  /* [1.4.56] панель мини-корзины — на всю ширину экрана с отступами, не вылезает за край */
  .ask-minicart-panel {
    position: fixed !important; top: 70px !important; left: 12px !important; right: 12px !important;
    width: auto !important; max-width: none !important;
  }
  .ask-minicart-panel::before { right: 56px !important; }
}
@media (max-width: 768px) {
  .ask-mini-cart { width: 48px !important; height: 48px !important; }
  .ask-mini-cart i { font-size: 26px !important; }
  .ask-mini-cart__badge { top: -3px !important; right: -3px !important; min-width: 16px !important; height: 16px !important; font-size: 10px !important; padding: 0 3px !important; border-width: 1.5px !important; }
}

/* =====================================================================
 * WC: CART page — /cart/
 * ===================================================================== */
html body.woocommerce-cart .entry-header,
html body.woocommerce-cart .page-title { display: none !important; }
html body.woocommerce-cart main,
html body.woocommerce-cart .entry-content,
/* [1.2.9] Сбрасываем legacy-правила старой версии cart (когда был CSS-override без template) */
html body.woocommerce-cart .woocommerce {
  display: block !important;
  grid-template-columns: none !important;
  gap: 0 !important;
}
html body.woocommerce-cart table.shop_table {
  background: #fff !important;
  border: 1px solid var(--color-border, #E2E8F0) !important;
  border-radius: 14px !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  overflow: hidden;
  margin: 0 !important;
}
html body.woocommerce-cart table.shop_table th {
  background: var(--color-bg-secondary, #F5F8FC) !important;
  color: var(--color-text-muted, #64748B) !important;
  font-family: 'Rubik', sans-serif !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  padding: 14px 18px !important;
  border-bottom: 1px solid var(--color-border, #E2E8F0) !important;
}
html body.woocommerce-cart table.shop_table td {
  padding: 18px !important;
  vertical-align: middle !important;
  border-top: 1px solid var(--color-border, #E2E8F0) !important;
  font-size: 14.5px !important;
  color: var(--color-text) !important;
  background: #fff !important;
}
html body.woocommerce-cart table.shop_table .product-thumbnail img {
  width: 64px !important; height: 64px !important;
  object-fit: contain;
  border-radius: 8px;
  border: 1px solid var(--color-border, #E2E8F0);
  background: #fff;
  padding: 4px;
}
html body.woocommerce-cart table.shop_table .product-name a {
  color: var(--color-text) !important;
  font-weight: 600;
  text-decoration: none !important;
}
html body.woocommerce-cart table.shop_table .product-name a:hover { color: var(--color-primary) !important; }
html body.woocommerce-cart table.shop_table .product-price,
html body.woocommerce-cart table.shop_table .product-subtotal {
  font-family: 'Rubik', sans-serif !important;
  font-weight: 600 !important;
  color: var(--color-text) !important;
}
html body.woocommerce-cart table.shop_table .quantity input.qty {
  width: 64px !important;
  height: 40px !important;
  text-align: center !important;
  border: 1.5px solid var(--color-border, #E2E8F0) !important;
  border-radius: 8px !important;
  background: #fff !important;
  font-family: 'Rubik', sans-serif !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  padding: 0 !important;
}
html body.woocommerce-cart table.shop_table .product-remove a.remove {
  width: 28px !important; height: 28px !important;
  display: inline-flex !important; align-items: center; justify-content: center;
  background: transparent !important;
  color: var(--color-text-muted) !important;
  font-size: 18px !important;
  border-radius: 50%;
  text-decoration: none !important;
  font-weight: normal !important;
  transition: background .12s, color .12s;
}
html body.woocommerce-cart table.shop_table .product-remove a.remove:hover {
  background: #FEF2F2 !important;
  color: #DC2626 !important;
}

/* [1.4.52] Мобильная корзина — таблицу превращаем в карточки (иначе колонка
   названия сжималась и текст переносился по одной букве). */
@media (max-width: 768px) {
  html body.woocommerce-cart table.shop_table thead { display: none !important; }
  html body.woocommerce-cart table.shop_table,
  html body.woocommerce-cart table.shop_table tbody,
  html body.woocommerce-cart table.shop_table tr.cart_item,
  html body.woocommerce-cart table.shop_table td { display: block !important; width: 100% !important; }

  html body.woocommerce-cart table.shop_table tr.cart_item {
    position: relative !important;
    padding: 16px 14px 14px 90px !important;   /* слева место под миниатюру */
    min-height: 92px !important;
    border-top: 1px solid var(--color-border, #E2E8F0) !important;
  }
  html body.woocommerce-cart table.shop_table td {
    padding: 5px 0 !important;
    border: 0 !important;
    text-align: left !important;
    font-size: 14px !important;
  }
  /* миниатюра — абсолютно в левый верхний угол карточки */
  html body.woocommerce-cart table.shop_table td.product-thumbnail {
    position: absolute !important; left: 14px !important; top: 16px !important;
    width: 64px !important; padding: 0 !important;
  }
  /* название — на всю ширину, нормальный перенос по словам (НЕ по буквам) */
  html body.woocommerce-cart table.shop_table td.product-name {
    padding: 0 30px 4px 0 !important;          /* справа место под крестик */
    font-weight: 600 !important; line-height: 1.35 !important;
  }
  html body.woocommerce-cart table.shop_table td.product-name a {
    white-space: normal !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
    hyphens: none !important;
  }
  /* убираем авто-лейблы WC у названия/миниатюры/крестика (напр. «Товар:») */
  html body.woocommerce-cart table.shop_table td.product-name::before,
  html body.woocommerce-cart table.shop_table td.product-thumbnail::before,
  html body.woocommerce-cart table.shop_table td.product-remove::before { content: '' !important; display: none !important; }
  /* цена / количество / итого — строка «лейбл … значение» */
  html body.woocommerce-cart table.shop_table td.product-price,
  html body.woocommerce-cart table.shop_table td.product-quantity,
  html body.woocommerce-cart table.shop_table td.product-subtotal {
    display: flex !important; align-items: center !important; justify-content: space-between !important;
    gap: 12px !important;
    padding: 7px 0 !important;
    border-top: 1px solid var(--color-border, #F1F5F9) !important;
  }
  html body.woocommerce-cart table.shop_table td.product-price::before,
  html body.woocommerce-cart table.shop_table td.product-quantity::before,
  html body.woocommerce-cart table.shop_table td.product-subtotal::before {
    content: attr(data-title);
    font-family: 'Rubik', sans-serif !important;
    font-weight: 600 !important; font-size: 12px !important;
    text-transform: uppercase; letter-spacing: .04em;
    color: var(--color-text-muted, #64748B) !important;
    white-space: nowrap !important;
  }
  /* крестик «удалить» — в правый верхний угол карточки */
  html body.woocommerce-cart table.shop_table td.product-remove {
    position: absolute !important; right: 10px !important; top: 12px !important;
    width: auto !important; padding: 0 !important;
  }
}
/* Coupon */
html body.woocommerce-cart .coupon {
  display: flex !important; gap: 10px; align-items: stretch;
  margin: 16px 0 0 0;
}
html body.woocommerce-cart .coupon input.input-text {
  flex: 1;
  height: 44px !important;
  padding: 0 14px !important;
  border: 1.5px solid var(--color-border, #E2E8F0) !important;
  border-radius: 10px !important;
  font-size: 14px !important;
}
html body.woocommerce-cart .coupon button.button,
html body.woocommerce-cart input[name="update_cart"],
html body.woocommerce-cart button[name="update_cart"] {
  height: 44px !important;
  padding: 0 22px !important;
  background: var(--color-text) !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 10px !important;
  font-family: 'Rubik', sans-serif !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  cursor: pointer;
}
html body.woocommerce-cart .actions { display: flex; justify-content: space-between; align-items: center; padding: 16px 0 0 0 !important; }
html body.woocommerce-cart .cart_totals {
  background: var(--color-bg-secondary, #F5F8FC) !important;
  border: 1px solid var(--color-border, #E2E8F0) !important;
  border-radius: 14px !important;
  padding: 24px !important;
  position: sticky; top: 96px;
}
html body.woocommerce-cart .cart_totals h2 {
  font-family: 'Rubik', sans-serif !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  margin: 0 0 18px 0 !important;
  color: var(--color-text) !important;
}
html body.woocommerce-cart .cart_totals table {
  background: transparent !important;
  border: 0 !important;
  margin: 0 0 18px 0 !important;
}
html body.woocommerce-cart .cart_totals table td,
html body.woocommerce-cart .cart_totals table th {
  background: transparent !important;
  border: 0 !important;
  padding: 8px 0 !important;
  font-size: 14.5px !important;
  border-bottom: 1px dashed var(--color-border, #E2E8F0) !important;
}
html body.woocommerce-cart .cart_totals .order-total td .woocommerce-Price-amount {
  font-family: 'Rubik', sans-serif !important;
  font-size: 24px !important;
  font-weight: 700 !important;
  color: var(--color-primary) !important;
}
html body.woocommerce-cart .wc-proceed-to-checkout { padding: 0 !important; }
html body.woocommerce-cart .wc-proceed-to-checkout .checkout-button {
  display: flex !important;
  width: 100% !important;
  height: 52px !important;
  align-items: center !important; justify-content: center !important;
  background: var(--color-primary) !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 12px !important;
  font-family: 'Rubik', sans-serif !important;
  font-weight: 600 !important;
  font-size: 16px !important;
  text-decoration: none !important;
  transition: background-color .15s ease;
}
html body.woocommerce-cart .wc-proceed-to-checkout .checkout-button:hover {
  background: var(--color-primary-hover, #1748A8) !important;
  color: #fff !important;
}

/* Empty cart */
html body.woocommerce-cart .cart-empty {
  text-align: center;
  padding: 80px 20px !important;
  background: var(--color-bg-secondary, #F5F8FC);
  border-radius: 18px;
  font-size: 18px;
}

/* =====================================================================
 * WC: CHECKOUT page — /checkout/
 * ===================================================================== */
html body.woocommerce-checkout .entry-header,
html body.woocommerce-checkout .page-title { display: none !important; }
/* [1.3.0] Сбрасываем legacy-grid с form.checkout — layout теперь внутри template (.ask-checkout__layout) */
html body.woocommerce-checkout form.checkout {
  display: block !important;
  grid-template-columns: none !important;
  gap: 0 !important;
}
html body.woocommerce-checkout .woocommerce {
  display: block !important;
  grid-template-columns: none !important;
  gap: 0 !important;
}
html body.woocommerce-checkout .woocommerce-billing-fields h3,
html body.woocommerce-checkout .woocommerce-shipping-fields h3,
html body.woocommerce-checkout #order_review_heading {
  font-family: 'Rubik', sans-serif !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  margin: 0 0 18px 0 !important;
  color: var(--color-text) !important;
}
html body.woocommerce-checkout .form-row {
  margin: 0 0 14px 0 !important;
  padding: 0 !important;
}
html body.woocommerce-checkout .form-row label {
  display: block !important;
  font-size: 13px !important;
  color: var(--color-text-secondary) !important;
  margin: 0 0 6px 0 !important;
  font-weight: 500 !important;
}
html body.woocommerce-checkout .form-row .input-text,
html body.woocommerce-checkout .form-row select,
html body.woocommerce-checkout .select2-selection {
  width: 100% !important;
  height: 44px !important;
  padding: 0 14px !important;
  border: 1.5px solid var(--color-border, #E2E8F0) !important;
  border-radius: 10px !important;
  background: #fff !important;
  font-family: 'Golos Text', sans-serif !important;
  font-size: 14.5px !important;
  color: var(--color-text) !important;
  outline: none !important;
  transition: border-color .15s ease, box-shadow .15s ease;
}
html body.woocommerce-checkout .form-row textarea.input-text {
  height: 100px !important;
  padding: 12px 14px !important;
  resize: vertical;
}
html body.woocommerce-checkout .form-row .input-text:focus,
html body.woocommerce-checkout .form-row select:focus {
  border-color: var(--color-primary) !important;
  box-shadow: 0 0 0 3px var(--color-accent-soft, rgba(30,96,209,0.12)) !important;
}
html body.woocommerce-checkout #order_review {
  background: var(--color-bg-secondary, #F5F8FC) !important;
  border: 1px solid var(--color-border, #E2E8F0) !important;
  border-radius: 14px !important;
  padding: 24px !important;
  position: sticky; top: 96px;
}
html body.woocommerce-checkout #order_review table.shop_table {
  background: transparent !important;
  border: 0 !important;
}
html body.woocommerce-checkout #order_review table.shop_table th,
html body.woocommerce-checkout #order_review table.shop_table td {
  background: transparent !important;
  border: 0 !important;
  padding: 8px 0 !important;
  border-bottom: 1px dashed var(--color-border, #E2E8F0) !important;
  font-size: 14px !important;
}
html body.woocommerce-checkout #order_review .order-total .woocommerce-Price-amount {
  font-family: 'Rubik', sans-serif !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  color: var(--color-primary) !important;
}
html body.woocommerce-checkout #payment {
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  margin: 14px 0 0 0 !important;
}
html body.woocommerce-checkout #payment ul.payment_methods {
  background: #fff !important;
  border: 1px solid var(--color-border, #E2E8F0) !important;
  border-radius: 10px !important;
  padding: 8px !important;
  margin: 0 0 14px 0 !important;
  list-style: none !important;
}
html body.woocommerce-checkout #payment ul.payment_methods li {
  padding: 10px 12px !important;
  border-radius: 6px;
  transition: background .12s;
}
html body.woocommerce-checkout #payment ul.payment_methods li:hover { background: var(--color-bg-secondary, #F5F8FC); }
html body.woocommerce-checkout #payment ul.payment_methods label {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-size: 14.5px !important;
  font-weight: 500 !important;
  color: var(--color-text) !important;
  margin: 0 !important;
}
html body.woocommerce-checkout #payment #place_order {
  width: 100% !important;
  height: 52px !important;
  background: var(--color-primary) !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 12px !important;
  font-family: 'Rubik', sans-serif !important;
  font-weight: 600 !important;
  font-size: 16px !important;
  cursor: pointer !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  transition: background-color .15s ease;
}
html body.woocommerce-checkout #payment #place_order:hover {
  background: var(--color-primary-hover, #1748A8) !important;
}

/* =====================================================================
 * WC: MY ACCOUNT — /my-account/
 * ===================================================================== */
html body.woocommerce-account .entry-header,
html body.woocommerce-account .page-title { display: none !important; }
/* [1.3.0] Сбрасываем legacy-grid с .woocommerce — layout теперь внутри template (.ask-account__layout) */
html body.woocommerce-account .woocommerce {
  display: block !important;
  grid-template-columns: none !important;
  gap: 0 !important;
}
html body.woocommerce-account .woocommerce-MyAccount-navigation ul {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex; flex-direction: column;
  gap: 2px;
}
html body.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
  display: flex !important;
  align-items: center;
  padding: 12px 16px;
  border-radius: 10px;
  color: var(--color-text) !important;
  text-decoration: none !important;
  font-size: 14.5px !important;
  font-weight: 500;
  transition: background-color .15s ease, color .15s ease;
}
html body.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover {
  background: var(--color-bg-secondary, #F5F8FC);
  color: var(--color-primary) !important;
}
html body.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a,
html body.woocommerce-account .woocommerce-MyAccount-navigation-link--is-active a {
  background: var(--color-accent-soft, rgba(30,96,209,0.10));
  color: var(--color-primary) !important;
  font-weight: 600;
}
html body.woocommerce-account .woocommerce-MyAccount-content {
  background: #fff;
  border: 1px solid var(--color-border, #E2E8F0);
  border-radius: 14px;
  padding: 28px;
}
html body.woocommerce-account .woocommerce-MyAccount-content h2,
html body.woocommerce-account .woocommerce-MyAccount-content h3 {
  font-family: 'Rubik', sans-serif !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  margin: 0 0 16px 0 !important;
  color: var(--color-text) !important;
}
/* Login/Register формы */
html body.woocommerce-account form.login,
html body.woocommerce-account form.register {
  max-width: 460px;
  margin: 0 auto !important;
  background: #fff !important;
  border: 1px solid var(--color-border, #E2E8F0) !important;
  border-radius: 14px !important;
  padding: 32px !important;
}
html body.woocommerce-account form.login label,
html body.woocommerce-account form.register label {
  display: block !important;
  font-size: 13px !important;
  color: var(--color-text-secondary) !important;
  margin: 0 0 6px 0 !important;
  font-weight: 500 !important;
}
html body.woocommerce-account form.login input.input-text,
html body.woocommerce-account form.register input.input-text {
  width: 100% !important;
  height: 44px !important;
  padding: 0 14px !important;
  border: 1.5px solid var(--color-border, #E2E8F0) !important;
  border-radius: 10px !important;
  background: #fff !important;
  font-size: 14.5px !important;
}
html body.woocommerce-account form.login button.woocommerce-button,
html body.woocommerce-account form.register button.woocommerce-button,
html body.woocommerce-account form.login button.button,
html body.woocommerce-account form.register button.button {
  width: 100% !important;
  height: 48px !important;
  background: var(--color-primary) !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 10px !important;
  font-family: 'Rubik', sans-serif !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  cursor: pointer;
  margin-top: 8px;
  transition: background-color .15s ease;
}
html body.woocommerce-account form.login button.button:hover,
html body.woocommerce-account form.register button.button:hover {
  background: var(--color-primary-hover, #1748A8) !important;
}

/* =====================================================================
 * [1.1.7] CART — кастомный шаблон woocommerce/cart/cart.php (.ask-cart__*)
 * Сбрасываем дефолтные WC стили и используем наши классы
 * ===================================================================== */
body.woocommerce-cart main.ask-shop--cart { padding: 32px 0 80px; }
.ask-shop--cart .ask-container { max-width: 1280px; }

.ask-cart__head {
  display: flex; align-items: baseline; gap: 14px;
  margin: 12px 0 28px 0;
  flex-wrap: wrap;
}
.ask-cart__title {
  font-family: 'Rubik', sans-serif !important;
  font-size: clamp(28px, 3vw, 36px) !important;
  font-weight: 700 !important;
  margin: 0 !important;
  line-height: 1.1 !important;
  color: var(--color-text) !important;
}
.ask-cart__count {
  font-size: 15px;
  color: var(--color-text-secondary);
  margin: 0;
}

.ask-cart__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 380px;
  gap: 32px;
  align-items: start;
}
@media (max-width: 900px) { .ask-cart__layout { grid-template-columns: 1fr; } }

/* ITEMS */
.ask-cart__items { display: flex; flex-direction: column; gap: 12px; }
.ask-cart-item {
  display: grid;
  grid-template-columns: 88px minmax(0, 1fr) 130px 110px 32px;
  gap: 18px;
  align-items: center;
  padding: 18px;
  background: #fff;
  border: 1px solid var(--color-border, #E2E8F0);
  border-radius: 12px;
}
.ask-cart-item__media {
  width: 88px; height: 88px;
  border: 1px solid var(--color-border, #E2E8F0);
  border-radius: 10px;
  overflow: hidden;
  background: #fff;
}
.ask-cart-item__media img, .ask-cart-item__media a img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain;
  padding: 6px;
  display: block;
}
.ask-cart-item__info { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.ask-cart-item__name {
  font-family: 'Rubik', sans-serif;
  font-size: 15.5px;
  font-weight: 600;
  color: var(--color-text) !important;
  text-decoration: none !important;
  line-height: 1.35;
}
.ask-cart-item__name:hover { color: var(--color-primary) !important; }
.ask-cart-item__sku,
.ask-cart-item__price-each,
.ask-cart-item__stock {
  font-size: 12.5px;
  color: var(--color-text-secondary);
}
.ask-cart-item__stock { color: #C2410C; font-weight: 500; }

.ask-cart-item__qty .quantity { display: inline-flex; align-items: center; }
.ask-cart-item__qty input.qty {
  width: 70px !important;
  height: 40px !important;
  text-align: center !important;
  border: 1.5px solid var(--color-border, #E2E8F0) !important;
  border-radius: 8px !important;
  background: #fff !important;
  font-family: 'Rubik', sans-serif !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  padding: 0 !important;
  outline: none;
  transition: border-color .15s;
}
.ask-cart-item__qty input.qty:focus { border-color: var(--color-primary) !important; }

.ask-cart-item__subtotal {
  font-family: 'Rubik', sans-serif;
  font-size: 16px;
  font-weight: 700;
  color: var(--color-text);
  text-align: right;
}
.ask-cart-item__subtotal .woocommerce-Price-amount { color: var(--color-text); }

.ask-cart-item__remove-btn {
  width: 32px; height: 32px;
  display: inline-flex; align-items: center; justify-content: center;
  background: transparent;
  color: var(--color-text-muted, #94A3B8);
  border-radius: 50%;
  text-decoration: none !important;
  font-size: 18px;
  transition: background .12s, color .12s;
}
.ask-cart-item__remove-btn:hover {
  background: #FEF2F2;
  color: #DC2626;
}
.ask-cart-item__remove-btn i { font-size: 18px; }

@media (max-width: 700px) {
  .ask-cart-item {
    grid-template-columns: 80px minmax(0, 1fr) 32px;
    grid-template-areas:
      "media info remove"
      "media qty subtotal";
    gap: 10px 14px;
  }
  .ask-cart-item__media { grid-area: media; width: 80px; height: 80px; }
  .ask-cart-item__info { grid-area: info; }
  .ask-cart-item__qty { grid-area: qty; }
  .ask-cart-item__subtotal { grid-area: subtotal; }
  .ask-cart-item__remove { grid-area: remove; justify-self: end; }
}

/* ACTIONS row */
.ask-cart__actions {
  display: flex; flex-wrap: wrap; gap: 12px;
  align-items: center;
  margin: 12px 0 0 0;
  padding: 16px;
  background: var(--color-bg-secondary, #F5F8FC);
  border-radius: 12px;
}
.ask-cart__coupon { display: flex; gap: 8px; flex: 1; min-width: 240px; }
.ask-cart__coupon-input {
  flex: 1; min-width: 140px;
  height: 44px;
  padding: 0 14px;
  border: 1.5px solid var(--color-border, #E2E8F0);
  border-radius: 10px;
  background: #fff;
  font-size: 14px;
  outline: none;
}
.ask-cart__coupon-input:focus { border-color: var(--color-primary); }
.ask-cart__coupon-btn,
.ask-cart__update-btn,
html body .ask-cart__update-btn,
html body button.ask-cart__update-btn {
  height: 44px !important;
  padding: 0 20px !important;
  border: 1.5px solid var(--color-border, #E2E8F0) !important;
  background: #fff !important;
  background-color: #fff !important;
  color: var(--color-text) !important;
  border-radius: 10px !important;
  font-family: 'Rubik', sans-serif !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center;
  gap: 6px;
  transition: border-color .15s, color .15s, background .15s;
}
.ask-cart__coupon-btn:hover,
.ask-cart__update-btn:hover,
html body .ask-cart__update-btn:hover {
  border-color: var(--color-primary) !important;
  color: var(--color-primary) !important;
  background: #fff !important;
}

/* SIDEBAR — Totals */
.ask-cart__sidebar { position: sticky; top: 96px; display: flex; flex-direction: column; gap: 16px; }
@media (max-width: 900px) { .ask-cart__sidebar { position: static; } }
.ask-cart__totals {
  background: #fff;
  border: 1px solid var(--color-border, #E2E8F0);
  border-radius: 14px;
  padding: 24px;
}
.ask-cart__totals-title {
  font-family: 'Rubik', sans-serif !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  margin: 0 0 18px 0 !important;
  color: var(--color-text) !important;
}
.ask-cart__totals-list { list-style: none; padding: 0; margin: 0 0 18px 0; }
.ask-cart__totals-list li {
  display: flex; justify-content: space-between; align-items: baseline;
  gap: 12px;
  padding: 10px 0;
  border-bottom: 1px dashed var(--color-border, #E2E8F0);
  font-size: 14.5px;
  color: var(--color-text-secondary);
}
.ask-cart__totals-list li strong {
  font-family: 'Rubik', sans-serif;
  font-weight: 600;
  color: var(--color-text);
}
.ask-cart__totals-discount strong { color: #15803D !important; }
.ask-cart__totals-grand {
  border-bottom: 0 !important;
  margin-top: 8px;
  padding-top: 14px !important;
  border-top: 1px solid var(--color-border, #E2E8F0) !important;
}
.ask-cart__totals-grand span {
  font-family: 'Rubik', sans-serif !important;
  font-weight: 600 !important;
  color: var(--color-text) !important;
  font-size: 16px !important;
}
.ask-cart__totals-grand strong .woocommerce-Price-amount,
.ask-cart__totals-grand strong {
  font-family: 'Rubik', sans-serif !important;
  font-size: 24px !important;
  font-weight: 700 !important;
  color: var(--color-primary) !important;
}

.ask-cart__checkout-btn {
  display: flex !important;
  width: 100% !important;
  height: 52px !important;
  align-items: center !important; justify-content: center !important;
  gap: 8px;
  background: var(--color-primary) !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 12px !important;
  font-family: 'Rubik', sans-serif !important;
  font-weight: 600 !important;
  font-size: 16px !important;
  text-decoration: none !important;
  transition: background-color .15s ease;
}
.ask-cart__checkout-btn:hover {
  background: var(--color-primary-hover, #1748A8) !important;
  color: #fff !important;
}
.ask-cart__checkout-btn i { font-size: 18px; }

.ask-cart__benefits {
  list-style: none; margin: 18px 0 0 0; padding: 0;
  display: flex; flex-direction: column; gap: 8px;
}
.ask-cart__benefits li {
  display: flex; align-items: center; gap: 8px;
  font-size: 13px; color: var(--color-text-secondary);
}
.ask-cart__benefits li i { color: var(--color-primary); font-size: 16px; }

.ask-cart__continue {
  display: inline-flex; align-items: center; gap: 6px;
  color: var(--color-text-secondary) !important;
  font-size: 14px; font-weight: 500;
  text-decoration: none !important;
  transition: gap .15s, color .15s;
  align-self: flex-start;
  padding: 4px 8px;
}
.ask-cart__continue:hover { color: var(--color-primary) !important; gap: 10px; }

/* EMPTY CART */
body.woocommerce-cart .ask-shop--cart-empty { padding: 32px 0 80px; }
.ask-cart-empty {
  text-align: center;
  max-width: 560px;
  margin: 40px auto 0;
  padding: 56px 24px;
  background: var(--color-bg-secondary, #F5F8FC);
  border-radius: 18px;
}
.ask-cart-empty__icon {
  width: 88px; height: 88px;
  display: inline-flex; align-items: center; justify-content: center;
  background: #fff;
  border-radius: 50%;
  margin: 0 auto 20px;
  border: 1px solid var(--color-border, #E2E8F0);
}
.ask-cart-empty__icon i { font-size: 44px; color: var(--color-primary); }
.ask-cart-empty__title {
  font-family: 'Rubik', sans-serif !important;
  font-size: 28px !important;
  font-weight: 700 !important;
  margin: 0 0 12px 0 !important;
  color: var(--color-text) !important;
}
.ask-cart-empty__text { font-size: 15.5px; line-height: 1.6; color: var(--color-text-secondary); margin: 0 0 28px 0; }
.ask-cart-empty__actions { display: inline-flex; flex-wrap: wrap; gap: 12px; justify-content: center; }
@media (max-width: 480px) {
  .ask-cart-empty__actions { display: flex; flex-direction: column; width: 100%; }
}

/* Скрываем стандартные .entry-header/.page-title чтобы не дублировать */
body.woocommerce-cart .entry-header,
body.woocommerce-cart .page-title,
body.woocommerce-cart > .site > .entry-header { display: none !important; }

/* [1.1.8] CTA «Заказать звонок» в мобильном меню */
.ask-mobile-menu__cta {
  width: 100%;
  margin-top: 12px;
  height: 48px;
  font-size: 15px;
  display: inline-flex !important;
  align-items: center; justify-content: center;
  gap: 8px;
}

/* =====================================================================
 * [1.2.4] CHECKOUT — кастомный шаблон woocommerce/checkout/form-checkout.php
 * ===================================================================== */
body.woocommerce-checkout main.ask-shop--checkout { padding: 32px 0 80px; }
.ask-shop--checkout .ask-container { max-width: 1280px; }
.ask-checkout__head { margin: 12px 0 32px 0; }
.ask-checkout__title { font-family: 'Rubik', sans-serif !important; font-size: clamp(28px, 3vw, 36px) !important; font-weight: 700 !important; margin: 0 0 8px 0 !important; line-height: 1.15 !important; color: var(--color-text) !important; }
.ask-checkout__lead { font-size: 15.5px; line-height: 1.55; color: var(--color-text-secondary); margin: 0; max-width: 720px; }

.ask-checkout__layout { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 32px; align-items: start; }
@media (max-width: 900px) { .ask-checkout__layout { grid-template-columns: 1fr; } }

.ask-checkout__main { display: flex; flex-direction: column; gap: 16px; }
.ask-checkout__card {
  background: #fff;
  border: 1px solid var(--color-border, #E2E8F0);
  border-radius: 14px;
  padding: 24px;
}
.ask-checkout__card-title { font-family: 'Rubik', sans-serif !important; font-size: 20px !important; font-weight: 700 !important; margin: 0 0 18px 0 !important; color: var(--color-text) !important; }
.ask-checkout__card h3 { font-family: 'Rubik', sans-serif !important; font-size: 18px !important; font-weight: 600 !important; margin: 0 0 14px 0 !important; }

/* WC form rows внутри карточек */
html body .ask-checkout__card .form-row { margin: 0 0 14px 0 !important; padding: 0 !important; width: 100% !important; }
html body .ask-checkout__card .form-row.form-row-first,
html body .ask-checkout__card .form-row.form-row-last { width: calc(50% - 6px) !important; display: inline-block !important; vertical-align: top; }
html body .ask-checkout__card .form-row.form-row-first { margin-right: 12px !important; }
html body .ask-checkout__card .form-row label { display: block !important; font-size: 13px !important; color: var(--color-text-secondary) !important; margin: 0 0 6px 0 !important; font-weight: 500 !important; }
html body .ask-checkout__card .form-row .input-text,
html body .ask-checkout__card .form-row select,
html body .ask-checkout__card .form-row .select2-selection {
  width: 100% !important;
  height: 44px !important;
  padding: 0 14px !important;
  border: 1.5px solid var(--color-border, #E2E8F0) !important;
  border-radius: 10px !important;
  background: #fff !important;
  font-family: 'Golos Text', sans-serif !important;
  font-size: 14.5px !important;
  color: var(--color-text) !important;
  outline: none !important;
  transition: border-color .15s ease, box-shadow .15s ease;
}
html body .ask-checkout__card .form-row textarea.input-text { height: 100px !important; padding: 12px 14px !important; resize: vertical; }
html body .ask-checkout__card .form-row .input-text:focus,
html body .ask-checkout__card .form-row select:focus {
  border-color: var(--color-primary) !important;
  box-shadow: 0 0 0 3px var(--color-accent-soft, rgba(30,96,209,0.12)) !important;
}

/* Sidebar */
.ask-checkout__sidebar { display: flex; flex-direction: column; gap: 14px; position: sticky; top: 96px; }
@media (max-width: 900px) { .ask-checkout__sidebar { position: static; } }
.ask-checkout__summary {
  background: var(--color-bg-secondary, #F5F8FC);
  border: 1px solid var(--color-border, #E2E8F0);
  border-radius: 14px;
  padding: 24px;
}
.ask-checkout__summary table.shop_table { width: 100% !important; background: transparent !important; border: 0 !important; margin: 0 0 14px 0 !important; }
.ask-checkout__summary table.shop_table th,
.ask-checkout__summary table.shop_table td {
  background: transparent !important;
  border: 0 !important;
  padding: 8px 0 !important;
  border-bottom: 1px dashed var(--color-border, #E2E8F0) !important;
  font-size: 14px !important;
  vertical-align: top;
}
.ask-checkout__summary table.shop_table .product-name { font-weight: 500; }
.ask-checkout__summary .order-total .woocommerce-Price-amount {
  font-family: 'Rubik', sans-serif !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  color: var(--color-primary) !important;
}
html body.woocommerce-checkout #payment {
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  margin: 14px 0 0 0 !important;
}
html body.woocommerce-checkout #payment ul.payment_methods {
  background: #fff !important;
  border: 1px solid var(--color-border, #E2E8F0) !important;
  border-radius: 10px !important;
  padding: 8px !important;
  margin: 0 0 14px 0 !important;
  list-style: none !important;
}
html body.woocommerce-checkout #payment ul.payment_methods li { padding: 10px 12px !important; border-radius: 6px; transition: background .12s; }
html body.woocommerce-checkout #payment ul.payment_methods li:hover { background: var(--color-bg-secondary, #F5F8FC); }
html body.woocommerce-checkout #payment ul.payment_methods label { display: inline-flex !important; align-items: center !important; gap: 8px !important; font-size: 14.5px !important; font-weight: 500 !important; color: var(--color-text) !important; margin: 0 !important; }
html body.woocommerce-checkout #payment #place_order {
  width: 100% !important;
  height: 52px !important;
  background: var(--color-primary) !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 12px !important;
  font-family: 'Rubik', sans-serif !important;
  font-weight: 600 !important;
  font-size: 16px !important;
  cursor: pointer !important;
  text-transform: none !important;
}
html body.woocommerce-checkout #payment #place_order:hover { background: var(--color-primary-hover, #1748A8) !important; }

.ask-checkout__benefits {
  list-style: none; margin: 18px 0 0 0; padding: 0;
  display: flex; flex-direction: column; gap: 8px;
}
.ask-checkout__benefits li { display: flex; align-items: center; gap: 8px; font-size: 13px; color: var(--color-text-secondary); }
.ask-checkout__benefits li i { color: var(--color-primary); font-size: 16px; }

.ask-checkout__back { display: inline-flex; align-items: center; gap: 6px; color: var(--color-text-secondary) !important; font-size: 14px; font-weight: 500; text-decoration: none !important; padding: 4px 8px; transition: gap .15s, color .15s; align-self: flex-start; }
.ask-checkout__back:hover { color: var(--color-primary) !important; gap: 10px; }

/* Скрываем стандартный entry-header */
body.woocommerce-checkout .entry-header,
body.woocommerce-checkout .page-title { display: none !important; }

/* =====================================================================
 * [1.2.4] MY ACCOUNT — кастомный шаблон
 * ===================================================================== */
body.woocommerce-account main.ask-shop--account { padding: 32px 0 80px; }
.ask-shop--account .ask-container { max-width: 1280px; }
.ask-account__head { margin: 12px 0 28px 0; }
.ask-account__title { font-family: 'Rubik', sans-serif !important; font-size: clamp(28px, 3vw, 36px) !important; font-weight: 700 !important; margin: 0 0 8px 0 !important; line-height: 1.15 !important; }
.ask-account__lead { font-size: 15.5px; line-height: 1.55; color: var(--color-text-secondary); margin: 0; }

.ask-account__layout { display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: 28px; align-items: start; }
@media (max-width: 900px) { .ask-account__layout { grid-template-columns: 1fr; gap: 18px; } }

.ask-account__nav {
  position: sticky; top: 96px;
  background: #fff;
  border: 1px solid var(--color-border, #E2E8F0);
  border-radius: 14px;
  padding: 10px;
}
@media (max-width: 900px) { .ask-account__nav { position: static; } }
.ask-account__nav ul { list-style: none !important; margin: 0 !important; padding: 0 !important; display: flex; flex-direction: column; gap: 2px; }
.ask-account__nav li { margin: 0 !important; padding: 0 !important; }
.ask-account__nav li a {
  display: flex !important;
  align-items: center;
  gap: 10px;
  padding: 11px 14px;
  border-radius: 8px;
  color: var(--color-text) !important;
  text-decoration: none !important;
  font-size: 14.5px !important;
  font-weight: 500;
  line-height: 1.3;
  transition: background-color .15s ease, color .15s ease;
}
.ask-account__nav li a:hover { background: var(--color-bg-secondary, #F5F8FC); color: var(--color-primary) !important; }
.ask-account__nav li a i { font-size: 18px; color: var(--color-text-muted); transition: color .15s; }
.ask-account__nav li a:hover i,
.ask-account__nav li.is-active a i,
.ask-account__nav li.woocommerce-MyAccount-navigation-link--is-active a i { color: var(--color-primary); }
.ask-account__nav li.is-active a,
.ask-account__nav li.woocommerce-MyAccount-navigation-link--is-active a {
  background: var(--color-accent-soft, rgba(30,96,209,0.10));
  color: var(--color-primary) !important;
  font-weight: 600;
}

.ask-account__content {
  background: #fff;
  border: 1px solid var(--color-border, #E2E8F0);
  border-radius: 14px;
  padding: 28px;
}
.ask-account__content h2, .ask-account__content h3 {
  font-family: 'Rubik', sans-serif !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  margin: 0 0 16px 0 !important;
  color: var(--color-text) !important;
}
.ask-account__content p { font-size: 15px; line-height: 1.6; color: var(--color-text); margin: 0 0 12px 0; }
.ask-account__content a { color: var(--color-primary); }
.ask-account__content table { width: 100%; border-collapse: collapse; }
.ask-account__content table th,
.ask-account__content table td { padding: 12px 14px; border-bottom: 1px solid var(--color-border, #E2E8F0); font-size: 14.5px; text-align: left; }
.ask-account__content table th { background: var(--color-bg-secondary, #F5F8FC); font-family: 'Rubik', sans-serif; font-weight: 600; font-size: 13px; text-transform: uppercase; letter-spacing: 0.06em; color: var(--color-text-muted); }

/* Скрываем стандартный entry-header */
body.woocommerce-account .entry-header,
body.woocommerce-account .page-title { display: none !important; }

/* =====================================================================
 * [1.2.4] LOGIN/REGISTER — кастомный шаблон form-login.php
 * ===================================================================== */
body.woocommerce-account main.ask-shop--login { padding: 48px 0 80px; }
.ask-login__wrap {
  max-width: 480px;
  margin: 32px auto 0;
}
.ask-login__wrap--with-register {
  max-width: 1000px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
}
@media (max-width: 760px) {
  .ask-login__wrap--with-register { grid-template-columns: 1fr; max-width: 480px; }
}
.ask-login__card {
  background: #fff;
  border: 1px solid var(--color-border, #E2E8F0);
  border-radius: 16px;
  padding: 36px 32px;
}
.ask-login__title { font-family: 'Rubik', sans-serif !important; font-size: 24px !important; font-weight: 700 !important; margin: 0 0 8px 0 !important; line-height: 1.2 !important; }
.ask-login__lead { font-size: 14.5px; line-height: 1.55; color: var(--color-text-secondary); margin: 0 0 24px 0; }
.ask-login__card .form-row { margin: 0 0 14px 0 !important; padding: 0 !important; }
.ask-login__card .form-row label { display: block !important; font-size: 13px !important; color: var(--color-text-secondary) !important; margin: 0 0 6px 0 !important; font-weight: 500 !important; }
.ask-login__card .form-row input.input-text,
.ask-login__card .form-row input.woocommerce-Input,
.ask-login__card input[type="text"],
.ask-login__card input[type="email"],
.ask-login__card input[type="password"] {
  width: 100% !important;
  height: 44px !important;
  padding: 0 14px !important;
  border: 1.5px solid var(--color-border, #E2E8F0) !important;
  border-radius: 10px !important;
  background: #fff !important;
  font-size: 14.5px !important;
  outline: none !important;
}
.ask-login__card input[type="text"]:focus,
.ask-login__card input[type="email"]:focus,
.ask-login__card input[type="password"]:focus { border-color: var(--color-primary) !important; box-shadow: 0 0 0 3px var(--color-accent-soft) !important; }
.ask-login__remember { display: inline-flex; align-items: center; gap: 6px; font-size: 14px; color: var(--color-text-secondary); cursor: pointer; }
.ask-login__remember input { width: 16px; height: 16px; accent-color: var(--color-primary); margin: 0; }
.ask-login__submit {
  width: 100% !important;
  height: 48px !important;
  background: var(--color-primary) !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 10px !important;
  font-family: 'Rubik', sans-serif !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  cursor: pointer !important;
  margin-top: 14px !important;
  transition: background-color .15s ease;
}
.ask-login__submit:hover { background: var(--color-primary-hover, #1748A8) !important; }
.ask-login__lost { margin: 12px 0 0 0; text-align: center; font-size: 13px; }
.ask-login__lost a { color: var(--color-primary); text-decoration: none; }
.ask-login__lost a:hover { text-decoration: underline; }
.ask-login__hint { font-size: 13px; color: var(--color-text-secondary); margin: 0 0 8px 0; }

/* Скрыть стандартный заголовок my account на login page */
body.woocommerce-account:not(.logged-in) .entry-header,
body.woocommerce-account:not(.logged-in) .page-title { display: none !important; }

/* =====================================================================
 * [1.2.6] Hello Elementor WRAPPER FIX для WC pages
 * Родительская тема ограничивает .entry-content max-width ~800px
 * и дублирует <h1> заголовок. Полностью обнуляем wrap для cart/checkout/account.
 * ===================================================================== */
body.woocommerce-cart .entry-content,
body.woocommerce-cart .site-main,
body.woocommerce-cart main.site-main,
body.woocommerce-cart article.page,
body.woocommerce-cart .page-content,
body.woocommerce-checkout .entry-content,
body.woocommerce-checkout .site-main,
body.woocommerce-checkout main.site-main,
body.woocommerce-checkout article.page,
body.woocommerce-checkout .page-content,
body.woocommerce-account .entry-content,
body.woocommerce-account .site-main,
body.woocommerce-account main.site-main,
body.woocommerce-account article.page,
body.woocommerce-account .page-content {
  max-width: none !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
}

/* Убираем дубли стандартного header/h1 WC */
body.woocommerce-cart .entry-header,
body.woocommerce-cart .page-header,
body.woocommerce-cart h1.entry-title,
body.woocommerce-cart .elementor-widget-theme-post-title,
body.woocommerce-checkout .entry-header,
body.woocommerce-checkout .page-header,
body.woocommerce-checkout h1.entry-title,
body.woocommerce-checkout .elementor-widget-theme-post-title,
body.woocommerce-account .entry-header,
body.woocommerce-account .page-header,
body.woocommerce-account h1.entry-title,
body.woocommerce-account .elementor-widget-theme-post-title {
  display: none !important;
}

/* Cart item — flex layout (надёжнее grid, не overflow от min-content) */
body.woocommerce-cart .ask-cart-item {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center;
  gap: 16px !important;
  padding: 16px 18px !important;
  box-sizing: border-box;
  width: 100% !important;
  max-width: 100% !important;
  overflow: hidden;
}
body.woocommerce-cart .ask-cart-item__media { flex: 0 0 80px; }
body.woocommerce-cart .ask-cart-item__info { flex: 1 1 auto; min-width: 0; overflow: hidden; }
body.woocommerce-cart .ask-cart-item__qty { flex: 0 0 auto; }
body.woocommerce-cart .ask-cart-item__subtotal {
  flex: 0 0 auto;
  white-space: nowrap !important;
  min-width: 96px;
  text-align: right;
  font-size: 16px !important;
}
body.woocommerce-cart .ask-cart-item__remove { flex: 0 0 32px; text-align: center; }

/* Гарантируем что layout sticks к границам контейнера */
body.woocommerce-cart .ask-cart__items,
body.woocommerce-cart .ask-cart__sidebar { min-width: 0; max-width: 100%; box-sizing: border-box; }
body.woocommerce-cart .ask-cart__layout { box-sizing: border-box; width: 100%; }
body.woocommerce-cart .ask-cart-item__info { min-width: 0 !important; overflow: hidden; }
body.woocommerce-cart .ask-cart-item__name { word-break: normal !important; overflow-wrap: break-word !important; hyphens: none !important; }
body.woocommerce-cart .ask-cart-item__sku {
  display: inline-block;
  max-width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
body.woocommerce-cart .ask-cart-item__price-each,
body.woocommerce-cart .ask-cart-item__stock { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%; }
body.woocommerce-cart .ask-cart-item__media { flex-shrink: 0; width: 80px !important; height: 80px !important; }
body.woocommerce-cart .ask-cart-item__media img { width: 80px !important; height: 80px !important; }
body.woocommerce-cart .ask-cart-item__qty .quantity { display: inline-flex; justify-content: center; }
body.woocommerce-cart .ask-cart-item__subtotal { text-align: right; white-space: nowrap; }

/* Мой ask-cart__head — оставить только мой */
body.woocommerce-cart .ask-cart__head + .ask-cart__head { display: none !important; }

@media (max-width: 768px) {
  /* [1.4.55] КЛЮЧЕВОЙ ФИКС: база форсит display:flex (всё в один ряд → имя сжато,
     текст по буквам). На мобиле переключаем на grid, чтобы заработали grid-areas. */
  body.woocommerce-cart .ask-cart-item {
    display: grid !important;
    flex-wrap: wrap !important;
    align-items: start !important;
    grid-template-columns: 72px minmax(0, 1fr) auto !important;
    grid-template-areas:
      "media info remove"
      "media qty subtotal" !important;
    gap: 10px 12px !important;
    overflow: visible !important;
  }
  body.woocommerce-cart .ask-cart-item__media { width: 72px !important; height: 72px !important; grid-area: media; align-self: center; }
  body.woocommerce-cart .ask-cart-item__media img { width: 72px !important; height: 72px !important; }
  body.woocommerce-cart .ask-cart-item__info { grid-area: info; min-width: 0 !important; overflow: visible !important; }
  /* имя — нормальный перенос по словам, без обрезки/эллипсиса */
  body.woocommerce-cart .ask-cart-item__name { white-space: normal !important; overflow-wrap: break-word !important; word-break: normal !important; font-size: 14px !important; line-height: 1.35 !important; }
  body.woocommerce-cart .ask-cart-item__sku,
  body.woocommerce-cart .ask-cart-item__price-each,
  body.woocommerce-cart .ask-cart-item__stock { white-space: normal !important; overflow: visible !important; text-overflow: clip !important; max-width: none !important; }
  body.woocommerce-cart .ask-cart-item__qty { grid-area: qty; align-self: center; }
  body.woocommerce-cart .ask-cart-item__subtotal { grid-area: subtotal; align-self: center; min-width: 0 !important; text-align: right; }
  body.woocommerce-cart .ask-cart-item__remove { grid-area: remove; justify-self: end; align-self: start; }
}

/* =====================================================================
 * [1.3.1] WC notices — info / message / error в нашем стиле
 * ===================================================================== */
.woocommerce-info,
.woocommerce-message,
.woocommerce-error,
ul.wc_payment_methods li.woocommerce-info,
ul.wc_payment_methods li.woocommerce-notice {
  list-style: none !important;
  background: var(--color-bg-secondary, #F5F8FC) !important;
  border: 1px solid var(--color-border, #E2E8F0) !important;
  border-left: 3px solid var(--color-primary, #1E60D1) !important;
  border-radius: 10px !important;
  padding: 14px 18px 14px 50px !important;
  margin: 0 0 16px 0 !important;
  font-size: 14.5px !important;
  line-height: 1.55 !important;
  color: var(--color-text) !important;
  position: relative !important;
  font-family: 'Golos Text', sans-serif !important;
}
.woocommerce-info::before,
.woocommerce-message::before,
ul.wc_payment_methods li.woocommerce-info::before {
  content: '\ea1c'; /* ti ti-info-circle */
  font-family: 'tabler-icons';
  position: absolute;
  top: 14px; left: 18px;
  font-size: 22px;
  color: var(--color-primary, #1E60D1);
  line-height: 1;
}
.woocommerce-message {
  border-left-color: #16A34A !important;
}
.woocommerce-message::before {
  content: '\ea5e'; /* check-circle */
  color: #16A34A;
}
.woocommerce-error {
  border-left-color: #DC2626 !important;
  background: #FEF2F2 !important;
}
.woocommerce-error::before {
  content: '\eb55'; /* circle-x */
  color: #DC2626;
}
.woocommerce-info a,
.woocommerce-message a,
.woocommerce-error a {
  color: var(--color-primary) !important;
  text-decoration: underline !important;
  text-underline-offset: 3px;
}

/* Когда нет методов оплаты — info внутри payment box */
html body.woocommerce-checkout ul.wc_payment_methods {
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}
html body.woocommerce-checkout ul.wc_payment_methods li.woocommerce-info {
  margin: 0 !important;
}

/* =====================================================================
 * [1.3.4] Перебиваем стандартный float-layout WC для MyAccount
 * WC ставит navigation: float:left; width:30% / content: float:right; width:65%
 * Мой layout — CSS Grid, эти правила его ломают.
 * ===================================================================== */
html body.woocommerce-account .woocommerce-MyAccount-navigation,
html body.woocommerce-account nav.ask-account__nav.woocommerce-MyAccount-navigation {
  float: none !important;
  width: 100% !important;
}
html body.woocommerce-account .woocommerce-MyAccount-content,
html body.woocommerce-account .ask-account__content.woocommerce-MyAccount-content {
  float: none !important;
  width: 100% !important;
}
/* На случай Bootstrap-like .col-sm-3 и подобных нашёптываний */
html body.woocommerce-account .woocommerce-MyAccount-navigation::before,
html body.woocommerce-account .woocommerce-MyAccount-navigation::after,
html body.woocommerce-account .woocommerce-MyAccount-content::before,
html body.woocommerce-account .woocommerce-MyAccount-content::after {
  display: none !important;
  content: '' !important;
  clear: none !important;
}

/* =====================================================================
 * [1.3.5] WC buttons на /my-account/ (.button .woocommerce-Button и т.п.)
 * Стандартный серый WC-стиль перекрываем primary-стилем сайта
 * ===================================================================== */
html body.woocommerce-account .woocommerce-MyAccount-content .button,
html body.woocommerce-account .woocommerce-MyAccount-content a.button,
html body.woocommerce-account .woocommerce-MyAccount-content button.button,
html body.woocommerce-account .woocommerce-MyAccount-content input[type="submit"].button,
html body.woocommerce-account .woocommerce-MyAccount-content button.woocommerce-Button,
html body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-button,
html body.woocommerce-account .woocommerce-MyAccount-content button[type="submit"]:not(.ask-btn--secondary),
html body.woocommerce-account form.woocommerce-EditAccountForm button.button,
html body.woocommerce-account form.woocommerce-EditAccountForm input[type="submit"] {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  height: 44px !important;
  padding: 0 22px !important;
  background: var(--color-primary, #1E60D1) !important;
  background-color: var(--color-primary, #1E60D1) !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 10px !important;
  font-family: 'Rubik', sans-serif !important;
  font-weight: 600 !important;
  font-size: 14.5px !important;
  text-decoration: none !important;
  cursor: pointer !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  transition: background-color .15s ease !important;
  box-shadow: none !important;
}
html body.woocommerce-account .woocommerce-MyAccount-content .button:hover,
html body.woocommerce-account .woocommerce-MyAccount-content a.button:hover,
html body.woocommerce-account .woocommerce-MyAccount-content button.button:hover,
html body.woocommerce-account .woocommerce-MyAccount-content input[type="submit"]:hover,
html body.woocommerce-account form.woocommerce-EditAccountForm button.button:hover {
  background: var(--color-primary-hover, #1748A8) !important;
  background-color: var(--color-primary-hover, #1748A8) !important;
  color: #fff !important;
}

/* Secondary-стиль для view/edit кнопок в таблицах заказов */
html body.woocommerce-account .woocommerce-orders-table .button.view,
html body.woocommerce-account .woocommerce-orders-table a.button.view,
html body.woocommerce-account .woocommerce-Address .button.edit,
html body.woocommerce-account .woocommerce-Address a.button.edit {
  background: #fff !important;
  background-color: #fff !important;
  color: var(--color-primary, #1E60D1) !important;
  border: 1.5px solid var(--color-border, #E2E8F0) !important;
  height: 38px !important;
  padding: 0 16px !important;
  font-size: 13.5px !important;
}
html body.woocommerce-account .woocommerce-orders-table .button.view:hover,
html body.woocommerce-account .woocommerce-Address .button.edit:hover {
  border-color: var(--color-primary, #1E60D1) !important;
  background: var(--color-accent-soft, rgba(30,96,209,0.10)) !important;
  background-color: var(--color-accent-soft, rgba(30,96,209,0.10)) !important;
  color: var(--color-primary) !important;
}

/* Поля форм в edit-account / addresses */
html body.woocommerce-account .woocommerce-MyAccount-content input.input-text,
html body.woocommerce-account .woocommerce-MyAccount-content select,
html body.woocommerce-account .woocommerce-MyAccount-content textarea {
  width: 100% !important;
  height: 44px !important;
  padding: 0 14px !important;
  border: 1.5px solid var(--color-border, #E2E8F0) !important;
  border-radius: 10px !important;
  background: #fff !important;
  font-family: 'Golos Text', sans-serif !important;
  font-size: 14.5px !important;
  color: var(--color-text) !important;
  outline: none !important;
  transition: border-color .15s, box-shadow .15s;
}
html body.woocommerce-account .woocommerce-MyAccount-content textarea {
  height: 110px !important;
  padding: 12px 14px !important;
  resize: vertical;
}
html body.woocommerce-account .woocommerce-MyAccount-content input.input-text:focus,
html body.woocommerce-account .woocommerce-MyAccount-content select:focus,
html body.woocommerce-account .woocommerce-MyAccount-content textarea:focus {
  border-color: var(--color-primary) !important;
  box-shadow: 0 0 0 3px var(--color-accent-soft, rgba(30,96,209,0.12)) !important;
}
html body.woocommerce-account .woocommerce-MyAccount-content .form-row label,
html body.woocommerce-account .woocommerce-MyAccount-content form label {
  display: block !important;
  font-size: 13px !important;
  color: var(--color-text-secondary) !important;
  margin: 0 0 6px 0 !important;
  font-weight: 500 !important;
}

/* =====================================================================
 * [1.3.9] Archive — фильтры наверху, категории под ними (тот же visual sidebar)
 * ===================================================================== */
.ask-shop-sidebar__cats-wrap {
  margin-top: 24px;
  padding-top: 24px;
  border-top: 1px solid var(--color-border, #E2E8F0);
}
.ask-shop-sidebar__cats-wrap .ask-side-cats {
  /* На archive нет sticky — sidebar и так компактный */
}
.ask-shop-sidebar__cats-wrap .ask-side-cats__item .ask-side-cats__link {
  padding: 10px 12px;
}
.ask-shop-sidebar__cats-wrap .ask-side-cats__media { width: 40px; height: 40px; }
@media (max-width: 900px) {
  .ask-shop-sidebar__cats-wrap { display: none; } /* На мобиле категории скрываем — их легко достать из шапки */
}

/* =====================================================================
 * [1.4.2] Archive product — кастомный toolbar (счётчик + сортировка),
 * единый pagination-блок, empty state. Полностью отказались от inline
 * вывода woocommerce_before_shop_loop — было «слипленно».
 * ===================================================================== */
html body main.ask-shop--archive .ask-shop-toolbar,
html body main.ask-shop .ask-shop-toolbar {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  flex-wrap: wrap !important;
  background: #fff !important;
  border: 1px solid var(--color-border, #E2E8F0) !important;
  border-radius: var(--radius-md, 12px) !important;
  padding: 14px 20px !important;
  margin-bottom: 24px !important;
  min-height: 56px !important;
}
html body main.ask-shop .ask-shop-toolbar__count {
  flex: 1 1 auto;
}
html body main.ask-shop .ask-shop-toolbar__count .woocommerce-result-count,
html body main.ask-shop .ask-shop-toolbar .woocommerce-result-count {
  margin: 0 !important;
  padding: 0 !important;
  font-size: 14px !important;
  color: var(--color-text-secondary, #475569) !important;
  font-family: 'Golos Text', sans-serif !important;
  font-weight: 500 !important;
}
html body main.ask-shop .ask-shop-toolbar__sort {
  flex: 0 0 auto;
}
html body main.ask-shop .ask-shop-toolbar .woocommerce-ordering {
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
}
html body main.ask-shop .ask-shop-toolbar .woocommerce-ordering select {
  min-width: 220px !important;
}
@media (max-width: 600px) {
  html body main.ask-shop .ask-shop-toolbar {
    padding: 12px 14px !important;
    flex-direction: column !important;
    align-items: stretch !important;
  }
  html body main.ask-shop .ask-shop-toolbar__sort .woocommerce-ordering select {
    width: 100% !important;
    min-width: 0 !important;
  }
}

/* Pagination */
html body main.ask-shop .ask-shop-pagination {
  margin-top: 32px;
  padding-top: 24px;
  border-top: 1px solid var(--color-border, #E2E8F0);
}
html body main.ask-shop .ask-shop-pagination .woocommerce-pagination {
  margin: 0 !important;
  text-align: center;
}
html body main.ask-shop .ask-shop-pagination .woocommerce-pagination ul.page-numbers {
  display: inline-flex !important;
  flex-wrap: wrap;
  gap: 6px !important;
  border: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
html body main.ask-shop .ask-shop-pagination .woocommerce-pagination ul.page-numbers li {
  border: 0 !important;
  background: transparent !important;
  margin: 0 !important;
  padding: 0 !important;
}
html body main.ask-shop .ask-shop-pagination .woocommerce-pagination .page-numbers {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 40px !important;
  height: 40px !important;
  padding: 0 12px !important;
  border: 1px solid var(--color-border, #E2E8F0) !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: var(--color-text, #1F2937) !important;
  font-family: 'Golos Text', sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  transition: all 200ms ease;
}
html body main.ask-shop .ask-shop-pagination .woocommerce-pagination a.page-numbers:hover {
  border-color: var(--color-primary, #1E60D1) !important;
  color: var(--color-primary, #1E60D1) !important;
}
html body main.ask-shop .ask-shop-pagination .woocommerce-pagination .page-numbers.current {
  background: var(--color-primary, #1E60D1) !important;
  border-color: var(--color-primary, #1E60D1) !important;
  color: #fff !important;
}
html body main.ask-shop .ask-shop-pagination .woocommerce-pagination .page-numbers.dots {
  border-color: transparent !important;
  background: transparent !important;
}

/* Empty state */
html body main.ask-shop .ask-shop-empty {
  background: #fff;
  border: 1px solid var(--color-border, #E2E8F0);
  border-radius: var(--radius-md, 12px);
  padding: 48px 24px;
  text-align: center;
}
html body main.ask-shop .ask-shop-empty__icon {
  font-size: 56px;
  color: var(--color-text-muted, #94A3B8);
  display: inline-block;
  margin-bottom: 12px;
}
html body main.ask-shop .ask-shop-empty__text {
  margin: 0;
  font-size: 15px;
  color: var(--color-text-secondary, #475569);
}
html body main.ask-shop .ask-shop-empty__text a {
  color: var(--color-primary, #1E60D1);
  text-decoration: none;
  font-weight: 500;
}
html body main.ask-shop .ask-shop-empty__text a:hover {
  text-decoration: underline;
}

/* Воздух между заголовком архива и сайдбаром/основным контентом */
html body main.ask-shop--archive .ask-shop__header {
  margin: 16px 0 28px 0 !important;
}

/* =====================================================================
 * [1.4.3] Apply-mode фильтров: кнопка «Применить фильтры» в sidebar.
 * Появляется в активном виде только когда есть отличие от текущих URL-фильтров.
 * ===================================================================== */
.ask-shop-sidebar__apply-wrap {
  position: sticky;
  bottom: 12px;
  margin: 16px 0 0 0;
  z-index: 2;
}
.ask-shop-sidebar__apply {
  width: 100% !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  padding: 12px 16px !important;
  border: 1px solid var(--color-border, #E2E8F0) !important;
  background: #fff !important;
  color: var(--color-text-muted, #94A3B8) !important;
  font-family: 'Golos Text', sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  border-radius: 10px !important;
  cursor: not-allowed !important;
  transition: background 200ms ease, color 200ms ease, border-color 200ms ease !important;
  box-shadow: none !important;
}
.ask-shop-sidebar__apply i.ti {
  font-size: 18px;
}
.ask-shop-sidebar__apply:not([disabled]),
.ask-shop-sidebar__apply.is-pending {
  background: var(--color-primary, #1E60D1) !important;
  color: #fff !important;
  border-color: var(--color-primary, #1E60D1) !important;
  cursor: pointer !important;
  box-shadow: none !important;
}
.ask-shop-sidebar__apply:not([disabled]):hover {
  background: #1850B5 !important;
  border-color: #1850B5 !important;
}
.ask-shop-sidebar__apply[disabled] {
  pointer-events: auto; /* чтобы курсор отображался */
}

/* =====================================================================
 * [1.4.12] Archive sidebar — flyout как на товарках (вправо), но с высоким
 * z-index чтобы не перекрывался карточками товаров. Создаём stacking-context
 * на самом сайдбаре через z-index, и поднимаем z-index у flyout.
 * ===================================================================== */
html body main.ask-shop--archive .ask-shop__sidebar,
html body .ask-shop__sidebar {
  z-index: 30 !important;
}
html body main.ask-shop--archive .ask-shop__main,
html body .ask-shop__main {
  position: relative;
  z-index: 1;
}
html body main.ask-shop--archive .ask-shop-sidebar__cats-wrap .ask-side-cats__flyout,
html body .ask-shop__sidebar .ask-shop-sidebar__cats-wrap .ask-side-cats__flyout {
  z-index: 9999 !important;
  box-shadow: 0 4px 14px -4px rgba(8,26,61,0.13), 0 1px 2px rgba(8,26,61,0.06) !important;
}
html body main.ask-shop--archive .ask-shop-sidebar__cats-wrap .ask-side-cats__item.has-subs,
html body .ask-shop__sidebar .ask-shop-sidebar__cats-wrap .ask-side-cats__item.has-subs {
  position: relative;
}

/* =====================================================================
 * [1.4.12] Мобильный drawer фильтров — на ≤900px сайдбар скрыт, появляется
 * кнопка «Фильтры», по клику — выезжает сайдбар как левая шторка.
 * ===================================================================== */
.ask-shop__mobile-filter-toggle {
  display: none; /* по умолчанию скрыта на десктопе */
  width: 100%;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 16px;
  border: 1px solid var(--color-border, #E2E8F0);
  background: #fff;
  color: var(--color-text, #1F2937);
  font-family: 'Golos Text', sans-serif;
  font-size: 14px;
  font-weight: 600;
  border-radius: 10px;
  cursor: pointer;
  margin-bottom: 16px;
}
.ask-shop__mobile-filter-toggle i {
  font-size: 18px;
  color: var(--color-primary, #1E60D1);
}
.ask-shop__mobile-filter-close {
  display: none; /* видна только в open-drawer на мобиле */
  position: absolute;
  top: 14px;
  right: 14px;
  width: 36px;
  height: 36px;
  align-items: center;
  justify-content: center;
  background: var(--color-bg-secondary, #F5F8FC);
  border: 0;
  border-radius: 50%;
  cursor: pointer;
  font-size: 20px;
  color: var(--color-text, #1F2937);
  z-index: 5;
}
.ask-shop__sidebar-backdrop {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(15, 23, 42, 0.55);
  z-index: 998;
  opacity: 0;
  transition: opacity 220ms ease;
}
.ask-shop__sidebar-backdrop.is-open {
  display: block;
  opacity: 1;
}

@media (max-width: 900px) {
  .ask-shop__mobile-filter-toggle {
    display: inline-flex;
  }
  /* Сайдбар скрыт по умолчанию, появляется как drawer слева */
  html body main.ask-shop .ask-shop__sidebar {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    bottom: 0 !important;
    width: 88vw !important;
    max-width: 380px !important;
    height: 100vh !important;
    margin: 0 !important;
    padding: 56px 20px 24px 20px !important;
    background: #fff !important;
    border-radius: 0 !important;
    border: 0 !important;
    box-shadow: 4px 0 24px rgba(15, 23, 42, 0.18) !important;
    transform: translateX(-105%) !important;
    transition: transform 280ms cubic-bezier(0.4, 0, 0.2, 1) !important;
    z-index: 999 !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
  }
  html body main.ask-shop .ask-shop__sidebar.is-open {
    transform: translateX(0) !important;
  }
  .ask-shop__mobile-filter-close {
    display: inline-flex;
  }
  /* На мобиле в открытом drawer категории видны вверху */
  html body main.ask-shop .ask-shop__sidebar .ask-shop-sidebar__cats-wrap {
    display: block !important;
  }
  /* Блокируем скролл body когда drawer открыт */
  body.ask-shop-drawer-open {
    overflow: hidden !important;
  }
}


/* =====================================================================
 * [1.4.35] Мобильный drawer — чистое дерево категорий вместо flyout-каскада.
 * Раньше на ≤1100px все flyout-панели подкатегорий форсились visible с
 * отступом padding-left:60px (+18px на вложенность) → кривой каскад вправо
 * и стена ссылок у всех категорий. Теперь: раскрыта только активная ветка,
 * 3-й уровень скрыт, ровный отступ + направляющая линия.
 * ===================================================================== */
@media (max-width: 900px) {
  /* по умолчанию L1-подкатегории свёрнуты */
  html body main.ask-shop .ask-shop__sidebar .ask-side-cats__flyout {
    display: none !important;
    position: static !important; opacity: 1 !important; visibility: visible !important;
    transform: none !important; box-shadow: none !important; border: 0 !important;
    background: transparent !important; min-width: 0 !important; max-width: none !important;
  }
  /* раскрываем только активную ветку (текущая категория и её предки) */
  html body main.ask-shop .ask-shop__sidebar .ask-side-cats__item.is-branch > .ask-side-cats__flyout {
    display: block !important;
    margin: 4px 0 8px 56px !important;
    padding: 2px 0 2px 0 !important;
    border-left: 2px solid var(--color-border, #E2E8F0) !important;
  }
  /* прячем глубокий 3-й уровень — оставляем только прямых детей категории */
  html body main.ask-shop .ask-shop__sidebar .ask-side-cats__flyout .ask-side-cats__flyout {
    display: none !important;
  }
  /* ряды подкатегорий — на всю ширину, без скоса вправо */
  html body main.ask-shop .ask-shop__sidebar .ask-side-cats__flyout ul { width: 100% !important; }
  html body main.ask-shop .ask-shop__sidebar .ask-side-cats__flyout a {
    display: flex !important; align-items: center !important; justify-content: space-between !important;
    gap: 10px !important; padding: 11px 14px !important;
    font-size: 14.5px !important; line-height: 1.35 !important;
    border-radius: 0 8px 8px 0 !important;
  }
  html body main.ask-shop .ask-shop__sidebar .ask-side-cats__flyout a:active {
    background: rgba(30, 96, 209, 0.08) !important;
  }
  /* у L1-детей убираем «есть дети» жирность — на мобиле всё одного уровня */
  html body main.ask-shop .ask-shop__sidebar .ask-side-cats__flyout li.has-children > a { font-weight: 500 !important; }
  /* caret верхних категорий: на мобиле всегда вниз (раскрытое состояние) */
  html body main.ask-shop .ask-shop__sidebar .ask-side-cats__item.is-branch .ask-side-cats__caret i { transform: rotate(90deg); }
}


/* =====================================================================
   [1.4.20] НАШИ РАБОТЫ — архив /works/, главная, single
   ===================================================================== */

/* Архив /works/ — сетка кейсов */
.ask-works__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}
@media (max-width: 1024px) { .ask-works__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px)  { .ask-works__grid { grid-template-columns: 1fr; gap: 16px; } }

.ask-work-card {
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid var(--color-border, #E2E8F0);
  border-radius: 14px;
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  transition: transform .18s, box-shadow .18s, border-color .18s;
}
.ask-work-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 44px -22px rgba(8, 26, 61, 0.35);
  border-color: var(--color-primary, #1E60D1);
}
.ask-work-card__media {
  position: relative;
  aspect-ratio: 4/3;
  background-color: #0F2C5C;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  display: flex;
  align-items: center;
  justify-content: center;
}
.ask-work-card__media-fallback { font-size: 56px; color: rgba(255,255,255,0.4); }
.ask-work-card__video-badge,
.ask-work-card__photos-badge {
  position: absolute;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 5px 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 600;
  color: #fff;
  letter-spacing: 0.02em;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}
.ask-work-card__video-badge { top: 12px; left: 12px; background: rgba(220, 38, 38, 0.92); }
.ask-work-card__photos-badge { top: 12px; right: 12px; background: rgba(15, 23, 42, 0.65); }
.ask-work-card__video-badge i, .ask-work-card__photos-badge i { font-size: 14px; }

.ask-work-card__body { padding: 18px 20px 22px; display: flex; flex-direction: column; gap: 6px; }
.ask-work-card__title { font-family: 'Rubik', sans-serif; font-size: 18px; font-weight: 700; margin: 0; color: var(--color-text); line-height: 1.3; }
.ask-work-card__meta { font-size: 13px; color: var(--color-text-muted, #64748B); margin: 0; font-weight: 500; }
.ask-work-card__text {
  font-size: 14px;
  line-height: 1.5;
  color: var(--color-text-secondary);
  margin: 4px 0 0 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Пустое состояние архива */
.ask-works__empty {
  text-align: center;
  padding: 64px 24px;
  background: var(--color-bg-secondary, #F4F7FB);
  border: 1px dashed var(--color-border, #CBD5E1);
  border-radius: 16px;
}
.ask-works__empty-icon { font-size: 56px; color: var(--color-primary); opacity: .65; margin: 0 0 14px 0; display: inline-block; }
.ask-works__empty-title { font-family: 'Rubik', sans-serif; font-size: 22px; font-weight: 700; margin: 0 0 8px 0; color: var(--color-text); }
.ask-works__empty-text { font-size: 15px; line-height: 1.6; max-width: 520px; margin: 0 auto 22px; color: var(--color-text-secondary); }
.ask-works__empty-admin { margin: 18px 0 0 0; font-size: 13px; }
.ask-works__empty-admin a { color: var(--color-text-muted); text-decoration: none; }
.ask-works__empty-admin a:hover { color: var(--color-primary); }

/* Блок «Наши работы» на главной */
.ask-home-works { margin: 64px 0; }
.ask-home-works__head { display: flex; align-items: flex-end; justify-content: space-between; flex-wrap: wrap; gap: 16px; margin: 0 0 26px 0; }
.ask-home-works__eyebrow {
  display: inline-block;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--color-primary, #1E60D1);
  margin: 0 0 8px 0;
}
.ask-home-works__title { font-family: 'Rubik', sans-serif; font-size: clamp(26px, 3vw, 36px); font-weight: 700; margin: 0; color: var(--color-text); line-height: 1.15; max-width: 720px; }
.ask-home-works__sub { font-size: 15px; color: var(--color-text-secondary); margin: 8px 0 0 0; max-width: 640px; line-height: 1.55; }
.ask-home-works__all {
  display: inline-flex; align-items: center; gap: 8px;
  font-size: 15px; font-weight: 600;
  color: var(--color-primary);
  text-decoration: none;
  padding: 10px 18px;
  border: 1.5px solid var(--color-primary);
  border-radius: 999px;
  transition: background .15s, color .15s;
}
.ask-home-works__all:hover { background: var(--color-primary); color: #fff; }
.ask-home-works__all i { transition: transform .15s; }
.ask-home-works__all:hover i { transform: translateX(3px); }

.ask-home-works__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-auto-rows: 280px;
  gap: 16px;
}
.ask-home-work--big {
  grid-column: span 2;
  grid-row: span 2;
}
.ask-home-work {
  position: relative;
  display: block;
  overflow: hidden;
  border-radius: 14px;
  text-decoration: none;
  color: #fff;
  transition: transform .25s, box-shadow .25s;
  background: #0F2C5C;
}
.ask-home-work:hover {
  transform: translateY(-3px);
  box-shadow: 0 22px 50px -22px rgba(8, 26, 61, 0.45);
}
.ask-home-work__media {
  position: absolute; inset: 0;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-color: #0F2C5C;
  display: flex; align-items: center; justify-content: center;
  transition: transform .35s ease;
}
.ask-home-work:hover .ask-home-work__media { transform: scale(1.06); }
.ask-home-work__media::after {
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(8,26,61,0) 30%, rgba(8,26,61,0.85) 100%);
}
.ask-home-work__media-fallback { font-size: 64px; color: rgba(255,255,255,0.25); }
/* [1.4.74] Брендовая заглушка для работ без фото — логотип Династии белым водяным знаком */
.ask-home-work__logo-fallback {
  width: 58%; max-width: 220px; height: auto;
  filter: brightness(0) invert(1);
  opacity: 0.28;
  position: relative; z-index: 1;
  pointer-events: none; user-select: none;
}
.ask-home-work--big .ask-home-work__logo-fallback { max-width: 300px; }
.ask-home-work__video-badge {
  position: absolute;
  top: 14px; left: 14px;
  z-index: 2;
  display: inline-flex; align-items: center; gap: 6px;
  padding: 6px 12px;
  border-radius: 999px;
  background: rgba(220, 38, 38, 0.94);
  font-size: 12px; font-weight: 700; color: #fff;
  letter-spacing: 0.03em;
}
.ask-home-work__video-badge i { font-size: 14px; }

.ask-home-work__body {
  position: absolute;
  left: 0; right: 0; bottom: 0;
  z-index: 2;
  padding: 22px 22px 20px;
}
.ask-home-work__title,
.ask-home-works .ask-home-work .ask-home-work__title { font-family: 'Rubik', sans-serif !important; font-size: 19px !important; font-weight: 700 !important; margin: 0 !important; color: #fff !important; line-height: 1.25 !important; text-shadow: 0 2px 14px rgba(0,0,0,0.55); }
.ask-home-work__meta,
.ask-home-works .ask-home-work .ask-home-work__meta { font-size: 13px !important; color: rgba(255,255,255,0.95) !important; margin: 6px 0 0 0 !important; font-weight: 500 !important; text-shadow: 0 1px 8px rgba(0,0,0,0.5); }
.ask-home-work--big .ask-home-work__title { font-size: 26px !important; }
.ask-home-work--big .ask-home-work__meta { font-size: 14px !important; }

@media (max-width: 900px) {
  .ask-home-works__grid { grid-template-columns: repeat(2, 1fr); grid-auto-rows: 220px; }
  .ask-home-work--big { grid-column: span 2; grid-row: span 1; }
}
@media (max-width: 560px) {
  .ask-home-works__grid { grid-template-columns: 1fr; grid-auto-rows: 240px; }
  .ask-home-work--big { grid-column: span 1; }
  .ask-home-works__head { flex-direction: column; align-items: flex-start; }
}

.ask-home-works__empty {
  text-align: center;
  padding: 32px;
  background: var(--color-bg-secondary, #F4F7FB);
  border: 1px dashed var(--color-border, #CBD5E1);
  border-radius: 14px;
}
.ask-home-works__empty-text { margin: 0 0 14px 0; color: var(--color-text-secondary); font-size: 14px; }

/* Single страница работы */
.ask-page--work-single { padding-top: 0; }
.ask-work-single__head { margin: 16px 0 28px 0; }
.ask-work-single__title { font-family: 'Rubik', sans-serif; font-size: clamp(28px, 3.4vw, 42px); font-weight: 700; margin: 0 0 10px 0; color: var(--color-text); line-height: 1.15; }
.ask-work-single__meta { display: flex; flex-wrap: wrap; gap: 10px; font-size: 14px; color: var(--color-text-muted); margin: 0; align-items: center; font-weight: 500; }
.ask-work-single__sep { opacity: 0.5; }

.ask-work-single__video,
.ask-work-single__hero {
  margin: 0 0 36px 0;
  border-radius: 16px;
  overflow: hidden;
  background: #0F2C5C;
}
.ask-work-single__video-frame {
  position: relative;
  width: 100%;
  aspect-ratio: 16/9;
}
.ask-work-single__video-frame iframe,
.ask-work-single__video-frame embed,
.ask-work-single__video-frame video {
  position: absolute; top: 0; left: 0;
  width: 100% !important; height: 100% !important;
  border: 0;
}
.ask-work-single__hero img { display: block; width: 100%; height: auto; max-height: 600px; object-fit: cover; }

.ask-work-single__content { font-size: 16px; line-height: 1.7; color: var(--color-text); max-width: 820px; margin: 0 0 40px 0; }
.ask-work-single__content p { margin: 0 0 16px 0; }
.ask-work-single__content img { display: block; max-width: 100%; height: auto; border-radius: 12px; margin: 18px 0; }

.ask-work-single__gallery { margin: 0 0 40px 0; }
.ask-work-single__gallery-title { font-family: 'Rubik', sans-serif; font-size: 22px; font-weight: 700; margin: 0 0 18px 0; color: var(--color-text); }
.ask-work-single__gallery-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}
@media (max-width: 760px) { .ask-work-single__gallery-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; } }
@media (max-width: 480px) { .ask-work-single__gallery-grid { grid-template-columns: 1fr; } }
.ask-work-single__photo {
  display: block;
  aspect-ratio: 4/3;
  overflow: hidden;
  border-radius: 10px;
  background: #0F2C5C;
}
.ask-work-single__photo img {
  width: 100%; height: 100%;
  object-fit: cover;
  transition: transform .25s ease;
}
.ask-work-single__photo:hover img { transform: scale(1.05); }

/* =====================================================================
   [1.4.20] КАТАЛОГ — подкатегории на мобиле (сетка над товарами)
   На десктопе скрыто (там visual nav в sidebar). На мобиле — горизонтальный скролл-чипы.
   ===================================================================== */
.ask-shop-subcats-mobile { display: none; }

@media (max-width: 900px) {
  .ask-shop-subcats-mobile {
    /* [1.4.35] Чипы переносятся в несколько рядов вместо горизонтального
       скролла — длинные названия + счётчик «N тов.» больше не обрезаются. */
    display: block;
    margin: 0 0 18px 0;
    padding: 0;
  }

  .ask-shop-subcats-mobile__grid {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    width: auto;
  }

  .ask-shop-subcats-mobile__item {
    flex: 0 1 auto;
    min-width: 0;
    max-width: 100%;
  }

  .ask-shop-subcats-mobile__link {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 14px 8px 8px;
    background: #fff;
    border: 1px solid var(--color-border, #E2E8F0);
    border-radius: 999px;
    text-decoration: none;
    color: var(--color-text);
    font-size: 13.5px;
    font-weight: 600;
    transition: border-color .15s, background .15s, transform .15s;
  }
  .ask-shop-subcats-mobile__link:active { transform: scale(0.98); }
  .ask-shop-subcats-mobile__link:hover {
    border-color: var(--color-primary);
    background: rgba(30, 96, 209, 0.04);
  }

  .ask-shop-subcats-mobile__media {
    flex: 0 0 32px;
    width: 32px; height: 32px;
    border-radius: 999px;
    background: var(--color-bg-secondary, #F4F7FB);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    color: var(--color-text-muted, #94A3B8);
    font-size: 16px;
  }
  .ask-shop-subcats-mobile__media img {
    width: 100%; height: 100%;
    object-fit: cover;
    display: block;
  }
  .ask-shop-subcats-mobile__name { white-space: normal; overflow-wrap: anywhere; min-width: 0; }
  .ask-shop-subcats-mobile__count {
    font-size: 11px;
    color: var(--color-text-muted, #94A3B8);
    background: var(--color-bg-secondary, #F4F7FB);
    padding: 3px 8px;
    border-radius: 999px;
    font-weight: 500;
    margin-left: 2px;
  }
}

/* Совсем узкие экраны — карточки помельче */
@media (max-width: 480px) {
  .ask-shop-subcats-mobile__link { padding: 6px 12px 6px 6px; font-size: 13px; }
  .ask-shop-subcats-mobile__media { flex-basis: 28px; width: 28px; height: 28px; font-size: 14px; }
}

/* =====================================================================
   [1.4.20rev] УСЛУГИ — архив /services/, single, блок на главной
   Новый префикс .ask-svc-* чтобы не пересекаться со старым .ask-service-card
   ===================================================================== */

/* ===== АРХИВ /services/ — сетка карточек ===== */
.ask-page--services .ask-page__head { margin-bottom: 36px; }
.ask-svc { margin: 0 0 56px 0; }
.ask-svc__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
@media (max-width: 1024px) { .ask-svc__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px)  { .ask-svc__grid { grid-template-columns: 1fr; gap: 16px; } }

.ask-svc-card {
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid var(--color-border, #E2E8F0);
  border-radius: 16px;
  overflow: hidden;
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.ask-svc-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 48px -22px rgba(8, 26, 61, 0.32);
  border-color: var(--color-primary, #1E60D1);
}

.ask-svc-card__media {
  position: relative;
  display: block;
  aspect-ratio: 16/10;
  background: linear-gradient(135deg, #1E60D1 0%, #4A8BFF 100%);
  overflow: hidden;
}
.ask-svc-card__media img {
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .35s ease;
}
.ask-svc-card:hover .ask-svc-card__media img { transform: scale(1.04); }

.ask-svc-card__icon-tag {
  position: absolute;
  bottom: 14px; left: 14px;
  z-index: 2;
  width: 48px; height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  background: #fff;
  color: var(--color-primary, #1E60D1) !important;
  font-size: 24px !important;
  box-shadow: 0 6px 18px -6px rgba(8, 26, 61, 0.35);
}
.ask-svc-card__icon-tag i { color: var(--color-primary, #1E60D1) !important; font-size: 24px !important; line-height: 1 !important; }

.ask-svc-card__body {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 22px 22px 24px;
  flex: 1;
}
.ask-svc-card__title,
.ask-svc-card h3.ask-svc-card__title {
  font-family: 'Rubik', sans-serif !important;
  font-size: 19px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  margin: 0 !important;
  color: var(--color-text) !important;
}
.ask-svc-card__title a {
  color: var(--color-text) !important;
  text-decoration: none !important;
}
.ask-svc-card__title a:hover { color: var(--color-primary) !important; }

.ask-svc-card__excerpt {
  font-size: 14.5px;
  line-height: 1.55;
  color: var(--color-text-secondary, #475569);
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.ask-svc-card__foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: auto;
  padding-top: 14px;
  border-top: 1px dashed var(--color-border, #E2E8F0);
}
.ask-svc-card__price { display: flex; flex-direction: column; gap: 2px; }
.ask-svc-card__price-label {
  font-size: 10.5px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-weight: 600;
  color: var(--color-text-muted, #94A3B8);
}
.ask-svc-card__price-val {
  font-family: 'Rubik', sans-serif;
  font-size: 17px;
  font-weight: 700;
  color: var(--color-text);
  line-height: 1.2;
}
.ask-svc-card__more {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 10px 16px;
  border-radius: 10px;
  background: var(--color-primary, #1E60D1);
  color: #fff !important;
  font-weight: 600;
  font-size: 14px;
  text-decoration: none !important;
  transition: background .15s, transform .15s;
}
.ask-svc-card__more:hover { background: #1750B0; transform: translateX(2px); }
.ask-svc-card__more i { color: #fff !important; transition: transform .15s; }

@media (max-width: 480px) {
  .ask-svc-card__foot { flex-direction: column; align-items: flex-start; gap: 12px; }
  .ask-svc-card__more { width: 100%; justify-content: center; }
}

/* ===== SINGLE /usluga/{slug}/ ===== */
.ask-page--svc-single { padding-top: 0 !important; }
.ask-svc-single__hero {
  margin: 16px 0 40px 0;
  border-radius: 18px;
  padding: 60px 0 64px;
  color: #fff;
  background-color: #0F2C5C;
}
.ask-svc-single__hero-inner { max-width: 760px; }
.ask-svc-single__hero-icon {
  width: 72px; height: 72px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 18px;
  background: rgba(255,255,255,0.16);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  font-size: 36px !important;
  color: #fff !important;
  margin: 0 0 20px 0;
}
.ask-svc-single__hero-icon i { color: #fff !important; font-size: 36px !important; line-height: 1 !important; }
.ask-svc-single__hero-title,
.ask-page--svc-single h1.ask-svc-single__hero-title {
  font-family: 'Rubik', sans-serif !important;
  font-size: clamp(30px, 4vw, 46px) !important;
  font-weight: 700 !important;
  line-height: 1.12 !important;
  margin: 0 0 14px 0 !important;
  color: #fff !important;
  letter-spacing: -0.01em;
}
.ask-svc-single__hero-lead {
  font-size: 17px;
  line-height: 1.55;
  color: rgba(255,255,255,0.92);
  margin: 0 0 28px 0;
  max-width: 640px;
}
.ask-svc-single__hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
  align-items: center;
}
.ask-svc-single__hero-price {
  display: inline-flex;
  flex-direction: column;
  gap: 2px;
  color: #fff;
}
.ask-svc-single__hero-price-label {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: rgba(255,255,255,0.7);
  font-weight: 600;
}
.ask-svc-single__hero-price strong {
  font-family: 'Rubik', sans-serif;
  font-size: 20px;
  font-weight: 700;
  color: #fff;
}

@media (max-width: 760px) {
  .ask-svc-single__hero { padding: 40px 20px 44px; margin: 8px 0 28px; border-radius: 14px; }
  .ask-svc-single__hero-icon { width: 60px; height: 60px; font-size: 30px !important; }
  .ask-svc-single__hero-actions { flex-direction: column; align-items: stretch; }
  .ask-svc-single__hero-actions .ask-btn { width: 100%; justify-content: center; }
}

.ask-svc-single__grid {
  display: grid;
  grid-template-columns: 1.6fr 1fr;
  gap: 36px;
  margin: 0 0 60px 0;
  align-items: start;
}
@media (max-width: 900px) { .ask-svc-single__grid { grid-template-columns: 1fr; gap: 24px; } }

.ask-svc-single__content {
  font-size: 16.5px;
  line-height: 1.75;
  color: var(--color-text);
}
.ask-svc-single__content p,
.ask-page--svc-single .ask-svc-single__content p {
  margin: 0 0 18px 0;
  font-size: 16.5px;
  line-height: 1.75;
}
.ask-svc-single__content h2 {
  font-family: 'Rubik', sans-serif !important;
  font-size: 24px !important;
  font-weight: 700 !important;
  margin: 28px 0 12px 0 !important;
  color: var(--color-text) !important;
}
.ask-svc-single__content ul, .ask-svc-single__content ol { margin: 0 0 18px 0; padding-left: 22px; }
.ask-svc-single__content li { margin-bottom: 8px; }

.ask-svc-single__features {
  background: linear-gradient(180deg, #F4F7FB 0%, #FFFFFF 100%);
  border: 1px solid var(--color-border, #E2E8F0);
  border-radius: 18px;
  padding: 28px 26px;
  position: sticky;
  top: 110px;
}
.ask-svc-single__features-title,
.ask-page--svc-single h2.ask-svc-single__features-title {
  font-family: 'Rubik', sans-serif !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  margin: 0 0 18px 0 !important;
  color: var(--color-text) !important;
}
.ask-svc-single__features-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.ask-svc-single__features-list li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 14.5px;
  line-height: 1.5;
  color: var(--color-text);
  margin: 0;
}
.ask-svc-single__features-list li i {
  flex: 0 0 20px;
  font-size: 20px !important;
  color: #1F8A4C !important;
  margin-top: 1px;
  line-height: 1 !important;
}
.ask-svc-single__features-list li span { flex: 1; }
.ask-svc-single__features-cta { margin-top: 22px; }
.ask-svc-single__features-cta .ask-btn { width: 100%; justify-content: center; }

/* === Related — карточки внизу single === */
.ask-svc-single__related { margin: 0 0 64px 0; }
.ask-svc-single__related-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
  margin: 0 0 20px 0;
}
.ask-svc-single__related-title,
.ask-page--svc-single h2.ask-svc-single__related-title {
  font-family: 'Rubik', sans-serif !important;
  font-size: 24px !important;
  font-weight: 700 !important;
  margin: 0 !important;
  color: var(--color-text) !important;
}
.ask-svc-single__related-all {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  font-weight: 600;
  color: var(--color-primary);
  text-decoration: none !important;
}
.ask-svc-single__related-all i { transition: transform .15s; }
.ask-svc-single__related-all:hover i { transform: translateX(3px); }
.ask-svc-single__related-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}
@media (max-width: 900px) { .ask-svc-single__related-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 540px) { .ask-svc-single__related-grid { grid-template-columns: 1fr; } }

.ask-svc-card--related { text-decoration: none !important; color: inherit; }
.ask-svc-card--related .ask-svc-card__media { aspect-ratio: 16/10; }
.ask-svc-card--related .ask-svc-card__body { padding: 18px 18px 20px; gap: 8px; }
.ask-svc-card--related .ask-svc-card__title { font-size: 17px !important; }
.ask-svc-card--related .ask-svc-card__price { padding: 0; border: 0; }
.ask-svc-card--related .ask-svc-card__price-val { font-size: 15px; color: var(--color-primary); }

/* ===== БЛОК НА ГЛАВНОЙ — Наши услуги (carousel-grid) ===== */
.ask-home-services { margin: 56px 0 64px 0; }
.ask-home-services__head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px;
  margin: 0 0 22px 0;
}
.ask-home-services__title,
.ask-home-services h2.ask-home-services__title {
  font-family: 'Rubik', sans-serif !important;
  font-size: clamp(24px, 2.8vw, 32px) !important;
  font-weight: 700 !important;
  margin: 0 !important;
  color: var(--color-text) !important;
  line-height: 1.2 !important;
}
.ask-home-services__sub { font-size: 15px; color: var(--color-text-secondary); margin: 8px 0 0 0; max-width: 640px; line-height: 1.55; }
.ask-home-services__all {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--color-primary) !important;
  font-weight: 600;
  text-decoration: none !important;
  font-size: 15px;
}
.ask-home-services__all i { transition: transform .15s; }
.ask-home-services__all:hover i { transform: translateX(3px); }

.ask-home-services__track {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
}
@media (max-width: 1100px) { .ask-home-services__track { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 800px)  { .ask-home-services__track { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 540px)  {
  .ask-home-services__track {
    grid-template-columns: none;
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    /* [1.4.26] scroll-padding нужен, иначе snap прижимает первую карточку к 0 (scrollLeft становится = padding-left) */
    scroll-padding-left: 16px;
    scroll-padding-right: 16px;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 6px;
    margin: 0 -16px;
    padding-left: 16px;
    padding-right: 16px;
  }
  .ask-home-services__track > * { flex: 0 0 78%; scroll-snap-align: start; }
}

.ask-home-service {
  background: #fff;
  border: 1px solid var(--color-border, #E2E8F0);
  border-radius: 14px;
  padding: 22px 20px 20px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  transition: transform .18s, box-shadow .18s, border-color .18s;
  text-decoration: none !important;
  color: inherit;
}
.ask-home-service:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 36px -18px rgba(8, 26, 61, 0.28);
  border-color: var(--color-primary, #1E60D1);
}
.ask-home-service__icon {
  width: 48px; height: 48px;
  display: inline-flex; align-items: center; justify-content: center;
  border-radius: 12px;
  background: rgba(30, 96, 209, 0.10);
  color: var(--color-primary, #1E60D1) !important;
  font-size: 24px !important;
  margin: 0 0 4px 0;
}
.ask-home-service__icon i { color: var(--color-primary, #1E60D1) !important; font-size: 24px !important; line-height: 1 !important; }

.ask-home-service__title,
.ask-home-services .ask-home-service h3.ask-home-service__title {
  font-family: 'Rubik', sans-serif !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  margin: 0 !important;
  color: var(--color-text) !important;
  line-height: 1.28 !important;
}
.ask-home-service__excerpt {
  font-size: 13.5px;
  line-height: 1.5;
  color: var(--color-text-secondary);
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.ask-home-service__price { font-size: 13px; color: var(--color-text); margin: auto 0 0 0; padding-top: 8px; border-top: 1px dashed var(--color-border); }
.ask-home-service__price strong { color: var(--color-primary); }

/* ===== [1.4.21] 28.05 — мягкие hover-тени на карточках услуг + горизонтальные паддинги CTA-баннера ===== */

/* Архив /services/ — карточка услуги */
.ask-svc-card { transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease !important; }
.ask-svc-card:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 4px 12px -4px rgba(15, 23, 42, 0.08) !important;
  border-color: rgba(30, 96, 209, 0.45) !important;
}

/* Главная — блок «Наши услуги» */
.ask-home-service:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 4px 10px -4px rgba(15, 23, 42, 0.07) !important;
  border-color: rgba(30, 96, 209, 0.40) !important;
}

/* «Другие услуги» под single-страницей услуги */
.ask-svc-card--related:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 4px 12px -4px rgba(15, 23, 42, 0.08) !important;
  border-color: rgba(30, 96, 209, 0.45) !important;
}

/* CTA-баннер с фоновым фото — добавляем боковые паддинги, чтобы карточка не лепилась к краям */
.ask-cta { padding: 80px clamp(24px, 4vw, 48px) !important; }
@media (max-width: 1024px) {
  .ask-cta { padding: 64px 32px !important; }
}
@media (max-width: 720px) {
  .ask-cta { padding: 48px 18px !important; }
  .ask-cta__card { padding: 32px 22px !important; }
}
@media (max-width: 480px) {
  .ask-cta { padding: 36px 14px !important; }
}

/* ===== [1.4.22] 28.05 — боковые margins 12px на hero single-страницы услуги ===== */
.ask-svc-single__hero {
  margin-left: 12px !important;
  margin-right: 12px !important;
}
@media (max-width: 760px) {
  .ask-svc-single__hero { margin-left: 12px !important; margin-right: 12px !important; }
}

/* ===== [1.4.23] 28.05 — мобильный fix карточек категорий на /catalog/ =====
   Проблемы которые чиним:
   1) Чипсы подкатегорий обрезались по ширине узкой карточки (видно ~1 чип из 4-5).
   2) Заголовки в 1 или 2 строки → карточки в одном ряду разной высоты, грид кривой.
   3) max-height: 64px на ul.__subs скрывал большинство пунктов.
   Решение: возвращаем читаемый bullet-list под названием (как на десктопе),
   фиксируем 2 строки на заголовок, ограничиваем 4 подкатегории видимыми. */

@media (max-width: 760px) {
  /* Заголовок — фиксированные 2 строки, единая высота в ряду */
  .ask-catalog-group__title {
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    min-height: 2.6em !important;
    font-size: 13.5px !important;
    line-height: 1.3 !important;
    word-break: normal !important;
    hyphens: manual !important;
  }
  .ask-catalog-group__title-count {
    display: block !important;
    font-size: 11.5px !important;
    font-weight: 500 !important;
    margin: 2px 0 0 0 !important;
    color: var(--color-text-muted, #94A3B8) !important;
  }

  /* Подкатегории — компактный список вместо чипсов */
  .ask-catalog-group__subs {
    display: block !important;
    flex-wrap: initial !important;
    list-style: none !important;
    margin: 8px 0 0 0 !important;
    padding: 0 !important;
    max-height: none !important;
    overflow: visible !important;
  }
  .ask-catalog-group__subs li {
    margin: 0 0 3px 0 !important;
    padding: 0 0 0 9px !important;
    position: relative !important;
    line-height: 1.35 !important;
  }
  .ask-catalog-group__subs li::before {
    content: '' !important;
    position: absolute !important;
    left: 0 !important;
    top: 0.55em !important;
    width: 3px !important;
    height: 3px !important;
    border-radius: 50% !important;
    background: var(--color-text-muted, #94A3B8) !important;
  }
  .ask-catalog-group__subs li:last-child { margin-bottom: 0 !important; }
  .ask-catalog-group__subs a {
    display: inline !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    font-size: 11.5px !important;
    line-height: 1.35 !important;
    color: var(--color-text-secondary, #475569) !important;
    font-weight: 500 !important;
    white-space: normal !important;
    max-width: none !important;
    overflow: visible !important;
    text-overflow: clip !important;
  }
  .ask-catalog-group__subs a:active { color: var(--color-primary) !important; background: transparent !important; }
  .ask-catalog-group__subs .ask-catalog-group__sub-count {
    color: var(--color-text-muted, #94A3B8) !important;
    margin-left: 2px !important;
    font-size: 10.5px !important;
  }
  /* Лимит 4 видимых подкатегории — длинные списки не растягивают карточку */
  .ask-catalog-group__subs li:nth-child(n+5) { display: none !important; }
  /* Кнопка "+ ещё N" из старого JS (для чипсов) больше не нужна */
  .ask-catalog-group__subs-more { display: none !important; }

  /* Карточка категории — выравнивание по высоте ряда */
  .ask-catalog-group { align-self: stretch !important; padding: 12px !important; }
  .ask-catalog-group__media {
    aspect-ratio: 1 / 1 !important;
    background: var(--color-bg-secondary, #F5F8FC) !important;
    border-radius: 10px !important;
    padding: 8px !important;
    box-sizing: border-box !important;
    margin: 0 0 10px 0 !important;
  }
}

@media (max-width: 380px) {
  /* Горизонтальная карточка 1-в-ряд — ограничиваем 2 подкатегории */
  .ask-catalog-group__subs li:nth-child(n+3) { display: none !important; }
  .ask-catalog-group__title { -webkit-line-clamp: 2 !important; min-height: 2.4em !important; }
}

/* ===== [1.4.24] 28.05 — название категории не обрезаем + карточки без подкатегорий не тянутся =====
   Задача от Асада: на мобиле длинные названия резались в 2 строки с «...»; карточки в ряду
   выравнивались по самой высокой (где есть подкатегории) — пустые тянулись зря.
   Решение: на ≤760px снимаем line-clamp/min-height с заголовка (пусть занимает столько строк,
   сколько нужно), и переключаем грид с stretch → start, чтобы каждая карточка была по
   своему контенту. */
@media (max-width: 760px) {
  /* Заголовок — текст помещается полностью, без обрезки */
  .ask-catalog-group__title {
    display: block !important;
    -webkit-line-clamp: unset !important;
    -webkit-box-orient: unset !important;
    overflow: visible !important;
    min-height: 0 !important;
    text-overflow: clip !important;
    white-space: normal !important;
    word-break: normal !important;
    hyphens: manual !important;
  }
  /* Карточка — по высоте своего контента, не растягивается под соседа в ряду.
     Реальный контейнер — .ask-catalog__grid (BEM, два подчёркивания), не .ask-catalog-grid.
     По дефолту он задавал grid-template-rows: repeat(N, 1fr) → все ряды равные max-высоте. */
  .ask-catalog__grid {
    grid-template-rows: none !important;
    grid-auto-rows: min-content !important;
    align-items: start !important;
  }
  .ask-catalog-group {
    align-self: start !important;
    height: auto !important;
  }
}
@media (max-width: 380px) {
  .ask-catalog-group__title {
    -webkit-line-clamp: unset !important;
    min-height: 0 !important;
    display: block !important;
    overflow: visible !important;
  }
}

/* ====================================================================
   [1.4.34] БАННЕРЫ УСЛУГ на главной (.ask-svc-banners)
   ==================================================================== */
.ask-svc-banners { margin: 56px 0 64px; }
.ask-svc-banners__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}
.ask-svc-banner {
  position: relative;
  min-height: 280px;
  border-radius: var(--radius-lg);
  overflow: hidden;
  background-size: cover;
  background-position: center right;
  background-repeat: no-repeat;
  display: flex;
  align-items: center;
  box-shadow: 0 18px 40px -22px rgba(8, 20, 46, 0.55);
  transition: transform .35s ease, box-shadow .35s ease;
}
.ask-svc-banner:hover {
  transform: translateY(-4px);
  box-shadow: 0 26px 52px -22px rgba(8, 20, 46, 0.65);
}
.ask-svc-banner__body {
  padding: 36px 40px;
  max-width: 78%;
  color: #fff;
}
.ask-svc-banner__eyebrow {
  display: inline-block;
  font-family: 'Rubik', sans-serif;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--color-accent);
  margin-bottom: 12px;
}
.ask-svc-banner__title {
  font-family: 'Rubik', sans-serif;
  font-size: 28px;
  line-height: 1.18;
  font-weight: 700;
  margin: 0 0 10px;
  color: #fff;
}
.ask-svc-banner__text {
  font-size: 15px;
  line-height: 1.55;
  margin: 0 0 22px;
  color: rgba(255, 255, 255, 0.82);
}
.ask-svc-banner__actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 18px;
}
.ask-svc-banner__link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #fff;
  font-weight: 600;
  font-size: 15px;
  text-decoration: none;
  transition: gap .25s ease, color .25s ease;
}
.ask-svc-banner__link:hover { color: var(--color-accent); gap: 10px; }
.ask-svc-banner__link i { font-size: 18px; }

@media (max-width: 1024px) {
  .ask-svc-banner__title { font-size: 24px; }
  .ask-svc-banner__body { max-width: 84%; padding: 30px 32px; }
}
@media (max-width: 768px) {
  .ask-svc-banners { margin: 40px 0 44px; }
  .ask-svc-banners__grid { grid-template-columns: 1fr; gap: 18px; }
  .ask-svc-banner { min-height: 240px; background-position: center center; }
  .ask-svc-banner__body { max-width: 100%; padding: 26px 24px; }
  .ask-svc-banner__title { font-size: 22px; }
  .ask-svc-banner__actions { gap: 14px; }
  .ask-svc-banner__actions .ask-btn { width: 100%; justify-content: center; }
  .ask-svc-banner__link { width: 100%; justify-content: center; }
}

/* =====================================================================
 * CART TOAST — [1.4.69] уведомление о добавлении в корзину
 * Без левой цветной полосы и «успех-зелёного» (шаблонный вид). Чистая
 * карточка на бренд-синем: тонкая рамка, мягкая тень, синий чек.
 * ================================================================== */
.ask-toast {
  position: fixed; z-index: 10050;
  right: 24px; bottom: 104px; /* выше плавающей кнопки WhatsApp (правый-нижний угол) */
  display: flex; align-items: center; gap: 12px;
  width: 340px; max-width: calc(100vw - 32px);
  padding: 13px 14px;
  background: #fff;
  border: 1px solid var(--color-border, #E6EAF2);
  border-radius: 14px;
  box-shadow: 0 14px 36px -16px rgba(8,26,61,0.28), 0 3px 10px rgba(8,26,61,0.07);
  font-family: var(--font-body, 'Golos Text', sans-serif);
  transform: translateY(16px);
  opacity: 0; pointer-events: none;
  transition: transform 300ms cubic-bezier(0.16,1,0.3,1), opacity 220ms ease;
}
.ask-toast.is-visible { transform: translateY(0); opacity: 1; pointer-events: auto; }
.ask-toast__icon {
  flex: 0 0 auto; width: 32px; height: 32px;
  display: flex; align-items: center; justify-content: center;
  border-radius: 50%;
  background: var(--color-primary, #1E60D1);
  color: #fff; font-size: 17px; line-height: 1;
}
.ask-toast__icon .ti { color: #fff !important; }
.ask-toast__icon svg { display: block; }
.ask-toast__body { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.ask-toast__title {
  font-family: var(--font-heading, 'Rubik', sans-serif);
  font-weight: 600; font-size: 14.5px; line-height: 1.3;
  color: var(--color-text, #0F172A);
}
.ask-toast__link {
  display: inline-flex; align-items: center; gap: 5px;
  font-size: 12.5px; font-weight: 600;
  color: var(--color-primary, #1E60D1);
  text-decoration: none; width: fit-content;
}
.ask-toast__link:hover { text-decoration: underline; }
.ask-toast__link .ti { font-size: 14px; }
.ask-toast__close {
  flex: 0 0 auto; margin-left: auto;
  width: 28px; height: 28px; padding: 0;
  display: inline-flex; align-items: center; justify-content: center;
  background: transparent; border: none; cursor: pointer;
  border-radius: 8px; font-size: 15px; line-height: 0;
  color: var(--color-text-muted, #94A3B8);
  transition: background 150ms ease, color 150ms ease;
}
.ask-toast__close:hover { background: rgba(8,26,61,0.06) !important; color: var(--color-text, #0F172A) !important; }
@media (max-width: 600px) {
  .ask-toast {
    right: 10px; left: 10px; bottom: 88px; width: auto; /* над кнопкой WhatsApp */
    padding: 12px 12px;
  }
}
/* Прячем стандартную WC-ссылку «Просмотр корзины» (её заменил тост) */
html body.woocommerce ul.products li.product a.added_to_cart,
html body a.added_to_cart,
html body .added_to_cart { display: none !important; }
