/* Only the WorldMap page; existing themes and other pages stay untouched. */
.sr-worldmap { color:#493b29; }
.sr-worldmap [hidden] { display:none !important; }
.sr-worldmap .sr-map-heading { margin-bottom:18px; }
.sr-worldmap .sr-map-eyebrow { color:#7c653d; text-transform:uppercase; letter-spacing:.12em; font-size:11px; font-weight:bold; margin-bottom:7px; }
.sr-worldmap h1 { font:bold 30px/1.2 Georgia, 'Times New Roman', serif; color:#584323; margin:0 0 10px; }
.sr-worldmap .sr-map-heading > p:last-child { max-width:650px; margin-bottom:0; }
.sr-worldmap .sr-map-navigation { display:flex; flex-wrap:wrap; gap:7px; margin:0 0 14px; }
.sr-worldmap .sr-map-navigation a { padding:9px 15px; border:1px solid #ad9160; border-radius:3px; background:linear-gradient(#f4e4b7,#debf83); color:#584323; text-decoration:none; font-weight:bold; }
.sr-worldmap .sr-map-navigation a:hover { background:#d9bc82; }
body.sr-nostalgia .sr-worldmap .sr-map-navigation a[aria-current='page'] { color:#fff5d0 !important; background:linear-gradient(#829063,#4a5738); border-color:#69734c; box-shadow:inset 0 0 2px #d9dca3; }
.sr-worldmap .sr-map-panel { overflow:hidden; border:1px solid #ad9160; border-radius:3px; background:#e2cc99; }
.sr-worldmap .sr-map-panel-heading { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px; padding:10px 13px; background:linear-gradient(#7c6b47,#51442e); color:#f3e2b5; }
.sr-worldmap h2 { margin:0; font:bold 21px/1.3 Georgia,serif; color:#f3e2b5; }
body.sr-nostalgia .sr-worldmap .sr-map-original { color:#f3e2b5 !important; font-size:11px; }
.sr-worldmap .sr-map-toolbar { display:flex; align-items:center; flex-wrap:wrap; gap:10px; padding:9px 12px; background:#e8d4a4; border-bottom:1px solid #ad9160; }
.sr-worldmap .sr-map-zoom-controls { display:flex; align-items:center; gap:7px; }
.sr-worldmap button { min-height:36px; min-width:36px; padding:5px 12px; color:#4b3d24; border:1px solid #ac905b; border-radius:2px; background:linear-gradient(#fff0c9,#dfc38a); font:600 13px Arial,sans-serif; }
.sr-worldmap .sr-map-zoom-controls button { font-size:21px; padding:0 8px; }
.sr-worldmap button:hover:not(:disabled) { background:#d6bb80; }
.sr-worldmap button:disabled { opacity:.45; cursor:not-allowed; }
.sr-worldmap output { min-width:48px; font-size:12px; text-align:center; font-variant-numeric:tabular-nums; }
.sr-worldmap .sr-map-toolbar-note { margin-left:auto; color:#75613d; font-size:11px; }
.sr-worldmap .sr-map-viewport { position:relative; background:#69583b url('../images/nostalgia/original/pt_allpg.jpg'); outline-offset:-3px; }
.sr-worldmap .sr-map-stage img { display:block; width:100%; max-width:100%; height:auto; }
.sr-worldmap.is-map-interactive .sr-map-viewport { height:520px; min-height:260px; overflow:hidden; touch-action:none; cursor:grab; }
.sr-worldmap.is-map-interactive .sr-map-stage { position:absolute; left:0; top:0; transform-origin:0 0; will-change:transform; }
.sr-worldmap.is-map-interactive .sr-map-stage img { width:auto; max-width:none; height:auto; user-select:none; pointer-events:none; }
.sr-worldmap .sr-map-viewport.is-dragging { cursor:grabbing; }
.sr-worldmap .sr-map-caption { padding:10px 13px; background:#efe0b5; border-top:1px solid #ad9160; font-size:12px; }
.sr-worldmap .sr-map-caption p { margin:0; }
.sr-worldmap .sr-map-caption p + p { margin-top:5px; color:#786341; font-size:11px; }
.sr-worldmap .sr-map-note { margin:17px 0 0; padding:12px 14px; border-left:3px solid #a68b52; background:#e6d09e; color:#725b35; font-size:11px; }
.sr-worldmap .sr-map-note p { margin:5px 0 8px; }
.sr-worldmap a:focus-visible,.sr-worldmap button:focus-visible,.sr-worldmap .sr-map-viewport:focus-visible { outline:3px solid #496139; outline-offset:2px; }
.sr-worldmap .sr-map-viewport:focus-visible { outline-offset:-3px; }
@media(max-width:700px) {
    .sr-worldmap h1 { font-size:25px; }
    .sr-worldmap .sr-map-navigation { gap:6px; }
    .sr-worldmap .sr-map-navigation a { flex:1 1 calc(50% - 6px); text-align:center; padding:9px 10px; }
    .sr-worldmap .sr-map-panel-heading { padding:9px 10px; }
    .sr-worldmap h2 { font-size:18px; }
    .sr-worldmap.is-map-interactive .sr-map-viewport { height:420px; }
    .sr-worldmap .sr-map-toolbar { padding:8px; gap:8px; }
    .sr-worldmap .sr-map-toolbar-note { flex-basis:100%; margin-left:0; }
}
