/* Scoped discovery filter. The booking page is unaffected. */
.af-launcher{margin:16px 0 22px;display:flex;align-items:center;flex-wrap:wrap;gap:12px}.af-launcher>.btn{background:white}.af-applied{display:flex;align-items:center;gap:14px;font-size:12px;color:var(--navy);min-width:0}.af-applied strong{overflow-wrap:anywhere}.af-applied small{display:block;margin-top:3px}.availability-modal{width:760px!important;max-width:100%!important;max-height:calc(100dvh - 40px)!important;padding:0!important;display:flex;flex-direction:column;overflow:hidden!important;border-radius:22px}.availability-modal>.modal-head{padding:22px 26px 18px;margin:0;border-bottom:1px solid var(--line);flex-shrink:0;align-items:center}.availability-modal h2{font-size:24px}.af-form{display:flex;flex-direction:column;min-height:0;flex:1}.af-scroll{padding:0 26px 22px;overflow-y:auto;overscroll-behavior:contain;min-height:0}.af-intro{font-size:14px;color:var(--muted);margin:18px 0}.af-section{padding:22px 0;border-bottom:1px solid var(--line)}.af-section:first-of-type{padding-top:4px}.af-section-heading{display:flex;align-items:center;gap:12px;margin-bottom:18px}.af-section-icon{display:grid;place-items:center;width:38px;height:38px;background:#edf3f7;color:var(--navy);border-radius:10px;flex-shrink:0}.af-section-heading h3{font-size:17px;margin:0 0 4px}.af-section-heading p,.af-help{font-size:12px;color:var(--muted);margin:0;line-height:1.6}.af-chips{display:flex;flex-wrap:wrap;gap:8px}.af-chip{min-height:44px;padding:8px 14px;border:1px solid var(--line);border-radius:10px;color:var(--muted);background:#fff;font-size:13px;font-weight:700}.af-chip.selected{background:var(--navy);color:white;border-color:var(--navy)}.af-dates{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin:16px 0}.af-dates button{border:1px solid var(--line);border-radius:12px;min-height:68px;background:white;color:var(--navy);padding:8px 2px}.af-dates span{display:block;font-size:11px;color:var(--muted)}.af-dates strong{display:block;font-size:22px;line-height:1.4}.af-dates .selected{background:var(--orange);color:white;border-color:var(--orange)}.af-dates .selected span{color:white}.af-date-field{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:13px;font-weight:700}.af-date-field input{max-width:230px;padding:10px 12px;min-height:44px;border:1px solid var(--line);border-radius:10px;color:var(--navy);background:white}.af-modes{display:flex;padding:4px;background:#eff3f7;border-radius:12px;margin-bottom:10px}.af-modes button{flex:1;border:0;background:transparent}.af-modes .selected{background:white;color:var(--navy);box-shadow:0 2px 5px #173b5710}.af-presets{margin-top:16px}.af-presets .selected{background:#fff0e8;border-color:#f4b99e;color:var(--orange-dark)}.af-range-caption{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);margin-top:20px}.af-range-caption strong{color:var(--navy)}.af-time-fields,.af-counts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:14px}.af-time-fields label,.af-counts label{display:block;font-size:13px;font-weight:700;color:var(--navy)}.af-time-fields select{width:100%;background:white;border:1px solid var(--line);border-radius:10px;min-height:44px;padding:10px;margin-top:8px;color:var(--ink)}.af-sliders{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:14px}.af-sliders label{font-size:11px;color:var(--muted)}.af-sliders input{display:block;width:100%;accent-color:var(--orange);min-height:32px;margin:0}.af-counts{margin-top:22px}.af-stepper{display:flex;align-items:center;justify-content:space-between;border:1px solid var(--line);border-radius:10px;margin:8px 0}.af-stepper button{background:white;border:0;border-radius:10px;width:44px;height:44px;font-size:24px;color:var(--navy);flex-shrink:0}.af-stepper output{font-size:12px;color:var(--muted)}.af-stepper strong{font-size:18px;color:var(--navy);margin-right:5px}.af-stepper .icon{width:16px}.af-error{font-size:13px;color:#a13215;margin:12px 0 0}.af-error:empty{display:none}.af-town-search{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:10px;padding:0 12px;color:var(--muted)}.af-town-search input{border:0;outline:0;background:transparent;min-height:46px;width:100%;font-size:14px}.af-town-search:focus-within{outline:2px solid var(--navy);outline-offset:2px}.af-town-options{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.af-town-options label{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:10px;padding:10px 12px;font-size:13px;min-height:44px;cursor:pointer}.af-town-options label[hidden]{display:none}.af-town-options label:has(:checked){border-color:var(--navy);background:#eff5f8}.af-town-options input{accent-color:var(--navy);width:16px;height:16px}.af-summary{padding:16px;background:#f2f6f9;border:1px solid var(--line);border-radius:12px;margin-top:20px}.af-summary>span{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-weight:700}.af-summary p{font-size:13px;line-height:1.7;font-weight:700;margin:6px 0 0;color:var(--navy);overflow-wrap:anywhere}.af-demo{font-size:11px;line-height:1.5;color:var(--muted);margin:12px 0 0}.af-footer{padding:16px 26px max(16px,env(safe-area-inset-bottom));display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--line);background:white;flex-shrink:0}.af-footer>.primary{min-width:180px}.availability-modal :focus-visible{outline:2px solid #2384c9;outline-offset:2px}
@media(max-width:600px){.availability-modal{width:100%!important;max-height:calc(100dvh - 8px)!important;border-radius:20px 20px 0 0}.availability-modal>.modal-head{padding:16px 18px 12px}.availability-modal h2{font-size:21px}.af-scroll{padding:0 18px 18px}.af-footer{padding-inline:18px}.af-footer>.primary{min-width:0;flex:1}.af-section{padding-block:18px}.af-date-field{flex-wrap:wrap;gap:8px}.af-date-field input{width:100%;max-width:none;font-size:16px}.af-time-fields select,.af-town-search input{font-size:16px}.af-dates{gap:4px}.af-dates button{min-height:60px}.af-dates strong{font-size:19px}.af-dates span{font-size:10px}.af-time-fields,.af-counts,.af-sliders{gap:10px}.af-chip{padding:8px 10px;font-size:12px}.af-applied{width:100%}.af-modes .af-chip{font-size:12px}.af-stepper button{width:40px}.af-counts label{min-height:20px}}
@media(max-height:500px){.availability-modal{max-height:calc(100dvh - 16px)!important}.availability-modal>.modal-head{padding-block:8px}.af-footer{padding-block:8px}}
