/* ============================================================
   TVON — главная как полноэкранный «дек» из слайдов
   Скролл: каждая секция = 100svh, при перекрытии предыдущая
   уходит в глубину (rotateX + scale + dim) — см. js/home-deck.js
   Скоуп: body.tvon-home-page (только index.php)
   ============================================================ */

body.tvon-home-page {
    background: #fcfcfb;
    /* overflow-x:hidden ломает position:sticky у сцены дека — clip безопасен */
    overflow-x: clip;
}

/* ---------- Шапка: сливается с канвасом (Dala: без рамок и теней) ---------- */
.tvon-home-page > header {
    background: #fcfcfb;
    border-bottom: none;
    box-shadow: none;
}

/* ---------- Дек ----------
   Fallback (без JS / reduced-motion): секции стоят друг за другом,
   каждая минимум на высоту экрана.
   С JS: .home-deck.is-3d — дек занимает много экранов, внутри
   sticky-сцена 100svh, слайды абсолютны и анимируются из JS. */
.home-deck {
    position: relative;
}

.deck-slide {
    position: relative;
}

.deck-slide__inner {
    position: relative;
    min-height: 100vh;
    min-height: 100svh;
    /* dvh — реальная видимая высота: при скрытии/показе панели браузера
       слайд остаётся ровно на экран, страницу нельзя «чуть отскролить» */
    min-height: 100dvh;
}

.deck-slide__scroll {
    display: flex;
    flex-direction: column;
}

/* --- Режим 3D-дека --- */
.home-deck.is-3d .home-deck__stage {
    position: sticky;
    /* сцена начинается под sticky-шапкой — слайды видны целиком, без дёрганья */
    top: var(--home-header-h, 0px);
    height: calc(100vh - var(--home-header-h, 0px));
    height: calc(100svh - var(--home-header-h, 0px));
    height: calc(100dvh - var(--home-header-h, 0px));
    overflow: hidden;
    /* тот же тон, что у базы слайдов — кромки слайда в переходе не читаются */
    background: #fcfcfb;
}

.home-deck.is-3d .deck-slide {
    position: absolute;
    inset: 0;
    visibility: hidden;
    pointer-events: none;
}

.home-deck.is-3d .deck-slide__inner {
    position: absolute;
    inset: 0;
    min-height: 0;
    overflow: hidden;
    will-change: transform, opacity;
}

/* Пока слайд движется — глушим дорогие эффекты внутри него */
.home-deck.is-3d .deck-slide.deck-anim .deck-slide__inner,
.home-deck.is-3d .deck-slide.deck-anim * {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    transition-property: none !important;
}

/* Разлетающиеся куски — продвигаем в GPU-слои только на время движения */
.home-deck.is-3d .deck-slide.deck-anim .deck-piece {
    will-change: transform, opacity;
}

/* Затемнение при переходе — только opacity, композитится на GPU */
.deck-slide__veil {
    position: absolute;
    inset: 0;
    z-index: 5;
    background: #131210;
    opacity: 0;
    pointer-events: none;
}

.home-deck.is-3d .deck-slide__scroll {
    position: absolute;
    inset: 0;
    height: 100%;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    display: flex;
    flex-direction: column;
    scrollbar-width: none;
}

.deck-slide__scroll::-webkit-scrollbar {
    display: none;
}

.deck-slide__pad {
    margin: auto;
    width: 100%;
    max-width: 80rem;
    padding: clamp(3.25rem, 8vh, 4.75rem) 1rem 3rem;
}

/* Hero: контент визуально чуть выше центра — под шапкой читается лучше */
.tvon-home-page .hero-content {
    transform: translateY(-2.5vh);
}

/* Фоны слайдов — Dala-light: ровный тёплый канвас, без градиентов и рамок */
.deck-slide__inner--light,
.deck-slide__inner--white,
.deck-slide__inner--dark {
    background: #fcfcfb;
    color: #131210;
}

/* Слайд 2 «Каталог» — тот же канвас; цвет дают только декоративные блобы */
.deck-slide__inner--catalog {
    background: #fcfcfb;
    color: #131210;
}

/* Декоративные блобы — хроматический спектр Dala (зелёный/янтарь/tile),
   медленно плывут с «дышащей» деформацией */
.deck-slide__inner--catalog .catalog-blob {
    position: absolute;
    z-index: 0;
    pointer-events: none;
    border-radius: 50%;
    filter: blur(3.6rem);
    will-change: transform;
}

.deck-slide__inner--catalog .catalog-blob--a {
    width: 56vmax;
    height: 50vmax;
    right: -16vmax;
    top: -14vmax;
    background: radial-gradient(closest-side, rgba(22, 163, 74, 0.34), rgba(22, 163, 74, 0.13) 55%, transparent 78%);
    animation: catalogBlobA 36s ease-in-out infinite alternate;
}

.deck-slide__inner--catalog .catalog-blob--b {
    width: 50vmax;
    height: 46vmax;
    left: -18vmax;
    bottom: -16vmax;
    background: radial-gradient(closest-side, rgba(255, 184, 41, 0.32), rgba(255, 184, 41, 0.12) 55%, transparent 78%);
    animation: catalogBlobB 44s ease-in-out infinite alternate;
}

.deck-slide__inner--catalog .catalog-blob--c {
    width: 36vmax;
    height: 32vmax;
    left: -8vmax;
    top: 6%;
    background: radial-gradient(closest-side, rgba(21, 132, 110, 0.3), rgba(21, 132, 110, 0.11) 55%, transparent 78%);
    animation: catalogBlobC 40s ease-in-out infinite alternate-reverse;
}

.deck-slide__inner--catalog .catalog-blob--d {
    width: 42vmax;
    height: 38vmax;
    right: 4%;
    bottom: -18vmax;
    background: radial-gradient(closest-side, rgba(229, 92, 255, 0.3), rgba(229, 92, 255, 0.12) 55%, transparent 78%);
    animation: catalogBlobD 48s ease-in-out infinite alternate;
}

.deck-slide__inner--catalog .catalog-blob--e {
    width: 32vmax;
    height: 30vmax;
    right: 22%;
    top: -14vmax;
    background: radial-gradient(closest-side, rgba(22, 163, 74, 0.28), rgba(22, 163, 74, 0.1) 55%, transparent 78%);
    animation: catalogBlobC 34s ease-in-out infinite alternate;
}

.deck-slide__inner--catalog .catalog-blob--f {
    width: 28vmax;
    height: 26vmax;
    left: 30%;
    bottom: -12vmax;
    background: radial-gradient(closest-side, rgba(255, 184, 41, 0.26), rgba(255, 184, 41, 0.1) 55%, transparent 78%);
    animation: catalogBlobD 38s ease-in-out infinite alternate-reverse;
}

/* Те же блобы на hero — свои позиции, зелёно-янтарная гамма */
.hero-bg .catalog-blob {
    position: absolute;
    z-index: 0;
    pointer-events: none;
    border-radius: 50%;
    filter: blur(3.6rem);
    will-change: transform;
}

.hero-bg .catalog-blob--a {
    width: 62vmax;
    height: 56vmax;
    right: -18vmax;
    top: -16vmax;
    background: radial-gradient(closest-side, rgba(22, 163, 74, 0.38), rgba(22, 163, 74, 0.14) 55%, transparent 78%);
    animation: catalogBlobA 38s ease-in-out infinite alternate;
}

.hero-bg .catalog-blob--b {
    width: 54vmax;
    height: 48vmax;
    left: -18vmax;
    bottom: -16vmax;
    background: radial-gradient(closest-side, rgba(255, 184, 41, 0.36), rgba(255, 184, 41, 0.13) 55%, transparent 78%);
    animation: catalogBlobB 44s ease-in-out infinite alternate;
}

.hero-bg .catalog-blob--c {
    width: 42vmax;
    height: 38vmax;
    left: -8vmax;
    top: -12%;
    background: radial-gradient(closest-side, rgba(21, 132, 110, 0.3), rgba(21, 132, 110, 0.11) 55%, transparent 78%);
    animation: catalogBlobC 40s ease-in-out infinite alternate-reverse;
}

.hero-bg .catalog-blob--d {
    width: 46vmax;
    height: 40vmax;
    right: 4%;
    bottom: -18vmax;
    background: radial-gradient(closest-side, rgba(34, 197, 94, 0.34), rgba(34, 197, 94, 0.12) 55%, transparent 78%);
    animation: catalogBlobD 46s ease-in-out infinite alternate;
}

@keyframes catalogBlobA {
    0% {
        transform: translate3d(0, 0, 0) scale(1);
        border-radius: 52% 48% 55% 45% / 50% 55% 45% 50%;
    }
    50% {
        transform: translate3d(-11vmax, 11vmax, 0) scale(1.14);
        border-radius: 45% 55% 48% 52% / 56% 44% 52% 48%;
    }
    100% {
        transform: translate3d(-18vmax, 3vmax, 0) scale(0.92);
        border-radius: 56% 44% 50% 50% / 46% 52% 48% 54%;
    }
}

@keyframes catalogBlobB {
    0% {
        transform: translate3d(0, 0, 0) scale(1);
        border-radius: 46% 54% 50% 50% / 54% 48% 52% 46%;
    }
    50% {
        transform: translate3d(13vmax, -10vmax, 0) scale(0.9);
        border-radius: 54% 46% 44% 56% / 48% 55% 45% 52%;
    }
    100% {
        transform: translate3d(6vmax, -18vmax, 0) scale(1.12);
        border-radius: 48% 52% 56% 44% / 52% 46% 54% 48%;
    }
}

@keyframes catalogBlobC {
    0% {
        transform: translate3d(0, 0, 0) scale(1);
        border-radius: 50% 50% 46% 54% / 52% 46% 54% 48%;
    }
    50% {
        transform: translate3d(9vmax, 8vmax, 0) scale(1.16);
        border-radius: 44% 56% 52% 48% / 50% 54% 46% 50%;
    }
    100% {
        transform: translate3d(3vmax, 15vmax, 0) scale(0.94);
        border-radius: 55% 45% 48% 52% / 46% 50% 50% 54%;
    }
}

