.booking-page{background:#f6f7f8}.booking-header{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:22px 5%;border-bottom:1px solid #d9dde1}.booking-header>a:last-child{font-size:.875rem;font-weight:600;color:#006b98}.booking-main{width:min(960px,90%);margin:56px auto 80px;min-height:65vh}.booking-main h1{font-size:clamp(2.8rem,6vw,4.7rem);line-height:1.05;max-width:100%;margin:0 0 22px}.booking-main .eyebrow{color:#006b98;margin-bottom:16px}.booking-intro{max-width:650px;line-height:1.8;color:#525f6c}.booking-notice{border-left:3px solid #007cb0;padding:16px 20px;background:#e8edf1;font-size:.875rem;line-height:1.8;margin:26px 0}.booking-card{background:#fff;border:1px solid #d9dde1;padding:30px;margin:24px 0}.booking-card h2,.admin-detail h2{font-family:'DM Sans',Arial,sans-serif;font-size:1.25rem;line-height:1.5;margin:0 0 22px}.booking-main label{display:flex;flex-direction:column;gap:9px;font-size:.875rem;font-weight:600;min-width:0}.booking-main input,.booking-main select,.booking-main textarea{width:100%;min-width:0;border:1px solid #aeb9c4;padding:13px 14px;background:white;color:#111315;border-radius:4px;font-size:1rem;font-weight:400;min-height:48px}.booking-main textarea{resize:vertical}.booking-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.full{grid-column:1/-1}.booking-main .consent{display:flex;flex-direction:row;align-items:flex-start;font-size:.8125rem;line-height:1.7;font-weight:400;margin:26px 0 0}.consent input{width:18px;min-height:18px;flex:0 0 18px;margin:4px 0 0}.booking-trap{position:absolute!important;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.field-help{font-size:.8125rem;line-height:1.7;color:#656a70}.text-action{display:inline-block;border:0;background:transparent;color:#006b98;padding:12px 0;text-decoration:underline;text-underline-offset:4px;cursor:pointer;font-size:.875rem}.booking-submit{background:#007cb0;color:white;cursor:pointer}.booking-submit:hover{background:#006b98}button:disabled{opacity:.55;cursor:wait}.booking-status{font-size:.875rem;line-height:1.8;color:#a13224;white-space:pre-line}.booking-success{border-top:4px solid #007cb0}.booking-success>p{line-height:1.8}.booking-footer{display:flex;justify-content:space-between;flex-wrap:wrap;font-size:.875rem;padding:30px 5%;gap:18px;background:#000;color:#c5cbd1}.booking-footer span{width:auto;margin:0}.admin-heading{display:flex;justify-content:space-between;align-items:center;gap:24px}.admin-login{max-width:600px}.admin-login .booking-fields{grid-template-columns:minmax(0,1fr)}.admin-login>p{line-height:1.8;font-size:.875rem;color:#525f6c}.admin-secondary{background:white;border:1px solid #aeb9c4;color:#111315}.admin-tools{display:flex;gap:16px;align-items:end;flex-wrap:wrap;padding:24px;background:#e8edf1}.admin-tools>label:first-child{flex:1;min-width:180px}.admin-reservation{display:grid;grid-template-columns:120px minmax(0,1fr) auto;gap:24px;background:white;border:1px solid #d9dde1;padding:24px;margin:16px 0;align-items:center}.admin-reservation p{font-size:.875rem;color:#525f6c;line-height:1.7;margin:8px 0 0}.admin-reservation strong{font-size:1rem}.admin-badge{display:inline-block;padding:5px 9px;background:#e8edf1;font-size:.75rem;margin:8px 0;color:#006b98}.admin-detail{width:min(800px,calc(100% - 28px));max-height:calc(100dvh - 40px);overflow:auto;border:1px solid #d9dde1;border-radius:12px;padding:28px;color:#111315}.admin-detail::backdrop{background:#101820aa}.detail-close{display:flex;justify-content:flex-end;margin-bottom:16px}.admin-detail .booking-status{margin-top:20px}.admin-detail input,.admin-detail textarea,.admin-detail select{max-width:100%}[hidden]{display:none!important}
@media(max-width:700px){.booking-main{margin-top:34px;width:88%}.booking-card{padding:22px}.booking-fields{grid-template-columns:minmax(0,1fr);gap:20px}.booking-header .official-brand{width:115px}.booking-header>a:last-child{max-width:150px;text-align:right}.admin-heading{align-items:flex-start;flex-direction:column}.admin-reservation{grid-template-columns:minmax(0,1fr);gap:12px}.admin-reservation .button{width:100%}.admin-tools>label{width:100%}.admin-tools>button{flex:1}.admin-detail{padding:20px}}
