﻿/* Юридические страницы (Политика, Условия) */
/* Юридические страницы (Политика, Условия) */
.page-header-compact {
    height: auto;
    min-height: 240px;
    padding: var(--page-header-padding-top) 0 var(--page-header-padding-bottom);
    background: linear-gradient(135deg, var(--primary-color) 0%, var(--primary-dark) 100%);
}

.page-header-compact .page-header-content {
    text-align: center;
}

/* Онлайн-бронирование Bnovo (book.php): секция, выбор отеля, контейнер iframe */
.book-bnovo-section {
    min-height: 42vh;
    padding-top: var(--section-padding-y);
    padding-bottom: calc(var(--section-padding-y) * 1.35);
    background: var(--bg-warm);
}

.book-hotel-picker .section-title {
    font-family: var(--font-heading);
    color: var(--dark);
}

/* Карточки выбора отеля на /book.php — те же hotel-card, что на главной */
.book-picker-hotel-card.hotel-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    margin-bottom: 0;
}

.book-picker-card-body-link {
    display: block;
    flex: 1 1 auto;
    color: inherit;
    text-decoration: none;
}

.book-picker-card-body-link:hover {
    color: inherit;
}

.book-picker-card-body-link .hotel-card-footer .btn {
    pointer-events: none;
}

.book-bnovo-loading {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 1;
    pointer-events: none;
}

/* Контейнер под виджет Bnovo: единая «карточка» с сайтом */
.book-bnovo-iframe-wrap {
    position: relative;
    min-height: clamp(440px, 58vh, 820px);
    margin: 0 auto;
    padding: 0;
    background: var(--white);
    border: 1px solid var(--neutral-warm);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-md);
    overflow: hidden;
}

/* iframe подгружает Bnovo после init(); фиксированная высота помогает при «белом экране» до ответа iFrameResizer */
.book-bnovo-iframe-wrap iframe {
    display: block;
    width: 100% !important;
    min-height: clamp(520px, 55vh, 800px) !important;
    border: 0;
    background: var(--white);
}

@media (max-width: 991.98px) {
    .book-bnovo-iframe-wrap {
        min-height: clamp(480px, 62vh, 900px);
        border-radius: var(--radius-md);
    }

    .book-bnovo-iframe-wrap iframe {
        min-height: clamp(420px, 55vh, 800px);
    }
}

@media (max-width: 575.98px) {
    .book-bnovo-section {
        padding-top: calc(var(--section-padding-y) * 0.625);
        padding-bottom: calc(var(--section-padding-y) * 0.875);
    }

    .book-bnovo-iframe-wrap {
        border-radius: var(--radius-sm);
        box-shadow: var(--shadow-sm);
    }
}

