/*
 * =========================================================
 * 🛁 Лендинги реставрации ванн — единый мягкий стиль
 * Всё завязано на .restoration-landing, другие страницы не трогаем.
 * =========================================================
 */

/* ---------------- Корень лендинга и токены ---------------- */

.restoration-landing,
.landing-callback-modal {
    /* Бренд */
    --brand-color: #4BB5C3;
    --brand-color-dark: #3A9BA9;
    --brand-color-soft: #F2FAFB;

    /* Доп. акценты (мягкие пастели) */
    --accent-blue: #E7F0FF;
    --accent-blue-border: #C7D8FF;

    --accent-yellow: #FFF7E6;
    --accent-yellow-border: #F4D9A4;

    --accent-green: #E9F6EC;
    --accent-green-border: #B7E1C0;

    --accent-red: #FFE9E7;
    --accent-red-border: #F5B8B3;

    /* Текст */
    --text-main: #1F2933;
    --text-muted: #7B8794;

    /* Успех / ошибка */
    --color-success: #16A34A;
    --color-success-soft: rgba(22, 163, 74, 0.08);
    --color-success-border: rgba(22, 163, 74, 0.35);

    --color-danger: #E11D48;
    --color-danger-soft: rgba(225, 29, 72, 0.08);
    --color-danger-border: rgba(225, 29, 72, 0.35);

    /* Геометрия и тени */
    --radius-card: 16px;
    --radius-pill: 999px;
    --shadow-soft: 0 10px 24px rgba(15, 35, 52, 0.08);
    --shadow-strong: 0 18px 40px rgba(15, 35, 52, 0.12);

    color: var(--text-main);
}

/* Базовая типографика */

.restoration-landing h1,
.restoration-landing h2,
.restoration-landing h3,
.restoration-landing h4 {
    color: var(--text-main);
    letter-spacing: 0.01em;
}

.restoration-landing p {
    color: var(--text-main);
    line-height: 1.55;
}

.restoration-landing .uk-text-meta {
    color: var(--text-muted);
}

/* =========================
   Общий ресет для кнопок лендинга
   ========================= */

.restoration-landing .uk-button,
.landing-callback-modal .uk-button {
    line-height: 1.25;
    min-height: 0; /* убираем базовый min-height UIkit */
}

/* Универсальная pill */

.restoration-landing .pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    border-radius: var(--radius-pill);
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.02em;
    text-transform: none;
}

.restoration-landing .pill--yellow {
    background: var(--accent-yellow);
    border: 1px solid var(--accent-yellow-border);
    color: #8C5E11;
}

.restoration-landing .pill--green {
    background: var(--accent-green);
    border: 1px solid var(--accent-green-border);
    color: #1D6B34;
}

.restoration-landing .pill--blue {
    background: var(--accent-blue);
    border: 1px solid var(--accent-blue-border);
    color: #1F4E8A;
}

.restoration-landing .pill--red {
    background: var(--accent-red);
    border: 1px solid var(--accent-red-border);
    color: #9F1F32;
}

/* =========================
   🎯 Кнопки
   ========================= */

