.booking-popup {border:0;padding:0;background:transparent;color:#494031;width:min(960px,calc(100% - 40px));max-width:none;max-height:calc(100dvh - 32px);overflow:auto;overscroll-behavior:contain;}
.booking-popup::backdrop {background:rgba(0,0,0,.62);}
body.booking-popup-open {overflow:hidden;}
.booking-popup-layout {position:relative;padding:0 0 0 32%;}
.booking-popup-card {background:linear-gradient(180deg,#f3e9dc 0%,#f3e9dc 52%,#d2b18a 100%);border-radius:22px;padding:26px 10% 26px 25%;position:relative;}
.booking-popup-photo {position:absolute;left:0;top:17%;width:44%;height:65%;object-fit:cover;border-radius:20px;z-index:1;}
.booking-popup-close {position:absolute;right:12px;top:10px;border:0;border-radius:50%;background:rgba(255,255,255,.65);width:34px;height:34px;line-height:1;font-size:27px;color:#705033;cursor:pointer;}
.booking-popup h2 {font-family:'Wasted Vindey',Georgia,serif;font-size:clamp(36px,5vw,66px);font-weight:400;overflow-wrap:anywhere;line-height:1.1;margin:0 0 12px;text-align:center;}
.booking-popup h2 em,.booking-popup-hours em {font-family:'High Spirited',cursive;font-weight:400;font-style:normal;text-transform:none;}
.booking-popup h2 em {font-size:1.15em; line-height: 2rem}
.booking-popup-offer {display:flex;align-items:center;justify-content:center;gap:4px;margin-top:-8px;}
.booking-popup-hours {flex-shrink:0;text-align:center;font-size:12px;line-height:1.25;}
.booking-popup-hours em {display:block;font-size:68px;line-height:1.15;margin-bottom:5px;color:#8c7448;}
.booking-popup-hours strong {display:block;font-size:12px;margin-bottom:5px;}
.booking-popup-hours span {display:block;}
.booking-popup-discount {display:block;width:calc(100% - 114px);max-width:230px;min-width:0;height:auto;object-fit:contain; margin-left: 10px}
.booking-popup-custom-offer {white-space:pre-line;overflow-wrap:anywhere;flex:1;min-width:0;}
.booking-popup-subtitle {font-family:'Wasted Vindey',Georgia,serif;font-size:clamp(16px,2vw,23px);text-align:center;white-space:pre-line;overflow-wrap:anywhere;margin:15px 0 28px;}
.booking-popup form {margin:0;}
.booking-popup label {display:block;font-size:15px;margin:0 0 4px;}
.booking-popup input {display:block;width:100%;min-width:0;border:1px solid #b7b4af;border-radius:24px;background:#fff;color:#494031;font-family:inherit;font-size:16px;padding:9px 20px;height:42px;margin:0 0 9px;box-shadow:inset 0 1px 2px #00000008;}
.booking-popup input::placeholder {color:#b6b6b6;opacity:1;}
.booking-popup :focus-visible,.booking-popup-launch:focus-visible {outline:3px solid #8b5d30;outline-offset:3px;}
.booking-popup-fields {display:grid;grid-template-columns:1fr 1.1fr;gap:14px;}
.booking-popup-fields input {padding-left:14px;padding-right:12px;}
.booking-popup-submit {display:block;margin:6px auto 0;width:78%;border:0;border-radius:30px;padding:10px 12px;color:#fff;background:linear-gradient(#c6a16a,#80542f);font-size:25px;font-weight:700;line-height:1.3;cursor:pointer;}
.booking-popup-submit:hover {filter:brightness(1.08);}
.booking-popup-status {font-size:14px;margin:12px 0 0;text-align:center;}
.booking-popup-launch {position:fixed;right:22px;bottom:24px;z-index:1030;border:1px solid #e2c799;border-radius:30px;padding:12px 22px;color:#fff;background:linear-gradient(135deg,#bc945e,#80542f);box-shadow:0 5px 22px #0003;font-family:inherit;font-size:15px;font-weight:600;cursor:pointer;}
.booking-popup-submit:disabled {opacity:.65;cursor:wait;}
@media(max-width:700px) {
    .booking-popup {width:min(460px,calc(100% - 24px));}
    .booking-popup-layout {padding:0;}
    .booking-popup-card {padding:22px 22px 24px;border-radius:0 0 20px 20px;}
    .booking-popup-photo {position:static;display:block;width:100%;height:150px;border-radius:20px 20px 0 0;object-position:center 35%;}
    .booking-popup-close {position:fixed;top:10px;right:10px;}
    .booking-popup h2 {font-size:48px;}
    .booking-popup-discount {max-width:260px;}
    .booking-popup-hours em {font-size:60px;}
    .booking-popup-subtitle {font-size:19px;margin-bottom:20px;}
    .booking-popup label {font-size:13px;}
    .booking-popup-fields {gap:8px;}
    .booking-popup-fields input {font-size:14px;}
    .booking-popup-submit {font-size:22px;width:90%;}
    .booking-popup-launch {bottom:16px;right:16px;font-size:14px;}
}
@media(max-width:360px) {.booking-popup-card {padding:18px 14px;}.booking-popup h2 {font-size:40px;}.booking-popup-fields {grid-template-columns:1fr;}}
