/* Layout: plantilla de guía técnica (aquí, «Qué exige el CTE a las ventanas»). Portada con la respuesta corta, la firma y
     la fecha de comprobación, y los límites dibujados zona a zona; índice fijo bajo la cabecera; secciones con su tabla
     oficial, su fuente con tabla y página, errores frecuentes y «lo que no publicamos o no sabemos»; preguntas; el final
     común. Se repite en transmitancia, aislamiento acústico, vidrio, rotura de puente térmico y clases de aire, agua y viento. */







  .firma-guia { margin-top: 18px; font-size: 14px; color: var(--gris-2); }
  .firma-guia b { color: var(--tinta); font-weight: 600; }
  /* los límites del DB-HE dibujados: una barra por zona (transmitancia máxima) y la clase de aire mínima al lado */
  .limites { background: var(--fondo); padding: 26px 24px 20px; margin: 0; display: grid; gap: 14px; align-self: start; }
  .limites h2 { font-family: var(--f-disp); font-size: 18px; margin: 0; }
  .limites .fila { display: grid; grid-template-columns: 28px minmax(0, 1fr) 82px 58px; align-items: center; gap: 12px; }
  .limites .z { font-family: var(--f-disp); font-weight: 800; font-size: 22px; color: var(--azul); }
  .limites.largas .fila { grid-template-columns: 112px minmax(0, 1fr) 76px 52px; }
  .limites.sin-clase .fila { grid-template-columns: 28px minmax(0, 1fr) 82px; } .limites.largas.sin-clase .fila { grid-template-columns: 112px minmax(0, 1fr) 76px; }
  .limites.sin-clase .clase { display: none; }
  /* (27/10) la caja de datos, fuera de la portada: franja ancha bajo ella, centrada y sin pegarse a los bordes */
  .vista-datos { background: var(--blanco); padding-block: 0 72px; }
  .vista-datos .limites { max-width: 860px; margin-inline: auto; padding: 30px 32px 24px; }
  .limites.largas .z { font-size: 15px; font-weight: 700; }
  /* el muestrario de la guía de colores (22/10): cada color con su muestra (tono y textura del configurador), nombre y series */
  .muestrario { display: grid; gap: 28px; margin-top: 8px; }
  .mu-grupo h3 { font-family: var(--f-disp); font-size: 18px; margin: 0 0 12px; }
  .mu-grupo h3 span { font-family: var(--f-txt); font-weight: 500; font-size: 14px; color: var(--gris-2); }
  .mu-lista { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(132px, 1fr)); gap: 14px 12px; }
  .mu-lista li { display: grid; gap: 3px; align-content: start; font-size: 14px; }
  .mu-m { display: block; aspect-ratio: 4 / 3; border-radius: 4px; box-shadow: inset 0 0 0 1px rgba(14, 17, 22, .12); margin-bottom: 6px; }
  .mu-lista b { font-weight: 600; line-height: 1.25; }
  .mu-lista em { font-style: normal; font-size: 11px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--azul); }
  .mu-lista small { font-size: 12.5px; color: var(--gris-2); line-height: 1.35; }
  @media (max-width: 479px) { .limites.largas .fila { grid-template-columns: 92px minmax(0, 1fr) 70px; } .limites.largas .clase { display: none; } }
  .limites .barra { position: relative; height: 14px; background: var(--blanco); }
  .limites .barra i { position: absolute; inset: 0 auto 0 0; width: var(--w); background: var(--tinta); }
  .limites .v { font-size: 14px; font-weight: 600; font-variant-numeric: tabular-nums; white-space: nowrap; }
  .limites .clase { font-size: 13px; color: var(--azul-2); text-align: right; white-space: nowrap; }
  .limites .nota { font-size: 12px; color: var(--gris-2); margin: 4px 0 0; }
  .guia-cuerpo .bloque { padding-block: 88px; }
  .guia-cuerpo .h2 { max-width: 24ch; }
  .lista-alt { list-style: none; padding: 0; margin: 18px 0 0; display: grid; gap: 8px; font-variant-numeric: tabular-nums; }
  .lista-alt li { padding: 10px 14px; background: var(--fondo); font-size: 15px; }
  .bloque.claro .lista-alt li { background: var(--fondo); }
  .bloque:not(.claro) .lista-alt li { background: var(--blanco); }
  .lista-alt b { display: inline-block; min-width: 90px; }
  .no-sabemos { display: grid; gap: 0; margin-top: 26px; }
  .no-sabemos div { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 7fr); gap: 24px; padding: 16px 0; border-top: 1px solid var(--greige); }
  .no-sabemos dt { font-weight: 700; }
  .no-sabemos dd { margin: 0; color: var(--azul-2); }
  @media (max-width: 819px) { .no-sabemos div { grid-template-columns: minmax(0, 1fr); gap: 6px; } }
  .nw { white-space: nowrap; }
  .guia-cuerpo .tabla-datos td:last-child { white-space: nowrap; }
  .guia-cuerpo #sigue { padding-block: 64px; }
  .sigue { list-style: none; padding: 0; margin: 20px 0 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
  .sigue a { display: grid; gap: 4px; align-content: start; min-height: 96px; height: 100%; padding: 16px 18px; background: var(--fondo); text-decoration: none; color: var(--tinta); border-left: 3px solid transparent; transition: border-color .2s, background .2s; }
  .sigue a:hover, .sigue a:focus-visible { border-left-color: var(--azul); background: var(--blanco); outline: none; box-shadow: inset 0 0 0 1px var(--greige); }
  .sigue b { font-family: var(--f-disp); font-size: 17px; }
  .sigue span { font-size: 14px; color: var(--azul-2); }
  @media (max-width: 1023px) { .sigue { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
  @media (max-width: 559px) { .sigue { grid-template-columns: minmax(0, 1fr); } .sigue a { min-height: 0; } }
