.abt{--abt-accent:var(--bde-button-primary-background-color,#173e36);--abt-button-text:var(--bde-button-primary-text-color,#fff);--abt-border:currentColor;font-family:inherit;font-size:inherit;line-height:1.5;width:100%;min-width:0}
.abt *{box-sizing:border-box}
.abt form{display:grid;gap:.75rem;width:100%;margin:0}
.abt label{display:block;font-weight:600;margin:0}
.abt select,.abt input[type=number]{width:100%;max-width:100%;min-width:0;min-height:48px;border:1px solid var(--abt-border);border-radius:0;padding:.65rem .8rem;font:inherit;color:inherit;background:transparent}
.abt option{color:#222;background:#fff}
.abt input[type=number]{max-width:9rem}
.abt .abt-button{display:inline-flex;align-items:center;justify-content:center;justify-self:start;gap:.5em;min-height:44px;padding:var(--bde-button-padding-base,.75em 1.2em);border:1px solid var(--bde-button-primary-border-color,var(--abt-accent));border-radius:0;background:var(--abt-accent);color:var(--abt-button-text);font:inherit;font-weight:600;line-height:1.25;text-decoration:none;cursor:pointer;margin:0}
.abt .abt-button:hover{background:var(--bde-button-primary-background-color-hover,var(--abt-accent));color:var(--bde-button-primary-text-color-hover,var(--abt-button-text));filter:brightness(.94)}
.abt :is(a,button,input,select):focus-visible{outline:3px solid currentColor;outline-offset:3px}
.abt .abt-table-wrap{width:100%;overflow-x:auto}
.abt table{width:100%;border-collapse:collapse;font:inherit;background:transparent;border:0;margin:0;text-align:left}
.abt th,.abt td{padding:.85rem .6rem;border:0;border-bottom:1px solid color-mix(in srgb,currentColor 25%,transparent);background:transparent;text-align:left;vertical-align:middle}
.abt thead th{font-weight:700}
.abt tbody th{font-weight:500}
.abt .abt-spaces{display:inline-block;font-size:.85em;margin:.3em 0 .3em .3em;white-space:nowrap}
.abt .abt-ticket{border:1px solid color-mix(in srgb,currentColor 30%,transparent);padding:clamp(1rem,3vw,2rem);margin:1.5rem 0}
.abt .abt-ticket h3{font-size:1.25em;margin:0 0 .5em}
.abt .abt-message{padding:1rem;border:1px solid currentColor;background:color-mix(in srgb,currentColor 5%,transparent)}
.abt .abt-error{border-left-width:4px}
.abt .abt-capacity-error{margin:0}
.abt .abt-capacity-error[hidden]{display:none}
.abt input[aria-invalid=true]{border-color:#b42318}
.abt .abt-sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:600px){.abt table{font-size:.875em}.abt th,.abt td{padding:.6rem .35rem}.abt .abt-button{padding:.6em .8em}.abt td .abt-spaces{display:block;margin:.3em 0 0}.abt .abt-booking-form .abt-button{width:100%}}
