/* Cestovatel.cz — mapa navštívených zemí (/mapa-sveta/).
 *
 * Barvy navštívených zemí míchá skript (hsl s pevnou sytostí a světlostí),
 * tenhle soubor řeší jen podklad, obrys a stavy. Proměnné jsou kvůli nočnímu
 * režimu: moře a nevybarvená země musí ztmavnout, barvy zemí ne.
 */

:root{
  --mapa-more:#e7eef1;      /* podklad pod mapou */
  --mapa-zeme:#cfd8dd;      /* nenavštívená země */
  --mapa-obrys:#f7fafb;     /* hranice mezi zeměmi */
  --mapa-najeti:#aebcc4;
}
:root[data-rezim="noc"]{
  --mapa-more:#111819;
  --mapa-zeme:#2b3637;
  --mapa-obrys:#151d1e;
  --mapa-najeti:#3c4a4c;
}

.mapa-obal{padding-bottom:clamp(36px,6vw,64px)}

.mapa{margin:clamp(14px,2.4vw,24px) 0 clamp(22px,3vw,32px)}

.mapa__plocha{background:var(--mapa-more);border-radius:3px;overflow:hidden;
  /* Výška je daná poměrem SVG (1000×495), tohle jen drží místo, než se mapa
     dotáhne — bez něj by stránka v tu chvíli poskočila o půl obrazovky. */
  aspect-ratio:1000/495;display:flex;align-items:center;justify-content:center}
.mapa__plocha .mapa__svg{width:100%;height:auto;display:block;touch-action:manipulation}
.mapa__nacitam{margin:0;font-size:14.5px;color:var(--tichy)}

.mapa__zeme{fill:var(--mapa-zeme);stroke:var(--mapa-obrys);stroke-width:.6;
  cursor:pointer;transition:fill .12s ease-out}
.mapa__zeme:hover{fill:var(--mapa-najeti)}
.mapa__zeme.je-navstiveno:hover{filter:brightness(1.12)}

.mapa__lista{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;
  gap:12px;margin-top:12px}
.mapa__pocet{margin:0;font-family:var(--display);font-weight:800;
  font-size:clamp(15px,2vw,18px);letter-spacing:-.015em;color:var(--akcent)}
.mapa__akce{display:flex;gap:8px;flex-wrap:wrap}

.mapa__text{max-width:var(--cteni);margin:clamp(26px,4vw,42px) 0 0}
.mapa-vyzva{margin:0 0 16px;padding:12px 16px;background:var(--plocha);border-radius:3px;
  font-size:14.5px;line-height:1.55}

/* ------------------------------------------------------------- seznam zemí */

.mapa__seznam{margin:clamp(24px,4vw,40px) 0 0}
.mapa__seznam h2{font-family:var(--display);font-weight:800;
  font-size:clamp(19px,2.2vw,24px);letter-spacing:-.02em;margin:0 0 8px}
.mapa__napoveda{margin:0 0 14px;font-size:14.5px;line-height:1.6;color:var(--tichy);
  max-width:var(--cteni)}

.mapa__hledani{display:block;max-width:360px;margin:0 0 18px}
.mapa__hledani-popis{display:block;font-family:var(--display);font-weight:700;
  font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--tichy);
  margin-bottom:6px}
.mapa__hledani input{width:100%;padding:11px 14px;border:1px solid var(--linka);
  border-radius:3px;background:var(--karta);color:var(--inkoust);font:inherit;font-size:15px}
.mapa__hledani input:focus-visible{outline:2px solid var(--akcent);outline-offset:1px}

.mapa__skupina{margin:0 0 18px}
.mapa__skupina h3{font-family:var(--display);font-weight:800;font-size:15px;
  letter-spacing:-.01em;margin:0 0 8px}
.mapa__skupina ul{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));
  gap:2px 14px;margin:0;padding:0;list-style:none}
.mapa__skupina li{margin:0}
.mapa__skupina label{display:flex;align-items:center;gap:8px;padding:4px 0;
  font-size:14.5px;line-height:1.4;cursor:pointer}
.mapa__skupina input{width:16px;height:16px;accent-color:var(--akcent);flex:none}

@media (prefers-reduced-motion:reduce){
  .mapa__zeme{transition:none}
}
