/* ====================================================
   Specialist-A — Polish layer
   Cosmetic overlay: smooth transitions, depth, sticky CTA
   ==================================================== */

/* --- 1. Глобальные плавные переходы --- */
a, button, .btn,
.direction-card, .service-card, .benefit-card, .case-card,
.industry-card, .included-card, .staff-card, .vacancy-card,
.social-card, .brand-item, .cta-box, .header-container,
.mobile-menu-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. Объём на карточках при наведении --- */
.direction-card:hover,
.service-card:hover,
.benefit-card:hover,
.case-card:hover,
.industry-card:hover,
.included-card:hover,
.staff-card:hover,
.vacancy-card:hover,
.social-card:hover,
.brand-item:hover {
    transform: translateY(-6px);
    box-shadow: 0 18px 40px -12px rgba(15, 23, 42, .25),
                0 6px 18px -8px rgba(15, 23, 42, .18) !important;
}

/* --- 3. Кнопки: лёгкий лифт + тень --- */
.btn,
.direction-btn {
    position: relative;
    overflow: hidden;
}

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

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

/* shine sweep при наведении на оранжевые кнопки */
.btn-primary::after,
.btn-cleaning::after,
.btn-outsourcing::after,
.btn-seekers::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-primary:hover::after,
.btn-cleaning:hover::after,
.btn-outsourcing:hover::after,
.btn-seekers:hover::after {
    animation: btnShine .9s ease;
}

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

/* --- 4. Header — без изменений, оригинал уже с blur --- */

/* --- 5. Контейнеры услуг: усиленная глубина --- */
.cta-box,
.cta-section .cta-box {
    box-shadow: 0 24px 60px -20px rgba(15, 23, 42, .35),
                0 8px 20px -8px rgba(15, 23, 42, .18) !important;
}

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

/* --- 7. Лёгкая прозрачность подложек у иконок/значков (если бывают) --- */
.brand-item,
.industry-card,
.included-card {
    backdrop-filter: blur(2px);
    -webkit-backdrop-filter: blur(2px);
}

/* --- 8. Скрытие "прыжков" при загрузке шрифтов --- */
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 'Inter', 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, #ff8a3d, #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; } /* чтобы контент не залезал под CTA */
}

/* hide on print */
@media print {
    .mobile-cta { display: none !important; }
}
