/* Scandi Bani booking modal */
.booking-modal{position:fixed;inset:0;z-index:120;display:none;align-items:center;justify-content:center;padding:22px;background:rgba(15,17,17,.62);backdrop-filter:blur(12px)}
.booking-modal.is-open{display:flex}
.booking-modal__dialog{width:min(1120px,100%);max-height:92vh;overflow:auto;background:#fffdf9;border:1px solid #eadbc9;border-radius:24px;box-shadow:0 28px 90px rgba(0,0,0,.25);position:relative}
.booking-modal__close{position:absolute;right:18px;top:16px;width:42px;height:42px;border:0;border-radius:50%;background:#f2e8dc;font-size:30px;line-height:1;cursor:pointer;color:#2d2a27}
.booking-modal__inner{display:grid;grid-template-columns:1.1fr .9fr;gap:0}
.booking-modal__form{padding:34px}
.booking-modal__summary{padding:34px;background:linear-gradient(145deg,#18231e,#2a2a20);color:#fff;border-radius:0 24px 24px 0}
.booking-modal h2{font-size:34px;line-height:1.05;margin:0 48px 12px 0;letter-spacing:-.04em}
.booking-modal p{margin:0 0 20px;color:#655f58;line-height:1.55}
.booking-modal__summary p{color:#d9d0c5}
.booking-modal__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.booking-modal label{display:grid;gap:7px;font-weight:800;color:#302c28}
.booking-modal input,.booking-modal select,.booking-modal textarea{width:100%;border:1px solid #ddcbb8;border-radius:14px;background:#fff;padding:14px 15px;color:#25221f;font:inherit;outline:none}
.booking-modal input:focus,.booking-modal select:focus,.booking-modal textarea:focus{border-color:#c99a6b;box-shadow:0 0 0 4px rgba(201,154,107,.14)}
.booking-modal textarea{min-height:88px;resize:vertical}.booking-modal .wide{grid-column:1/-1}
.booking-modal__addons{display:grid;gap:10px;margin:18px 0}
.booking-modal__addon{display:flex;gap:10px;align-items:flex-start;padding:13px 14px;border:1px solid #e8dacb;border-radius:14px;background:#fff;cursor:pointer}
.booking-modal__addon input{width:18px;height:18px;margin-top:2px;accent-color:#c99a6b}
.booking-modal__addon span{display:grid;gap:3px}.booking-modal__addon small{color:#6d665f;font-weight:500}.booking-modal__addon[hidden]{display:none}
.booking-modal__note{background:#fff6ec;border:1px dashed #e1bf98;border-radius:14px;padding:12px 14px;color:#725437;font-size:14px;line-height:1.45}.booking-modal__note[hidden]{display:none}
.booking-modal__actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}.booking-modal__actions .btn{width:auto}
.booking-summary-list{display:grid;gap:13px;margin:22px 0}.booking-summary-list div{display:flex;justify-content:space-between;gap:14px;border-bottom:1px solid rgba(255,255,255,.16);padding-bottom:12px}
.booking-summary-list span{color:#d6cfc5}.booking-summary-list b{text-align:right;color:#fff}
.booking-modal__total{display:flex;justify-content:space-between;align-items:center;border-radius:18px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.16);padding:18px;margin-top:18px}
.booking-modal__total b{font-size:34px;letter-spacing:-.04em}
.booking-modal__status{min-height:22px;margin-top:12px;font-weight:800;color:#4f7f44}.booking-modal__summary .booking-modal__status{color:#ffe0a3}
body.booking-open{overflow:hidden}
@media(max-width:900px){.booking-modal__inner{grid-template-columns:1fr}.booking-modal__summary{border-radius:0 0 24px 24px}.booking-modal__dialog{max-height:94vh}.booking-modal h2{font-size:29px}}
@media(max-width:560px){.booking-modal{padding:10px}.booking-modal__form,.booking-modal__summary{padding:24px 16px}.booking-modal__grid{grid-template-columns:1fr}.booking-modal__actions .btn{width:100%}.booking-modal__total b{font-size:28px}}
