/* New public-site theme. Loaded after legacy inline CSS. */
:root {
    --teal: #0ABAB5;
    --teal-dark: #078f8b;
    --teal-soft: #E7FAF9;
    --coral: #FF6B6B;
    --coral-soft: #FFF0F0;
    --cream: #FFF8F0;
    --white: #fff;
    --dark: #263947;
    --gray: #70818b;
    --line: rgba(10, 186, 181, .16);
    --shadow: 0 18px 48px rgba(38, 57, 71, .12);
}

body {
    background: var(--cream) !important;
    color: var(--dark) !important;
}

.header {
    background: rgba(255, 255, 255, .94) !important;
    backdrop-filter: blur(18px);
    border-bottom: 1px solid var(--line);
    box-shadow: 0 8px 28px rgba(38, 57, 71, .06) !important;
}

.header .logo,
.header .brand,
.auth-logo a {
    color: var(--teal-dark) !important;
}

.header .logo span,
.header .brand span,
.auth-logo span {
    color: var(--coral) !important;
}

.nav a,
.header-nav a {
    color: var(--dark) !important;
    font-weight: 700 !important;
}

.nav a:hover,
.header-nav a:hover {
    color: var(--coral) !important;
}

.btn-header,
.btn-primary,
.btn-teal,
.btn-coral,
.service-card-btn,
.btn-book,
.btn-cta {
    background: var(--coral) !important;
    color: #fff !important;
    border-radius: 999px !important;
    border: 0 !important;
    box-shadow: 0 12px 26px rgba(255, 107, 107, .24);
}

.btn-header:hover,
.btn-primary:hover,
.btn-teal:hover,
.btn-coral:hover,
.service-card-btn:hover,
.btn-book:hover,
.btn-cta:hover {
    background: #ff8080 !important;
    transform: translateY(-2px);
}

.btn-next,
.btn-share,
.btn-read,
.show-all-link a {
    background: var(--teal-soft) !important;
    color: var(--teal-dark) !important;
    border-color: var(--line) !important;
    border-radius: 999px !important;
}

.booking-section,
.cabinet-section,
.categories-section,
.privacy-section,
.vacancies-section,
.review-section {
    padding: 72px 0 !important;
}

.booking-form-container,
.auth-box,
.profile-card,
.card,
.service-card,
.category-block,
.contact-card,
.vacancy-card,
.privacy-content,
.notif-item,
.appointment-item,
.certificate-card,
.partner-card-main,
.promo-card,
.master-card,
.review-card {
    border-radius: 22px !important;
    border: 1px solid var(--line) !important;
    box-shadow: 0 8px 28px rgba(38, 57, 71, .07) !important;
}

.booking-title,
.page-title,
.category-title,
.section-title,
.card h2,
.profile-name,
.service-name,
.auth-logo a {
    color: var(--teal-dark) !important;
}

.booking-subtitle,
.page-subtitle,
.section-subtitle,
.service-card-category,
.specialization {
    color: var(--coral) !important;
}

.progress-step.active .step-number,
.progress-step.completed .step-number,
.slot-btn.selected {
    background: var(--coral) !important;
    border-color: var(--coral) !important;
}

.option-card-content,
.form-input,
.date-input,
.slot-btn {
    border-color: rgba(38, 57, 71, .12) !important;
    border-radius: 16px !important;
}

.option-card input:checked + .option-card-content,
.form-input:focus,
.date-input:focus,
.slot-btn:hover {
    border-color: var(--teal) !important;
    box-shadow: 0 8px 24px rgba(10, 186, 181, .12) !important;
}

.auth-box {
    max-width: 470px !important;
}

body:has(.auth-box) {
    background: linear-gradient(135deg, var(--teal), var(--coral)) !important;
}

.footer {
    background: var(--dark) !important;
}

@media (max-width: 768px) {
    .header-inner,
    .header-nav {
        gap: 10px !important;
        flex-wrap: wrap;
    }

    .booking-section,
    .cabinet-section,
    .categories-section,
    .privacy-section,
    .vacancies-section,
    .review-section {
        padding: 44px 0 !important;
    }

    .booking-form-container,
    .auth-box,
    .card,
    .profile-card {
        padding: 22px !important;
    }
}