@keyframes catalogBlobD {
    0% {
        transform: translate3d(0, 0, 0) scale(1);
        border-radius: 48% 52% 54% 46% / 50% 52% 48% 50%;
    }
    50% {
        transform: translate3d(-10vmax, -7vmax, 0) scale(1.1);
        border-radius: 54% 46% 48% 52% / 54% 44% 56% 46%;
    }
    100% {
        transform: translate3d(-4vmax, -14vmax, 0) scale(0.95);
        border-radius: 46% 54% 52% 48% / 48% 54% 46% 52%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .deck-slide__inner--catalog .catalog-blob,
    .hero-bg .catalog-blob {
        animation: none;
    }
}

.deck-slide__inner--catalog .deck-slide__scroll {
    position: relative;
    z-index: 1;
}

/* ---------- Точки-навигация ---------- */
.deck-dots {
    position: fixed;
    right: 1.2rem;
    top: 50%;
    transform: translateY(-50%);
    z-index: 80;
    display: none;
    flex-direction: column;
    gap: 0.55rem;
}

@media (min-width: 1024px) {
    .deck-dots {
        display: flex;
    }
}

.deck-dots button {
    width: 0.55rem;
    height: 0.55rem;
    border-radius: 999px;
    border: 0;
    padding: 0;
    cursor: pointer;
    background: rgba(148, 163, 184, 0.5);
    transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

.deck-dots button:hover {
    background: rgba(148, 163, 184, 0.9);
}

.deck-dots button.active {
    height: 1.9rem;
    background: #16a34a;
    box-shadow: none;
}

/* ---------- Hero (слайд 1) — Dala-light: плоский тёплый канвас ---------- */
.tvon-home-page .hero-bg {
    background:
        radial-gradient(62rem 42rem at 80% 10%, rgba(22, 163, 74, 0.11), transparent 66%),
        radial-gradient(52rem 38rem at 6% 90%, rgba(255, 184, 41, 0.1), transparent 66%),
        radial-gradient(46rem 34rem at 90% 84%, rgba(13, 148, 136, 0.09), transparent 66%),
        radial-gradient(74rem 52rem at 28% 32%, rgba(22, 163, 74, 0.05), transparent 70%),
        linear-gradient(180deg, #fdfdfa 0%, #fcfcfb 45%, #faf9f3 100%);
    min-height: 100vh;
    min-height: 100svh;
    min-height: 100dvh;
    display: block;
    border-radius: 0;
    box-shadow: none;
}

.home-deck.is-3d .hero-bg {
    min-height: 0;
}

.tvon-home-page .hero-bg::before,
.tvon-home-page .hero-bg::after {
    content: none;
    background: none;
}

/* Пользовательская фоновая картинка слайда — самый нижний слой, под блобами/частицами */
.deck-slide__bgimg {
    position: absolute;
    inset: 0;
    z-index: 0;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    pointer-events: none;
}

/* Поле треугольных частиц на каждом слайде — под контентом */
.deck-particles {
    position: absolute;
    inset: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
}

.deck-slide__inner .deck-slide__scroll {
    position: relative;
    z-index: 1;
}

/* На каталог-слайде частицы поверх мягких блобов */
.deck-slide__inner--catalog .deck-particles {
    z-index: 1;
}

/* «Мозг»-констелляция из треугольных частиц — правый фон hero */
.tvon-home-page .hero-brain {
    position: absolute;
    inset: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    pointer-events: none;
}

@media (max-width: 767px) {
    .tvon-home-page .hero-brain {
        opacity: 0.4;
    }
}

.tvon-home-page .hero-bg .hero-content {
    position: relative;
    z-index: 2;
}

/* Каскад появления hero — на главной секции нет .reveal, запускаем напрямую */
.tvon-home-page .hero-cascade-1 { animation: homeFadeUp 0.75s cubic-bezier(0.22, 1, 0.3, 1) 0.06s both; }
.tvon-home-page .hero-cascade-2 { animation: homeFadeUp 0.75s cubic-bezier(0.22, 1, 0.3, 1) 0.14s both; }
.tvon-home-page .hero-cascade-3 { animation: homeFadeUp 0.75s cubic-bezier(0.22, 1, 0.3, 1) 0.22s both; }
.tvon-home-page .hero-cascade-4 { animation: homeFadeUp 0.75s cubic-bezier(0.22, 1, 0.3, 1) 0.3s both; }

/* Метка над заголовком — янтарный uppercase-лейбл, без плашки */
.hero-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0;
    margin-bottom: 1.15rem;
    background: transparent;
    border: none;
    color: #a97b0a;
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.hero-badge svg {
    color: #ffb829;
}

/* Заголовок hero — глубокий зелёный чернил, лёгкий вес, масштаб (Dala) */
.tvon-home-page .hero-bg h1 {
    color: #1f3d2c !important;
    font-weight: 400 !important;
    letter-spacing: -0.045em !important;
    line-height: 1.04 !important;
    text-wrap: balance;
}

/* Акцент в заголовке — градиент зелёный→tile + янтарный маркер-подчёрк */
.tvon-home-page .hero-bg h1 .hero-title-accent {
    background: linear-gradient(92deg, #16a34a 10%, #0d9488 90%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    text-shadow: none;
    box-shadow: inset 0 -0.11em 0 0 rgba(255, 184, 41, 0.9);
    padding-bottom: 0.02em;
}

.tvon-home-page .hero-bg .hero-sub {
    color: #2e4438;
    font-weight: 500;
    font-size: 1.08rem !important;
    line-height: 1.6 !important;
}

/* Кнопки hero — Dala: один фиолетовый pill, остальные текстовые */
.hero-btn-primary {
    border-radius: 1.5rem;
    color: #ffffff;
    background: #16a34a;
    box-shadow: none;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    font-size: 0.85rem !important;
}

.hero-btn-primary:hover {
    filter: brightness(1.08);
    box-shadow: none;
}

.hero-btn-ghost {
    border-radius: 1.5rem;
    color: #1f3d2c;
    background: rgba(255, 255, 255, 0.72);
    border: 1px solid #b5b2a6;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

.hero-btn-ghost:hover {
    background: #ffffff;
    border-color: #16a34a;
    color: #15803d;
}

.hero-btn-amber {
    border-radius: 1.5rem;
    color: #131210;
    background: #ffb829;
    box-shadow: none;
}

.hero-btn-amber:hover {
    filter: brightness(0.97);
    box-shadow: none;
}

/* Полоса доверия на мобильных (визуал скрыт) */
.hero-trust {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    justify-content: center;
    margin-top: 1.4rem;
}

.hero-trust span {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.45rem 0.85rem;
    border-radius: 999px;
    background: #f4f2ec;
    border: none;
    color: #706e66;
    font-size: 0.75rem;
    font-weight: 500;
}

.hero-trust svg {
    width: 0.95rem;
    height: 0.95rem;
    color: #16a34a;
}

/* Ряд преимуществ под подзаголовком hero (иконка в плашке + текст) */
.hero-feats {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.6rem;
    margin: 0 0 1.6rem;
    max-width: 36rem;
}

.hero-feat {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.65rem 0.9rem;
    min-width: 0;
    font-size: 0.8rem;
    font-weight: 600;
    line-height: 1.3;
    color: #3f4a42;
    background: rgba(255, 255, 255, 0.62);
    border: 1px solid rgba(22, 163, 74, 0.16);
    border-radius: 0.9rem;
    box-shadow: 0 1px 3px rgba(31, 61, 44, 0.07);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    overflow-wrap: break-word;
}

.hero-feat svg {
    width: 1rem;
    height: 1rem;
    padding: 0.42rem;
    box-sizing: content-box;
    flex-shrink: 0;
    color: #15803d;
    background: #e7f4ea;
    border: 1px solid rgba(22, 163, 74, 0.14);
    border-radius: 0.6rem;
}

/* Бегущий акцент по фичам: 1→2→3→4→3→2→… (ping-pong, цикл 7.2с) */
.hero-feats .hero-feat {
    animation-duration: 7.2s;
    animation-timing-function: ease-in-out;
    animation-iteration-count: infinite;
    will-change: transform;
}
.hero-feats .hero-feat:nth-child(1) { animation-name: featLift1; }
.hero-feats .hero-feat:nth-child(2) { animation-name: featLift2; }
.hero-feats .hero-feat:nth-child(3) { animation-name: featLift3; }
.hero-feats .hero-feat:nth-child(4) { animation-name: featLift4; }

@keyframes featLift1 {
    0%, 13.5%   { transform: translateY(-3px); color: #15803d; }
    17.5%, 97%  { transform: none; color: #3f4a42; }
    98.5%, 100% { transform: translateY(-3px); color: #15803d; }
}
@keyframes featLift2 {
    0%, 15.5%    { transform: none; color: #3f4a42; }
    17.5%, 30%   { transform: translateY(-3px); color: #15803d; }
    34%, 82%     { transform: none; color: #3f4a42; }
    83.5%, 97%   { transform: translateY(-3px); color: #15803d; }
    100%         { transform: none; color: #3f4a42; }
}
@keyframes featLift3 {
    0%, 32%      { transform: none; color: #3f4a42; }
    33.5%, 47.5% { transform: translateY(-3px); color: #15803d; }
    51%, 65.5%   { transform: none; color: #3f4a42; }
    67%, 80.5%   { transform: translateY(-3px); color: #15803d; }
    84.5%, 100%  { transform: none; color: #3f4a42; }
}
@keyframes featLift4 {
    0%, 49%    { transform: none; color: #3f4a42; }
    50.5%, 64% { transform: translateY(-3px); color: #15803d; }
    68%, 100%  { transform: none; color: #3f4a42; }
}

/* Правая часть hero: стеклянная карточка + плавающие чипы */
.hero-visual {
    position: relative;
}

.hero-visual::before {
    content: "";
    position: absolute;
    width: 26rem;
    height: 26rem;
    right: -6rem;
    top: -5rem;
    background: radial-gradient(circle, rgba(22, 163, 74, 0.16), transparent 65%);
    filter: blur(10px);
    z-index: 0;
    pointer-events: none;
}

.hero-tv-card {
    position: relative;
    z-index: 1;
    border-radius: 1.5rem;
    padding: 0.9rem;
    background: rgba(239, 237, 231, 0.7);
    border: none;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    box-shadow: none;
    transition: transform 0.4s ease;
}

.hero-tv-card:hover {
    transform: translateY(-4px);
}

.hero-tv-card img {
    width: 100%;
    aspect-ratio: 16 / 10;
    object-fit: cover;
    border-radius: 1rem;
    display: block;
}

.hero-chip {
    position: absolute;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    padding: 0.6rem 0.95rem;
    border-radius: 1rem;
    background: #f4f2ec;
    color: #131210;
    font-size: 0.8rem;
    font-weight: 600;
    white-space: nowrap;
    box-shadow: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    animation: heroChipFloat 6s ease-in-out infinite;
}

.hero-chip__ico {
    width: 1.9rem;
    height: 1.9rem;
    border-radius: 0.7rem;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    background: #16a34a;
    color: #fff;
}

.hero-chip__ico svg {
    width: 1rem;
    height: 1rem;
}

.hero-chip--a { left: -1.4rem; top: 16%; }
.hero-chip--b { right: -1rem; top: 46%; animation-delay: 1.4s; }
.hero-chip--c { left: 10%; bottom: -1.1rem; animation-delay: 2.6s; }

@keyframes heroChipFloat {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-9px); }
}

/* ---------- Заголовки секций ---------- */
.tvon-home-page .home-sec-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.6rem;
}

.tvon-home-page .home-sec-head--col {
    align-items: flex-start;
    margin-bottom: 1.2rem;
}

/* Заголовки секций — чернила, вес 400, масштаб вместо жирности (Dala) */
.tvon-home-page .home-sec-head h2 {
    font-size: clamp(1.8rem, 3.2vw, 2.4rem);
    font-weight: 400;
    color: #131210;
    letter-spacing: -0.03em;
    display: flex;
    align-items: center;
    gap: 0.65rem;
}

.tvon-home-page .home-sec-head h2 em {
    font-style: normal;
    background: none;
    color: #16a34a;
}

.tvon-home-page .home-sec-head p {
    color: #706e66;
    font-size: 1rem;
    font-weight: 300;
    margin-top: 0.3rem;
}

.tvon-home-page .home-sec-head--light h2 {
    color: #131210;
}

.tvon-home-page .home-sec-head--light p {
    color: #706e66;
}

/* Ссылки секций — голый текст, hover в фиолет (Dala) */
.tvon-home-page .home-sec-link {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    color: #706e66;
    font-weight: 500;
    font-size: 0.9rem;
    white-space: nowrap;
    padding: 0.45rem 0;
    background: transparent;
    transition: color 0.2s ease;
}

.tvon-home-page .home-sec-link:hover {
    background: transparent;
    color: #16a34a;
}

.tvon-home-page .home-sec-link--solid {
    color: #131210;
}

.tvon-home-page .home-sec-link--solid:hover {
    background: transparent;
    color: #16a34a;
}

.tvon-home-page .home-sec-link--plain {
    padding: 0.45rem 0;
    background: transparent;
}

.tvon-home-page .home-sec-link--plain:hover {
    background: transparent;
    color: #16a34a;
}

/* ---------- Каталог-слайд: чернила + Electric Iris ---------- */
.deck-slide__inner--catalog .home-sec-head h2 {
    color: #131210;
}

.deck-slide__inner--catalog .home-sec-head p {
    color: #706e66;
}

.deck-slide__inner--catalog .home-sec-link--plain {
    color: #706e66;
}

.deck-slide__inner--catalog .home-sec-link--plain:hover {
    color: #16a34a;
}

/* Кнопка-CTA «Весь каталог» — фиолетовый pill (Dala: единственный акцент) */
.tvon-home-page .home-sec-cta {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.85rem 1.4rem;
    border-radius: 1.5rem;
    background: #16a34a;
    color: #ffffff;
    font-weight: 600;
    font-size: 0.85rem;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    white-space: nowrap;
    box-shadow: none;
    transition: transform 0.2s ease, filter 0.2s ease;
}

.tvon-home-page .home-sec-cta:hover {
    transform: translateY(-1px);
    filter: brightness(1.08);
    box-shadow: none;
}

/* ---------- Категории: бенто-сетка, главная плитка крупная ---------- */
.tvon-home-page .home-cats-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-auto-rows: clamp(6.5rem, 16vh, 10.5rem);
    gap: 0.9rem;
}

/* Плитки категорий — Dala: парят на канвасе, без рамок и теней */
.tvon-home-page .home-cat-card {
    position: relative;
    display: flex;
    flex-direction: column;
    height: 100%;
    border: none;
    background: transparent;
    transition: transform 0.25s ease;
}

.tvon-home-page .home-cat-card:hover {
    transform: translateY(-4px);
}

/* Кнопка-стрелка в углу карточки — проявляется на hover */
.tvon-home-page .home-cat-card__arrow {
    position: absolute;
    top: 0.8rem;
    right: 0.8rem;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.1rem;
    height: 2.1rem;
    border-radius: 50%;
    background: #16a34a;
    border: none;
    color: #ffffff;
    box-shadow: none;
    opacity: 0;
    transform: translateY(-0.3rem) scale(0.8);
    transition: opacity 0.25s ease, transform 0.25s ease;
}

.tvon-home-page .home-cat-card__arrow svg {
    width: 1.05rem;
    height: 1.05rem;
}

.tvon-home-page .home-cat-card:hover .home-cat-card__arrow,
.tvon-home-page .home-cat-card:focus-visible .home-cat-card__arrow {
    opacity: 1;
    transform: none;
}

/* Главная плитка «Телевизоры» — крупная, 2×2 */
@media (max-width: 1023px) {
    .tvon-home-page .home-cat-card--hero {
        grid-column: 1 / -1;
        grid-row: span 2;
    }
}

@media (min-width: 1024px) {
    .tvon-home-page .home-cats-grid {
        grid-template-columns: repeat(5, 1fr);
        gap: 1.05rem;
    }

    .tvon-home-page .home-cat-card--hero {
        grid-column: span 2;
        grid-row: span 2;
    }

    .tvon-home-page .home-cat-card--hero .home-cat-card__label {
        font-size: 1.1rem;
        padding: 0.75rem 0.2rem 0;
    }
}

.tvon-home-page .home-cat-card__media {
    position: relative;
    flex: 1;
    min-height: 0;
    background: #f5f4f0;
    border-radius: 1.4rem;
    overflow: hidden;
}

.tvon-home-page .home-cat-card__media img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 0.2rem;
    box-sizing: border-box;
    /* зум съедает пустые поля исходника; сдвиг вверх — срезается
       пустое небо над товаром, а не низ с ножками */
    transform: scale(1.45);
    transform-origin: 50% 42%;
    transition: transform 0.5s ease;
}

/* На телефоне плитки выше — картинка читается, а не обрезается */
@media (max-width: 640px) {
    .tvon-home-page .home-cats-grid {
        grid-auto-rows: clamp(8rem, 26vw, 10rem);
    }
}

.tvon-home-page .home-cat-card:hover .home-cat-card__media img {
    transform: scale(1.55);
}

/* Подпись — чернильный текст под плиткой, без полосы и рамок */
.tvon-home-page .home-cat-card__label {
    flex-shrink: 0;
    /* Всегда 2 строки — подписи в ряду выровнены, окна картинок одинаковы */
    min-height: calc(0.92rem * 1.25 * 2 + 0.65rem);
    padding: 0.65rem 0.2rem 0;
    color: #131210;
    font-size: 0.92rem;
    font-weight: 500;
    line-height: 1.25;
    text-align: center;
    background: transparent;
    border-top: none;
}

/* ---------- Бренды: свободная лента логотипов на канвасе (Dala) ---------- */
.tvon-home-page .home-brands-strip {
    margin-top: clamp(1.4rem, 4vh, 2.75rem);
}

.tvon-home-page .home-brands-strip .home-sec-head {
    margin-bottom: 1rem;
}

.tvon-home-page .brand-card {
    background: transparent;
    border: none;
    border-radius: 0;
    box-shadow: none;
    height: 58px;
    min-width: 150px;
    padding: 6px 20px;
}

.tvon-home-page .brand-card:hover {
    box-shadow: none;
}

/* Белая подложка у PNG-логотипов растворяется в канвасе (multiply),
   сами логотипы чуть крупнее */
.tvon-home-page .brand-card img {
    mix-blend-mode: multiply;
    max-height: 44px;
    max-width: 150px;
    opacity: 0.9;
    transition: transform 0.25s ease, opacity 0.25s ease;
}

.tvon-home-page .brand-card:hover img {
    opacity: 1;
    transform: scale(1.08);
}

/* Ряды бегущей строки ближе друг к другу */
.tvon-home-page .brands-wrapper {
    gap: 8px;
}

/* Края бегущей строки — плавное растворение карточек через маску,
   без белой «стены» поверх мятного фона */
.tvon-home-page .brands-wrapper::before,
.tvon-home-page .brands-wrapper::after {
    display: none;
}

.tvon-home-page .brands-wrapper {
    -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 9%, #000 91%, transparent 100%);
    mask-image: linear-gradient(90deg, transparent 0, #000 9%, #000 91%, transparent 100%);
}

/* ---------- Карточки товаров — парящие, без рамок/теней (Dala) ---------- */
.tvon-home-page .home-product-card {
    position: relative;
    display: flex;
    flex-direction: column;
    background: transparent;
    border: none;
    transition: transform 0.3s ease;
}

.tvon-home-page .home-product-card:hover {
    transform: translateY(-4px);
}

.tvon-home-page .home-product-card__fav {
    position: absolute;
    top: 0.75rem;
    right: 0.75rem;
    z-index: 10;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 50%;
    background: #f4f2ec;
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #706e66;
    transition: color 0.2s ease, transform 0.15s ease;
}

.tvon-home-page .home-product-card__fav:hover {
    transform: scale(1.06);
    color: #16a34a;
}

.tvon-home-page .home-product-card__media {
    display: block;
    aspect-ratio: 16 / 9;
    background: #f5f4f0;
    border-radius: 1.4rem;
    overflow: hidden;
}

.tvon-home-page .home-product-card__media img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 1rem;
    transition: transform 0.3s ease;
}

.tvon-home-page .home-product-card:hover .home-product-card__media img {
    transform: scale(1.05);
}

.tvon-home-page .home-product-card__body {
    padding: 0.7rem 0.2rem 0;
    display: flex;
    flex-direction: column;
    flex: 1;
}

.tvon-home-page .home-product-card__title {
    font-weight: 500;
    color: #131210;
    font-size: 0.95rem;
    line-height: 1.35;
    min-height: 2.6rem;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.tvon-home-page .home-product-card__title a:hover {
    color: #16a34a;
}

.tvon-home-page .home-product-card__price {
    font-size: 1.15rem;
    font-weight: 700;
    color: #131210;
    margin: 0.4rem 0 0.65rem;
    font-variant-numeric: tabular-nums;
}

.tvon-home-page .home-product-card__btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    width: 100%;
    padding: 0.7rem 1rem;
    margin-top: auto;
    border: none;
    border-radius: 1.4rem;
    background: #16a34a;
    color: #fff;
    font-weight: 600;
    font-size: 0.85rem;
    letter-spacing: 0.02em;
    cursor: pointer;
    transition: filter 0.2s ease;
}

.tvon-home-page .home-product-card__btn:hover {
    filter: brightness(1.08);
}

/* ---------- «Почему мы»: голые строки на канвасе (Dala) ---------- */
.tvon-home-page .why-list {
    display: grid;
    gap: 0.45rem;
}

.tvon-home-page .why-card {
    display: flex;
    align-items: flex-start;
    gap: 0.7rem;
    background: transparent;
    border: none;
    padding: 0.5rem 0;
    transition: transform 0.25s ease;
}

.tvon-home-page .why-card:hover {
    transform: translateY(-2px);
}

.tvon-home-page .why-card__ico {
    width: 2.1rem;
    height: 2.1rem;
    border-radius: 0.65rem;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #16a34a;
    color: #fff;
}

.tvon-home-page .why-card__ico svg {
    width: 1rem;
    height: 1rem;
}

.tvon-home-page .why-card__t {
    font-weight: 500;
    color: #131210;
    font-size: 0.85rem;
    line-height: 1.25;
}

.tvon-home-page .why-card__s {
    color: #706e66;
    font-size: 0.74rem;
    line-height: 1.3;
}

/* Промо появляется через ~3 сек после загрузки: подъём,
   проявление из размытия, лёгкий scale — одноразовая сцена */
.tvon-home-page .tvon-home-promo {
    animation: promoReveal 0.95s cubic-bezier(0.22, 0.61, 0.2, 1) 3s both;
}

@keyframes promoReveal {
    0% {
        opacity: 0;
        transform: translateY(28px) scale(0.96);
        filter: blur(12px);
    }
    55% {
        opacity: 1;
    }
    100% {
        opacity: 1;
        transform: none;
        filter: blur(0);
    }
}

/* ---------- Промо-карточка: чернильное стекло ---------- */
.tvon-home-page .tvon-home-promo {
    border-color: transparent !important;
    box-shadow: none !important;
    border-radius: 1.6rem !important;
    background: rgba(23, 21, 15, 0.88);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
}

.tvon-home-page .tvon-home-promo .bg-gradient-to-br {
    background-image: none !important;
    background-color: rgba(23, 21, 15, 0.4) !important;
}

/* Заголовок акции — крупно, но лёгкий вес (Dala: масштаб вместо жирности) */
.tvon-home-page .tvon-home-promo h3 {
    font-weight: 500 !important;
    letter-spacing: -0.02em !important;
    line-height: 1.15 !important;
}

/* Плашка «АКЦИЯ» — янтарь на чернилах */
.tvon-home-page .tvon-home-promo .bg-white\/10 {
    background-color: rgba(255, 184, 41, 0.14) !important;
    --tw-ring-color: rgba(255, 184, 41, 0.3) !important;
    color: #ffcf6b !important;
}

/* Свечение за фото товара — фиолетово-янтарное */
.tvon-home-page .tvon-home-promo .from-emerald-400\/40 {
    background-image: linear-gradient(135deg, rgba(22, 163, 74, 0.55), rgba(255, 184, 41, 0.2)) !important;
}

/* ---------- Промо-карточка: редизайн (Dala-dark остров) ---------- */
.tvon-home-page .tvon-home-promo .promo-badge {
    background: rgba(255, 184, 41, 0.13);
    color: #ffcf6b;
    box-shadow: inset 0 0 0 1px rgba(255, 184, 41, 0.28);
}

.tvon-home-page .tvon-home-promo .promo-meta {
    font-size: 0.8rem;
    font-weight: 500;
    color: #b9b6ae;
}

.tvon-home-page .tvon-home-promo .promo-meta--dim {
    color: #8b8880;
}

.tvon-home-page .tvon-home-promo .promo-title {
    font-size: clamp(1.45rem, 2.4vw, 1.9rem);
    font-weight: 500;
    letter-spacing: -0.02em;
    line-height: 1.12;
    color: #fcfcfb;
}

.tvon-home-page .tvon-home-promo .promo-desc {
    font-size: 0.82rem;
    line-height: 1.45;
    font-weight: 300;
    color: #c9c6be;
}

.tvon-home-page .tvon-home-promo .promo-desc__check {
    color: #ffb829;
}

.tvon-home-page .tvon-home-promo .promo-price__now {
    font-size: clamp(1.7rem, 3vw, 2.3rem);
    font-weight: 600;
    letter-spacing: -0.02em;
    color: #fcfcfb;
}

.tvon-home-page .tvon-home-promo .promo-price__old {
    font-size: 0.95rem;
    font-weight: 400;
    color: #8b8880;
}

.tvon-home-page .tvon-home-promo .promo-disc {
    background: #ffb829;
    color: #131210;
}

/* Таймер — волосная линия, плоские ячейки (без «стеклянных» плашек) */
.tvon-home-page .tvon-home-promo .promo-timer-cell {
    min-width: 3.5rem;
    text-align: center;
    padding: 0.55rem 0.7rem 0.5rem;
    border-radius: 0.9rem;
    background: rgba(255, 255, 255, 0.045);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.11);
}

.tvon-home-page .tvon-home-promo .timer-number {
    font-size: 1.05rem;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    color: #fcfcfb;
    line-height: 1.1;
}

.tvon-home-page .tvon-home-promo .promo-timer-label {
    margin-top: 2px;
    font-size: 0.58rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #8b8880;
}

/* CTA — фиолетовый pill */
.tvon-home-page .tvon-home-promo .promo-cta {
    background: #16a34a;
    color: #ffffff;
    transition: background 0.2s ease, transform 0.2s ease;
}

.tvon-home-page .tvon-home-promo .promo-cta:hover {
    background: #15803d;
    transform: translateY(-1px);
}

.tvon-home-page .tvon-home-promo .promo-cta--off {
    background: rgba(255, 255, 255, 0.12);
    color: rgba(255, 255, 255, 0.5);
}

/* Фото — мягкое фиолетово-янтарное свечение, тег скидки фиолетовый */
.tvon-home-page .tvon-home-promo .promo-media__glow {
    background: linear-gradient(135deg, rgba(22, 163, 74, 0.55), rgba(255, 184, 41, 0.18));
    filter: blur(22px);
    opacity: 0.85;
}

.tvon-home-page .tvon-home-promo .promo-tag {
    background: #16a34a;
    color: #ffffff;
}

.tvon-home-page .tvon-home-promo .bg-emerald-500\/20 {
    background-color: rgba(22, 163, 74, 0.22) !important;
}

.tvon-home-page .tvon-home-promo .bg-teal-400\/10 {
    background-color: rgba(255, 184, 41, 0.12) !important;
}

.tvon-home-page .tvon-home-promo .text-emerald-100,
.tvon-home-page .tvon-home-promo .text-emerald-100\/90,
.tvon-home-page .tvon-home-promo .text-emerald-100\/95 {
    color: #d9d6cf !important;
}

.tvon-home-page .tvon-home-promo .text-emerald-200\/70,
.tvon-home-page .tvon-home-promo .text-emerald-200\/80 {
    color: #9a978e !important;
}

.tvon-home-page .tvon-home-promo .text-emerald-300,
.tvon-home-page .tvon-home-promo .text-emerald-300\/80 {
    color: #ffb829 !important;
}

.tvon-home-page .tvon-home-promo .ring-white\/15,
.tvon-home-page .tvon-home-promo .ring-white\/10 {
    --tw-ring-color: rgba(255, 255, 255, 0.14) !important;
}

/* ---------- Промо-карточка: компактнее ---------- */
.tvon-home-page .tvon-home-promo > .relative {
    padding: 1.25rem 1.5rem !important;
}

.tvon-home-page .tvon-home-promo .md\:grid-cols-2 {
    gap: 1.25rem !important;
}

.tvon-home-page .tvon-home-promo .space-y-3 > * + * {
    margin-top: 0.55rem !important;
}

@media (min-width: 640px) {
    .tvon-home-page .tvon-home-promo .sm\:space-y-5 > * + * {
        margin-top: 0.65rem !important;
    }
}

.tvon-home-page .tvon-home-promo h3 {
    font-size: 1.35rem !important;
    line-height: 1.2 !important;
}

.tvon-home-page .tvon-home-promo .tabular-nums.font-black {
    font-size: 1.75rem !important;
}

/* Ячейки таймера */
.tvon-home-page .tvon-home-promo .rounded-xl {
    min-width: 2.7rem !important;
    padding: 0.4rem 0.55rem !important;
}

.tvon-home-page .tvon-home-promo .timer-number {
    font-size: 0.95rem !important;
}

/* Кнопка покупки и картинка */
.tvon-home-page .tvon-home-promo button {
    padding-top: 0.6rem !important;
    padding-bottom: 0.6rem !important;
    font-size: 0.875rem !important;
}

.tvon-home-page .tvon-home-promo .max-w-md {
    max-width: 21rem !important;
}

@media (min-width: 1024px) {
    .tvon-home-page .tvon-home-promo > .relative {
        padding: 1.75rem 2rem !important;
    }

    .tvon-home-page .tvon-home-promo h3 {
        font-size: 1.5rem !important;
    }

    .tvon-home-page .tvon-home-promo .tabular-nums.font-black {
        font-size: 2rem !important;
    }
}

/* ---------- Отзывы: края ---------- */
.tvon-home-page .reviews-wrapper::before {
    background: linear-gradient(to right, #fcfcfb, transparent);
}

.tvon-home-page .reviews-wrapper::after {
    background: linear-gradient(to left, #fcfcfb, transparent);
}

/* ---------- Контакты: плоская тёплая панель без рамок ---------- */
.tvon-home-page .home-contact-card {
    background: #f4f2ec;
    border: none;
    border-radius: 1.5rem;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    box-shadow: none;
}

/* Тёмные подписи внутри светлой панели */
.tvon-home-page .home-contact-card .text-white,
.tvon-home-page .home-contact-card .text-slate-100 {
    color: #131210;
}

.tvon-home-page .home-contact-card .text-slate-400,
.tvon-home-page .home-contact-card .text-slate-500 {
    color: #706e66;
}

.tvon-home-page .home-contact-card .text-emerald-300 {
    color: #16a34a;
}

.tvon-home-page .home-contact-card a.group:hover {
    background: rgba(19, 18, 16, 0.05);
}

.tvon-home-page .home-contact-chip {
    background: #fcfcfb;
    border: none;
    border-radius: 1rem;
    padding: 1rem;
}

.tvon-home-page .home-contact-chip__ico {
    background: #16a34a;
    color: #fff;
    box-shadow: none;
}

/* ---------- Карта в контактах: вписываем в тёмную карточку ---------- */
.tvon-home-page .home-contact-map {
    border-radius: 0;
    overflow: hidden;
}

.tvon-home-page .home-contact-map iframe {
    filter: saturate(0.9) contrast(1.03) brightness(0.96);
}

/* Мягкая виньетка краёв карты — сливается со светлой карточкой */
.tvon-home-page .home-contact-map__glow {
    position: absolute;
    inset: 0;
    pointer-events: none;
    box-shadow:
        inset 0 0 0 1px rgba(226, 232, 240, 0.8),
        inset 0 -40px 50px -30px rgba(15, 23, 42, 0.18),
        inset 0 24px 34px -24px rgba(15, 23, 42, 0.12);
}

/* Плавающая метка с адресом поверх карты — чернильная плашка */
.tvon-home-page .home-contact-map__pin {
    position: absolute;
    left: 0.875rem;
    top: 0.875rem;
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.5rem 0.8rem;
    border-radius: 0.75rem;
    background: rgba(19, 18, 16, 0.85);
    border: none;
    color: #fcfcfb;
    font-size: 0.75rem;
    font-weight: 600;
    pointer-events: none;
    box-shadow: none;
}

.tvon-home-page .home-contact-map__pin i {
    color: #ffb829;
}

/* Кнопка «Построить маршрут» — фиолетовый ghost */
.tvon-home-page .home-contact-route {
    border: none;
    border-radius: 1rem;
    padding: 0.55rem 0.9rem 0.55rem 0.55rem;
    background: rgba(22, 163, 74, 0.1);
    color: #16a34a;
    transition: background 0.25s ease;
}

.tvon-home-page .home-contact-route:hover {
    background: rgba(22, 163, 74, 0.18);
}

/* ---------- Слайд контактов: 3 отдельные карточки (макет) ---------- */

/* Зелёная черта у заголовков «Контакты» и «Каталог» */
.tvon-home-page .home-sec-head--contacts h2,
.deck-slide__inner--catalog .home-sec-head h2 {
    position: relative;
    padding-left: 1rem;
}
.tvon-home-page .home-sec-head--contacts h2::before,
.deck-slide__inner--catalog .home-sec-head h2::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.12em;
    bottom: 0.12em;
    width: 5px;
    border-radius: 999px;
    background: linear-gradient(180deg, #16a34a, #0d9488);
}

.tvon-home-page .home-contact-grid {
    display: grid;
    gap: 1.1rem;
}

@media (min-width: 1024px) {
    .tvon-home-page .home-contact-grid {
        grid-template-columns: 1fr 1.15fr 1fr;
        align-items: stretch;
    }
}

.tvon-home-page .contact-card {
    background: #fff;
    border: 1px solid #e8e6dd;
    border-radius: 1.4rem;
    padding: 0.55rem;
    box-shadow: 0 10px 30px rgba(19, 18, 16, 0.06);
    display: flex;
    flex-direction: column;
    justify-content: center;
}

/* Строки: адрес / режим / доставка / маршрут */
.tvon-home-page .contact-row {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    padding: 0.7rem 0.65rem;
    border-radius: 1rem;
    text-decoration: none;
    transition: background 0.2s ease;
}

.tvon-home-page a.contact-row:hover {
    background: rgba(22, 163, 74, 0.06);
}

.tvon-home-page .contact-row__ico {
    width: 2.7rem;
    height: 2.7rem;
    border-radius: 0.9rem;
    background: rgba(22, 163, 74, 0.1);
    color: #16a34a;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.tvon-home-page .contact-row__body {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.tvon-home-page .contact-row__title {
    font-weight: 600;
    font-size: 0.92rem;
    color: #1f3d2c;
}

.tvon-home-page .contact-row__sub {
    font-size: 0.8rem;
    color: #7a786e;
    line-height: 1.35;
}

.tvon-home-page .contact-row__link {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    margin-top: 0.2rem;
    font-size: 0.78rem;
    font-weight: 600;
    color: #16a34a;
}

.tvon-home-page .contact-row__chev {
    margin-left: auto;
    color: #c6c3b8;
    flex-shrink: 0;
    transition: color 0.2s ease, transform 0.2s ease;
}

.tvon-home-page a.contact-row:hover .contact-row__chev {
    color: #16a34a;
    transform: translateX(2px);
}

/* Карта — отдельная скруглённая карточка */
.tvon-home-page .contact-map-card {
    position: relative;
    min-height: 280px;
    border-radius: 1.4rem;
    overflow: hidden;
    border: 1px solid #e8e6dd;
    box-shadow: 0 10px 30px rgba(19, 18, 16, 0.06);
}

@media (min-width: 1024px) {
    .tvon-home-page .contact-map-card {
        min-height: 0;
        height: 100%;
    }
}

/* Пилюля «Открыть в Google Maps» поверх карты */
.tvon-home-page .contact-map-open {
    position: absolute;
    left: 50%;
    bottom: 0.9rem;
    transform: translateX(-50%);
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.5rem 0.95rem;
    border-radius: 999px;
    background: #fcfcfb;
    border: 1px solid #e8e6dd;
    color: #16a34a;
    font-size: 0.78rem;
    font-weight: 600;
    white-space: nowrap;
    box-shadow: 0 8px 20px rgba(19, 18, 16, 0.14);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    text-decoration: none;
}

.tvon-home-page .contact-map-open:hover {
    transform: translateX(-50%) translateY(-2px);
    box-shadow: 0 12px 26px rgba(19, 18, 16, 0.18);
}

/* Правая колонка */
.tvon-home-page .contact-side {
    display: flex;
    flex-direction: column;
    gap: 1.1rem;
    min-width: 0;
}

/* Телефон-плашка сверху */
.tvon-home-page .contact-phone-card {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    background: #fff;
    border: 1px solid #e8e6dd;
    border-radius: 1.4rem;
    padding: 0.8rem 1.05rem;
    box-shadow: 0 10px 30px rgba(19, 18, 16, 0.06);
    text-decoration: none;
    transition: border-color 0.2s ease, transform 0.2s ease;
}

.tvon-home-page .contact-phone-card:hover {
    border-color: rgba(22, 163, 74, 0.45);
    transform: translateY(-1px);
}

.tvon-home-page .contact-phone-card__ico {
    width: 2.7rem;
    height: 2.7rem;
    border-radius: 999px;
    background: rgba(22, 163, 74, 0.1);
    color: #16a34a;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.tvon-home-page .contact-phone-card__num {
    display: block;
    font-weight: 700;
    font-size: 1.02rem;
    color: #1f3d2c;
    letter-spacing: 0.01em;
}

.tvon-home-page .contact-phone-card__sub {
    display: block;
    font-size: 0.75rem;
    color: #7a786e;
}

/* Соцсети-карточка */
.tvon-home-page .contact-card--social {
    flex: 1;
    padding: 1.05rem 0.9rem 0.9rem;
    justify-content: flex-start;
}

.tvon-home-page .contact-card--social h3 {
    font-size: 1.02rem;
    font-weight: 700;
    color: #1f3d2c;
    margin: 0 0.35rem;
}

.tvon-home-page .contact-card__lead {
    font-size: 0.78rem;
    color: #7a786e;
    margin: 0.15rem 0.35rem 0.6rem;
}

.tvon-home-page .contact-social {
    display: flex;
    flex-direction: column;
    flex: 1;
}

.tvon-home-page .contact-social__row {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    padding: 0.45rem 0.4rem;
    border-radius: 0.9rem;
    text-decoration: none;
    transition: background 0.2s ease;
}

.tvon-home-page .contact-social__row:hover {
    background: rgba(22, 163, 74, 0.06);
}

.tvon-home-page .contact-social__ico {
    width: 2.55rem;
    height: 2.55rem;
    border-radius: 0.85rem;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: transform 0.2s ease;
}

.tvon-home-page .contact-social__row:hover .contact-social__ico {
    transform: scale(1.06);
}

.tvon-home-page .contact-social__ico--ig   { background: linear-gradient(135deg, #f43f5e, #ec4899); }
.tvon-home-page .contact-social__ico--tg   { background: #2aabee; }
.tvon-home-page .contact-social__ico--tel  { background: #16a34a; }
.tvon-home-page .contact-social__ico--mail { background: #f59e0b; }

.tvon-home-page .contact-social__body {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
}

.tvon-home-page .contact-social__name {
    font-weight: 600;
    font-size: 0.88rem;
    color: #1f3d2c;
}

.tvon-home-page .contact-social__sub {
    font-size: 0.74rem;
    color: #7a786e;
}

/* Кнопка партнёрства — зелёный pill */
.tvon-home-page .contact-partner-btn {
    margin-top: 0.8rem;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    background: #16a34a;
    color: #fcfcfb;
    border: none;
    cursor: pointer;
    padding: 0.8rem 1rem;
    border-radius: 999px;
    font-weight: 700;
    font-size: 0.9rem;
    box-shadow: 0 8px 20px rgba(22, 163, 74, 0.25);
    transition: background 0.2s ease, transform 0.15s ease;
}

.tvon-home-page .contact-partner-btn:hover {
    background: #15803d;
    transform: translateY(-1px);
}

.tvon-home-page .contact-partner-btn svg {
    color: inherit;
}

/* ---------- Контакты: цветные акценты иконок + чуть крупнее ---------- */

/* Левая карточка: строки тянутся на всю высоту с разделителями — без пустот */
.tvon-home-page .home-contact-grid > .contact-card:not(.contact-card--social) {
    justify-content: stretch;
    padding-top: 0;
    padding-bottom: 0;
}

.tvon-home-page .home-contact-grid > .contact-card:not(.contact-card--social) .contact-row {
    flex: 1 0 auto;
    min-height: 3.6rem;
    border-radius: 0;
    padding: 0.4rem 0.9rem;
}

.tvon-home-page .home-contact-grid > .contact-card:not(.contact-card--social) .contact-row + .contact-row {
    border-top: 1px solid #f0eee6;
}

.tvon-home-page .contact-row {
    padding: 0.85rem 0.7rem;
}

.tvon-home-page .contact-row__ico {
    width: 3rem;
    height: 3rem;
}

.tvon-home-page .contact-row__ico svg {
    width: 1.3rem;
    height: 1.3rem;
}

/* Цветные акценты левой колонки — приглушённые тинты в палитре сайта */
.tvon-home-page .contact-row__ico--pin {
    background: rgba(22, 163, 74, 0.12);
    color: #16a34a;
}

.tvon-home-page .contact-row__ico--clock {
    background: rgba(217, 145, 20, 0.12);
    color: #b45309;
}

.tvon-home-page .contact-row__ico--truck {
    background: rgba(13, 148, 136, 0.12);
    color: #0d9488;
}

.tvon-home-page .contact-row__ico--route {
    background: rgba(37, 99, 235, 0.1);
    color: #2563eb;
}

/* Текст левой карточки чуть крупнее */
.tvon-home-page .contact-row__title {
    font-size: 0.97rem;
}

.tvon-home-page .contact-row__sub {
    font-size: 0.84rem;
}

.tvon-home-page .contact-row__link {
    font-size: 0.82rem;
}

/* Телефон-плашка — иконка и номер чуть крупнее */
.tvon-home-page .contact-phone-card__ico {
    width: 3rem;
    height: 3rem;
}

.tvon-home-page .contact-phone-card__ico svg {
    width: 1.3rem;
    height: 1.3rem;
}

.tvon-home-page .contact-phone-card__num {
    font-size: 1.1rem;
}

.tvon-home-page .contact-phone-card__sub {
    font-size: 0.8rem;
}

/* Соцсети — иконки и текст чуть крупнее */
.tvon-home-page .contact-social__ico {
    width: 2.8rem;
    height: 2.8rem;
}

.tvon-home-page .contact-social__ico svg {
    width: 1.35rem;
    height: 1.35rem;
}

.tvon-home-page .contact-social__row {
    padding: 0.55rem 0.45rem;
}

.tvon-home-page .contact-social__name {
    font-size: 0.93rem;
}

.tvon-home-page .contact-social__sub {
    font-size: 0.79rem;
}

/* ---------- Слайд «Подбор ТВ» — карточка по макету ---------- */
.tvon-home-page #tv-helper .tvon-finder-card {
    background: #fff;
    border: 1px solid #e8e6dd;
    border-radius: 1.6rem;
    box-shadow: 0 24px 60px -18px rgba(19, 18, 16, 0.16);
}

@media (min-width: 1024px) {
    .tvon-home-page #tv-helper .tvon-finder-card {
        grid-template-columns: 47% 53%;
    }
}

/* Левая колонка — форма */
.tvon-home-page #tv-helper .tvon-finder-card h2 {
    color: #1f3d2c !important;
    font-size: clamp(1.4rem, 2.4vw, 1.9rem) !important;
    line-height: 1.18 !important;
    margin-bottom: 1.6rem !important;
}

.tvon-home-page #tv-helper .tvon-finder-card form {
    --tw-space-y-reverse: 0;
}

.tvon-home-page #tv-helper .tvon-finder-card .space-y-8 > * + * {
    margin-top: 1.35rem !important;
}

/* Заголовки секций формы */
.tvon-home-page #tv-helper .tvon-finder-card .text-gray-900 {
    color: #1f3d2c;
}

.tvon-home-page #tv-helper .tvon-finder-card .text-gray-700 {
    color: #4c4a44;
}

.tvon-home-page #tv-helper .tvon-finder-card .text-gray-500,
.tvon-home-page #tv-helper .tvon-finder-card .text-gray-400 {
    color: #8a877d;
}

/* Пилюли-выбор: молочные, выбранная — зелёная */
.tvon-home-page #tv-helper .tvon-finder-card label {
    border-radius: 0.9rem !important;
    border-color: #e6e3da !important;
    background: #fff !important;
    box-shadow: none !important;
    min-height: 2.9rem !important;
    font-size: 0.85rem !important;
    transition: border-color 0.2s ease, background 0.2s ease, color 0.2s ease !important;
}

.tvon-home-page #tv-helper .tvon-finder-card label:hover {
    border-color: rgba(22, 163, 74, 0.55) !important;
    background: #f6faf6 !important;
}

.tvon-home-page #tv-helper .tvon-finder-card label:has(input:checked) {
    border-color: #16a34a !important;
    background: #d9f0e0 !important;
    color: #0f7336 !important;
    font-weight: 600;
    box-shadow:
        inset 0 0 0 1px rgba(22, 163, 74, 0.35),
        0 2px 8px rgba(22, 163, 74, 0.12) !important;
}

/* Иконка внутри выбранной пилюли становится зелёной */
.tvon-home-page #tv-helper .tvon-finder-card label:has(input:checked) svg {
    color: #16a34a !important;
}

/* Галочка-маркер на выбранной пилюле */
.tvon-home-page #tv-helper .tvon-finder-card label:has(input:checked)::after {
    content: "";
    width: 0.45rem;
    height: 0.45rem;
    border-radius: 999px;
    background: #16a34a;
    flex-shrink: 0;
    margin-left: 0.35rem;
}

/* Блок слайдера — светлая молочная плашка */
.tvon-home-page #tv-helper .tvon-finder-card .rounded-2xl.border {
    border-color: #ece9e1 !important;
    background: #fcfcfb !important;
    box-shadow: none !important;
}

/* Кнопка «Показать лучшие варианты» — плоский зелёный pill */
.tvon-home-page #tv-helper .tvon-finder-card button[type="submit"] {
    background: #16a34a !important;
    color: #fcfcfb !important;
    border-radius: 999px !important;
    font-weight: 700 !important;
    box-shadow: 0 10px 26px rgba(22, 163, 74, 0.28) !important;
    transition: background 0.2s ease, transform 0.15s ease !important;
}

.tvon-home-page #tv-helper .tvon-finder-card button[type="submit"]:hover {
    background: #15803d !important;
    transform: translateY(-1px);
}

/* Картинка справа — скругление внутри карточки */
.tvon-home-page #tv-helper .tv-finder-hero-img {
    object-position: center;
}

/* ---------- Подбор ТВ: уплотнение, чтобы влезал в один экран ---------- */
@media (min-width: 768px) {
    /* колонка формы — меньше паддинга */
    .tvon-home-page #tv-helper .tvon-finder-card .lg\:order-1 {
        padding: 1.4rem 1.9rem !important;
    }

    .tvon-home-page #tv-helper .tvon-finder-card h2 {
        margin-bottom: 1.05rem !important;
        font-size: clamp(1.3rem, 2vw, 1.7rem) !important;
    }

    .tvon-home-page #tv-helper .tvon-finder-card .space-y-8 > * + * {
        margin-top: 0.95rem !important;
    }

    /* подписи секций ближе к пилюлям */
    .tvon-home-page #tv-helper .tvon-finder-card .mb-3 {
        margin-bottom: 0.45rem !important;
    }

    /* пилюли тоньше */
    .tvon-home-page #tv-helper .tvon-finder-card label {
        min-height: 2.5rem !important;
        padding-top: 0.5rem !important;
        padding-bottom: 0.5rem !important;
    }

    .tvon-home-page #tv-helper .tvon-finder-card .gap-3 {
        gap: 0.55rem !important;
    }

    /* карточка дистанции компактнее */
    .tvon-home-page #tv-helper .tvon-finder-card .rounded-2xl.border {
        padding: 0.75rem 1rem !important;
    }

    .tvon-home-page #tv-helper .tvon-finder-card .mt-4 {
        margin-top: 0.55rem !important;
    }

    /* кнопка ниже */
    .tvon-home-page #tv-helper .tvon-finder-card button[type="submit"] {
        min-height: 46px !important;
        font-size: 0.98rem !important;
    }
}

