.booking-actions{display:flex;flex-direction:column;align-items:center;gap:10px}.direct-cta{border:1px solid rgba(255,255,255,.55);background:rgba(18,59,60,.78);cursor:pointer}.booking-modal[hidden]{display:none}.booking-modal{position:fixed;z-index:60;inset:0;display:grid;place-items:center;padding:18px;background:rgba(7,29,29,.8);backdrop-filter:blur(9px)}.booking-dialog{position:relative;width:min(1040px,100%);max-height:94vh;overflow:auto;padding:28px;color:#183033;background:#fffaf2;border-radius:22px;box-shadow:0 35px 100px rgba(0,0,0,.35)}.booking-close{position:absolute;right:13px;top:10px;width:40px;height:40px;border:0;background:transparent;color:#123b3c;font-size:29px;cursor:pointer}.booking-head{margin-bottom:20px}.booking-head h2{margin:4px 0;color:#123b3c;font:700 39px Georgia,serif}.booking-head p{margin:0;color:#637375}.booking-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:22px}.calendar-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.calendar-nav button{width:36px;height:36px;color:#fff;background:#2f7774;border:0;border-radius:50%;cursor:pointer}.calendar-nav b{font:700 20px Georgia,serif}.calendar-weekdays,.booking-calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.calendar-weekdays span{padding:5px;color:#637375;font-size:10px;font-weight:800;text-align:center}.calendar-day{aspect-ratio:1;display:grid;place-items:center;border:1px solid #dfd8ca;border-radius:8px;background:#fff;font-weight:800;cursor:pointer;line-height:1}.calendar-day small{display:block;margin-top:3px;color:#2f7774;font-size:8px;font-weight:700}.calendar-day:hover:not(:disabled){border-color:#2f7774;background:#e8f6f3}.calendar-day:disabled,.calendar-day.blocked{color:#aaa;background:#e9e8e4;text-decoration:line-through;cursor:not-allowed}.calendar-day:disabled small{color:#aaa}.calendar-day.selected{color:#fff;background:#e97858;border-color:#e97858}.calendar-day.selected small{color:#fff}.calendar-day.in-range{background:#ffe2d8;border-color:#f2bbaa}.calendar-day.outside{visibility:hidden}.calendar-legend{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px;color:#637375;font-size:11px}.calendar-legend i{display:inline-block;width:10px;height:10px;margin-right:4px;border-radius:50%}.available-dot{background:#fff;border:1px solid #dfd8ca}.selected-dot{background:#e97858}.blocked-dot{background:#ccc}.booking-form{padding:18px;background:#fff;border:1px solid #dfd8ca;border-radius:14px}.booking-form label{display:block;margin-top:10px;font-size:12px;font-weight:800}.booking-form input,.booking-form select{width:100%;margin-top:4px;padding:10px;border:1px solid #dfd8ca;border-radius:7px}.date-summary{display:grid;grid-template-columns:1fr 1fr;gap:8px}.date-summary div{padding:10px;background:#f4ead8;border-radius:8px}.date-summary small,.date-summary b{display:block}.quote-button{width:100%;margin-top:14px;padding:11px;color:#fff;background:#2f7774;border:0;border-radius:8px;font-weight:900;cursor:pointer}.price-summary{margin:14px 0;padding:12px;background:#f4ead8;border-radius:8px}.price-line{display:flex;justify-content:space-between}.price-line.discount{color:#087f5b}.price-line.total{margin-top:8px;padding-top:8px;border-top:1px solid #cfc5b4;font-weight:900}.policy-note{padding:9px;background:#eef7f5;border-radius:7px;color:#315b5b;font-size:11px}.booking-message{min-height:20px;color:#9d3629;font-size:12px}.booking-confirmation{padding:38px;text-align:center}.booking-confirmation h3{font:700 34px Georgia,serif}.booking-confirmation b{color:#e97858}@media(max-width:700px){.booking-dialog{max-height:97vh;padding:20px 12px}.booking-layout{grid-template-columns:1fr}.booking-head h2{font-size:30px}.calendar-day{font-size:11px}.calendar-day small{font-size:7px}.booking-form{padding:13px}}
