/* A search tool: familiar controls, one primary action, quiet supporting text. */
.intro{padding:22px 0 20px;align-items:center}
.intro h1{font-family:inherit;font-size:26px;font-weight:700;letter-spacing:0;line-height:1.5}
.intro p{font-size:14px;line-height:1.75;margin-top:6px;max-width:39em}
.data-note{font-size:12px;line-height:1.7}
.result-heading h2{font-family:inherit;font-size:20px;font-weight:700}
#conditions #intents{display:block;border:0;border-radius:0;padding:0;margin:0;background:none;overflow:visible;min-width:0}
#intents legend{font-size:14px;font-weight:600;margin:0 0 6px;padding:0}
#conditions #intents .intent-choice{display:flex;align-items:center;gap:10px;min-height:44px;padding:8px 10px;margin:0;border:0;border-bottom:1px solid var(--line);font-size:14px;font-weight:400;line-height:1.6;cursor:pointer;border-radius:0}
#intents .intent-choice:first-of-type{border-top:1px solid var(--line)}
#intents .intent-choice:has(input:checked){background:var(--wash);font-weight:600!important}
#intents .intent-choice:hover{background:var(--wash)}
#intents input{width:18px;height:18px;flex-shrink:0;margin:0;accent-color:var(--accent)}
#intents .intent-choice:focus-within{outline:2px solid var(--accent);outline-offset:2px;position:relative}
#conditions #intent-help{font-size:13px;margin:8px 0 16px;line-height:1.7}
#conditions #open-films{border-color:var(--line);color:var(--text);font-size:15px;font-weight:600;background:var(--panel);border-radius:6px;min-height:48px}
#open-films:after{content:'›';font-size:22px;font-weight:400;color:var(--muted)}
#filterCount{margin-left:auto;white-space:normal;text-align:right;font-size:12px;line-height:1.5;max-width:46%}
#conditions #film-step .catalog-entry{border:1px solid var(--line);background:transparent;padding:10px 12px;margin:0 0 12px;min-height:64px;border-radius:6px}
.catalog-entry strong{font-size:14px;font-weight:600}
.catalog-entry small{font-size:12px;line-height:1.7;margin-top:2px}
#conditions .time-window-help{font-size:12px;line-height:1.7;margin:8px 0 0}
#conditions #view-results{font-size:16px;font-weight:600;min-height:48px;border-radius:6px}
#conditions #advanced>summary{font-size:14px}
#conditions .check{cursor:pointer}
#conditions .check:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}
#conditions button:hover{border-color:var(--accent)}
.trip-summary #capture-plan{border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:6px}
.setup-intro{font-size:14px;color:var(--muted);line-height:1.7;margin:0 0 16px}
.search-example{border-top:0}
.screening-action-buttons button{border-radius:6px}
#film-picker,#catalog-dialog,#screen-picker,#replacement-dialog{border-radius:8px}
.picker-footer button{border-radius:6px}
@media(max-width:740px){
 .intro{padding:20px 0 18px}
 .intro h1{font-size:24px}
 .data-note{margin-top:12px}
 .trip-summary #capture-plan{width:100%;min-height:48px}
}
@media(max-width:640px){#film-picker{border-radius:12px 12px 0 0}}

/* Keep a single search action visible while browsing the conditions. */
aside{position:sticky;top:16px;display:flex;flex-direction:column;height:var(--conditions-height,calc(100dvh - 240px));min-height:180px;max-height:calc(100dvh - 32px);overflow:hidden}
aside>.section-label{flex-shrink:0;margin:0}
#conditions{display:flex;flex-direction:column;min-height:0;flex:1;overflow:hidden}
#condition-fields{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding-right:10px;scrollbar-gutter:stable;scroll-padding-top:16px;scroll-padding-bottom:16px}
#condition-fields:focus{outline:none}
#conditions .search-actions{flex-shrink:0;padding:12px 0 0;margin:0;border-top:1px solid var(--line);background:var(--bg);position:relative;z-index:2}
#conditions #view-results{display:block;width:100%;margin:0}
#conditions #collapsed-summary{flex-shrink:0}
#conditions .condition-step{padding:16px 0}
#conditions .condition-step h3{font-size:17px;margin-bottom:12px}
#conditions .condition-group,#conditions .wait-range{margin:0 0 16px;border:0;padding:0;min-width:0}
.condition-group legend,.wait-range legend{font-size:14px;font-weight:600;line-height:1.6;margin:0 0 10px;padding:0}
.wait-range-fields{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:8px;align-items:center}
#conditions .wait-range-fields label{min-width:0;margin:0 0 8px;font-weight:400}
#conditions .wait-range-fields select{width:100%;margin-top:5px}
#conditions #meal-label{font-size:14px;align-items:flex-start;margin-bottom:0;padding-top:6px}
#conditions #meal-label input{margin-top:3px}
#conditions .condition-group label{margin-bottom:10px}
#conditions .condition-group .twocol{align-items:start;gap:12px}
.field-unit{font-size:12px;display:block;text-align:right;font-weight:400;line-height:1.4}
#conditions .travel-reference{padding:0;min-height:44px;display:flex;align-items:center;text-decoration:underline;text-underline-offset:3px;font-size:12px}
.film-exclusions{padding:6px 0 12px;border-bottom:1px solid var(--line);margin-bottom:12px}
.film-exclusions h4{font-size:13px;font-weight:600;margin:0}
.film-exclusions #open-excluded{padding-left:0;min-height:44px;font-size:13px;text-decoration:underline;text-underline-offset:3px}
#conditions #excluded-preview:empty{display:none}
.picker-screening-entry{flex-shrink:0;padding:0 24px 12px;border-bottom:1px solid var(--line)}
.picker-screening-entry h3,.picker-list-title{font-size:13px;font-weight:600;margin:0 0 6px}
.picker-screening-entry .catalog-entry{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0;padding:9px 12px;min-height:44px;border:1px solid var(--line);border-radius:6px;background:var(--panel)}
.picker-screening-entry .catalog-entry strong{font-size:14px}
.picker-list-title{padding:12px 24px 0;margin:0;flex-shrink:0}
#film-picker-list{scroll-padding-top:8px}
#info .examples{margin-top:16px;padding-top:8px}
#info .examples button{border-radius:6px}
@media(max-width:740px){
 body{padding-bottom:calc(84px + env(safe-area-inset-bottom))}
 aside{position:static;display:block;height:auto;min-height:0;max-height:none;overflow:visible}
 #conditions{display:block;overflow:visible}
 #condition-fields{overflow:visible;padding-right:0;scrollbar-gutter:auto}
 #conditions .search-actions{position:fixed;left:0;right:0;bottom:0;z-index:12;background:var(--panel);border-top:1px solid var(--line);padding:12px 16px calc(12px + env(safe-area-inset-bottom));box-shadow:0 -4px 16px #0000000a}
 #conditions .search-actions #view-results{max-width:680px;margin:auto}
 .picker-screening-entry{padding:0 19px 10px}
 .picker-list-title{padding:10px 19px 0}
}

.partial-support{font-size:11px;font-weight:500;color:var(--muted,#64645d);margin-left:auto;white-space:nowrap}
.help-button{display:inline-grid;place-items:center;width:24px;height:24px;min-height:24px;padding:0;border:1px solid #aaa99f;border-radius:50%;font-size:14px;vertical-align:middle;background:transparent}
#travel-help{max-width:560px}#travel-help p{line-height:1.8}
.connection{display:flex;flex-wrap:wrap;align-items:baseline;gap:5px 12px}.connection strong{font-size:14px;color:var(--ink,#282e2b);font-variant-numeric:tabular-nums}
.source-scope{font-size:12px;color:#62675e;line-height:1.7;margin-top:24px}.source-scope a{color:inherit}
.spinner,.initial-loading:before{width:18px;height:18px;border:2px solid #b9bbae;border-top-color:#354d42;border-radius:50%;animation:hashigo-spin .8s linear infinite;display:inline-block;flex-shrink:0}
.initial-loading{position:fixed;inset:0;z-index:999;background:#f6f3ecf5;display:flex;gap:14px;align-items:center;justify-content:center;font-size:16px}.initial-loading:before{content:none}
.data-loading #view-results{pointer-events:none;opacity:.5}
#results:has(#result[aria-busy="true"]) #update-status:before,#share-status[aria-busy="true"]:before{content:'';width:14px;height:14px;border:2px solid #bbc1b8;border-top-color:#354d42;border-radius:50%;animation:hashigo-spin .8s linear infinite;display:inline-block;margin-right:8px;vertical-align:middle}
#result[aria-busy="true"]{opacity:.55;pointer-events:none}
@keyframes hashigo-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.spinner,#update-status:before,#share-status:before{animation-duration:2.5s}}

.intro .lead-copy{display:flex;flex-wrap:wrap;align-items:baseline;gap:3px 14px;max-width:none}
.lead-copy .availability-note{font-size:12px;font-weight:700;color:var(--text);white-space:nowrap}
#conditions .travel-settings>.twocol label{font-size:13px;line-height:1.6}
#conditions .travel-settings select{margin-bottom:0}
#conditions .travel-help-trigger{display:inline-flex;align-items:center;justify-content:flex-start;gap:8px;min-height:44px;padding:4px 0;border:0;background:transparent;font-size:12px;font-weight:400;color:var(--muted);text-align:left}
.travel-help-trigger>span:first-child{text-decoration:underline;text-underline-offset:3px}
.help-mark{display:inline-grid;place-items:center;width:22px;height:22px;border:1px solid var(--line);border-radius:50%;font-size:13px;color:var(--text);flex-shrink:0}
#conditions .travel-help-trigger:hover{color:var(--accent)}
@media(max-width:740px){.lead-copy .availability-note{font-size:12px}.intro .lead-copy{gap:5px 12px}}
