/* Shared radar map. Category colours are data-driven and set inline by
   maps/section.php, so adding a country needs no rule here. */
.sm-radar-section { padding: 1rem 0 4rem; scroll-margin-top: 130px; }
.sm-map-heading { display: flex; justify-content: space-between; align-items: end; gap: 1.5rem; margin-bottom: 1.5rem; }
.sm-map-eyebrow { color: #93c5fd; font-size: .8rem; letter-spacing: .12em; }
.sm-map-heading h2 { color: #f8fafc; font-size: clamp(1.9rem, 4vw, 2.8rem); font-weight: 800; margin: .5rem 0 .75rem; }
.sm-map-heading p { max-width: 42rem; margin: 0; color: #cbd5e1; line-height: 1.8; }
.sm-map-app-link, .sm-hero-map-link { color: #bfdbfe; text-underline-offset: 5px; }
.sm-map-app-link { padding-bottom: .25rem; }
.sm-hero-map-link { display: inline-block; margin-top: .5rem; font-weight: 600; }
.sm-map-card { border: 1px solid #475569; border-radius: 20px; overflow: hidden; background: #1e293b; }
.sm-map-toolbar { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: .75rem; padding: 1rem; }
.sm-map-filters { display: flex; flex-wrap: wrap; gap: .5rem; }
.sm-map-toolbar button { display: inline-flex; align-items: center; justify-content: center; gap: .45rem; border: 1px solid #64748b; border-radius: 9px; background: #0f172a; color: #e2e8f0; min-height: 44px; padding: .6rem .85rem; font-size: .85rem; }
.sm-map-toolbar button[aria-pressed="true"] { background: #2563eb; border-color: #60a5fa; color: #fff; }
.sm-map-toolbar button:disabled { cursor: wait; opacity: .7; }
.sm-map-toolbar button span { font-variant-numeric: tabular-nums; }
.sm-map-toolbar .sm-map-reset { background: transparent; }
.sm-map-dot { display: inline-block; flex-shrink: 0; width: 9px; height: 9px; border-radius: 50%; }
.sm-map-canvas { height: 560px; min-height: 400px; background: #dbe5e7; color: #0f172a; z-index: 0; }
.sm-map-points { position: absolute; pointer-events: none; }
.sm-map-canvas .leaflet-control-attribution { color: #334155; background: rgba(255,255,255,.94); font-size: 11px; }
.sm-map-canvas .leaflet-control-attribution a { color: #164b77; }
.sm-map-canvas .leaflet-bar a { width: 40px; height: 40px; line-height: 40px; color: #0f172a; }
.sm-map-canvas .leaflet-popup-content { font-family: 'Inter', sans-serif; font-size: 14px; line-height: 1.7; }
.sm-map-canvas .leaflet-popup-content p { margin: .4rem 0; }
.sm-map-canvas .leaflet-popup-content strong { color: #0f172a; }
.sm-map-canvas .leaflet-popup-close-button { width: 32px; height: 32px; font-size: 24px; }
.sm-map-footer { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .5rem 1.5rem; padding: .85rem 1rem; color: #cbd5e1; font-size: .82rem; }
.sm-map-footer p { margin: 0; }
.sm-map-note { color: #cbd5e1; font-size: .82rem; line-height: 1.8; margin: 1rem 0; }
.sm-map-note a { color: #bfdbfe; text-underline-offset: 3px; }
.sm-map-list { color: #cbd5e1; font-size: .9rem; border-top: 1px solid #334155; padding-top: 1rem; }
.sm-map-list summary { cursor: pointer; padding: .5rem 0; }
.sm-map-list ol { max-height: 22rem; overflow: auto; padding-left: 1.5rem; }
.sm-map-list li { padding: .4rem 0; }
.sm-map-list button { color: #bfdbfe; border: 0; background: transparent; text-align: left; text-decoration: underline; text-underline-offset: 3px; padding: .5rem; }
.sm-radar-section button:focus-visible, .sm-radar-section a:focus-visible, .sm-radar-section summary:focus-visible, .sm-map-canvas:focus-visible { outline: 3px solid #fbbf24; outline-offset: 3px; }

/* Thai and Korean need a little more leading than the Latin default. */
html[lang|="th"] .sm-map-note, html[lang|="th"] .sm-map-heading p,
html[lang|="ko"] .sm-map-note, html[lang|="ko"] .sm-map-heading p { line-height: 1.95; }

@media (max-width: 767px) {
    html[lang|="el"] .hero-content h1, html[lang|="th"] .hero-content h1, html[lang|="ko"] .hero-content h1 {
        font-size: clamp(2rem, 8.8vw, 3.5rem); overflow-wrap: anywhere;
    }
    .sm-map-heading { align-items: start; flex-direction: column; gap: 1rem; }
    .sm-map-toolbar { padding: .75rem; }
    .sm-map-filters { width: 100%; }
    .sm-map-toolbar button { flex: 1 1 auto; font-size: .8rem; padding: .55rem .6rem; }
    .sm-map-toolbar .sm-map-reset { flex: 0 0 auto; }
    .sm-map-canvas { height: 65svh; min-height: 420px; max-height: 600px; }
    .sm-map-footer { font-size: .76rem; }
}
