/* Fit & Fun Booking — uses the existing theme booking contract */
.ff-booking-modal{position:fixed;inset:0;z-index:100000;display:none;align-items:center;justify-content:center;padding:16px}
.ff-booking-modal.is-open{display:flex!important}
.ff-booking-modal[aria-hidden="true"]{display:none!important}
.ff-booking-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.72)}
.ff-booking-dialog{position:relative;z-index:1;width:min(820px,100%);max-height:calc(100vh - 32px);overflow:auto;background:#fff;border-radius:18px;padding:28px;box-shadow:0 24px 70px rgba(0,0,0,.25)}
.ff-booking-close{position:absolute;right:14px;top:8px;border:0;background:transparent;font-size:36px;line-height:1;cursor:pointer;color:#18212b}
.ff-booking-dialog h2{margin:0 42px 22px 0}
.ff-booking-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.ff-booking-grid label,.ff-special-requests{display:flex;flex-direction:column;gap:7px;font-weight:600}
.ff-booking-grid input,.ff-booking-grid select,.ff-special-requests textarea{width:100%;box-sizing:border-box;padding:12px;border:1px solid #d8d8d8;border-radius:8px;font:inherit;background:#fff}
.ff-booking-grid input:focus,.ff-booking-grid select:focus,.ff-special-requests textarea:focus{outline:2px solid color-mix(in srgb,var(--ff-link-color,#f59e0b) 20%,transparent);border-color:var(--ff-link-color,#f59e0b)}
#ff-accommodation-fields[hidden],#ff-people-field[hidden],#ff-hours-field[hidden]{display:none!important}
#ff-total-cost{margin:18px 0;padding:14px;border-radius:10px;background:#f8f8f8}
.ff-special-requests{margin:16px 0}
.ff-booking-dialog .ff-btn.full,.ff-booking-dialog button[type="submit"]{width:100%;margin-top:8px;background:var(--ff-link-color,#f59e0b);color:#fff!important;border:0;border-radius:9px;padding:14px 20px;font-weight:800;cursor:pointer}
.ff-booking-dialog .ff-btn.full:hover,.ff-booking-dialog button[type="submit"]:hover{background:var(--ff-link-hover,#d97706)}
.ff-status{margin-top:14px;font-weight:600}
.ff-status.is-success{color:#15803d}
.ff-status.is-error{color:#b91c1c}
.ff-status.is-loading{color:#6b7280}
@media(max-width:700px){
  .ff-booking-dialog{padding:22px 16px}
  .ff-booking-grid{grid-template-columns:1fr}
}
