/* Compact booking and commercial controls, including mobile. */
.extra-costs .extra-cost-group h4{font-size:14px;line-height:1.4;font-weight:600;margin:0 0 5px}
.extra-costs .extra-cost-group+.extra-cost-group{border-top:1px solid #e7d9b7;margin-top:12px;padding-top:12px}
.extra-costs .amount-row{align-items:baseline}
.extra-costs .amount-row>span{min-width:0;overflow-wrap:break-word}
.extra-costs .amount-row>strong{flex:none;white-space:nowrap;text-align:right}
.extra-costs .transport-unit>span{white-space:nowrap}
.age-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.age-grid label{min-width:0}.transport-box{margin:12px 0;padding:12px;border:1px solid #ddd5c3;border-radius:8px}.transport-box p{font-size:13px;line-height:1.4}.booking-page input:not([type=checkbox]):not([type=radio]),.booking-page select,main input:not([type=checkbox]):not([type=radio]),main select{box-sizing:border-box;min-height:38px!important;height:auto;padding:7px 10px!important;font-size:16px!important;line-height:1.35}.booking-page button,.booking-page .button,main button,main .button{min-height:36px!important;padding:7px 11px!important;line-height:1.35}.booking-page label,main label{font-size:13px;line-height:1.4;margin-bottom:5px}.booking-page textarea,main textarea{padding:8px!important;min-height:64px!important}.booking-page .field-row,main .grid{gap:10px}.booking-page .form-panel{padding:18px}input[type=checkbox],input[type=radio]{min-height:0!important;width:auto!important}.transport-box [hidden]{display:none!important}

.tour-net{background:rgba(219,158,27,.15);padding:10px 12px;border-radius:8px;margin:10px 0 6px;font-weight:700}.extra-costs{background:#faedc9;padding:12px;border-radius:10px;margin:12px 0}.extra-costs h4{margin:0 0 8px}.extra-costs .amount-row{display:flex;justify-content:space-between;gap:12px;font-size:14px;padding:5px 0}.benefits-total{border-top:1px solid #d8c597;padding:9px 0;font-weight:600}.ticket-row{display:grid;grid-template-columns:2fr 1.2fr 1fr 1fr 1.3fr auto;gap:8px;align-items:end;padding:10px;background:#f6f2e8;border-radius:8px;margin:8px 0}.ticket-row label{min-width:0}.ticket-row input,.ticket-row select{width:100%;max-width:100%}.ticket-editor>button{margin:6px 0}.eb-confirmation{grid-column:1/-1;border:1px solid #ddd5c3;border-radius:8px;padding:12px;min-width:0}.booking-page #price-summary>.extra-costs{background:#fff6df}.age-grid span{display:block;min-height:36px}@media(max-width:700px){.ticket-row{grid-template-columns:repeat(2,minmax(0,1fr))}.ticket-row label:first-child{grid-column:1/-1}.age-grid{gap:6px}.age-grid span{font-size:12px}.extra-costs .amount-row{font-size:13px}}

/* Passenger fields follow the Experience control, with compact label spacing. */
#experience-form .eis-tour-trigger,#experience-form #tour,#experience-form #guests,#experience-form #tour-language,#experience-form .age-grid input{box-sizing:border-box;height:32px!important;min-height:32px!important;padding:4px 8px!important;font-weight:400;line-height:1.2}
#experience-form .age-grid{align-items:end;column-gap:8px}
#experience-form .age-grid label{display:flex;flex-direction:column;justify-content:flex-end;gap:3px;margin:8px 0 0}
#experience-form .age-grid span{min-height:0;margin:0;line-height:1.3}
#experience-form .age-grid input{margin:0}
#age-error:empty{display:none}

#experience-form label[for="guests"],#experience-form label[for="tour-language"]{margin-top:8px;margin-bottom:3px}

#experience-form .eis-tour-trigger,#experience-form #tour,#experience-form #guests,#experience-form #tour-language,#experience-form .age-grid input{font-size:13px!important;font-weight:400;line-height:1.2}

/* Align paired controls even when a translated label wraps. */
#experience-form .field-row{align-items:end}
