.b-booking{border-top:1px solid var(--line);scroll-margin-top:24px}
.b-booking .b-heading{max-width:720px}
.b-booking-card{max-width:780px;margin:0 auto;padding:34px;background:var(--white);border:1px solid var(--line);border-radius:10px;box-shadow:7px 7px 0 #254ce50a;text-align:left;font-size:17px;overflow-wrap:anywhere}
.b-booking-hint{color:var(--muted);font-size:14px;margin-bottom:20px}
.b-booking-notice{background:var(--pale);border-left:4px solid var(--blue);padding:14px 16px;font-size:15px;line-height:1.8;margin-bottom:22px}
.b-booking-notice:empty{display:none}
.b-booking-card fieldset{border:0;padding:0;margin:0;min-width:0}
.b-booking-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.b-booking-field{display:block;font-weight:800;margin-bottom:22px;min-width:0}
.b-booking-field>span{font-size:14px;color:var(--muted);font-weight:400}
.b-booking-field input,.b-booking-field select,.b-booking-field textarea{display:block;width:100%;max-width:100%;margin-top:8px;min-height:52px;padding:13px 12px;border:1px solid #aab8ce;border-radius:6px;background:#fff;color:var(--ink);font:inherit;font-size:16px;font-weight:400;line-height:1.5}
.b-booking-field select{appearance:auto}
.b-booking-field textarea{resize:vertical}
.b-booking-field select:disabled{background:#f1f4fa;color:#526078;opacity:1}
.b-booking-card :focus-visible{outline:3px solid var(--blue);outline-offset:3px}
.b-booking-privacy{padding:14px 16px;background:#f1f4fa;border-radius:6px;font-size:14px;margin:4px 0 20px}
.b-booking-privacy summary{font-weight:800;cursor:pointer;min-height:28px}
.b-booking-privacy p{margin-top:14px}
.b-booking-checkbox{display:flex;align-items:flex-start;gap:12px;font-size:16px;line-height:1.8;margin:18px 0}
.b-booking-checkbox input{width:20px;height:20px;margin:5px 0 0;flex-shrink:0;accent-color:var(--blue)}
.b-booking-optional{font-size:14px;color:var(--muted)}
.b-booking-submit{display:flex;align-items:center;justify-content:center;width:100%;min-height:58px;margin-top:26px;padding:16px 18px;background:var(--blue);color:var(--yellow);font-size:20px;font-weight:900;border:0;border-radius:6px;box-shadow:0 4px 0 var(--blue-deep);line-height:1.5}
.b-booking-submit:hover:not(:disabled){background:var(--blue-deep)}
.b-booking-submit:disabled{background:#dce3f0;color:#526078;box-shadow:none;cursor:not-allowed}
.b-booking-error{color:#b42318;font-size:16px;font-weight:700;margin:18px 0}
.b-booking-retry{border:1px solid var(--blue);border-radius:5px;background:var(--pale);color:var(--blue);font-size:16px;font-weight:700;padding:10px 18px;margin:-8px 0 22px}
.b-booking-card[aria-busy=true] fieldset{opacity:.7}
@media(max-width:600px){.b-booking .b-wrap{padding:0 18px}.b-booking-card{padding:24px 18px}.b-booking-grid{grid-template-columns:1fr;gap:0}.b-booking-field{margin-bottom:20px}.b-booking-submit{font-size:18px}.b-booking .b-heading>p:last-child{font-size:17px}.b-booking-card{scroll-margin-bottom:100px}}
.b-booking-info{max-width:780px;margin:0 auto 24px;padding:28px 30px;background:var(--pale);border-left:5px solid var(--blue);border-radius:6px;font-size:17px}.b-booking-info h3{font-size:24px;color:var(--blue);margin-bottom:14px}.b-booking-info dl{margin:0 0 16px}.b-booking-info dl>div{display:grid;grid-template-columns:60px 1fr;gap:16px;padding:9px 0;border-bottom:1px solid var(--line)}.b-booking-info dt{font-weight:800}.b-booking-info dd{margin:0}.b-booking-info p{margin-top:14px;font-size:15px}.b-application{background:var(--pale)}.b-application-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.b-application-grid article{background:var(--white);border:1px solid var(--line);border-top:5px solid var(--blue);padding:25px}.b-application-grid b{font-size:17px;color:var(--blue)}.b-application-grid h3{font-size:23px;line-height:1.6;margin:14px 0}.b-application-grid p{font-size:17px}.b-application-note{margin:26px auto 0;max-width:880px;font-size:16px;color:var(--muted)}@media(max-width:700px){.b-application-grid{grid-template-columns:1fr}.b-booking-info{padding:22px 20px}.b-booking-info h3{font-size:21px}}