/* Совсем низкие экраны ноутбуков — ещё плотнее */
@media (min-width: 768px) and (max-height: 900px) {
    .tvon-home-page #tv-helper .tvon-finder-card .lg\:order-1 {
        padding: 1.1rem 1.6rem !important;
    }

    .tvon-home-page #tv-helper .tvon-finder-card h2 {
        font-size: 1.3rem !important;
        margin-bottom: 0.8rem !important;
    }

    .tvon-home-page #tv-helper .tvon-finder-card .space-y-8 > * + * {
        margin-top: 0.75rem !important;
    }

    .tvon-home-page #tv-helper .tvon-finder-card label {
        min-height: 2.3rem !important;
        font-size: 0.8rem !important;
    }

    .tvon-home-page #tv-helper .tv-finder-dist__ticks {
        display: none;
    }

    .tvon-home-page #tv-helper .tvon-finder-card button[type="submit"] {
        min-height: 42px !important;
    }
}

/* ---------- Футер-слайд: тот же плоский канвас ---------- */
.tvon-home-page .footer-dark {
    position: relative;
    z-index: 10;
    margin-top: 0;
    background: #fcfcfb;
    border-radius: 0;
    overflow: hidden;
    color: #131210;
}

.tvon-home-page .footer-card-dark {
    background: #f4f2ec;
    border: none;
    border-radius: 1.25rem;
    color: #131210;
    box-shadow: none;
}

