/* Points revision on the main map. */
body.map-revision-active > :not(#map):not(#map-revision-panel):not(#map-revision-tools):not(.coach-tour):not(script):not(style):not(link) { visibility: hidden !important; pointer-events: none !important; }
body.map-revision-active #map .maplibregl-marker:not(:has(.mr-answer-marker)):not(.mr-answer-marker),
body.map-revision-active #map .maplibregl-popup { visibility: hidden !important; }
#map-revision-panel { position: fixed; z-index: 10050; top: calc(16px + env(safe-area-inset-top, 0px)); left: 16px; width: 390px; max-width: calc(100vw - 32px); max-height: calc(100dvh - 32px - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px)); box-sizing: border-box; overflow-y: auto; border-radius: 5px; padding: 10px 20px 20px; background: #fff; color: #333; box-shadow: 0 4px 15px #0003; font: 16px Arial,sans-serif; }
#map-revision-panel header { display:flex; align-items:center; gap:8px; }
#map-revision-panel h2 { margin:0 auto 0 0; font-size:20px; }
#map-revision-panel h3 { margin:12px 0 20px; font-size:23px; line-height:1.3; overflow-wrap:anywhere; }
#map-revision-panel p { line-height:1.45; }
#map-revision-panel button { border:0; border-radius:6px; padding:10px 14px; min-height:40px; background:#e0e0e0; color:#333; font:14px Arial,sans-serif; cursor:pointer; }
#map-revision-panel button:hover { filter:brightness(.94); }
#map-revision-panel button:focus-visible, #map-revision-panel input:focus-visible, #map-revision-panel select:focus-visible { outline:3px solid #007bff; outline-offset:2px; }
#map-revision-panel button:disabled { opacity:.55; cursor:wait; }
#map-revision-panel button.mr-primary { background:#007bff; color:white; }
#map-revision-panel .mr-body > button { margin:8px 8px 0 0; }
#map-revision-panel label { display:block; margin:12px 0; font-size:14px; color:#555; }
#map-revision-panel select, #map-revision-panel input { display:block; width:100%; box-sizing:border-box; padding:10px; margin-top:5px; border:1px solid #ccc; border-radius:5px; background:#fff; color:#333; font:16px Arial,sans-serif; }
#map-revision-panel .mr-progress, #map-revision-panel .mr-count { color:#555; font-size:14px; }
#map-revision-panel .mr-prompt { margin-bottom:0; color:#555; }
#map-revision-panel .mr-address { padding:12px; background:#f3f6f9; border-radius:5px; }
#map-revision-panel .mr-ratings { display:flex; flex-wrap:wrap; gap:8px; }
#map-revision-panel .mr-ratings button { border-top:5px solid var(--mr-rating); background:#f3f4f6; flex:1; padding:9px; }
#map-revision-panel .mr-status:empty { display:none; }
#map-revision-panel .mr-status { font-size:14px; }
#map-revision-panel.mr-collapsed .mr-body { display:none; }
.mr-answer-marker { width:24px; height:24px; border:3px solid white; border-radius:50%; box-shadow:0 2px 8px #0008; }
@media(max-width:650px) {
 #map-revision-panel { top:auto; bottom:calc(10px + env(safe-area-inset-bottom, 0px)); left:10px; width:calc(100vw - 20px); max-width:none; max-height:55dvh; padding:8px 16px 16px; }
 #map-revision-panel h2 { font-size:18px; }
}
/* Match the original revision colour tiles, postcode picker and rating pins. */
#map-revision-panel .mr-session-actions { display:flex; gap:10px; margin:16px 0; }
#map-revision-panel .mr-session-actions button { flex:1; }
#map-revision-panel .mr-colour-filters { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:5px; margin:18px 0 12px; }
#map-revision-panel .mr-colour-filters button { padding:10px 2px; color:#000; min-height:42px; border-radius:5px; }
#map-revision-panel .mr-colour-filters button.mr-selected { box-shadow:inset 0 0 0 3px #333; font-weight:bold; }
#map-revision-panel .mr-area-button { width:100%; background:white; border:1px solid #ddd; }
#map-revision-panel .mr-ratings { display:flex; flex-wrap:nowrap; justify-content:center; gap:8px; margin:16px 0; }
#map-revision-panel .mr-ratings button { flex:0 0 44px; width:44px; border:0; background:transparent; padding:5px 0; min-width:44px; }
#map-revision-panel .mr-ratings img { display:block; width:40px; max-width:100%; height:auto; margin:auto; }
#map-revision-panel .mr-postcode-dialog { width:calc(100vw - 32px); max-width:440px; max-height:calc(100dvh - 48px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px)); box-sizing:border-box; overflow-y:auto; padding:20px; border:0; border-radius:10px; background:#fff; color:#333; box-shadow:0 4px 10px #0005; font:16px Arial,sans-serif; }
#map-revision-panel .mr-postcode-dialog::backdrop { background:rgba(0,0,0,.4); }
#map-revision-panel .mr-postcode-close { padding:0 8px; background:transparent; color:#888; font-size:28px; font-weight:bold; }
#map-revision-panel .mr-postcode-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; margin-top:20px; }
#map-revision-panel .mr-postcode-grid button { padding:10px 0; background:#007bff; color:white; border-radius:5px; }
#map-revision-panel .mr-postcode-grid button.mr-selected { background:#0056b3; box-shadow:inset 0 0 0 2px #002f65; }
#map-revision-panel .mr-postcode-break { grid-column:1 / -1; height:0; }
@media(max-width:360px) { #map-revision-panel .mr-postcode-grid { gap:6px; } }

#map-revision-panel .mr-question, #map-revision-panel .mr-address { text-align:center; }

#map-revision-panel .mr-filter-row { display:flex; gap:10px; align-items:flex-start; margin:12px 0; }
#map-revision-panel .mr-filter-row > .mr-area-button, #map-revision-panel .mr-filter-row > .mr-day-button { flex:1; min-width:0; }
#map-revision-panel .mr-day-button { width:100%; background:white; border:1px solid #ddd; }

#map-revision-panel .mr-day-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }

#map-revision-panel button.mr-icon-button { display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; width:44px; height:44px; padding:9px; border:0; border-radius:8px; background:transparent; color:#111; }
#map-revision-panel .mr-icon-button svg { display:block; width:26px; height:26px; pointer-events:none; }
#map-revision-panel .mr-icon-button:hover { background:#f0f3f6; }
#map-revision-panel .mr-body > .mr-read-again { display:flex; margin:10px auto 14px; color:#007bff; background:#eef6ff; }
#map-revision-panel .mr-body > .mr-skip { display:flex; margin:10px auto 0; color:#555; background:#f3f4f6; }

#map-revision-panel .mr-question-actions { display:flex; align-items:center; justify-content:center; gap:12px; margin:16px 0 0; }
#map-revision-panel .mr-question-actions .mr-read-again { margin:0; color:#007bff; background:#eef6ff; }
#map-revision-panel .mr-body > .mr-skip { width:auto; justify-content:center; padding:10px 16px; }

#map-revision-panel .mr-question-actions .mr-show-button { background:#fff; color:#111; border:1px solid #ddd; min-width:110px; height:44px; }
#map-revision-panel .mr-question-actions .mr-read-again,
#map-revision-panel .mr-answer-actions .mr-read-again { color:#000; background:#fff; margin:0; }
#map-revision-panel .mr-answer-actions { display:flex; align-items:center; justify-content:center; gap:12px; margin:12px 0 0; }
#map-revision-panel .mr-answer-actions .mr-skip { display:inline-flex; align-items:center; justify-content:center; gap:6px; background:#fff; color:#111; height:44px; padding:0 12px; }
#map-revision-panel .mr-skip-chevron { font-size:32px; font-weight:600; line-height:1; }

#map-revision-panel .mr-answer-actions > button { box-sizing:border-box; height:44px; min-height:44px; margin:0; vertical-align:middle; }
#map-revision-panel .mr-answer-actions .mr-skip { line-height:1; font-weight:400; }
#map-revision-panel .mr-skip-label { display:flex; align-items:center; height:26px; line-height:26px; }
#map-revision-panel .mr-skip-chevron { display:flex; align-items:center; justify-content:center; width:26px; height:26px; line-height:1; }
#map-revision-panel .mr-skip-chevron svg { display:block; width:26px; height:26px; }

#map-revision-panel > header { flex-wrap:wrap; }

#map-revision-tools { position:fixed; top:calc(10px + env(safe-area-inset-top,0px)); left:calc(10px + env(safe-area-inset-left,0px)); right:calc(10px + env(safe-area-inset-right,0px)); z-index:10051; display:flex; justify-content:space-between; pointer-events:none; }
#map-revision-tools button { display:flex; align-items:center; justify-content:center; width:44px; height:44px; padding:10px; box-sizing:border-box; border:0; border-radius:5px; color:#111; background:rgba(255,255,255,.95); box-shadow:0 2px 6px #0003; cursor:pointer; pointer-events:auto; }
#map-revision-tools svg { width:24px; height:24px; pointer-events:none; }
#map-revision-tools button:hover { background:#f0f3f6; }
#map-revision-tools button:focus-visible { outline:3px solid #007bff; outline-offset:2px; }
#map-revision-tools button[aria-pressed="true"] { background:#eef6ff; color:#007bff; }
@media(min-width:651px) {
 #map-revision-panel { top:calc(64px + env(safe-area-inset-top,0px)); max-height:calc(100dvh - 80px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px)); }
}

/* Same Material Symbols and button treatment as the original revision. */
#map-revision-tools button { width:auto; height:44px; padding:10px 20px; font-size:16px; border:none; border-radius:5px; background:rgba(255,255,255,.8); color:#000; box-shadow:0 2px 6px rgba(0,0,0,.15); }
#map-revision-tools button:hover, #map-revision-tools button[aria-pressed="true"] { background:rgba(255,255,255,.8); color:#000; }

#map-revision-panel .mr-answer-actions .mr-skip { background:#fff; color:#111; border:0; border-radius:6px; min-width:110px; height:44px; padding:10px 14px; line-height:normal; }
/* The tour is excluded from the sibling-hiding rule above so its overlay
   stays visible and intercepts clicks while the revision demo is open. */
