
/* APEXZ 6-WS.4: responsive reservation form and schema editor. */
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.booking{grid-template-columns:minmax(260px,.78fr) minmax(0,1.22fr);gap:clamp(28px,5vw,78px);align-items:start}
.booking-panel{min-width:0}.booking-paused{border:1px solid #705938;background:#221d15;padding:22px;margin-bottom:18px;font-size:15px;line-height:1.6}.booking-paused strong{color:#ead5b0}.booking-paused p{margin:10px 0}
.configurable-booking{padding:clamp(20px,3vw,36px);border-top:3px solid var(--gold);box-shadow:0 20px 80px #0003}
.booking-form-heading .eyebrow{display:block;margin:0 0 14px}.booking-form-heading h3{font-size:29px;font-weight:400;line-height:1.15}.booking-form-heading p{font-size:15px;margin:13px 0}.booking-form-heading small{display:block;color:#b5b5b5;font-size:12px;margin-bottom:27px}
.booking-fields{padding:0;margin:0;border:0;min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.booking-field{min-width:0;margin:0}.booking-field label{margin-bottom:0;font-size:14px}.booking-field input,.booking-field textarea,.booking-field select{font-size:16px;padding:13px 12px;min-height:46px}.booking-field input[type=checkbox]{min-height:18px;width:18px;height:18px;flex-shrink:0}.field-full{grid-column:1/-1}.field-help{display:block;color:#b2b5b9;font-size:12px;line-height:1.5;margin-top:5px}.field-help:empty{display:none}.required-mark{color:var(--gold)}.booking-consent{font-size:13px;line-height:1.55;margin:4px 0}.booking-consent input{flex-shrink:0;width:18px;height:18px}.booking-fields .button{font-size:16px;min-height:54px;margin:0}.booking-fields:disabled{opacity:.62}.booking-fields:disabled button{cursor:not-allowed}.booking-disclaimer{font-size:12px}.configurable-booking .form-message:not(:empty){border:1px solid var(--gold);padding:19px;line-height:1.6}.configurable-booking .form-message.error{color:#ffb7a6;border-color:#975240}.configurable-booking .form-message h3{font-size:25px;margin-bottom:10px}.booking-reference{font-size:17px;color:var(--gold);margin-top:12px}.booking-complete .booking-fields{display:none}.booking-complete .form-message{outline:0}.booking-complete .form-message p{color:#d4d4d4}
.bf-status{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0}.bf-status>div{border:1px solid #373a3b;padding:18px;background:#101214;min-width:0}.bf-status strong{display:block;font-size:18px;margin-bottom:9px}.bf-status span{font-size:13px;overflow-wrap:anywhere;color:#bfc1c4}.bf-status .ok{color:#bcddb9}.bf-status .waiting{color:#e4bb7c}.bf-actions{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0}.bf-service-chips{display:flex;gap:7px;flex-wrap:wrap;margin:12px 0}.bf-service-chips span{padding:7px 12px;border:1px solid #393d3f;font-size:13px}.bf-editor>summary{padding:16px 0;cursor:pointer;font-size:18px}.bf-editor>p{margin-bottom:16px}.bf-days{display:flex;gap:14px;flex-wrap:wrap;margin:16px 0}.bf-days label{font-size:14px}.bf-field-bar{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.bf-lock{font-size:12px;color:#bbb;margin-top:10px}.bf-preview{border:1px dashed #6b634f;padding:20px;margin-top:20px}.bf-preview>h4{font-size:23px;margin-bottom:20px}.bf-preview .booking-fields{gap:15px}.bf-preview input{pointer-events:none}.bf-mail-tokens{font-size:13px;background:#101214;padding:14px;line-height:1.8;overflow-wrap:anywhere}.bf-answers{margin:17px 0;border:1px solid #36393b;padding:15px}.bf-answers dt{font-size:12px;color:#bd9a5d;letter-spacing:.02em;margin-top:12px}.bf-answers dd{margin:3px 0 0;color:#ddd;white-space:pre-wrap;overflow-wrap:anywhere;font-size:15px}.bf-answers dt:first-child{margin-top:0}.bf-sticky-link{font-size:14px}.studio-panel input[type=number]{max-width:100%}.studio-panel .field-hint{display:block;line-height:1.5;color:#a5a8aa;margin-top:5px}.bf-example-mail{white-space:pre-wrap;padding:20px;background:#0d1012;border:1px solid #3c4042;font-size:14px;line-height:1.6}
@media(max-width:1000px){.booking{gap:30px;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr)}.bf-status{grid-template-columns:1fr}}
@media(max-width:760px){.booking{display:block}.booking-panel{margin-top:28px}.configurable-booking{padding:21px}.booking-fields{grid-template-columns:1fr}.booking-field{grid-column:1/-1}.booking-paused{padding:18px}.booking-form-heading h3{font-size:27px}.bf-status{grid-template-columns:1fr}.bf-actions>*{width:100%}.bf-field-bar button{min-height:44px}.booking-fields .button{padding:16px 13px}}

/* Steps have labels only, no decorative chapter or service numbering. */
.steps h3{margin-top:0}

/* 6-WS.5: compact, active reservation and hosted payment selection. */
.booking-v65 .booking-form-heading{margin-bottom:24px}.booking-v65 .booking-form-heading h3{font-size:30px;margin:0}.booking-v65 .booking-fields{gap:18px}.booking-v65 input,.booking-v65 select,.booking-v65 textarea{color:#f1f1ef;background:#101214;border-color:#424648;opacity:1}.booking-v65 input::placeholder,.booking-v65 textarea::placeholder{color:#999e9f;opacity:1}.booking-v65 input:focus,.booking-v65 select:focus,.booking-v65 textarea:focus{outline:2px solid #d3ae70;outline-offset:2px}.booking-v65 input[type=date],.booking-v65 input[type=time]{color-scheme:dark}.optional-mark{font-size:12px;color:#a9aeb0}.booking-optional{border-top:1px solid #333638;border-bottom:1px solid #333638;padding:14px 0}.booking-optional summary{cursor:pointer;list-style:none;font-size:14px;color:#d9c7a4;display:flex;justify-content:space-between;align-items:center;min-height:26px}.booking-optional summary::-webkit-details-marker{display:none}.booking-optional[open] summary{margin-bottom:18px}.booking-optional[open] summary span{transform:rotate(45deg)}.booking-optional input,.booking-optional textarea{margin-bottom:0}.booking-privacy{font-size:12px;line-height:1.6;color:#afb3b6;margin:0}.booking-privacy a{color:#d7bb8c;text-underline-offset:3px}.booking-v65 .booking-disclaimer{font-size:12px;margin:14px 0 0;text-align:center;color:#b6bbbd}.payment-picker{border:0;padding:0;margin:4px 0 0;min-width:0}.payment-picker>legend{font-size:15px;margin-bottom:12px;color:#e8e8e6}.payment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.payment-card{position:relative;margin:0;cursor:pointer}.payment-card>input{position:absolute;opacity:0;width:1px;height:1px;min-height:0;margin:0}.payment-card-body{display:grid;grid-template-columns:28px 1fr;align-content:center;column-gap:10px;min-height:85px;padding:14px 12px;border:1px solid #3a4042;background:#101214;transition:border-color .15s,background .15s;box-sizing:border-box}.payment-card-body strong{font-size:16px;font-weight:400;color:#eeefef;grid-column:2}.payment-card-body small{font-size:12px;line-height:1.45;color:#aeb5b8;grid-column:2}.payment-icon{width:24px;height:24px;grid-column:1;grid-row:1/3;align-self:center;color:#c5a46b}.payment-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.payment-card input:checked+.payment-card-body{border-color:#d3ae70;background:#27221a}.payment-card input:checked+.payment-card-body strong{color:#f5d89e}.payment-card input:focus-visible+.payment-card-body{outline:2px solid #f5d89e;outline-offset:3px}.payment-card:hover .payment-card-body{border-color:#8f795a}.payment-detail{font-size:12px;line-height:1.5;color:#b9bcbf;margin:12px 0 0}.payment-detail:empty{display:none}.payment-summary{padding:18px;border:1px solid #786446;background:#171a1b;margin-top:14px}.payment-summary dt{font-size:12px;color:#c6ad7c;margin-top:12px}.payment-summary dd{font-size:17px;margin:3px 0;overflow-wrap:anywhere;color:#f2f0ed}.payments-service{margin-top:18px;padding-top:16px;border-top:1px solid #3a3e40}.payments-service summary{cursor:pointer;color:#dbbf8b;font-size:17px}.payments-service[open] summary{margin-bottom:18px}.payment-studio-note{padding:16px;border-left:2px solid #d3ae70;background:#191b1c;font-size:14px;line-height:1.6;margin-bottom:20px}.studio-panel .mail-transport-hint{color:#c3c6c7;font-size:13px;line-height:1.55}.booking-v65 .form-message a.button{display:flex;justify-content:center;text-align:center;white-space:normal}.booking-v65 .form-message{overflow-wrap:anywhere}
@media(max-width:420px){.payment-grid{grid-template-columns:1fr}.payment-card-body{min-height:75px}.booking-v65 .booking-form-heading h3{font-size:26px}.configurable-booking{padding:18px}}
