/* Booking section on /book, built inside the shared service-page template. */
.ignite-booking{position:relative;z-index:4;box-sizing:border-box;width:100%;max-width:1200px;margin:0 auto;padding:40px 64px 120px;color:#fffff0;font:16px/1.65 Inter,Arial,sans-serif;scroll-margin-top:80px}
.ignite-booking *{box-sizing:border-box}
.ignite-booking h2{font:600 clamp(32px,5vw,52px)/1.1 Inter,Arial,sans-serif;letter-spacing:-.04em;text-transform:uppercase;margin:0 0 32px}
.booking-choices{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:0 0 56px}
.booking-choice{display:grid;grid-template-columns:1fr auto;gap:6px 16px;min-height:44px;padding:24px 28px;border:1px solid #99645e;color:#fffff0!important;text-decoration:none;transition:background-color .2s,color .2s}
.booking-choice-name{font:600 22px/1.3 Inter,Arial,sans-serif;letter-spacing:-.02em}
.booking-choice-price{font:600 16px/1.6 Inter,Arial,sans-serif;white-space:nowrap}
.booking-choice-text{grid-column:1/-1;color:#eee1d2;font-size:15px;line-height:1.55}
.booking-choice:hover{background:#611414}
.booking-choice[aria-current]{background:#fffff0;color:#4a0202!important;border-color:#fffff0}
.booking-choice[aria-current] .booking-choice-text{color:#6c3e37}
.booking-choice:focus-visible{outline:3px solid #d8c7b7;outline-offset:4px}
.booking-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:64px;align-items:start}
.booking-eyebrow{margin:0 0 12px;font:600 14px/1.5 Inter,Arial,sans-serif;letter-spacing:.12em;color:#d8c7b7}
.booking-details h3{font:600 clamp(26px,3vw,34px)/1.2 Inter,Arial,sans-serif;letter-spacing:-.03em;margin:0 0 16px}
.booking-details p,.booking-details li{color:#eee1d2;margin:0 0 16px}
#session-outcomes{padding-left:20px;margin:20px 0 24px}
#session-outcomes li{margin-bottom:8px}
.booking-note{border-left:3px solid #d8c7b7;padding-left:14px}
.booking-steps{list-style:none;counter-reset:step;padding:0;margin:32px 0 0;border-top:1px solid #99645e}
.booking-steps li{counter-increment:step;display:grid;grid-template-columns:44px 1fr;margin:0;padding:16px 0;border-bottom:1px solid #99645e}
.booking-steps li::before{content:counter(step,decimal-leading-zero);font:600 14px/1.65 Inter,Arial,sans-serif;color:#d8c7b7}
.booking-steps strong{color:#fffff0;font-weight:600}
.booking-panel{background:#fffff0;color:#4a0202;padding:40px}
.booking-panel h3{font:600 28px/1.2 Inter,Arial,sans-serif;letter-spacing:-.03em;margin:0 0 28px}
.booking-panel label{display:block;margin:0 0 24px;font:500 14px/1.5 Inter,Arial,sans-serif;color:#4a0202}
.booking-panel .optional{font-weight:400;color:#6c3e37}
.booking-panel input:not([type="checkbox"]),.booking-panel textarea{display:block;width:100%;margin-top:6px;padding:10px 0;border:0;border-bottom:1px solid #4a0202;border-radius:0;background:transparent;color:#4a0202;font:16px/1.5 Inter,Arial,sans-serif;-webkit-appearance:none;appearance:none}
.booking-panel textarea{resize:vertical;min-height:110px}
.booking-panel input:focus-visible,.booking-panel textarea:focus-visible{outline:none;box-shadow:0 2px 0 #4a0202}
.booking-panel .date-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.booking-panel .consent{display:flex;gap:12px;align-items:flex-start;font-weight:400;line-height:1.6}
.booking-panel .consent input{width:20px;height:20px;margin:2px 0 0;flex-shrink:0;accent-color:#4a0202}
.booking-panel button[type="submit"]{display:block;width:100%;margin-top:8px;padding:16px 24px;border:0;border-radius:999px;background:#4a0202;color:#fffff0;font:600 16px/1.4 Inter,Arial,sans-serif;cursor:pointer;transition:background-color .2s}
.booking-panel button[type="submit"]:hover{background:#611414}
.booking-panel button[type="submit"]:disabled{opacity:.6;cursor:wait}
.booking-panel button[type="submit"]:focus-visible{outline:3px solid #4a0202;outline-offset:4px}
.booking-panel a{color:inherit}
@media(max-width:809px){
 .ignite-booking{padding:24px 24px 72px}
 .booking-choices{grid-template-columns:1fr;margin-bottom:40px}
 .booking-choice{padding:20px}
 .booking-layout{grid-template-columns:1fr;gap:40px}
 .booking-panel{padding:28px 20px}
 .booking-panel .date-row{grid-template-columns:1fr;gap:0}
 .booking-panel input:not([type="checkbox"]),.booking-panel textarea{border-radius:0!important;padding:10px 0!important}
}
@media(prefers-reduced-motion:reduce){.booking-choice,.booking-panel button[type="submit"]{transition:none}}

/* Shared 404 page links. */
.ignite-not-found{position:relative;z-index:4;box-sizing:border-box;width:100%;max-width:1200px;margin:0 auto;padding:0 64px 120px;color:#fffff0;font:16px/1.65 Inter,Arial,sans-serif;text-align:center}
.ignite-not-found ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:12px}
.ignite-not-found a{display:inline-flex;align-items:center;min-height:44px;padding:10px 20px;border:1px solid #99645e;color:#fffff0;text-decoration:none;transition:background-color .2s}
.ignite-not-found a:hover{background:#611414}
.ignite-not-found a:focus-visible{outline:3px solid #d8c7b7;outline-offset:4px}
@media(max-width:809px){.ignite-not-found{padding:0 24px 72px}}

/* Legal pages (privacy policy). */
.ignite-legal{position:relative;z-index:4;box-sizing:border-box;width:100%;max-width:780px;margin:0 auto;padding:40px 24px 120px;color:#fffff0;font:17px/1.7 Inter,Arial,sans-serif}
.ignite-legal h2{font:600 24px/1.3 Inter,Arial,sans-serif;letter-spacing:-.02em;margin:44px 0 12px}
.ignite-legal p,.ignite-legal li{color:#eee1d2;margin:0 0 14px}
.ignite-legal ul{padding-left:20px;margin:0 0 16px}
.ignite-legal strong{color:#fffff0;font-weight:600}
.ignite-legal a{color:#fffff0;text-decoration:underline;text-underline-offset:3px}
.ignite-legal a:focus-visible{outline:2px solid #d8c7b7;outline-offset:3px}
@media(max-width:809px){.ignite-legal{padding:24px 24px 72px;font-size:16px}.ignite-legal h2{font-size:21px;margin-top:36px}}
