:root{--brand:#2563eb;--brand-2:#7c3aed;--brand-gradient:linear-gradient(135deg, var(--brand) 0%, var(--brand-2) 100%);--brand-light:#2563eb14;--brand-border:#2563eb59;--page-bg:#f0f0f2;--card-bg:#fff;--card-border:#e4e4e7;--radius:8px;--radius-sm:5px;--radius-card:12px;--font-heading:inherit;--text:#18181b;--text-muted:#71717a;--text-subtle:#a1a1aa;--input-bg:#fff;--input-border:#d4d4d8;--input-focus:var(--brand);--avail-full:var(--brand);--avail-mid:#f59e0b;--avail-low:#f59e0b;--error:#ef4444;--error-bg:#fef2f2;--error-border:#fecaca;--success:#16a34a}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px}body{background:var(--page-bg);color:var(--text);-webkit-font-smoothing:antialiased;min-height:100vh;font-family:Open Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5}input,button,select,textarea{font:inherit}.page-loading{min-height:100vh;color:var(--text-muted);justify-content:center;align-items:center;font-size:.875rem;display:flex}.page-error{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:100vh;padding:24px;display:flex}.page-error h2{color:var(--text);font-size:1.125rem}.page-error p{color:var(--text-muted);font-size:.875rem}.book-page{flex-direction:column;min-height:100vh;display:flex}.book-nav{background:var(--card-bg);border-bottom:1px solid var(--card-border);flex-shrink:0;height:60px}.book-nav-inner{justify-content:space-between;align-items:center;max-width:1320px;height:100%;margin:0 auto;padding:0 24px;display:flex}.book-nav-brand,.book-nav-logo-link{align-items:center;display:flex}.book-nav-logo{object-fit:contain;width:auto;height:30px;display:block}.book-nav-wordmark{letter-spacing:.04em;color:var(--text);font-size:1rem;font-weight:800}.book-nav-links{align-items:center;gap:24px;display:flex}.book-nav-link{color:var(--text-muted);font-size:.875rem;font-weight:500;text-decoration:none;transition:color .1s}.book-nav-link:hover{color:var(--text)}.phase-bar{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-card);align-items:center;gap:20px;padding:14px 16px;display:flex}.phase-tab{cursor:default;-webkit-user-select:none;user-select:none;align-items:center;gap:12px;display:flex}.phase-num{border:2px solid var(--card-border);width:28px;height:28px;color:var(--text-subtle);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.8125rem;font-weight:700;transition:background .15s,border-color .15s,color .15s;display:flex}.phase-tab.active .phase-num,.phase-tab.done .phase-num{background:var(--brand);border-color:var(--brand);color:#fff}.phase-info{flex-direction:column;gap:0;display:flex}.phase-label{letter-spacing:.04em;text-transform:uppercase;color:var(--text-subtle);font-size:.875rem;font-weight:700;transition:color .15s}.phase-tab.active .phase-label,.phase-tab.done .phase-label{color:var(--text)}.phase-status{letter-spacing:.06em;text-transform:uppercase;color:var(--brand);font-size:.6875rem;font-weight:600}.phase-divider{color:var(--text-subtle);font-size:1rem}.book-body{flex:1;grid-template-columns:1fr 360px;align-items:start;gap:32px;width:100%;max-width:1320px;margin:0 auto;padding:32px 24px 64px;display:grid}.book-main,#s-session-type{flex-direction:column;gap:16px;display:flex}.book-section{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-card);padding:20px 24px}.section-hd{align-items:center;gap:8px;margin-bottom:16px;display:flex}.section-hd-title{letter-spacing:.1em;text-transform:uppercase;color:var(--text);font-size:.75rem;font-weight:700}.section-hd-note{letter-spacing:.06em;text-transform:uppercase;color:var(--text-subtle);margin-left:4px;font-size:.6875rem;font-weight:500}.section-icon{width:16px;height:16px;color:var(--brand);flex-shrink:0}.location-pills{flex-wrap:wrap;gap:8px;display:flex}.location-pill{border:1px solid var(--card-border);background:var(--card-bg);cursor:pointer;letter-spacing:.04em;text-transform:uppercase;color:var(--text);border-radius:999px;align-items:center;gap:8px;padding:7px 14px;font-size:.8125rem;font-weight:600;transition:border-color .1s,background .1s;display:flex}.location-pill:hover{border-color:var(--brand-border)}.location-pill.selected{border-color:var(--brand);background:var(--brand-light);color:var(--brand)}.location-pill-badge{letter-spacing:.08em;text-transform:uppercase;background:var(--brand);color:#fff;border-radius:999px;padding:2px 6px;font-size:.625rem;font-weight:700}.session-type-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.session-type-card{border:1px solid var(--card-border);border-radius:var(--radius-card);cursor:pointer;text-align:center;background:var(--card-bg);letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);padding:28px 16px;font-size:.9375rem;font-weight:700;transition:border-color .1s,background .1s}.session-type-card:hover{border-color:var(--brand-border)}.session-type-card.selected{border-color:var(--brand);background:var(--brand-light);color:var(--brand)}.duration-grid{grid-template-columns:repeat(var(--duration-cols,4), 1fr);gap:10px;display:grid}.duration-tile{border:1px solid var(--card-border);border-radius:var(--radius-card);cursor:pointer;background:var(--card-bg);text-align:center;padding:16px 12px;transition:border-color .1s,background .1s}.duration-tile:hover{border-color:var(--brand-border)}.duration-tile.selected{border-color:var(--brand);background:var(--brand-light)}.duration-tile.selected .duration-main{color:var(--brand)}.duration-main{color:var(--text);font-size:1.25rem;font-weight:700;transition:color .1s}.duration-main sup{letter-spacing:.04em;text-transform:uppercase;vertical-align:top;margin-top:4px;font-size:.6875rem;font-weight:600;display:inline-block}.duration-sub{color:var(--text-muted);margin-top:4px;font-size:.8125rem}.sim-rows{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;display:grid}.sim-row{border:1px solid var(--card-border);border-radius:var(--radius-card);flex-direction:column;gap:12px;padding:14px 16px;display:flex}.sim-row-top{justify-content:center;align-items:center;gap:8px;display:flex}.sim-row-bottom{justify-content:center;display:flex}.sim-row-name{color:var(--text);font-size:.9375rem;font-weight:600}.sim-row-avail{color:var(--text-muted);font-size:.8125rem}.stepper{align-items:center;gap:12px;display:flex}.stepper-btn{border:1px solid var(--card-border);background:var(--card-bg);width:32px;height:32px;color:var(--text);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;font-size:1.125rem;line-height:1;transition:border-color .1s,background .1s;display:flex}.stepper-btn:hover:not(:disabled){border-color:var(--brand-border);background:var(--brand-light)}.stepper-btn:disabled{opacity:.3;cursor:not-allowed}.stepper-val{color:var(--text);text-align:center;min-width:24px;font-size:1.125rem;font-weight:700}.guest-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.guest-card{border:1px solid var(--card-border);border-radius:var(--radius-card);flex-direction:column;align-items:center;gap:12px;padding:20px 16px;display:flex}.guest-card-label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-subtle);font-size:.6875rem;font-weight:600}.addon-list{flex-direction:column;gap:10px;display:flex}.addon-row{border:1px solid var(--card-border);border-radius:var(--radius-card);cursor:pointer;background:var(--card-bg);align-items:center;gap:14px;padding:14px 16px;transition:border-color .1s,background .1s;display:flex}.addon-row:hover:not(.addon-disabled){border-color:var(--brand-border)}.addon-row.addon-selected{border-color:var(--brand);background:var(--brand-light)}.addon-row.addon-disabled{opacity:.55;cursor:not-allowed}.addon-info{flex:1;min-width:0}.addon-name{color:var(--text);font-size:.9375rem;font-weight:600}.addon-desc{color:var(--text-muted);margin-top:2px;font-size:.8125rem;line-height:1.35}.addon-lead{color:var(--text-subtle);margin-top:4px;font-size:.75rem;font-style:italic}.addon-right{flex-shrink:0;align-items:center;gap:10px;display:flex}.addon-price{color:var(--text);font-size:.9375rem;font-weight:700}.addon-check{border-radius:var(--radius-sm);border:2px solid var(--card-border);flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;transition:background .1s,border-color .1s;display:flex}.addon-row.addon-selected .addon-check{background:var(--brand);border-color:var(--brand);color:#fff}.addon-qty-ctrl{align-items:center;gap:8px;display:flex}.addon-qty-btn{border:1px solid var(--card-border);background:var(--card-bg);width:28px;height:28px;color:var(--text);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;font-size:1rem;transition:border-color .1s;display:flex}.addon-qty-btn:hover:not(:disabled){border-color:var(--brand-border)}.addon-qty-btn:disabled{opacity:.3;cursor:not-allowed}.addon-qty-val{text-align:center;min-width:20px;font-size:.9375rem;font-weight:700}.date-strip{grid-template-columns:repeat(var(--date-cols,9), 1fr);gap:8px;display:grid}.date-card{border:1px solid var(--card-border);border-radius:var(--radius-card);cursor:pointer;text-align:center;background:var(--card-bg);flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:10px 8px;transition:border-color .1s,background .1s;display:flex}.date-card:hover:not(.date-disabled){border-color:var(--brand-border)}.date-card.date-selected{border-color:var(--brand);background:var(--brand-light)}.date-card.date-disabled{opacity:.4;cursor:not-allowed}.date-card.date-more{color:var(--text-muted);gap:4px}.date-card-day{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-size:.625rem;font-weight:700}.date-card.date-selected .date-card-day{color:var(--brand)}.date-card-num{color:var(--text);font-size:1.5rem;font-weight:800;line-height:1}.date-card.date-selected .date-card-num{color:var(--brand)}.date-card-month{letter-spacing:.06em;text-transform:uppercase;color:var(--text-subtle);font-size:.625rem;font-weight:600}.date-card.date-selected .date-card-month{color:var(--brand)}.date-more-icon{color:var(--text-muted)}.date-more-label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);font-size:.5625rem;font-weight:700}.date-event-dot{background:var(--brand);border-radius:50%;flex-shrink:0;width:5px;height:5px;margin-top:2px;display:block}.date-card.date-selected .date-event-dot{background:var(--brand)}.event-banner{border:1px solid var(--brand-border);border-radius:var(--radius-card);background:var(--brand-light);justify-content:space-between;align-items:center;gap:12px;margin-top:10px;padding:10px 14px;display:flex}.event-banner-body{flex-wrap:wrap;align-items:center;gap:6px 10px;min-width:0;display:flex}.event-banner-label{letter-spacing:.08em;text-transform:uppercase;color:var(--brand);flex-shrink:0;font-size:.625rem;font-weight:700}.event-banner-name{color:var(--text);font-size:.875rem;font-weight:600}.event-banner-time{color:var(--text-muted);font-size:.8125rem}.event-banner-price{color:var(--text);font-size:.8125rem;font-weight:600}.event-banner-cta{color:var(--brand);white-space:nowrap;flex-shrink:0;font-size:.8125rem;font-weight:600;text-decoration:none}.event-banner-cta:hover{text-decoration:underline}.rsvp-type-grid{flex-direction:column;gap:8px;display:flex}.rsvp-type-card{border:1px solid var(--card-border);border-radius:var(--radius-card);background:var(--card-bg);cursor:pointer;text-align:left;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;transition:border-color .1s,background .1s;display:flex}.rsvp-type-card:hover{border-color:var(--brand-border)}.rsvp-type-card.selected{border-color:var(--brand);background:var(--brand-light)}.rsvp-type-name{color:var(--text);font-size:.9375rem;font-weight:600}.rsvp-type-price{color:var(--brand);flex-shrink:0;font-size:.875rem;font-weight:600}.rsvp-type-card.selected .rsvp-type-price{color:var(--brand)}.rsvp-fields{flex-direction:column;gap:14px;display:flex}.rsvp-field{flex-direction:column;gap:5px;display:flex}.rsvp-field-label{color:var(--text-muted);font-size:.8125rem;font-weight:500}.rsvp-field-input{border:1px solid var(--input-border);border-radius:var(--radius);background:var(--input-bg);color:var(--text);width:100%;padding:10px 12px;font-size:.9375rem;transition:border-color .1s}.rsvp-field-input:focus{border-color:var(--input-focus);outline:none}.rsvp-capacity-note{color:var(--avail-mid);margin-bottom:14px;font-size:.8125rem;font-weight:500}.rsvp-error{border-radius:var(--radius);background:var(--error-bg);border:1px solid var(--error-border);color:var(--error);margin-top:12px;padding:10px 14px;font-size:.875rem}.rsvp-sold-out{color:var(--text-muted);padding:8px 0;font-size:.9375rem;font-weight:500}.rsvp-confirmation{flex-direction:column;align-items:flex-start;gap:10px;display:flex}.rsvp-confirm-check{width:48px;height:48px;color:var(--success);background:#22c55e1f;border:1.5px solid #22c55e66;border-radius:50%;justify-content:center;align-items:center;margin-bottom:4px;font-size:1.25rem;display:flex}.rsvp-confirm-title{color:var(--text);letter-spacing:-.02em;font-size:1.375rem;font-weight:800}.rsvp-confirm-msg{color:var(--text-muted);font-size:.9375rem;line-height:1.5}.rsvp-confirm-ref{color:var(--text-subtle);font-size:.8125rem}.rsvp-confirm-ref code{background:var(--page-bg);color:var(--text-muted);border-radius:4px;padding:1px 6px;font-family:monospace}.rsvp-confirm-back{color:var(--brand);margin-top:6px;font-size:.875rem;font-weight:500;text-decoration:none}.rsvp-confirm-back:hover{text-decoration:underline}.slot-grid{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.slot-card{border:1px solid var(--card-border);border-radius:var(--radius-card);cursor:pointer;background:var(--card-bg);padding:12px 10px 10px;transition:border-color .1s,background .1s;container:slot-card/inline-size}.slot-card:hover{border-color:var(--brand-border)}.slot-card.slot-selected{border-color:var(--brand);background:var(--brand-light)}.slot-time{color:var(--text);font-size:1rem;font-weight:700}.slot-card.slot-selected .slot-time{color:var(--brand)}.slot-status{letter-spacing:.06em;text-transform:uppercase;color:var(--text-subtle);margin-top:2px;font-size:.6875rem;font-weight:600}.slot-avail{flex-direction:column;gap:3px;margin-top:8px;display:flex}.slot-avail-row{align-items:center;gap:3px;display:flex}.slot-avail-label{letter-spacing:.04em;text-transform:uppercase;color:var(--text-subtle);text-align:right;flex-shrink:0;width:44px;font-size:.5625rem;font-weight:600}.tier-dash,.tier-dot{align-items:center;gap:3px;display:flex}[data-tier=dash] .tier-dot,[data-tier=dash] .tier-num,[data-tier=dot] .tier-dash,[data-tier=dot] .tier-num,[data-tier=num] .tier-dash,[data-tier=num] .tier-dot{display:none}.sim-dash{background:var(--avail-full);border-radius:2px;flex-shrink:0;width:20px;height:3px}.sim-dash.mid{background:var(--avail-mid)}.sim-dash.low{background:var(--avail-low)}.sim-dash.gone{background:var(--card-border)}.sim-dot{background:var(--avail-full);border-radius:50%;flex-shrink:0;width:8px;height:8px}.sim-dot.mid{background:var(--avail-mid)}.sim-dot.low{background:var(--avail-low)}.sim-dot.gone{background:var(--card-border)}.tier-num{display:inline}.slot-avail-num{color:var(--text-subtle);font-size:.6875rem;font-weight:600}.slot-avail-num.mid{color:var(--avail-mid)}.slot-avail-num.low{color:var(--avail-low)}@container slot-card (width<=175px){[data-tier=dash] .tier-dash{display:none}[data-tier=dash] .tier-dot{display:flex}}@container slot-card (width<=115px){[data-tier=dash] .tier-dot,[data-tier=dot] .tier-dot{display:none}[data-tier=dash] .tier-num,[data-tier=dot] .tier-num{display:inline}}.slots-loading{text-align:center;color:var(--text-muted);padding:24px 0;font-size:.875rem}.slots-empty{text-align:center;color:var(--text-muted);padding:24px 0;font-size:.875rem;line-height:1.6}.slots-empty a{color:var(--brand)}.book-ticket{flex-direction:column;gap:12px;display:flex;position:sticky;top:24px}.race-ticket{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-card);overflow:hidden}.ticket-bar{background:var(--brand-gradient);height:6px}.ticket-body{padding:20px 20px 0}.ticket-heading{letter-spacing:.04em;text-transform:uppercase;color:var(--text);font-size:1.25rem;font-weight:800}.ticket-address{color:var(--text-muted);align-items:center;gap:5px;margin-top:4px;font-size:.8125rem;display:flex}.ticket-divider{border:none;border-top:1px dashed var(--card-border);margin:14px 0}.ticket-lines{flex-direction:column;gap:6px;min-height:24px;display:flex}.ticket-line{justify-content:space-between;align-items:baseline;gap:8px;font-size:.875rem;display:flex}.ticket-line-name{color:var(--text-muted)}.ticket-line-price{color:var(--text);flex-shrink:0;font-weight:600}.ticket-total-label{letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin-top:14px;font-size:.6875rem;font-weight:700}.ticket-total{color:var(--text);margin-top:2px;font-size:2rem;font-weight:800;line-height:1.1}.ticket-meta{flex-direction:column;gap:6px;margin-top:14px;display:flex}.ticket-meta-row{color:var(--text-muted);align-items:center;gap:8px;font-size:.875rem;display:flex}.ticket-meta-row svg{color:var(--text-subtle);flex-shrink:0}.ticket-meta-row.has-value{color:var(--text)}.ticket-tiles{grid-template-columns:1fr 1fr;gap:8px;margin-top:14px;display:grid}.ticket-tile{background:var(--page-bg);border-radius:var(--radius-sm);padding:10px 12px}.ticket-tile-label{letter-spacing:.1em;text-transform:uppercase;color:var(--text-subtle);font-size:.5625rem;font-weight:700}.ticket-tile-value{color:var(--text);margin-top:2px;font-size:.9375rem;font-weight:700}.ticket-footer{padding:14px 20px 16px}.btn-brand{border-radius:var(--radius);background:var(--brand-gradient);color:#fff;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;border:none;justify-content:center;align-items:center;gap:8px;width:100%;padding:14px 20px;font-size:.8125rem;font-weight:700;transition:opacity .15s;display:flex}.btn-brand:hover:not(:disabled){opacity:.92}.btn-brand:disabled{opacity:.5;cursor:not-allowed}.btn-back{border:1px solid var(--card-border);border-radius:var(--radius);color:var(--text-muted);cursor:pointer;background:0 0;align-items:center;gap:6px;padding:10px 16px;font-size:.8125rem;font-weight:600;transition:border-color .1s,color .1s;display:flex}.btn-back:hover{border-color:var(--brand-border);color:var(--text)}.ticket-cta-row{align-items:center;gap:8px;display:flex}.ticket-cta-row .btn-back{flex-shrink:0}.ticket-cta-row .btn-brand{flex:1}.ticket-confirm{letter-spacing:.06em;text-transform:uppercase;color:var(--text-subtle);justify-content:center;align-items:center;gap:6px;margin-top:10px;font-size:.6875rem;font-weight:600;display:flex}.contact-form{flex-direction:column;gap:12px;display:flex}.form-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.field{flex-direction:column;gap:0;display:flex}.field input,.field textarea{background:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--radius-sm);color:var(--text);width:100%;padding:10px 14px;font-size:.9375rem;transition:border-color .1s}.field input::placeholder,.field textarea::placeholder{color:var(--text-subtle)}.field input:focus,.field textarea:focus{border-color:var(--input-focus);outline:none}.field textarea{resize:vertical;min-height:80px}.driver-details-intro{color:var(--text-muted);margin-bottom:16px;font-size:.875rem;line-height:1.55}.driver-list{flex-direction:column;gap:10px;display:flex}.driver-card{border:1px solid var(--card-border);border-radius:var(--radius-card);padding:14px 16px}.driver-card-hd{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.driver-card-label{color:var(--text);font-size:.8125rem;font-weight:600}.driver-remove{color:var(--error);cursor:pointer;text-underline-offset:2px;background:0 0;border:none;padding:0;font-size:.8125rem;text-decoration:underline}.driver-fields{grid-template-columns:1fr 1fr 1fr;gap:10px;display:grid}.btn-add-driver{border:1px solid var(--brand-border);color:var(--brand);cursor:pointer;background:0 0;border-radius:999px;align-self:flex-end;align-items:center;gap:6px;margin-top:12px;padding:7px 16px;font-size:.8125rem;font-weight:600;transition:background .1s;display:flex}.btn-add-driver:hover{background:var(--brand-light)}.modal-overlay{z-index:100;background:#0006;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal-overlay.hidden{display:none}.modal-card{background:var(--card-bg);border-radius:var(--radius-card);width:100%;max-width:360px;padding:24px;box-shadow:0 20px 60px #0000004d}.modal-hd{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.modal-title{color:var(--text);font-size:1rem;font-weight:700}.modal-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:4px;font-size:1.25rem;line-height:1}.cal-nav{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.cal-month-label{color:var(--text);font-size:.9375rem;font-weight:700}.cal-nav-btn{border:1px solid var(--card-border);border-radius:var(--radius-sm);cursor:pointer;width:30px;height:30px;color:var(--text-muted);background:0 0;justify-content:center;align-items:center;font-size:1rem;transition:border-color .1s;display:flex}.cal-nav-btn:hover:not(:disabled){border-color:var(--brand-border)}.cal-nav-btn:disabled{opacity:.3;cursor:not-allowed}.cal-grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.cal-dow{color:var(--text-subtle);text-align:center;letter-spacing:.04em;padding:4px 0 6px;font-size:.625rem;font-weight:600}.cal-day{aspect-ratio:1;border-radius:var(--radius-sm);color:var(--text);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;font-size:.8125rem;transition:background .1s;display:flex}.cal-day:hover:not(:disabled){background:var(--brand-light)}.cal-day.today{color:var(--brand);font-weight:700}.cal-day.selected{background:var(--brand);color:#fff;font-weight:700}.cal-day.selected:hover{background:var(--brand)}.cal-day:disabled{opacity:.3;cursor:not-allowed}.cal-day.has-event{position:relative}.cal-event-dot{background:var(--brand);border-radius:50%;width:4px;height:4px;display:block;position:absolute;bottom:3px;left:50%;transform:translate(-50%)}.cal-day.selected .cal-event-dot{background:#fffc}.promo-input-row{align-items:flex-start;gap:10px;display:flex}.promo-apply-btn{background:var(--brand-light);height:44px;color:var(--brand);border:1px solid var(--brand-border);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;flex-shrink:0;padding:0 18px;font-size:.875rem;font-weight:600;transition:background .15s,border-color .15s}.promo-apply-btn:hover:not(:disabled){background:var(--brand);color:#fff;border-color:var(--brand)}.promo-apply-btn:disabled{opacity:.5;cursor:not-allowed}.promo-applied-row{background:var(--success-bg,#16a34a14);border:1px solid var(--success,#16a34a);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex}.promo-applied-info{flex-direction:column;gap:2px;display:flex}.promo-applied-code{color:var(--success,#16a34a);letter-spacing:.04em;font-size:.9375rem;font-weight:700}.promo-applied-desc{color:var(--text-muted);font-size:.8125rem}.promo-remove-btn{color:var(--text-subtle);cursor:pointer;text-underline-offset:2px;background:0 0;border:none;flex-shrink:0;font-size:.8125rem;text-decoration:underline}.promo-remove-btn:hover{color:var(--error)}.alert-error{background:var(--error-bg);border:1px solid var(--error-border);color:var(--error);border-radius:var(--radius-sm);padding:10px 14px;font-size:.875rem;line-height:1.4}.ticket-promo-section{padding:10px 0 4px}.ticket-promo-input-row{align-items:center;gap:8px;display:flex}.ticket-promo-input{border:1px solid var(--input-border);border-radius:var(--radius-sm);background:var(--input-bg);text-transform:uppercase;letter-spacing:.04em;flex:1;height:38px;padding:0 10px;font-size:.8125rem}.ticket-promo-input:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-light);outline:none}.ticket-promo-section .promo-apply-btn{height:38px;padding:0 14px;font-size:.8125rem}.ticket-promo-applied{border-radius:var(--radius-sm);background:#16a34a14;border:1px solid #16a34a59;justify-content:space-between;align-items:center;padding:8px 10px;display:flex}.ticket-promo-applied-info{flex-direction:column;gap:1px;display:flex}.ticket-promo-code{letter-spacing:.04em;color:var(--success);font-size:.8125rem;font-weight:700}.ticket-promo-desc{color:var(--text-muted);font-size:.75rem}.ticket-promo-remove{cursor:pointer;color:var(--text-muted);background:0 0;border:none;padding:2px 4px;font-size:.875rem;line-height:1}.ticket-promo-remove:hover{color:var(--error)}.ticket-promo-error{color:var(--error);margin-top:6px;font-size:.75rem}#ticket-payment .book-section{background:var(--card-bg);border-top:1px solid var(--card-border);border-radius:0 0 var(--radius) var(--radius);margin:0;padding:14px 20px 16px}#ticket-payment .book-section .section-hd{margin-bottom:12px}.stripe-card-element{border:1px solid var(--input-border);border-radius:var(--radius-sm);background:var(--input-bg);padding:12px 14px;transition:border-color .15s}.stripe-card-element.StripeElement--focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-light);outline:none}.stripe-card-element.StripeElement--invalid{border-color:var(--error)}.payment-card-wrap{flex-direction:column;gap:10px;display:flex}.payment-loading{color:var(--text-muted);padding:12px 0;font-size:.875rem}.payment-error{color:var(--error);background:var(--error-bg);border:1px solid var(--error-border);border-radius:var(--radius-sm);padding:8px 12px;font-size:.8125rem}.payment-deposit-note{color:var(--text-muted);margin-bottom:14px;font-size:.875rem;line-height:1.5}.payment-secure-note{color:var(--text-subtle);align-items:center;gap:5px;font-size:.75rem;display:flex}@media (width<=768px){.book-nav-inner{padding:0 16px}.phase-bar{display:none}.book-body{grid-template-columns:1fr;gap:0;padding:16px 12px 80px}.book-ticket{z-index:50;position:fixed;bottom:0;left:0;right:0}.race-ticket{border-radius:var(--radius) var(--radius) 0 0;border-bottom:none}.ticket-body{display:none}.ticket-bar{height:4px}.session-type-grid,.driver-fields,.form-row,.guest-grid{grid-template-columns:1fr}}.book-nav-wordmark,.phase-label,.phase-num,.section-hd-title,.session-type-card,.duration-main,.date-card-day,.date-card-num,.slot-time,.slot-price,.guest-card-label,.addon-price,.event-banner-label,.rsvp-confirm-title,.ticket-heading,.ticket-total-label,.ticket-total,.ticket-tile-label,.ticket-tile-value,.ticket-promo-code,.promo-applied-code,.modal-title,.cal-month-label,.btn-brand,h1,h2,h3,h4,h5,h6{font-family:var(--font-heading)}
