/* FG storefront overrides (no npm; edit in repo, served from /assets/fg-storefront.css)
 * Порядок: styles.css → portal.css → этот файл. Обёртки @layer сняты, чтобы правила
 * на равной специфичности стабильно перекрывали portal.css.
 * Визуальная шкала: Material Design 3 (поверхности, скругления, состояния): https://m3.material.io/components
 */

:root {
    --fg-focus-ring-color: var(--leaf-dark, #0f6d4b);
    --fg-focus-ring-width: 2px;
    --fg-focus-offset-loose: 3px;
    --fg-focus-offset-tight: 2px;
    --fg-touch-target-min: 44px;
    /* M3-совместимые алиасы (тонкая палитра + тень уровня 1) */
    --md-sys-color-surface: #f4f7f5;
    --md-sys-color-surface-container: #ffffff;
    --md-sys-color-on-surface: #1f1f1f;
    --md-sys-color-on-surface-variant: rgba(60, 64, 67, 0.78);
    --md-sys-color-outline: rgba(60, 64, 67, 0.12);
    --md-sys-color-primary: var(--leaf-dark, #0f6d4b);
    --md-sys-shape-corner-medium: 12px;
    --md-sys-shape-corner-large: 16px;
    --md-sys-shape-corner-extra-large: 22px;
    --md-sys-elevation-1: 0 1px 2px rgba(60, 64, 67, 0.12), 0 1px 3px 1px rgba(60, 64, 67, 0.06);
}


@media (prefers-reduced-motion: reduce) {
    .page-loader,
    .page-loader-panel,
    .page-loader-mark,
    .page-loader-mark-core {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}

/* --- Listing (PLP): spacing from legacy tokens on :root --- */

    body[data-page-type='shop'] .catalog-products-grid,
    body[data-page-type='shop_purchase'] .catalog-products-grid.purchase-items-grid {
        column-gap: var(--space-5, 24px);
        row-gap: var(--space-6, 32px);
    }

    @media (max-width: 767px) {
        body[data-page-type='shop'] .catalog-products-grid,
        body[data-page-type='shop_purchase'] .catalog-products-grid.purchase-items-grid {
            row-gap: var(--space-4, 16px);
        }
    }

    @media (min-width: 480px) {
        body[data-page-type='shop'] .catalog-products-grid,
        body[data-page-type='shop_purchase'] .catalog-products-grid.purchase-items-grid {
            column-gap: var(--space-6, 32px);
        }
    }

    @media (min-width: 1024px) {
        body[data-page-type='shop'] .catalog-products-grid,
        body[data-page-type='shop_purchase'] .catalog-products-grid.purchase-items-grid {
            row-gap: var(--space-7, 48px);
        }
    }

    /* Герой главная + /shop: компактный rail и единая карточка .catalog-hero-spotlight--feature-strip */
    body[data-page-type='home'] .catalog-hero.catalog-hero--home-sales.catalog-hero--retail-shell .catalog-hero__rail--slider,
    body[data-page-type='shop'] .catalog-hero.catalog-hero--shop-sales.catalog-hero--retail-shell .catalog-hero__rail--showcase {
        width: 100%;
        max-width: min(100%, 500px);
        justify-self: stretch;
    }

    body[data-page-type='home'] .catalog-hero--home-sales .catalog-hero-spotlight--feature-strip,
    body[data-page-type='shop'] .catalog-hero--shop-sales .catalog-hero-spotlight--feature-strip {
        width: 100%;
        max-width: 100%;
    }

    body[data-page-type='home'] .catalog-hero--home-sales .catalog-hero-spotlight--feature-strip .catalog-hero-spotlight__top,
    body[data-page-type='shop'] .catalog-hero--shop-sales .catalog-hero-spotlight--feature-strip .catalog-hero-spotlight__top {
        justify-content: flex-start;
        padding-bottom: 0;
        margin-bottom: 0;
        border-bottom: none;
        gap: var(--space-2, 8px);
    }

    body[data-page-type='home'] .catalog-hero--home-sales .catalog-hero-spotlight--feature-strip .catalog-hero-spotlight__body,
    body[data-page-type='shop'] .catalog-hero--shop-sales .catalog-hero-spotlight--feature-strip .catalog-hero-spotlight__body {
        gap: var(--space-3, 12px);
        padding: clamp(14px, 1.8vw, 20px);
    }

    body[data-page-type='home'] .catalog-hero--home-sales .catalog-hero-spotlight--feature-strip .catalog-hero-spotlight__copy,
    body[data-page-type='shop'] .catalog-hero--shop-sales .catalog-hero-spotlight--feature-strip .catalog-hero-spotlight__copy {
        gap: 6px;
        justify-items: start;
    }

    body[data-page-type='home'] .catalog-hero--home-sales .catalog-hero-spotlight--feature-strip .catalog-hero-spotlight__copy h2,
    body[data-page-type='shop'] .catalog-hero--shop-sales .catalog-hero-spotlight--feature-strip .catalog-hero-spotlight__copy h2 {
        min-height: 0;
        -webkit-line-clamp: 3;
        line-clamp: 3;
    }

    body[data-page-type='home'] .catalog-hero--home-sales .catalog-hero-spotlight--feature-strip .catalog-hero-spotlight__price-row,
    body[data-page-type='shop'] .catalog-hero--shop-sales .catalog-hero-spotlight--feature-strip .catalog-hero-spotlight__price-row {
        display: grid;
        grid-template-columns: 1fr;
        gap: var(--space-3, 12px);
        margin-top: 0;
        align-items: stretch;
        justify-content: start;
    }

    body[data-page-type='home'] .catalog-hero--home-sales .catalog-hero-spotlight--feature-strip .catalog-hero-spotlight__actions,
    body[data-page-type='shop'] .catalog-hero--shop-sales .catalog-hero-spotlight--feature-strip .catalog-hero-spotlight__actions {
        justify-content: stretch;
    }

    body[data-page-type='home'] .catalog-hero--home-sales .catalog-hero-spotlight--feature-strip .catalog-hero-spotlight__actions .btn,
    body[data-page-type='shop'] .catalog-hero--shop-sales .catalog-hero-spotlight--feature-strip .catalog-hero-spotlight__actions .btn {
        width: 100%;
        justify-content: center;
    }

    body[data-page-type='home'] .catalog-hero--home-sales .catalog-hero-spotlight--feature-strip .catalog-hero-spotlight__badge-row,
    body[data-page-type='shop'] .catalog-hero--shop-sales .catalog-hero-spotlight--feature-strip .catalog-hero-spotlight__badge-row {
        inset: 10px 10px auto 10px;
        gap: 6px;
    }

    body[data-page-type='home'] .catalog-hero--home-sales .catalog-hero-spotlight--feature-strip .catalog-hero-spotlight__badge-row .chip,
    body[data-page-type='shop'] .catalog-hero--shop-sales .catalog-hero-spotlight--feature-strip .catalog-hero-spotlight__badge-row .chip {
        min-height: 30px;
        padding: 0 9px;
        font-size: 0.68rem;
    }

    body[data-page-type='home'] .catalog-hero--home-sales .catalog-hero-spotlight--feature-strip .catalog-hero-spotlight__price strong,
    body[data-page-type='shop'] .catalog-hero--shop-sales .catalog-hero-spotlight--feature-strip .catalog-hero-spotlight__price strong {
        font-size: clamp(1.32rem, 1.05rem + 1.5vw, 1.82rem);
        line-height: 1.08;
    }


/* --- /shop герой: Material (нейтральная поверхность, панель метрик, чипы, spotlight) --- */

    body[data-page-type='shop']
        .catalog-hero.catalog-hero--shop-sales.catalog-hero--retail-shell.catalog-hero--material {
        position: relative;
        border-color: rgba(60, 64, 67, 0.14);
        background-color: #f4f8f6;
        background-image: linear-gradient(165deg, #f7faf8 0%, #eef3f1 52%, #f5f8f6 100%);
        box-shadow:
            0 1px 2px rgba(60, 64, 67, 0.12),
            0 1px 3px 1px rgba(60, 64, 67, 0.06);
    }

    body[data-page-type='shop']
        .catalog-hero.catalog-hero--shop-sales.catalog-hero--retail-shell.catalog-hero--material
        .catalog-hero__copy {
        max-width: min(32rem, 100%);
        gap: clamp(14px, 1.8vw, 22px);
    }

    body[data-page-type='shop']
        .catalog-hero.catalog-hero--shop-sales.catalog-hero--retail-shell.catalog-hero--material
        .catalog-hero__lede {
        display: grid;
        gap: clamp(10px, 1.4vw, 16px);
        align-content: start;
    }

    body[data-page-type='shop']
        .catalog-hero.catalog-hero--shop-sales.catalog-hero--retail-shell.catalog-hero--material
        .catalog-hero__lede
        h1 {
        margin: 0;
        max-width: min(18ch, 100%);
        font-weight: 600;
        letter-spacing: -0.026em;
        line-height: 1.1;
        font-size: clamp(1.55rem, 0.3rem + 3.8vw, 2.55rem);
        color: #1f1f1f;
    }

    body[data-page-type='shop']
        .catalog-hero.catalog-hero--shop-sales.catalog-hero--retail-shell.catalog-hero--material
        .catalog-hero__lede
        > p {
        margin: 0;
        max-width: min(38ch, 100%);
        font-size: clamp(0.92rem, 0.86rem + 0.35vw, 1.02rem);
        line-height: 1.55;
        color: rgba(60, 64, 67, 0.78);
    }

    body[data-page-type='shop']
        .catalog-hero.catalog-hero--shop-sales.catalog-hero--retail-shell.catalog-hero--material
        .hero-live-pill {
        gap: 8px;
        min-height: 36px;
        padding: 4px 14px 4px 10px;
        border-radius: 999px;
        border: 1px solid rgba(60, 64, 67, 0.14);
        background: #fff;
        box-shadow: none;
    }

    body[data-page-type='shop']
        .catalog-hero.catalog-hero--shop-sales.catalog-hero--retail-shell.catalog-hero--material
        .hero-live-pill__dot {
        width: 8px;
        height: 8px;
        background: #137a4a;
        box-shadow: 0 0 0 2px rgba(19, 122, 74, 0.2);
    }

    body[data-page-type='shop']
        .catalog-hero.catalog-hero--shop-sales.catalog-hero--retail-shell.catalog-hero--material
        .hero-live-pill__text {
        font-weight: 600;
        font-size: 0.7rem;
        letter-spacing: 0.06em;
        text-transform: uppercase;
        color: #3c4043;
    }

    body[data-page-type='shop']
        .catalog-hero.catalog-hero--shop-sales.catalog-hero--retail-shell.catalog-hero--material
        .catalog-hero__stats--shop-panel {
        max-width: 100%;
        padding: clamp(8px, 1vw, 12px);
        border-radius: 16px;
        border: 1px solid rgba(60, 64, 67, 0.12);
        background: #fff;
        box-shadow:
            0 1px 2px rgba(60, 64, 67, 0.06),
            0 1px 3px rgba(60, 64, 67, 0.04);
    }

    body[data-page-type='shop']
        .catalog-hero.catalog-hero--shop-sales.catalog-hero--retail-shell.catalog-hero--material
        .catalog-hero__stats--shop-panel
        article {
        padding: clamp(12px, 1.4vw, 16px) clamp(12px, 1.8vw, 18px);
        gap: 6px;
    }

    body[data-page-type='shop']
        .catalog-hero.catalog-hero--shop-sales.catalog-hero--retail-shell.catalog-hero--material
        .catalog-hero__stats--shop-panel
        article
        + article {
        border-left-color: rgba(60, 64, 67, 0.1);
        border-top-color: rgba(60, 64, 67, 0.1);
    }

    body[data-page-type='shop']
        .catalog-hero.catalog-hero--shop-sales.catalog-hero--retail-shell.catalog-hero--material
        .catalog-hero__stats--shop-panel
        strong {
        font-weight: 600;
        font-size: clamp(1.28rem, 1rem + 1.6vw, 1.85rem);
        color: #1f1f1f;
        line-height: 1.05;
    }

    body[data-page-type='shop']
        .catalog-hero.catalog-hero--shop-sales.catalog-hero--retail-shell.catalog-hero--material
        .catalog-hero__stats--shop-panel
        span {
        font-size: 0.8125rem;
        line-height: 1.35;
        color: rgba(60, 64, 67, 0.72);
    }

    body[data-page-type='shop']
        .catalog-hero.catalog-hero--shop-sales.catalog-hero--retail-shell.catalog-hero--material
        .catalog-chip-row {
        gap: 10px;
        padding-top: 2px;
    }

    body[data-page-type='shop']
        .catalog-hero.catalog-hero--shop-sales.catalog-hero--retail-shell.catalog-hero--material
        .catalog-chip {
        min-height: 44px;
        padding: 0 16px;
        border-radius: 999px;
        font-weight: 500;
        font-size: 0.9rem;
        border: 1px solid rgba(60, 64, 67, 0.18);
        background: #fff;
        color: #1f1f1f;
    }

    body[data-page-type='shop']
        .catalog-hero.catalog-hero--shop-sales.catalog-hero--retail-shell.catalog-hero--material
        .catalog-chip.is-active {
        background: rgba(15, 109, 75, 0.12);
        border-color: rgba(15, 109, 75, 0.38);
        color: #0b3d2c;
        font-weight: 600;
    }

    /* Material: карточка --feature-strip на главной и /shop (вертикальный блок) */
    .catalog-hero.catalog-hero--retail-shell.catalog-hero--material
        .catalog-hero-spotlight.catalog-hero-spotlight--feature-strip {
        border-radius: 20px;
        border: 1px solid rgba(60, 64, 67, 0.12);
        background: #fff;
        box-shadow:
            0 1px 2px rgba(60, 64, 67, 0.1),
            0 1px 3px 1px rgba(60, 64, 67, 0.05);
    }

    .catalog-hero.catalog-hero--retail-shell.catalog-hero--material
        .catalog-hero-spotlight--feature-strip
        .catalog-hero-spotlight__media-shell {
        align-self: stretch;
        min-height: 0;
        border-radius: 16px 16px 0 0;
        overflow: hidden;
    }

    .catalog-hero.catalog-hero--retail-shell.catalog-hero--material
        .catalog-hero-spotlight--feature-strip
        .catalog-hero-spotlight__media {
        width: 100%;
        height: auto;
        min-height: 0;
        flex: 0 0 auto;
        aspect-ratio: 16 / 10;
        border-radius: 0;
    }

    .catalog-hero.catalog-hero--retail-shell.catalog-hero--material
        .catalog-hero-spotlight--feature-strip
        .catalog-hero-spotlight__media img {
        object-position: center center;
    }

    .catalog-hero.catalog-hero--retail-shell.catalog-hero--material
        .catalog-hero-spotlight--feature-strip
        .chip--category {
        border-radius: 8px;
        font-weight: 600;
        font-size: 0.65rem;
        letter-spacing: 0.08em;
        color: #3c4043;
        border-color: rgba(60, 64, 67, 0.14);
        background: rgba(60, 64, 67, 0.05);
    }

    .catalog-hero.catalog-hero--retail-shell.catalog-hero--material
        .catalog-hero-spotlight--feature-strip
        .catalog-hero-spotlight__copy
        h2,
    .catalog-hero.catalog-hero--retail-shell.catalog-hero--material
        .catalog-hero-spotlight--feature-strip
        .catalog-hero-spotlight__copy
        h2
        a {
        font-weight: 600;
        letter-spacing: -0.02em;
        color: #1f1f1f;
    }

    .catalog-hero.catalog-hero--retail-shell.catalog-hero--material
        .catalog-hero-spotlight--feature-strip
        .catalog-hero-spotlight__copy
        p,
    .catalog-hero.catalog-hero--retail-shell.catalog-hero--material
        .catalog-hero-spotlight--feature-strip
        .catalog-hero-spotlight__copy
        p
        a {
        color: rgba(60, 64, 67, 0.78);
        font-size: 0.88rem;
    }

    .catalog-hero.catalog-hero--retail-shell.catalog-hero--material
        .catalog-hero-spotlight--feature-strip
        .catalog-hero-spotlight__price
        span {
        font-size: 0.875rem;
        color: rgba(60, 64, 67, 0.75);
    }

    .catalog-hero.catalog-hero--retail-shell.catalog-hero--material
        .catalog-hero-spotlight--feature-strip
        .catalog-hero-spotlight__price
        strong {
        font-size: clamp(1.4rem, 1.1rem + 1.4vw, 1.85rem);
        font-weight: 600;
        line-height: 1.1;
        color: #1f1f1f;
    }

    .catalog-hero.catalog-hero--retail-shell.catalog-hero--material
        .catalog-hero-spotlight--feature-strip
        .btn-primary,
    .catalog-hero.catalog-hero--retail-shell.catalog-hero--material
        .catalog-hero-spotlight--feature-strip
        .btn-ghost {
        border-radius: 20px;
        min-height: 44px;
        font-weight: 600;
    }

    .catalog-hero.catalog-hero--retail-shell.catalog-hero--material
        .catalog-hero-spotlight--feature-strip
        .catalog-hero-spotlight__actions {
        border-top: 1px solid rgba(60, 64, 67, 0.1);
        padding-top: 14px;
        margin-top: 2px;
    }

    .catalog-hero.catalog-hero--retail-shell.catalog-hero--material
        .catalog-hero-spotlight--feature-strip
        .catalog-hero-spotlight__body {
        padding: clamp(16px, 2vw, 22px);
        gap: 14px;
    }

    .catalog-hero.catalog-hero--retail-shell.catalog-hero--material
        .catalog-hero-spotlight--feature-strip
        .catalog-hero-spotlight__badge-row
        .chip {
        border-radius: 999px;
        font-weight: 600;
        font-size: 0.66rem;
        letter-spacing: 0.02em;
    }

    @media (min-width: 1024px) {
        body[data-page-type='home']
            .catalog-hero.catalog-hero--home-sales.catalog-hero--retail-shell.catalog-hero--material
            .catalog-hero__rail--slider,
        body[data-page-type='shop']
            .catalog-hero.catalog-hero--shop-sales.catalog-hero--retail-shell.catalog-hero--material
            .catalog-hero__rail--showcase {
            max-width: min(100%, 480px);
            justify-self: end;
            width: 100%;
        }
    }

    @media (max-width: 767px) {
        body[data-page-type='shop']
            .catalog-hero.catalog-hero--shop-sales.catalog-hero--retail-shell.catalog-hero--material {
            padding: clamp(14px, 4vw, 18px);
        }
    }


/* --- PDP: плотная сетка героя, «зона решения», альтернативные закупки --- */

    body[data-page-type='seo_product'] .catalog-item-hero {
        gap: clamp(12px, 1.8vw, 20px);
        padding: clamp(14px, 2vw, 22px);
        align-items: stretch;
    }

    @media (min-width: 1024px) {
        body[data-page-type='seo_product'] .catalog-item-hero {
            grid-template-columns: minmax(0, 1fr) minmax(280px, min(42vw, 440px));
        }
    }

    body[data-page-type='seo_product'] .catalog-item-hero__media {
        max-height: min(560px, 78vh);
        aspect-ratio: 4 / 5;
        align-self: start;
    }

    body[data-page-type='seo_product'] .catalog-item-hero__body {
        gap: 12px;
    }

    body[data-page-type='seo_product'] .catalog-item-hero__lead {
        display: grid;
        gap: 8px;
        min-width: 0;
    }

    body[data-page-type='seo_product'] .catalog-item-hero__meta {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: flex-start;
        gap: 8px 10px;
        min-width: 0;
    }

    /* Не даём блоку бейджей растягиваться на всю ширину — иначе «контекст» уезжает вправо с дырой посередине. */
    body[data-page-type='seo_product'] .catalog-item-hero__badges {
        justify-content: flex-start;
        flex: 0 1 auto;
        min-width: 0;
    }

    body[data-page-type='seo_product'] .catalog-item-hero__context {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        align-items: center;
        flex: 0 1 auto;
        min-width: 0;
    }

    body[data-page-type='seo_product'] .catalog-item-hero__lead h1 {
        font-size: clamp(1.32rem, 0.92rem + 2.1vw, 2.2rem);
        line-height: 1.12;
        margin: 2px 0 0;
    }

    body[data-page-type='seo_product'] .catalog-item-hero__commerce {
        display: grid;
        gap: var(--space-4, 16px);
        padding: var(--space-4, 16px);
        border-radius: var(--radius-sm, 16px);
        border: 1px solid var(--premium-border, rgba(15, 109, 75, 0.16));
        background: var(--premium-panel-soft, rgba(238, 250, 245, 0.92));
        box-shadow: var(--shadow-raise-1, 0 6px 14px rgba(7, 27, 20, 0.05));
        min-width: 0;
    }

    @media (min-width: 1024px) {
        body[data-page-type='seo_product'] .catalog-item-hero__commerce {
            padding: var(--space-5, 20px);
            gap: var(--space-5, 20px);
        }

        body[data-page-type='seo_product'] .catalog-item-hero__price .price-block__price {
            font-size: clamp(1.55rem, 1.2rem + 1.6vw, 2.05rem);
        }
    }

    @media (max-width: 767px) {
        body[data-page-type='seo_product'] .catalog-item-hero__commerce {
            gap: var(--space-3, 12px);
            padding: var(--space-4, 14px);
        }
    }

    body[data-page-type='seo_product'] .catalog-item-hero__stats--pdp {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
    }

    body[data-page-type='seo_product'] .catalog-item-hero__stats--pdp article {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
        justify-content: space-between;
        gap: 6px 10px;
        padding: 8px 12px;
        border-radius: 12px;
        background: rgba(255, 255, 255, 0.88);
        border: 1px solid rgba(15, 109, 75, 0.1);
    }

    body[data-page-type='seo_product'] .catalog-item-hero__stats--pdp span {
        font-size: 0.7rem;
        font-weight: 700;
        letter-spacing: 0.04em;
        text-transform: uppercase;
        color: rgba(7, 27, 20, 0.55);
    }

    body[data-page-type='seo_product'] .catalog-item-hero__stats--pdp strong {
        font-size: 0.92rem;
        font-weight: 800;
        line-height: 1.2;
        text-align: right;
    }

    @media (max-width: 479px) {
        body[data-page-type='seo_product'] .catalog-item-hero__stats--pdp {
            grid-template-columns: 1fr;
        }
    }

    body[data-page-type='seo_product'] .catalog-item-hero__actions {
        width: 100%;
        margin-top: 2px;
    }

    body[data-page-type='seo_product'] .catalog-item-hero__actions .catalog-product-card__cart-control {
        max-width: 100%;
    }

    body[data-page-type='seo_product'] .catalog-item-hero__params--pdp {
        padding: 12px 14px;
        margin-top: 2px;
        border-radius: 14px;
        border: 1px solid rgba(15, 109, 75, 0.1);
        background: rgba(255, 255, 255, 0.72);
    }

    body[data-page-type='seo_product'] .catalog-item-hero__params--pdp h2 {
        font-size: 0.78rem;
        font-weight: 800;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        color: rgba(7, 27, 20, 0.52);
        margin-bottom: 6px;
    }

    body[data-page-type='seo_product'] .pdp-spec-list {
        margin: 0;
        padding: 0;
        display: grid;
        gap: 0;
    }

    body[data-page-type='seo_product'] .pdp-spec-list__row {
        display: grid;
        grid-template-columns: minmax(6.5rem, 34%) minmax(0, 1fr);
        column-gap: 12px;
        align-items: baseline;
        padding: 10px 0;
        border-bottom: 1px solid var(--md-sys-color-outline-variant, rgba(15, 109, 75, 0.12));
    }

    body[data-page-type='seo_product'] .pdp-spec-list__row:last-child {
        border-bottom: 0;
        padding-bottom: 2px;
    }

    body[data-page-type='seo_product'] .pdp-spec-list__label {
        margin: 0;
        font-size: 0.8125rem;
        font-weight: 600;
        letter-spacing: 0.02em;
        color: rgba(60, 64, 67, 0.72);
    }

    body[data-page-type='seo_product'] .pdp-spec-list__value {
        margin: 0;
        font-size: 0.9375rem;
        font-weight: 700;
        line-height: 1.35;
        color: var(--md-sys-color-on-surface, #071b14);
        text-align: right;
        overflow-wrap: anywhere;
    }

    @media (max-width: 1023px) {
        body[data-page-type='seo_product'] .pdp-spec-list__row {
            grid-template-columns: 1fr;
            row-gap: 4px;
        }

        body[data-page-type='seo_product'] .pdp-spec-list__value {
            text-align: left;
        }
    }

    body[data-page-type='seo_product'] .catalog-item-hero__actions .btn-primary:focus-visible,
    body[data-page-type='seo_product'] .pdp-sticky-bar .btn-primary:focus-visible {
        outline: var(--fg-focus-ring-width) solid var(--fg-focus-ring-color);
        outline-offset: var(--fg-focus-offset-loose);
    }

    /* PDP: два блока внизу — без «дыр» от fit-content / max-width 360px */
    body[data-page-type='seo_product'] .catalog-item-followups {
        align-items: stretch;
        gap: var(--space-4, 16px);
    }

    @media (min-width: 1024px) {
        body[data-page-type='seo_product'] .catalog-item-followups {
            grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
            gap: var(--space-5, 20px);
        }
    }

    body[data-page-type='seo_product'] .catalog-item-followups > .catalog-section {
        display: flex;
        flex-direction: column;
        min-width: 0;
        min-height: 0;
        padding: clamp(14px, 1.8vw, 22px);
        gap: 12px;
    }

    body[data-page-type='seo_product'] .catalog-item-followups .catalog-section__head {
        flex: 0 0 auto;
        padding-bottom: 8px;
        margin-bottom: 0;
    }

    body[data-page-type='seo_product'] .catalog-item-followups .catalog-compact-grid,
    body[data-page-type='seo_product'] .catalog-item-followups .catalog-compact-grid--collections {
        flex: 1 1 auto;
        width: 100%;
        max-width: 100%;
        justify-content: stretch;
        justify-items: stretch;
        align-items: stretch;
    }

    body[data-page-type='seo_product'] .catalog-item-followups .catalog-compact-grid[data-count='1'],
    body[data-page-type='seo_product'] .catalog-item-followups .catalog-compact-grid--collections[data-count='1'] {
        grid-template-columns: minmax(0, 1fr);
    }

    /* Одна похожая позиция: секция не «прилипает» влево в широкой карточке (portal: compact-1 + margin-right: auto). */
    body[data-page-type='seo_product'] .catalog-item-page .catalog-section--compact-1:has(.catalog-compact-grid[data-count='1']),
    body[data-page-type='seo_product'] .catalog-item-followups .catalog-section--compact-1:has(.catalog-compact-grid[data-count='1']) {
        margin-left: auto;
        margin-right: auto;
        max-width: min(100%, 460px);
    }

    body[data-page-type='seo_product'] .catalog-item-page .catalog-section--compact-1:has(.catalog-compact-grid--collections[data-count='1']),
    body[data-page-type='seo_product'] .catalog-item-followups .catalog-section--compact-1:has(.catalog-compact-grid--collections[data-count='1']) {
        margin-left: auto;
        margin-right: auto;
        max-width: min(100%, 460px);
    }

    body[data-page-type='seo_product'] .catalog-item-page .catalog-section--compact-1 .catalog-compact-grid[data-count='1'],
    body[data-page-type='seo_product'] .catalog-item-followups .catalog-section--compact-1 .catalog-compact-grid[data-count='1'],
    body[data-page-type='seo_product'] .catalog-item-page .catalog-section--compact-1 .catalog-compact-grid--collections[data-count='1'],
    body[data-page-type='seo_product'] .catalog-item-followups .catalog-section--compact-1 .catalog-compact-grid--collections[data-count='1'] {
        width: 100%;
        max-width: 100%;
        justify-items: stretch;
    }

    body[data-page-type='seo_product'] .catalog-item-followups .catalog-compact-grid[data-count='2'] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        max-width: 100%;
    }

    body[data-page-type='seo_product'] .catalog-item-followups .catalog-products-grid {
        width: 100%;
        max-width: 100%;
    }

    body[data-page-type='seo_product'] .catalog-item-followups .catalog-product-card {
        height: 100%;
    }

    body[data-page-type='seo_product'] .catalog-item-followups .catalog-collection-card--compact {
        max-width: none;
        width: 100%;
        align-self: stretch;
        min-height: 100%;
        grid-template-rows: auto 1fr;
    }

    body[data-page-type='seo_product'] .catalog-item-followups .catalog-collection-card--compact.catalog-collection-card--no-media {
        grid-template-rows: 1fr auto;
    }

    body[data-page-type='seo_product'] .catalog-item-followups .catalog-collection-card--compact .catalog-collection-card__body {
        flex: 1;
        min-height: 0;
    }

    body[data-page-type='seo_product'] .catalog-item-followups .catalog-collection-card--compact .catalog-collection-card__foot {
        margin-top: auto;
    }

    body[data-page-type='seo_product'] .catalog-item-offers-grid {
        gap: var(--space-4, 16px);
    }

    body[data-page-type='seo_product'] .catalog-item-offers-grid--single {
        justify-items: stretch;
        max-width: min(100%, 720px);
    }

    body[data-page-type='seo_product'] .catalog-item-offer-card {
        gap: var(--space-3, 12px);
        padding: 14px 16px;
        border-radius: 18px;
    }

    body[data-page-type='seo_product'] .catalog-item-offer-card__kv {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px 12px;
    }

    body[data-page-type='seo_product'] .catalog-item-offer-card__kv-set {
        padding: 8px 0;
        border-bottom-color: rgba(60, 64, 67, 0.12);
    }

    body[data-page-type='seo_product'] .catalog-item-offer-card__kv-value {
        font-size: 0.9rem;
    }

    body[data-page-type='seo_product'] .catalog-item-offer-card__actions {
        gap: var(--space-3, 10px);
        align-items: stretch;
    }

    body[data-page-type='seo_product'] .catalog-item-offer-card__actions > .btn.btn-secondary {
        text-align: center;
    }

    @media (max-width: 767px) {
        body[data-page-type='seo_product'] .catalog-item-offer-card__kv {
            grid-template-columns: 1fr;
        }

        body[data-page-type='seo_product'] .catalog-item-offer-card__actions {
            flex-direction: column;
        }

        body[data-page-type='seo_product'] .catalog-item-offer-card__actions > .btn,
        body[data-page-type='seo_product'] .catalog-item-offer-card__actions > .catalog-product-card__cart-control {
            flex: 1 1 auto;
            width: 100%;
        }
    }


/*
 * --- Шапка (мобилка): WebKit / iOS ---
 * backdrop-filter на .site-header-v3 + box-shadow на .logo-mark svg даёт «белое пятно»
 * поверх логотипа. Убираем blur шапки ≤1023px, изолируем марку, смягчаем тень.
 */

    @media (max-width: 1023px) {
        .site-header-v3 {
            -webkit-backdrop-filter: none;
            backdrop-filter: none;
            background: rgba(250, 253, 251, 0.98);
        }

        .site-header-v3 .header-inner-v3 {
            gap: 8px;
        }

        /* Лого не забирает flex-место у кнопки «Меню» (иначе overflow-x клипает её). */
        .site-header-v3 .logo {
            position: relative;
            z-index: 1;
            isolation: isolate;
            flex: 1 1 0;
            min-width: 0;
        }

        .site-header-v3 .nav-toggle,
        .site-header-v3 .header-actions-v3 {
            flex-shrink: 0;
        }

        .site-header-v3 .logo-mark {
            isolation: isolate;
        }

        .site-header-v3 .logo-mark svg {
            box-shadow: 0 3px 10px rgba(15, 109, 75, 0.12);
        }
    }

/*
 * --- Шапка: тач 44px и баланс ширины «Корзина» / «Кабинет» ---
 */
.site-header-v3 .header-cart-btn.header-action-btn,
.site-header-v3 .header-account-btn.header-action-btn {
    min-height: var(--fg-touch-target-min, 44px);
    min-width: 44px;
    padding-left: 12px;
    padding-right: 12px;
    box-sizing: border-box;
    justify-content: center;
}

.site-header-v3 .header-actions-v3:not(.header-actions-v3--storefront) .header-cart-btn,
.site-header-v3 .header-actions-v3:not(.header-actions-v3--storefront) .header-account-btn {
    flex: 1 1 0;
    max-width: 11.5rem;
}

/*
 * --- Полоса «Каналы и анонсы»: нейтральная поверхность, ровные карточки ---
 * Без «полоски»: один мягкий контур, без наслоения elevation + inset/border.
 */
.social-strip__inner {
    background: var(--md-sys-color-surface, #f4f7f5);
    background-image: none;
    border: 1px solid rgba(60, 64, 67, 0.1);
    box-shadow: none;
    align-items: start;
}

.social-strip__links {
    align-self: stretch;
}

.social-strip__link {
    min-height: var(--fg-touch-target-min, 44px);
    background: var(--md-sys-color-surface-container, #fff);
    box-shadow: none;
    align-items: center;
}

.social-strip__copy-body strong {
    font-weight: 600;
}

@media (max-width: 1023px) {
    .social-strip__inner {
        grid-template-columns: 1fr;
        gap: 14px;
        padding: 16px 18px;
    }

    .social-strip__links {
        align-items: stretch;
    }
}

@media (max-width: 479px) {
    .social-strip__links {
        grid-template-columns: 1fr;
    }
}

/* Герой главная / витрина: меньше пустоты между колонками копирайта и spotlight */
@media (min-width: 1024px) {
    body[data-page-type='home'] .catalog-hero.catalog-hero--home-sales.catalog-hero--retail-shell {
        grid-template-columns: minmax(0, 1.02fr) minmax(300px, 0.98fr);
        gap: clamp(14px, 1.6vw, 22px);
    }

    body[data-page-type='shop'] .catalog-hero.catalog-hero--shop-sales.catalog-hero--retail-shell {
        grid-template-columns: minmax(0, 1.08fr) minmax(280px, 0.92fr);
        gap: clamp(12px, 1.5vw, 18px);
    }

    body[data-page-type='home'] .catalog-hero.catalog-hero--home-sales.catalog-hero--retail-shell.catalog-hero--material {
        gap: clamp(14px, 1.5vw, 20px);
    }

    body[data-page-type='shop'] .catalog-hero.catalog-hero--shop-sales.catalog-hero--retail-shell.catalog-hero--material {
        gap: clamp(12px, 1.5vw, 18px);
    }

    .site-header-v3 .site-nav-primary > a[aria-current='page'] {
        color: var(--md-sys-color-primary, #0f6d4b);
        font-weight: 600;
        background: rgba(15, 109, 75, 0.1);
        border-radius: 999px;
        box-shadow: none;
    }

    .site-header-v3 .site-nav-primary > a[aria-current='page']::after {
        opacity: 0;
        transform: scaleX(0);
    }
}


/* --- Закупка: компактный верх (меньше «воздуха» под шапкой и в hero) --- */

    body[data-page-type='shop_purchase'] .catalog-purchase-page {
        gap: clamp(12px, 1.6vw, 18px);
        padding: clamp(10px, 1.5vw, 16px) clamp(14px, 2vw, 24px) clamp(14px, 2vw, 24px);
    }

    body[data-page-type='shop_purchase'] .catalog-purchase-main {
        gap: clamp(12px, 1.6vw, 20px);
    }

    body[data-page-type='shop_purchase'] .catalog-hero--purchase-stage {
        gap: var(--space-3, 10px);
        padding: clamp(12px, 1.6vw, 18px);
        border-radius: var(--radius-sm, 18px);
    }

    body[data-page-type='shop_purchase'] .catalog-hero--purchase-stage .catalog-hero__copy {
        gap: 6px;
    }

    body[data-page-type='shop_purchase'] .catalog-hero--purchase-stage .catalog-hero__copy--purchase h1 {
        font-size: clamp(1.45rem, 1.05rem + 2vw, 2.1rem);
        line-height: 1.12;
        letter-spacing: -0.01em;
        max-width: none;
    }

    body[data-page-type='shop_purchase'] .catalog-hero--purchase-stage .catalog-hero__copy--purchase p {
        font-size: 0.92rem;
        line-height: 1.45;
    }

    body[data-page-type='shop_purchase'] .catalog-section--purchase-catalog {
        padding: clamp(12px, 1.5vw, 18px);
        gap: 12px;
    }

    body[data-page-type='shop_purchase'] .catalog-purchase-tools__intro {
        gap: 6px;
    }

    body[data-page-type='shop_purchase'] .catalog-purchase-tools__headline {
        gap: 8px;
    }

/* Закупка: поиск + сорт + чипы на узкой ширине — min-width 0, скролл чипов, тач 44px */
@media (max-width: 767px) {
    body[data-page-type='shop_purchase'] .catalog-purchase-page,
    body[data-page-type='shop_purchase'] .catalog-section--purchase-catalog,
    body[data-page-type='shop_purchase'] .catalog-purchase-controls,
    body[data-page-type='shop_purchase'] .catalog-section__toolbar--shop {
        min-width: 0;
    }

    body[data-page-type='shop_purchase'] .catalog-purchase-controls .catalog-toolbar--purchase-inline.catalog-toolbar--shop-inline {
        grid-template-columns: 1fr;
        gap: 10px;
        width: 100%;
    }

    body[data-page-type='shop_purchase'] .catalog-toolbar--shop-inline .catalog-select,
    body[data-page-type='shop_purchase'] .catalog-toolbar--shop-inline .catalog-select select {
        width: 100%;
        min-width: 0;
        min-height: var(--fg-touch-target-min, 44px);
    }

    body[data-page-type='shop_purchase'] .catalog-toolbar--shop-inline .purchase-search-field input[type='search'] {
        min-height: var(--fg-touch-target-min, 44px);
    }

    body[data-page-type='shop_purchase'] .catalog-purchase-tools__filters .catalog-category-strip--filters {
        overscroll-behavior-x: contain;
        flex-wrap: nowrap;
        gap: 10px;
        padding-block: 4px 8px;
        margin-inline: 0;
    }

    body[data-page-type='shop_purchase'] .catalog-purchase-tools__filters .catalog-chip {
        min-height: var(--fg-touch-target-min, 44px);
        padding-inline: 14px;
        flex: 0 0 auto;
    }
}


/* --- Главная: герой и первичные CTA --- */

    body[data-page-type='home'] .catalog-hero--home-sales .catalog-hero__actions--pair {
        gap: var(--space-4, 16px);
    }

    body[data-page-type='home'] .catalog-hero--home-sales .btn--lg {
        min-height: 48px;
    }

    @media (min-width: 768px) {
        body[data-page-type='home'] .catalog-hero--home-sales .catalog-hero__actions--pair {
            flex-wrap: nowrap;
        }
    }


/* --- Главная: единый ритм отступов (герой + белые блоки секций) --- */

    body[data-page-type='home'] {
        --fg-home-card-pad: clamp(16px, 2.2vw, 24px);
    }

    /* Секция героя: тот же вертикальный ритм, что у остальных .section (см. styles.css .section-home-hero вверху файла). */
    body[data-page-type='home'] .section-home-hero {
        padding-top: var(--space-section);
        padding-bottom: var(--space-section);
    }

    /* Одинаковые внутренние поля у карточки героя и catalog-section — совпадает левый край текста и «коробки». */
    body[data-page-type='home'] .catalog-hero.catalog-hero--retail-shell.catalog-hero--home-sales,
    body[data-page-type='home'] .home-page .section .container > .catalog-section {
        padding: var(--fg-home-card-pad);
    }

    body[data-page-type='home'] .home-page .section .container > .catalog-section {
        gap: var(--space-4, 16px);
    }

    body[data-page-type='home'] .catalog-hero--retail-shell.catalog-hero--home-sales .catalog-hero__copy {
        gap: var(--space-4, 16px);
    }

    body[data-page-type='home'] .catalog-hero--retail-shell.catalog-hero--home-sales .catalog-hero__actions--pair {
        margin-top: 0;
    }

    body[data-page-type='home'] .home-page .section .container > .catalog-section .catalog-section__head {
        padding-bottom: var(--space-3, 12px);
    }

    body[data-page-type='home'] .catalog-section--home-contacts .catalog-section__head > div:first-child {
        display: grid;
        gap: var(--space-3, 12px);
    }

    body[data-page-type='home'] .catalog-section--home-contacts .catalog-section__head p {
        margin: 0;
    }


/* --- Главная: карточка в слайдере героя (чище сетка, без «разъезда» цены и кнопки) --- */

    @media (min-width: 1024px) {
        body[data-page-type='home'] .catalog-hero.catalog-hero--retail-shell.catalog-hero--home-sales {
            gap: clamp(14px, 1.8vw, 22px);
            grid-template-columns: minmax(0, 1.05fr) minmax(280px, 0.95fr);
        }
    }

    @media (min-width: 1024px) {
        body[data-page-type='home'] .catalog-hero--retail-shell.catalog-hero--home-sales .catalog-hero-spotlight:not(.catalog-hero-spotlight--feature-strip) {
            grid-template-columns: minmax(150px, 40%) minmax(0, 1fr);
        }
    }


/* --- Главная герой: «Material» / продуктовый Google‑ритм (нейтральная поверхность, без декоративных градиентов) --- */

    body[data-page-type='home'] .catalog-hero.catalog-hero--home-sales.catalog-hero--retail-shell.catalog-hero--material {
        position: relative;
        border-color: rgba(60, 64, 67, 0.14);
        background-color: #f8faf9;
        background-image: linear-gradient(180deg, #fbfcfb 0%, #f4f7f5 100%);
        box-shadow:
            0 1px 2px rgba(60, 64, 67, 0.12),
            0 1px 3px 1px rgba(60, 64, 67, 0.06);
    }

    body[data-page-type='home']
        .catalog-hero.catalog-hero--home-sales.catalog-hero--retail-shell.catalog-hero--material
        .catalog-hero__copy {
        max-width: min(32rem, 100%);
        gap: clamp(12px, 1.6vw, 18px);
    }

    body[data-page-type='home']
        .catalog-hero.catalog-hero--home-sales.catalog-hero--retail-shell.catalog-hero--material
        .catalog-hero__lede
        h1 {
        margin: 0;
        max-width: min(18ch, 100%);
        font-weight: 600;
        letter-spacing: -0.028em;
        line-height: 1.12;
        font-size: clamp(1.65rem, 0.35rem + 4.2vw, 2.65rem);
        color: #1f1f1f;
    }

    body[data-page-type='home']
        .catalog-hero.catalog-hero--home-sales.catalog-hero--retail-shell.catalog-hero--material
        .catalog-hero__lede
        > p {
        margin: 0;
        max-width: min(38ch, 100%);
        font-size: clamp(0.94rem, 0.88rem + 0.35vw, 1.05rem);
        line-height: 1.55;
        color: rgba(60, 64, 67, 0.78);
    }

    body[data-page-type='home']
        .catalog-hero.catalog-hero--home-sales.catalog-hero--retail-shell.catalog-hero--material
        .hero-live-pill {
        gap: 8px;
        min-height: 36px;
        padding: 4px 14px 4px 10px;
        border-radius: 999px;
        border: 1px solid rgba(60, 64, 67, 0.14);
        background: #fff;
        box-shadow: none;
    }

    body[data-page-type='home']
        .catalog-hero.catalog-hero--home-sales.catalog-hero--retail-shell.catalog-hero--material
        .hero-live-pill__dot {
        width: 8px;
        height: 8px;
        background: #137a4a;
        box-shadow: 0 0 0 2px rgba(19, 122, 74, 0.2);
    }

    body[data-page-type='home']
        .catalog-hero.catalog-hero--home-sales.catalog-hero--retail-shell.catalog-hero--material
        .hero-live-pill__text {
        font-weight: 600;
        font-size: 0.7rem;
        letter-spacing: 0.06em;
        text-transform: uppercase;
        color: #3c4043;
    }

    body[data-page-type='home']
        .catalog-hero.catalog-hero--home-sales.catalog-hero--retail-shell.catalog-hero--material
        .catalog-hero__actions--pair {
        margin-top: clamp(4px, 0.8vw, 10px);
        gap: 12px;
    }

    body[data-page-type='home']
        .catalog-hero.catalog-hero--home-sales.catalog-hero--retail-shell.catalog-hero--material
        .catalog-hero__actions--pair
        .btn--lg {
        min-height: 48px;
        padding-inline: 22px;
        border-radius: 24px;
        font-weight: 600;
    }

    body[data-page-type='home']
        .catalog-hero.catalog-hero--home-sales.catalog-hero--retail-shell.catalog-hero--material
        .catalog-hero__actions--pair
        .btn-ghost {
        border: 1px solid rgba(60, 64, 67, 0.22);
        background: #fff;
        color: #1f1f1f;
    }

    body[data-page-type='home']
        .catalog-hero.catalog-hero--home-sales.catalog-hero--retail-shell.catalog-hero--material
        .catalog-hero__actions--pair
        .btn-ghost:hover,
    body[data-page-type='home']
        .catalog-hero.catalog-hero--home-sales.catalog-hero--retail-shell.catalog-hero--material
        .catalog-hero__actions--pair
        .btn-ghost:focus-visible {
        background: rgba(60, 64, 67, 0.04);
    }

    body[data-page-type='home']
        .catalog-hero.catalog-hero--home-sales.catalog-hero--retail-shell.catalog-hero--material
        .catalog-hero-spotlight {
        border-radius: 20px;
        border: 1px solid rgba(60, 64, 67, 0.12);
        background: #fff;
        box-shadow:
            0 1px 2px rgba(60, 64, 67, 0.1),
            0 1px 3px 1px rgba(60, 64, 67, 0.05);
    }

    body[data-page-type='home']
        .catalog-hero.catalog-hero--home-sales.catalog-hero--retail-shell.catalog-hero--material
        .catalog-hero-spotlight
        .catalog-hero-spotlight__media-shell {
        border-radius: 16px;
        overflow: hidden;
    }

    body[data-page-type='home']
        .catalog-hero.catalog-hero--home-sales.catalog-hero--retail-shell.catalog-hero--material
        .catalog-hero-spotlight
        .catalog-hero-spotlight__media {
        border-radius: 16px;
    }

    body[data-page-type='home']
        .catalog-hero.catalog-hero--home-sales.catalog-hero--retail-shell.catalog-hero--material
        .catalog-hero-spotlight
        .chip--category {
        border-radius: 8px;
        font-weight: 600;
        font-size: 0.65rem;
        letter-spacing: 0.08em;
        color: #3c4043;
        border-color: rgba(60, 64, 67, 0.14);
        background: rgba(60, 64, 67, 0.05);
    }

    body[data-page-type='home']
        .catalog-hero.catalog-hero--home-sales.catalog-hero--retail-shell.catalog-hero--material
        .catalog-hero-spotlight
        .catalog-hero-spotlight__copy
        h2,
    body[data-page-type='home']
        .catalog-hero.catalog-hero--home-sales.catalog-hero--retail-shell.catalog-hero--material
        .catalog-hero-spotlight
        .catalog-hero-spotlight__copy
        h2
        a {
        font-weight: 600;
        letter-spacing: -0.02em;
        color: #1f1f1f;
    }

    body[data-page-type='home']
        .catalog-hero.catalog-hero--home-sales.catalog-hero--retail-shell.catalog-hero--material
        .catalog-hero-spotlight
        .catalog-hero-spotlight__copy
        p,
    body[data-page-type='home']
        .catalog-hero.catalog-hero--home-sales.catalog-hero--retail-shell.catalog-hero--material
        .catalog-hero-spotlight
        .catalog-hero-spotlight__copy
        p
        a {
        color: rgba(60, 64, 67, 0.78);
        font-size: 0.88rem;
    }

    body[data-page-type='home']
        .catalog-hero.catalog-hero--home-sales.catalog-hero--retail-shell.catalog-hero--material
        .catalog-hero-spotlight
        .catalog-hero-spotlight__price
        span {
        font-size: 0.875rem;
        color: rgba(60, 64, 67, 0.75);
    }

    body[data-page-type='home']
        .catalog-hero.catalog-hero--home-sales.catalog-hero--retail-shell.catalog-hero--material
        .catalog-hero-spotlight
        .catalog-hero-spotlight__price
        strong {
        font-size: clamp(1.4rem, 1.1rem + 1.4vw, 1.85rem);
        font-weight: 600;
        line-height: 1.1;
        color: #1f1f1f;
    }

    body[data-page-type='home']
        .catalog-hero.catalog-hero--home-sales.catalog-hero--retail-shell.catalog-hero--material
        .catalog-hero-spotlight
        .btn-primary,
    body[data-page-type='home']
        .catalog-hero.catalog-hero--home-sales.catalog-hero--retail-shell.catalog-hero--material
        .catalog-hero-spotlight
        .btn-ghost {
        border-radius: 20px;
        min-height: 44px;
        font-weight: 600;
    }

    body[data-page-type='home']
        .catalog-hero.catalog-hero--home-sales.catalog-hero--retail-shell.catalog-hero--material
        .catalog-hero-spotlight
        .catalog-hero-spotlight__actions {
        border-top: 1px solid rgba(60, 64, 67, 0.1);
        padding-top: 14px;
        margin-top: 2px;
    }

    body[data-page-type='home']
        .catalog-hero.catalog-hero--home-sales.catalog-hero--retail-shell.catalog-hero--material
        .catalog-hero-spotlight
        .catalog-hero-spotlight__body {
        padding: clamp(16px, 2vw, 22px);
        gap: 14px;
    }

    body[data-page-type='home']
        .catalog-hero.catalog-hero--home-sales.catalog-hero--retail-shell.catalog-hero--material
        .catalog-hero-spotlight
        .catalog-hero-spotlight__badge-row
        .chip {
        border-radius: 999px;
        font-weight: 600;
        font-size: 0.66rem;
        letter-spacing: 0.02em;
    }

    body[data-page-type='home']
        .catalog-hero.catalog-hero--home-sales.catalog-hero--retail-shell.catalog-hero--material
        .catalog-hero-slider__indicators {
        margin-top: 12px;
        padding: 8px 16px;
        width: fit-content;
        max-width: 100%;
        margin-left: auto;
        margin-right: auto;
        border-radius: 999px;
        background: rgba(60, 64, 67, 0.06);
        gap: 8px;
    }

    body[data-page-type='home']
        .catalog-hero.catalog-hero--home-sales.catalog-hero--retail-shell.catalog-hero--material
        .catalog-hero-slider__dot::before {
        width: 6px;
        height: 6px;
        background: rgba(60, 64, 67, 0.28);
        border-color: rgba(60, 64, 67, 0.12);
    }

    body[data-page-type='home']
        .catalog-hero.catalog-hero--home-sales.catalog-hero--retail-shell.catalog-hero--material
        .catalog-hero-slider__toggle:nth-of-type(1):checked
        ~ .catalog-hero-slider__indicators
        .catalog-hero-slider__dot:nth-of-type(1)::before,
    body[data-page-type='home']
        .catalog-hero.catalog-hero--home-sales.catalog-hero--retail-shell.catalog-hero--material
        .catalog-hero-slider__toggle:nth-of-type(2):checked
        ~ .catalog-hero-slider__indicators
        .catalog-hero-slider__dot:nth-of-type(2)::before,
    body[data-page-type='home']
        .catalog-hero.catalog-hero--home-sales.catalog-hero--retail-shell.catalog-hero--material
        .catalog-hero-slider__toggle:nth-of-type(3):checked
        ~ .catalog-hero-slider__indicators
        .catalog-hero-slider__dot:nth-of-type(3)::before {
        width: 24px;
        height: 8px;
        border-radius: 999px;
        background: #0f6d4b;
        border-color: rgba(15, 109, 75, 0.35);
        box-shadow: none;
        opacity: 1;
    }

    @media (min-width: 1024px) {
        body[data-page-type='home']
            .catalog-hero.catalog-hero--home-sales.catalog-hero--retail-shell.catalog-hero--material
            .catalog-hero__rail--slider {
            max-width: min(100%, 520px);
            justify-self: end;
            width: 100%;
        }
    }

    @media (max-width: 767px) {
        body[data-page-type='home'] .catalog-hero.catalog-hero--home-sales.catalog-hero--retail-shell.catalog-hero--material {
            padding: clamp(14px, 4vw, 18px);
        }

        body[data-page-type='home']
            .catalog-hero.catalog-hero--home-sales.catalog-hero--retail-shell.catalog-hero--material
            .catalog-hero__actions--pair
            .btn--lg {
            width: 100%;
            justify-content: center;
        }
    }


/* --- Галерея --- */

    body[data-page-type='gallery'] .plant-gallery-grid {
        gap: var(--space-5, 24px);
    }

    @media (min-width: 768px) {
        body[data-page-type='gallery'] .plant-gallery-grid {
            gap: var(--space-6, 32px);
        }
    }

    body[data-page-type='gallery'] .gallery-page-primary-actions .btn-primary:focus-visible {
        outline: var(--fg-focus-ring-width) solid var(--fg-focus-ring-color);
        outline-offset: var(--fg-focus-offset-loose);
    }


/* --- Опт: страница /wholesale и блок на главной (#contacts) --- */

    body[data-page-type='wholesale'] .wholesale-page-content .catalog-home-contacts-shell {
        border-radius: var(--radius-sm, 18px);
        border: 1px solid var(--premium-border, rgba(15, 109, 75, 0.16));
        background: var(--surface-premium-sheet, var(--premium-panel-soft, rgba(238, 250, 245, 0.88)));
        padding: var(--space-5, 24px);
        box-shadow: var(--shadow-raise-1, 0 8px 16px rgba(7, 27, 20, 0.06));
    }

    /* Главная: без второй «оболочки» — отступы как у остальных catalog-section (portal) */
    body[data-page-type='home'] #contacts .catalog-home-contacts-shell {
        border: none;
        background: transparent;
        padding: 0;
        box-shadow: none;
        border-radius: 0;
    }

    @media (min-width: 1024px) {
        body[data-page-type='wholesale'] .wholesale-page-content .catalog-home-contacts-shell {
            padding: var(--space-6, 32px);
        }
    }

    body[data-page-type='wholesale'] .wholesale-page-card input:focus-visible,
    body[data-page-type='wholesale'] .wholesale-page-card textarea:focus-visible,
    body[data-page-type='wholesale'] .wholesale-page-card select:focus-visible,
    body[data-page-type='wholesale'] .wholesale-page-card .btn:focus-visible {
        outline: var(--fg-focus-ring-width) solid var(--fg-focus-ring-color);
        outline-offset: var(--fg-focus-offset-tight);
    }

    body[data-page-type='home'] #contacts .catalog-home-contacts-shell input:focus-visible,
    body[data-page-type='home'] #contacts .catalog-home-contacts-shell textarea:focus-visible,
    body[data-page-type='home'] #contacts .catalog-home-contacts-shell select:focus-visible,
    body[data-page-type='home'] #contacts .catalog-home-contacts-shell .btn:focus-visible {
        outline: var(--fg-focus-ring-width) solid var(--fg-focus-ring-color);
        outline-offset: var(--fg-focus-offset-tight);
    }


/* --- Мобилка: форма опта/контакты, блок карты, футер-аккордеон, жест по герою --- */

    @media (max-width: 767px) {
        [data-share-form] .consent {
            align-items: start;
            gap: 12px;
            padding: 12px 14px;
        }

        [data-share-form] .consent > span {
            display: block;
            min-width: 0;
            line-height: 1.45;
        }

        [data-share-form] .consent a {
            display: inline;
            width: auto;
            padding: 0;
            border-radius: 0;
            border: none;
            border-bottom: 1px solid rgba(15, 109, 75, 0.3);
            background: none;
            font-weight: 700;
            line-height: 1.45;
        }

        [data-share-form] .consent a:hover,
        [data-share-form] .consent a:focus-visible {
            background: none;
        }

        [data-share-form] .consent input[type='checkbox'] {
            width: 22px;
            height: 22px;
            margin-top: 2px;
        }

        .catalog-home-contacts-links {
            grid-template-columns: 1fr;
        }

        .catalog-home-contacts-link {
            min-height: 0;
        }

        /* Кикер без «гигантской таблетки» и без обрыва посередине строки */
        .catalog-home-contacts-side-head .section-kicker {
            display: flex;
            width: 100%;
            max-width: 100%;
            margin: 0 0 8px;
            min-height: 0;
            padding: 6px 12px;
            letter-spacing: 0.07em;
            font-size: 0.68rem;
            line-height: 1.25;
            white-space: normal;
            align-items: center;
        }

        .catalog-home-delivery-services__list {
            flex-direction: column;
            align-items: stretch;
        }

        .catalog-home-delivery-service {
            width: 100%;
            box-sizing: border-box;
            justify-content: flex-start;
        }

        .footer-column:not(.footer-brand) {
            padding: 10px 12px;
            gap: 8px;
            border-radius: 14px;
        }

        .footer-title--toggle {
            min-height: 44px;
            padding: 8px 4px;
        }
    }

    body[data-page-type='home'] .catalog-hero-slider__viewport {
        cursor: grab;
    }

    body[data-page-type='home'] .catalog-hero-slider__viewport:active {
        cursor: grabbing;
    }


/* --- Юридические страницы: печать --- */
@media print {
    body[data-page-type^='legal_'] .site-header,
    body[data-page-type^='legal_'] .social-strip,
    body[data-page-type^='legal_'] .footer,
    body[data-page-type^='legal_'] .cookie-banner,
    body[data-page-type^='legal_'] .page-loader,
    body[data-page-type^='legal_'] .toast,
    body[data-page-type^='legal_'] .portal-toast,
    body[data-page-type^='legal_'] .pdp-sticky-bar {
        display: none !important;
    }

    body[data-page-type^='legal_'] #main {
        background: #fff !important;
    }

    body[data-page-type^='legal_'] .legal-main,
    body[data-page-type^='legal_'] .legal-shell {
        box-shadow: none !important;
        max-width: 100% !important;
    }

    body[data-page-type='wholesale'] .site-header,
    body[data-page-type='wholesale'] .social-strip,
    body[data-page-type='wholesale'] .footer,
    body[data-page-type='wholesale'] .cookie-banner,
    body[data-page-type='wholesale'] .page-loader,
    body[data-page-type='wholesale'] .toast,
    body[data-page-type='wholesale'] .portal-toast {
        display: none !important;
    }

    body[data-page-type='wholesale'] #main {
        background: #fff !important;
    }
}

/* --- Сквозной фокус (a11y) --- */

    :where(
            .btn,
            .btn-primary,
            .btn-secondary,
            .btn-ghost,
            .nav-toggle,
            .nav-close,
            .catalog-product-card__stepper-btn,
            .purchase-search-clear
        ):focus-visible {
        outline: var(--fg-focus-ring-width) solid var(--fg-focus-ring-color);
        outline-offset: var(--fg-focus-offset-loose);
    }


/* --- Каталог: пустые и недоступные состояния --- */

    body[data-page-type='shop'] .catalog-state-card {
        padding: var(--space-6, 32px);
        border-radius: var(--radius-sm, 18px);
        gap: var(--space-5, 24px);
    }

    body[data-page-type='shop'] .catalog-state-actions {
        gap: var(--space-4, 16px);
        flex-wrap: wrap;
    }

    body[data-page-type='shop'] .catalog-state-actions .btn {
        min-height: var(--fg-touch-target-min);
    }


/* --- Каталог и закупка: тулбар на узких экранах --- */

    body[data-page-type='shop'] .catalog-toolbar--shop-inline,
    body[data-page-type='shop'] .catalog-toolbar,
    body[data-page-type='shop_purchase'] .catalog-toolbar--shop-inline,
    body[data-page-type='shop_purchase'] .catalog-toolbar {
        gap: var(--space-4, 16px);
    }

    @media (max-width: 767px) {
        body[data-page-type='shop'] .catalog-toolbar--shop-inline .btn--sm,
        body[data-page-type='shop_purchase'] .catalog-toolbar--shop-inline .btn--sm {
            min-height: var(--fg-touch-target-min);
        }
    }


/* --- Корзина --- */

    body[data-page-type='portal_cart'] .cart-page-card--v2 .btn:focus-visible,
    body[data-page-type='portal_cart'] .cart-page-card--v2 input:focus-visible,
    body[data-page-type='portal_cart'] .cart-page-card--v2 textarea:focus-visible,
    body[data-page-type='portal_cart'] .cart-page-card--v2 select:focus-visible {
        outline: var(--fg-focus-ring-width) solid var(--fg-focus-ring-color);
        outline-offset: var(--fg-focus-offset-tight);
    }

    body[data-page-type='portal_cart'] .cart-page-card--v2 .catalog-product-card__stepper-btn {
        min-width: var(--fg-touch-target-min);
        min-height: var(--fg-touch-target-min);
    }


/* --- Авторизация (OTP / пароль) --- */

    body[data-page-type='portal_auth'] .auth-page-card input:focus-visible,
    body[data-page-type='portal_auth'] .auth-page-card textarea:focus-visible,
    body[data-page-type='portal_auth'] .auth-page-card .btn:focus-visible,
    body[data-page-type='portal_auth'] .auth-mode-tab:focus-visible {
        outline: var(--fg-focus-ring-width) solid var(--fg-focus-ring-color);
        outline-offset: var(--fg-focus-offset-tight);
    }

    body[data-page-type='portal_auth'] .auth-shell {
        gap: var(--space-5, 24px);
    }

    body[data-page-type='portal_auth'] .auth-mode-tabs {
        gap: var(--space-2, 8px);
        flex-wrap: wrap;
    }

    body[data-page-type='portal_auth'] .auth-mode-tab {
        min-height: var(--fg-touch-target-min);
        display: inline-flex;
        align-items: center;
    }

    body[data-page-type='portal_auth'] .auth-page-card.page-card {
        border-color: rgba(60, 64, 67, 0.14);
        background-color: #f4f7f5;
        background-image: linear-gradient(165deg, #f8faf9 0%, #eef2f0 55%, #f6f8f7 100%);
        box-shadow:
            0 1px 2px rgba(60, 64, 67, 0.08),
            0 1px 3px 1px rgba(60, 64, 67, 0.04);
    }

    body[data-page-type='portal_auth'] .auth-shell {
        align-items: stretch;
    }

    body[data-page-type='portal_auth'] .auth-intro h1 {
        font-weight: 600;
        letter-spacing: -0.02em;
        color: #1f1f1f;
    }

    body[data-page-type='portal_auth'] .auth-intro p {
        color: rgba(60, 64, 67, 0.78);
    }

    body[data-page-type='portal_auth'] .auth-mode-tab {
        border-radius: 999px;
        border: 1px solid rgba(60, 64, 67, 0.14);
        background: #fff;
        color: #1f1f1f;
        font-weight: 600;
    }

    body[data-page-type='portal_auth'] .auth-mode-tab.is-active {
        border-color: rgba(15, 109, 75, 0.38);
        background: rgba(15, 109, 75, 0.1);
        color: #0b3d2c;
    }

    body[data-page-type='portal_auth'] .auth-panel,
    body[data-page-type='portal_auth'] .auth-checkout-hint {
        border-color: rgba(60, 64, 67, 0.12);
        background: #fff;
        box-shadow:
            0 1px 2px rgba(60, 64, 67, 0.06),
            0 1px 3px rgba(60, 64, 67, 0.04);
    }

    body[data-page-type='portal_auth'] .auth-form input,
    body[data-page-type='portal_auth'] .auth-form textarea,
    body[data-page-type='portal_auth'] .portal-form-stack input,
    body[data-page-type='portal_auth'] .portal-form-stack textarea {
        border-radius: 12px;
        border-color: rgba(60, 64, 67, 0.18);
    }


/* --- Личный кабинет: нейтральные поверхности, ритм как у витрины (Material) --- */

    body[data-page-type='portal_account'] .account-page-card--workspace .btn:focus-visible,
    body[data-page-type='portal_account'] .account-page-card--workspace input:focus-visible,
    body[data-page-type='portal_account'] .account-page-card--workspace textarea:focus-visible,
    body[data-page-type='portal_account'] .account-page-card--workspace select:focus-visible {
        outline: var(--fg-focus-ring-width) solid var(--fg-focus-ring-color);
        outline-offset: var(--fg-focus-offset-tight);
    }

    body[data-page-type='portal_account'] .account-page-card--workspace {
        border-color: rgba(60, 64, 67, 0.14);
        background-color: #f4f7f5;
        background-image: linear-gradient(165deg, #f8faf9 0%, #eef2f0 55%, #f6f8f7 100%);
        box-shadow:
            0 1px 2px rgba(60, 64, 67, 0.08),
            0 1px 3px 1px rgba(60, 64, 67, 0.04);
    }

    body[data-page-type='portal_account'] .account-shell-v3 {
        gap: clamp(16px, 2vw, 24px);
    }

    @media (max-width: 1023px) {
        body[data-page-type='portal_account'] .account-shell-v3 {
            grid-template-columns: 1fr;
        }

        /* Навигация сверху: aside идёт первым в потоке; отменяем order из portal (там main=1, aside=2). */
        body[data-page-type='portal_account'] .account-sidebar-v3 {
            order: 0;
        }

        body[data-page-type='portal_account'] .account-main-v3 {
            order: 1;
        }
    }

    @media (max-width: 767px) {
        body[data-page-type='portal_account'] .account-dashboard-grid {
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 12px;
        }

        body[data-page-type='portal_account'] .account-dashboard-card {
            min-height: 104px;
            padding: 16px;
            gap: 8px;
        }

        body[data-page-type='portal_account'] .account-dashboard-card strong {
            font-size: clamp(1.2rem, 1.05rem + 0.6vw, 1.45rem);
        }
    }

    @media (max-width: 479px) {
        body[data-page-type='portal_account'] .account-dashboard-grid {
            grid-template-columns: 1fr;
        }
    }

    body[data-page-type='portal_account'] .account-side-card,
    body[data-page-type='portal_account'] .account-main-head-v3,
    body[data-page-type='portal_account'] .account-panel-v3 {
        border-color: rgba(60, 64, 67, 0.12);
        background: #fff;
        box-shadow:
            0 1px 2px rgba(60, 64, 67, 0.06),
            0 1px 3px rgba(60, 64, 67, 0.04);
    }

    body[data-page-type='portal_account'] .account-side-card--identity {
        background: #fff;
    }

    body[data-page-type='portal_account'] .account-side-card__badge {
        font-weight: 600;
        letter-spacing: 0.06em;
        color: #3c4043;
        background: rgba(60, 64, 67, 0.06);
        border: 1px solid rgba(60, 64, 67, 0.1);
    }

    body[data-page-type='portal_account'] .account-side-card__avatar {
        border-radius: 18px;
        font-weight: 700;
        box-shadow: 0 6px 16px rgba(15, 109, 75, 0.22);
    }

    body[data-page-type='portal_account'] .account-side-card__copy h2,
    body[data-page-type='portal_account'] .account-main-head-v3__copy h2 {
        font-weight: 600;
        letter-spacing: -0.02em;
        color: #1f1f1f;
    }

    body[data-page-type='portal_account'] .account-side-card__copy p,
    body[data-page-type='portal_account'] .account-main-head-v3__copy p,
    body[data-page-type='portal_account'] .account-subsection-head p {
        color: rgba(60, 64, 67, 0.78);
    }

    body[data-page-type='portal_account'] .account-main-head-v3__eyebrow {
        color: rgba(60, 64, 67, 0.72);
        font-weight: 600;
        letter-spacing: 0.08em;
    }

    body[data-page-type='portal_account'] .account-pill {
        border-radius: 999px;
        border: 1px solid rgba(60, 64, 67, 0.14);
        background: rgba(60, 64, 67, 0.04);
        color: #1f1f1f;
        font-weight: 500;
    }

    body[data-page-type='portal_account'] .account-side-nav-link--soft {
        border-color: rgba(60, 64, 67, 0.14);
        background: #fff;
        color: #1f1f1f;
    }

    body[data-page-type='portal_account'] .account-side-nav-link--soft .account-side-nav-link__label {
        font-weight: 600;
    }

    body[data-page-type='portal_account'] .account-side-nav-link--soft .account-side-nav-link__meta {
        color: rgba(60, 64, 67, 0.72);
    }

    body[data-page-type='portal_account'] .account-side-nav-link--soft:hover,
    body[data-page-type='portal_account'] .account-side-nav-link--soft:focus-visible {
        border-color: rgba(60, 64, 67, 0.22);
        background: rgba(60, 64, 67, 0.03);
        box-shadow: 0 1px 3px rgba(60, 64, 67, 0.08);
    }

    body[data-page-type='portal_account'] .account-side-nav-link--soft.is-active {
        border-color: rgba(15, 109, 75, 0.35);
        background: rgba(15, 109, 75, 0.08);
        color: #0b3d2c;
        box-shadow: none;
    }

    body[data-page-type='portal_account'] .account-dashboard-card {
        border-color: rgba(60, 64, 67, 0.1);
        background: rgba(255, 255, 255, 0.95);
    }

    body[data-page-type='portal_account'] .account-dashboard-card small {
        color: rgba(60, 64, 67, 0.65);
        font-weight: 600;
    }

    body[data-page-type='portal_account'] .account-dashboard-card strong {
        color: #1f1f1f;
        font-weight: 600;
    }

    body[data-page-type='portal_account'] .account-dashboard-card span {
        color: rgba(60, 64, 67, 0.72);
    }

    body[data-page-type='portal_account'] .account-progress-bar {
        height: 14px;
        border-radius: 999px;
        background: rgba(60, 64, 67, 0.08);
    }

    body[data-page-type='portal_account'] .account-progress-bar > span {
        border-radius: 999px;
        background: linear-gradient(90deg, #0f6d4b, #19a77b);
    }

    body[data-page-type='portal_account'] .account-readiness-card {
        border: 1px solid rgba(60, 64, 67, 0.1);
        background: rgba(60, 64, 67, 0.03);
        border-radius: 16px;
    }

    body[data-page-type='portal_account'] .account-readiness-card strong {
        color: #1f1f1f;
        font-weight: 600;
    }

    body[data-page-type='portal_account'] .account-field input:not([type='checkbox']):not([type='radio']),
    body[data-page-type='portal_account'] .account-field textarea,
    body[data-page-type='portal_account'] .account-field select {
        border-radius: 12px;
        border-color: rgba(60, 64, 67, 0.18);
    }

    body[data-page-type='portal_account'] .account-field__label {
        color: #1f1f1f;
        font-weight: 600;
    }

    body[data-page-type='portal_account'] .account-field-note {
        color: rgba(60, 64, 67, 0.72);
    }

    body[data-page-type='portal_account'] .account-subsection-divider {
        border-color: rgba(60, 64, 67, 0.1);
    }

    body[data-page-type='portal_account'] .account-order-item,
    body[data-page-type='portal_account'] .account-ticket-item,
    body[data-page-type='portal_account'] .account-session-item,
    body[data-page-type='portal_account'] .account-order-item-row {
        border-color: rgba(60, 64, 67, 0.12);
        background: #fff;
    }

    body[data-page-type='portal_account'] .account-order-item.is-active,
    body[data-page-type='portal_account'] .account-ticket-item.is-active {
        border-color: rgba(15, 109, 75, 0.35);
        background: rgba(15, 109, 75, 0.06);
    }

    body[data-page-type='portal_account'] .account-ticket-message.is-client {
        border-color: rgba(15, 109, 75, 0.2);
    }

    body[data-page-type='portal_account'] .account-ticket-message.is-manager {
        border-color: rgba(60, 64, 67, 0.12);
        background: rgba(60, 64, 67, 0.04);
    }

    body[data-page-type='portal_account'] .account-surface.account-panel-v3,
    body[data-page-type='portal_account'] .account-panel-v3.account-inline-success {
        border-color: rgba(60, 64, 67, 0.12);
        background: #fff;
        box-shadow:
            0 1px 2px rgba(60, 64, 67, 0.06),
            0 1px 3px rgba(60, 64, 67, 0.04);
    }

    body[data-page-type='portal_account'] .account-progress-kicker {
        background: rgba(60, 64, 67, 0.06);
        color: #1f1f1f;
        font-weight: 600;
        border: 1px solid rgba(60, 64, 67, 0.1);
    }

    body[data-page-type='portal_account'] .account-subsection-head h3,
    body[data-page-type='portal_account'] .account-subsection-head h4 {
        color: #1f1f1f;
        font-weight: 600;
    }

    body[data-page-type='portal_account'] .account-orders-card,
    body[data-page-type='portal_account'] .account-order-view-card,
    body[data-page-type='portal_account'] .account-sessions-card {
        border-color: rgba(60, 64, 67, 0.12);
        background: #fff;
    }

    @media (max-width: 767px) {
        body[data-page-type='portal_account'] .account-main-head-v3__pills--summary {
            flex-wrap: wrap;
            gap: 8px;
        }
    }


/* --- Избранное --- */

    body[data-page-type='wishlist'] .wishlist-grid {
        column-gap: var(--space-5, 24px);
        row-gap: var(--space-6, 32px);
    }

    body[data-page-type='wishlist'] .wishlist-empty__actions .btn {
        min-height: var(--fg-touch-target-min);
    }

    body[data-page-type='wishlist'] .wishlist-header__stats article {
        min-height: var(--fg-touch-target-min);
    }


/* --- AGENTS.md: без горизонтального скролла, touch ≥44px (грубый указатель) --- */

    html {
        scroll-padding-top: calc(var(--portal-header-height, 76px) + 12px);
    }

    html,
    body {
        overflow-x: clip;
    }

    #main {
        min-width: 0;
        max-width: 100%;
    }

    .header-inner,
    .header-inner-v3 {
        min-width: 0;
        max-width: 100%;
    }

    .catalog-toolbar--shop-inline,
    .catalog-category-strip,
    .catalog-chip-row {
        min-width: 0;
        max-width: 100%;
    }

    #main
        :where(
            .catalog-product-card,
            .catalog-item-hero__media,
            .catalog-hero-spotlight,
            .plant-gallery-tile,
            .catalog-category-card,
            .catalog-collection-card
        )
        img {
        max-width: 100%;
        height: auto;
    }


/* --- Мини-корзина (FAB): поверх липкого «Итог» на /cart, Escape, FAB при открытии --- */

    .mobile-cart-overlay {
        z-index: 9200;
    }

    .mobile-cart-panel {
        z-index: 9300;
    }

    .mobile-cart-fab {
        z-index: 9100;
        transition:
            opacity 0.22s ease,
            transform 0.22s ease;
    }

    body.mobile-cart-open .mobile-cart-fab {
        opacity: 0;
        transform: scale(0.88);
        pointer-events: none;
        transition:
            opacity 0.2s ease,
            transform 0.2s ease;
    }

    @media (max-width: 767px) {
        body.mobile-cart-open .cart-page-card--v2 .cart-summary-panel--v2 {
            position: static;
            z-index: auto;
            margin: 12px 0 0;
            border-radius: 20px;
            padding-bottom: calc(16px + env(safe-area-inset-bottom, 0));
            box-shadow: 0 8px 20px rgba(7, 27, 20, 0.06);
            backdrop-filter: none;
            -webkit-backdrop-filter: none;
        }
    }



    @media (pointer: coarse) {
        .nav-toggle,
        .nav-close,
        .mobile-cart-fab,
        .mobile-cart-panel-close,
        .header-icon-btn,
        .header-logout-btn {
            min-width: var(--fg-touch-target-min);
            min-height: var(--fg-touch-target-min);
        }

        .catalog-chip-row .catalog-chip,
        .catalog-category-strip a.catalog-category-chip,
        .catalog-category-strip .catalog-category-chip--link {
            min-height: var(--fg-touch-target-min);
            padding-top: 10px;
            padding-bottom: 10px;
            box-sizing: border-box;
            display: inline-flex;
            align-items: center;
        }

        .cookie-banner-actions .btn {
            min-height: var(--fg-touch-target-min);
            min-width: var(--fg-touch-target-min);
        }

        body[data-page-type='portal_cart'] .stock-stepper-btn {
            width: var(--fg-touch-target-min);
            height: var(--fg-touch-target-min);
            min-width: var(--fg-touch-target-min);
            min-height: var(--fg-touch-target-min);
        }
    }


/*
 * --- FG: mobile-first типографика + сетки ---
 * Проходы: ≤479 (узкий телефон), 768–1023 (планшет), 1024–1279 (ноутбук), 1280+ (широкий ПК).
 * Брейкпоинты: 480 / 768 / 1024 / 1280 (AGENTS.md).
 */

    :root {
        --fg-type-hero-h1: clamp(1.28rem, 0.88rem + 4.4vw, 2rem);
        --fg-type-section-h2: clamp(1.08rem, 0.94rem + 1.35vw, 1.62rem);
        --fg-type-kicker: clamp(0.68rem, 0.62rem + 0.32vw, 0.78rem);
        --fg-type-gallery-page-h1: clamp(1.45rem, 1.05rem + 4vw, 2.125rem);
    }

    @media (min-width: 480px) {
        :root {
            --fg-type-hero-h1: clamp(1.34rem, 1rem + 3.2vw, 2.2rem);
            --fg-type-section-h2: clamp(1.12rem, 0.98rem + 1.2vw, 1.72rem);
            --fg-type-gallery-page-h1: clamp(1.55rem, 1.12rem + 3.2vw, 2.25rem);
        }
    }

    @media (min-width: 768px) {
        :root {
            --fg-type-hero-h1: clamp(1.48rem, 1.08rem + 2vw, 2.45rem);
            --fg-type-section-h2: clamp(1.18rem, 1.02rem + 0.95vw, 1.85rem);
            --fg-type-gallery-page-h1: clamp(1.65rem, 1.2rem + 1.4vw, 2.5rem);
        }
    }

    @media (min-width: 1024px) {
        :root {
            --fg-type-hero-h1: clamp(1.58rem, 1.15rem + 1.35vw, 2.65rem);
            --fg-type-section-h2: clamp(1.22rem, 1.05rem + 0.8vw, 1.95rem);
            --fg-type-gallery-page-h1: clamp(1.75rem, 1.28rem + 1.1vw, 2.75rem);
        }
    }

    @media (min-width: 1280px) {
        :root {
            --fg-type-hero-h1: clamp(1.68rem, 1.22rem + 1.05vw, 3rem);
            --fg-type-section-h2: clamp(1.26rem, 1.08rem + 0.65vw, 2.1rem);
            --fg-type-gallery-page-h1: clamp(1.85rem, 1.32rem + 0.95vw, 3.1rem);
        }
    }



    .catalog-hero h1,
    body[data-page-type='seo_product'] .catalog-item-hero h1 {
        font-size: var(--fg-type-hero-h1);
        line-height: 1.1;
        text-wrap: balance;
        overflow-wrap: anywhere;
    }

    .catalog-section__head h2 {
        font-size: var(--fg-type-section-h2);
        line-height: 1.18;
        text-wrap: balance;
        overflow-wrap: anywhere;
    }

    .catalog-hero .section-kicker,
    .catalog-section__head .section-kicker {
        font-size: var(--fg-type-kicker);
    }

    body[data-page-type='gallery'] .gallery-page-copy h1 {
        font-size: var(--fg-type-gallery-page-h1);
        line-height: 1.08;
        overflow-wrap: anywhere;
    }


/* ≤479: один столбец карточек, без широких CTA, компактные чипы категорий */
@media (max-width: 479px) {
    :root {
        --container-gutter: max(14px, env(safe-area-inset-left, 0px));
    }

    body[data-page-type='shop'] .catalog-products-grid,
    body[data-page-type='shop_purchase'] .catalog-products-grid,
    body[data-page-type='categories'] .catalog-categories-page .catalog-categories-grid,
    body[data-page-type='seo_product'] .catalog-item-followups .catalog-products-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    body[data-page-type='gallery'] .plant-gallery-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    body[data-page-type='gallery'] .gallery-page-primary-actions .btn {
        min-width: 0;
        width: 100%;
        max-width: 100%;
    }

    body[data-page-type='seo_product'] .catalog-item-hero__commerce {
        padding: var(--space-4, 16px);
    }

    .catalog-category-chip {
        min-width: min(160px, calc(100vw - 48px));
    }

    .catalog-category-strip,
    .catalog-home-contacts-pills {
        overscroll-behavior-x: contain;
    }
}

/* 480–767: две колонки PLP (mobile-first шаг вверх) */
@media (min-width: 480px) and (max-width: 767px) {
    body[data-page-type='shop'] .catalog-products-grid,
    body[data-page-type='shop_purchase'] .catalog-products-grid,
    body[data-page-type='seo_product'] .catalog-item-followups .catalog-products-grid:not(.catalog-products-grid--related-four) {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body[data-page-type='categories'] .catalog-categories-page .catalog-categories-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body[data-page-type='gallery'] .plant-gallery-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body[data-page-type='wishlist'] .wishlist-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* 768–1023: планшет — три колонки витрины, подборки 2× */
@media (min-width: 768px) and (max-width: 1023px) {
    body[data-page-type='shop'] .catalog-products-grid,
    body[data-page-type='shop_purchase'] .catalog-products-grid,
    body[data-page-type='seo_product'] .catalog-item-followups .catalog-products-grid:not(.catalog-products-grid--related-four) {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    body[data-page-type='categories'] .catalog-categories-page .catalog-categories-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    body[data-page-type='shop'] .catalog-collections-grid,
    body[data-page-type='shop_purchase'] .catalog-collections-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body[data-page-type='gallery'] .plant-gallery-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    body[data-page-type='wishlist'] .wishlist-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

/* 1024–1279: ноутбук — три колонки PLP и PDP «похожие» */
@media (min-width: 1024px) and (max-width: 1279px) {
    body[data-page-type='shop'] .catalog-products-grid,
    body[data-page-type='shop_purchase'] .catalog-products-grid,
    body[data-page-type='seo_product'] .catalog-item-followups .catalog-products-grid:not(.catalog-products-grid--related-four) {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    body[data-page-type='categories'] .catalog-categories-page .catalog-categories-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    body[data-page-type='seo_product'] .catalog-item-followups .catalog-products-grid--related-four {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    body[data-page-type='gallery'] .plant-gallery-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    body[data-page-type='wishlist'] .wishlist-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

/* 1280+: широкий ПК — четыре колонки PLP; закупка и PDP-блоки чуть плотнее */
@media (min-width: 1280px) {
    body[data-page-type='shop'] .catalog-products-grid,
    body[data-page-type='categories'] .catalog-categories-page .catalog-categories-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    body[data-page-type='shop_purchase'] .catalog-products-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    body[data-page-type='seo_product'] .catalog-item-followups .catalog-products-grid:not(.catalog-products-grid--related-four) {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    body[data-page-type='seo_product'] .catalog-item-followups .catalog-products-grid--related-four {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    body[data-page-type='gallery'] .plant-gallery-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    body[data-page-type='wishlist'] .wishlist-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

/*
 * --- PDP: «Похожие позиции» + «Другие закупки» (отдельные панели) ---
 */

    body[data-page-type='seo_product'] .pdp-followups {
        display: flex;
        flex-direction: column;
        gap: var(--space-5, 20px);
        margin-top: var(--space-6, 28px);
        margin-bottom: var(--space-2, 8px);
        min-width: 0;
    }

    @media (min-width: 768px) {
        body[data-page-type='seo_product'] .pdp-followups--duo {
            display: grid;
            grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
            gap: var(--space-5, 20px);
            align-items: stretch;
        }
    }

    body[data-page-type='seo_product'] .pdp-followups__panel {
        min-width: 0;
        border-radius: 18px;
        border: 1px solid rgba(60, 64, 67, 0.12);
        background: #fff;
        box-shadow:
            0 1px 2px rgba(60, 64, 67, 0.06),
            0 1px 3px rgba(60, 64, 67, 0.04);
        padding: clamp(16px, 2.2vw, 22px);
        display: flex;
        flex-direction: column;
        gap: var(--space-4, 16px);
    }

    body[data-page-type='seo_product'] .pdp-followups__header {
        display: grid;
        gap: var(--space-2, 8px);
        min-width: 0;
    }

    body[data-page-type='seo_product'] .pdp-followups__kicker {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        width: fit-content;
        max-width: 100%;
        font-size: var(--fg-type-kicker, 0.72rem);
        font-weight: 700;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        color: rgba(60, 64, 67, 0.72);
    }

    body[data-page-type='seo_product'] .pdp-followups__kicker::before {
        content: '';
        width: 8px;
        height: 8px;
        border-radius: 50%;
        flex-shrink: 0;
        background: var(--leaf-dark, #0f6d4b);
        box-shadow: 0 0 0 2px rgba(15, 109, 75, 0.12);
    }

    body[data-page-type='seo_product'] .pdp-followups__title {
        margin: 0;
        font-size: var(--fg-type-section-h2, 1.25rem);
        font-weight: 700;
        letter-spacing: -0.02em;
        color: #1f1f1f;
        line-height: 1.15;
        text-wrap: balance;
    }

    body[data-page-type='seo_product'] .pdp-followups__rule {
        height: 1px;
        margin: 0;
        background: rgba(60, 64, 67, 0.1);
        border: 0;
    }

    body[data-page-type='seo_product'] .pdp-followups__body {
        min-width: 0;
    }

    body[data-page-type='seo_product'] .pdp-followups--duo .catalog-compact-grid[data-count='2'] {
        width: 100%;
        max-width: none;
        justify-content: stretch;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body[data-page-type='seo_product'] .pdp-followups--duo .catalog-compact-grid[data-count='1'] {
        width: 100%;
        max-width: none;
        grid-template-columns: minmax(0, 1fr);
    }

    body[data-page-type='seo_product'] .pdp-followups--duo .catalog-compact-grid--collections[data-count='2'] {
        width: 100%;
        max-width: none;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body[data-page-type='seo_product'] .pdp-followups--duo .catalog-compact-grid--collections[data-count='1'] {
        width: 100%;
        max-width: none;
    }

    body[data-page-type='seo_product'] .pdp-followups__body .catalog-products-grid,
    body[data-page-type='seo_product'] .pdp-followups__body .catalog-collections-grid {
        width: 100%;
        min-width: 0;
    }

    body[data-page-type='seo_product'] .pdp-followups__panel .catalog-collection-card {
        border-radius: 14px;
        border: 1px solid rgba(60, 64, 67, 0.1);
        background: #fafbfb;
        box-shadow: none;
    }

    body[data-page-type='seo_product'] .pdp-followups__panel .catalog-collection-card__stats article {
        border-radius: 12px;
        background: #fff;
        border: 1px solid rgba(60, 64, 67, 0.08);
    }

    body[data-page-type='seo_product'] .pdp-followups__body .catalog-product-card {
        min-width: 0;
    }

    @media (max-width: 767px) {
        body[data-page-type='seo_product'] .pdp-followups__panel .catalog-product-card__cart-form .btn,
        body[data-page-type='seo_product'] .pdp-followups__panel .catalog-product-card__actions .btn {
            width: 100%;
            justify-content: center;
        }
    }

/*
 * --- Карточки каталога + герой: читаемость «Цена» / «за 1 шт», остаток, контраст лида ---
 */
body[data-page-type='home'] .catalog-product-card .price-block__label,
body[data-page-type='shop'] .catalog-product-card .price-block__label,
body[data-page-type='shop_purchase'] .catalog-product-card .price-block__label,
body[data-page-type='gallery'] .catalog-product-card .price-block__label,
body[data-page-type='wishlist'] .catalog-product-card .price-block__label {
    font-size: 0.78rem;
}

body[data-page-type='home'] .catalog-product-card .price-block__note,
body[data-page-type='shop'] .catalog-product-card .price-block__note,
body[data-page-type='shop_purchase'] .catalog-product-card .price-block__note,
body[data-page-type='gallery'] .catalog-product-card .price-block__note,
body[data-page-type='wishlist'] .catalog-product-card .price-block__note {
    font-size: 0.8125rem;
    color: rgba(60, 64, 67, 0.78);
}

body[data-page-type='home'] .catalog-product-card__stock,
body[data-page-type='shop'] .catalog-product-card__stock,
body[data-page-type='shop_purchase'] .catalog-product-card__stock,
body[data-page-type='gallery'] .catalog-product-card__stock,
body[data-page-type='wishlist'] .catalog-product-card__stock {
    padding-left: 4px;
    padding-right: 4px;
    column-gap: 10px;
}

body[data-page-type='home'] .catalog-product-card__stock-note,
body[data-page-type='shop'] .catalog-product-card__stock-note,
body[data-page-type='shop_purchase'] .catalog-product-card__stock-note,
body[data-page-type='gallery'] .catalog-product-card__stock-note,
body[data-page-type='wishlist'] .catalog-product-card__stock-note {
    max-width: min(100%, 13.5rem);
    font-size: 0.8rem;
    color: rgba(60, 64, 67, 0.72);
}

body[data-page-type='home'] .catalog-hero.catalog-hero--home-sales .catalog-hero__copy > p:not(.hero-live-pill) {
    color: rgba(60, 64, 67, 0.84);
    font-size: clamp(0.94rem, 0.88rem + 0.35vw, 1.02rem);
}

body[data-page-type='shop'] .catalog-hero.catalog-hero--shop-sales .catalog-hero__lede > p:not([class*='hero-live-pill']) {
    color: rgba(60, 64, 67, 0.84);
    font-size: clamp(0.94rem, 0.88rem + 0.35vw, 1.02rem);
}

/*
 * --- Блок «Хиты»: нав‑кнопки карусели, типографика цены, отступы ряда остатка ---
 */
body[data-page-type='home'] .catalog-section--top-sales .catalog-section__head,
body[data-page-type='shop'] .catalog-section--top-sales .catalog-section__head {
    gap: clamp(12px, 2vw, 18px);
    align-items: flex-end;
}

@media (max-width: 767px) {
    body[data-page-type='home'] .catalog-section--top-sales .catalog-section__head {
        align-items: flex-start;
    }

    body[data-page-type='home'] .catalog-section--top-sales .catalog-section__head-actions {
        gap: 12px;
    }
}

body[data-page-type='home'] .catalog-section--top-sales .catalog-carousel__viewport,
body[data-page-type='shop'] .catalog-section--top-sales .catalog-carousel__viewport {
    overscroll-behavior-x: contain;
}

body[data-page-type='home'] .catalog-section--top-sales .catalog-carousel__nav,
body[data-page-type='shop'] .catalog-section--top-sales .catalog-carousel__nav {
    min-width: max(44px, var(--fg-touch-target-min, 44px));
    min-height: max(44px, var(--fg-touch-target-min, 44px));
    width: 48px;
    height: 48px;
    font-size: 1.28rem;
    font-weight: 700;
    border-radius: var(--md-sys-shape-corner-full, 999px);
    border: 1px solid var(--md-sys-color-outline, rgba(15, 109, 75, 0.16));
    background: var(--md-sys-color-surface-container-high, rgba(255, 255, 255, 0.98));
    color: var(--md-sys-color-primary, #0f6d4b);
    box-shadow: var(--md-sys-elevation-1, 0 1px 2px rgba(60, 64, 67, 0.12));
}

body[data-page-type='home'] .catalog-section--top-sales .catalog-section__head-actions > .btn,
body[data-page-type='shop'] .catalog-section--top-sales .catalog-section__head-actions > .btn {
    min-height: var(--fg-touch-target-min, 44px);
    padding-inline: 16px;
    align-self: center;
}

body[data-page-type='home'] .catalog-section--top-sales .catalog-product-card--featured .price-block__label,
body[data-page-type='shop'] .catalog-section--top-sales .catalog-product-card--featured .price-block__label {
    font-size: 0.8125rem;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    font-weight: 600;
    color: rgba(60, 64, 67, 0.72);
}

body[data-page-type='home'] .catalog-section--top-sales .catalog-product-card--featured .price-block__note,
body[data-page-type='shop'] .catalog-section--top-sales .catalog-product-card--featured .price-block__note {
    font-size: 0.875rem;
}

body[data-page-type='home'] .catalog-section--top-sales .catalog-product-card--featured .price-block__price,
body[data-page-type='shop'] .catalog-section--top-sales .catalog-product-card--featured .price-block__price {
    font-size: clamp(1.12rem, 1rem + 0.4vw, 1.28rem);
}

body[data-page-type='home'] .catalog-section--top-sales .catalog-product-card--featured .catalog-product-card__stock,
body[data-page-type='shop'] .catalog-section--top-sales .catalog-product-card--featured .catalog-product-card__stock {
    padding: 8px 10px;
    border-radius: var(--md-sys-shape-corner-medium, 12px);
}

/*
 * --- FG / Material 3: общий холст и карточки страниц (все основные page_type) ---
 * https://m3.material.io/components — surface container, outline, corner extra-large.
 */
body[data-page-type='home'] #main.page,
body[data-page-type='categories'] #main.page,
body[data-page-type='gallery'] #main.page,
body[data-page-type='wishlist'] #main.page,
body[data-page-type='seo_product'] #main.page,
body[data-page-type='portal_cart'] #main.page,
body[data-page-type='shop_purchase'] #main.page,
body[data-page-type='shop'] #main.page {
    background-color: var(--md-sys-color-surface);
}

body[data-page-type='categories'] .catalog-categories-page.page-card,
body[data-page-type='gallery'] .gallery-page-card.page-card,
body[data-page-type='wishlist'] .wishlist-page-card.page-card {
    border-radius: var(--md-sys-shape-corner-extra-large);
    border: 1px solid var(--md-sys-color-outline);
    background: var(--md-sys-color-surface-container);
    box-shadow: var(--md-sys-elevation-1);
}

body[data-page-type='categories'] .catalog-hero.catalog-hero--categories {
    border-radius: var(--md-sys-shape-corner-large);
    border: 1px solid rgba(60, 64, 67, 0.14);
    background: linear-gradient(165deg, #f8faf9 0%, #eef2f0 55%, #f6f8f7 100%);
    padding: clamp(16px, 2vw, 24px);
}

body[data-page-type='categories'] .catalog-hero.catalog-hero--categories .section-kicker {
    letter-spacing: 0.08em;
    font-weight: 700;
    color: var(--md-sys-color-on-surface-variant);
}

body[data-page-type='categories'] .catalog-hero.catalog-hero--categories h1 {
    color: var(--md-sys-color-on-surface);
    font-weight: 600;
    letter-spacing: -0.02em;
}

body[data-page-type='categories'] .catalog-hero.catalog-hero--categories p {
    color: var(--md-sys-color-on-surface-variant);
    max-width: 62ch;
}

body[data-page-type='categories'] .catalog-category-card {
    border-radius: var(--md-sys-shape-corner-large);
    border: 1px solid rgba(60, 64, 67, 0.1);
    box-shadow: var(--md-sys-elevation-1);
}

body[data-page-type='categories'] .catalog-category-card__stats article {
    border-radius: var(--md-sys-shape-corner-medium);
    background: #fff;
    border: 1px solid rgba(60, 64, 67, 0.08);
}

body[data-page-type='gallery'] .gallery-page-copy h1 {
    color: var(--md-sys-color-on-surface);
    font-weight: 600;
    letter-spacing: -0.02em;
}

body[data-page-type='gallery'] .gallery-page-copy p {
    color: var(--md-sys-color-on-surface-variant);
}

/* Герой галереи: та же «плашка», что у витринных героев (categories / главная) */
body[data-page-type='gallery'] .gallery-page-hero {
    border-radius: var(--md-sys-shape-corner-large);
    border: 1px solid rgba(60, 64, 67, 0.12);
    background: linear-gradient(165deg, #f8faf9 0%, #eef2f0 55%, #f6f8f7 100%);
    padding: clamp(16px, 2vw, 24px);
    box-shadow: none;
}

body[data-page-type='gallery'] .gallery-page-copy .section-kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    letter-spacing: 0.08em;
    font-weight: 700;
    color: var(--md-sys-color-on-surface-variant);
}

body[data-page-type='gallery'] .gallery-page-copy .section-kicker::before {
    content: '';
    width: 8px;
    height: 8px;
    border-radius: 50%;
    flex-shrink: 0;
    background: var(--md-sys-color-primary, #0f6d4b);
    box-shadow: 0 0 0 2px rgba(15, 109, 75, 0.12);
}

body[data-page-type='gallery'] .gallery-page-head .purchase-back-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: var(--fg-touch-target-min, 44px);
    padding: 8px 12px 8px 4px;
    margin: 0 0 8px -4px;
    border-radius: var(--md-sys-shape-corner-full, 999px);
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--md-sys-color-primary, #0f6d4b);
    text-decoration: none;
    border: 1px solid transparent;
    background: transparent;
    transition: background-color 0.15s ease, border-color 0.15s ease;
}

body[data-page-type='gallery'] .gallery-page-head .purchase-back-link:hover {
    background: rgba(15, 109, 75, 0.06);
    border-color: rgba(15, 109, 75, 0.08);
}

body[data-page-type='gallery'] .gallery-page-head .purchase-back-link:focus-visible {
    outline: var(--fg-focus-ring-width) solid var(--fg-focus-ring-color);
    outline-offset: var(--fg-focus-offset-tight);
}

body[data-page-type='gallery'] .plant-gallery-tile {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    /* Старый блок в styles.css задаёт aspect-ratio 1/1 для «квадрата только с фото»;
       при подписи в потоке под картинкой это обрезает название — отключаем. */
    aspect-ratio: unset;
    height: auto;
    text-align: left;
    border-radius: var(--md-sys-shape-corner-large);
    overflow: hidden;
    border: 1px solid var(--md-sys-color-outline, rgba(60, 64, 67, 0.12));
    background: var(--md-sys-color-surface-container-low, #fff);
    box-shadow: var(--md-sys-elevation-1);
    cursor: pointer;
    transition: box-shadow 0.18s ease, transform 0.18s ease, border-color 0.18s ease;
}

body[data-page-type='gallery'] .plant-gallery-tile:hover {
    box-shadow: var(--md-sys-elevation-2, 0 4px 8px rgba(60, 64, 67, 0.12));
    border-color: rgba(15, 109, 75, 0.18);
}

body[data-page-type='gallery'] .plant-gallery-tile:focus-visible {
    outline: var(--fg-focus-ring-width) solid var(--fg-focus-ring-color);
    outline-offset: var(--fg-focus-offset-tight);
}

body[data-page-type='gallery'] .plant-gallery-tile__meta {
    position: relative;
    inset: auto;
    margin-top: auto;
    padding: 14px 16px 16px;
    background: var(--md-sys-color-surface-container, #fafbfb);
    border-top: 1px solid var(--md-sys-color-outline-variant, rgba(15, 109, 75, 0.1));
}

body[data-page-type='gallery'] .plant-gallery-tile__meta strong {
    font-size: clamp(0.95rem, 0.88rem + 0.2vw, 1.06rem);
    font-weight: 600;
    line-height: 1.28;
    color: var(--md-sys-color-on-surface, #071b14);
}

body[data-page-type='gallery'] .plant-gallery-tile__meta::after {
    content: 'Увеличить';
    display: block;
    margin-top: 6px;
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    color: var(--md-sys-color-on-surface-variant, rgba(60, 64, 67, 0.68));
}

body[data-page-type='wishlist'] .wishlist-header__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    letter-spacing: 0.08em;
    font-size: var(--fg-type-kicker, 0.72rem);
    font-weight: 700;
    text-transform: uppercase;
    color: var(--md-sys-color-on-surface-variant);
}

body[data-page-type='wishlist'] .wishlist-header__eyebrow::before {
    content: '';
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--md-sys-color-primary);
    box-shadow: 0 0 0 2px rgba(15, 109, 75, 0.12);
}

body[data-page-type='wishlist'] .wishlist-header h1 {
    color: var(--md-sys-color-on-surface);
    font-weight: 600;
    letter-spacing: -0.02em;
}

body[data-page-type='wishlist'] .wishlist-header p {
    color: var(--md-sys-color-on-surface-variant);
}

body[data-page-type='wishlist'] .wishlist-header,
body[data-page-type='wishlist'] .wishlist-empty,
body[data-page-type='wishlist'] .wishlist-content {
    border-radius: var(--md-sys-shape-corner-large);
    border: 1px solid rgba(60, 64, 67, 0.1);
    box-shadow: none;
    background: #fafbfb;
}

body[data-page-type='wishlist'] .wishlist-header__stats article {
    border-radius: var(--md-sys-shape-corner-medium);
    background: #fff;
    border: 1px solid rgba(60, 64, 67, 0.08);
}

body[data-page-type^='legal_'] #main.page {
    background-color: var(--md-sys-color-surface);
}

/* Обертка без «второй плашки»: карточки как полоса каналов / витринный герой */
body[data-page-type^='legal_'] .legal-shell {
    border: none;
    border-radius: 0;
    box-shadow: none;
    background: transparent;
    gap: clamp(14px, 2vw, 18px);
}

body[data-page-type^='legal_'] .legal-sidebar-card,
body[data-page-type^='legal_'] .legal-main-intro.page-card {
    border-radius: var(--md-sys-shape-corner-large);
    border: 1px solid rgba(60, 64, 67, 0.12);
    background: var(--md-sys-color-surface, #f4f7f5);
    box-shadow: none;
}

/* Оферта / legal: активный пункт навигации — tonal surface без «стекла» */
body[data-page-type^='legal_'] .legal-toc-links a[aria-current='page'],
body[data-page-type^='legal_'] .legal-related-links a[aria-current='page'] {
    background: rgba(15, 109, 75, 0.1);
    border-color: rgba(15, 109, 75, 0.22);
    box-shadow: none;
    color: var(--md-sys-color-on-secondary-container, #0b3d2c);
    font-weight: 700;
}

body[data-page-type^='legal_'] .legal-sidebar-link[aria-current='page'] {
    background: rgba(15, 109, 75, 0.1);
    border-color: rgba(15, 109, 75, 0.22);
    box-shadow: none;
}

body[data-page-type^='legal_'] .legal-sidebar-link[aria-current='page'] .legal-sidebar-link__title {
    color: var(--md-sys-color-on-secondary-container, #0b3d2c);
    font-weight: 700;
}

@media (max-width: 767px) {
    body[data-page-type^='legal_'] .legal-toc-links,
    body[data-page-type^='legal_'] .legal-related-links {
        display: grid;
        grid-template-columns: 1fr;
    }

    body[data-page-type^='legal_'] .legal-toc-links a,
    body[data-page-type^='legal_'] .legal-related-links a {
        width: 100%;
        justify-content: flex-start;
        min-height: var(--fg-touch-target-min, 44px);
    }

    body[data-page-type^='legal_'] .legal-main-summary-item {
        border-left: 4px solid rgba(15, 109, 75, 0.32);
    }
}

body[data-page-type='wholesale'] #main.page {
    background-color: var(--md-sys-color-surface);
}

body[data-page-type='wholesale'] .wholesale-page-card.page-card {
    border-radius: var(--md-sys-shape-corner-extra-large);
    border: 1px solid var(--md-sys-color-outline);
    box-shadow: var(--md-sys-elevation-1);
}

/* M3: залитая кнопка — лёгкое усиление тени при наведении (все страницы) */
.page .btn-primary:hover {
    box-shadow: 0 1px 2px rgba(60, 64, 67, 0.14), 0 2px 6px 2px rgba(15, 109, 75, 0.12);
}

.page .btn-primary:active {
    box-shadow: none;
    transform: translateY(0.5px);
}

@media (prefers-reduced-motion: reduce) {
    .page .btn-primary:hover,
    .page .btn-primary:active {
        transform: none;
    }
}

