/* Mapa mundial. Paleta de la portada. El mapa ocupa el resto de la pantalla. */
@font-face{
  font-family:'Bungee';
  src:url('../fonts/Bungee-Regular.woff2') format('woff2'), url('../fonts/Bungee-Regular.ttf') format('truetype');
  font-display:swap;
}
:root{
  color-scheme:dark;
  --negro:#050505;
  --acento:#ef4a42;
  --crema:#ece4d8;
  --texto:#f2f2f0;
  --tenue:#b5aea7;
  --borde:rgba(255,255,255,.10);
  --marca:'Bungee','Arial Black',sans-serif;
  --cuerpo:'Segoe UI',system-ui,-apple-system,Roboto,sans-serif;
}
*{ box-sizing:border-box; }
html, body{ height:100%; }
body{
  margin:0;
  background:var(--negro);
  color:var(--texto);
  font-family:var(--cuerpo);
  display:flex;
  flex-direction:column;
  height:100dvh;
  padding-top:env(safe-area-inset-top);
}
a{ color:inherit; }

.gm-cab{
  display:flex;
  align-items:center;
  gap:12px;
  padding:8px max(14px, env(safe-area-inset-right)) 8px max(14px, env(safe-area-inset-left));
  border-bottom:1px solid var(--borde);
  background:var(--negro);
  flex:0 0 auto;
}
.gm-volver{
  color:var(--tenue);
  text-decoration:none;
  font-size:14px;
  min-height:44px;
  display:inline-flex;
  align-items:center;
}
.gm-volver:hover{ color:var(--texto); }
.gm-titulo{
  margin:0;
  font-family:var(--marca);
  font-weight:400;
  font-size:20px;
  letter-spacing:.5px;
  line-height:1.1;
  flex:1 1 auto;
}
.gm-titulo span:first-child{ color:var(--acento); }
.gm-idioma{ margin-left:auto; min-height:28px; }

.gm-marco{ position:relative; flex:1 1 auto; min-height:0; }
#map{ position:absolute; inset:0; }

.gm-aviso{
  position:absolute;
  left:50%;
  top:16px;
  transform:translateX(-50%);
  z-index:2;
  margin:0;
  max-width:min(420px, calc(100% - 28px));
  padding:10px 14px;
  border-radius:12px;
  background:#171010;
  border:1px solid rgba(239,74,66,.45);
  color:var(--crema);
  text-align:center;
  font-size:14px;
}

.maplibregl-ctrl-group{
  background:#100b0b;
  border:1px solid var(--borde);
  border-radius:12px;
  overflow:hidden;
}
.maplibregl-ctrl-group button{
  width:44px;
  height:44px;
  background-color:#100b0b;
}
.maplibregl-ctrl-group button + button{ border-top:1px solid var(--borde); }
.maplibregl-ctrl-group button:hover{ background-color:#1c1414; }
.maplibregl-ctrl-bottom-right{ margin:0 8px calc(8px + env(safe-area-inset-bottom)) 0; }
.maplibregl-ctrl-bottom-left{
  margin:0 0 calc(8px + env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left));
  max-width:calc(100% - 70px);
}
.maplibregl-ctrl-attrib{
  background:rgba(5,5,5,.88);
  color:var(--tenue);
  font-size:11px;
  line-height:1.35;
}
.maplibregl-ctrl-attrib a{ color:var(--crema); }
.maplibregl-ctrl button:focus-visible,
.gm-volver:focus-visible{ outline:2px solid #fff; outline-offset:2px; }

@media (max-width: 520px){
  .gm-titulo{ font-size:16px; }
}
