.booking-page{padding-top:150px;padding-bottom:80px;max-width:950px}.booking-page h1{font-size:clamp(36px,7vw,64px);margin-bottom:30px}.booking-page h2{font-size:28px}.booking-page p,.booking-page address{font:normal 17px/1.7 Arial,sans-serif}.booking-state{font-weight:700!important;color:var(--ivory,#f1ece5)}.booking-page input{width:100%}.booking-page .button{margin:8px 8px 8px 0}.event-booking-form{padding:24px;border:1px solid #39383d;margin-top:22px}.event-booking-form label{display:block;font:16px/1.6 Arial,sans-serif;margin:12px 0}.event-booking-form input:not([type=checkbox]){display:block;width:100%;padding:12px;background:#141418;color:#f5f0e9;border:1px solid #555;box-sizing:border-box}.event-booking-form input[type=checkbox]{accent-color:#b72332;margin-right:8px}.event-booking-form .form-alert{font:16px/1.6 Arial,sans-serif}.booking-table-wrap{overflow-x:auto}.booking-table{width:100%;border-collapse:collapse;font:15px/1.6 Arial,sans-serif}.booking-table th,.booking-table td{text-align:left;padding:14px;border-bottom:1px solid #39383d;vertical-align:top}.booking-table small{display:block}.booking-table button{min-width:100px}.booking-table a{color:inherit}
/* Keep booking checkbox rows independent of the site's full-width text fields. */
.event-booking-form{background:linear-gradient(135deg,#18171c,#101013);border-color:#ffffff2b;padding:28px;margin-top:28px}
.event-booking-form h3{font:600 28px/1.2 var(--serif,Georgia,serif);color:var(--ink,#f3eee7);margin:0 0 16px}
.event-booking-form label:not(.booking-check-row){font-size:16px;font-weight:500;line-height:1.5;margin:20px 0;color:#eee9ed}
.event-booking-form input:not([type=checkbox]){min-height:48px;margin-top:8px;border-color:#ffffff35;font-size:17px;line-height:1.4;padding:12px 14px;border-radius:2px}
.event-booking-form label.booking-check-row{display:grid;grid-template-columns:22px minmax(0,1fr);align-items:start;gap:13px;margin:22px 0;padding:17px 16px;border:1px solid #ffffff25;background:#ffffff03;font-size:16px;line-height:1.6;color:#eee9ed;cursor:pointer}
.event-booking-form .booking-check-row input[type=checkbox]{display:block;appearance:auto;-webkit-appearance:checkbox;width:20px;height:20px;min-width:20px;max-width:20px;min-height:0;max-height:20px;padding:0;margin:3px 0 0;box-sizing:border-box;border-radius:2px;accent-color:var(--red,#ed2438);cursor:pointer}
.event-booking-form .booking-check-row>span{display:block;min-width:0;overflow-wrap:break-word}
.event-booking-form .booking-check-row strong{display:block;font-size:16px;line-height:1.5;font-weight:600}
.event-booking-form .booking-check-row small{display:block;font-size:14px;line-height:1.6;color:#c9c3cb;margin-top:5px}
.event-booking-form .booking-check-row:has(input:checked){border-color:#ed243870;background:#ed243809}
.event-booking-form .booking-consent-row{background:transparent!important;border:0!important;padding:0!important;margin:24px 0!important}
.event-booking-form .booking-consent-row a{color:#f0d1d5;text-decoration:underline;text-underline-offset:3px}
.event-booking-form .button{width:100%;min-height:50px;justify-content:center;font-size:12px;letter-spacing:1.3px;padding:15px 18px}
.event-booking-form .button:disabled{opacity:.55;cursor:not-allowed}
.detail .event-information .event-booking-form p{font-size:16px;line-height:1.65;margin:16px 0;color:#d8d2d9}
.detail .event-information .event-booking-form .booking-field-help{font-size:14px;color:#e5c7cb}
.event-booking-form [hidden]{display:none!important}
@media(max-width:700px){.event-booking-form{padding:22px 18px}.event-booking-form label.booking-check-row{grid-template-columns:20px minmax(0,1fr);gap:12px;padding:15px 13px}.event-booking-form h3{font-size:27px}}
.booking-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.booking-tabs button{border:1px solid #ffffff35;background:#18171c;color:#ece8e2;padding:12px 18px;font:600 15px/1.3 Arial,sans-serif;cursor:pointer}.booking-tabs button[aria-pressed=true]{border-color:#b72332;background:#b7233220}.booking-account-entry{margin-top:24px;border-top:1px solid #ffffff25;padding-top:22px}.booking-account-entry h4{font:600 24px/1.3 Georgia,serif;margin:0}.event-booking-form .booking-tabs button{width:auto;min-height:44px}.booking-guests{margin:24px 0;padding:18px;border:1px solid #ffffff30;min-width:0}.booking-guests legend{padding:0 8px;font:600 20px/1.4 Georgia,serif}.booking-page label{display:block;font:16px/1.6 Arial,sans-serif;margin:16px 0}.booking-page input{box-sizing:border-box;min-width:0;padding:12px 14px;font:17px/1.4 Arial,sans-serif;background:#141418;color:#f5f0e9;border:1px solid #ffffff35}.booking-page .booking-check-row{display:grid;grid-template-columns:22px minmax(0,1fr);gap:12px;align-items:start}.booking-page .booking-check-row input[type=checkbox]{appearance:auto;width:20px;height:20px;min-height:0;margin:3px 0 0;padding:0;accent-color:#b72332}.booking-page [hidden]{display:none!important}.booking-account-card{display:flex;justify-content:space-between;gap:24px;align-items:center;border-top:1px solid #ffffff25;padding:22px 0}.booking-account-card h3{font:600 26px/1.3 Georgia,serif;margin:10px 0}.booking-account-card p{margin:8px 0}.booking-account-card .button{flex-shrink:0}.booking-page input[readonly]{opacity:.75}.booking-table td{min-width:150px}.booking-page .form-alert{overflow-wrap:anywhere}@media(max-width:700px){.booking-account-card{display:block}.booking-page{padding-top:125px}.booking-page h1{font-size:42px}.booking-tabs button{flex:1}.booking-page .header nav{flex-wrap:wrap}}
@media(min-width:701px){body:has(#app) .header nav{gap:clamp(14px,2vw,28px)}}
@media(max-width:700px){body:has(.booking-page) .header{align-items:center;gap:12px;padding:0 5%}body:has(.booking-page) .header nav{display:flex;position:static;width:auto;gap:8px 14px;flex-wrap:wrap;background:none;padding:0;border:0;justify-content:flex-end}body:has(.booking-page) .header nav a{font-size:13px}body:has(.booking-page) .header .brand .site-logo{width:140px}}

/* Two-column account fields keep the public booking form short and readable. */
.event-page .event-booking-form{margin:0;padding:22px}
.event-page .event-booking-form h3{margin:8px 0 10px;font-size:30px}
.event-page .event-booking-form p{font-size:14px;line-height:1.55;margin:10px 0;color:#d8d2d9}
.event-page .booking-account-entry{margin-top:16px;padding-top:16px}
.event-page .booking-account-entry h4{font-size:22px}
.event-page .booking-tabs{margin:12px 0}
.event-page .booking-tabs button{padding:10px 14px;font-size:14px}
.event-page .booking-contact-fields,.event-page .booking-password-fields,.event-page #event-guest-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px}
.event-page .event-booking-form label:not(.booking-check-row){font-size:14px;margin:0;min-width:0}
.event-page #event-name-label{grid-column:1/-1}
.event-page .event-booking-form input:not([type=checkbox]){font-size:16px;min-height:44px;padding:10px 12px;margin-top:6px}
.event-page .booking-password-fields{margin-top:12px}
.event-page .event-booking-form label.booking-check-row{font-size:14px;line-height:1.55;margin:14px 0;padding:12px;gap:10px}
.event-page .event-booking-form .booking-check-row strong{font-size:14px}
.event-page .event-booking-form .booking-check-row small{font-size:13px;margin-top:3px}
.event-page .event-booking-form .booking-consent-row{margin:16px 0!important}
.event-page .booking-guests{margin:16px 0;padding:14px}
.event-page .booking-guests legend{font-size:20px}
@media(max-width:900px){.event-page .booking-contact-fields,.event-page .booking-password-fields{grid-template-columns:1fr}.event-page #event-name-label{grid-column:auto}}
@media(max-width:700px){.event-page .event-booking-form{padding:18px}.event-page #event-guest-fields{grid-template-columns:1fr}.event-page .event-booking-form p{font-size:14px}}
