﻿/* Booking Widget: полноширинный, внизу hero */
.booking-widget {
    position: relative;
    z-index: 3;
    width: 100%;
    flex-shrink: 0;
    padding-bottom: 0;
}

/* виджет hero — glassmorphism, увеличенный padding, тень снизу */
.booking-form-wrapper {
    background: var(--form-surface-glass-bg);
    border: none;
    outline: none;
    box-shadow: var(--shadow-lg);
    backdrop-filter: var(--glass-blur-lg);
    -webkit-backdrop-filter: var(--glass-blur-lg);
    border-radius: var(--card-radius);
    padding-top: 1.25rem;
    padding-bottom: 1.25rem;
    padding-left: var(--card-widget-padding);
    padding-right: var(--card-widget-padding);
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
}

/* Содержимое по центру по вертикали, форма на всю ширину */
.booking-form-wrapper .booking-form {
    margin: 0;
    width: 100%;
}

/* Hero: виджет чуть шире стандартного .container, поля пошире */
.hero-section .booking-widget > .container {
    max-width: min(1420px, 96vw);
}

.booking-form .form-select,
.booking-form .form-control {
    min-width: 10.5rem;
}

@media (max-width: 767.98px), (prefers-reduced-data: reduce) {
    .booking-form-wrapper {
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
        background: var(--white-alpha-45);
    }
}

@supports not (backdrop-filter: blur(20px)) {
    .booking-form-wrapper {
        background: var(--white-alpha-35);
    }

    .hero-section .booking-form-wrapper {
        background: var(--white-alpha-45);
    }
}

/* Hero: стекло чуть плотнее + подписи с тенью — читаемость на любом фото */
.hero-section .booking-form-wrapper {
    background: var(--white-alpha-35);
}

.hero-section .booking-form-wrapper .booking-form .form-label {
    font-weight: var(--font-weight-card);
    color: var(--white);
    text-shadow: 0 1px 2px var(--black-alpha-70);
}

.hero-section .booking-form-wrapper .booking-form .form-label i {
    color: var(--white);
    opacity: 0.92;
}

@media (prefers-contrast: more) {
    .hero-section .booking-form-wrapper {
        background: var(--white-alpha-55);
    }

    .hero-section .booking-form-wrapper .booking-form .form-label {
        color: var(--dark);
        text-shadow: none;
        font-weight: 700;
    }

    .hero-section .booking-form-wrapper .booking-form .form-label i {
        color: var(--primary-dark);
        opacity: 1;
    }
}

.booking-form .form-label {
    font-weight: var(--font-weight-section);
    color: var(--dark);
    margin-bottom: 0.5rem;
    font-size: var(--text-sm);
}

/* Формы бронирования: hero, модалка, сайдбары */
.booking-form .form-control,
.booking-form .form-select,
.booking-sidebar-form .form-control,
.booking-sidebar-form .form-select {
    border: var(--input-border-modal);
    border-radius: var(--input-radius-modal);
    padding: var(--input-padding-y) var(--input-padding-x);
    font-size: var(--text-base);
    background: var(--white);
    transition: var(--transition);
}

.booking-form .form-select,
.booking-sidebar-form .form-select {
    padding-right: 2.25rem;
}

.booking-form .form-control:focus,
.booking-form .form-select:focus,
.booking-sidebar-form .form-control:focus,
.booking-sidebar-form .form-select:focus {
    border-color: var(--primary-dark);
    box-shadow: var(--focus-ring-modal);
    outline: 0;
}

/* Иконки в подписях на белом/светлом фоне (этап 3.5 / 9.3) */
.booking-form .form-label i,
.booking-sidebar-form .form-label i {
    margin-right: 0.4rem;
    font-size: 0.85em;
    opacity: 0.9;
    color: var(--primary-on-light);
}