.tvon-home-page .footer-card-dark .text-white {
    color: #131210;
}

/* Кнопки футера — молочный текст на зелёном (FAQ и ghost не трогаем) */
.tvon-home-page .footer-dark button:not(.faq-question):not(.footer-ghost-btn),
.tvon-home-page .footer-dark a.attention-btn {
    color: #fcfcfb !important;
}

.tvon-home-page .footer-card-dark .text-gray-300,
.tvon-home-page .footer-dark .text-gray-400 {
    color: #706e66;
}

.tvon-home-page .footer-item-dark {
    background: #f4f2ec;
}

.tvon-home-page .footer-item-dark:hover {
    background: #e6e3da;
}

.tvon-home-page .footer-highlight-dark {
    background: rgba(22, 163, 74, 0.1);
    border: none;
}

/* FAQ внутри светлого футера */
.tvon-home-page .footer-dark .faq-item {
    border-color: #e0ded6;
}

.tvon-home-page .footer-dark .faq-question {
    color: #131210;
}

.tvon-home-page .footer-dark .faq-answer {
    color: #706e66;
}

.tvon-home-page .footer-dark .border-white\/10 {
    border-color: #e0ded6;
}

/* ============================================================
   Dala-light: изумрудные акценты главной → фирменный зелёный / чернила
   (Tailwind-классы остаются в разметке, цвета переопределены здесь)
   ============================================================ */
