.heritage-app{--ink:#183c50;--orange:#f28b21;--line:#e4e9e9;color:var(--ink);font:14px/1.5 Arial,sans-serif;background:#f7f9f8}.heritage-app *{box-sizing:border-box}.heritage-app button,.heritage-app input,.heritage-app select,.heritage-app textarea{font:inherit}.heritage-app button{cursor:pointer}.heritage-banner{min-height:135px;padding:24px 30px;display:flex;align-items:center;gap:18px;color:white;background:linear-gradient(90deg,#092f47c9,#163f5360),url('../images/home/footer-landscape.webp') center 48%/cover}.heritage-banner h1{font-size:clamp(22px,2.5vw,40px);margin:0;letter-spacing:1px;color:white}.heritage-banner h1 span{color:var(--orange)}.heritage-banner p{font:italic 22px Georgia,serif;margin:2px 0}.heritage-banner em{margin-left:auto;text-align:right;font:italic 23px Georgia,serif;max-width:220px}.heritage-home{color:white;font-size:27px;text-decoration:none}.heritage-workspace{height:calc(100dvh - 135px);min-height:550px;display:grid;grid-template-columns:330px minmax(0,1fr);gap:12px;padding:12px}.heritage-workspace:has(.heritage-detail:not([hidden])){grid-template-columns:330px minmax(0,1fr) 350px}.heritage-list,.heritage-detail{background:#fff;border:1px solid var(--line);border-radius:9px;padding:14px;overflow:auto;position:relative;min-width:0}.heritage-list h2{font-size:15px;margin:18px 0 8px}.heritage-list small{font-weight:normal}.heritage-list input[type=search]{width:100%;padding:12px;border:1px solid var(--line);border-radius:7px}.heritage-filters{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}.heritage-filters button{background:white;border:1px solid var(--line);border-radius:20px;font-size:12px;padding:6px 10px;color:var(--ink)}.heritage-filters button.active{background:var(--orange);color:white;border-color:var(--orange)}.heritage-result{width:100%;display:flex;text-align:left;align-items:center;gap:12px;background:white;border:0;border-bottom:1px solid var(--line);padding:12px 4px;color:var(--ink)}.heritage-result.selected{background:#fff6eb;outline:1px solid #f5cb9e;border-radius:6px}.heritage-result img{width:76px;height:63px;object-fit:cover;border-radius:5px}.heritage-result strong,.heritage-result small{display:block}.heritage-result small{font-size:11px;color:#6e7e88}.heritage-result strong{font-size:13px}.heritage-map-wrap{position:relative;min-width:0;border-radius:9px;overflow:hidden;border:1px solid var(--line)}#heritage-map{height:100%;width:100%;background:#dce8dc}.heritage-map-message{position:absolute;top:14px;left:50%;transform:translateX(-50%);z-index:450;background:white;border-radius:6px;box-shadow:0 3px 18px #0002;max-width:70%;padding:8px 12px;text-align:center}.heritage-map-message:empty{display:none}.heritage-fit{position:absolute;left:12px;bottom:26px;z-index:450;background:white;border:0;border-radius:6px;padding:9px;box-shadow:0 2px 8px #0002;color:var(--ink)}.heritage-legend{position:absolute;right:10px;bottom:26px;z-index:450;background:#fffffff2;padding:10px;border-radius:6px;font-size:11px}.heritage-legend strong{display:block;margin-bottom:5px}.legend-dot{display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:7px;background:#777}.legend-dot.museum{background:#ed8827}.legend-dot.historic{background:#278c51}.legend-dot.landscape{background:#168fca}.legend-dot.culture{background:#9642bb}.heritage-pin{background:transparent;border:0}.heritage-pin span{display:grid;place-items:center;width:32px;height:38px;border-radius:18px 18px 18px 3px;transform:rotate(-45deg);border:2px solid white;background:var(--pin);box-shadow:0 2px 5px #0007}.heritage-pin b{transform:rotate(45deg);color:white;font-size:18px}.heritage-pin.selected span{outline:3px solid #f7b054;scale:1.15}.heritage-detail[hidden]{display:none}.heritage-detail .detail-photo{width:100%;height:180px;object-fit:cover;border-radius:6px}.heritage-detail h2{font-size:20px;margin:10px 0 5px}.heritage-detail h3{font-size:15px;margin:20px 0 5px}.heritage-detail p{white-space:pre-line}.heritage-close{position:absolute;top:8px;right:8px;border:0;background:white;border-radius:50%;width:34px;height:34px;box-shadow:0 1px 6px #0003;font-size:24px;z-index:2}.detail-actions{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.detail-actions a,.detail-actions button,.heritage-toolbar button,.editor-actions button:first-child{border:0;background:var(--orange);color:white;padding:10px 14px;border-radius:6px;text-decoration:none}.detail-info{border-top:1px solid var(--line)}.detail-info div{padding:9px 0;display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line)}.detail-info dt{font-weight:bold}.detail-info dd{margin:0;text-align:right}.heritage-toolbar{display:flex;align-items:center;gap:15px;padding:12px;background:white;flex-wrap:wrap}.heritage-toolbar span{flex:1}.heritage-admin .heritage-workspace{height:75vh;min-height:600px}.heritage-admin .heritage-banner{min-height:110px}.heritage-errors{background:#fff1f0;color:#a52222;padding:12px}.heritage-editor{border:0;border-radius:12px;width:min(650px,94vw);max-height:90dvh;padding:24px;color:var(--ink);box-shadow:0 20px 80px #0005}.heritage-editor::backdrop{background:#102c4066}.heritage-editor label{display:block;margin:12px 0}.heritage-editor input,.heritage-editor select,.heritage-editor textarea{display:block;width:100%;padding:10px;border:1px solid #ccd7df;border-radius:6px;margin-top:5px}.editor-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.editor-heading{display:flex;justify-content:space-between;align-items:center}.editor-heading h2{margin:0}.editor-heading button{font-size:25px;border:0;background:none}.editor-actions{display:flex;gap:10px;margin-top:20px}.mobile-only,.heritage-mobile-search{display:none}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.heritage-app button:focus-visible,.heritage-app a:focus-visible{outline:3px solid #1e8ac8;outline-offset:3px}.heritage-empty{padding:25px 8px;color:#6e7e88}.heritage-admin .heritage-workspace:has(.heritage-detail:not([hidden])){grid-template-columns:280px minmax(250px,1fr) 310px}
@media(max-width:1200px){.heritage-workspace:has(.heritage-detail:not([hidden])){grid-template-columns:270px minmax(0,1fr) 290px}.heritage-workspace{grid-template-columns:270px minmax(0,1fr)}.heritage-admin .heritage-workspace:has(.heritage-detail:not([hidden])){grid-template-columns:250px 1fr}.heritage-admin .heritage-detail{position:fixed;right:15px;top:10vh;width:340px;max-height:80vh;z-index:1001;box-shadow:0 10px 70px #0005}}
@media(max-width:800px){.heritage-banner{padding:18px 14px;min-height:110px;gap:8px}.heritage-banner h1{font-size:20px}.heritage-banner p{font-size:15px}.heritage-banner em{display:none}.heritage-workspace,.heritage-workspace:has(.heritage-detail:not([hidden])),.heritage-admin .heritage-workspace,.heritage-admin .heritage-workspace:has(.heritage-detail:not([hidden])){display:block;height:calc(100dvh - 110px);min-height:420px;padding:0;position:relative}.heritage-map-wrap{height:100%;border-radius:0}.heritage-list{display:none}.heritage-list.is-open{display:block;position:fixed;inset:12px 10px;z-index:1100;padding-top:50px;box-shadow:0 0 0 100vmax #102c4070}.heritage-detail,.heritage-admin .heritage-detail{position:fixed;inset:auto 10px 12px;width:auto;max-height:85dvh;z-index:1101;box-shadow:0 0 0 100vmax #102c4070}.mobile-only{display:block}.heritage-mobile-search{display:block;position:absolute;top:14px;left:12px;right:60px;padding:12px;background:white;z-index:500;border:0;border-radius:8px;box-shadow:0 2px 12px #0003;color:var(--ink);text-align:left}.heritage-legend{font-size:10px;padding:8px}.heritage-toolbar{font-size:12px}.heritage-admin .heritage-workspace{height:70dvh}.editor-grid{gap:8px}.heritage-detail .detail-photo{height:190px}}

@media(max-width:800px){.heritage-map-message{top:72px;max-width:90%;width:max-content}}
.heritage-app .leaflet-control-layers-toggle{background-image:none;display:grid;place-items:center;color:#183c50;text-decoration:none}.heritage-app .leaflet-control-layers-toggle::before{content:"▱";font-size:29px}.heritage-app .leaflet-control-layers label{font:13px Arial,sans-serif}
.site-main > .heritage-app{margin:0;isolation:isolate}.site-main > .heritage-app .heritage-workspace{height:clamp(560px,72vh,820px)}
@media(max-width:800px){.site-main > .heritage-app .heritage-workspace{height:70dvh;min-height:460px}}
.heritage-banner p,.heritage-banner em{color:#fff}.heritage-map-wrap .leaflet-container{cursor:default}.heritage-admin .heritage-map-wrap .leaflet-container{cursor:grab}
.heritage-area-menu{position:absolute;left:12px;bottom:72px;z-index:600;width:320px;max-width:calc(100% - 24px);padding:12px;background:#fff;border:1px solid #dbe5df;border-radius:10px;box-shadow:0 6px 30px #183c5033;color:#183c50}.heritage-area-menu[hidden]{display:none}.area-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.area-heading button{background:none;border:0;font-size:25px;color:#183c50}.heritage-area-menu input{width:100%;padding:10px;border:1px solid #dbe5df;border-radius:6px}.area-options{max-height:min(300px,35dvh);overflow:auto;margin-top:8px;overscroll-behavior:contain}.area-options button{display:block;width:100%;padding:10px;text-align:left;background:white;border:0;border-bottom:1px solid #edf1ee;color:#183c50}.area-options button:hover,.area-options button[aria-pressed=true]{background:#fff1dc;color:#955414}.heritage-fit{max-width:calc(100% - 24px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.heritage-app .heritage-result,.heritage-app .heritage-result.selected{border-radius:0}
.heritage-app .heritage-close{display:grid;place-items:center;padding:0;color:var(--ink);background:#fff;opacity:1;visibility:visible;line-height:1}.heritage-app .heritage-close:hover,.heritage-app .heritage-close:focus-visible{color:var(--ink);background:#fff1dc}
/* Mobile overlays must escape the map's stacking order beneath the fixed header. */
@media(max-width:800px){
 .site-main > .heritage-app:has(.heritage-list.is-open),
 .site-main > .heritage-app:has(.heritage-detail:not([hidden])),
 .site-main > .heritage-app:has(.heritage-area-menu:not([hidden])){position:relative;z-index:1500}
 body:has(.site-main > .heritage-app .heritage-list.is-open),
 body:has(.site-main > .heritage-app .heritage-detail:not([hidden])),
 body:has(.site-main > .heritage-app .heritage-area-menu:not([hidden])){overflow:hidden}
 .site-main > .heritage-app .heritage-area-menu{position:fixed;inset:12px 10px auto;width:auto;max-width:none;max-height:calc(100dvh - 24px);z-index:1102;box-shadow:0 0 0 100vmax #102c4070;overflow:auto}
 .site-main > .heritage-app .area-options{max-height:calc(100dvh - 180px)}
}
.heritage-app .leaflet-control-attribution{max-width:100%;font-size:10px;line-height:1.3;padding:2px 5px;background:rgba(255,255,255,.85);color:#44534e}
.heritage-settings .heritage-settings-check{display:flex;align-items:flex-start;gap:10px;margin-top:24px}.heritage-settings .heritage-settings-check input{width:20px;height:20px;margin:0;flex-shrink:0}.heritage-settings p{line-height:1.6}
.heritage-app #places-close{display:none}@media(max-width:800px){.heritage-app .heritage-list.is-open #places-close{display:grid}}
.heritage-app .heritage-banner{display:block;min-height:0;padding:0;background:none}.heritage-app .heritage-banner-image{display:block;width:100%;height:auto;max-width:100%;border-radius:0}
.heritage-app .heritage-map-wrap .leaflet-container.leaflet-grab{cursor:grab}.heritage-app .heritage-map-wrap .leaflet-container.leaflet-dragging{cursor:grabbing}
/* Keep Leaflet panes and controls below the sticky admin topbar. */
.heritage-admin .heritage-map-wrap{isolation:isolate;z-index:0}
.heritage-app .heritage-editor .editor-heading button{display:grid;place-items:center;flex-shrink:0;width:44px;height:44px;padding:0;border:1px solid #dbe5df;border-radius:50%;background:#fff;color:#183c50;font-size:28px;line-height:1;opacity:1;visibility:visible}.heritage-app .heritage-editor .editor-heading button:hover,.heritage-app .heritage-editor .editor-heading button:focus-visible{background:#fff1dc;color:#183c50;transform:none}
@media(min-width:801px){.site-main > .heritage-app .heritage-workspace{height:calc(clamp(560px,72vh,820px) + 200px)}.heritage-admin .heritage-workspace{height:calc(75vh + 200px);min-height:800px}}
.heritage-pin span{width:calc(32px * 2 / 3);height:calc(38px * 2 / 3);border-radius:12px 12px 12px 2px;border-width:calc(2px * 2 / 3);box-shadow:0 1.333px 3.333px #0007}.heritage-pin b{font-size:12px}.heritage-pin.selected span{outline-width:2px}
.heritage-cluster{background:none;border:0}.heritage-cluster span{display:grid;place-items:center;width:32px;height:32px;border:2px solid #fff;border-radius:50%;background:#e67b16;color:#fff;font:bold 13px Arial,sans-serif;box-shadow:0 0 0 4px #f6ac5266,0 2px 7px #0004}
.heritage-photo-nav{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:7px 0}.heritage-app .heritage-photo-nav button{padding:0;width:36px;height:36px;min-width:36px;min-height:36px;background:#eff4f1;color:#183c50;border:1px solid #dbe5df;border-radius:6px;font-size:26px}.heritage-photo-thumbs{display:flex;gap:6px;overflow:auto;padding:3px;margin-bottom:12px}.heritage-app .heritage-photo-thumbs button{flex:0 0 58px;padding:0;background:none;border:2px solid transparent;border-radius:5px;overflow:hidden}.heritage-photo-thumbs button[aria-pressed=true]{border-color:#f28b21}.heritage-photo-thumbs img{display:block;width:54px;height:44px;object-fit:cover}.heritage-gallery-edit{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.heritage-gallery-edit img{display:block;width:100%;height:95px;object-fit:cover;border-radius:5px}.heritage-gallery-edit small{display:block;overflow-wrap:anywhere}.heritage-editor .heritage-gallery-edit label{margin:0}.heritage-editor .heritage-gallery-edit label span{display:flex;align-items:center;gap:6px}.heritage-editor .heritage-gallery-edit input{width:auto;margin:0}
.heritage-extra-editor{border:1px solid #dbe5df;border-radius:7px;padding:12px;margin:18px 0}.heritage-extra-row{border-bottom:1px solid #dbe5df;padding-bottom:12px;margin-bottom:12px}.heritage-app .heritage-extra-editor button{padding:8px 12px;border:1px solid #dbe5df;border-radius:6px;background:#eff4f1;color:#183c50}.heritage-app .heritage-extra-editor .extra-info-remove{color:#a92a21;background:#fff1ee}.detail-extra-info dd{white-space:pre-wrap;overflow-wrap:anywhere}.detail-extra-info dt{overflow-wrap:anywhere}.detail-extra-info div{display:block}.detail-extra-info dd{text-align:left;margin-top:5px}
.detail-info .detail-custom-value{white-space:pre-wrap;overflow-wrap:anywhere}.detail-info dt{overflow-wrap:anywhere}
.heritage-toolbar .heritage-category-link{padding:9px 12px;border:1px solid #dbe5df;border-radius:6px;color:#183c50;background:#fff;text-decoration:none}.heritage-category-page .panel{padding:18px;margin:15px 0}.heritage-category-page form{max-width:650px}.heritage-category-page label{display:block;margin:12px 0}.heritage-category-page summary{cursor:pointer;font-weight:700}.heritage-category-delete{margin-top:18px;border-top:1px solid #dbe5df;padding-top:12px}.heritage-category-page input[type=color]{height:44px;padding:4px}
/* Heritage map visual refresh: restrained forest tones and readable controls. */
.heritage-app{--ink:#173e33;--orange:#d87a2b;--line:#e2e9e3;font-family:Arial,sans-serif;background:#f2f5f0}
.heritage-banner-mobile{display:none}
.heritage-app .heritage-workspace{gap:16px;padding:16px}
.heritage-app .heritage-list,.heritage-app .heritage-detail{border-color:#dce5dc;box-shadow:0 4px 24px #173e3308}
.heritage-app .heritage-list{padding:18px}
.heritage-app #place-search{background:#f7f9f5;border-color:#dce6dc;padding:13px 14px;font-size:13px}
.heritage-app #place-search:focus{outline:2px solid #28735266;outline-offset:2px}
.heritage-app .heritage-filters{gap:7px;margin-top:14px}
.heritage-app .heritage-filters button{padding:7px 11px;font-size:11px;font-weight:600;border-color:#e1e8df;color:#385d4b;transition:background .15s,color .15s}
.heritage-app .heritage-filters button.active{background:#18563f;border-color:#18563f;color:#fff}
.heritage-app .heritage-filters button:hover{background:#eaf2e8;color:#18563f;transform:none}
.heritage-app .heritage-filters button.active:hover{background:#18563f;color:#fff}
.heritage-app .heritage-list h2{margin:22px 0 12px;font-size:14px;letter-spacing:.1px}
.heritage-app .heritage-result{padding:14px 0;gap:12px;border-color:#e7ece5;border-radius:0}
.heritage-app .heritage-result:hover{background:#f3f7ef;transform:none}
.heritage-app .heritage-result.selected{background:#edf4e7;outline:0;border-left:3px solid #24724c;padding-left:8px;border-radius:0}
.heritage-app .heritage-result img{width:74px;height:64px;border-radius:5px}
.heritage-app .heritage-result strong{font-size:14px;line-height:1.45;margin:3px 0}
.heritage-app .heritage-result small{font-size:11px;color:#6a8073;line-height:1.4}
.heritage-app .heritage-map-wrap{border-color:#d6e1d5;box-shadow:0 4px 24px #173e3308}
.heritage-base-tiles{filter:saturate(.7) contrast(.96)}
.heritage-app .leaflet-bar,.heritage-app .leaflet-control-layers{border:1px solid #d5e1d4!important;border-radius:9px;box-shadow:0 3px 12px #173e3317;overflow:hidden}
.heritage-app .leaflet-bar a{color:#214f3b;background:#fff;width:36px;height:36px;line-height:36px;min-width:0;min-height:0}
.heritage-app .leaflet-bar a:hover{background:#edf4e8}
.heritage-app .leaflet-bar a.leaflet-disabled{background:#f7f9f4;color:#a4b1a5}
.heritage-app .heritage-fit{background:#fff;color:#214f3b;border:1px solid #d5e1d4;font-size:12px;font-weight:600;box-shadow:0 3px 14px #173e331a;padding:11px 13px}
.heritage-app .heritage-fit:hover{background:#edf4e8;transform:none}
.heritage-app .heritage-legend{padding:12px;background:#fffffff2;box-shadow:0 3px 14px #173e3312;border:1px solid #dce5d7;border-radius:8px;line-height:1.9;color:#49644f}
.heritage-app .heritage-legend strong{color:#234a36;margin-bottom:5px;font-size:11px}
.heritage-app .heritage-detail h2{font-size:21px;color:#173e33;line-height:1.4}
.heritage-app .heritage-detail h3{color:#234f39}
.heritage-app .detail-actions a,.heritage-app .detail-actions button{font-weight:600;font-size:12px}
.heritage-app .detail-info{font-size:12px}
.heritage-app .detail-info dt{color:#45624e}
.heritage-app .heritage-mobile-search{color:#234f39;font-size:13px;border:1px solid #dae4d6;padding:13px 14px;box-shadow:0 4px 14px #173e331f}
@media(max-width:800px){
 .heritage-app .heritage-banner-image{display:none}
 .heritage-app .heritage-banner-mobile{display:block;position:relative;min-height:200px;padding:23px 24px 20px;color:#fff;background:linear-gradient(90deg,#0a3029ed 0%,#0a3029a6 60%,#0a30294d 100%),url('../images/home/footer-landscape.webp') 62% center/cover}
 .heritage-banner-eyebrow{font-size:10px;font-weight:700;letter-spacing:1.8px;color:#f7cf95}
 .heritage-app .heritage-banner-title{font-family:Georgia,serif;font-size:33px;line-height:1.12;letter-spacing:-.6px;margin-top:12px;font-weight:600;color:#fff}
 .heritage-app .heritage-banner-mobile p{font:12px/1.6 Arial,sans-serif;margin:12px 0 0;color:#e1e9dc}
 .heritage-banner-coordinate{position:absolute;bottom:22px;right:20px;writing-mode:vertical-rl;font-size:8px;letter-spacing:2px;color:#dce7d0}
 .heritage-app .heritage-workspace{padding:0}
 .heritage-app .heritage-list.is-open{padding:56px 18px 18px}
 .heritage-app .heritage-legend{padding:8px 10px;font-size:10px;line-height:1.7}
 .heritage-app .heritage-map-wrap{border-radius:0}
 .heritage-app .heritage-filters button{min-height:35px}
 .heritage-app .heritage-result{min-height:85px}
 .heritage-app .heritage-detail{padding:15px}
}
@media(max-width:800px){.heritage-app .heritage-banner-title{font-family:Arial,sans-serif;font-size:30px;font-weight:700;line-height:1.16;letter-spacing:-.7px}}
/* Public mobile map fills the viewport below the fixed site header. */
@media(max-width:800px){
 body:has(.site-main > .heritage-app){height:100dvh;overflow:hidden}
 body:has(.site-main > .heritage-app) .site-shell{height:100dvh;min-height:0;overflow:hidden}
 .museum-body:has(.site-main > .heritage-app) .site-main{padding:0;min-height:0}
 .site-main > .heritage-app .heritage-banner{display:none}
 .site-main > .heritage-app .heritage-workspace{height:calc(100dvh - var(--mobile-public-header-offset,90px));min-height:0;padding:0}
 body:has(.site-main > .heritage-app) .museum-footer,
 body:has(.site-main > .heritage-app) .floating-contact-buttons{display:none}
}
.heritage-island-label{background:none;border:0;pointer-events:none;text-align:center}.heritage-island-label span{display:block;color:#a12c26;font:600 13px/1.5 Arial,sans-serif;text-shadow:-1px -1px 0 #fff,1px -1px 0 #fff,-1px 1px 0 #fff,1px 1px 0 #fff,0 0 5px #fff}.heritage-island-label strong{font-weight:700}
@media(min-width:801px){.heritage-app .heritage-fit{top:14px;left:14px;bottom:auto}.heritage-app .heritage-area-menu{top:66px;left:14px;bottom:auto}}
.heritage-settings .heritage-settings-banner{display:block;width:100%;height:auto;max-height:180px;object-fit:contain;background:#f2f5f0;border:1px solid #dbe5df;border-radius:6px;margin:12px 0}.heritage-settings .heritage-banner-error{color:#a92a21;background:#fff1ee;padding:10px;border-radius:6px}
