/* Точечная стилистика: читаемость и ритм без смены палитры и компоновки */

body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}

body.home-page {
    padding-top: 0;
    --home-nav-pad: 44px;
}

/* Десктоп: одинаковый серый отступ над и под строкой навбара, без лишнего зазора перед карточкой hero */
@media (min-width: 992px) {
    body.home-page .navbar-cdek-custom {
        padding-top: var(--home-nav-pad);
        padding-bottom: var(--home-nav-pad);
    }

    body.home-page .hero-cdek-custom {
        margin-top: 0;
        /* ровно высота шапки: паддинги навбара + строка лого/меню */
        padding-top: calc(var(--home-nav-pad) * 2 + 2.5rem);
    }
}

@media (max-width: 991px) {
    /* На планшете/мобиле: симметрия от экрана → навбар → hero */
    body.home-page {
        --home-header-height: 0px;
        --mobile-edge-gap: 20px;
    }

    body.home-page .navbar-cdek-custom {
        background-color: #edefef;
        padding: var(--mobile-edge-gap) 16px;
    }

    .btn-mobile-header {
        background-color: #00b33c;
        color: #fff;
        border: none;
        box-shadow: 0 2px 10px rgba(0, 179, 60, 0.28);
        display: inline-flex;
        align-items: center;
        gap: 8px;
        white-space: nowrap;
    }

    body:not(.home-page) .navbar-cdek-custom {
        background-color: var(--cdek-green-dark);
        padding: 12px 16px;
    }

    /*
     * Симметрия: --mobile-edge-gap над логотипом и под строкой навбара (padding шапки).
     * До тёмной карточки — только нижний padding шапки, без второго внешнего отступа у hero.
     * Боковые отступы — только внутри .hero-main-block.
     */
    body.home-page .hero-cdek-custom {
        padding: 0 0 64px;
    }

    body.home-page .hero-main-block {
        padding: 32px 26px 36px;
    }
}

@media (max-width: 767px) {
    body.home-page {
        --mobile-edge-gap: 16px;
    }

    body.home-page .navbar-cdek-custom {
        padding: var(--mobile-edge-gap) 12px;
    }

    body.home-page .hero-cdek-custom {
        padding: 0 0 48px;
    }

    body.home-page .hero-main-block {
        padding: 28px 22px 32px;
    }
}

.competitor-advantages-title,
.competitor-features-title,
.competitor-tariffs-title,
.competitor-faq-title,
.competitor-form-title,
.competitor-packages-title,
.competitor-timeline-title,
.competitor-how-we-work h2 {
    line-height: 1.25;
    letter-spacing: -0.02em;
}

.competitor-advantage-text,
.competitor-small-card-text,
.competitor-tariff-list,
.competitor-feature-list {
    line-height: 1.55;
}

.hero-info-box {
    width: 100%;
    margin-left: 0;
}

@media (min-width: 992px) {
    .hero-info-box {
        width: 60%;
        margin-left: auto;
    }

    .hero-cta-wrap {
        margin-top: 8px;
    }
}

@media (max-width: 991px) {
    .hero-info-box {
        background-color: rgba(255, 255, 255, 0.12);
    }

    .hero-info-text {
        font-size: 15px;
        line-height: 1.45;
    }
}

.hero-image-container img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.competitor-faq-question {
    gap: 16px;
}

.competitor-faq-question span:last-child {
    flex-shrink: 0;
    color: #00b33c;
    font-size: 1.25rem;
    line-height: 1;
}

.competitor-form-input::placeholder {
    color: #adb5bd;
}

.competitor-form-checkbox a {
    color: var(--cdek-green-dark, #12343a);
    text-decoration: underline;
    text-underline-offset: 2px;
}

.competitor-form-checkbox a:hover {
    color: #00b33c;
}

.footer-cdek a.text-white-50:hover {
    color: var(--cdek-green, #04e762) !important;
}

.navbar-cdek-custom .navbar-brand img {
    display: block;
    height: 32px;
    width: auto;
}

.competitor-cta .cta-card h3 {
    color: var(--cdek-green-dark, #12343a);
    font-weight: 700;
}
