/* Arsanta v0.7.8 — only public booking. No changes to operational forms or endpoints. */
.booking-experience{--booking-green:#30483e;--booking-ink:#26342d;--booking-muted:#596c62;--booking-paper:#f8f7f2;background:var(--booking-paper);color:var(--booking-ink);font-family:'Plus Jakarta Sans','Segoe UI',Arial,sans-serif;overflow-x:clip}
.booking-experience .booking-nav{height:auto;min-height:76px;padding-inline:max(24px,calc((100vw - 1080px)/2));background:var(--booking-paper);border-color:#dce5dc}
.booking-experience .booking-nav .wordmark{font-size:21px;color:var(--booking-green)}
.booking-experience .booking-nav .wordmark span{display:block;font-size:9px;letter-spacing:.23em;color:var(--booking-muted)}
.booking-experience .booking-nav nav{gap:clamp(10px,3vw,32px);display:flex;flex-wrap:wrap}
.booking-experience .booking-nav nav a{color:var(--booking-green);font-size:13px;white-space:nowrap}
.booking-experience .booking-page{max-width:1060px;padding:0 22px;margin:36px auto 90px}
.booking-experience .booking-intro{border:1px solid #dfe8df;border-radius:12px;box-shadow:none;padding:clamp(24px,4vw,46px);background:#f2f4ed}
.booking-experience .booking-intro .eyebrow{color:var(--booking-muted)}
.booking-experience .booking-intro h1{font-family:Georgia,serif;font-size:clamp(30px,4vw,54px);font-weight:400;line-height:1.16;letter-spacing:-.025em;max-width:750px}
.booking-experience .booking-intro p{max-width:810px;font-size:14px;line-height:1.8;margin:12px 0}
.booking-experience .thin-line{background:#a6b4a5;margin:20px 0}
.booking-section-nav{position:sticky;top:0;z-index:20;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin:20px 0 18px;padding:8px;background:#ffffffed;backdrop-filter:blur(12px);border:1px solid #dbe3da;border-radius:12px}
.booking-section-nav a{display:flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:8px 6px;font-size:12px;font-weight:750;color:var(--booking-green);border-radius:7px;text-align:center}
.booking-section-nav a:hover,.booking-section-nav a:focus-visible{background:#e7efe7}
.booking-section-nav a span{font-size:10px;font-weight:800;color:#6b8273}
.booking-experience .booking-form{gap:20px;margin-top:0}
.booking-experience .booking-form .form-card{padding:clamp(20px,3.4vw,40px);border:1px solid #dfe7dd;border-radius:12px;box-shadow:none;min-width:0;scroll-margin-top:92px}
.booking-experience .booking-form .form-card h2{font-family:Georgia,serif;font-size:clamp(23px,2.6vw,31px);font-weight:400;display:flex;align-items:center;gap:14px;padding-bottom:18px;margin-bottom:24px;border-bottom:1px solid #e3eae2}
.booking-experience .booking-form .form-card h2 span{font:700 12px 'Segoe UI',sans-serif;letter-spacing:.1em;color:#5e8169}
.booking-experience .booking-form label{min-width:0;line-height:1.5;color:var(--booking-ink);font-size:13px}
.booking-experience .booking-form :is(input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea){border:1px solid #cddccd;background:#fff;color:var(--booking-ink);min-height:48px;font-size:16px;border-radius:8px;width:100%;max-width:100%}
.booking-experience .booking-form textarea{min-height:110px;resize:vertical}
.booking-experience .booking-form input[type=file]{max-width:100%;min-width:0;border:1px dashed #9daf9e;background:#f9fbf8;border-radius:8px;padding:15px;font-size:13px}
.booking-experience .booking-form input[type=checkbox]{accent-color:var(--booking-green)}
.booking-experience .booking-form :is(input,select,textarea,button):focus-visible{outline:3px solid #8eaf96;outline-offset:2px;box-shadow:none}
.booking-experience .form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.booking-experience .form-grid>*{min-width:0}
.booking-experience .choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.booking-experience .choice{background:#f9fbf9;border-color:#d4e0d4;gap:10px;min-height:52px;cursor:pointer}
.booking-experience .choice:has(input:checked){border-color:#648a70;background:#edf3ed}
.booking-experience .booking-form .btn{min-height:48px;border-radius:8px;white-space:normal;font-size:13px}
.booking-experience .booking-form .btn-primary{background:var(--booking-green);border-color:var(--booking-green);color:white}
.booking-experience .booking-form .btn-primary:hover:not(:disabled){background:#243b30}
.booking-experience .session-editor{background:#f8faf7;border:1px solid #d9e5d9;border-radius:10px;padding:20px;margin:18px 0}
.booking-experience .session-editor .panel-head{gap:16px;flex-wrap:wrap}
.booking-experience .session-editor h3{margin:0;font-size:16px}
.booking-experience .time-24{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:8px}
.booking-experience .time-24 select{min-width:0;max-width:none;width:100%}
.booking-experience .booking-form .info{border-left:3px solid #5b8465;background:#eff4ec;color:#435e4b;line-height:1.65}
.booking-experience .booking-validation{border-radius:8px;padding:15px;background:#fff0ee;border:1px solid #ebaeaa;color:#882e30;font-size:13px;margin-bottom:18px}
.booking-experience .booking-validation[hidden]{display:none}
.booking-experience .booking-submit-caption{color:var(--booking-muted);font-size:12px;margin:12px 0 0;text-align:center}
.booking-experience .booking-form [disabled]{cursor:wait}
@media(max-width:760px){
 .booking-experience .booking-page{margin:18px auto 55px;padding:0 16px}
 .booking-experience .booking-nav{padding:12px 18px;gap:12px}
 .booking-experience .booking-nav .wordmark{font-size:17px}
 .booking-experience .booking-nav nav a{font-size:12px}
 .booking-experience .booking-form .form-card{padding:22px}
 .booking-experience .form-grid,.booking-experience .choice-grid{grid-template-columns:1fr;gap:17px}
 .booking-section-nav{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:14px;top:0;padding:6px}
 .booking-section-nav a{flex-direction:column;gap:1px;font-size:11px}
 .booking-experience .booking-intro p{font-size:13px}
}
@media(max-width:480px){
 .booking-experience .booking-nav{align-items:center}
 .booking-experience .booking-nav nav{gap:10px}
 .booking-experience .booking-nav nav a{font-size:11px}
 .booking-experience .booking-page{padding:0 12px}
 .booking-experience .booking-intro{padding:22px 18px}
 .booking-experience .booking-form .form-card{padding:21px 17px}
 .booking-experience .booking-form .form-card h2{font-size:25px}
 .booking-experience .session-editor{padding:15px}
 .booking-experience .time-24{gap:5px}
 .booking-section-nav a{font-size:10px;padding:6px 2px}
}
@media(max-width:355px){
 .booking-experience .booking-nav .wordmark{font-size:14px}
 .booking-experience .booking-nav nav{gap:6px}
 .booking-experience .booking-nav nav a{font-size:10px}
 .booking-experience .booking-form .form-card h2{font-size:22px}
}
@media(prefers-reduced-motion:reduce){.booking-experience *{scroll-behavior:auto!important;transition:none!important}}
