/* Individual-record regional map */
.regional-live-map{position:relative;width:100%;overflow:hidden;background:#f5f5ef;border:1px solid rgba(20,40,60,.13);box-shadow:0 18px 48px rgba(18,39,61,.08);isolation:isolate;--regional-marker-size:14px}
.regional-live-filter{background:linear-gradient(180deg,#fffefa 0%,#fbfcf8 100%);border-bottom:1px solid #d8dde2}
.regional-live-filter-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding:18px 21px 10px}
.regional-live-filter-label{display:grid;gap:5px;min-width:170px}.regional-live-filter-label span,.regional-live-filter-section-label,.regional-filter-control>span{font:600 10px/1.2 Arial,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:#577696}.regional-live-filter-label strong{font:normal 16px/1.25 Georgia,'Times New Roman',serif;color:#172a3e}
.regional-live-clear{border:0;background:transparent;padding:4px 0;color:#395673;font:11px/1.2 Arial,sans-serif;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.regional-live-clear:hover{color:#172e45}.regional-live-clear:focus-visible{outline:2px solid #bd835f;outline-offset:3px}.regional-live-clear[hidden]{display:none}
.regional-live-city-row{display:flex;align-items:center;gap:16px;padding:0 21px 16px}.regional-live-filter-section-label{flex:0 0 auto}.regional-live-filter-buttons{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}
.regional-live-filter-buttons button{display:flex;align-items:center;gap:10px;min-height:39px;padding:8px 13px;border:1px solid #d2d9df;border-radius:999px;background:rgba(248,250,246,.86);color:#395673;font:11px/1 Arial,sans-serif;cursor:pointer;box-shadow:0 1px 0 rgba(255,255,255,.9) inset;transition:background .2s,border-color .2s,color .2s,transform .2s,box-shadow .2s}.regional-live-filter-buttons button:hover{border-color:#96acc3;background:#f1f6f2;box-shadow:0 4px 14px rgba(26,46,67,.06)}.regional-live-filter-buttons button:focus-visible{outline:2px solid #bd835f;outline-offset:2px}.regional-live-filter-buttons button.is-active{background:#fffefa;border-color:#859fb9;color:#172e45;box-shadow:inset 0 -2px 0 #172e45}.regional-live-filter-buttons button strong{display:grid;place-items:center;min-width:23px;height:23px;padding:0 6px;border-radius:999px;background:rgba(25,47,70,.07);font:600 10px/1 Arial,sans-serif;color:#4a6682}.regional-live-filter-buttons button.is-active strong{background:#e8ecef;color:#172e45}
.regional-live-refine{display:grid;grid-template-columns:minmax(220px,1.45fr) repeat(5,minmax(128px,1fr));gap:10px;padding:14px 21px 18px;border-top:1px solid rgba(216,221,226,.8);background:rgba(246,249,245,.55)}
.regional-filter-control{display:grid;gap:6px;min-width:0}.regional-filter-control input,.regional-filter-control select{width:100%;min-width:0;height:42px;border:1px solid #d2d9df;border-radius:2px;background:#fffefa;color:#273b50;padding:0 34px 0 12px;font:12px/1.2 Arial,sans-serif;box-shadow:0 1px 0 rgba(255,255,255,.8) inset;transition:border-color .18s,box-shadow .18s,background .18s}.regional-filter-control input{padding-right:12px}.regional-filter-control input::placeholder{color:#7390ae}.regional-filter-control input:hover,.regional-filter-control select:hover{border-color:#a8b4c0}.regional-filter-control input:focus,.regional-filter-control select:focus{outline:none;border-color:#6a89a9;box-shadow:0 0 0 3px rgba(23,46,69,.08);background:#fff}.regional-filter-control select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,#4a6682 50%),linear-gradient(135deg,#4a6682 50%,transparent 50%);background-position:calc(100% - 15px) 17px,calc(100% - 11px) 17px;background-size:4px 4px,4px 4px;background-repeat:no-repeat}.regional-filter-search input{-webkit-appearance:none;appearance:none}
.regional-live-canvas{position:relative;height:650px;overflow:hidden;background:#dfe3e8;touch-action:auto;cursor:default;pointer-events:none}.report-map-wrap .regional-live-canvas{height:700px}.regional-live-canvas:after{content:'';position:absolute;z-index:2;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(255,254,249,.08),transparent 14%,transparent 84%,rgba(255,254,249,.09)),linear-gradient(90deg,rgba(255,254,249,.035),transparent 12%,transparent 88%,rgba(255,254,249,.035));box-shadow:inset 0 0 55px rgba(17,40,63,.035)}
.regional-live-tiles,.regional-live-markers{position:absolute;inset:0}.regional-live-tiles img{position:absolute;width:256px;height:256px;max-width:none;user-select:none;-webkit-user-drag:none;filter:saturate(.78) contrast(.95) brightness(1.035)}.regional-live-markers{pointer-events:none}
.regional-live-marker{position:absolute;z-index:3;transform:translate(-50%,-50%);display:grid;place-items:center;pointer-events:auto;width:28px;height:28px;padding:0;border:0;border-radius:999px;background:transparent;box-shadow:none;cursor:pointer}.regional-live-marker span{position:relative;display:block;width:var(--regional-marker-size);height:var(--regional-marker-size);border:1.5px solid rgba(255,254,249,.98);border-radius:999px;background:#112b46;box-shadow:0 1px 0 rgba(255,255,255,.26) inset,0 2px 6px rgba(8,24,40,.24);transition:transform .16s ease,background .16s ease,box-shadow .16s ease}.regional-live-marker span:after{content:'';position:absolute;inset:3px;border-radius:999px;background:rgba(255,255,255,.055)}.regional-live-marker:hover,.regional-live-marker:focus-visible,.regional-live-marker.is-active{z-index:5;outline:none}.regional-live-marker:hover span,.regional-live-marker:focus-visible span,.regional-live-marker.is-active span{transform:scale(1.42);background:#b87958;box-shadow:0 0 0 5px rgba(184,121,88,.14),0 5px 14px rgba(8,24,40,.24)}.regional-live-marker:focus-visible span{outline:2px solid #fff;outline-offset:2px}

/* Keep the map fixed in place while preserving deliberate interactions. */
.regional-live-controls,.regional-live-card,.regional-live-empty,.regional-live-attribution{pointer-events:auto}

/* Photo-led information card, echoing the original BIP map */
.regional-live-card{position:absolute;z-index:9;top:50%;left:50%;transform:translate(-50%,-50%);width:min(470px,calc(100% - 36px));max-height:calc(100% - 36px);display:flex;flex-direction:column;overflow:hidden;padding:0;background:#fffef9;border:1px solid rgba(23,42,62,.08);border-radius:2px;box-shadow:0 24px 70px rgba(16,34,52,.36);color:#12263a;cursor:auto}
.regional-live-card[hidden]{display:none}
.regional-live-card-close{position:absolute;z-index:4;right:10px;top:10px;width:38px;height:38px;padding:0;border:1px solid rgba(23,42,62,.1);border-radius:999px;background:rgba(255,254,249,.95);color:#172a3e;font:27px/1 Arial,sans-serif;cursor:pointer;box-shadow:0 3px 14px rgba(16,34,52,.12);backdrop-filter:blur(5px)}.regional-live-card-close:hover{background:#edf2ed}.regional-live-card-close:focus-visible{outline:2px solid #bd835f;outline-offset:2px}
.regional-card-photo-wrap{height:200px;position:relative;flex:none;background:#dce1e5;overflow:hidden}.regional-card-photo{display:block;width:100%;height:100%;object-fit:cover;margin:0;max-height:none}.regional-card-photo-caption{position:absolute;right:8px;bottom:8px;background:rgba(16,34,52,.82);color:#fff;font:10px/1.2 Arial,sans-serif;padding:5px 8px;letter-spacing:.03em;backdrop-filter:blur(4px)}
.regional-card-body{padding:23px 27px 25px;overflow:auto;overscroll-behavior:contain}.regional-card-kicker{margin:0 0 9px;color:#4e6b89;font:600 10px/1.3 Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase}.regional-live-card h3{margin:0 0 5px;color:#172a3e;font:normal 34px/1.06 Georgia,'Times New Roman',serif;letter-spacing:-.035em}.regional-card-locality{margin:0;color:#4d6a87;font:14px/1.4 Arial,sans-serif}.regional-card-tags{display:flex;flex-wrap:wrap;gap:7px;margin:18px 0}.regional-card-tags span{font:10px/1.2 Arial,sans-serif;letter-spacing:.02em;border:1px solid #c9d1d8;padding:6px 9px;background:#f0f4f0;color:#304861}
.regional-card-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;border-top:1px solid #d6dce2;border-bottom:1px solid #d6dce2;margin:0 0 18px;padding:12px 0}.regional-card-field{display:block;padding:0;border:0}.regional-card-field dt{font:bold 10px/1.35 Arial,sans-serif;text-transform:uppercase;letter-spacing:.1em;color:#506e8c}.regional-card-field dd{margin:5px 0 0;font:16px/1.35 Georgia,'Times New Roman',serif;color:#172a3e;overflow-wrap:anywhere}.regional-card-description{margin:0 0 13px;color:#283c51;font:17px/1.5 Georgia,'Times New Roman',serif}.regional-card-caveat{margin:0;color:#547291;font:12px/1.45 Arial,sans-serif}

.regional-live-controls{position:absolute;z-index:8;left:16px;top:16px;display:grid;border:1px solid rgba(16,34,52,.12);box-shadow:0 8px 24px rgba(10,27,44,.12);border-radius:10px;overflow:hidden;backdrop-filter:blur(7px)}.regional-live-controls button{min-width:45px;height:43px;padding:0 11px;border:0;border-bottom:1px solid rgba(16,34,52,.1);background:rgba(255,254,249,.92);color:#12263a;font:400 24px/1 Georgia,'Times New Roman',serif;cursor:pointer}.regional-live-controls button:last-child{border-bottom:0;font:600 9px/1 Arial,sans-serif;letter-spacing:.11em;text-transform:uppercase}.regional-live-controls button:hover{background:#f2f6f2}.regional-live-controls button:focus-visible{outline:2px solid #bd835f;outline-offset:-3px}
.regional-live-loading,.regional-live-empty{position:absolute;z-index:7;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;gap:8px;width:min(320px,calc(100% - 40px));padding:23px 25px;background:rgba(255,254,249,.96);border:1px solid #d7dde2;border-radius:12px;box-shadow:0 12px 36px rgba(10,27,44,.13);color:#395775;text-align:center;font:14px/1.45 Georgia,'Times New Roman',serif;backdrop-filter:blur(5px)}.regional-live-loading[hidden],.regional-live-empty[hidden]{display:none}.regional-live-loading strong,.regional-live-empty strong{color:#172a3e}.regional-live-loading span{color:#557595}.regional-live-loading.is-error{border-color:#d9bdae}.regional-live-empty button{justify-self:center;border:0;background:transparent;padding:3px;color:#395673;text-decoration:underline;text-underline-offset:3px;cursor:pointer;font:11px/1.2 Arial,sans-serif}
.regional-live-attribution{position:absolute;z-index:6;right:0;bottom:0;padding:4px 7px;background:rgba(255,255,255,.86);font-size:9px;color:#395775;backdrop-filter:blur(4px)}.regional-live-attribution a{color:inherit}
.regional-map-frame .regional-live-map:after{content:'';position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 0 1px rgba(16,34,52,.05)}
.regional-live-map:fullscreen{display:flex;flex-direction:column;width:100vw;height:100vh;background:#f5f5ef}.regional-live-map:fullscreen .regional-live-canvas{flex:1;height:auto}.regional-live-map:fullscreen .regional-live-filter{flex:0 0 auto}

@media(max-width:1100px){.regional-live-refine{grid-template-columns:minmax(200px,1.35fr) repeat(3,minmax(130px,1fr))}.regional-filter-control:nth-child(5),.regional-filter-control:nth-child(6){grid-column:auto}}
@media(max-width:800px){
  .regional-live-filter-head{padding:15px 14px 10px}.regional-live-filter-label{min-width:0}.regional-live-filter-label strong{font-size:14px}.regional-live-city-row{display:block;padding:0 14px 14px}.regional-live-filter-section-label{display:block;margin-bottom:9px}.regional-live-filter-buttons{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;padding:0 2px 4px 0;scrollbar-width:none}.regional-live-filter-buttons::-webkit-scrollbar{display:none}.regional-live-filter-buttons button{flex:0 0 auto}
  .regional-live-refine{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:13px 14px 15px}.regional-filter-search{grid-column:1/-1}.regional-filter-control input,.regional-filter-control select{height:43px;font-size:12px}
  .regional-live-card{width:min(470px,calc(100% - 24px));max-height:calc(100% - 24px)}.regional-card-photo-wrap{height:170px}.regional-card-body{padding:18px 21px 21px}.regional-live-card h3{font-size:29px}.regional-card-details{gap:14px}
}
@media(max-width:600px){
  .regional-live-map{box-shadow:0 10px 30px rgba(18,39,61,.07)}.regional-live-canvas,.report-map-wrap .regional-live-canvas{height:620px}.regional-live-marker{width:30px;height:30px}.regional-live-controls{left:10px;top:10px}.regional-live-controls button{min-width:42px;height:40px}
  .regional-live-refine{grid-template-columns:repeat(2,minmax(0,1fr))}.regional-filter-control>span{font-size:9px;letter-spacing:.14em}.regional-filter-control input,.regional-filter-control select{padding-left:10px;padding-right:28px;font-size:11px}.regional-filter-control select{background-position:calc(100% - 13px) 18px,calc(100% - 9px) 18px}
  .regional-live-card{width:calc(100% - 24px);max-height:calc(100% - 24px)}.regional-card-photo-wrap{height:150px}.regional-card-body{padding:15px 18px 18px}.regional-live-card h3{font-size:25px}.regional-card-description{font-size:14px}.regional-card-details{gap:12px}.regional-card-field dd{font-size:14px}.regional-live-card-close{width:36px;height:36px;font-size:25px}
}

/* Mobile filter system: readable, touch-friendly and fully contained. */
@media(max-width:600px){
  .regional-live-filter{overflow:hidden}
  .regional-live-filter-head{align-items:center;padding:14px 14px 12px;border-bottom:1px solid rgba(216,221,226,.68)}
  .regional-live-filter-label{display:grid;gap:4px;min-width:0}
  .regional-live-filter-label span{font-size:9px;letter-spacing:.16em}
  .regional-live-filter-label strong{font-size:14px;line-height:1.2}
  .regional-live-clear{flex:0 0 auto;font-size:10px;padding:7px 0}

  .regional-live-city-row{padding:12px 14px 14px}
  .regional-live-filter-section-label{margin:0 0 8px;font-size:9px;letter-spacing:.15em}
  .regional-live-filter-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;overflow:visible;padding:0}
  .regional-live-filter-buttons button{width:100%;min-width:0;min-height:44px;justify-content:space-between;gap:6px;padding:9px 11px;border-radius:8px;font-size:11px;line-height:1.15;text-align:left}
  .regional-live-filter-buttons button span{min-width:0;white-space:normal;overflow-wrap:anywhere}
  .regional-live-filter-buttons button strong{flex:0 0 auto;min-width:25px;height:25px}
  .regional-live-filter-buttons button[data-city="Derry/Londonderry"]{grid-column:1/-1}

  .regional-live-refine{grid-template-columns:1fr;gap:10px;padding:13px 14px 16px;border-top:1px solid rgba(216,221,226,.78);background:rgba(246,249,245,.68)}
  .regional-filter-search{grid-column:auto}
  .regional-filter-control{gap:6px}
  .regional-filter-control>span{font-size:9px;letter-spacing:.14em}
  .regional-filter-control input,.regional-filter-control select{height:46px;padding-left:12px;padding-right:36px;border-radius:4px;font-size:13px;line-height:1.2;background-color:#fffefa}
  .regional-filter-control input{padding-right:12px}
  .regional-filter-control select{background-position:calc(100% - 16px) 19px,calc(100% - 12px) 19px}
}

@media(max-width:390px){
  .regional-live-filter-head{display:grid;grid-template-columns:1fr auto;gap:10px}
  .regional-live-filter-label strong{font-size:13px}
  .regional-live-filter-buttons{grid-template-columns:1fr}
  .regional-live-filter-buttons button[data-city="Derry/Londonderry"]{grid-column:auto}
}


/* Interactive controls must own taps. The map gesture layer must not claim them. */
.regional-live-marker,
.regional-live-filter-buttons button,
.regional-mobile-more,
.regional-live-controls button,
.regional-live-card-close,
.regional-card-streetview a{
  touch-action:manipulation!important;
  -webkit-tap-highlight-color:transparent;
}
.regional-live-filter,
.regional-live-card,
.regional-live-controls{
  pointer-events:auto!important;
}
.regional-card-streetview{
  display:grid;
  gap:8px;
  margin:18px 0 15px;
  padding:14px;
  border:1px solid rgba(23,42,62,.14);
  background:#eef4f9;
}
.regional-card-streetview a{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:9px 14px;
  text-align:center;
  text-decoration:none!important;
  font:700 10px/1.2 Arial,sans-serif;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.regional-card-streetview-primary{
  border:1px solid #173f6a;
  background:#173f6a;
  color:#fff!important;
}
.regional-card-streetview-fallback{
  border:1px solid rgba(23,63,106,.24);
  background:#fff;
  color:#173f6a!important;
}

.regional-card-streetview a{pointer-events:auto!important;position:relative;z-index:20;cursor:pointer;}
