/* Compact responsive map filter tray. Keep the map visible immediately on phones/tablets. */
.regional-mobile-more,.regional-mobile-refine-row{display:none}

@media (max-width:900px){
  .regional-live-map{position:relative!important;overflow:hidden!important}
  .regional-live-filter{
    position:relative!important;
    z-index:12!important;
    overflow:hidden!important;
    background:#fffefa!important;
    border-bottom:1px solid rgba(216,221,226,.9)!important;
    box-shadow:none!important;
  }

  .regional-live-filter-head{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:8px!important;
    min-height:38px!important;
    padding:6px 9px!important;
    border-bottom:1px solid rgba(216,221,226,.62)!important;
  }
  .regional-live-filter-label{display:flex!important;align-items:baseline!important;gap:6px!important;min-width:0!important}
  .regional-live-filter-label span{font-size:7px!important;letter-spacing:.14em!important;white-space:nowrap!important}
  .regional-live-filter-label strong{font-size:11px!important;line-height:1.1!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  .regional-live-clear{flex:0 0 auto!important;font-size:8px!important;padding:3px 0!important}

  /* City stays visible as the primary mobile filter. All locations are shown at once. */
  .regional-live-city-row{
    display:grid!important;
    grid-template-columns:auto minmax(0,1fr)!important;
    align-items:start!important;
    gap:6px!important;
    padding:6px 7px 7px!important;
    border-bottom:1px solid rgba(216,221,226,.58)!important;
  }
  .regional-live-filter-section-label{
    flex:0 0 auto!important;
    margin:9px 0 0!important;
    font-size:7px!important;
    letter-spacing:.13em!important;
  }
  .regional-live-filter-buttons{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    flex:1 1 auto!important;
    min-width:0!important;
    gap:4px!important;
    overflow:visible!important;
    padding:0!important;
  }
  .regional-live-filter-buttons button,
  .regional-live-filter-buttons button[data-city="Derry/Londonderry"]{
    width:100%!important;
    min-width:0!important;
    min-height:29px!important;
    justify-content:center!important;
    gap:4px!important;
    padding:4px 5px!important;
    border-radius:999px!important;
    font-size:8.5px!important;
    line-height:1!important;
    white-space:nowrap!important;
  }
  .regional-live-filter-buttons button:nth-child(1){grid-column:span 1!important}
  .regional-live-filter-buttons button:nth-child(2){grid-column:span 1!important}
  .regional-live-filter-buttons button:nth-child(3){grid-column:span 2!important}
  .regional-live-filter-buttons button:nth-child(4){grid-column:span 2!important}
  .regional-live-filter-buttons button:nth-child(5){grid-column:span 2!important}
  .regional-live-filter-buttons button span{
    min-width:0!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  .regional-live-filter-buttons button strong{
    flex:0 0 auto!important;
    min-width:17px!important;
    height:17px!important;
    padding:0 4px!important;
    font-size:7.5px!important;
  }

  /* Mobile refine control: collapsed by default so the map starts sooner. */
  .regional-mobile-refine-row{
    display:block!important;
    padding:5px 7px!important;
    border-bottom:1px solid rgba(216,221,226,.58)!important;
    background:rgba(246,249,245,.58)!important;
  }
  .regional-mobile-more{
    display:flex!important;
    width:100%!important;
    min-height:34px!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:10px!important;
    padding:0 10px!important;
    border:1px solid rgba(16,34,52,.16)!important;
    background:#fffefa!important;
    color:#14283d!important;
    font-family:Arial,Helvetica,sans-serif!important;
    font-size:9px!important;
    font-weight:700!important;
    letter-spacing:.09em!important;
    text-transform:uppercase!important;
    text-align:left!important;
  }
  .regional-mobile-more::after{
    content:'+';
    flex:0 0 auto;
    font-size:16px;
    line-height:1;
    font-weight:400;
  }
  .regional-mobile-more[aria-expanded="true"]::after{content:'−'}
  .regional-mobile-more strong{
    margin-left:auto!important;
    padding:3px 6px!important;
    border-radius:999px!important;
    background:rgba(16,34,52,.08)!important;
    color:#516f8e!important;
    font-size:7px!important;
    font-weight:700!important;
    letter-spacing:.06em!important;
    white-space:nowrap!important;
  }
  .regional-mobile-more.has-active strong{
    background:#14283d!important;
    color:#fff!important;
  }

  .regional-live-refine{
    display:none!important;
    position:static!important;
    z-index:auto!important;
    overflow:visible!important;
    padding:8px!important;
    border:0!important;
    border-radius:0!important;
    background:rgba(246,249,245,.74)!important;
    box-shadow:none!important;
  }
  .regional-live-filter.is-refine-open .regional-live-refine{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:7px!important;
  }
  .regional-filter-control,.regional-filter-search{
    display:grid!important;
    grid-column:auto!important;
    gap:3px!important;
    min-width:0!important;
  }
  .regional-filter-search{grid-column:1/-1!important}
  .regional-filter-control>span{font-size:7px!important;letter-spacing:.10em!important;white-space:nowrap!important}
  .regional-filter-control input,.regional-filter-control select{
    width:100%!important;
    height:34px!important;
    min-height:34px!important;
    padding-left:9px!important;
    padding-right:25px!important;
    border-radius:2px!important;
    font-size:16px!important;
    line-height:1.1!important;
  }
  .regional-filter-control input{padding-right:9px!important}

  /* A responsive map height keeps the whole interaction visible on typical phones. */
  .regional-live-canvas,.report-map-wrap .regional-live-canvas{
    height:clamp(455px,62vh,560px)!important;
  }
  .regional-live-controls{top:9px!important;left:9px!important}
}

@media(max-width:420px){
  .regional-live-filter-head{padding-inline:7px!important}
  .regional-live-filter-label strong{font-size:10px!important}
  .regional-live-city-row{grid-template-columns:1fr!important;padding:5px 6px 6px!important;gap:4px!important}
  .regional-live-filter-section-label{margin:0!important}
  .regional-live-filter-buttons{width:100%!important}
  .regional-live-filter-buttons button,
  .regional-live-filter-buttons button[data-city="Derry/Londonderry"]{font-size:8px!important;padding-inline:4px!important}
  .regional-mobile-refine-row{padding-inline:6px!important}
  .regional-live-filter.is-refine-open .regional-live-refine{grid-template-columns:1fr!important;padding:7px 6px!important}
  .regional-filter-search{grid-column:auto!important}
  .regional-live-canvas,.report-map-wrap .regional-live-canvas{height:clamp(440px,60vh,520px)!important}
}
