/* ====================================================
   Specialist-A Клининг — Polish layer
   ==================================================== */

/* 1. Глобальные плавные переходы */
a, button, .btn,
.advantage-card, .cleaning-type-card, .service-card,
.client-item, .header__btn, input, textarea, select {
    transition: transform .35s cubic-bezier(.2,.8,.2,1),
                box-shadow .35s cubic-bezier(.2,.8,.2,1),
                background-color .25s ease,
                border-color .25s ease,
                color .25s ease,
                opacity .25s ease !important;
}

/* 2. Объём на карточках */
.advantage-card:hover,
.cleaning-type-card:hover,
.client-item:hover {
    transform: translateY(-6px);
    box-shadow: 0 18px 40px -12px rgba(15, 23, 42, .22),
                0 6px 18px -8px rgba(15, 23, 42, .15) !important;
}

/* 3. Кнопки */
.btn,
.header__btn {
    position: relative;
    overflow: hidden;
}

.btn:hover,
.header__btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 28px -10px rgba(255, 106, 0, .55),
                0 4px 12px -4px rgba(0, 0, 0, .2) !important;
}

.btn:active,
.header__btn:active {
    transform: translateY(0);
}

/* shine sweep на оранжевых кнопках */
.btn::after,
.header__btn::after {
    content: '';
    position: absolute;
    top: 0; left: -120%;
    width: 60%; height: 100%;
    background: linear-gradient(120deg, transparent, rgba(255,255,255,.35), transparent);
    transform: skewX(-20deg);
    pointer-events: none;
}

.btn:hover::after,
.header__btn:hover::after {
    animation: btnShine .9s ease;
}

@keyframes btnShine {
    from { left: -120%; }
    to   { left: 130%; }
}

/* 4. Header при скролле — плотнее */
.header.is-scrolled {
    box-shadow: 0 8px 28px -12px rgba(15, 23, 42, .25) !important;
}

/* 5. Поля форм: мягкий focus */
input:focus,
textarea:focus,
select:focus {
    outline: none;
    box-shadow: 0 0 0 4px rgba(255, 106, 0, .18) !important;
    border-color: #ff6a00 !important;
}

/* 6. Smoothing */
html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }

/* ====================================================
   STICKY MOBILE CTA
   ==================================================== */
.mobile-cta {
    position: fixed;
    left: 12px; right: 12px; bottom: 12px;
    z-index: 9999;
    display: none;
    gap: 8px;
    padding: 8px;
    background: rgba(20, 24, 28, .92);
    backdrop-filter: saturate(160%) blur(14px);
    -webkit-backdrop-filter: saturate(160%) blur(14px);
    border-radius: 16px;
    box-shadow: 0 16px 40px -16px rgba(0,0,0,.5),
                0 4px 14px -6px rgba(0,0,0,.3);
    border: 1px solid rgba(255,255,255,.08);
    animation: ctaIn .45s cubic-bezier(.2,.8,.2,1);
}

@keyframes ctaIn {
    from { transform: translateY(120%); opacity: 0; }
    to   { transform: translateY(0);    opacity: 1; }
}

.mobile-cta a {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    text-decoration: none;
    font: 600 14px/1 'Montserrat', Arial, sans-serif;
    padding: 14px 12px;
    border-radius: 10px;
    transition: transform .2s ease, box-shadow .2s ease, background .25s ease;
}

.mobile-cta .mobile-cta__call {
    background: linear-gradient(135deg, #ffa05d, #ff6a00);
    color: #fff;
    box-shadow: 0 8px 18px -8px rgba(255,106,0,.7);
}

.mobile-cta .mobile-cta__call:hover { transform: translateY(-1px); }

.mobile-cta .mobile-cta__tg {
    background: rgba(255,255,255,.07);
    color: #fff;
    border: 1px solid rgba(255,255,255,.12);
}

.mobile-cta .mobile-cta__tg:hover { background: rgba(255,255,255,.12); }

.mobile-cta svg { width: 16px; height: 16px; flex-shrink: 0; }

@media (max-width: 768px) {
    .mobile-cta { display: flex; }
    body { padding-bottom: 84px; }

    /* --- Хэдер на мобиле: ровно по центру --- */
    :root { --header-height: 70px !important; }
    .header__inner {
        padding: 12px 16px !important;
        align-items: center !important;
        justify-content: space-between !important;
        height: 70px !important;
    }
    .header__logo {
        display: flex !important;
        align-items: center !important;
        flex: 0 0 auto !important;
    }
    .header__logo-bg {
        padding: 0 !important;
        display: flex !important;
        align-items: center !important;
    }
    .header__logo-bg img {
        height: 44px !important;
        width: auto !important;
        max-width: 180px !important;
        object-fit: contain !important;
        display: block !important;
    }
    .header__contacts {
        display: flex !important;
        order: 2 !important;
        gap: 0 !important;
    }
    .header__btn {
        display: none !important;
    }
    .header__phone {
        font-size: 13px !important;
        font-weight: 600 !important;
        color: #222 !important;
        padding: 0 12px !important;
    }
    .header__burger {
        display: flex !important;
        flex-direction: column !important;
        gap: 5px !important;
        width: 26px !important;
        height: 20px !important;
        padding: 0 !important;
        justify-content: center !important;
        cursor: pointer !important;
        order: 3 !important;
    }
    .header__burger span {
        width: 26px !important;
        height: 2.5px !important;
        background: #222 !important;
        display: block !important;
        border-radius: 1px !important;
    }

    /* --- Hero: убрать лишнюю высоту --- */
    .hero--main {
        min-height: auto !important;
        padding: 40px 0 60px !important;
    }
    .hero__title { font-size: 38px !important; }
    .hero__subtitle { font-size: 14px !important; line-height: 1.4 !important; }
    .hero__slogan { font-size: 12px !important; line-height: 1.4 !important; }
}

@media (max-width: 480px) {
    .hero__title { font-size: 30px !important; letter-spacing: 2px !important; }
    .hero__stats { gap: 12px !important; padding-top: 24px !important; }
    .stat-number { font-size: 28px !important; height: 32px !important; }
    .stat-number--sm { font-size: 22px !important; }
    .stat-label { font-size: 9px !important; }
}

/* --- Hero: усиленное затемнение, чтобы фото не «торчало» из-под белого хэдера --- */
.hero--main {
    background: linear-gradient(rgba(15, 23, 30, .85), rgba(15, 23, 30, .65)),
                url('../images/hero-bg.jpg') center/cover no-repeat !important;
}

@media print { .mobile-cta { display: none !important; } }
