/* Handkontakt booking design. Theme-only overrides; plugin behavior stays intact. */
.hkb-site .hk-page-hero--booking{padding-block:calc(104px + clamp(40px,5vw,72px)) clamp(40px,5vw,72px);min-height:0}
.hkb-site .hk-page-hero--booking h1{font-size:clamp(30px,4.2vw,62px);letter-spacing:.12em;line-height:1.25;margin-bottom:20px}
.hkb-site .hk-page-hero--booking .hk-shell>p:last-child{max-width:65ch;margin-bottom:0}
.hkb-site .hk-booking-wrap{padding-block:clamp(32px,4vw,56px) clamp(64px,7vw,100px)}
/* Hide the stray imported newline paragraph immediately before the form. */
.hkb-site .hk-booking-wrap>.hk-booking-intro+p:has(+.scinet-booking){display:none}
.hkb-site .hk-booking-intro{text-align:left;max-width:68ch;margin:0 0 32px;font-size:16px;line-height:1.7}
.hkb-site .scinet-booking{--sb-accent:#f0f1ee!important;--sb-on-accent:#090f0f!important;--sb-surface:transparent!important;--sb-panel:#101717!important;--sb-text:#f0f1ee!important;--sb-muted:#b5bfbb!important;--sb-border:#59635e!important;--sb-radius:0px!important;--sb-max-width:none!important;display:grid;grid-template-columns:minmax(200px,.75fr) minmax(0,2fr);gap:clamp(32px,5vw,72px);border:0;border-top:1px solid var(--hkb-line);border-radius:0;margin:0!important;padding:0;background:transparent;color:var(--sb-text);font-family:var(--hk-display);font-size:16px;line-height:1.65;overflow:visible}
.hkb-site .scinet-booking__header{align-self:start;border:0;padding:36px 0!important;position:sticky;top:130px}
.hkb-site .scinet-booking__header h2,.hkb-site .scinet-booking__cancellation h2{font-family:var(--hk-display)!important;font-size:clamp(24px,2.4vw,36px)!important;letter-spacing:.13em!important;text-transform:uppercase;font-weight:600!important;line-height:1.4;max-width:20ch;margin:20px 0}
.hkb-site .scinet-booking__eyebrow{font-size:10px!important;letter-spacing:.2em;line-height:1.7}
.hkb-site .scinet-booking__header p{font-size:15px;line-height:1.8}
.hkb-site .scinet-booking__form{min-width:0;padding:0!important}
.hkb-site .scinet-booking__step{grid-template-columns:48px minmax(0,1fr)!important;gap:20px;padding:36px 0;border-bottom:1px solid var(--hkb-line);animation:none}
.hkb-site .scinet-booking__number{display:flex!important;align-items:flex-start;justify-content:flex-start;width:auto;height:auto;padding:0;background:transparent;color:var(--sb-text);border-radius:0;font-size:25px;font-weight:500;line-height:1.4}
.hkb-site .scinet-booking__fields{min-width:0;gap:12px}
.hkb-site .scinet-booking__fields>label:not(.scinet-booking__consent),.hkb-site .scinet-booking__fields>legend{font-size:12px;font-weight:600;letter-spacing:.16em;line-height:1.7;text-transform:uppercase;margin:0 0 6px}
.hkb-site .scinet-booking__fields>legend{float:left;width:100%;padding:0}
.hkb-site .scinet-booking__fields input:not([type=checkbox]):not([type=hidden]),.hkb-site .scinet-booking__fields select{background:var(--sb-panel);border:1px solid var(--sb-border);border-radius:0!important;color:var(--sb-text);color-scheme:dark;font-family:inherit;font-size:16px;line-height:1.5;min-height:52px;padding:12px 14px;max-width:100%;min-width:0;margin:0 0 8px}
.hkb-site .scinet-booking__fields input:focus,.hkb-site .scinet-booking__fields select:focus{border-color:var(--sb-accent);box-shadow:none;outline:2px solid var(--sb-accent);outline-offset:3px}
.hkb-site .scinet-booking__type-details{background:transparent;border:0;border-left:1px solid var(--sb-border);border-radius:0;margin:12px 0 0;padding:0 0 0 20px;font-size:15px;line-height:1.75}
.hkb-site .scinet-booking__type-details p{margin:0 0 12px}
.hkb-site .scinet-booking__facts{color:var(--sb-text);font-size:13px;letter-spacing:.06em}
.hkb-site .scinet-booking__location{font-weight:500}
.hkb-site .scinet-booking__directions{font-size:14px}
.hkb-site .scinet-booking__calendar{background:var(--sb-panel);border:1px solid var(--sb-border);border-radius:0;padding:20px;margin:0;max-width:100%;width:100%}
.hkb-site .scinet-booking__calendar-header{grid-template-columns:44px minmax(0,1fr) 44px;gap:8px;padding-bottom:18px;margin-bottom:18px}
.hkb-site .scinet-booking__calendar-header h3{font-size:16px;letter-spacing:.05em;line-height:1.4;text-transform:uppercase}
.hkb-site .scinet-booking__calendar-nav{width:44px;height:44px;min-height:44px;border-radius:0!important;font-weight:400}
.hkb-site .scinet-booking__calendar-weekdays,.hkb-site .scinet-booking__calendar-grid{gap:5px}
.hkb-site .scinet-booking__calendar-weekdays{margin-bottom:10px}
.hkb-site .scinet-booking__calendar-weekdays span{font-size:11px;letter-spacing:.08em;text-transform:uppercase}
.hkb-site .scinet-booking__calendar-day{border-radius:0!important;font-size:15px;font-weight:500;min-height:36px;line-height:1.3}
.hkb-site .scinet-booking__calendar-day.is-available{background:#192222;border-color:var(--sb-border)}
.hkb-site .scinet-booking__calendar-day.is-selected{background:var(--sb-accent);color:var(--sb-on-accent);border-color:var(--sb-accent)}
.hkb-site .scinet-booking__calendar-day:disabled{opacity:.4}
.hkb-site .scinet-booking__calendar-legend,.hkb-site .scinet-booking__calendar-status{font-size:13px}
.hkb-site .scinet-booking__selection{border-left:1px solid var(--sb-accent);padding:10px 16px;background:var(--sb-panel);font-size:15px;font-weight:500;line-height:1.7;margin:0 0 12px}
.hkb-site .scinet-booking__slots{gap:10px}
.hkb-site .scinet-booking__slot,.hkb-site .scinet-booking__secondary,.hkb-site .scinet-booking__submit{border-radius:0!important;min-height:48px;font-size:13px;font-weight:600;letter-spacing:.1em;line-height:1.5;padding:13px 20px}
.hkb-site .scinet-booking__slot{min-width:88px;font-variant-numeric:tabular-nums}
.hkb-site .scinet-booking__submit{background:var(--sb-accent)!important;color:var(--sb-on-accent)!important;display:flex;align-items:center;justify-content:space-between;gap:24px;text-align:left;text-transform:uppercase;max-width:100%;margin-top:20px;padding:18px 24px}
.hkb-site .scinet-booking__submit::after{content:'\2192';font-size:22px;line-height:1;flex-shrink:0}
.hkb-site .scinet-booking__secondary{text-transform:uppercase}
.hkb-site .scinet-booking button:focus-visible{outline:2px solid var(--sb-accent);outline-offset:3px;box-shadow:none}
.hkb-site .scinet-booking__customer{max-width:100%}
.hkb-site .scinet-booking__consent{font-size:15px!important;font-weight:400;letter-spacing:0;line-height:1.65;margin:4px 0;gap:12px}
.hkb-site .scinet-booking__consent input{flex:0 0 20px;width:20px;height:20px;margin:3px 0 0;accent-color:var(--sb-accent);color-scheme:dark}
.hkb-site .scinet-booking__field-hint{font-size:13px;line-height:1.6;margin:-6px 0 8px}
.hkb-site .scinet-booking input[aria-invalid=true]{border-color:#f0a2a7;box-shadow:0 0 0 1px #f0a2a7}
.hkb-site .scinet-booking__status{font-size:15px;line-height:1.65;margin-top:16px;overflow-wrap:anywhere}
.hkb-site .scinet-booking__status:empty{margin:0;min-height:0;padding:0}
.hkb-site .scinet-booking__status[data-state=error]{background:#321d22;border-left-color:#f0a2a7;color:#ffd6da}
.hkb-site .scinet-booking__status[data-state=success]{background:#152e25;border-left-color:#a1d5b9;color:#d2f1df}
.hkb-site .scinet-booking__cancellation{grid-column:1/-1;padding:36px 0!important}
.hkb-site .scinet-booking-turnstile{min-width:0;border:1px solid var(--sb-border);border-radius:0;padding:16px;margin:12px 0;font-size:14px;color:var(--sb-muted)}
.hkb-site .scinet-booking-turnstile legend{padding-inline:8px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--sb-text)}
.hkb-site .scinet-booking__type-card{border-radius:0;box-shadow:none}
.hkb-site .scinet-booking__type-card-content strong{font-size:17px;font-weight:600;letter-spacing:.04em}
.hkb-site .scinet-booking__type-card.is-selected{box-shadow:inset 0 0 0 1px var(--sb-accent)}
@media(min-width:1100px){.hkb-site .scinet-booking__customer{max-width:640px}}
@media(max-width:960px){
 .hkb-site .scinet-booking{grid-template-columns:minmax(0,1fr);gap:0}
 .hkb-site .scinet-booking__header{position:static;padding:28px 0!important;border-bottom:1px solid var(--hkb-line)}
 .hkb-site .scinet-booking__header h2{max-width:none;font-size:26px!important;margin:12px 0}
 .hkb-site .scinet-booking__header p{max-width:65ch}
}
@media(max-width:600px){
 .hkb-site .hk-page-hero--booking{padding-top:126px}
 .hkb-site .hk-page-hero--booking h1{font-size:28px;letter-spacing:.09em}
 .hkb-site .hk-booking-wrap{padding-top:28px}
 .hkb-site .scinet-booking__step{grid-template-columns:minmax(0,1fr)!important;gap:14px;padding:28px 0}
 .hkb-site .scinet-booking__number{font-size:22px;align-items:center;gap:18px}
 .hkb-site .scinet-booking__number::after{content:'';height:1px;background:var(--hkb-line);flex:1}
 .hkb-site .scinet-booking__calendar{padding:10px}
 .hkb-site .scinet-booking__calendar-grid,.hkb-site .scinet-booking__calendar-weekdays{gap:3px}
 .hkb-site .scinet-booking__calendar-day{font-size:14px;min-height:32px}
 .hkb-site .scinet-booking__submit{width:100%;font-size:11px;padding:16px;gap:12px}
 .hkb-site .scinet-booking-turnstile{padding:12px 0;border-inline:0}
}
/* Keep the provider's 300px security widget inside narrow phone viewports. */
.hkb-site .scinet-booking,.hkb-site .scinet-booking__step,.hkb-site .scinet-booking__customer{min-width:0;max-width:100%}
.hkb-site .scinet-booking__consent{overflow-wrap:anywhere}
@media(max-width:360px){.hkb-site .hk-booking-wrap.hk-shell{width:calc(100% - 20px)}}
