/* Ireland Local Authority Map: component stylesheet.
   Joomla template override: copy this file to templates/<your-template>/css/com_irelandmap/map.css
   (or to media/templates/site/<your-template>/css/com_irelandmap/map.css) and edit it there.
   Colours can be changed from the template with variables on .iemap:
   --ie-ink --ie-muted --ie-line --ie-card --ie-water --ie-radius --ie-sticky-top */
.iemap{--ie-muted:#5d6980;--ie-line:#dde3ec;--ie-card:#fff;--ie-water:#e4edf6;--ie-radius:16px}
.iemap, .iemap *{box-sizing:border-box}
.iemap{font-size:15px;line-height:1.45;color:var(--ie-ink,inherit);background:none}
.iemap a{color:inherit}
.iemap button{font:inherit;color:inherit}
.iemap .ie-wrap{padding:0}
.iemap header.ie-top{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:flex-end;justify-content:space-between;margin-bottom:16px}
.iemap header.ie-top h1{margin:0;font-size:clamp(22px,3.4vw,32px);letter-spacing:-.02em}
.iemap header.ie-top p{margin:4px 0 0;color:var(--ie-muted)}
.iemap .ie-stats{display:flex;gap:10px;flex-wrap:wrap}
.iemap .ie-stat{background:var(--ie-card);border:1px solid var(--ie-line);border-radius:12px;padding:8px 14px;text-align:center;min-width:92px}
.iemap .ie-stat b{display:block;font-size:20px;line-height:1.1}
.iemap .ie-stat span{font-size:12px;color:var(--ie-muted)}
.iemap .ie-layout{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);gap:16px;align-items:start}
.iemap .ie-card{background:var(--ie-card);border:1px solid var(--ie-line);border-radius:var(--ie-radius);box-shadow:0 1px 2px rgba(23,32,51,.05)}
.iemap .ie-mapcard{padding:12px}
.iemap .ie-legend{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px;padding:0}
.iemap .ie-lg{display:inline-flex;align-items:center;gap:7px;padding:6px 11px 6px 8px;border:1px solid var(--ie-line);border-radius:999px;background:#fff;cursor:pointer;font-size:13px;font-weight:600;line-height:1.2}
.iemap .ie-lg i{width:14px;height:14px;border-radius:50%;background:var(--c);flex:none;box-shadow:inset 0 0 0 2px rgba(255,255,255,.55)}
.iemap .ie-lg:hover{border-color:var(--c)}
.iemap .ie-lg.ie-on{background:var(--c);border-color:var(--c);color:#fff}
.iemap .ie-lg.ie-on i{box-shadow:inset 0 0 0 2px #fff}
.iemap .ie-lg.ie-on.ie-darkink{color:#1b1500}
.iemap .ie-mapbox{position:relative;background:var(--ie-water);border-radius:12px;padding:6px}
.iemap #ie-map{display:block;width:100%;height:auto;max-height:calc(100vh - 150px);margin:0 auto;touch-action:pan-y pinch-zoom;cursor:grab;user-select:none;-webkit-user-select:none}
.iemap #ie-map.ie-zoomed{touch-action:none}
.iemap #ie-map.ie-panning{cursor:grabbing}
.iemap .ie-halo{fill:#c9d4e2;stroke:#c9d4e2;stroke-width:5px;stroke-linejoin:round;vector-effect:non-scaling-stroke;pointer-events:none}
.iemap .ie-county{stroke:#fff;stroke-width:1px;vector-effect:non-scaling-stroke;stroke-linejoin:round;cursor:pointer;opacity:.92;transition:opacity .2s,filter .15s}
.iemap .ie-county:hover{filter:brightness(1.08) saturate(1.1);opacity:1}
.iemap .ie-county:focus{outline:none}
.iemap .ie-county:focus-visible{stroke:#111;stroke-width:3}
.iemap .ie-county.ie-focus{stroke:#111;stroke-width:3;opacity:1}
.iemap svg.ie-sel .ie-county:not(.ie-on){opacity:.2}
.iemap svg.ie-sel .ie-county.ie-on{opacity:1}
.iemap .ie-lbl{font-size:calc(10.5px*var(--k,1));font-weight:600;fill:#14202e;text-anchor:middle;pointer-events:none;paint-order:stroke;stroke:rgba(255,255,255,.85);stroke-width:calc(3px*var(--k,1));stroke-linejoin:round}
.iemap .ie-lbl.ie-abbr{display:none;font-size:calc(13px*var(--k,1));font-weight:700}
.iemap svg.ie-sel .ie-lbl.ie-off{opacity:.3}
.iemap .ie-link line{stroke:var(--c);stroke-width:1.8px;stroke-dasharray:5 3.5;stroke-linecap:round;opacity:.0;vector-effect:non-scaling-stroke}
.iemap .ie-link circle{fill:#fff;stroke:var(--c);stroke-width:2.2px;opacity:0;vector-effect:non-scaling-stroke}
.iemap .ie-dot, .iemap .ie-mk{transform:scale(var(--k,1))}
.iemap .ie-link{pointer-events:none;transition:opacity .2s}
.iemap .ie-link line, .iemap .ie-link circle{opacity:.75}
.iemap svg.ie-sel .ie-link:not(.ie-on){opacity:.1}
.iemap svg.ie-sel .ie-link.ie-on line{stroke-width:2.6px;stroke-dasharray:none;opacity:.95}
.iemap .ie-marker{cursor:pointer;transition:opacity .2s}
.iemap .ie-marker .ie-ring{fill:#fff;stroke:var(--c);stroke-width:3.5}
.iemap .ie-marker:hover .ie-ring, .iemap .ie-marker:focus-visible .ie-ring{stroke-width:5}
.iemap .ie-marker:focus{outline:none}
.iemap svg.ie-sel .ie-marker:not(.ie-on){opacity:.35}
.iemap svg.ie-sel .ie-marker.ie-me .ie-ring{stroke:#111;stroke-width:4}
.iemap .ie-marker{filter:drop-shadow(0 1.5px 2px rgba(0,0,0,.35))}
.iemap #ie-tip{position:absolute;pointer-events:none;background:#172033;color:#fff;font-size:12.5px;padding:5px 9px;border-radius:8px;white-space:nowrap;transform:translate(-50%,-135%);opacity:0;transition:opacity .1s;z-index:5}
.iemap #ie-tip small{display:block;opacity:.75;font-size:11px}
.iemap .ie-hint{margin:8px 2px 0;font-size:12.5px;color:var(--ie-muted)}
.iemap .ie-panel{position:sticky;top:var(--ie-sticky-top,16px);max-height:calc(100vh - 32px);overflow:auto;padding:0}
.iemap .ie-ph{padding:18px 18px 14px;border-bottom:1px solid var(--ie-line);border-top:6px solid var(--c,#c9d4e2);border-radius:var(--ie-radius) var(--ie-radius) 0 0}
.iemap .ie-ph .ie-eyebrow{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--d,var(--ie-muted))}
.iemap .ie-ph h2{margin:2px 0 6px;font-size:24px;letter-spacing:-.01em}
.iemap .ie-ph p{margin:0;color:var(--ie-muted)}
.iemap .ie-badge{display:inline-flex;align-items:center;gap:7px;padding:4px 11px 4px 8px;border-radius:999px;font-weight:700;font-size:13px;background:color-mix(in srgb,var(--c) 16%,#fff);color:var(--d);border:1px solid color-mix(in srgb,var(--c) 45%,#fff)}
.iemap .ie-badge i{width:11px;height:11px;border-radius:50%;background:var(--c)}
.iemap .ie-clear{float:right;border:1px solid var(--ie-line);background:#fff;border-radius:8px;padding:4px 10px;font-size:12.5px;cursor:pointer}
.iemap .ie-clear:hover{background:#f3f5f9}
.iemap .ie-sec{padding:14px 18px}
.iemap .ie-sec h3{margin:0 0 8px;font-size:12px;letter-spacing:.07em;text-transform:uppercase;color:var(--ie-muted)}
.iemap .ie-chips{display:flex;flex-wrap:wrap;gap:5px}
.iemap .ie-chip{border:1px solid color-mix(in srgb,var(--c) 50%,#fff);background:color-mix(in srgb,var(--c) 13%,#fff);color:var(--d);border-radius:999px;padding:2px 10px;font-size:12.5px;font-weight:600;cursor:pointer}
.iemap .ie-chip:hover{background:color-mix(in srgb,var(--c) 28%,#fff)}
.iemap .ie-chip.ie-cur{background:var(--c);color:#fff;border-color:var(--c)}
.iemap .ie-chip.ie-cur.ie-darkink{color:#1b1500}
.iemap .ie-team{display:grid;gap:10px}
.iemap .ie-rep{display:grid;grid-template-columns:64px 1fr;gap:12px;padding:12px;border:1px solid var(--ie-line);border-left:5px solid var(--c);border-radius:12px;background:#fff}
.iemap .ie-rep.ie-hl{background:color-mix(in srgb,var(--c) 8%,#fff);box-shadow:0 0 0 2px color-mix(in srgb,var(--c) 55%,#fff)}
.iemap .ie-av{width:64px;height:64px;border-radius:50%;display:block;box-shadow:0 0 0 3px #fff,0 0 0 4.5px var(--c)}
.iemap .ie-rep h4{margin:0;font-size:16px;line-height:1.25}
.iemap .ie-rep .ie-role{margin:1px 0 0;color:var(--ie-muted);font-size:13.5px}
.iemap .ie-tag{display:inline-block;margin-top:5px;background:var(--c);color:#fff;font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px}
.iemap .ie-tag.ie-darkink{color:#1b1500}
.iemap .ie-contact{list-style:none;margin:8px 0 6px;padding:0;font-size:13.5px;display:grid;gap:2px}
.iemap .ie-contact a{text-decoration:none;color:#1f4fa3;overflow-wrap:anywhere}
.iemap .ie-contact a:hover{text-decoration:underline}
.iemap .ie-contact li{display:flex;gap:8px;align-items:baseline;font-size:13px}
.iemap .ie-contact span{color:var(--ie-muted);flex:none;width:16px;font-size:13px}
.iemap .ie-focus{margin:0 0 8px;font-size:13.5px}
.iemap .ie-focus b{display:block;font-size:11.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--ie-muted);font-weight:700}
.iemap .ie-empty p{color:var(--ie-muted)}
.iemap .ie-tlist{display:grid;gap:6px;margin-top:10px}
.iemap .ie-tlist button{display:flex;align-items:center;gap:10px;text-align:left;border:1px solid var(--ie-line);background:#fff;border-radius:10px;padding:8px 10px;cursor:pointer}
.iemap .ie-tlist button:hover{border-color:var(--c);background:color-mix(in srgb,var(--c) 7%,#fff)}
.iemap .ie-tlist i{width:14px;height:14px;border-radius:50%;background:var(--c);flex:none}
.iemap .ie-tlist span{font-weight:600}
.iemap .ie-tlist small{margin-left:auto;color:var(--ie-muted)}
.iemap .ie-dir{margin-top:16px;padding:18px}
.iemap .ie-dirhead{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;justify-content:space-between;margin-bottom:14px}
.iemap .ie-dirhead h2{margin:0;font-size:20px}
.iemap .ie-filters{display:flex;flex-wrap:wrap;gap:8px}
.iemap .ie-filters input, .iemap .ie-filters select{border:1px solid var(--ie-line);border-radius:10px;padding:8px 12px;background:#fff;font:inherit;min-width:0}
.iemap .ie-filters input{width:280px;max-width:100%}
.iemap .ie-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:12px}
.iemap .ie-grid .ie-rep{cursor:pointer;transition:box-shadow .15s}
.iemap .ie-grid .ie-rep:hover{box-shadow:0 4px 14px rgba(23,32,51,.12)}
.iemap .ie-grid .ie-rep.ie-hl{box-shadow:0 0 0 2px var(--c)}
.iemap .ie-rep .ie-terrname{margin-top:4px;font-size:12px;font-weight:700;color:var(--d)}
.iemap .ie-none{color:var(--ie-muted);padding:16px 4px}
.iemap footer{margin-top:18px;font-size:12.5px;color:var(--ie-muted)}
@media (max-width:980px){.iemap .ie-layout{grid-template-columns:1fr}
.iemap .ie-panel{position:static;max-height:none}
.iemap #ie-map{max-height:none}}
@media (max-width:640px){.iemap .ie-wrap{padding:14px 10px 40px}
.iemap .ie-lbl.ie-full{display:none}
.iemap .ie-lbl.ie-abbr{display:block}
.iemap .ie-stat{min-width:80px;padding:6px 10px}
.iemap .ie-rep{grid-template-columns:52px 1fr;gap:10px}
.iemap .ie-av{width:52px;height:52px}
.iemap .ie-filters, .iemap .ie-filters input, .iemap .ie-filters select{width:100%}
.iemap .ie-lg{font-size:12.5px;padding:5px 9px 5px 7px}}
@media (prefers-reduced-motion:reduce){.iemap, .iemap *{transition:none!important;scroll-behavior:auto!important}}
.iemap .ie-zoom{position:absolute;right:12px;top:12px;display:grid;gap:6px;z-index:4}
.iemap .ie-zoom button{width:34px;height:34px;border:1px solid var(--ie-line);background:#fff;border-radius:9px;font-size:18px;line-height:1;cursor:pointer;box-shadow:0 1px 3px rgba(0,0,0,.15)}
.iemap .ie-zoom button:hover{background:#f3f5f9}
.iemap .ie-mapbox.ie-drop{outline:3px dashed #3b6fd8;outline-offset:-3px}
.iemap .ie-poi{cursor:pointer;filter:drop-shadow(0 1.5px 2px rgba(0,0,0,.4))}
.iemap .ie-poi .ie-pbg{fill:#fff;stroke:var(--c);stroke-width:3px}
.iemap .ie-poi .ie-pic{font-size:12px;text-anchor:middle;dominant-baseline:central;pointer-events:none}
.iemap .ie-poi:hover .ie-pbg, .iemap .ie-poi:focus-visible .ie-pbg{stroke-width:5px}
.iemap .ie-poi:focus{outline:none}
.iemap .ie-ptools{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;margin:0 0 10px}
.iemap .ie-ptools .ie-plabel{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ie-muted)}
.iemap .ie-ptools .ie-legend{margin:0}
.iemap .ie-lg.ie-pt{background:#fff;color:var(--ie-ink,currentColor)}
.iemap .ie-lg.ie-pt.ie-on{background:color-mix(in srgb,var(--c) 14%,#fff);border-color:var(--c);color:var(--ie-ink,currentColor)}
.iemap .ie-lg.ie-pt:not(.ie-on){opacity:.55}
.iemap .ie-lg .ie-ic{font-size:14px;line-height:1}
.iemap .ie-lg small{color:var(--ie-muted);font-weight:600}
.iemap .ie-pbtns{display:flex;gap:6px;margin-left:auto;flex-wrap:wrap}
.iemap .ie-pbtns button{border:1px solid var(--ie-line);background:#fff;border-radius:9px;padding:6px 11px;font-size:13px;cursor:pointer;font-weight:600}
.iemap .ie-pbtns button:hover{background:#f3f5f9}
.iemap .ie-warn{color:#b3261e}
.iemap details.ie-fmt{margin:6px 2px 0;font-size:13px;color:var(--ie-muted)}
.iemap details.ie-fmt summary{cursor:pointer;font-weight:600;color:var(--ie-ink,currentColor)}
.iemap details.ie-fmt pre{background:#f4f6fa;border:1px solid var(--ie-line);border-radius:10px;padding:10px 12px;overflow:auto;font-size:12px;line-height:1.5;color:#26324a;white-space:pre}
.iemap .ie-popup{position:absolute;z-index:6;width:min(310px,calc(100% - 16px));background:#fff;border-radius:14px;border-top:5px solid var(--c);box-shadow:0 10px 30px rgba(15,25,45,.28);padding:12px 14px 12px}
.iemap .ie-popup[hidden]{display:none}
.iemap .ie-popup .ie-x{position:absolute;right:8px;top:6px;border:0;background:transparent;font-size:22px;line-height:1;cursor:pointer;color:var(--ie-muted)}
.iemap .ie-popup h3{margin:2px 24px 6px 0;font-size:18px;line-height:1.25}
.iemap .ie-popup .ie-ptype{font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--d)}
.iemap .ie-popup .ie-pdesc{margin:0 0 9px;font-size:13.5px}
.iemap .ie-popup .ie-pwhere{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;font-size:13px;margin-bottom:8px}
.iemap .ie-popup .ie-pcontact{font-size:12.5px;border-top:1px solid var(--ie-line);padding-top:8px}
.iemap .ie-popup .ie-pcontact a{color:#1f4fa3;overflow-wrap:anywhere;text-decoration:none}
.iemap .ie-popup .ie-lnk{border:0;background:none;padding:0;font-weight:700;cursor:pointer;color:var(--ie-ink,currentColor);text-decoration:underline dotted}
.iemap .ie-popup .ie-pmeta{margin-top:6px;font-size:12px;color:var(--ie-muted)}
.iemap .ie-popup .ie-pmeta a{color:#1f4fa3;text-decoration:none;font-weight:600}
.iemap .ie-place{display:grid;grid-template-columns:44px 1fr;gap:12px;padding:12px;border:1px solid var(--ie-line);border-left:5px solid var(--c);border-radius:12px;background:#fff;cursor:pointer;transition:box-shadow .15s}
.iemap .ie-place:hover{box-shadow:0 4px 14px rgba(23,32,51,.12)}
.iemap .ie-place h4{margin:0;font-size:15.5px}
.iemap .ie-place .ie-pic2{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;font-size:22px;background:color-mix(in srgb,var(--c) 14%,#fff)}
.iemap .ie-place .ie-pm{margin:1px 0 4px;font-size:12px;font-weight:700;color:var(--d)}
.iemap .ie-place .ie-pd{margin:0;font-size:13.5px;color:var(--ie-muted);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.iemap #ie-places-sec[hidden]{display:none}
@media (max-width:640px){.iemap .ie-pbtns{margin-left:0}
.iemap .ie-zoom button{width:38px;height:38px}}
.iemap .ie-orgn{margin:0 0 6px;font-size:12.5px;color:var(--ie-muted)}
.iemap .ie-pbtns[hidden]{display:none}
.iemap .ie-warnbox{background:#fff4e5;border:1px solid #f0b45a;border-radius:12px;padding:10px 16px;margin-bottom:12px;font-size:13.5px;color:#6b3d00}
.iemap .ie-warnbox[hidden]{display:none}
.iemap .ie-warnbox ul{margin:4px 0 0;padding-left:20px}
.iemap .ie-fmt[hidden]{display:none}
.iemap .ie-popup .ie-pph{float:right;width:64px;height:64px;border-radius:50%;object-fit:cover;margin:0 0 6px 10px;border:2px solid var(--c)}
.iemap .ie-popup .ie-pown{font-size:12.5px;margin:0 0 9px;display:flex;flex-wrap:wrap;gap:2px 12px}
.iemap .ie-popup .ie-pown a{color:#1f4fa3;text-decoration:none;overflow-wrap:anywhere}
.iemap .ie-top[hidden]{display:none}
.iemap button{cursor:pointer}