.restoration-landing .uk-button-primary {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;

    border-radius: var(--radius-pill);
    padding: 6px 18px;      /* ЧУТЬ выше, чем в прошлой версии */

    font-weight: 600;
    font-size: 14px;
    letter-spacing: 0.01em;

    background-image: linear-gradient(135deg, var(--brand-color) 0%, #62C6D2 100%);
    border: 1px solid rgba(37, 132, 145, 0.4);
    color: #ffffff;

    box-shadow: 0 10px 22px rgba(75, 181, 195, 0.32);
    transition:
        background-image 0.2s ease,
        box-shadow 0.18s ease,
        transform 0.1s ease,
        border-color 0.18s ease;
}

.restoration-landing .uk-button-primary [uk-icon] {
    margin-right: 6px;
}

.restoration-landing .uk-button-primary:hover,
.restoration-landing .uk-button-primary:focus {
    background-image: linear-gradient(135deg, var(--brand-color-dark) 0%, #55B6C3 100%);
    border-color: rgba(37, 132, 145, 0.7);
    box-shadow: 0 12px 26px rgba(75, 181, 195, 0.4);
    transform: translateY(-1px);
}

.restoration-landing .uk-button-primary:active {
    transform: translateY(0);
    box-shadow: 0 6px 16px rgba(75, 181, 195, 0.35);
}

/* SMALL-вариант — для хедера и компактных CTA */

.restoration-landing .uk-button-primary.uk-button-small {
    padding: 4px 12px;
    font-size: 13px;
    box-shadow: 0 4px 10px rgba(75, 181, 195, 0.26);
}

/* ещё чуть компактнее конкретно в хедере */

.restoration-landing.landing-header .uk-button-primary.uk-button-small {
    padding: 4px 10px;
}

/* Широкая CTA-кнопка (герой, формы и т.п.) */

.restoration-landing .uk-button-primary.uk-width-1-1 {
    max-width: 320px;
    margin: 10px auto 4px;
    display: flex;
}

/* Вторичная кнопка */

.restoration-landing .uk-button-default {
    border-radius: var(--radius-pill);
    font-weight: 500;
    border-color: rgba(75, 181, 195, 0.35);
    color: var(--brand-color);
    background: #ffffff;
    transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.1s ease;
}

.restoration-landing .uk-button-default:hover {
    border-color: rgba(75, 181, 195, 0.8);
    box-shadow: 0 6px 16px rgba(15, 35, 52, 0.08);
    transform: translateY(-1px);
}

/* Геройская кнопка */

.restoration-landing .landing-hero-8__button {
    border-radius: var(--radius-pill);
    padding: 7px 20px;   /* немного выше, чем было 5px */
    font-size: 14px;
    background-image: linear-gradient(135deg, var(--brand-color) 0%, #62c6d2 100%);
    border-color: transparent;
    box-shadow: 0 10px 20px rgba(75, 181, 195, 0.35);
    font-weight: 600;
    transition: transform 0.1s ease, box-shadow 0.15s ease, background-image 0.2s ease;
}

.restoration-landing .landing-hero-8__button:hover {
    background-image: linear-gradient(135deg, var(--brand-color-dark) 0%, #55b6c3 100%);
    filter: brightness(0.97);
    transform: translateY(-1px);
    box-shadow: 0 12px 24px rgba(75, 181, 195, 0.4);
}

/* =========================================================
   🧭 Шапка лендинга
   ========================================================= */

.restoration-landing.landing-header .landing-header__bar {
    background: #ffffff;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.04);
    border-bottom: 1px solid rgba(148, 163, 184, 0.12);
}

.restoration-landing.landing-header .uk-navbar-sticky.landing-header__bar {
    background: rgba(255, 255, 255, 0.9) !important;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    box-shadow: 0 3px 12px rgba(15, 23, 42, 0.08);
}

.restoration-landing.landing-header .landing-header__brand-block {
    line-height: 1.2;
}

.restoration-landing.landing-header .landing-header__brand {
    color: var(--text-main);
    white-space: nowrap;
}

.restoration-landing.landing-header .landing-header__service {
    max-width: 260px;
    color: var(--text-muted);
}

/* Лейблы преимуществ в шапке */

.restoration-landing.landing-header .landing-header__benefits {
    gap: 6px;
}

.restoration-landing.landing-header .landing-header__benefits .uk-label {
    background: rgba(75, 181, 195, 0.12);
    color: #2F4F55;
    border: 1px solid rgba(75, 181, 195, 0.20);
    border-radius: var(--radius-pill);
    font-size: 12px;
    font-weight: 400;
    padding: 3px 12px;
    line-height: 1.3;
}

/* Телефон справа */

.restoration-landing.landing-header .landing-header__phone-link span {
    color: var(--text-main);
    letter-spacing: 0.02em;
}

.restoration-landing.landing-header .landing-header__phone .uk-text-meta {
    color: var(--text-muted);
    margin-top: 2px;
}

/* Меню в хедере */

.restoration-landing.landing-header .uk-navbar-item {
    padding: 4px 6px;
}

.restoration-landing.landing-header .landing-header__contacts-mobile {
    display: flex;
    align-items: center;
}

.restoration-landing.landing-header .landing-header__contacts-mobile .uk-button + .uk-button {
    margin-left: 8px;
}

@media (max-width: 640px) {
    .restoration-landing.landing-header .uk-container {
        padding-left: 5px;
        padding-right: 8px;
    }

    .restoration-landing.landing-header .uk-navbar-item,
    .restoration-landing.landing-header .uk-navbar-toggle,
    .restoration-landing.landing-header .uk-navbar-nav > li > a {
        min-height: 45px;
        padding-top: 5px;
        padding-bottom: 5px;
    }

    .restoration-landing.landing-header .landing-header__contacts-mobile .uk-button {
        padding: 0 14px;
    }
}

/* =========================================================
   📞 Модалка обратного звонка
   ========================================================= */

/* Сам диалог (фикс ширины + скругление) */

.landing-callback-modal.uk-modal-dialog {
    background: linear-gradient(155deg, #ffffff 0%, #f7fbff 55%, var(--brand-color-soft) 100%);
    border: 1px solid rgba(75, 181, 195, 0.14);
    box-shadow: var(--shadow-soft);

    border-radius: 24px;
    width: 100% !important;
    max-width: 460px !important;
    margin: 40px auto;
    overflow: hidden;
    box-sizing: border-box;
}

/* если класс используется без uk-modal-dialog */

.landing-callback-modal {
    background: linear-gradient(155deg, #ffffff 0%, #f7fbff 55%, var(--brand-color-soft) 100%);
}

.landing-callback-modal__pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 14px;
    border-radius: var(--radius-pill);
    background: rgba(75, 181, 195, 0.16);
    color: var(--brand-color-dark);
    font-weight: 600;
    letter-spacing: 0.01em;
    margin-bottom: 6px;
}

.landing-callback-modal .uk-form-label {
    color: var(--text-main);
    font-weight: 600;
    margin-bottom: 4px;
}

.landing-callback-modal .uk-input,
.landing-callback-modal .uk-textarea {
    border-radius: 12px;
    border: 1px solid rgba(31, 41, 51, 0.12);
    background: #ffffff;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
    box-shadow: inset 0 1px 2px rgba(15, 23, 42, 0.04);
}

.landing-callback-modal .uk-input:focus,
.landing-callback-modal .uk-textarea:focus {
    border-color: rgba(75, 181, 195, 0.65);
    box-shadow: 0 0 0 3px rgba(75, 181, 195, 0.18);
}

.landing-callback-modal .uk-text-meta {
    color: var(--text-muted);
}

/* Чекбокс согласия — фикс размер везде (и в модалке, и в герое) */

.landing-consent input[type="checkbox"],
.landing-consent .uk-checkbox {
    width: 18px;
    height: 18px;
    min-width: 18px;
    min-height: 18px;
    box-sizing: border-box;
    flex-shrink: 0;
    display: inline-block;
}

/* контейнер согласия */

.landing-callback-modal .landing-consent,
.restoration-landing .landing-consent {
    padding: 10px 12px;
    border-radius: 12px;
    border: 1px dashed rgba(75, 181, 195, 0.35);
    background: rgba(75, 181, 195, 0.05);
}

.landing-callback-modal .landing-consent a,
.restoration-landing .landing-consent a {
    color: var(--brand-color-dark);
}

/* =========================================================
   🦋 Hero-блок
   ========================================================= */

.restoration-landing.landing-hero-8 {
    position: relative;
    overflow: hidden;
    background: linear-gradient(160deg, #f7fbff 0%, #ffffff 40%, #fff7f1 100%);
    color: var(--text-main);
    padding-top: 80px;
    padding-bottom: 80px;
}

/* мягкие пятна фона */

.restoration-landing.landing-hero-8::before {
    content: "";
    position: absolute;
    pointer-events: none;
    inset: 0;
    background:
        radial-gradient(circle at 0 0, rgba(75, 181, 195, 0.16) 0, transparent 55%),
        radial-gradient(circle at 100% 20%, rgba(255, 173, 120, 0.18) 0, transparent 55%);
    z-index: -1;
}

/* Локация */

.restoration-landing .landing-hero-8__location {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 10px;
    border-radius: var(--radius-pill);
    background: #e6f3ff;
    border: 1px solid #c4e2ff;
    color: #1f5c8f;
    font-size: 13px;
}

.restoration-landing .landing-hero-8__location-region {
    display: inline-flex;
    align-items: center;
    padding: 2px 10px;
    margin-left: 6px;
    border-radius: var(--radius-pill);
    background: #eef7f1;
    border: 1px solid #cfe8d7;
    color: #2f6b4f;
    font-size: 12px;
    line-height: 1.3;
}

/* Заголовок и лид */

.restoration-landing .landing-hero-8__title {
    line-height: 1.1;
    font-size: 46px;
    font-weight: 800;

    background-image: linear-gradient(
        135deg,
        #0b899f 0%,
        #24a6ba 30%,
        #4BB5C3 60%,
        #6be4ff 100%
    );
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;

    color: var(--brand-color-dark);
    text-shadow: 0 2px 6px rgba(11, 137, 159, 0.18);
}

.restoration-landing .landing-hero-8__lead {
    color: var(--text-main);
}

/* Правая карточка */

.restoration-landing .landing-hero-8__card {
    border-radius: 20px;
    box-shadow: var(--shadow-strong);
    border: 1px solid rgba(148, 163, 184, 0.18);
    background: #ffffff;
}

/* Типы ванн */

.restoration-landing .landing-hero-8__types {
    margin-top: 10px;
}

.restoration-landing .landing-hero-8__type {
    border-radius: 12px;
    border: 1px solid rgba(148, 163, 184, 0.35);
    background: #ffffff;
    padding: 10px 12px 8px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 70px;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.15s ease;
    cursor: pointer;
}

.restoration-landing .landing-hero-8__type-title {
    font-size: 14px;
    font-weight: 500;
    color: var(--text-main);
}

.restoration-landing .landing-hero-8__type-price {
    margin-top: 4px;
    font-size: 13px;
    font-weight: 600;
    color: var(--brand-color-dark);
    text-align: right;
}

/* hover */

.restoration-landing .landing-hero-8__type:hover {
    border-color: var(--brand-color);
    box-shadow: 0 8px 18px rgba(75, 181, 195, 0.25);
    transform: translateY(-1px);
}

/* Технологии под заголовком */

.restoration-landing .landing-hero-8__type--tech {
    background: var(--brand-color-soft);
    border-color: rgba(75, 181, 195, 0.45);
}

/* Инпуты формы справа */

.restoration-landing .landing-hero-8__input {
    border-radius: 10px;
    border: 1px solid rgba(31, 41, 51, 0.15);
    box-shadow: inset 0 1px 2px rgba(15, 23, 42, 0.04);
}

.restoration-landing .landing-hero-8__input:focus {
    border-color: rgba(75, 181, 195, 0.75);
    box-shadow: 0 0 0 3px rgba(75, 181, 195, 0.18);
}

/* Бейджи под заголовком */

.restoration-landing .landing-hero-8__badges {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.restoration-landing .landing-hero-8__badge {
    padding: 4px 12px;
    border-radius: var(--radius-pill);
    background: rgba(75, 181, 195, 0.1);
    border: 1px solid rgba(75, 181, 195, 0.35);
    color: #225861;
    font-size: 12px;
    font-weight: 500;
}

.restoration-landing .landing-hero-8__badge--postpay {
    background: #fef3e6;
    border-color: #f2d7b4;
    color: #8c5e11;
}

/* Подпись над блоком технологий */

.restoration-landing .landing-hero-8__tech-label {
    color: var(--text-muted);
}

/* Микротекст под кнопкой */

.restoration-landing .landing-hero-8__microcopy {
    font-size: 11px;
    color: var(--text-muted);
}

/* Подпись с согласием */

.restoration-landing .landing-hero-8__consent {
    display: block;
    font-size: 12px;
    color: var(--text-muted);
}

/* Шапка карточки справа */

.restoration-landing .landing-hero-8__card .uk-card-title {
    color: var(--text-main);
}

.restoration-landing .landing-hero-8__card .uk-text-meta {
    color: var(--text-muted);
}

/* Адаптация hero */

@media (max-width: 959px) {
    .restoration-landing.landing-hero-8 {
        padding-top: 56px;
        padding-bottom: 56px;
    }

    .restoration-landing .landing-hero-8__card {
        margin-top: 24px;
        max-width: none;
    }

    .restoration-landing .landing-hero-8__title {
        font-size: 32px;
    }
}

@media (max-width: 640px) {
    .restoration-landing.landing-hero-8 {
        padding-top: 40px;
        padding-bottom: 40px;
    }

    .restoration-landing .landing-hero-8__location {
        margin-bottom: 10px;
        font-size: 12px;
    }

    .restoration-landing .landing-hero-8__title {
        font-size: 32px;
        line-height: 1.25;
        font-weight: 800;
    }

    .restoration-landing .landing-hero-8__lead {
        font-size: 14px;
    }

    .restoration-landing .landing-hero-8__type {
        min-height: auto;
        padding: 8px 10px 6px;
    }

    .restoration-landing .landing-hero-8__type-title {
        font-size: 13px;
    }

    .restoration-landing .landing-hero-8__type-price {
        font-size: 12px;
    }

    .restoration-landing .landing-hero-8__card {
        padding: 18px 14px;
        border-radius: 16px;
        box-shadow: 0 12px 28px rgba(15, 35, 52, 0.12);
    }

    .restoration-landing .landing-hero-8__input {
        font-size: 14px;
        height: 42px;
    }

    .restoration-landing .landing-hero-8__button {
        font-size: 14px;
        height: 44px;
    }

    .restoration-landing .landing-hero-8__consent {
        font-size: 11px;
    }
}

/* =========================================================
   🛁 Блок способов реставрации
   ========================================================= */

.restoration-landing .landing-restoration {
    position: relative;
    padding-top: 20px;
    padding-bottom: 10px;
}

/* Заголовок блока (h2) */

.restoration-landing .landing-restoration__title {
    font-weight: 700;
    letter-spacing: 0.01em;
    color: var(--text-main);
    margin-bottom: 6px;
}

@media (min-width: 641px) {
    .restoration-landing .landing-restoration__title {
        font-size: 30px;
        line-height: 1.2;
    }
}

@media (max-width: 640px) {
    .restoration-landing .landing-restoration__title {
        font-size: 22px;
        line-height: 1.25;
        margin-bottom: 4px;
    }

    .restoration-landing .landing-restoration {
        margin-top: 16px;
    }
}

.restoration-landing .landing-restoration::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background:
        radial-gradient(circle at 85% 10%, rgba(75, 181, 195, 0.08) 0, transparent 55%),
        radial-gradient(circle at 10% 90%, rgba(255, 173, 120, 0.07) 0, transparent 55%);
}

/* TAB-меню слева */

.restoration-landing .landing-restoration__tabs {
    border: none;
}

.restoration-landing .landing-restoration__tabs::before {
    display: none;
}

.restoration-landing .landing-restoration__tabs > li > a {
    border-radius: 14px;
    border: 1px solid rgba(148,163,184,0.35);
    background: #fff;
    padding: 12px 14px;
    margin-bottom: 10px;
    transition: 0.18s ease;
    box-shadow: 0 2px 6px rgba(15, 23, 42, 0.04);
    display: flex;
    align-items: center;
    font-weight: 500;
    color: var(--text-main);
}

.restoration-landing .landing-restoration__tabs > li > a span[uk-icon] {
    color: var(--brand-color-dark);
}

.restoration-landing .landing-restoration__tabs > li.uk-active > a {
    border-color: var(--brand-color);
    background: var(--brand-color-soft);
    box-shadow: 0 6px 16px rgba(75,181,195,0.25);
    transform: translateX(2px);
}

.restoration-landing .landing-restoration__tabs > li.uk-active > a span[uk-icon] {
    color: var(--brand-color-dark);
}

.restoration-landing .landing-restoration__tabs > li > a:hover {
    border-color: rgba(75,181,195,0.7);
    box-shadow: 0 4px 10px rgba(15, 23, 42, 0.06);
}

/* Карточки */

.restoration-landing .landing-restoration__card {
    border-radius: var(--radius-card);
    border: 1px solid rgba(148,163,184,0.18);
    background: #fff;
    transition: 0.2s;
}

.restoration-landing .landing-restoration__card:hover {
    box-shadow: 0 12px 24px rgba(75,181,195,0.15);
    transform: translateY(-1px);
}

/* Акцент на рекомендуемом методе */

.restoration-landing .landing-restoration__card--recommended {
    border: 2px solid var(--brand-color);
    box-shadow: 0 12px 26px rgba(75,181,195,0.25);
}

/* Лейблы плюсы / минусы */

.restoration-landing .landing-restoration__label {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 12px;
    text-transform: none;
}

.restoration-landing .landing-restoration__label--minus {
    background: var(--accent-red);
    border: 1px solid var(--accent-red-border);
    color: #9F1F32;
    border-radius: var(--radius-pill);
    padding: 4px 10px;
}

.restoration-landing .landing-restoration__label--plus {
    background: var(--accent-green);
    border: 1px solid var(--accent-green-border);
    color: #1D6B34;
    border-radius: var(--radius-pill);
    padding: 4px 10px;
}

.restoration-landing .landing-restoration__pros-cons-group + .landing-restoration__pros-cons-group {
    margin-top: 10px;
}

/* Списки плюсов/минусов */

.restoration-landing .landing-restoration__list {
    list-style: none;
    margin: 6px 0 0;
    padding: 0;
}

.restoration-landing .landing-restoration__list li {
    display: flex;
    align-items: flex-start;
    gap: 6px;
    padding: 4px 0;
    font-size: 14px;
    border-bottom: 1px dashed rgba(148, 163, 184, 0.35);
}

.restoration-landing .landing-restoration__list li:last-child {
    border-bottom: none;
}

.restoration-landing .landing-restoration__list-icon {
    margin-top: 2px;
    min-width: 16px;
}

.restoration-landing .landing-restoration__list--cons .landing-restoration__list-icon {
    color: var(--color-danger);
}

.restoration-landing .landing-restoration__list--pros .landing-restoration__list-icon {
    color: var(--brand-color-dark);
}

/* =========================
   🦶 Футер
   ========================= */

.landing-footer--restoration {
    background: linear-gradient(180deg, #f7fbfc 0%, #eff6f8 100%);
    border-top: 1px solid rgba(75, 181, 195, 0.12);
}

.landing-footer--restoration .landing-footer__panel {
    background: transparent;
    border: none;
    box-shadow: none;
    padding: 18px 0 14px;
}

@media (min-width: 960px) {
    .landing-footer--restoration .landing-footer__panel {
        padding: 22px 4px 18px;
    }
}

.landing-footer--restoration .landing-footer__brand-row {
    gap: 10px;
}

.landing-footer--restoration .landing-footer__legal {
    margin-top: 10px;
    color: var(--text-muted);
    line-height: 1.55;
    max-width: 640px;
}

.landing-footer--restoration .landing-footer__geo {
    color: var(--text-muted);
}

.landing-footer--restoration .landing-footer__links {
    gap: 12px;
}

.landing-footer--restoration a {
    color: var(--brand-color-dark);
    font-weight: 600;
    text-decoration: none;
}

.landing-footer--restoration a:hover {
    color: var(--brand-color);
}
