:root{font-family:Georgia,"Times New Roman",serif;color:#172d3b;background:#f4f1e9;font-size:16px}
*{box-sizing:border-box}
body{margin:0}
button,input,select{font:inherit}
button{cursor:pointer}
a{color:#245776}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #be8b32;outline-offset:2px}
.topbar{height:64px;background:#172d3b;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 24px;border-bottom:3px solid #d4b56e}
.brand{color:#fff;text-decoration:none;display:flex;align-items:center;gap:12px;font-family:Arial,sans-serif;font-weight:700;letter-spacing:.09em;font-size:.82rem}
.brand-mark{color:#d4b56e;font-size:1.75rem;line-height:1}
.topbar-label{font-family:Arial,sans-serif;font-size:.82rem;color:#d8e0e4;letter-spacing:.08em;text-transform:uppercase}
.workspace{height:calc(100dvh - 64px);min-height:600px;display:grid;grid-template-columns:minmax(330px,390px) minmax(0,1fr)}
.search-panel{background:#f4f1e9;border-right:1px solid #d6d0c2;overflow-y:auto;display:flex;flex-direction:column}
.intro{padding:28px 28px 14px}
.eyebrow{font-family:Arial,sans-serif;font-size:.73rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#805d25;margin:0 0 10px}
h1{font-size:2.2rem;line-height:1.08;letter-spacing:-.035em;margin:0 0 12px;font-weight:normal}
.intro p:last-child{color:#455866;line-height:1.45;margin:0;font-size:.97rem}
.search-form{padding:12px 28px 23px;display:grid;gap:7px;border-bottom:1px solid #d6d0c2}
.search-form label{font-family:Arial,sans-serif;font-size:.82rem;font-weight:700;color:#263c49;margin-top:9px}
.search-form input,.search-form select{width:100%;height:42px;border:1px solid #aeb9bd;border-radius:4px;background:#fff;padding:0 12px;color:#172d3b;font-family:Arial,sans-serif;font-size:.92rem}
.search-form input::placeholder{color:#6c7b83}
.clear-button{justify-self:start;border:0;background:transparent;color:#245776;font-family:Arial,sans-serif;font-size:.83rem;text-decoration:underline;padding:8px 0 0}
.results-heading{padding:18px 28px 0;display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.results-heading h2{margin:0;font-size:1.22rem;font-weight:normal}
#match-count{font-family:Arial,sans-serif;color:#5e6d75;font-size:.81rem;white-space:nowrap}
.results-hint,.source-note{color:#53636d;font-size:.88rem;line-height:1.5;padding:0 28px}
.results-hint{margin:8px 0 0}
.results{padding:8px 20px 16px;overflow-y:auto}
.result-card{width:100%;text-align:left;border:1px solid #d8d0c0;background:#fff;border-radius:5px;padding:12px 14px;margin:0 0 8px;color:#172d3b;display:block}
.result-card:hover{border-color:#af8748;background:#fffdf8}
.result-name{display:block;font-size:.99rem;line-height:1.3}
.result-place,.result-summary{display:block;color:#546671;font-family:Arial,sans-serif;font-size:.78rem;line-height:1.4;margin-top:5px}
.result-summary{color:#354954;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.source-note{margin:auto 0 0;padding-top:14px;padding-bottom:18px;border-top:1px solid #d6d0c2;background:#eeeae0}
.map-panel{position:relative;min-height:0;background:#dbe3df}
#map{height:100%;width:100%;z-index:1}
.map-legend,.map-status{position:absolute;z-index:500;background:rgba(255,255,255,.94);box-shadow:0 2px 12px #162d3b22;border-radius:4px;font-family:Arial,sans-serif;color:#243b48;font-size:.79rem}
.map-legend{right:18px;top:18px;padding:11px 13px;display:flex;align-items:center;gap:6px}
.map-legend .pin{margin-left:8px}
.map-legend .pin:first-child{margin-left:0}
.pin{display:inline-block;width:11px;height:11px;border-radius:50%;background:#1f6786;border:2px solid white;box-shadow:0 0 0 1px #1f6786}
.pin.sligo{background:#9b5e39;box-shadow:0 0 0 1px #9b5e39}
.map-status{left:16px;bottom:22px;padding:9px 12px}
.map-error{position:absolute;z-index:501;inset:0;display:grid;place-content:center;text-align:center;background:#e8e5db;padding:24px;font-size:1rem}
.map-error[hidden]{display:none}
.claim-pin{width:17px;height:17px;border-radius:50%;border:3px solid white;box-shadow:0 1px 6px #14273488;background:#1f6786}
.claim-pin.sligo{background:#9b5e39}
.claim-pin-icon{background:transparent;border:0}
.leaflet-popup-content-wrapper{font-family:Georgia,serif;border-radius:5px}
.leaflet-popup-content{margin:11px 14px}
.popup-name{font-size:.95rem;line-height:1.35;margin:0 0 8px}
.popup-button{font-family:Arial,sans-serif;border:0;padding:0;color:#245776;background:none;text-decoration:underline;font-size:.85rem}
dialog{border:0;border-radius:6px;box-shadow:0 18px 65px #0c1f2a66;width:min(650px,calc(100vw - 28px));max-height:min(88dvh,900px);padding:0;color:#172d3b;background:#fff}
dialog::backdrop{background:#112633a8}
.dialog-header{position:sticky;top:0;z-index:2;padding:17px 24px 0;background:#fff;display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid #e4dfd4}
.close-button{border:0;background:transparent;color:#344c5a;font-family:Arial,sans-serif;font-size:1.75rem;line-height:1;padding:0 0 12px 12px}
#dialog-content{padding:19px 24px 28px;overflow-y:auto}
#dialog-content h2{font-size:1.6rem;line-height:1.22;font-weight:normal;margin:0 0 8px}
.detail-location{font-family:Arial,sans-serif;color:#5c6f79;font-size:.9rem;margin:0 0 20px}
.detail-block{border-top:1px solid #e7e2d8;padding:16px 0 0;margin:0 0 16px}
.detail-block h3{font-family:Arial,sans-serif;text-transform:uppercase;letter-spacing:.08em;font-size:.73rem;color:#805d25;margin:0 0 8px}
.detail-block p{line-height:1.55;margin:0;white-space:pre-line;overflow-wrap:anywhere}
.detail-meta{font-family:Arial,sans-serif;font-size:.88rem;line-height:1.65}
.detail-meta dt{color:#586a74}
.detail-meta dd{margin:0 0 8px}
.detail-links a{display:inline-block;margin:0 14px 8px 0;font-family:Arial,sans-serif;font-size:.9rem}
@media(max-width:760px){.topbar{height:55px;padding:0 16px}.brand{font-size:.72rem}.topbar-label{display:none}.workspace{height:auto;min-height:0;display:flex;flex-direction:column}.search-panel{order:1;overflow:visible;border-right:0}.intro{padding:20px 18px 8px}.intro h1{font-size:1.9rem}.search-form{padding:5px 18px 16px;grid-template-columns:1fr 1fr;gap:6px 10px}.search-form label{grid-column:auto;font-size:.76rem}.search-form input,.search-form select{grid-column:auto}.search-form label:nth-of-type(1),.search-form label:nth-of-type(3){grid-column:1}.search-form label:nth-of-type(2),.search-form label:nth-of-type(4){grid-column:2}.search-form input:nth-of-type(1),.search-form input:nth-of-type(3){grid-column:1}.search-form input:nth-of-type(2),.search-form select{grid-column:2}.clear-button{grid-column:1/-1}.map-panel{order:2;height:54dvh;min-height:360px}.results-heading,.results-hint{padding-left:18px;padding-right:18px}.results{padding-left:10px;padding-right:10px}.source-note{display:none}.map-legend{right:10px;top:10px}.map-status{left:10px;bottom:20px}}
@media(max-width:430px){.search-form{display:block}.search-form label{display:block;margin-top:10px;margin-bottom:5px}.search-form input,.search-form select{display:block}.map-panel{height:50dvh}}
