/* ===== QUIZ THEME (overrides E!A) ===== */

/* Фон и шрифт */
body, html {
    background: linear-gradient(180deg, #f5f0fb 0%, #ede6f7 100%) !important;
    font-family: 'Inter', system-ui, -apple-system, sans-serif !important;
    color: #1a1428 !important;
}

/* Шапка */
.booking-header-bar,
#book-appointment-wizard #header {
    background: linear-gradient(135deg, #8b6dd0, #6b4ca8) !important;
    color: #fff !important;
    border-radius: 0 0 16px 16px !important;
    box-shadow: 0 4px 16px rgba(123,94,196,0.25) !important;
}

/* Основные кнопки */
.btn-primary,
#book-appointment-wizard .command-buttons .btn,
#success-frame .btn {
    background: linear-gradient(135deg, #8b6dd0, #6b4ca8) !important;
    border: none !important;
    color: #fff !important;
    border-radius: 14px !important;
    font-weight: 600 !important;
    box-shadow: 0 4px 14px rgba(123,94,196,0.3) !important;
}
.btn-primary:hover,
#book-appointment-wizard .command-buttons .btn:hover,
#success-frame .btn:hover {
    transform: translateY(-1px) !important;
    box-shadow: 0 8px 20px rgba(107,76,168,0.35) !important;
}

/* Кнопка «Назад» — светлая */
#book-appointment-wizard .command-buttons .btn.btn-secondary,
.btn-outline-secondary {
    background: #f0ecf8 !important;
    color: #6b4ca8 !important;
    box-shadow: none !important;
}

/* Поля ввода */
input, select, textarea, .form-control {
    background: #faf8fe !important;
    border: 1px solid #e5dcf5 !important;
    border-radius: 12px !important;
    color: #1a1428 !important;
}
input:focus, select:focus, textarea:focus, .form-control:focus {
    outline: none !important;
    border-color: #7b5ec4 !important;
    box-shadow: 0 0 0 3px rgba(123,94,196,0.15) !important;
}

/* Календарь flatpickr */
.flatpickr-calendar {
    background: #ffffff !important;
    border-radius: 16px !important;
    box-shadow: 0 8px 24px rgba(123,94,196,0.15) !important;
    border: 1px solid #e5dcf5 !important;
    font-family: 'Inter', sans-serif !important;
}
.flatpickr-calendar .flatpickr-months,
.flatpickr-calendar .flatpickr-month,
.flatpickr-calendar .flatpickr-weekdays,
.flatpickr-calendar .flatpickr-weekday {
    background: transparent !important;
    color: #6b4ca8 !important;
    font-weight: 600 !important;
}
.flatpickr-calendar .flatpickr-current-month,
.flatpickr-calendar .flatpickr-current-month .cur-month,
.flatpickr-calendar .flatpickr-current-month input.cur-year {
    color: #1a1428 !important;
    font-weight: 600 !important;
}
.flatpickr-calendar .flatpickr-prev-month svg,
.flatpickr-calendar .flatpickr-next-month svg {
    fill: #6b4ca8 !important;
}
.flatpickr-calendar .flatpickr-prev-month:hover svg,
.flatpickr-calendar .flatpickr-next-month:hover svg {
    fill: #7b5ec4 !important;
}
.flatpickr-calendar .flatpickr-day {
    color: #2a1e40 !important;
    border-radius: 10px !important;
    font-weight: 500 !important;
}
.flatpickr-calendar .flatpickr-day:hover,
.flatpickr-calendar .flatpickr-day:focus {
    background: #eee7fa !important;
    border-color: #b29de0 !important;
    color: #2a1e40 !important;
}
.flatpickr-calendar .flatpickr-day.today {
    border-color: #b29de0 !important;
    color: #6b4ca8 !important;
}
.flatpickr-calendar .flatpickr-day.today:hover {
    background: #eee7fa !important;
}
.flatpickr-calendar .flatpickr-day.selected,
.flatpickr-calendar .flatpickr-day.selected:hover,
.flatpickr-calendar .flatpickr-day.selected:focus {
    background: linear-gradient(135deg, #8b6dd0, #6b4ca8) !important;
    border-color: #7b5ec4 !important;
    color: #fff !important;
    font-weight: 700 !important;
}
.flatpickr-calendar .flatpickr-day.flatpickr-disabled,
.flatpickr-calendar .flatpickr-day.prevMonthDay,
.flatpickr-calendar .flatpickr-day.nextMonthDay {
    color: #c9bfe0 !important;
}

/* Слоты времени */
#available-hours div,
#available-hours .available-hour {
    background: #faf8fe !important;
    color: #2a1e40 !important;
    border: 1px solid #e5dcf5 !important;
    border-radius: 12px !important;
    font-weight: 500 !important;
    font-family: 'Inter', sans-serif !important;
}
#available-hours div:hover,
#available-hours .available-hour:hover {
    background: #eee7fa !important;
    border-color: #b29de0 !important;
    color: #2a1e40 !important;
}
#available-hours .selected-hour,
#available-hours div.selected-hour {
    background: linear-gradient(135deg, #8b6dd0, #6b4ca8) !important;
    color: #fff !important;
    border-color: #7b5ec4 !important;
    box-shadow: 0 4px 12px rgba(123,94,196,0.3) !important;
}

/* ===== Шаги в шапке — только цифры 1-2-3-4 ===== */
#book-appointment-wizard .book-steps {
    display: flex !important;
    align-items: center !important;
    gap: 28px !important;
}
#book-appointment-wizard .book-step {
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    width: auto !important;
    min-width: 40px !important;
    text-align: center !important;
    box-shadow: none !important;
    color: rgba(255, 255, 255, 0.55) !important;
    transition: all 0.25s ease !important;
    font-family: 'Inter', sans-serif !important;
}
#book-appointment-wizard .book-step strong {
    color: inherit !important;
    font-size: 26px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
}
#book-appointment-wizard .book-step.active-step {
    background: transparent !important;
    color: #ffffff !important;
    transform: scale(1.2) !important;
    box-shadow: none !important;
}
#book-appointment-wizard .book-step.active-step strong {
    color: #ffffff !important;
    font-size: 26px !important;
    font-weight: 800 !important;
}
/* Точка под цифрой, если есть */
#book-appointment-wizard .book-step i,
#book-appointment-wizard .book-step .fa,
#book-appointment-wizard .book-step svg {
    display: none !important;
}