.tvon-home-page .text-emerald-300,
.tvon-home-page .text-emerald-400,
.tvon-home-page .text-emerald-500,
.tvon-home-page .text-emerald-600,
.tvon-home-page .text-emerald-700 {
    color: #16a34a !important;
}

.tvon-home-page .text-emerald-100 {
    color: rgba(22, 163, 74, 0.2) !important;
}

.tvon-home-page .bg-emerald-600 {
    background-color: #16a34a !important;
    box-shadow: none !important;
}

.tvon-home-page .hover\:bg-emerald-700:hover,
.tvon-home-page .hover\:bg-emerald-600:hover {
    background-color: #15803d !important;
}

.tvon-home-page .bg-emerald-50 {
    background-color: rgba(22, 163, 74, 0.1) !important;
}

.tvon-home-page .bg-emerald-100 {
    background-color: rgba(22, 163, 74, 0.12) !important;
}

.tvon-home-page .bg-emerald-500\/15 {
    background-color: rgba(22, 163, 74, 0.12) !important;
}

.tvon-home-page .border-emerald-100,
.tvon-home-page .border-emerald-900\/10 {
    border-color: #e0ded6 !important;
}

.tvon-home-page .ring-emerald-400\/20 {
    --tw-ring-color: rgba(22, 163, 74, 0.25) !important;
}

.tvon-home-page .group:hover .group-hover\:text-emerald-400 {
    color: #16a34a !important;
}

/* Градиентные аватары/иконки → фиолетово-синяя пара */
.tvon-home-page .from-emerald-400.via-teal-400.to-cyan-400 {
    background-image: linear-gradient(135deg, #16a34a, #0d9488) !important;
}

.tvon-home-page .from-emerald-400.to-green-600 {
    background-image: linear-gradient(135deg, #16a34a, #15803d) !important;
}

.tvon-home-page .from-emerald-500.to-green-600 {
    background-image: none !important;
    background-color: #16a34a !important;
}

/* Контакты: разноцветные соц-градиенты → единый зелёный (плоско) */
.tvon-home-page .home-contact-card .from-pink-500,
.tvon-home-page .home-contact-card .from-sky-400,
.tvon-home-page .home-contact-card .from-emerald-400,
.tvon-home-page .home-contact-card .from-amber-400 {
    background-image: none !important;
    background-color: #16a34a !important;
    box-shadow: none !important;
}

/* Иконки на зелёных плитках — молочные (общее правило красит их в чернила) */
.tvon-home-page .home-contact-card .from-pink-500 svg,
.tvon-home-page .home-contact-card .from-sky-400 svg,
.tvon-home-page .home-contact-card .from-emerald-400 svg,
.tvon-home-page .home-contact-card .from-amber-400 svg {
    color: #fcfcfb !important;
}

/* Кнопка «Станьте партнёром» — молочный текст на зелёном */
.tvon-home-page .home-contact-card .attention-btn,
.tvon-home-page .home-contact-card .attention-btn svg {
    color: #fcfcfb !important;
}

.tvon-home-page .home-contact-card .group:hover .group-hover\:text-pink-400,
.tvon-home-page .home-contact-card .group:hover .group-hover\:text-blue-400,
.tvon-home-page .home-contact-card .group:hover .group-hover\:text-emerald-400,
.tvon-home-page .home-contact-card .group:hover .group-hover\:text-orange-400 {
    color: #16a34a !important;
}

/* Промо-кнопка на чернильной панели — белая, текст чернила */
.tvon-home-page .tvon-home-promo .text-emerald-900,
.tvon-home-page .tvon-home-promo .text-emerald-950,
.tvon-home-page .tvon-home-promo .text-emerald-950\/60 {
    color: #131210 !important;
}

.tvon-home-page .tvon-home-promo .hover\:bg-emerald-50:hover {
    background-color: #f4f2ec !important;
}

/* Слайды с плотным контентом — верхний отступ меньше, по центру экрана */
#tv-helper .deck-slide__pad,
.deck-slide__inner--catalog .deck-slide__pad,
.deck-slide__inner--dark .deck-slide__pad {
    padding-top: clamp(1.1rem, 2.5vh, 2rem);
    padding-bottom: clamp(1.4rem, 3.5vh, 2.4rem);
}

/* ---------- Мобильные ---------- */
@media (max-width: 767px) {
    /* CTA «Весь каталог» уходит на свою строку — не вылезает за экран */
    .home-sec-head {
        flex-wrap: wrap;
        gap: 0.55rem 1rem !important;
    }
    .home-sec-head .home-sec-cta {
        align-self: flex-start;
    }

    .deck-slide__pad {
        padding-top: 4.5rem;
        padding-bottom: calc(5.75rem + env(safe-area-inset-bottom));
    }

    .hero-trust {
        margin-top: 1.1rem;
    }
}

/* ============================================================
   Модалки главной — светлый Dala-вариант (вместо тёмного шелла)
   ============================================================ */

/* Скрим мягче и светлее */
.tvon-home-page #brandsModal .bg-black\/60,
.tvon-home-page #aboutModal .bg-black\/60,
.tvon-home-page #consultModal .bg-black\/60,
.tvon-home-page #partnerModal .bg-black\/60,
.tvon-home-page #masterModal .bg-black\/60,
.tvon-home-page #wholesaleModal .bg-black\/60 {
    background: rgba(19, 18, 16, 0.42) !important;
    backdrop-filter: blur(10px) saturate(0.9);
    -webkit-backdrop-filter: blur(10px) saturate(0.9);
}

/* Шелл — тёплый почти-белый, мягкая чернильная тень */
.tvon-home-page .tvon-modal-shell,
.tvon-home-page #brandsModalContent,
.tvon-home-page #aboutModalContent {
    background: #fcfcfb !important;
    border: 1px solid #e8e6dd !important;
    border-radius: 1.5rem !important;
    box-shadow:
        0 30px 80px rgba(19, 18, 16, 0.2),
        0 6px 20px rgba(19, 18, 16, 0.08) !important;
}

/* Шапка модалки — светлый зелёный градиент вместо тёмного */
.tvon-home-page .tvon-modal-hero {
    background: linear-gradient(135deg, #e8f6ec 0%, #f2f9f2 55%, #fcfcfb 100%) !important;
    color: #131210;
    border-bottom: 1px solid #e8e6dd;
}

.tvon-home-page .tvon-modal-hero::after {
    background: radial-gradient(ellipse 80% 60% at 20% 0%, rgba(22, 163, 74, 0.12), transparent 55%);
}

.tvon-home-page .tvon-modal-hero h2,
.tvon-home-page .tvon-modal-hero .text-white {
    color: #131210 !important;
}

/* иконка в плашке шапки — зелёная на тонкой зелёной подложке */
.tvon-home-page .tvon-modal-hero i.text-white {
    color: #16a34a !important;
}

.tvon-home-page .tvon-modal-hero .bg-white\/20 {
    background: rgba(22, 163, 74, 0.1) !important;
}

.tvon-home-page .tvon-modal-hero .ring-white\/30 {
    --tw-ring-color: rgba(22, 163, 74, 0.2) !important;
}

.tvon-home-page .tvon-modal-hero .text-emerald-100\/90 {
    color: #5a665c !important;
}

.tvon-home-page .tvon-modal-hero .text-amber-200\/90 {
    color: #b8860b !important;
}

/* Крестик на светлой шапке — чернильная плашка */
.tvon-home-page .tvon-modal-hero .modal-close-btn {
    background: #eceae3 !important;
    color: #4c4a44 !important;
    box-shadow: none !important;
}

.tvon-home-page .tvon-modal-hero .modal-close-btn:hover {
    background: #e2dfd6 !important;
    color: #131210 !important;
}

/* Тело формы — чистое полотно без серой вуали */
.tvon-home-page .tvon-modal-shell form.bg-white\/60 {
    background: transparent !important;
    backdrop-filter: none !important;
}

/* Заголовки секций — чернила, иконка зелёная */
.tvon-home-page .tvon-modal-shell .tvon-modal-section-title {
    color: #131210;
    font-weight: 600;
    letter-spacing: -0.01em;
}

/* Поля ввода — молочные, мягкий зелёный фокус */
.tvon-home-page .tvon-modal-shell .tvon-field,
.tvon-home-page #consultModal .tvon-field,
.tvon-home-page #wholesaleModal .tvon-field,
.tvon-home-page #partnerModal .tvon-field,
.tvon-home-page #masterModal .tvon-field {
    background: #fff !important;
    border: 1px solid #e4e1d8 !important;
    border-radius: 0.9rem !important;
    color: #2b2a26 !important;
    padding: 0.8rem 1.1rem !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.tvon-home-page .tvon-modal-shell .tvon-field::placeholder {
    color: #a8a59b !important;
}

.tvon-home-page .tvon-modal-shell .tvon-field:focus,
.tvon-home-page #consultModal .tvon-field:focus,
.tvon-home-page #wholesaleModal .tvon-field:focus,
.tvon-home-page #partnerModal .tvon-field:focus,
.tvon-home-page #masterModal .tvon-field:focus {
    outline: none !important;
    border-color: #16a34a !important;
    box-shadow: 0 0 0 3px rgba(22, 163, 74, 0.16) !important;
}

