/* Childcare Jobs: cobalt, sunshine and breathing room; postcode search is the focal point. */
.nearby-hero{display:grid;grid-template-columns:1.1fr 1fr;gap:28px;margin:32px 0 22px;align-items:stretch}.nearby-intro{background:#1554d1;color:#fff;padding:44px;border-radius:24px;position:relative;overflow:hidden}.nearby-intro h1{font-size:clamp(42px,4.6vw,70px);letter-spacing:-2.6px;line-height:1.04;max-width:10ch;margin:24px 0}.nearby-intro p{font-size:18px;line-height:1.65;margin-bottom:26px;color:#fff}.nearby-intro a{color:#fff;font-weight:700;text-underline-offset:5px}.nearby-emblem{display:flex;align-items:center;justify-content:center;width:64px;height:64px;background:#ffd43f;color:#11285a;border-radius:50%;font-size:42px}.nearby-search{background:#fff3bc;border-radius:24px;padding:32px;display:flex;flex-direction:column;gap:8px}.nearby-search h2{font-size:27px;line-height:1.16;margin:0 0 12px;max-width:22ch}.nearby-search>label{font-weight:700;font-size:14px;margin-top:4px}.nearby-search>label span{font-weight:400}.nearby-search input:not([type=radio]){background:#fff;border:1px solid #b8a657;min-height:48px;width:100%;font-size:16px;margin:0}.nearby-search #nearby-postcode{text-transform:uppercase;font-weight:700;letter-spacing:.6px}.distance-options{display:flex;gap:7px;flex-wrap:wrap;border:0;padding:4px 0 8px;margin:8px 0}.distance-options legend{font-size:14px;font-weight:700;padding:0 0 8px}.distance-options label{position:relative;cursor:pointer;margin:0}.distance-options input{position:absolute;opacity:0;width:1px;height:1px}.distance-options span{display:block;padding:8px 11px;border:1px solid #ac9a49;border-radius:24px;font-size:13px;font-weight:600;background:#fff9e2;color:#11285a}.distance-options input:checked+span{background:#11285a;border-color:#11285a;color:white}.distance-options input:focus-visible+span{outline:3px solid #1554d1;outline-offset:3px}.nearby-search .nearby-submit{background:#11285a;color:#fff;width:100%;display:flex;justify-content:space-between;align-items:center;font-size:16px;min-height:50px}.nearby-help{font-size:12px;line-height:1.5;color:#51451d;margin:8px 0 0}.nearby-error{background:#fff;color:#8e241d;border-left:4px solid #b72d24;padding:12px;font-size:14px}.town-search{display:flex;align-items:center;gap:16px;padding:18px 0;border-bottom:1px solid #dce3ed;flex-wrap:wrap}.town-search strong{font-size:15px}.town-search input:not([type=hidden]){flex:1;min-width:180px;max-width:360px;margin:0}.town-search .button{white-space:nowrap}.distance-explanation{font-size:13px;color:#53627b;max-width:72ch;margin:0 0 20px}.workplace-map-panel{background:white;border:1px solid #dce3ed;border-radius:16px;padding:22px;margin-bottom:24px;min-width:0}.map-heading{display:flex;justify-content:space-between;align-items:center;gap:16px}.map-heading h3,.map-heading h2{font-size:21px;margin:0 0 5px}.map-heading p{font-size:13px;color:#53627b;margin:0}.map-heading button{white-space:nowrap}.map-privacy{font-size:12px;color:#53627b;margin:12px 0}.workplace-map{height:370px;border-radius:10px;border:1px solid #dce3ed;background:#edf2f7;isolation:isolate;margin-top:16px;z-index:0}.workplace-map[hidden]{display:none}.workplace-map .leaflet-container{font-family:inherit}.map-feedback{font-size:13px;color:#475772;margin:10px 0 0}.map-pin{background:none;border:0}.map-pin>span{display:flex;justify-content:center;align-items:center;width:32px;height:32px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:#1554d1;border:3px solid white;box-shadow:0 2px 8px #11285a40;color:white}.map-pin>span>b{transform:rotate(45deg);font-size:12px}.map-pin.approximate>span{background:#74519c}.map-pin.origin>span{background:#ffd43f;color:#11285a}.workplace-map .leaflet-popup-content{font-size:14px;line-height:1.5;max-width:240px}.map-popup-title{font-weight:700;display:block;font-size:16px;margin-bottom:6px}.workplace-map .leaflet-popup-content p{margin:7px 0}.map-popup-status{font-size:12px;color:#53627b}.job-nearby-line{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:12px}.job-distance{display:inline-flex;align-items:center;gap:6px;border-radius:7px;padding:5px 9px;background:#dff5ea;color:#14543b;font-size:13px;font-weight:700}.job-nearby-line a{font-size:13px;font-weight:650;color:#1554d1}.geography-credit{font-size:11px;color:#53627b;line-height:1.6;margin-top:26px}.commute-section{border-top:1px solid #dce3ed;margin-top:32px;padding-top:26px}.commute-section h2{margin-top:0}.commute-address{font-style:normal;line-height:1.6}.pin-status{font-size:13px;color:#53627b}.commute-origin{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin:20px 0}.commute-origin label{flex:1;min-width:180px}.commute-origin input{margin-bottom:0}.commute-modes{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.commute-modes .button{padding:10px 15px;font-size:14px}.commute-note{font-size:13px;color:#53627b}.workplace-editor-heading{margin:28px 0}.workplace-editor-heading h1{font-size:38px;margin:0 0 10px}.workplace-editor{display:grid;grid-template-columns:minmax(300px,.85fr) minmax(0,1.15fr);gap:28px;align-items:start}.workplace-fields{background:#fff;border:1px solid #dce3ed;border-radius:16px;padding:28px}.workplace-fields h2{font-size:24px;margin:0 0 10px}.workplace-fields>p{font-size:14px;color:#53627b}.workplace-field{margin:18px 0}.workplace-field input{width:100%}.workplace-editor .workplace-map{height:470px}.workplace-editor .errorlist{color:#982b23;background:#fff0ed;padding:12px 12px 12px 30px}.workplace-editor>.errorlist{grid-column:1/-1}.coordinate-fields{margin:22px 0;border-block:1px solid #dce3ed;padding:15px 0}.coordinate-fields summary{cursor:pointer;font-weight:600}.coordinate-fields p{font-size:13px}.coordinate-fields input{width:100%;margin-bottom:10px}.workplace-confirm{padding:16px;background:#edf5ff;border-radius:10px;margin:22px 0;line-height:1.6;font-size:14px}.workplace-confirm input{width:18px;height:18px;vertical-align:middle;margin-right:7px}.workplace-confirm .helptext{font-size:12px;display:block}.workplace-fields>.small-link{margin-left:15px}.workplace-fields [data-location-feedback]{color:#1554d1;font-weight:600;min-height:20px}.workplace-location-link{font-size:13px;font-weight:600;white-space:nowrap}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:1100px){.nearby-hero{grid-template-columns:1fr 1fr;gap:20px}.nearby-intro{padding:32px}.nearby-search{padding:26px}.nearby-intro h1{font-size:52px}.workplace-editor{grid-template-columns:1fr}.workplace-editor .workplace-map{height:400px}}
@media(max-width:760px){.nearby-hero{grid-template-columns:1fr;gap:14px;margin-top:18px}.nearby-intro{padding:26px;border-radius:18px}.nearby-intro h1{font-size:46px;margin:16px 0;letter-spacing:-1.9px}.nearby-intro p{font-size:15px;margin:14px 0}.nearby-emblem{position:absolute;right:24px;top:26px;width:43px;height:43px;font-size:29px}.nearby-intro a{font-size:13px}.nearby-search{padding:24px;border-radius:18px}.nearby-search h2{font-size:25px}.distance-options{gap:6px}.distance-options span{padding:8px 10px}.town-search{gap:10px}.town-search strong{width:100%}.town-search input:not([type=hidden]){min-width:140px}.town-search .button{padding:12px;font-size:12px}.map-heading{align-items:start;flex-wrap:wrap}.map-heading .button{padding:9px 14px;font-size:13px}.workplace-map-panel{padding:16px}.workplace-map{height:300px}.workplace-editor-heading h1{font-size:30px}.workplace-fields{padding:20px}.workplace-editor .workplace-map{height:340px}.commute-origin .button{width:100%}.commute-modes .button{flex:1 1 40%;text-align:center}.job-nearby-line{gap:8px}.results-heading h2{font-size:23px}.results-heading{flex-wrap:wrap;gap:12px}}
.journey-planner{margin:1.5rem 0;padding:1.5rem;background:#eef4ff;border-radius:18px;border:1px solid #d7e2f5}.journey-planner h3{margin-top:0}.journey-form{display:grid;gap:1rem}.journey-form>label{display:grid;gap:.45rem;font-weight:700}.journey-form>label input{width:100%;max-width:24rem}.journey-modes{padding:0;margin:0;border:0;display:flex;gap:.5rem;flex-wrap:wrap}.journey-modes legend{font-weight:700;padding:0 0 .65rem}.journey-modes label{cursor:pointer;display:flex;align-items:center;gap:.45rem;background:#fff;border:1px solid #b8c9e9;border-radius:12px;padding:.65rem .8rem}.journey-modes label:has(input:checked){background:#11285a;color:#fff;border-color:#11285a}.journey-modes input{accent-color:#1554d1;width:1rem;height:1rem}.journey-form .button{justify-self:start}.embedded-journey{margin-top:1rem;overflow:hidden;border-radius:14px;background:#fff}.embedded-journey iframe{display:block;width:100%;min-width:200px;min-height:360px;border:0}.journey-planner .commute-note{margin-bottom:0}@media(max-width:600px){.journey-planner{padding:1rem}.journey-modes label{flex:1 1 40%;font-size:.85rem}.journey-form .button{width:100%}.embedded-journey iframe{height:420px}}

/* Search results stay in the foreground; geography opens only on request. */
.results-display-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap;flex-shrink:0}
.results-map-toggle{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:10px 15px;border:1px solid #bfd0ed;border-radius:9px;background:#fff;color:#1554d1;font-size:13px;font-weight:700;white-space:nowrap}
.results-map-toggle:hover{background:#edf3ff;border-color:#1554d1}
.results-map-toggle[hidden]{display:none}
.search-map-open{overflow:hidden}
.search-map-dialog{padding:0;border:0;border-radius:22px;background:#fff;color:#11285a;width:min(1020px,calc(100vw - 64px));max-width:none;max-height:calc(100dvh - 64px);box-shadow:0 24px 90px #11285a40;overflow:auto;overscroll-behavior:contain}
.search-map-dialog:not([open]){display:none}
.search-map-dialog::backdrop{background:#11285a73;backdrop-filter:blur(3px)}
.search-map-header{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:24px 28px;border-bottom:1px solid #e2e8f1;background:#fff}
.search-map-title-group{display:flex;align-items:center;gap:14px;min-width:0}
.search-map-emblem{display:flex;align-items:center;justify-content:center;width:48px;height:48px;flex-shrink:0;background:#ffd43f;border-radius:14px}
.search-map-title-group h2{font-size:27px;line-height:1.2;margin:0 0 5px}
.search-map-title-group p{font-size:13px;line-height:1.5;color:#53627b}
.search-map-close{display:flex;align-items:center;justify-content:center;width:44px;height:44px;flex-shrink:0;border:1px solid #dce3ed;border-radius:50%;background:#fff;color:#11285a}
.search-map-close:hover{background:#edf3ff;border-color:#1554d1}
.search-map-body{padding:20px 28px 18px}
.search-map-summary{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;font-size:13px;line-height:1.5}
.search-map-summary span{color:#53627b}
.search-map-dialog .workplace-map{height:clamp(240px,52dvh,530px);margin:16px 0 0;border-radius:14px}
.search-map-legend{display:flex;align-items:center;gap:12px 24px;flex-wrap:wrap;margin:16px 0 0;font-size:12px;color:#475772}
.search-map-legend>span{display:inline-flex;align-items:center;gap:7px}
.search-map-legend i{width:10px;height:10px;border-radius:50%;display:inline-block;border:1px solid #11285a20}
.legend-origin{background:#ffd43f}.legend-confirmed{background:#1554d1}.legend-approximate{background:#74519c}
.search-map-feedback:empty{display:none}
.search-map-dialog .map-privacy{font-size:11px;margin:14px 0 0}
.search-map-dialog .map-privacy a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:1000px){.results-heading{flex-wrap:wrap;gap:14px}}
@media(max-width:600px){
 .results-display-controls{width:100%;justify-content:space-between;gap:10px}
 .results-display-controls .view-switch{font-size:12px}
 .results-display-controls .view-switch a{padding:8px 12px;min-height:40px;display:inline-flex;align-items:center}
 .results-map-toggle{font-size:12px;padding:10px 13px}
 .search-map-dialog{width:100%;max-height:calc(100dvh - 16px);margin:auto 0 0;border-radius:22px 22px 0 0}
 .search-map-header{padding:20px 18px 16px;gap:10px}
 .search-map-emblem{width:40px;height:40px;border-radius:11px}
 .search-map-title-group{gap:10px}
 .search-map-title-group h2{font-size:23px}
 .search-map-title-group p{font-size:12px}
 .search-map-body{padding:16px 18px max(20px,env(safe-area-inset-bottom))}
 .search-map-dialog .workplace-map{height:clamp(220px,48dvh,440px);margin-top:12px}
 .search-map-legend{gap:9px 14px;font-size:11px;margin-top:14px}
}
