/* =========================================
   КАСТОМНЫЕ СТИЛИ ДЛЯ МОДУЛЯ EXAOFFICE
   База отдыха "РыбачОк" - водная/природная тематика
   ========================================= */

/* Основной контейнер */
#exaframediv iframe {
    border: none !important;
    border-radius: 20px !important;
    background: transparent !important;
    min-height: 650px !important;
    box-shadow: 0 5px 20px rgba(26, 77, 140, 0.15) !important;
}

/* Базовые стили для всех элементов внутри iframe */
.exa-booking,
.exa-booking * {
    font-family: 'Rubik', sans-serif !important;
}

/* Заголовки */
.exa-booking h1,
.exa-booking h2,
.exa-booking h3,
.exa-booking .step-title,
.exa-booking .section-title {
    font-family: 'Roboto Slab', serif !important;
    color: #0f2d5a !important;
    font-weight: 700 !important;
    letter-spacing: -0.3px !important;
}

.exa-booking .step-title {
    font-size: 24px !important;
    border-bottom: 3px solid #d4b68a !important;
    padding-bottom: 10px !important;
    display: inline-block !important;
}

/* Поля ввода */
.exa-booking input,
.exa-booking select,
.exa-booking textarea {
    border: 2px solid #dee2e6 !important;
    border-radius: 50px !important;
    padding: 14px 20px !important;
    font-family: 'Rubik', sans-serif !important;
    font-size: 15px !important;
    transition: all 0.3s ease !important;
    background: white !important;
}

.exa-booking input:focus,
.exa-booking select:focus,
.exa-booking textarea:focus {
    border-color: #1a4d8c !important;
    outline: none !important;
    box-shadow: 0 0 0 4px rgba(26, 77, 140, 0.1) !important;
}

.exa-booking select {
    appearance: none !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%231a4d8c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 15px center !important;
    background-size: 16px !important;
}

