/* Revision 5: compact phone journey; original Hello Chef typography and colours. */
.press-strip{display:flex;align-items:center;justify-content:center;gap:20px;margin:16px auto 0;padding:17px 28px;background:var(--paper);border-block:1px solid var(--line);color:var(--ink)}
.press-strip>strong{font:600 14px var(--font-body);white-space:nowrap}
.press-marks{display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.press-marks svg{display:block;width:auto;max-width:100%;justify-self:center;height:36px;overflow:hidden;filter:grayscale(1) contrast(1.5);mix-blend-mode:multiply}
#find-dialog{height:100dvh;max-height:100dvh;width:100%;max-width:none;margin:0;border-radius:0;background:var(--cream)}
#find-dialog .flow-head{padding:6px 14px 0;min-height:46px;gap:10px;flex-shrink:0}
#find-dialog .flow-back{display:grid;place-items:center;width:40px;height:40px;min-height:40px;min-width:40px;border:0;background:none;font-size:24px}
#find-dialog .flow-head .flow-logo{width:64px;height:40px;object-fit:contain;mix-blend-mode:darken;margin-right:auto}
#flow-step-count{font:13px var(--font-body);margin-left:auto;color:var(--ink)}
.journey-progress{height:7px;flex-shrink:0;margin:6px 24px 12px;background:var(--line);border-radius:8px;overflow:hidden}
.journey-progress>span{display:block;width:var(--progress,33.333%);height:100%;border-radius:inherit;background:var(--green);transition:width .18s ease}
#find-dialog .flow-scroll{padding:0 18px 12px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
#find-dialog .flow-step h2{font:600 29px/1.12 var(--font-display);letter-spacing:-.04em;margin:0 0 7px;color:var(--green-dark)}
#find-dialog .compact-intro{margin:7px 0 20px}
#find-dialog .compact-intro p{font:14px/1.35 var(--font-body);margin:0;color:var(--ink)}
#find-dialog .welcome-intro{text-align:center;margin:6px 0 24px}
.welcome-art{display:block;width:62px;height:55px;margin:0 auto 13px;color:var(--green);stroke-width:1.3}
#find-dialog .welcome-intro h2{font-size:28px}
#find-dialog .welcome-intro p{max-width:280px;margin-inline:auto}
.booking-fields{display:grid;gap:11px}
#find-dialog .booking-field{display:flex;align-items:center;gap:12px;background:var(--paper);border:1px solid var(--line);border-radius:13px;padding:8px 13px;min-height:64px;box-shadow:0 2px 5px #173d2e04}
.booking-field>.icon{width:25px;height:25px;flex:0 0 25px;color:var(--green)}
.booking-field>div{min-width:0;flex:1}
#find-dialog .booking-field label{font:12px/1.15 var(--font-body);margin:0 0 3px}
#find-dialog .booking-field input,#find-dialog .booking-field select{padding:0;min-height:26px;height:26px;border:0;border-radius:0;background:transparent;font:600 16px/1.3 var(--font-body);margin:0;width:100%;color:var(--ink);box-shadow:none}
#find-dialog .booking-field input:focus,#find-dialog .booking-field select:focus{outline:2px solid var(--green);outline-offset:3px;border-radius:3px}
#find-dialog .schedule-note{font:10px/1.35 var(--font-body);color:var(--muted);margin:8px 1px 18px}
#find-dialog .frequency-fieldset{margin:0 0 10px}
#find-dialog .frequency-fieldset legend{font:700 14px/1.3 var(--font-body);margin:0 0 9px}
#find-dialog .radio-choice{position:relative;margin:0;border-radius:11px;padding:10px;min-height:42px;display:flex;justify-content:center;gap:8px;font-size:13px;background:var(--paper)}
#find-dialog .radio-choice input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
#find-dialog .radio-choice .icon{width:17px;height:17px}
#find-dialog .radio-choice:has(:checked){background:var(--green);border-color:var(--green);color:var(--paper)}
#find-dialog .radio-choice:has(:focus-visible){outline:2px solid var(--green);outline-offset:3px}
#find-dialog #repeat-options{margin:10px 0 0;padding:10px 12px;border:1px solid var(--line);border-radius:10px}
#find-dialog #repeat-options label{font-size:12px;margin:0 0 4px}
#find-dialog #repeat-options select{margin:0;min-height:36px;padding:6px 8px}
.meal-counters{display:grid;gap:13px}
#find-dialog .meal-counter label{display:flex;align-items:center;gap:8px;font:700 14px/1.2 var(--font-body);margin:0 0 6px}
.meal-counter label>.icon{width:22px;height:22px;color:var(--green)}
#find-dialog .meal-counter .counter{width:100%;height:40px;border-radius:12px;justify-content:space-between;padding:0 7px;background:var(--paper)}
#find-dialog .counter button{display:grid;place-items:center;width:36px;height:36px;min-width:36px;min-height:36px;border:0;background:transparent;color:var(--green);font:24px/1 var(--font-body)}
#find-dialog .counter button:disabled{opacity:.3}
#find-dialog .counter output{font:600 16px/1 var(--font-body);width:40px}
#find-dialog #duration-note{font:10px/1.3 var(--font-body);margin:6px 0 12px;text-align:right;color:var(--muted)}
#find-dialog .booking-cuisines{margin:0;padding:0;border:0;min-width:0}
#find-dialog .booking-cuisines legend{display:flex;align-items:center;gap:8px;float:none;width:100%;font:700 14px/1.2 var(--font-body);margin:0 0 8px}
.booking-cuisines legend>.icon{width:23px;height:23px;flex-shrink:0;color:var(--green)}
#find-dialog .booking-cuisines legend small{font:11px/1.2 var(--font-body);margin-top:2px;color:var(--ink)}
#find-dialog #flow-cuisines .cuisines{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0}
#find-dialog #flow-cuisines .cuisine{border-radius:10px;border-color:var(--line);background:var(--paper);padding:0;box-shadow:none}
#find-dialog #flow-cuisines .cuisine-photo{display:block;border-radius:0;width:100%;margin:0}
#find-dialog #flow-cuisines .cuisine-photo img{width:100%;height:58px;object-fit:cover}
#find-dialog #flow-cuisines .cuisine-title{font:600 12px/1.2 var(--font-body);padding:5px 2px;margin:0;color:var(--ink)}
#find-dialog #flow-cuisines .cuisine-tick{display:grid;opacity:1;width:22px;height:22px;border-radius:6px;border:1.5px solid var(--green-dark);background:var(--paper);top:5px;right:5px;transform:none}
#find-dialog #flow-cuisines .cuisine-tick .icon{opacity:0}
#find-dialog #flow-cuisines .cuisine[aria-pressed=true]{border-color:var(--green);background:var(--soft)}
#find-dialog #flow-cuisines .cuisine[aria-pressed=true] .cuisine-tick{border-radius:50%;background:var(--green);color:var(--paper);border-color:var(--paper)}
#find-dialog #flow-cuisines .cuisine[aria-pressed=true] .cuisine-tick .icon{opacity:1}
#find-dialog #flow-cuisines .cuisine-extra{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:4px 0 0}
#find-dialog #flow-cuisines .cuisine-extra .cuisine{min-height:38px;padding:7px 27px 7px 8px}
#find-dialog #flow-cuisines .cuisine-extra .cuisine-title{font-size:12px;padding:0}
#find-dialog #flow-cuisines .cuisine-extra .cuisine-tick{top:50%;transform:translateY(-50%);width:18px;height:18px}
#find-dialog .cuisine-more{font:600 12px/1.2 var(--font-body);min-height:30px;margin:0;padding:5px 0}
#find-dialog .needs-fieldset{margin:24px 0 26px;padding:0;border:0}
#find-dialog .needs-fieldset legend{display:flex;align-items:center;gap:8px;font:700 14px/1.2 var(--font-body);margin:0 0 12px}
.needs-fieldset legend>.icon{width:25px;height:25px;color:var(--green)}
#find-dialog .needs-fieldset legend small{font:11px/1.2 var(--font-body);color:var(--ink)}
.preference-chips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
#find-dialog .preference-chip{position:relative;display:flex;align-items:center;justify-content:center;gap:5px;min-width:0;min-height:38px;border:1px solid var(--line);border-radius:9px;padding:7px 5px;background:var(--paper);font:12px/1.2 var(--font-body);margin:0;cursor:pointer;text-align:center}
#find-dialog .preference-chip input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
#find-dialog .preference-chip:has(:checked),#find-dialog .preference-chip[aria-pressed=true]{background:var(--green);color:var(--paper);border-color:var(--green)}
#find-dialog .preference-chip:has(:focus-visible){outline:2px solid var(--green);outline-offset:2px}
#needs-none .icon{width:15px;height:15px}
#find-dialog .preference-more{font:12px/1.2 var(--font-body);border:1px solid var(--line);border-radius:9px;padding:9px 12px;min-height:38px;margin-top:8px;background:var(--paper)}
#preference-more{margin-top:10px}
#find-dialog #allergy-details label{font:12px/1.3 var(--font-body);margin:12px 0 6px}
#find-dialog #allergies{min-height:64px;margin:0;padding:9px;resize:vertical}
#find-dialog .booking-notes label{display:flex;align-items:center;gap:8px;font:700 14px/1.25 var(--font-body);margin:0 0 10px}
.booking-notes .icon{width:23px;height:23px;color:var(--green)}
#find-dialog #notes{font:16px/1.4 var(--font-body);height:105px;min-height:90px;padding:12px;margin:0;resize:vertical;background:var(--paper);border-color:var(--line);border-radius:10px}
#find-dialog .flow-foot{padding:10px 18px max(10px,env(safe-area-inset-bottom));border:0;background:var(--cream);flex-shrink:0}
#find-dialog .flow-foot .button{min-height:46px;border-radius:14px;padding:10px 15px;font:600 16px/1.2 var(--font-body);background:var(--green);border-color:var(--green);gap:12px}
#find-dialog[data-current-step="2"] .flow-foot .button{background:var(--red);border-color:var(--red)}
#flow-footnote{font:10px/1.3 var(--font-body);margin-top:6px}
#find-dialog .field-error{font:12px/1.4 var(--font-body);margin:7px 0 0;color:var(--red)}
#find-dialog .results-intro{margin:9px 0 15px}
#find-dialog .results-intro h2{font-size:27px;margin:0 0 5px}
.results-intro>p{font:12px/1.4 var(--font-body);margin:0;color:var(--muted)}
.search-chips{display:flex;flex-wrap:wrap;gap:5px;margin-top:10px}
.search-chips>span{padding:5px 7px;background:var(--soft);border-radius:7px;font-size:11px}
.example-chefs{display:grid;gap:12px}
.example-chef{border:1px solid var(--line);border-radius:15px;background:var(--paper);padding:8px}
.example-chef-main{display:flex;gap:12px}
.chef-photo-placeholder{width:88px;min-height:98px;display:grid;align-content:center;justify-items:center;gap:7px;border-radius:10px;background:var(--soft);color:var(--green);flex-shrink:0;font-size:10px}
.chef-photo-placeholder .icon{width:36px;height:36px;stroke-width:1.2}
.chef-card-copy{flex:1;min-width:0}
#find-dialog .chef-card-copy h3{font:600 17px/1.2 var(--font-display);margin:0 0 5px}
.chef-card-copy>p{font:11px/1.3 var(--font-body);color:var(--muted);margin:0 0 7px}
.chef-card-cuisine{font:11px/1.3 var(--font-body);background:var(--soft);padding:3px 6px;display:inline-block;border-radius:5px}
.chef-card-copy strong{display:block;font:600 13px/1.3 var(--font-body);margin:5px 0;color:var(--green)}
.chef-dish-previews{display:flex;gap:4px}
.chef-dish-previews img{width:calc((100% - 8px)/3);height:30px;object-fit:cover;border-radius:5px}
.example-chef details{margin-top:6px}
.example-chef summary{cursor:pointer;list-style:none;display:flex;justify-content:center;gap:12px;align-items:center;min-height:35px;border:1px solid var(--green);border-radius:10px;font:600 12px var(--font-body);color:var(--green)}
.example-chef summary::-webkit-details-marker{display:none}
.example-chef details p{font:12px/1.45 var(--font-body);margin:10px 2px 3px}
@media(max-width:599px){.press-strip{display:flex;width:100%;padding:12px;gap:16px;margin-top:12px}.press-strip>strong{font-size:12px;flex:0 0 auto;margin:0}.press-marks{gap:8px;min-width:0}.press-marks svg{height:32px}}
@media(min-width:600px){#find-dialog{max-width:430px;height:min(850px,calc(100dvh - 32px));max-height:calc(100dvh - 32px);margin:auto;border-radius:20px}#find-dialog .flow-scroll{padding-inline:22px}#find-dialog .flow-foot{padding-inline:22px}}
@media(max-height:740px){#find-dialog .flow-head{min-height:40px;padding-top:2px}.journey-progress{margin-block:3px 8px;height:6px}#find-dialog .compact-intro{margin:3px 0 13px}#find-dialog .compact-intro h2{font-size:26px}#find-dialog .compact-intro p{font-size:13px}#find-dialog .welcome-intro{margin:4px 0 18px}.welcome-art{width:52px;height:45px;margin-bottom:9px}#find-dialog .booking-field{min-height:58px;padding-block:6px}.booking-fields{gap:9px}#find-dialog .schedule-note{margin-bottom:12px}.meal-counters{gap:8px}#find-dialog .meal-counter label{font-size:13px;margin-bottom:4px}#find-dialog .meal-counter .counter{height:36px}#find-dialog #duration-note{margin:4px 0 8px}#find-dialog #flow-cuisines .cuisines{gap:6px}#find-dialog #flow-cuisines .cuisine-photo img{height:42px}#find-dialog #flow-cuisines .cuisine-title{padding-block:3px;font-size:11px}#find-dialog .booking-cuisines legend{margin-bottom:6px;font-size:13px}#find-dialog .cuisine-more{min-height:28px}#find-dialog .needs-fieldset{margin:20px 0}#find-dialog .flow-foot{padding-top:7px;padding-bottom:8px}#find-dialog .flow-foot .button{min-height:44px}}
@media(prefers-reduced-motion:reduce){.journey-progress>span{transition:none}}

@media(max-height:740px){#find-dialog .results-intro{margin:4px 0 10px}#find-dialog .results-intro h2{font-size:23px}.search-chips{margin-top:7px}.search-chips>span{padding:4px 6px;font-size:10px}.example-chefs{gap:8px}#find-dialog .chef-card-copy h3{font-size:15px;margin-bottom:4px}.chef-card-copy strong{font-size:11px;margin:4px 0}.chef-photo-placeholder{width:76px;min-height:92px}.chef-dish-previews img{height:28px}.example-chef summary{min-height:30px}.example-chef details{margin-top:5px}}

@media(max-width:359px){.press-strip{gap:12px;padding-inline:10px}.press-strip>strong{font-size:11px;flex-basis:auto}.press-marks{gap:6px}.press-marks svg{height:30px}}
