@font-face{font-family:Family;src:url('/assets/body.ttf') format('truetype');font-display:swap}
*{box-sizing:border-box}body{margin:0;font-family:Family,Arial,sans-serif;background:#f7faf9;color:#193745}button,a,input,select{-webkit-tap-highlight-color:transparent}button{font-family:inherit}a{color:#17634f}
.booking-dialog{width:100%;height:100dvh;max-width:100%;max-height:100dvh;border:0;border-radius:0;margin:0;background:#f7faf9;color:#193745;box-shadow:none}.booking-dialog::backdrop{background:#f7faf9}.booking-shell{max-width:730px;margin:auto;padding:28px 28px 40px}.booking-header h2{font-family:Georgia,serif;font-weight:400;color:#193745}.booking-header .eyebrow{color:#76624c}.booking-header p,.booking-help,.booking-result-note,.booking-contact-link{color:#53656b}.booking-dialog .booking-primary{background:#17634f;font-size:15px}.booking-dialog .booking-primary:hover{background:#104d3d}.booking-progress li.active{border-color:#17634f;color:#17634f}.booking-summary{background:#eaf2ef;border-color:#c9dad3}.booking-summary dt,.booking-summary .booking-total,.booking-summary .booking-deposit{color:#244f45}.booking-close{background:#e7eeeb;color:#193745}.booking-quick button{border-radius:10px;background:#edf4f0;color:#17634f}.booking-secondary,.booking-back{color:#17634f;font-size:14px}.booking-dialog input,.booking-dialog select{font-size:16px}.booking-help,.booking-summary p,.booking-consent,.booking-result-note,.booking-contact-link,.booking-payment-title{font-size:14px!important}.booking-bank-choices small{font-size:12px}.booking-bank-details dt,.booking-reference,.booking-toast{font-size:13px}.booking-copy-row button{font-size:14px}.booking-progress{font-size:13px;line-height:1.5}.booking-quick button{font-size:14px;min-height:44px}.booking-bank-choices label:has(input:checked){border-color:#17634f;background:#eaf2ef}.booking-dialog input{accent-color:#17634f}.coach{background:#eef4f2;border-color:#b3c9c0}.coach-seat.chosen{background:#17634f;border-color:#104d3d}.coach-seat small{font-size:12px}.coach-seat strong{font-size:17px}.coach-seat{min-height:56px}.seat-feedback,.seat-legend{font-size:13px;line-height:1.6}.coach-front{font-size:14px}.coach-front span,.coach-door{font-size:12px}.booking-summary dd{overflow-wrap:anywhere}.booking-bank-details .booking-iban{font-size:15px}.vienna-preferences{font-size:14px;line-height:1.6;margin:18px 0}.vienna-preferences summary{cursor:pointer;min-height:44px;padding-block:10px}.vienna-preferences label{display:flex;align-items:center;gap:12px;margin-top:10px}.vienna-preferences input{width:20px;min-height:20px;margin:0;flex:0 0 20px}
@media(max-width:480px){.booking-shell{padding:24px 16px 35px}.booking-progress{font-size:12px}.booking-quick{display:grid;grid-template-columns:1fr}.booking-quick button{text-align:left;padding:12px}.booking-dialog .booking-primary{font-size:15px}.booking-counts,.booking-ages{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-stepper button{flex-basis:38px}.booking-bank-choices{grid-template-columns:1fr}.booking-summary dl{grid-template-columns:minmax(0,1fr) minmax(80px,auto);font-size:14px}.coach{padding-inline:8px}.coach-grid{gap:8px 5px;grid-template-columns:repeat(2,minmax(0,1fr)) 24px repeat(2,minmax(0,1fr))}.coach-seat small{font-size:12px}.coach-seat{min-height:56px}.booking-actions .booking-back{flex:1 0 100%}}
@media print{.booking-dialog{height:auto;max-height:none;overflow:visible}.booking-shell{padding:0}.booking-close{display:none}}

.is-embedded .booking-close{display:none}

.booking-actions{position:sticky;bottom:0;z-index:1;background:#f7faf9;padding:12px 0;margin-bottom:0;border-top:1px solid #d9e4e1}.booking-actions .booking-back{flex:0 1 auto}.booking-progress li{font-size:14px}.booking-summary{margin-bottom:12px}