/* Радио-выбор — молочные плитки, выбранная зелёная */
.tvon-home-page .tvon-modal-shell .tvon-choice {
    background: #fff;
    border: 1px solid #e4e1d8;
    border-radius: 0.9rem;
    padding: 0.8rem 1.1rem;
    transition: border-color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
}

.tvon-home-page .tvon-modal-shell .tvon-choice:hover {
    border-color: rgba(22, 163, 74, 0.5);
    background: #f6faf6;
}

.tvon-home-page .tvon-modal-shell .tvon-choice:has(input:checked) {
    border-color: #16a34a;
    background: rgba(22, 163, 74, 0.07);
    box-shadow: 0 0 0 1px rgba(22, 163, 74, 0.25);
}

/* Сабмит — плоский фирменный зелёный, Dala-стиль */
.tvon-home-page .tvon-modal-shell .tvon-submit {
    background: #16a34a;
    background-image: none !important;
    color: #fcfcfb;
    border-radius: 999px;
    font-weight: 600;
    letter-spacing: 0.01em;
    box-shadow: 0 8px 24px rgba(22, 163, 74, 0.28);
    transition: transform 0.15s ease, background 0.2s ease, box-shadow 0.2s ease;
}

.tvon-home-page .tvon-modal-shell .tvon-submit:hover {
    background: #15803d;
    filter: none;
    box-shadow: 0 10px 28px rgba(22, 163, 74, 0.34);
    transform: translateY(-1px);
}

/* Шапки about/brands-модалок в тон */
.tvon-home-page #brandsModalContent > div:first-child,
.tvon-home-page #aboutModalContent > div:first-child {
    background: rgba(252, 252, 251, 0.9) !important;
    border-bottom-color: #e8e6dd !important;
}

.tvon-home-page #brandsModal .brand-card {
    background: #fff;
    border: 1px solid #ece9e1;
}

.tvon-home-page #brandsModal .brand-card:hover {
    border-color: rgba(22, 163, 74, 0.4);
}

/* «О нас» — альбомная, текст в 2 колонки */
.tvon-home-page .about-modal-hero {
    background: linear-gradient(135deg, #e8f6ec 0%, #f2f9f2 55%, #fcfcfb 100%) !important;
    border-bottom-color: #e8e6dd !important;
}

.tvon-home-page .about-modal-hero h2 {
    color: #1f3d2c !important;
    font-weight: 700;
}

.tvon-home-page .about-modal-body {
    color: #3c3a35 !important;
    font-size: 0.9rem !important;
    line-height: 1.6 !important;
}

@media (min-width: 768px) {
    .tvon-home-page #aboutModalContent {
        max-width: 56rem !important;
    }

    .tvon-home-page .about-modal-body {
        columns: 2;
        column-gap: 2.2rem;
    }

    .tvon-home-page .about-modal-body > * {
        break-inside: avoid;
        margin-top: 0 !important;
        margin-bottom: 0.9rem;
    }
}

/* Плашки внутри текста */
.tvon-home-page .about-modal-body .bg-gray-50 {
    background: #f4f2ec;
    border: 1px solid #e8e6dd;
    border-radius: 1rem;
}

.tvon-home-page .about-modal-body .bg-green-50 {
    background: rgba(22, 163, 74, 0.08);
    border: 1px solid rgba(22, 163, 74, 0.18);
    border-radius: 1rem;
}

.tvon-home-page .about-modal-body .text-green-700 {
    color: #15803d;
}

.tvon-home-page .about-modal-body b,
.tvon-home-page .about-modal-body strong {
    color: #1f3d2c;
}

/* Альбомный формат модалок: шире + форма в 2 колонки (без скролла) */
@media (min-width: 768px) {
    .tvon-home-page #wholesaleModal .tvon-modal-shell,
    .tvon-home-page #partnerModal .tvon-modal-shell {
        max-width: 58rem !important;
    }

    .tvon-home-page #consultModal .tvon-modal-shell,
    .tvon-home-page #masterModal .tvon-modal-shell {
        max-width: 44rem !important;
    }

    .tvon-home-page #wholesaleModal .tvon-modal-shell form,
    .tvon-home-page #partnerModal .tvon-modal-shell form,
    .tvon-home-page #consultModal .tvon-modal-shell form,
    .tvon-home-page #masterModal .tvon-modal-shell form {
        display: grid !important;
        grid-template-columns: 1fr 1fr;
        gap: 1.1rem 1.4rem;
        align-items: start;
    }

    /* сброс вертикальных space-y-отступов внутри грида */
    .tvon-home-page .tvon-modal-shell form > * + * {
        margin-top: 0 !important;
    }

    /* сабмит и примечание — на всю ширину */
    .tvon-home-page .tvon-modal-shell form > .tvon-submit,
    .tvon-home-page .tvon-modal-shell form > button[type="submit"],
    .tvon-home-page .tvon-modal-shell form > p:last-child {
        grid-column: 1 / -1;
    }

    /* шапка компактнее */
    .tvon-home-page .tvon-modal-hero {
        padding: 0.9rem 1.6rem !important;
    }

    /* уплотняем тело формы — чтобы модалка влезала без скролла */
    .tvon-home-page .tvon-modal-shell {
        max-height: 94dvh !important;
    }

    .tvon-home-page .tvon-modal-shell form.p-6,
    .tvon-home-page .tvon-modal-shell form.sm\:p-8 {
        padding: 1.15rem 1.6rem !important;
    }

    .tvon-home-page .tvon-modal-shell .tvon-modal-section-title {
        margin-bottom: 0.45rem !important;
        font-size: 0.92rem !important;
    }

    .tvon-home-page .tvon-modal-shell .tvon-field,
    .tvon-home-page #consultModal .tvon-field,
    .tvon-home-page #wholesaleModal .tvon-field,
    .tvon-home-page #partnerModal .tvon-field,
    .tvon-home-page #masterModal .tvon-field {
        padding: 0.6rem 1rem !important;
    }

    .tvon-home-page .tvon-modal-shell .space-y-3 > * + * {
        margin-top: 0.5rem !important;
    }

    .tvon-home-page .tvon-modal-shell .tvon-choice {
        padding: 0.55rem 0.9rem !important;
    }

    .tvon-home-page .tvon-modal-shell .gap-2 {
        gap: 0.4rem !important;
    }

    .tvon-home-page .tvon-modal-shell .tvon-submit {
        min-height: 46px !important;
        padding: 0.7rem 1.25rem !important;
    }

    .tvon-home-page .tvon-modal-shell form > p:last-child {
        margin-top: -0.35rem;
    }
}

/* ---------- Футер-слайд: 3 карточки по макету ---------- */
.tvon-home-page .footer-wrap {
    padding-top: 2rem !important;
    padding-bottom: 1.6rem !important;
}

.tvon-home-page .footer-card-dark {
    display: flex;
    flex-direction: column;
    background: #fff !important;
    border: 1px solid #e8e6dd !important;
    border-radius: 1.4rem !important;
    padding: 1.15rem;
    box-shadow: 0 10px 30px rgba(19, 18, 16, 0.06);
}

/* Шапка карточки: иконка-плитка + заголовок + подпись */
.tvon-home-page .footer-card-head {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    margin-bottom: 0.9rem;
}

.tvon-home-page .footer-card-ico {
    width: 2.6rem;
    height: 2.6rem;
    border-radius: 0.85rem;
    background: rgba(22, 163, 74, 0.1);
    color: #16a34a;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.tvon-home-page .footer-card-head h3 {
    font-size: 1.02rem;
    font-weight: 700;
    color: #1f3d2c;
    line-height: 1.25;
}

/* Разные акценты иконок в шапках карточек футера */
.tvon-home-page .footer-card--faq .footer-card-ico {
    background: rgba(22, 163, 74, 0.14);
    color: #16a34a;
}

.tvon-home-page .footer-card--svc .footer-card-ico {
    background: rgba(217, 145, 20, 0.14);
    color: #b45309;
}

.tvon-home-page .footer-card--app .footer-card-ico {
    background: rgba(42, 171, 238, 0.14);
    color: #1d9bd8;
}

.tvon-home-page .footer-card-head p {
    font-size: 0.76rem;
    color: #7a786e;
    line-height: 1.4;
    margin-top: 0.15rem;
}

/* FAQ-строки с иконками */
.tvon-home-page .footer-card--faq .faq-item {
    border-bottom: 1px solid #ece9e1;
    padding: 0;
}

.tvon-home-page .footer-card--faq .faq-item:last-child {
    border-bottom: none;
}

.tvon-home-page .footer-card--faq .faq-question {
    padding: 0.55rem 0.35rem;
    font-size: 0.85rem;
    font-weight: 500;
    color: #2b2a26;
    transition: color 0.2s ease;
}

.tvon-home-page .footer-card--faq .faq-question:hover {
    color: #16a34a;
}

.tvon-home-page .faq-question__ico {
    width: 1.9rem;
    height: 1.9rem;
    border-radius: 0.55rem;
    background: rgba(22, 163, 74, 0.1);
    color: #16a34a;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.tvon-home-page .faq-icon {
    color: #9d9a90;
    font-size: 1.1rem;
    line-height: 1;
    flex-shrink: 0;
    padding: 0 0.2rem;
}

.tvon-home-page .footer-dark .faq-answer {
    padding-left: 2.65rem;
    font-size: 0.82rem;
}

/* Услуги: строки как в карточке контактов */
.tvon-home-page .footer-svc {
    display: flex;
    flex-direction: column;
    flex: 1;
}

.tvon-home-page .footer-svc__row {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    padding: 0.55rem 0.45rem;
    border-radius: 0.9rem;
    transition: background 0.2s ease;
}

.tvon-home-page .footer-svc__row:hover {
    background: rgba(22, 163, 74, 0.06);
}

