.page-areas .postcode-only{grid-template-columns:1fr 1fr;padding:32px;gap:32px}.page-areas .postcode-only>div:first-child{grid-column:auto}.page-areas .postcode-only h2{font-size:clamp(32px,3vw,48px)}
.location-section{margin-top:64px;scroll-margin-top:120px}.location-section:before{display:none!important}.location-heading{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:end;margin-bottom:32px}.page-areas .location-heading h2{font-size:clamp(40px,5vw,64px);margin:8px 0 0}.location-heading p{color:#c2d0d4;line-height:1.7}.location-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,1fr);gap:24px;align-items:start}
.location-map-panel,.location-sidebar{background:#13242b;border:1px solid #395159;border-radius:16px;overflow:hidden}.location-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:16px;background:#102027;color:#e6eef0}.location-toolbar>div{display:flex;gap:8px}.location-toolbar button{min-width:44px;min-height:44px;padding:8px;border:1px solid #617d85;border-radius:8px;background:#20383f;color:#fff;font:inherit;cursor:pointer}.location-toolbar button:disabled{opacity:.4;cursor:default}
.location-viewport{height:640px;overflow:auto;position:relative;scrollbar-color:#71949f #12262d;overscroll-behavior:contain}.location-world{position:relative;width:100%;min-width:100%;isolation:isolate}.location-world>img{display:block!important;width:100%!important;height:100%!important;max-width:none;object-fit:fill!important;opacity:1!important}.location-pin{position:absolute;transform:translate(-50%,-50%);width:28px;height:28px;min-width:0;padding:0;border:0;background:transparent;cursor:pointer;border-radius:50%;z-index:2}.location-pin:before{content:'';position:absolute;inset:8px;background:#a6d4dc;border:2px solid #0a1b23;border-radius:50%;box-shadow:0 0 0 1px #92c3cb}.location-pin span{display:none;position:absolute;bottom:28px;left:50%;transform:translateX(-50%);padding:8px 12px;background:#09191f;color:white;font:500 14px/1.3 Arial,sans-serif;white-space:nowrap;border:1px solid #dca25d;border-radius:8px;pointer-events:none}.location-pin:hover,.location-pin:focus-visible,.location-pin[aria-pressed=true]{z-index:5}.location-pin:hover span,.location-pin:focus-visible span,.location-pin[aria-pressed=true] span{display:block}.location-pin[aria-pressed=true]:before{background:#ffb25f;box-shadow:0 0 0 5px #ffb25f44;inset:5px}.location-attribution{margin:0;padding:16px;font-size:12px!important;line-height:1.5!important;color:#bed1d6!important}.location-attribution a{color:#d8e8ec;text-decoration:underline}
.location-sidebar{padding:24px}.location-sidebar label{display:block;color:#fff;margin-bottom:8px}.location-sidebar input{width:100%;min-height:48px;border:1px solid #698891;border-radius:8px;background:#091c23;color:#fff;font:inherit;padding:12px 16px;box-sizing:border-box}.location-sidebar input::placeholder{color:#a9bec5}.location-sidebar #locationCount{font-size:12px;color:#c4d5da;margin:8px 0 16px}.location-town-list{display:grid;gap:8px;max-height:320px;overflow:auto;padding:4px;scrollbar-color:#71949f #12262d}.location-town-list button{display:flex;justify-content:space-between;gap:8px;text-align:left;align-items:center;min-height:48px;padding:8px 16px;background:#1b333c;border:1px solid #365963;border-radius:8px;font:400 15px/1.5 Arial,sans-serif;color:#ecf3f5;cursor:pointer}.location-town-list button[hidden]{display:none}.location-town-list button[aria-pressed=true]{background:#e4a156;color:#111b1e;border-color:#e4a156}.location-town-list button:hover{border-color:#e4a156}.location-detail{border-top:1px solid #3e5861;margin-top:24px;padding-top:24px}.location-detail h3{margin:8px 0 16px;font-size:28px;color:white}.location-detail p{font-size:15px;line-height:1.6;color:#c5d2d6}.location-detail .button{display:flex;justify-content:center;min-height:48px;margin:16px 0}.location-detail>a:last-child{display:flex;min-height:44px;align-items:center;font-size:14px;color:#efb673;text-decoration:underline}.location-section :is(button,input,a,.location-viewport):focus-visible{outline:3px solid #fff;outline-offset:3px}
@media(pointer:coarse){.location-pin{width:44px;height:44px}.location-pin:before{inset:16px}.location-pin[aria-pressed=true]:before{inset:13px}.location-pin span{bottom:38px}}
@media(max-width:900px){.location-layout{grid-template-columns:minmax(0,1fr)}.location-viewport{height:560px}.location-sidebar{display:grid;grid-template-columns:1fr 1fr;column-gap:24px}.location-sidebar>label,.location-sidebar>input,.location-sidebar>#locationCount{grid-column:1/-1}.location-detail{margin:0;padding:0 0 0 24px;border-top:0;border-left:1px solid #3e5861}.page-areas .postcode-only{grid-template-columns:1fr}.page-areas .postcode-only .coverage-form-shell{grid-row:auto}}
@media(max-width:600px){.location-heading{grid-template-columns:1fr;gap:8px}.location-section{margin-top:40px}.location-toolbar{flex-wrap:wrap}.location-viewport{height:440px}.location-world{min-width:520px}.location-sidebar{display:block;padding:16px}.location-detail{margin-top:24px;padding:24px 0 0;border-left:0;border-top:1px solid #3e5861}.location-town-list{max-height:240px}.page-areas .postcode-only{padding:16px;gap:16px}}

.location-pin{width:44px;height:44px;min-height:44px}.location-pin:before{inset:16px}.location-pin[aria-pressed=true]:before{inset:13px}.location-pin span{bottom:38px}

/* Geographic map treatment: pale land, blue teardrop pins, orange selection. */
.location-viewport{background:#eeece2;scrollbar-color:#91a59b #eeece2}
.location-pin:before{inset:auto;left:13px;top:3px;width:18px;height:18px;transform:rotate(-45deg);border-radius:50% 50% 50% 0;background:#367a97;border:2px solid #fff;box-shadow:0 2px 4px #203b4540}
.location-pin:after{content:'';position:absolute;left:20px;top:10px;width:6px;height:6px;border-radius:50%;background:#fff;pointer-events:none}
.location-pin[aria-pressed=true]:before{inset:auto;left:11px;top:0;width:22px;height:22px;background:#e88932;border-color:#fff;box-shadow:0 2px 5px #61452260}
.location-pin[aria-pressed=true]:after{top:8px;left:19px;width:8px;height:8px}
.location-pin:focus-visible{outline:3px solid #174e69!important;outline-offset:1px!important}
