/* Servicios — rincón deportivo y el tiempo: la misma tinta y papel
   de clasificacion.css, con las variables del tema (modo noche
   incluido). Tablas sobrias de periódico, sin escudos ni adornos. */

.serv-h2 {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 27px;
  font-weight: 800;
  margin: 30px 0 8px;
  padding-top: 18px;
  border-top: 2px solid var(--ink);
}
.serv-h3 {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 20px;
  font-weight: 700;
  margin: 20px 0 6px;
}
.serv-h3 a { color: inherit; text-decoration: none; }
.serv-h3 a:hover { text-decoration: underline; }
.serv-h4 {
  font-family: 'Inter', sans-serif;
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ink-soft);
  margin: 16px 0 6px;
}
.serv-nota, .serv-vacio {
  font-family: 'Inter', sans-serif;
  font-size: 13.5px;
  color: var(--ink-soft);
  margin: 0 0 6px;
}
.serv-enlace { font-family: 'Inter', sans-serif; font-size: 13.5px; margin: 10px 0 4px; }
.serv-enlace a { font-weight: 600; }
.serv-sello, .serv-fuente {
  font-family: 'Inter', sans-serif;
  font-size: 12.5px;
  color: var(--ink-soft);
  margin-top: 12px;
}

.serv-scroll { overflow-x: auto; }
.serv-partidos {
  width: 100%;
  min-width: 460px;
  border-collapse: collapse;
  font-family: 'Inter', sans-serif;
  font-size: 14.5px;
  color: var(--ink);
}
.serv-partidos td {
  padding: 6px 8px;
  border-bottom: 1px solid var(--line-soft);
  font-variant-numeric: tabular-nums;
}
.serv-partidos .p-local { text-align: right; width: 38%; font-weight: 600; }
.serv-partidos .p-centro { text-align: center; width: 76px; font-weight: 700; white-space: nowrap; }
.serv-partidos .p-visita { text-align: left; width: 38%; font-weight: 600; }
.serv-partidos .p-estado { text-align: right; font-size: 12px; color: var(--ink-soft); white-space: nowrap; }
.serv-partidos .p-estado.vivo { color: #B00000; font-weight: 700; }

/* Avisos de AEMET: franja sobria con el nivel en el borde. */
.serv-aviso {
  font-family: 'Inter', sans-serif;
  font-size: 13.5px;
  margin: 10px 0;
  padding: 9px 12px;
  border: 1px solid var(--line-soft);
  border-left: 6px solid var(--ink-soft);
  background: var(--paper-dim);
}
.serv-aviso.nivel-amarillo { border-left-color: #b58900; }
.serv-aviso.nivel-naranja { border-left-color: #b85c00; }
.serv-aviso.nivel-rojo { border-left-color: #cc0000; }

/* Estado pendiente del tiempo: caja editorial, nunca un error. */
.serv-pendiente {
  border: 1px solid var(--line-soft);
  background: var(--paper-dim);
  padding: 6px 18px 14px;
  margin: 14px 0;
}
.serv-pendiente p { font-family: 'Inter', sans-serif; font-size: 14px; color: var(--ink-soft); }

/* Selector de municipio. */
.muni-box { margin: 18px 0 6px; position: relative; }
.muni-label {
  display: block;
  font-family: 'Inter', sans-serif;
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ink-soft);
  margin-bottom: 7px;
}
#muni-q {
  width: 100%;
  max-width: 480px;
  padding: 10px 12px;
  font-family: 'Inter', sans-serif;
  font-size: 15px;
  color: var(--ink);
  background: var(--paper);
  border: 1px solid var(--ink);
  border-radius: 0;
}
.muni-resultados {
  list-style: none;
  margin: 0;
  padding: 0;
  max-width: 480px;
  border: 1px solid var(--ink);
  border-top: none;
  background: var(--paper);
  position: absolute;
  z-index: 30;
  width: 100%;
  box-sizing: border-box;
}
.muni-resultados li button {
  display: block;
  width: 100%;
  text-align: left;
  padding: 9px 12px;
  font-family: 'Inter', sans-serif;
  font-size: 14.5px;
  color: var(--ink);
  background: transparent;
  border: 0;
  border-bottom: 1px solid var(--line-soft);
  cursor: pointer;
}
.muni-resultados li button:hover { background: var(--paper-dim); }
.muni-error { font-family: 'Inter', sans-serif; font-size: 13.5px; color: #B00000; margin: 8px 0 0; }
.muni-panel { margin-top: 14px; }
.muni-horas { display: flex; flex-wrap: wrap; gap: 8px; margin: 8px 0 4px; }
.muni-hora {
  border: 1px solid var(--line-soft);
  padding: 7px 10px;
  font-family: 'Inter', sans-serif;
  font-size: 12.5px;
  min-width: 86px;
}
.muni-hora b { display: block; font-size: 13.5px; }
.muni-hora .muni-temp { display: block; font-weight: 700; margin-top: 2px; }

/* Tabla del tiempo (capitales y días del municipio). */
.serv-tiempo {
  width: 100%;
  min-width: 520px;
  border-collapse: collapse;
  font-family: 'Inter', sans-serif;
  font-size: 14.5px;
  color: var(--ink);
}
.serv-tiempo th {
  text-align: left;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ink-soft);
  padding: 8px;
  border-bottom: 2px solid var(--ink);
}
.serv-tiempo td {
  padding: 6px 8px;
  border-bottom: 1px solid var(--line-soft);
  font-variant-numeric: tabular-nums;
}
.serv-tiempo .num { text-align: right; }
.serv-tiempo th.num { text-align: right; }
.serv-tiempo .ciudad { font-weight: 600; }
.serv-tiempo .ciudad .prov { font-weight: 400; font-size: 12.5px; color: var(--ink-soft); }
.serv-tiempo .max { font-weight: 700; }
.muni-dias { min-width: 460px; }

/* Últimas noticias de Deportes. */
.serv-noticias { list-style: none; margin: 10px 0 0; padding: 0; }
.serv-noticias li {
  padding: 9px 0;
  border-bottom: 1px solid var(--line-soft);
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 17px;
  font-weight: 600;
}
.serv-noticias a { color: inherit; text-decoration: none; }
.serv-noticias a:hover { text-decoration: underline; }
.serv-noticias-meta {
  display: block;
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  font-weight: 400;
  color: var(--ink-soft);
  margin-top: 3px;
}
