/* Anfrage-Overlay – Oktober 2026, auf EG/OG/Preise begrenzt */
.booking-compact {
    position: static !important;
    top: auto !important;
    text-align: center;
}
.booking-compact h3 { margin: 0 0 14px; }
.booking-compact p { color: #e2d9cf; line-height: 1.6; }
.booking-open-button {
    display: block;
    width: 100%;
    margin: 20px auto;
    background: #c5835d;
    border: 1px solid #e2ac86;
    border-radius: 5px;
    color: #18100c;
    font: bold 1rem Georgia, serif;
    padding: 15px 20px;
    cursor: pointer;
    transition: background .2s ease, transform .2s ease;
}
.booking-open-button:hover,
.booking-open-button:focus-visible { background: #e3a57d; }
.booking-open-button:active { transform: translateY(1px); }
.booking-terms {
    color: #d0c8c0 !important;
    font-size: .82rem;
    margin: 14px 0 0;
    text-align: left;
}
.booking-terms strong { color: #fff; }
.booking-dialog {
    box-sizing: border-box;
    width: min(1100px, calc(100vw - 24px));
    height: calc(100vh - 24px);
    height: calc(100dvh - 24px);
    max-width: none;
    max-height: none;
    margin: auto;
    padding: 0;
    background: #131313;
    color: #f9f5f0;
    border: 1px solid #c5835d;
    border-radius: 12px;
    box-shadow: 0 30px 90px #000c;
    overflow-y: auto;
    overscroll-behavior: contain;
}
.booking-dialog::backdrop { background: rgba(0,0,0,.84); backdrop-filter: blur(4px); }
html.booking-dialog-active { overflow: hidden; }
.booking-dialog-head {
    box-sizing: border-box;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    padding: 18px 28px;
    background: #1c1c1c;
    border-bottom: 1px solid #c5835d;
    position: sticky;
    top: 0;
    z-index: 11;
}
.booking-dialog-head h2 { color: #c5835d; font-size: 1.3rem; margin: 0; }
.booking-close-button {
    flex: 0 0 auto;
    background: transparent;
    color: #fff;
    border: 1px solid #c5835d;
    border-radius: 4px;
    cursor: pointer;
    padding: 9px 14px;
    font: 600 0.95rem Georgia, serif;
}
.booking-close-button:hover, .booking-close-button:focus-visible { background: #5e3724; }
.booking-dialog .booking-dialog-card.booking-card {
    box-sizing: border-box;
    position: static !important;
    top: auto !important;
    max-width: 800px;
    width: 100%;
    margin: 0 auto !important;
    padding: 22px 32px 36px !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0;
    box-shadow: none !important;
}
.booking-dialog .booking-dialog-card > h3 { display: none; }
.booking-dialog .contact-form { max-width: 720px; margin: auto; }
.booking-dialog .contact-form input,
.booking-dialog .contact-form select,
.booking-dialog .contact-form textarea { min-height: 43px; }
.booking-payment-breakdown {
    margin-top: 14px;
    padding-top: 12px;
    border-top: 1px solid rgba(197,131,93,.42);
    line-height: 1.55;
}
.booking-payment-row {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 16px;
    margin-top: 7px;
}
.booking-payment-row strong { color: #e4a27b; white-space: nowrap; }
.booking-payment-note { font-size: .79rem; color: #ccc; margin: 10px 0 0; }
.booking-payment-note strong { color: #fff; }
.booking-payment-promise {
    font-size: .78rem;
    color: #bdb6b0;
    margin-top: 12px;
}
@media (max-width: 650px) {
    .booking-dialog {
        width: calc(100vw - 12px);
        height: calc(100dvh - 12px);
        border-radius: 8px;
    }
    .booking-dialog-head { padding: 12px 14px; }
    .booking-dialog-head h2 { font-size: 1.05rem; }
    .booking-close-button { padding: 8px; font-size: .82rem; }
    .booking-dialog .booking-dialog-card.booking-card { padding: 12px 16px 26px !important; }
    .booking-dialog .date-row { flex-direction: column; gap: 0; }
    .booking-dialog .contact-form { width: 100%; }
    .booking-dialog .contact-form input,
    .booking-dialog .contact-form select,
    .booking-dialog .contact-form textarea { font-size: 16px; }
    .booking-payment-row { font-size: .9rem; }
}
@media (prefers-reduced-motion: reduce) {
    .booking-open-button { transition: none; }
}

/* Hotfix EG/OG: Der Verfügbarkeitskalender darf die folgende
   Anfragekarte nicht mehr überlagern. Die allgemeine booking-card-
   Sticky-Regel bleibt für alle übrigen Karten unangetastet. */
.booking-column #kalender-box.booking-card {
    position: static !important;
    top: auto !important;
    z-index: auto !important;
}