/* Кнопки */
.exa-booking button,
.exa-booking .btn,
.exa-booking .button {
    background: linear-gradient(135deg, #1a4d8c 0%, #0f2d5a 100%) !important;
    color: white !important;
    border: none !important;
    border-radius: 50px !important;
    padding: 14px 35px !important;
    font-family: 'Rubik', sans-serif !important;
    font-weight: 500 !important;
    font-size: 16px !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    text-transform: none !important;
    letter-spacing: 0.5px !important;
    box-shadow: 0 4px 15px rgba(26, 77, 140, 0.3) !important;
}

.exa-booking button:hover,
.exa-booking .btn:hover,
.exa-booking .button:hover {
    background: linear-gradient(135deg, #0f2d5a 0%, #1a4d8c 100%) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 25px rgba(26, 77, 140, 0.4) !important;
}

/* Второстепенные кнопки */
.exa-booking .btn-secondary,
.exa-booking .button-outline {
    background: transparent !important;
    border: 2px solid #1a4d8c !important;
    color: #1a4d8c !important;
    box-shadow: none !important;
}

.exa-booking .btn-secondary:hover,
.exa-booking .button-outline:hover {
    background: #1a4d8c !important;
    color: white !important;
}

/* Календарь */
.exa-booking .calendar {
    border: 1px solid #dee2e6 !important;
    border-radius: 20px !important;
    overflow: hidden !important;
    background: white !important;
}

.exa-booking .calendar .month-title {
    background: linear-gradient(135deg, #1a4d8c 0%, #2d7eb5 100%) !important;
    color: white !important;
    padding: 15px !important;
    font-weight: 600 !important;
    font-size: 18px !important;
}

.exa-booking .calendar .day {
    border-radius: 50% !important;
    width: 40px !important;
    height: 40px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: all 0.2s ease !important;
}

.exa-booking .calendar .day.selected {
    background: #1a4d8c !important;
    color: white !important;
    font-weight: 600 !important;
}

.exa-booking .calendar .day:hover {
    background: #d4b68a !important;
    color: white !important;
}

.exa-booking .calendar .day.today {
    border: 2px solid #1a4d8c !important;
    font-weight: 600 !important;
}

/* Карточки номеров */
.exa-booking .room-card {
    border: 2px solid #dee2e6 !important;
    border-radius: 20px !important;
    padding: 25px !important;
    margin-bottom: 20px !important;
    transition: all 0.3s ease !important;
    background: white !important;
    position: relative !important;
    overflow: hidden !important;
}

.exa-booking .room-card::before {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    height: 5px !important;
    background: linear-gradient(90deg, #1a4d8c, #d4b68a, #2d5e3a) !important;
}

.exa-booking .room-card:hover {
    box-shadow: 0 15px 30px rgba(26, 77, 140, 0.15) !important;
    transform: translateY(-5px) !important;
    border-color: #1a4d8c !important;
}

.exa-booking .room-card .room-title {
    color: #0f2d5a !important;
    font-family: 'Roboto Slab', serif !important;
    font-size: 22px !important;
    margin-bottom: 10px !important;
    font-weight: 700 !important;
}

.exa-booking .room-card .room-price {
    color: #d98c5f !important;
    font-weight: 700 !important;
    font-size: 24px !important;
    font-family: 'Roboto Slab', serif !important;
}

/* Цены и итоги */
.exa-booking .total-price {
    font-size: 28px !important;
    color: #0f2d5a !important;
    font-weight: 800 !important;
    font-family: 'Roboto Slab', serif !important;
    background: linear-gradient(135deg, #f8f9fa, #ecf0f1) !important;
    padding: 15px 25px !important;
    border-radius: 50px !important;
    display: inline-block !important;
}

.exa-booking .price {
    color: #d98c5f !important;
    font-weight: 600 !important;
    font-size: 18px !important;
}

/* Шаги бронирования */
.exa-booking .steps {
    display: flex !important;
    justify-content: space-between !important;
    margin-bottom: 30px !important;
    padding: 10px !important;
    background: #f8f9fa !important;
    border-radius: 60px !important;
    list-style: none !important;
}

.exa-booking .step {
    flex: 1 !important;
    text-align: center !important;
    position: relative !important;
    padding: 15px !important;
    background: transparent !important;
    color: #5d6d7e !important;
    font-weight: 500 !important;
    border-radius: 50px !important;
    transition: all 0.3s ease !important;
    margin: 0 5px !important;
}

.exa-booking .step.active {
    background: #1a4d8c !important;
    color: white !important;
    box-shadow: 0 5px 15px rgba(26, 77, 140, 0.3) !important;
}

.exa-booking .step.completed {
    background: #2d5e3a !important;
    color: white !important;
}

/* Уведомления */
.exa-booking .alert,
.exa-booking .notification {
    border-radius: 15px !important;
    padding: 15px 25px !important;
    margin-bottom: 20px !important;
    border: none !important;
    font-weight: 500 !important;
}

.exa-booking .alert-success {
    background: linear-gradient(135deg, #2d5e3a, #3d7a4b) !important;
    color: white !important;
}

.exa-booking .alert-error {
    background: linear-gradient(135deg, #dc3545, #c82333) !important;
    color: white !important;
}

.exa-booking .alert-info {
    background: linear-gradient(135deg, #1a4d8c, #2d7eb5) !important;
    color: white !important;
}

/* Таблицы */
.exa-booking table {
    border-radius: 15px !important;
    overflow: hidden !important;
    border: 1px solid #dee2e6 !important;
}

.exa-booking th {
    background: #1a4d8c !important;
    color: white !important;
    padding: 15px !important;
    font-weight: 500 !important;
}

.exa-booking td {
    padding: 12px !important;
    border-bottom: 1px solid #dee2e6 !important;
}

/* Адаптивность */
@media (max-width: 768px) {
    .exa-booking .steps {
        flex-direction: column !important;
        border-radius: 20px !important;
    }
    
    .exa-booking .step {
        margin: 5px 0 !important;
    }
    
    .exa-booking .room-card {
        padding: 15px !important;
    }
    
    .exa-booking .calendar .day {
        width: 35px !important;
        height: 35px !important;
    }
}

/* Дополнительные элементы в стиле "РыбачОк" */
.exa-booking .fishing-decoration {
    background: linear-gradient(135deg, #1a4d8c, #0f2d5a) !important;
    color: white !important;
    padding: 15px !important;
    border-radius: 15px !important;
    margin-bottom: 20px !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
}

.exa-booking .fishing-decoration i {
    color: #d4b68a !important;
    font-size: 24px !important;
}

/* Специальные предложения */
.exa-booking .special-offer {
    background: linear-gradient(135deg, #fff9f0, #fff) !important;
    border: 2px dashed #d4b68a !important;
    border-radius: 15px !important;
    padding: 20px !important;
    margin: 20px 0 !important;
    text-align: center !important;
}

.exa-booking .special-offer h4 {
    color: #d98c5f !important;
    font-size: 20px !important;
    margin-bottom: 10px !important;
}
