.apex-booking{padding-block:80px 100px}.booking-intro{max-width:900px;margin-bottom:38px}.apex-booking .booking-intro h1{font-size:clamp(44px,5.4vw,78px);line-height:1.05;margin-bottom:24px}.apex-booking .lead{font-size:18px;max-width:700px}.booking-timezone,.booking-calendar-note{font-size:12px;color:var(--muted);line-height:1.8}.booking-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:30px;align-items:start;margin-top:25px}.booking-calendar,.booking-form-panel{min-width:0;border:1px solid var(--line);border-radius:12px;padding:28px;background:var(--paper)}.booking-message{padding:15px 18px;border:1px solid var(--line);border-left:3px solid var(--ink);font-size:13px;line-height:1.75;background:#f2f3ee}.booking-error{border-left-color:#a33434;background:#fff3f0;color:#7a2525}.booking-month-nav{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:25px}.apex-booking .booking-month-nav h2{font-size:23px;letter-spacing:-.035em;text-transform:capitalize}.apex-booking .booking-month-nav button{width:44px;height:44px;border:1px solid var(--line);border-radius:6px;background:white;color:var(--ink)}.booking-weekdays,.booking-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.booking-weekdays span{text-align:center;font-size:11px;color:var(--muted);padding:10px 0}.apex-booking .booking-days button{border:1px solid var(--line);background:white;border-radius:5px;min-width:0;padding:0;min-height:45px;font:600 14px var(--font);color:var(--ink);cursor:pointer}.apex-booking .booking-days button:disabled{opacity:.42;cursor:not-allowed;background:transparent;border-color:transparent}.apex-booking .booking-days button[aria-pressed=true],.apex-booking .booking-slot[aria-pressed=true]{background:var(--ink);color:white;border-color:var(--ink)}.booking-calendar-note{margin-top:17px!important}.booking-slots{border-top:1px solid var(--line);margin-top:24px;padding-top:23px}.apex-booking .booking-slots h3{font-size:19px;line-height:1.4;letter-spacing:-.02em;margin-bottom:15px}.apex-booking #booking-slots{display:flex;flex-wrap:wrap;gap:8px}.apex-booking .booking-slot{padding:11px 13px;border:1px solid var(--line);background:white;border-radius:6px;color:var(--ink);font-size:11px;min-height:44px}.apex-booking .booking-form-panel h2{font-size:32px;letter-spacing:-.04em}.booking-selection{font-size:13px;color:var(--muted);padding:13px 0 18px;line-height:1.8}.apex-booking form>label:not(.booking-privacy){display:block;font-size:12px;font-weight:650;margin-bottom:16px}.apex-booking label>span{font-weight:400}.apex-booking input:not([type=checkbox]){width:100%;min-width:0;height:48px;border:1px solid var(--line);border-radius:5px;padding:11px 12px;background:white;font:15px var(--font);color:var(--ink);margin-top:7px}.booking-privacy{display:flex;align-items:start;gap:11px;font-size:11px;line-height:1.8;margin:22px 0}.booking-privacy input{flex-shrink:0;margin-top:4px;width:17px;height:17px}.apex-booking .booking-privacy a{text-decoration:underline}.booking-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.apex-booking #booking-submit{width:100%;font-size:12px}.apex-booking #booking-submit:disabled{cursor:not-allowed;opacity:.45}.apex-booking #booking-result{margin-top:20px}@media(max-width:900px){.apex-booking{padding-top:55px}.booking-layout{gap:20px}.booking-calendar,.booking-form-panel{padding:20px}}@media(max-width:760px){.apex-booking.container{width:calc(100% - 32px)}.booking-layout{grid-template-columns:1fr}.apex-booking .booking-intro h1{font-size:43px}.apex-booking .lead{font-size:16px}.booking-calendar,.booking-form-panel{padding:17px}.booking-weekdays,.booking-days{gap:3px}.apex-booking .booking-month-nav h2{font-size:21px}.apex-booking input:not([type=checkbox]){font-size:16px}.apex-booking .booking-form-panel h2{font-size:29px}}
/* Flusso dati -> calendario, stesso linguaggio grafico del modulo Apex. */
.booking-two-step .booking-intro{margin-bottom:30px}.booking-steps{display:flex;gap:35px;list-style:none;padding:0;margin:0 0 28px;border-bottom:1px solid var(--line)}.booking-steps li{display:flex;gap:12px;align-items:center;font-size:13px;color:var(--muted);padding:0 0 17px;border-bottom:2px solid transparent}.booking-steps li[aria-current=step]{color:var(--ink);border-color:var(--ink);font-weight:650}.booking-steps li>span{font-size:10px;letter-spacing:.1em}.booking-data-panel{max-width:850px;margin-inline:0}.booking-two-step .booking-input-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px;margin-top:26px}.booking-two-step .booking-input-grid>label{display:block;min-width:0;font-size:12px;font-weight:650}.booking-two-step .booking-input-grid>label>small{display:block;font-size:10px;font-weight:400;color:var(--muted);margin-top:6px}.booking-reference-field{grid-column:1/-1}.booking-two-step .booking-data-panel h2{font-size:32px;letter-spacing:-.04em}.booking-two-step #booking-next-step{margin-top:5px}.booking-two-step #booking-data-error{margin-bottom:16px}.booking-step-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin:38px 0 20px}.booking-two-step .booking-step-heading h2{font-size:38px;letter-spacing:-.045em}.booking-two-step .booking-step-heading .eyebrow{margin-bottom:12px!important}.booking-two-step .booking-step-heading .button{font-size:12px;min-height:44px}.booking-summary{display:grid;grid-template-columns:90px minmax(0,1fr);gap:10px 16px;margin:25px 0;border-bottom:1px solid var(--line);padding-bottom:24px;font-size:12px;line-height:1.7}.booking-summary dt{color:var(--muted)}.booking-summary dd{margin:0;font-weight:600;overflow-wrap:anywhere}.booking-review .booking-selection{padding:0 0 20px;font-weight:600;color:var(--ink)}#booking-step-data,#booking-calendar-step-title{scroll-margin-top:120px}.booking-two-step [hidden]{display:none!important}@media(max-width:760px){.booking-steps{gap:23px}.booking-steps li{font-size:12px;gap:9px}.booking-two-step .booking-input-grid{grid-template-columns:1fr;gap:18px}.booking-step-heading{align-items:start;flex-direction:column;gap:17px;margin-top:25px}.booking-two-step .booking-step-heading h2{font-size:31px}.booking-two-step .booking-data-panel h2{font-size:29px}.booking-summary{grid-template-columns:75px minmax(0,1fr);gap:9px}.booking-two-step #booking-next-step{width:100%}.booking-two-step .booking-review h2{font-size:29px}}
/* Contrasto del ritorno e slot compatti senza perdere timezone/offset accessibili. */
body.apex-site .apex-booking #booking-back{color:var(--ink)!important;background:#fff!important;border:1px solid var(--line)!important;opacity:1}body.apex-site .apex-booking #booking-back:disabled{opacity:.5}@media(max-width:760px){.booking-two-step #booking-slots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.booking-two-step .booking-slot{width:100%;min-height:44px;padding:10px 7px}}
