/* Sociedad de Fomento Villa Aeropuerto — tema sobre Bootstrap 5.3.
   Colores y letras salen del escudo (ver la guía visual del diseño). */

:root {
  --sf-verde: #2D673B;
  --sf-verde-noche: #1F4A2A;
  --sf-verde-medio: #3F7A4C;
  --sf-verde-claro: #E2EEDB;
  --sf-verde-texto: #24562F;
  --sf-pasto: #8BAD6B;
  --sf-salvia: #A2B6A2;
  --sf-fondo: #F3F5F0;
  --sf-sutil: #EEF2EB;
  --sf-tinta: #1C2B20;
  --sf-gris: #5B635D;
  --sf-gris-oscuro: #3E4640;
  --sf-borde: #DCE3D8;
  --sf-borde-campo: #C9D2C5;
  --sf-ambar-fondo: #FBE6CF;
  --sf-ambar-texto: #8A4200;
  --sf-azul-fondo: #DDEAF5;
  --sf-azul-texto: #1D4F7A;
  --sf-rojo: #A12A1F;
  --sf-titulos: 'Montserrat', system-ui, sans-serif;

  --bs-body-font-family: 'Public Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --bs-body-font-size: 1.0625rem;
  --bs-body-line-height: 1.55;
  --bs-body-color: var(--sf-tinta);
  --bs-body-bg: var(--sf-fondo);
  --bs-emphasis-color: var(--sf-tinta);
  --bs-secondary-color: var(--sf-gris);
  --bs-border-color: var(--sf-borde);
  --bs-border-radius: .75rem;
  --bs-border-radius-lg: 1rem;
  --bs-primary: #2D673B;
  --bs-primary-rgb: 45, 103, 59;
  --bs-link-color: #2D673B;
  --bs-link-color-rgb: 45, 103, 59;
  --bs-link-hover-color: #1F4A2A;
  --bs-link-hover-color-rgb: 31, 74, 42;
  --bs-focus-ring-color: rgba(45, 103, 59, .3);
}

body { background: var(--sf-fondo); }

h1, h2, h3, .titulo {
  font-family: var(--sf-titulos);
  font-weight: 800;
  color: var(--sf-tinta);
  letter-spacing: -.01em;
}

.rotulo {
  font-family: var(--sf-titulos);
  font-weight: 700;
  font-size: .8125rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--sf-verde);
}

.texto-suave { color: var(--sf-gris); }
.texto-medio { color: var(--sf-gris-oscuro); }
.num { font-variant-numeric: tabular-nums; }

