﻿body {
    font-family: 'Inter', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;

    .service-card {
        border: 1px solid rgba(0,0,0,.08);
        border-radius: 18px;
        overflow: hidden;
        background: #fff;
        box-shadow: 0 10px 28px rgba(0,0,0,.08);
        transition: transform .18s ease, box-shadow .18s ease;
    }

        .service-card:hover {
            transform: translateY(-4px);
            box-shadow: 0 16px 40px rgba(0,0,0,.12);
        }

    .service-media {
        aspect-ratio: 4 / 3; /* однакова висота фото */
        background: #f2f2f2;
    }

        .service-media img {
            width: 100%;
            height: 100%;
            object-fit: cover; /* красиво, без деформації */
            display: block;
        }

    .service-body {
        padding: 18px 18px 20px;
        text-align: center;
        background: #f8f9fa; /* як твій bg-light, але рівніше */
    }

    .service-title {
        margin: 0 0 10px;
        font-weight: 800;
    }

    .service-text {
        margin: 0 0 14px;
        color: #6c757d;
        line-height: 1.5;
        min-height: 72px; /* вирівнює кнопки по низу */
    }

    .btn-buy {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        padding: 10px 14px;
        border-radius: 12px;
        font-weight: 700;
        border: 1px solid rgba(0,0,0,.08);
        background: #fff;
        text-decoration: none;
        transition: transform .08s ease, background .18s ease;
    }

        .btn-buy:hover {
            background: #ffffff;
            transform: translateY(-1px);
        }
    /* Мобільна адаптація */
    @media (max-width: 576px) {
        .service-body {
            padding: 16px;
        }

        .service-text {
            min-height: auto;
        }
    }

    .lead-text {
        font-size: 1.05rem;
        line-height: 1.65;
        letter-spacing: 0.01em;
    }

    .carousel-img {
        max-height: 70vh;
        object-fit: cover;
    }

    @media (max-width: 768px) {
        .carousel-img {
            max-height: 45vh; /* на телефонах менше */
        }
    }

    .christmas-box {
        max-width: 900px;
        margin: 40px auto;
        padding: 32px 28px;
        text-align: center;
        background: linear-gradient(135deg, #ffffff, #ffffff);
        border-radius: 20px;
        box-shadow: 0 12px 30px rgba(0,0,0,0.08);
    }

        .christmas-box h2 {
            font-size: 2rem;
            margin-bottom: 16px;
            font-weight: 700;
        }

        .christmas-box p {
            font-size: 1.05rem;
            line-height: 1.6;
            color: #4b5563;
        }

        .christmas-box .wish {
            margin-top: 14px;
            font-weight: 600;
        }


    .contract-page {
        padding: 56px 0;
        background: #fff;
    }

    .contract-wrap {
        max-width: 980px;
    }

    .contract-head {
        text-align: center;
        margin-bottom: 18px;
    }

    .contract-title {
        font-weight: 900;
        letter-spacing: .02em;
        margin: 0 0 6px;
    }

    .contract-subtitle {
        margin: 0;
        color: #6b7280;
        font-weight: 600;
    }

    .contract-body {
        margin-top: 18px;
        padding: 22px 22px;
        border: 1px solid rgba(0,0,0,.08);
        border-radius: 18px;
        box-shadow: 0 14px 34px rgba(0,0,0,.08);
        background: #fff;
    }

        .contract-body p {
            color: #4b5563;
            line-height: 1.8;
            font-size: 1.03rem;
            margin: 0 0 12px;
        }

    .contract-h {
        margin: 22px 0 10px;
        font-weight: 900;
        color: #111827;
        font-size: 1.15rem;
        letter-spacing: .01em;
    }

    .contract-ol {
        margin: 10px 0 14px;
        padding-left: 22px;
        color: #4b5563;
        line-height: 1.8;
    }

    .contract-requisites {
        margin-top: 10px;
        padding: 14px 16px;
        border: 1px dashed rgba(0,0,0,.16);
        border-radius: 14px;
        background: #f9fafb;
    }

    @media (max-width: 576px) {
        .contract-body {
            padding: 16px;
        }

            .contract-body p {
                font-size: 1rem;
            }
    }

    .dropdown-item.active {
        background-color: var(--bs-primary);
        color: #fff;
    }


    .ec-navbar {
        background-color: #0b1f3b;
    }

        .ec-navbar .navbar-brand,
        .ec-navbar .nav-link {
            color: #ffffff;
        }

            .ec-navbar .nav-link:hover {
                color: #6ea8fe;
            }
        /* бургер-кнопка */
        .ec-navbar .navbar-toggler {
            border-color: rgba(255,255,255,0.2);
        }

        .ec-navbar .navbar-toggler-icon {
            filter: invert(1);
        }
}
