/* Marco del SITIO PÚBLICO (barra superior, pie, listados). Los bloques tienen su propio bloques.css. */
* { box-sizing: border-box; }
/* Azul sólido de base + degradado arriba (sin "fixed": Safari en iPhone no lo soporta bien) */
html { -webkit-text-size-adjust: 100%; background: var(--cvq-azul-profundo); }
body {
  margin: 0;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  background: radial-gradient(ellipse 120% 900px at 50% 0%, #163a6e 0%, var(--cvq-azul-profundo) 100%) no-repeat, var(--cvq-azul-profundo);
  color: #fff;
  font-family: var(--cvq-fuente-texto);
}
a { color: inherit; }

.sitio-cab {
  position: sticky; top: 0; z-index: 10;
  display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap;
  padding: 10px var(--cvq-espacio);
  background: rgba(7, 26, 51, .92); backdrop-filter: blur(6px);
  border-bottom: 3px solid var(--cvq-dorado);
}
.sitio-cab__logo { text-decoration: none; font-family: var(--cvq-fuente-titular); font-weight: 900; font-size: 22px; line-height: 1; letter-spacing: .01em; }
.sitio-cab__logo small { display: block; font-family: var(--cvq-fuente-etiqueta); font-weight: 500; font-size: 11px; letter-spacing: .18em; color: #f3d98f; text-transform: uppercase; margin-top: 3px; }
.sitio-cab__nav { display: flex; gap: 4px; }
.sitio-cab__nav a { text-decoration: none; font-family: var(--cvq-fuente-etiqueta); text-transform: uppercase; letter-spacing: .1em; font-size: 14px; padding: 8px 12px; border-radius: 6px; }
.sitio-cab__nav a:hover { background: rgba(255, 255, 255, .12); }

.sitio-main { flex: 1; width: 100%; max-width: 1100px; margin: 0 auto; padding: var(--cvq-espacio); }

.sitio-pie { border-top: 3px solid var(--cvq-dorado); padding: 18px var(--cvq-espacio) 26px; text-align: center; font-size: 15px; color: #d6deeb; }
.sitio-pie p { margin: 4px 0; }
.sitio-pie b { font-family: var(--cvq-fuente-titular); color: #fff; }

.sitio-aviso { max-width: var(--cvq-ancho-edicion); margin: 0 auto 14px; background: #fff7dd; color: #5a4300; border: 1px solid #e6c766; border-radius: 8px; padding: 10px 14px; font-size: 15px; }
.sitio-aviso a { color: var(--cvq-azul-texto); font-weight: 600; }

.sitio-pronto { max-width: 760px; margin: 0 auto; text-align: center; }
.sitio-pronto img { width: 100%; border-radius: var(--cvq-radio); }
.sitio-pronto h1 { font-family: var(--cvq-fuente-titular); font-size: clamp(34px, 6vw, 56px); margin: 22px 0 6px; }

.sitio-lista { max-width: 900px; margin: 0 auto; }
.sitio-lista h1 { font-family: var(--cvq-fuente-titular); font-weight: 900; font-size: clamp(32px, 5vw, 48px); margin: 6px 0 18px; }
.sitio-lista__ediciones { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.sitio-lista__ediciones a {
  display: grid; grid-template-columns: 210px 1fr auto; gap: 12px; align-items: center; text-decoration: none;
  background: var(--cvq-papel); color: var(--cvq-tinta); border-radius: 8px; padding: 14px 18px; box-shadow: 0 4px 14px rgba(0, 0, 0, .3);
}
.sitio-lista__fecha { font-family: var(--cvq-fuente-etiqueta); text-transform: uppercase; letter-spacing: .06em; color: var(--cvq-azul); font-size: 14px; }
.sitio-lista__titulo { font-family: var(--cvq-fuente-titular); font-weight: 700; font-size: 20px; }
.sitio-lista__ver { font-family: var(--cvq-fuente-etiqueta); font-size: 12px; color: var(--cvq-gris); }
.sitio-lista__noticias { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 14px; }
.sitio-tarjeta { display: flex; flex-direction: column; text-decoration: none; background: #fff; color: var(--cvq-tinta); border-radius: 10px; overflow: hidden; box-shadow: 0 4px 14px rgba(0, 0, 0, .3); }
.sitio-tarjeta img, .sitio-tarjeta__sinimg { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; background: linear-gradient(135deg, #dfe6f1, #c3cfe2); }
.sitio-tarjeta > div { padding: 12px 16px 16px; }
.sitio-tarjeta__cat { font-family: var(--cvq-fuente-etiqueta); font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: var(--cvq-rojo); }
.sitio-tarjeta h2 { font-family: var(--cvq-fuente-titular); font-size: 21px; line-height: 1.15; margin: 6px 0; }
.sitio-tarjeta p { margin: 0 0 8px; font-size: 16px; color: #444; }
.sitio-tarjeta time { font-family: var(--cvq-fuente-etiqueta); font-size: 12px; color: var(--cvq-gris); text-transform: uppercase; }

@media (max-width: 640px) {
  .sitio-lista__ediciones a { grid-template-columns: 1fr; gap: 4px; }
  .sitio-cab__logo { font-size: 19px; }
}