.tvon-home-page .footer-svc__body {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.tvon-home-page .footer-svc__title {
    font-weight: 600;
    font-size: 0.86rem;
    color: #1f3d2c;
}

.tvon-home-page .footer-svc__sub {
    font-size: 0.76rem;
    color: #7a786e;
}

.tvon-home-page .footer-master-btn {
    font-size: 0.84rem !important;
    margin-top: 0.9rem;
}

.tvon-home-page .footer-svc__note {
    margin-top: 0.6rem;
    text-align: center;
    font-size: 0.7rem;
    color: #9d9a90;
}

/* Приложение: белая ghost-кнопка */
.tvon-home-page .footer-ghost-btn {
    margin-top: 0.6rem;
    width: 100%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    background: #fffaf0;
    border: 1px solid rgba(245, 158, 11, 0.45);
    color: #b45309 !important;
    padding: 0.75rem 1rem;
    border-radius: 999px;
    font-weight: 600;
    font-size: 0.88rem;
    cursor: pointer;
    transition: border-color 0.2s ease, background 0.2s ease, transform 0.15s ease;
}

.tvon-home-page .footer-ghost-btn:hover {
    border-color: rgba(245, 158, 11, 0.8);
    background: #fef3dd;
    transform: translateY(-1px);
}

/* Телефон-мокап с парящими чипами */
.tvon-home-page .footer-app-visual {
    position: relative;
    margin-top: auto;
    padding-top: 1.1rem;
    display: flex;
    justify-content: center;
    align-items: flex-end;
    min-height: 9.5rem;
    overflow: hidden;
}

.tvon-home-page .footer-phone {
    position: relative;
    width: 8.2rem;
    height: 10.5rem;
    margin-bottom: -1.5rem;
    border-radius: 1.5rem;
    background: linear-gradient(160deg, #123a24 0%, #16a34a 100%);
    border: 5px solid #131210;
    box-shadow: 0 18px 40px rgba(19, 18, 16, 0.28);
    display: flex;
    align-items: center;
    justify-content: center;
}

.tvon-home-page .footer-phone__notch {
    position: absolute;
    top: 0.5rem;
    left: 50%;
    transform: translateX(-50%);
    width: 2.4rem;
    height: 0.42rem;
    border-radius: 999px;
    background: #131210;
}

.tvon-home-page .footer-phone__screen {
    font-weight: 800;
    font-size: 1.5rem;
    letter-spacing: 0.04em;
    color: #fcfcfb;
}

.tvon-home-page .footer-phone__screen span {
    color: #bbf7d0;
    font-weight: 500;
}

.tvon-home-page .footer-app-chip {
    position: absolute;
    width: 2.3rem;
    height: 2.3rem;
    border-radius: 0.7rem;
    background: #fff;
    border: 1px solid #e8e6dd;
    color: #16a34a;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 8px 18px rgba(19, 18, 16, 0.12);
}

.tvon-home-page .footer-app-chip--a {
    right: 14%;
    top: 0.9rem;
    transform: rotate(8deg);
}

.tvon-home-page .footer-app-chip--b {
    left: 12%;
    top: 3.2rem;
    transform: rotate(-8deg);
}

/* Копирайт */
.tvon-home-page .footer-copy {
    margin-top: 1.6rem;
    text-align: center;
    font-size: 0.8rem;
    color: #8a877d;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
}

.tvon-home-page .footer-copy::before {
    content: "";
    width: 2rem;
    height: 3px;
    border-radius: 999px;
    background: #16a34a;
    opacity: 0.85;
}

/* ---------- Индикатор слайдов: точки справа по центру ---------- */
.deck-dots {
    position: fixed;
    right: 1.15rem;
    top: 50%;
    transform: translateY(-50%);
    z-index: 80;
    display: none;
    flex-direction: column;
    align-items: center;
    gap: 0.55rem;
}

.home-deck.is-3d .deck-dots {
    display: flex;
}

@media (max-width: 1023px) {
    .deck-dots {
        display: none !important;
    }
}

.deck-dot {
    position: relative;
    width: 0.65rem;
    height: 0.65rem;
    padding: 0;
    border: none;
    border-radius: 999px;
    background: rgba(19, 18, 16, 0.18);
    cursor: pointer;
    transition: transform 0.25s ease, background 0.25s ease;
}

.deck-dot:hover {
    background: rgba(22, 163, 74, 0.5);
    transform: scale(1.25);
}

.deck-dot.active {
    background: #16a34a;
    transform: scale(1.2);
}

/* мягкое пульс-кольцо у активной точки */
.deck-dot__pulse {
    position: absolute;
    inset: -5px;
    border-radius: 999px;
    border: 1.5px solid rgba(22, 163, 74, 0.55);
    opacity: 0;
    transform: scale(0.7);
    pointer-events: none;
}

.deck-dot.active .deck-dot__pulse {
    animation: deckDotPulse 2.2s ease-out infinite;
}

@keyframes deckDotPulse {
    0%        { opacity: 0.75; transform: scale(0.7); }
    70%, 100% { opacity: 0; transform: scale(1.65); }
}

/* ---------- Невысокий вьюпорт: меньше воздуха — слайды не ловят скролл ---------- */
@media (min-width: 768px) and (max-height: 1000px) {
    .deck-slide__pad {
        padding-top: clamp(1.4rem, 3.5vh, 2.2rem);
        padding-bottom: 1.6rem;
    }

    /* Отзывы: умеренное сжатие карточки */
    #slide-reviews .home-sec-head {
        margin-bottom: 0.9rem !important;
    }
    .reviews-wrapper .group {
        padding: 1.15rem 1.4rem !important;
    }
    .reviews-wrapper .w-14 {
        width: 3rem !important;
        height: 3rem !important;
    }
    .reviews-wrapper .mb-5,
    .reviews-wrapper .mb-6,
    .reviews-wrapper .md\:mb-6 {
        margin-bottom: 0.9rem !important;
    }
    .reviews-wrapper blockquote p {
        font-size: 1rem !important;
        line-height: 1.55 !important;
    }

    /* Подбор ТВ: форма компактнее — слайд влезает без внутреннего скролла */
    #tv-helper .tvon-finder-card > div:first-child {
        padding: 1rem 1.4rem !important;
    }
    #tv-helper .tvon-finder-card h2 {
        font-size: 1.3rem !important;
        margin-bottom: 0.9rem !important;
    }
    #tv-helper .tvon-finder-card form > * + * {
        margin-top: 0.8rem !important;
    }
    #tv-helper .tvon-finder-card label {
        min-height: 2.35rem !important;
        padding: 0.35rem 0.7rem !important;
    }
    #tv-helper .tvon-finder-card #tvFinder > div {
        padding: 0.6rem 0.9rem !important;
    }
    #tv-helper .tvon-finder-card button[type="submit"] {
        min-height: 40px !important;
    }

    /* Футер-слайд: три карточки компактнее */
    .footer-dark .py-12 {
        padding-top: 1.2rem !important;
        padding-bottom: 1.2rem !important;
    }
    .footer-dark .gap-6 {
        gap: 0.9rem !important;
    }
    .footer-card-dark {
        padding: 1rem !important;
    }
    .footer-card-dark .space-y-3 > * + * {
        margin-top: 0.45rem !important;
    }
    .footer-item-dark {
        padding: 0.45rem 0.6rem !important;
        font-size: 0.8rem !important;
    }
    .footer-card-dark h3 {
        margin-bottom: 0.55rem !important;
    }
    .footer-dark .mt-6,
    .footer-card-dark .mt-4 {
        margin-top: 0.65rem !important;
    }
    .footer-card--faq .faq-question {
        padding: 0.42rem 0.35rem !important;
    }
    .footer-app-visual {
        min-height: 7.5rem !important;
        padding-top: 0.6rem !important;
    }
    .footer-phone {
        width: 7.2rem !important;
        height: 9rem !important;
    }
    .footer-copy {
        margin-top: 0.9rem !important;
    }

    /* Hero: компактнее — влезает в экран без внутреннего скролла */
    .hero-bg h1 {
        font-size: clamp(1.7rem, 3.2vw, 2.7rem) !important;
        line-height: 1.12 !important;
        margin-bottom: 0.9rem !important;
    }
    .hero-bg .hero-sub {
        font-size: 0.98rem !important;
        line-height: 1.5 !important;
        margin-bottom: 1rem !important;
    }
    .hero-bg .hero-feats {
        margin-bottom: 1rem !important;
        gap: 0.5rem !important;
    }
    .hero-bg .hero-feat {
        padding: 0.5rem 0.75rem !important;
        font-size: 0.77rem !important;
    }
    .hero-bg .hero-feat svg {
        padding: 0.3rem !important;
    }
    .hero-bg .hero-btn-primary,
    .hero-bg .hero-btn-ghost,
    .hero-bg .hero-btn-amber {
        min-height: 44px !important;
        padding-top: 0.55rem !important;
        padding-bottom: 0.55rem !important;
    }
    .hero-bg .tvon-home-promo .sm\:p-7 {
        padding: 1rem 1.3rem !important;
    }
    .hero-bg .promo-title {
        font-size: 1.45rem !important;
    }
    .hero-bg .promo-desc {
        font-size: 0.78rem !important;
        line-height: 1.4 !important;
    }
    .hero-bg .promo-price__now {
        font-size: 1.7rem !important;
    }
    .hero-bg .tvon-home-promo .space-y-2 > * + *,
    .hero-bg .tvon-home-promo .space-y-3 > * + *,
    .hero-bg .tvon-home-promo .space-y-4 > * + * {
        margin-top: 0.55rem !important;
    }
}

/* ---------- Слайд товаров: сжимаем на большинстве ноутбуков ---------- */
@media (min-width: 768px) and (max-height: 1080px) {
    #slide-featured .deck-slide__pad {
        padding-top: clamp(0.6rem, 1.8vh, 1.3rem);
        padding-bottom: clamp(0.6rem, 1.8vh, 1.3rem);
    }
    #slide-featured .home-sec-head {
        margin-bottom: 0.9rem !important;
    }
    #slide-featured .home-sec-head h2 {
        font-size: 1.6rem !important;
    }
    #slide-featured .home-sec-head p {
        font-size: 0.85rem !important;
        margin-top: 0.15rem !important;
    }
    #slide-featured .home-sec-link {
        padding: 0.5rem 1rem !important;
        font-size: 0.8rem !important;
    }
    .home-featured-grid {
        gap: 0.9rem !important;
    }
    .home-product-card__media {
        aspect-ratio: 16 / 8 !important;
    }
    .home-product-card__media img {
        padding: 0.7rem !important;
    }
    .home-product-card__body {
        padding-top: 0.55rem !important;
    }
    .home-product-card__title {
        font-size: 0.82rem !important;
        min-height: 2.2rem !important;
    }
    .home-product-card__price {
        font-size: 0.95rem !important;
        margin: 0.3rem 0 0.5rem !important;
    }
    .home-product-card__btn {
        padding: 0.5rem !important;
    }
    .home-product-card__fav {
        width: 2.1rem !important;
        height: 2.1rem !important;
        top: 0.55rem !important;
        right: 0.55rem !important;
    }
}

/* ---------- Компактные ноутбуки: очень низкий вьюпорт → сжимаем ---------- */
@media (min-width: 768px) and (max-height: 800px) {
    /* Подбор ТВ */
    .tvon-home-page .tvon-finder-card > div:first-child {
        padding: 0.9rem 1.25rem !important;
    }
    .tvon-home-page .tvon-finder-card h2 {
        font-size: 1.35rem !important;
    }

    /* Отзывы */
    .reviews-wrapper .group {
        padding: 1rem 1.25rem !important;
    }
    .reviews-wrapper .w-14 {
        width: 2.75rem !important;
        height: 2.75rem !important;
    }
    .reviews-wrapper .mb-5,
    .reviews-wrapper .mb-6,
    .reviews-wrapper .md\:mb-6 {
        margin-bottom: 0.75rem !important;
    }
    .reviews-wrapper blockquote p {
        font-size: 0.95rem !important;
        line-height: 1.55 !important;
    }

    /* Контакты */
    .home-contact-grid {
        gap: 0.7rem !important;
    }
    .contact-row {
        padding: 0.45rem 0.55rem !important;
        gap: 0.6rem !important;
    }
    .contact-row__ico {
        width: 2.3rem !important;
        height: 2.3rem !important;
    }
    .contact-row__ico svg,
    .contact-social__ico svg,
    .contact-phone-card__ico svg {
        width: 1.05rem !important;
        height: 1.05rem !important;
    }
    .contact-phone-card {
        padding: 0.55rem 0.9rem !important;
    }
    .contact-card--social {
        padding: 0.7rem 0.7rem 0.7rem !important;
    }
    .contact-social__ico {
        width: 2.2rem !important;
        height: 2.2rem !important;
    }
    .contact-social__row {
        padding: 0.3rem 0.35rem !important;
    }
    .contact-map-card {
        min-height: 200px !important;
    }
    .contact-partner-btn {
        padding: 0.6rem !important;
    }
    .contact-side {
        gap: 0.7rem !important;
    }

    /* Футер */
    .footer-dark .py-12 {
        padding-top: 1.4rem !important;
        padding-bottom: 1.4rem !important;
    }
    .footer-dark .gap-6 {
        gap: 1rem !important;
    }
    .footer-card-dark {
        padding: 1rem !important;
    }
    .footer-card-dark .space-y-3 > * + * {
        margin-top: 0.4rem !important;
    }
    .footer-item-dark {
        padding: 0.45rem 0.6rem !important;
        font-size: 0.8rem !important;
    }
    .footer-card-dark h3 {
        margin-bottom: 0.6rem !important;
    }
    .footer-dark .mt-6,
    .footer-card-dark .mt-4 {
        margin-top: 0.7rem !important;
    }
    .footer-dark br {
        display: none !important;
    }
}

/* ---------- Reduced motion ---------- */
@media (prefers-reduced-motion: reduce) {
    .hero-cascade-1,
    .hero-cascade-2,
    .hero-cascade-3,
    .hero-cascade-4 {
        animation: none;
        opacity: 1;
        transform: none;
    }

    .hero-chip,
    .hero-feats .hero-feat {
        animation: none !important;
    }

    .hero-tv-card {
        transition: none;
    }

    .tvon-home-promo {
        animation: none !important;
    }
}

/* ---------- Compact TV finder card ---------- */
.tvon-home-page .tvon-finder-card > div:first-child {
    padding: 1.25rem 1.5rem !important;
}

.tvon-home-page .tvon-finder-card h2 {
    font-size: 1.375rem !important;
    line-height: 1.25 !important;
    margin-bottom: 1.25rem !important;
}

.tvon-home-page .tvon-finder-card form > * + * {
    margin-top: 1rem !important;
}

.tvon-home-page .tvon-finder-card form .mb-3 {
    margin-bottom: 0.5rem !important;
}

.tvon-home-page .tvon-finder-card .grid {
    gap: 0.5rem !important;
}

.tvon-home-page .tvon-finder-card label {
    min-height: 2.5rem !important;
    padding: 0.45rem 0.75rem !important;
    font-size: 0.8125rem !important;
    border-radius: 0.875rem !important;
}

.tvon-home-page .tvon-finder-card #tvFinder > div {
    padding: 0.75rem 1rem !important;
    border-radius: 0.875rem !important;
}

.tvon-home-page .tvon-finder-card #tvFinder .mt-4 {
    margin-top: 0.5rem !important;
}

.tvon-home-page .tvon-finder-card button[type="submit"] {
    min-height: 44px !important;
    font-size: 0.9375rem !important;
}

@media (min-width: 1024px) {
    .tvon-home-page .tvon-finder-card > div:first-child {
        padding: 1.75rem 2rem !important;
    }
}

/* ================= CTA-кнопки: сдержанное свечение =================
   Блик — медленный подход, резкий проезд, пауза (~6с).
   Комета — световая дуга бежит по обводке с ускорением.
   Пульс — мягкое «дыхание» зелёной тени. */

@keyframes ctaSheen {
    0%    { transform: translateX(-170%) skewX(-16deg); }
    46%   { transform: translateX(-115%) skewX(-16deg); }
    60%   { transform: translateX(300%) skewX(-16deg); }
    100%  { transform: translateX(300%) skewX(-16deg); }
}

@keyframes ctaGlow {
    0%, 100% { box-shadow: 0 8px 22px rgba(22, 163, 74, 0.14); }
    50%      { box-shadow: 0 10px 30px rgba(22, 163, 74, 0.32); }
}

@property --ctaCometA {
    syntax: '<angle>';
    inherits: false;
    initial-value: 0deg;
}

@keyframes ctaComet {
    0%   { --ctaCometA: 0deg; }
    55%  { --ctaCometA: 110deg; }
    78%  { --ctaCometA: 360deg; }
    100% { --ctaCometA: 360deg; }
}

@keyframes promoBadgeGlow {
    0%, 100% { box-shadow: inset 0 0 0 1px rgba(255, 184, 41, 0.28); }
    50%      { box-shadow: inset 0 0 0 1px rgba(255, 184, 41, 0.6), 0 0 16px rgba(255, 184, 41, 0.35); }
}

@keyframes promoBadgeSpark {
    0%, 100% { transform: scale(1) rotate(0deg); }
    50%      { transform: scale(1.22) rotate(-14deg); }
}

/* Кнопки, через которые проходит блик */
.tvon-home-page .hero-btn-primary,
.tvon-home-page .hero-btn-amber,
.tvon-home-page .hero-btn-ghost,
.tvon-home-page .home-sec-cta,
.tvon-home-page .contact-partner-btn,
.tvon-home-page .footer-ghost-btn,
.tvon-home-page .tvon-home-promo .promo-cta:not(.promo-cta--off),
.tvon-home-page .tvon-finder-card button[type="submit"] {
    position: relative;
    overflow: hidden;
}

/* Рельс-кнопка на десктопе position:fixed — не трогаем позицию,
   fixed сам якорит ::after; нужен только clip под блик */
.tvon-cat-drawer__rail-btn--main {
    overflow: hidden;
}

.tvon-home-page .hero-btn-primary::after,
.tvon-home-page .hero-btn-amber::after,
.tvon-home-page .hero-btn-ghost::after,
.tvon-home-page .home-sec-cta::after,
.tvon-home-page .contact-partner-btn::after,
.tvon-home-page .footer-ghost-btn::after,
.tvon-home-page .tvon-home-promo .promo-cta:not(.promo-cta--off)::after,
.tvon-home-page .tvon-finder-card button[type="submit"]::after,
.tvon-cat-drawer__rail-btn--main::after {
    content: "";
    position: absolute;
    top: -25%;
    bottom: -25%;
    left: -12%;
    width: 42%;
    background: linear-gradient(105deg, transparent, var(--cta-sheen, rgba(255, 255, 255, 0.38)), transparent);
    transform: translateX(-170%) skewX(-16deg);
    animation: ctaSheen 6s ease-in-out infinite;
    pointer-events: none;
}

