
/* Fueltek v6.9.317
   Shared layout protection for every local Fuel Management city guide.
   Goal: text and the postcode-coverage map must never occupy the same space. */

.local-page-v302 .hero.local-hero-v302{
  position:relative;
  width:100%;
  max-width:100%;
  min-width:0;
  overflow:hidden;
}

.local-page-v302 .hero.local-hero-v302>div:first-child,
.local-page-v302 .hero.local-hero-v302>.fueltek-postcode-map-host-v309{
  position:relative;
  min-width:0!important;
  max-width:100%!important;
}

.local-page-v302 .hero.local-hero-v302>div:first-child{
  z-index:2;
  width:100%;
  overflow:hidden;
}

.local-page-v302 .hero.local-hero-v302>.fueltek-postcode-map-host-v309{
  z-index:1;
  width:100%!important;
  justify-self:stretch;
  margin:0!important;
  overflow:hidden!important;
}

/* MapLibre's internal canvas must inherit the map-column dimensions. */
.local-page-v302 .hero.local-hero-v302 .fueltek-postcode-map-v309,
.local-page-v302 .hero.local-hero-v302 .maplibregl-map,
.local-page-v302 .hero.local-hero-v302 .maplibregl-canvas-container{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
}

/* Wide desktop: intentionally reserve more room for long local headings.
   Fractional columns account for the gap, unlike percentage columns. */
@media(min-width:1181px){
  .local-page-v302 .hero.local-hero-v302{
    grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr)!important;
    gap:clamp(42px,3.3vw,66px)!important;
    align-items:center!important;
  }

  .local-page-v302 .hero.local-hero-v302>div:first-child{
    max-width:none!important;
  }

  .local-page-v302 .hero.local-hero-v302 h1{
    width:100%!important;
    max-width:100%!important;
    min-width:0;
    font-size:clamp(64px,5.35vw,100px)!important;
    line-height:.83!important;
    letter-spacing:-.045em!important;
    text-wrap:balance;
  }

  .local-page-v302 .hero.local-hero-v302 h1 span{
    display:block;
    width:100%;
    max-width:100%;
    font-size:.90em;
    line-height:.90;
    overflow-wrap:normal;
    word-break:normal;
  }

  .local-page-v302 .hero.local-hero-v302>div:first-child>p:not(.eyebrow){
    width:100%!important;
    max-width:100%!important;
  }
}

/* Stack before long names or browser zoom can make the two columns collide. */
@media(max-width:1180px){
  .local-page-v302 .hero.local-hero-v302{
    grid-template-columns:minmax(0,1fr)!important;
    gap:clamp(30px,5vw,48px)!important;
  }

  .local-page-v302 .hero.local-hero-v302>div:first-child{
    max-width:900px!important;
  }

  .local-page-v302 .hero.local-hero-v302 h1{
    width:100%!important;
    max-width:900px!important;
    font-size:clamp(58px,8vw,92px)!important;
  }

  .local-page-v302 .hero.local-hero-v302 h1 span{
    display:block;
    width:100%;
    max-width:100%;
  }

  .local-page-v302 .hero.local-hero-v302>.fueltek-postcode-map-host-v309{
    width:100%!important;
    max-width:100%!important;
    transform:none!important;
  }
}

/* Tablet */
@media(max-width:900px){
  .local-page-v302 .hero.local-hero-v302 h1{
    max-width:100%!important;
    font-size:clamp(52px,9vw,76px)!important;
  }

  .local-page-v302 .hero.local-hero-v302>.fueltek-postcode-map-host-v309{
    min-height:clamp(350px,55vw,460px)!important;
  }
}

/* Mobile */
@media(max-width:720px){
  .local-page-v302 .hero.local-hero-v302{
    gap:26px!important;
  }

  .local-page-v302 .hero.local-hero-v302 h1{
    font-size:clamp(44px,12vw,58px)!important;
    line-height:.84!important;
  }

  .local-page-v302 .hero.local-hero-v302 h1 span{
    font-size:.92em;
  }
}

/* Narrow mobile / high zoom */
@media(max-width:520px){
  .local-page-v302 .hero.local-hero-v302 h1{
    font-size:clamp(40px,11.8vw,50px)!important;
  }
}

@media(max-width:400px){
  .local-page-v302 .hero.local-hero-v302 h1{
    font-size:clamp(37px,11.5vw,46px)!important;
    letter-spacing:-.04em!important;
  }
}

/* The UK hub retains its dedicated v6.9.316 rules, but add a final
   containment guard so the map can never overlay the copy. */
.location-hub-page-v302 .hero.local-hero-v302{
  max-width:100%;
  min-width:0;
  overflow:hidden!important;
}

.location-hub-page-v302 .hero.local-hero-v302>div:first-child,
.location-hub-page-v302 .hero.local-hero-v302>.fueltek-postcode-map-host-v309{
  min-width:0!important;
  max-width:100%!important;
}

.location-hub-page-v302 .hero.local-hero-v302>.fueltek-postcode-map-host-v309{
  overflow:hidden!important;
}