.saltar { position: absolute; left: 1rem; top: 1rem; z-index: 2000; background: #fff; padding: .5rem 1rem; border-radius: .5rem; }

/* Íconos de trazo, pintados con el color del texto */
.icono { fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; flex-shrink: 0; }

/* ---------- Botones: 48 px de alto para tocar con el pulgar ---------- */
.btn {
  --bs-btn-font-weight: 600;
  --bs-btn-padding-x: 1.25rem;
  --bs-btn-border-radius: .75rem;
  --bs-btn-border-width: 1.5px;
  --bs-btn-focus-shadow-rgb: 45, 103, 59;
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
}
.btn-sm { min-height: 40px; --bs-btn-padding-x: .875rem; --bs-btn-font-size: .9375rem; }
.btn-primary {
  --bs-btn-bg: var(--sf-verde); --bs-btn-border-color: var(--sf-verde);
  --bs-btn-hover-bg: var(--sf-verde-noche); --bs-btn-hover-border-color: var(--sf-verde-noche);
  --bs-btn-active-bg: var(--sf-verde-noche); --bs-btn-active-border-color: var(--sf-verde-noche);
  --bs-btn-disabled-bg: var(--sf-verde); --bs-btn-disabled-border-color: var(--sf-verde);
}
.btn-outline-primary {
  --bs-btn-bg: #fff; --bs-btn-color: var(--sf-verde); --bs-btn-border-color: var(--sf-verde);
  --bs-btn-hover-bg: var(--sf-verde); --bs-btn-hover-color: #fff; --bs-btn-hover-border-color: var(--sf-verde);
  --bs-btn-active-bg: var(--sf-verde-noche); --bs-btn-active-color: #fff; --bs-btn-active-border-color: var(--sf-verde-noche);
}
.btn-suave {
  --bs-btn-bg: var(--sf-verde-claro); --bs-btn-color: var(--sf-verde-texto); --bs-btn-border-color: transparent;
  --bs-btn-hover-bg: #D3E5C9; --bs-btn-hover-color: var(--sf-verde-texto); --bs-btn-hover-border-color: transparent;
  --bs-btn-active-bg: #C7DDBB; --bs-btn-active-color: var(--sf-verde-texto); --bs-btn-active-border-color: transparent;
}
.btn-peligro {
  --bs-btn-bg: #fff; --bs-btn-color: var(--sf-rojo); --bs-btn-border-color: #E7C3BE;
  --bs-btn-hover-bg: #FBEDEB; --bs-btn-hover-color: var(--sf-rojo); --bs-btn-hover-border-color: #E7C3BE;
  --bs-btn-active-bg: #F6DEDA; --bs-btn-active-color: var(--sf-rojo); --bs-btn-active-border-color: #E7C3BE;
}
.btn-noche {
  --bs-btn-bg: var(--sf-verde-noche); --bs-btn-color: #fff; --bs-btn-border-color: var(--sf-verde-noche);
  --bs-btn-hover-bg: #173A21; --bs-btn-hover-color: #fff; --bs-btn-hover-border-color: #173A21;
  --bs-btn-active-bg: #173A21; --bs-btn-active-color: #fff; --bs-btn-active-border-color: #173A21;
}
.btn-blanco {
  --bs-btn-bg: #fff; --bs-btn-color: var(--sf-verde-noche); --bs-btn-border-color: #fff;
  --bs-btn-hover-bg: var(--sf-verde-claro); --bs-btn-hover-color: var(--sf-verde-noche); --bs-btn-hover-border-color: var(--sf-verde-claro);
  --bs-btn-active-bg: var(--sf-verde-claro); --bs-btn-active-color: var(--sf-verde-noche); --bs-btn-active-border-color: var(--sf-verde-claro);
}

/* ---------- Formularios ---------- */
.form-label { font-weight: 600; font-size: .9375rem; margin-bottom: .375rem; }
.form-control, .form-select {
  min-height: 48px;
  border: 1.5px solid var(--sf-borde-campo);
  border-radius: .75rem;
  font-size: 1rem;
  color: var(--sf-tinta);
}
.form-control:focus, .form-select:focus { border-color: var(--sf-verde); box-shadow: 0 0 0 .25rem rgba(45, 103, 59, .2); }
.form-control::placeholder { color: #6B736D; }
textarea.form-control { min-height: 140px; line-height: 1.5; }
.form-text { color: var(--sf-gris); font-size: .875rem; }
.form-check-input { width: 1.25rem; height: 1.25rem; border: 1.5px solid #A9AFAA; margin-top: .15em; }
.form-check-input:checked { background-color: var(--sf-verde); border-color: var(--sf-verde); }
.form-check-input:focus { border-color: var(--sf-verde); box-shadow: 0 0 0 .25rem rgba(45, 103, 59, .2); }
.form-switch .form-check-input { width: 2.75rem; height: 1.5rem; margin-top: 0; }
.form-check-label { cursor: pointer; }
.is-invalid { border-color: var(--sf-rojo) !important; }
.error-campo { color: var(--sf-rojo); font-size: .875rem; margin-top: .375rem; }

/* ---------- Piezas comunes ---------- */
.tarjeta { background: #fff; border: 1px solid var(--sf-borde); border-radius: 1rem; }
.tarjeta-pad { padding: 1.25rem; }

.chips { display: flex; flex-wrap: wrap; gap: .375rem; }
.chip {
  min-height: 40px; padding: 0 .875rem;
  border: 1.5px solid var(--sf-borde-campo); border-radius: 999px;
  background: #fff; color: var(--sf-tinta);
  font-size: .9375rem; font-weight: 500;
  display: inline-flex; align-items: center; text-decoration: none; white-space: nowrap;
}
.chip:hover { border-color: var(--sf-verde); color: var(--sf-tinta); }
.chip.activo,
.btn-check:checked + .chip { background: var(--sf-verde); border-color: var(--sf-verde); color: #fff; font-weight: 600; }
label.chip { cursor: pointer; }
/* Fila de filtros que se desliza con el dedo, sin barra visible */
.chips.overflow-auto { scrollbar-width: none; }
.chips.overflow-auto::-webkit-scrollbar { display: none; }
.btn-check:focus-visible + .chip { box-shadow: 0 0 0 .25rem rgba(45, 103, 59, .3); }

.etiqueta {
  display: inline-flex; align-items: center; gap: .375rem;
  padding: .125rem .625rem; border-radius: 999px;
  font-size: .8125rem; font-weight: 600; white-space: nowrap;
  background: var(--sf-verde-claro); color: var(--sf-verde-texto);
}
.etiqueta-borde { background: transparent; border: 1.5px solid var(--sf-borde-campo); color: #4E5550; }
.etiqueta-ambar { background: var(--sf-ambar-fondo); color: var(--sf-ambar-texto); }
.etiqueta-azul { background: var(--sf-azul-fondo); color: var(--sf-azul-texto); }
.etiqueta-gris { background: #E7E9E6; color: #4E5550; }

.centavos { padding: 0 .3em; margin-left: .08em; border-radius: .35em; background: var(--sf-verde); color: #fff; }
.monto-grande { font-size: 2.25rem; font-weight: 700; line-height: 1; font-variant-numeric: tabular-nums; }

.fecha-bloque {
  flex: 0 0 72px; height: 82px; border-radius: .875rem;
  background: var(--sf-verde); color: #fff;
  display: flex; flex-direction: column; align-items: center; justify-content: center; line-height: 1.15;
}
.fecha-bloque .mes { font-size: .75rem; font-weight: 700; letter-spacing: .1em; }
.fecha-bloque .dia { font-family: var(--sf-titulos); font-weight: 800; font-size: 1.875rem; line-height: 1; }
.fecha-bloque .semana { font-size: .75rem; }
.fecha-bloque.sin-fecha { background: var(--sf-sutil); color: #4E5550; }

.alerta {
  display: flex; gap: .625rem; align-items: flex-start;
  padding: .875rem 1rem; border-radius: .875rem; font-size: .9375rem; font-weight: 600;
  background: var(--sf-verde-claro); color: var(--sf-verde-texto);
}
.alerta-error { background: #FBEDEB; color: var(--sf-rojo); }
.alerta-info { background: var(--sf-azul-fondo); color: var(--sf-azul-texto); }

/* ---------- Sitio público ---------- */
.sitio-header { background: #fff; border-bottom: 1px solid var(--sf-borde); }
.sitio-header .navbar { padding: .75rem 0; }
.firma { display: flex; align-items: center; gap: .75rem; text-decoration: none; color: var(--sf-tinta); }
.firma:hover { color: var(--sf-tinta); }
.firma img { width: 48px; height: 48px; }
.firma .nombre { display: block; font-family: var(--sf-titulos); font-weight: 800; font-size: 1.1875rem; line-height: 1.1; }
.firma .bajada { display: block; font-family: var(--sf-titulos); font-weight: 700; font-size: .65rem; letter-spacing: .16em; text-transform: uppercase; color: var(--sf-verde); }
.sitio-header .nav-link { min-height: 44px; display: flex; align-items: center; padding: 0 .75rem; font-weight: 600; color: var(--sf-tinta); }
.sitio-header .nav-link:hover { color: var(--sf-verde); }
.navbar-toggler { border: 0; min-width: 48px; min-height: 48px; color: var(--sf-tinta); }
.navbar-toggler:focus { box-shadow: 0 0 0 .25rem rgba(45, 103, 59, .25); }

.hero { background: var(--sf-salvia); }
.hero .rotulo { color: var(--sf-verde-noche); }
.hero h1 { font-size: clamp(2.25rem, 6vw, 3.75rem); line-height: 1.02; margin: 0; }
.hero-escudo { width: 240px; height: 240px; }
.proximo {
  max-width: 560px; background: #fff; border-radius: 1.125rem; padding: .875rem;
  display: flex; gap: 1rem; align-items: center; text-decoration: none; color: var(--sf-tinta);
  box-shadow: 0 1px 2px rgba(28, 43, 32, .12);
}
.proximo:hover { color: var(--sf-tinta); box-shadow: 0 2px 8px rgba(28, 43, 32, .16); }
.proximo .que { font-family: var(--sf-titulos); font-weight: 800; font-size: 1.3125rem; line-height: 1.2; }

.novedad { display: flex; gap: 1.125rem; align-items: flex-start; padding: 1.125rem; }
.novedad h3 { font-size: 1.3125rem; line-height: 1.25; margin: 0; }
.novedad p { margin: 0; color: var(--sf-gris-oscuro); }

.calendario { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 4px; text-align: center; }
.calendario .dow { font-size: .75rem; font-weight: 700; color: var(--sf-gris); padding-bottom: .25rem; }
.calendario .dia {
  height: 36px; display: flex; align-items: center; justify-content: center;
  border-radius: .625rem; font-size: .875rem; font-variant-numeric: tabular-nums; color: var(--sf-gris-oscuro);
}
.calendario .dia.hoy { border: 1.5px solid var(--sf-tinta); font-weight: 700; color: var(--sf-tinta); }
.calendario .dia.evento { background: var(--sf-verde); color: #fff; font-weight: 700; text-decoration: none; }
.btn-cuadrado { width: 40px; height: 40px; min-height: 40px; padding: 0; }

.bloque-socio { background: var(--sf-verde-noche); color: #fff; border-radius: 1.125rem; padding: 1.375rem; }
.bloque-socio h2 { color: #fff; font-size: 1.25rem; }
.bloque-socio p { color: #D8E6DA; font-size: .9375rem; }

.paso { background: var(--sf-fondo); border-radius: 1.125rem; padding: 1.375rem; }
.paso .numero {
  width: 40px; height: 40px; border-radius: 50%; background: var(--sf-verde); color: #fff;
  font-family: var(--sf-titulos); font-weight: 800; font-size: 1.125rem;
  display: flex; align-items: center; justify-content: center;
}

.contacto dt { font-size: .8125rem; font-weight: 400; color: var(--sf-gris); }
.contacto dd { margin: 0; font-weight: 600; }
.contacto > div { display: flex; gap: .875rem; padding: .875rem 0; border-bottom: 1px solid #EEF1EC; }
.contacto > div:last-child { border-bottom: 0; }
.contacto .icono { color: var(--sf-verde); }

.integrante { background: var(--sf-fondo); border-radius: 1.125rem; padding: 1.125rem; display: flex; align-items: center; gap: .875rem; }
.integrante .avatar {
  width: 56px; height: 56px; border-radius: 50%; background: var(--sf-borde); color: var(--sf-gris);
  display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.integrante .cargo { font-family: var(--sf-titulos); font-weight: 700; font-size: .75rem; letter-spacing: .12em; text-transform: uppercase; color: var(--sf-verde); }
.integrante .nombre { font-weight: 700; font-size: 1.0625rem; }

.sitio-footer { background: var(--sf-verde-noche); color: #fff; }
.sitio-footer a { color: #fff; }
.sitio-footer .bajada { color: #D8E6DA; font-size: .8125rem; }

/* En construcción */
.construccion {
  min-height: 100vh; min-height: 100svh; padding: 2.5rem 1.25rem; background: var(--sf-salvia);
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1.25rem; text-align: center;
}
.construccion img { width: min(220px, 56vw); height: auto; }
.construccion .rotulo { color: var(--sf-verde-noche); }
.construccion h1 { font-size: clamp(2.25rem, 9vw, 3.5rem); line-height: 1.02; margin: 0; }
.construccion .lugar { margin-top: .375rem; font-weight: 600; color: var(--sf-verde-noche); }
.construccion .aviso { background: #fff; color: var(--sf-verde-texto); border-radius: 999px; padding: .5rem 1.125rem; font-weight: 700; font-size: .9375rem; }
.construccion p { max-width: 30rem; margin: 0; }
.aviso-construccion { background: var(--sf-ambar-fondo); color: var(--sf-ambar-texto); font-size: .875rem; font-weight: 600; padding: .5rem 0; }

/* Ingreso */
.ingreso-banda { background: var(--sf-salvia); display: flex; flex-direction: column; align-items: center; padding: .5rem 1rem 0; }
.ingreso-banda img { width: 132px; height: 132px; margin: .5rem 0 -48px; }
.ingreso { max-width: 420px; margin: 0 auto; padding: 4rem 1.25rem 2rem; }

/* Reclamos */
.categorias { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .5rem; }
.categoria {
  min-height: 84px; padding: .5rem .25rem; margin: 0;
  border: 1.5px solid var(--sf-borde); border-radius: .875rem; background: #fff;
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .375rem;
  font-size: .75rem; font-weight: 500; line-height: 1.2; text-align: center; cursor: pointer;
}
.categoria .icono { color: var(--sf-verde); }
.categoria:hover { border-color: var(--sf-verde); }
.btn-check:checked + .categoria { border: 2px solid var(--sf-verde); background: var(--sf-verde-claro); color: var(--sf-verde-texto); font-weight: 700; }
.btn-check:focus-visible + .categoria { box-shadow: 0 0 0 .25rem rgba(45, 103, 59, .3); }
.mapa-reclamo { height: 240px; border-radius: .875rem; border: 1px solid var(--sf-borde-campo); }
.mapa-ver { height: 200px; border-radius: .875rem; border: 1px solid var(--sf-borde); }
.miniaturas { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; }
.miniaturas:empty { display: none; }
.miniatura { width: 76px; height: 76px; border-radius: .75rem; overflow: hidden; background: var(--sf-borde); }
.miniatura img { width: 100%; height: 100%; object-fit: cover; }
.miniatura-video { display: flex; align-items: center; justify-content: center; font-size: .8125rem; font-weight: 600; color: var(--sf-gris-oscuro); }
.icono-exito { width: 72px; height: 72px; border-radius: 50%; background: var(--sf-verde); color: #fff; display: flex; align-items: center; justify-content: center; }
.icono-exito .icono { stroke-width: 2.2; }
.pasos .marca {
  width: 28px; height: 28px; border-radius: 50%; flex-shrink: 0;
  background: var(--sf-verde); color: #fff; display: flex; align-items: center; justify-content: center;
}
.pasos .pendiente { color: #4E5550; }
.pasos .pendiente .marca { background: none; border: 2px solid #A9AFAA; }
.galeria { display: flex; flex-wrap: wrap; gap: .5rem; }
.galeria a, .galeria video { width: 96px; height: 96px; border-radius: .75rem; overflow: hidden; background: var(--sf-borde); display: block; }
.galeria img, .galeria video { width: 100%; height: 100%; object-fit: cover; }
@media (max-width: 340px) { .categorias { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* Encuestas */
.barra { display: block; height: 12px; border-radius: 999px; background: var(--sf-borde); overflow: hidden; }
.barra > span { display: block; height: 100%; border-radius: 999px; background: var(--sf-verde); }
.opcion-voto {
  min-height: 60px; padding: .75rem 1rem; margin: 0;
  border: 1.5px solid var(--sf-borde); border-radius: .875rem; background: #fff;
  display: flex; align-items: center; gap: .875rem; font-weight: 500; cursor: pointer;
}
.opcion-voto .radio { width: 24px; height: 24px; border-radius: 50%; border: 2px solid #A9AFAA; flex-shrink: 0; display: flex; align-items: center; justify-content: center; }
.opcion-voto:hover { border-color: var(--sf-verde); }
.btn-check:checked + .opcion-voto { border: 2px solid var(--sf-verde); background: var(--sf-verde-claro); font-weight: 600; }
.btn-check:checked + .opcion-voto .radio { border-color: var(--sf-verde); }
.btn-check:checked + .opcion-voto .radio::after { content: ''; width: 12px; height: 12px; border-radius: 50%; background: var(--sf-verde); }
.btn-check:focus-visible + .opcion-voto { box-shadow: 0 0 0 .25rem rgba(45, 103, 59, .3); }
.circulo-opcion { width: 22px; height: 22px; border-radius: 50%; border: 2px solid #A9AFAA; flex-shrink: 0; }

/* ---------- Panel de la comisión ---------- */
body.panel { padding-bottom: 84px; }
.panel-top { background: var(--sf-verde); color: #fff; }
.panel-top .contenedor { max-width: 960px; margin: 0 auto; padding: .75rem 1rem; display: flex; align-items: center; gap: .75rem; }
.panel-top a { color: #fff; text-decoration: none; }
.panel-top .nombre { font-family: var(--sf-titulos); font-weight: 800; font-size: 1rem; line-height: 1.15; display: block; }
.panel-top .sub { font-size: .75rem; color: #D8E6DA; display: block; }
.chip-rol { padding: .3rem .625rem; border-radius: 999px; background: var(--sf-verde-medio); font-size: .75rem; font-weight: 600; white-space: nowrap; }
.btn-salir {
  min-height: 44px; padding: 0 .5rem; border: 0; background: none; color: #fff;
  display: inline-flex; align-items: center; gap: .25rem; font-size: .875rem; font-weight: 600;
}
.btn-salir:hover { text-decoration: underline; }

.panel-nav {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 1030;
  background: #fff; border-top: 1px solid var(--sf-borde);
  display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr);
  padding: 6px 4px 10px;
}
.panel-nav a {
  display: flex; flex-direction: column; align-items: center; gap: 3px; padding: 4px 0;
  color: var(--sf-gris); text-decoration: none; font-size: .75rem; font-weight: 500;
}
.panel-nav .pastilla { width: 52px; height: 30px; border-radius: 999px; display: flex; align-items: center; justify-content: center; }
.panel-nav a[aria-current="page"] { color: var(--sf-verde); font-weight: 700; }
.panel-nav a[aria-current="page"] .pastilla { background: var(--sf-verde-claro); }

.contador {
  position: absolute; top: -4px; right: 4px; min-width: 18px; height: 18px; padding: 0 5px;
  border-radius: 999px; background: #A34F00; color: #fff; font-size: .6875rem; font-weight: 700; line-height: 18px; text-align: center;
}
.panel-main { max-width: 960px; margin: 0 auto; padding: 1.25rem 1rem 2rem; }
.panel-main h1 { font-size: 1.5rem; margin: 0; }

.accesos { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: .5rem; }
.acceso {
  background: #fff; border: 1px solid var(--sf-borde); border-radius: .875rem; padding: .875rem .5rem;
  display: flex; flex-direction: column; align-items: center; gap: .375rem;
  text-decoration: none; color: var(--sf-tinta); font-size: .875rem; font-weight: 600; text-align: center;
}
.acceso:hover { border-color: var(--sf-verde); color: var(--sf-tinta); }
.acceso .circulo {
  width: 44px; height: 44px; border-radius: 50%; background: var(--sf-verde-claro); color: var(--sf-verde-texto);
  display: flex; align-items: center; justify-content: center;
}

.lista { list-style: none; margin: 0; padding: 0; }
.lista > li, .lista > div { padding: .75rem 1rem; border-bottom: 1px solid #EEF1EC; }
.lista > li:last-child, .lista > div:last-child { border-bottom: 0; }

.avatar-iniciales {
  width: 42px; height: 42px; border-radius: 50%; flex-shrink: 0;
  background: var(--sf-sutil); color: var(--sf-verde-texto);
  font-weight: 700; font-size: .9375rem;
  display: flex; align-items: center; justify-content: center;
}
.avatar-iniciales.grande { width: 60px; height: 60px; font-size: 1.3125rem; background: var(--sf-verde-claro); }
.punto { width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
details > summary { list-style: none; }
details > summary::-webkit-details-marker { display: none; }

.fila-novedad { display: flex; gap: .875rem; align-items: center; padding: .875rem 1rem; text-decoration: none; color: var(--sf-tinta); }
.fila-novedad:hover { background: #FAFBF8; color: var(--sf-tinta); }
.fila-novedad .fecha-bloque { flex-basis: 56px; height: 64px; }
.fila-novedad .fecha-bloque .dia { font-size: 1.375rem; }

@media (min-width: 768px) {
  body.panel { padding-bottom: 0; }
  .panel-nav {
    position: static; display: flex; justify-content: center; gap: .25rem;
    border-top: 0; border-bottom: 1px solid var(--sf-borde); padding: .375rem 1rem;
  }
  .panel-nav a { flex-direction: row; gap: .5rem; padding: .5rem .875rem; border-radius: .75rem; font-size: .9375rem; }
  .panel-nav .pastilla { width: auto; height: auto; }
  .panel-nav a[aria-current="page"] { background: var(--sf-verde-claro); }
  .panel-nav a[aria-current="page"] .pastilla { background: none; }
}

@media (max-width: 575.98px) {
  .hero-escudo { width: 132px; height: 132px; }
  .novedad { gap: .875rem; padding: 1rem; }
}