/* Тёплый/зелёный блик на светлых кнопках — белый там не виден */
.tvon-home-page .hero-btn-ghost {
    --cta-sheen: rgba(22, 163, 74, 0.2);
}
.tvon-home-page .footer-ghost-btn {
    --cta-sheen: rgba(245, 158, 11, 0.28);
}

/* Разносим вспышки по времени — кнопки не мигают хором */
.tvon-home-page .hero-btn-amber::after { animation-delay: 1.2s; }
.tvon-home-page .home-sec-cta::after { animation-delay: 2.4s; }
.tvon-home-page .contact-partner-btn::after { animation-delay: 1.8s; }
.tvon-home-page .footer-ghost-btn::after { animation-delay: 3.4s; }
.tvon-home-page .tvon-home-promo .promo-cta::after { animation-delay: 0.7s; }
.tvon-home-page .tvon-finder-card button[type="submit"]::after { animation-delay: 3s; }

/* Дыхание свечения на главных зелёных CTA */
.tvon-home-page .hero-btn-primary,
.tvon-home-page .home-sec-cta,
.tvon-home-page .contact-partner-btn,
.tvon-home-page .tvon-finder-card button[type="submit"],
.tvon-home-page .tvon-home-promo .promo-cta:not(.promo-cta--off) {
    animation: ctaGlow 5.2s ease-in-out infinite;
}

/* Комета по обводке — световая дуга бежит по периметру кнопки
   с ускорением (медленно → резко добегает → пауза) */
@supports ((-webkit-mask-composite: xor) or (mask-composite: exclude)) {
    .tvon-home-page .hero-btn-primary::before,
    .tvon-home-page .hero-btn-amber::before,
    .tvon-home-page .hero-btn-ghost::before,
    .tvon-home-page .home-sec-cta::before,
    .tvon-home-page .contact-partner-btn::before,
    .tvon-home-page .footer-ghost-btn::before,
    .tvon-home-page .tvon-home-promo .promo-cta:not(.promo-cta--off)::before,
    .tvon-home-page .tvon-finder-card button[type="submit"]::before,
    .tvon-cat-drawer__rail-btn--main::before {
        content: "";
        position: absolute;
        inset: 0;
        padding: 2px;
        border-radius: inherit;
        background: conic-gradient(from var(--ctaCometA),
            transparent 0deg 72%,
            var(--cta-comet-soft, rgba(255, 255, 255, 0.12)) 83%,
            var(--cta-comet, rgba(255, 255, 255, 0.95)) 91%,
            var(--cta-comet-soft, rgba(255, 255, 255, 0.12)) 97%,
            transparent 100%);
        -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
        -webkit-mask-composite: xor;
        mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
        mask-composite: exclude;
        animation: ctaComet 4.6s ease-in-out infinite;
        pointer-events: none;
    }

    /* Светлые кнопки — тонированная комета (белую не видно) */
    .tvon-home-page .hero-btn-ghost {
        --cta-comet: rgba(21, 128, 61, 0.8);
        --cta-comet-soft: rgba(21, 128, 61, 0.14);
    }
    .tvon-home-page .footer-ghost-btn {
        --cta-comet: rgba(217, 119, 6, 0.85);
        --cta-comet-soft: rgba(217, 119, 6, 0.14);
    }

    /* Разносим старт дуг по времени */
    .tvon-home-page .hero-btn-amber::before { animation-delay: 0.9s; }
    .tvon-home-page .hero-btn-ghost::before { animation-delay: 2.1s; }
    .tvon-home-page .home-sec-cta::before { animation-delay: 1.5s; }
    .tvon-home-page .contact-partner-btn::before { animation-delay: 2.7s; }
    .tvon-home-page .footer-ghost-btn::before { animation-delay: 3.6s; }
    .tvon-home-page .tvon-home-promo .promo-cta::before { animation-delay: 0.4s; }
    .tvon-home-page .tvon-finder-card button[type="submit"]::before { animation-delay: 3.1s; }
    .tvon-cat-drawer__rail-btn--main::before { animation-delay: 1.9s; }
}

/* Бейдж «Акция»: мягкое янтарное свечение + искра */
.tvon-home-page .tvon-home-promo .promo-badge {
    animation: promoBadgeGlow 3.4s ease-in-out infinite;
}

.tvon-home-page .tvon-home-promo .promo-badge svg {
    transform-origin: center;
    animation: promoBadgeSpark 2.8s ease-in-out infinite;
}

@media (prefers-reduced-motion: reduce) {
    .tvon-home-page .hero-btn-primary,
    .tvon-home-page .hero-btn-amber,
    .tvon-home-page .hero-btn-ghost,
    .tvon-home-page .home-sec-cta,
    .tvon-home-page .contact-partner-btn,
    .tvon-home-page .footer-ghost-btn,
    .tvon-home-page .tvon-finder-card button[type="submit"],
    .tvon-home-page .tvon-home-promo .promo-cta,
    .tvon-home-page .tvon-home-promo .promo-badge,
    .tvon-home-page .tvon-home-promo .promo-badge svg,
    .tvon-cat-drawer__rail-btn--main,
    .tvon-home-page .hero-btn-primary::after,
    .tvon-home-page .hero-btn-amber::after,
    .tvon-home-page .hero-btn-ghost::after,
    .tvon-home-page .home-sec-cta::after,
    .tvon-home-page .contact-partner-btn::after,
    .tvon-home-page .footer-ghost-btn::after,
    .tvon-home-page .tvon-finder-card button[type="submit"]::after,
    .tvon-home-page .tvon-home-promo .promo-cta::after,
    .tvon-cat-drawer__rail-btn--main::after,
    .tvon-home-page .hero-btn-primary::before,
    .tvon-home-page .hero-btn-amber::before,
    .tvon-home-page .hero-btn-ghost::before,
    .tvon-home-page .home-sec-cta::before,
    .tvon-home-page .contact-partner-btn::before,
    .tvon-home-page .footer-ghost-btn::before,
    .tvon-home-page .tvon-finder-card button[type="submit"]::before,
    .tvon-home-page .tvon-home-promo .promo-cta::before,
    .tvon-cat-drawer__rail-btn--main::before {
        animation: none !important;
    }
}

/* ---------- Строки контактов: иллюстрированная правая зона ---------- */

/* Акцентный тинт каждой строки по её иконке */
.tvon-home-page .contact-row:has(.contact-row__ico--pin)   { --row-tint: 22, 163, 74; }
.tvon-home-page .contact-row:has(.contact-row__ico--clock) { --row-tint: 217, 145, 20; }
.tvon-home-page .contact-row:has(.contact-row__ico--truck) { --row-tint: 13, 148, 136; }
.tvon-home-page .contact-row:has(.contact-row__ico--route) { --row-tint: 37, 99, 235; }

.tvon-home-page .contact-card:not(.contact-card--social) .contact-row {
    position: relative;
    overflow: hidden;
    isolation: isolate;
}

/* Пастельная заливка уходит вправо — «панель» как на референсе */
.tvon-home-page .contact-card:not(.contact-card--social) .contact-row::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background:
        radial-gradient(8.5rem 4.5rem at 84% 55%, rgba(var(--row-tint, 22, 163, 74), 0.16), transparent 72%),
        linear-gradient(102deg, transparent 50%, rgba(var(--row-tint, 22, 163, 74), 0.07) 72%, rgba(var(--row-tint, 22, 163, 74), 0.15) 100%);
}

/* Мини-иллюстрация справа — сцена в цвете строки */
.tvon-home-page .contact-card:not(.contact-card--social) .contact-row::after {
    content: "";
    position: absolute;
    right: 1rem;
    top: 50%;
    z-index: -1;
    width: 7.6rem;
    height: calc(100% - 0.6rem);
    transform: translateY(-50%);
    background: no-repeat right center / contain;
    opacity: 0.9;
    pointer-events: none;
    transition: transform 0.3s ease, opacity 0.3s ease;
}

.tvon-home-page .contact-card:not(.contact-card--social) a.contact-row:hover::after {
    transform: translateY(-50%) scale(1.05);
    opacity: 1;
}

/* Текст не залезает на иллюстрацию */
.tvon-home-page .contact-card:not(.contact-card--social) .contact-row__body {
    max-width: 62%;
}

/* Адрес: карта с пином и пунктирным маршрутом */
.tvon-home-page .contact-row:has(.contact-row__ico--pin)::after {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 96' fill='none'%3E%3Crect x='16' y='14' width='88' height='66' rx='10' fill='%23e8f6ec' stroke='%23bfe6cd' stroke-width='2'/%3E%3Cpath d='M16 44H104M48 14V80M80 14V80' stroke='%23c7ecd3' stroke-width='5'/%3E%3Cpath d='M24 70C38 64 42 52 58 50 74 48 84 36 96 28' stroke='%230d9488' stroke-width='2.5' stroke-dasharray='5 4' stroke-linecap='round'/%3E%3Ccircle cx='24' cy='70' r='3' fill='%230d9488'/%3E%3Cpath d='M86 18a11 11 0 0 1 11 11c0 8-11 18-11 18s-11-10-11-18a11 11 0 0 1 11-11z' fill='%2316a34a'/%3E%3Ccircle cx='86' cy='29' r='4' fill='%23fff'/%3E%3Cellipse cx='86' cy='50' rx='9' ry='2.5' fill='%2315803d' opacity='.25'/%3E%3C/svg%3E");
}

/* Режим работы: часы, солнышко и пилюля времени */
.tvon-home-page .contact-row:has(.contact-row__ico--clock)::after {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 96' fill='none'%3E%3Ccircle cx='98' cy='18' r='8' fill='%23ffb829'/%3E%3Cpath d='M98 4v5M98 27v5M84 18h5M107 18h5M88 8l3.5 3.5M104.5 24.5l3.5 3.5M108 8l-3.5 3.5M91.5 24.5 88 28' stroke='%23ffb829' stroke-width='2.4' stroke-linecap='round'/%3E%3Ccircle cx='58' cy='52' r='32' fill='%23fdf3df' stroke='%23d99114' stroke-width='3'/%3E%3Cpath d='M58 26v7M58 71v7M32 52h7M77 52h7' stroke='%23e0a93c' stroke-width='3' stroke-linecap='round'/%3E%3Cpath d='M58 52V34' stroke='%23b45309' stroke-width='3.5' stroke-linecap='round'/%3E%3Cpath d='M58 52l12 6' stroke='%23b45309' stroke-width='3.5' stroke-linecap='round'/%3E%3Ccircle cx='58' cy='52' r='3.5' fill='%23b45309'/%3E%3Crect x='66' y='74' width='48' height='15' rx='7.5' fill='%2316a34a'/%3E%3Ctext x='90' y='85' font-family='sans-serif' font-size='9.5' font-weight='700' fill='%23fff' text-anchor='middle'%3E9:00-20:00%3C/text%3E%3C/svg%3E");
}

/* Доставка: фургон на фоне города */
.tvon-home-page .contact-row:has(.contact-row__ico--truck)::after {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 96' fill='none'%3E%3Crect x='10' y='26' width='16' height='40' rx='3' fill='%23d6efe9'/%3E%3Crect x='30' y='16' width='20' height='50' rx='3' fill='%23d6efe9'/%3E%3Crect x='54' y='30' width='14' height='36' rx='3' fill='%23d6efe9'/%3E%3Cpath d='M14 32h8M14 40h8M14 48h8M34 24h12M34 32h12M34 40h12' stroke='%23b7e2d8' stroke-width='2.5'/%3E%3Cpath d='M10 44h16M14 54h12M8 64h18' stroke='%232dd4bf' stroke-width='2.6' stroke-linecap='round'/%3E%3Crect x='34' y='38' width='42' height='28' rx='4' fill='%230d9488'/%3E%3Crect x='40' y='44' width='10' height='10' rx='1.5' fill='%2399f6e4'/%3E%3Cpath d='M45 44v10M40 49h10' stroke='%230d9488' stroke-width='1.6'/%3E%3Cpath d='M76 46h14l10 11v9H76z' fill='%230f766e'/%3E%3Crect x='81' y='49' width='9' height='8' rx='1.5' fill='%23ccfbf1'/%3E%3Ccircle cx='48' cy='68' r='7' fill='%23115e59'/%3E%3Ccircle cx='48' cy='68' r='3' fill='%2399f6e4'/%3E%3Ccircle cx='88' cy='68' r='7' fill='%23115e59'/%3E%3Ccircle cx='88' cy='68' r='3' fill='%2399f6e4'/%3E%3Cpath d='M6 74h108' stroke='%239fe6d8' stroke-width='4' stroke-linecap='round'/%3E%3C/svg%3E");
}

/* Маршрут: извилистая дорога с флагом и пином */
.tvon-home-page .contact-row:has(.contact-row__ico--route)::after {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 96' fill='none'%3E%3Cpath d='M16 80C36 76 32 58 54 54 76 50 82 42 88 32 93 24 98 20 106 18' stroke='%23c3d9fb' stroke-width='10' stroke-linecap='round'/%3E%3Cpath d='M16 80C36 76 32 58 54 54 76 50 82 42 88 32 93 24 98 20 106 18' stroke='%232563eb' stroke-width='2.2' stroke-dasharray='5 5' stroke-linecap='round'/%3E%3Cpath d='M16 80V56' stroke='%231e40af' stroke-width='3' stroke-linecap='round'/%3E%3Cpath d='M16 56l18 6-18 6z' fill='%232563eb'/%3E%3Cpath d='M100 8a10 10 0 0 1 10 10c0 7.5-10 16-10 16s-10-8.5-10-16a10 10 0 0 1 10-10z' fill='%232563eb'/%3E%3Ccircle cx='100' cy='18' r='3.6' fill='%23fff'/%3E%3Cellipse cx='100' cy='37' rx='8' ry='2.2' fill='%231d4ed8' opacity='.25'/%3E%3C/svg%3E");
}
