/* Book Online — booking form */
.apx-bk-hero{background:linear-gradient(180deg,#F7FAFB 0%,#FFFFFF 100%);padding:52px 0 34px;border-bottom:1px solid var(--apx-line);text-align:center}
.apx-bk-hero h1{font-size:46px;margin:0 0 12px;letter-spacing:-.02em}
.apx-bk-hero p{max-width:620px;margin:0 auto;font-size:17px;line-height:1.6;color:var(--apx-body)}
.apx-bk-wrap{display:grid;grid-template-columns:1fr 360px;gap:40px;align-items:start;padding:44px 0 84px}
.apx-bk-main{background:#fff;border:1px solid var(--apx-line);border-radius:18px;padding:8px 34px 34px;box-shadow:var(--apx-shadow-sm)}
.apx-bk-step{padding:28px 0;border-top:1px solid var(--apx-line)}
.apx-bk-step:first-of-type{border-top:0}
.apx-bk-step h2{font-size:25px;margin:0 0 4px}
.apx-bk-hint{font-size:14px;color:var(--apx-muted);margin:0 0 20px}
.apx-bk-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.apx-bk-grid-1{display:grid;grid-template-columns:1fr;gap:16px}
.apx-bk-f{display:flex;flex-direction:column;gap:7px}
.apx-bk-f[hidden]{display:none}
.apx-bk-f>span{font-size:13.5px;font-weight:700;color:var(--apx-ink)}
.apx-bk-f input,.apx-bk-f select,.apx-bk-f textarea{padding:13px 15px;border:1px solid var(--apx-line);border-radius:10px;font-size:15px;font-family:inherit;background:#fff;color:var(--apx-ink);outline:none}
.apx-bk-f input:focus,.apx-bk-f select:focus,.apx-bk-f textarea:focus{border-color:#16B3C4;box-shadow:0 0 0 3px rgba(22,179,196,.15)}
.apx-bk-f textarea{min-height:110px;resize:vertical}
.apx-bk-chips{display:flex;flex-wrap:wrap;gap:12px}
.apx-bk-chip{position:relative}
.apx-bk-chip input{position:absolute;opacity:0;width:0;height:0}
.apx-bk-chip span{display:inline-flex;align-items:center;gap:8px;padding:12px 20px;border:1px solid var(--apx-line);border-radius:10px;background:#F4F7F8;font-size:15px;font-weight:600;color:var(--apx-body);cursor:pointer;transition:background .12s ease,color .12s ease,border-color .12s ease}
.apx-bk-chip span small{font-weight:600;opacity:.7;font-size:12.5px}
.apx-bk-chip input:checked+span{background:#16B3C4;border-color:#16B3C4;color:#fff}
.apx-bk-chip input:focus-visible+span{box-shadow:0 0 0 3px rgba(22,179,196,.3)}
.apx-bk-extras{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.apx-bk-extra{position:relative}
.apx-bk-extra input{position:absolute;opacity:0;width:0;height:0}
.apx-bk-extra span{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px;border:1px solid var(--apx-line);border-radius:12px;background:#fff;font-size:14.5px;font-weight:600;color:var(--apx-ink);cursor:pointer;transition:border-color .12s ease,background .12s ease}
.apx-bk-extra span b{font-weight:700;color:var(--apx-muted);font-size:13.5px}
.apx-bk-extra input:checked+span{border-color:#16B3C4;background:#EAF8FA}
.apx-bk-extra input:checked+span b{color:#0F7D8B}
.apx-bk-sum{position:sticky;top:24px;background:#fff;border:1px solid var(--apx-line);border-radius:18px;padding:26px 26px 28px;box-shadow:var(--apx-shadow)}
.apx-bk-sum h3{font-size:19px;margin:0 0 18px}
.apx-bk-sum dl{display:grid;grid-template-columns:auto 1fr;gap:9px 14px;margin:0 0 18px;font-size:14.5px}
.apx-bk-sum dt{color:var(--apx-muted)}
.apx-bk-sum dd{margin:0;text-align:right;font-weight:600;color:var(--apx-ink)}
.apx-bk-total{display:flex;align-items:baseline;justify-content:space-between;padding-top:16px;border-top:1px solid var(--apx-line)}
.apx-bk-total span{font-family:var(--apx-font-head);font-weight:700;font-size:17px}
.apx-bk-total strong{font-family:var(--apx-font-head);font-size:30px;color:#0F7D8B}
.apx-bk-note{font-size:12.5px;line-height:1.55;color:var(--apx-muted);margin:14px 0 0}
.apx-bk-submit{display:block;width:100%;margin-top:20px;background:#16B3C4;color:#fff;border:4px solid #fff;border-radius:4px;padding:18px 20px;font-family:var(--apx-font-head);font-weight:700;font-size:17px;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;box-shadow:0 12px 28px rgba(10,40,50,.26);transition:background .14s ease,transform .14s ease}
.apx-bk-submit:hover{background:#0F9AAA;transform:translateY(-2px)}
.apx-bk-callout{margin-top:18px;font-size:13.5px;line-height:1.6;color:var(--apx-body);text-align:center}
.apx-bk-quoteonly{display:none;margin-top:14px;background:var(--apx-yellow-soft);border:1px solid #F2E39A;border-radius:12px;padding:14px 16px;font-size:13.5px;line-height:1.6;color:var(--apx-ink)}
.apx-bk-quoteonly.is-on{display:block}
.apx-mobile .apx-bk-hero{padding:34px 0 26px}
.apx-mobile .apx-bk-hero h1{font-size:31px}
.apx-mobile .apx-bk-wrap{grid-template-columns:1fr;gap:22px;padding:26px 0 56px}
.apx-mobile .apx-bk-main{padding:6px 20px 24px;border-radius:14px}
.apx-mobile .apx-bk-step h2{font-size:21px}
.apx-mobile .apx-bk-grid{grid-template-columns:1fr}
.apx-mobile .apx-bk-extras{grid-template-columns:1fr}
.apx-mobile .apx-bk-sum{position:static}
