/* Scoped group ages: shared website and Android WebView, no global layout resets. */
.group-age-panel{min-width:0;margin:8px 0;padding:22px;border:1px solid #c5dce5;border-radius:16px;background:#f4f9fc}
.group-age-panel legend{padding:0 7px;font-size:1.08rem;font-weight:750;color:#123f56}
.group-age-panel legend span{display:inline-block;font-size:.72rem;font-weight:600;margin-left:10px;color:#426477}
.group-age-panel>p{margin:2px 0 18px;font-size:.9rem;line-height:1.65;color:#465f70}
.group-age-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.5fr);gap:18px;align-items:start}
.group-age-fields label{min-width:0;display:flex;flex-direction:column;gap:6px;font-weight:650}
.group-age-fields label>small{font-weight:400;font-size:.8rem;line-height:1.55;color:#526777}
.group-age-fields input,.group-age-fields select{width:100%;min-width:0;min-height:48px;font-size:16px;box-sizing:border-box}
.group-age-fields .field-error{font-weight:500;font-size:.84rem}
.group-age-preview{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:18px 0 12px;padding:13px 16px;background:#fff;border:1px solid #d8e5ed;border-radius:10px}
.group-age-preview>span{font-size:.8rem;color:#526777}
.group-age-preview>strong{color:#154b65;font-size:1.12rem;overflow-wrap:anywhere}
.group-age-panel .group-age-note{font-size:.8rem;line-height:1.7;margin:0;color:#526777}
.group-age-errors{border:1px solid #d78080;border-radius:12px;padding:18px 22px;background:#fff4f3;color:#852828;margin-bottom:20px}
.group-age-errors p{margin:8px 0 0}.group-age-errors a{color:inherit;text-decoration:underline}
.group-age-label{font-weight:650;color:#174c65;overflow-wrap:anywhere}
.vacancies-age-filter{display:flex;align-items:center;gap:18px;flex-wrap:wrap;background:#fff;border:1px solid #cbdfe8;border-radius:18px;padding:22px 26px;margin:0 0 24px;box-shadow:0 6px 24px #17374d05}
.vacancies-filter-copy{flex:1;min-width:220px}.vacancies-filter-copy strong{font-size:1.05rem;color:#193e53}
.vacancies-filter-copy p{font-size:.84rem;color:#526777;line-height:1.6;margin:6px 0 0;max-width:420px}
.vacancies-age-filter label{display:flex;flex-direction:column;gap:6px;font-size:.8rem;font-weight:650;color:#314f62;width:150px;max-width:100%;min-width:0}
.vacancies-age-filter input{font-size:16px;min-height:48px;width:100%;border:1px solid #9fb9c8;border-radius:9px;padding:10px 12px;box-sizing:border-box;background:#fff;color:#173c53}
.vacancies-age-filter .button{min-height:48px;white-space:normal;text-align:center;margin-top:24px}
.vacancies-reset{display:flex;align-items:center;justify-content:center;min-height:48px;margin-top:24px;color:#285974;font-size:.9rem;text-decoration:underline;text-underline-offset:3px}
.vacancies-age-filter .field-error{flex-basis:100%;margin:0;line-height:1.6;font-size:.9rem}
.vacancies-age-filter .field-error:empty,.group-age-fields .field-error:empty{display:none}
.vacancies-results{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:20px;line-height:1.6}
.vacancies-results strong{color:#203f51;font-size:1rem}.vacancies-results>span{font-size:.85rem;color:#526777}
.vacancies-age-notice{border-left:3px solid #b6cbd7;padding:8px 14px;margin:0 0 22px;color:#526777;font-size:.87rem;line-height:1.7}
.vacancies-age-notice a{color:#235673;text-decoration:underline}
.vacancy-age{display:flex;flex-direction:column;gap:5px;margin-bottom:20px;padding:13px 16px;border-radius:12px;background:#edf5fa;color:#154b65}
.vacancy-age>span{font-size:.75rem;font-weight:500;line-height:1.45}.vacancy-age>strong{font-size:1.35rem;line-height:1.3;overflow-wrap:anywhere}
.vacancy-age--unspecified{background:#f4f5f6;color:#506171}.vacancy-age--unspecified>strong{font-size:1.04rem}
.group-booking-context{border:1px solid #c5dce5;border-radius:14px;background:#f3f9fc;padding:20px;min-width:0}
.group-booking-context h2{font-size:1.05rem;margin:0 0 8px;line-height:1.55;overflow-wrap:anywhere}
.group-booking-context p{margin:5px 0;font-size:.9rem;line-height:1.65;color:#465f70}
.group-booking-context a{display:inline-flex;align-items:center;min-height:44px;font-size:.86rem;text-decoration:underline;color:#235673}
.group-booking-context label{margin-top:12px}.group-booking-context input[type=number]{font-size:16px;min-height:48px;max-width:220px}
.group-age-panel input:focus-visible,.group-age-panel select:focus-visible,.vacancies-age-filter :focus-visible,.group-booking-context :focus-visible{outline:3px solid #247da4;outline-offset:3px}
.group-age-panel [aria-invalid=true],.vacancies-age-filter [aria-invalid=true]{border-color:#b23e3e}
@media(max-width:1000px){.group-age-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.group-age-fields label:last-child{grid-column:1/-1}.vacancies-filter-copy{flex-basis:100%}.vacancies-age-filter .button,.vacancies-reset{margin-top:24px}}
@media(max-width:600px){.group-age-panel{padding:18px 14px}.group-age-panel legend{max-width:100%;font-size:1rem}.group-age-panel legend span{display:block;margin:4px 0 0}.group-age-fields{gap:14px}.group-age-panel>p{font-size:.86rem}.vacancies-age-filter{padding:20px 18px;gap:14px}.vacancies-filter-copy{min-width:0}.vacancies-age-filter label{width:100%}.vacancies-age-filter .button{width:100%;margin-top:0}.vacancies-reset{width:100%;margin-top:0}.vacancies-results{gap:5px}.vacancy-age{margin-bottom:16px}.vacancy-age>strong{font-size:1.25rem}.group-booking-context{padding:18px 16px}}
@media(max-width:360px){.group-age-fields{grid-template-columns:minmax(0,1fr)}.group-age-fields label:last-child{grid-column:auto}}
