/* CIVIQ Atlas · identidad visual (pruebas, 29-sep-2026)
   Cartografía urbana + arquitectura + publicación editorial.
   Tipografía: Archivo Semibold (títulos) · Instrument Sans (texto, formularios, botones, cifras).
   Contraste medido (WCAG):
     tinta #202923 / papel #FFFFFF ............ 13.3:1
     verde #275442 / papel ...................... 7.7:1   blanco / verde 8.6:1
     terracota #B9573D / papel .................. 4.1:1   -> sólo títulos >= 24px, marcas y bordes
     terracota oscura #9D4630 / papel ........... 5.6:1   -> texto pequeño en acento
     blanco / terracota ......................... 4.7:1   -> botones
     gris #5A625C / papel ....................... 5.6:1   -> texto secundario
     ocre #7A5A12 / papel ....................... 5.6:1   -> estimaciones */
@import url('https://fonts.googleapis.com/css2?family=Archivo:wght@600&family=Instrument+Sans:wght@400;500;600&display=swap');

:root{
  --atlas-papel:#FFFFFF;
  --atlas-papel-2:#F5F7F8;
  --atlas-papel-3:#EBEFF1;
  --atlas-tinta:#202923;
  --atlas-gris:#5A625C;
  --atlas-linea:#DDE3E6;
  --atlas-linea-fuerte:#B7C1C6;
  --atlas-verde:#275442;
  --atlas-verde-claro:#DCE6DF;
  --atlas-terracota:#B9573D;
  --atlas-terracota-oscura:#9D4630;
  --atlas-terracota-claro:#FFFFFF;
  --atlas-ocre:#7A5A12;
  --atlas-ocre-claro:#F5F7F8;
  --atlas-titulo:'Archivo',ui-sans-serif,system-ui,sans-serif;
  --atlas-texto:'Instrument Sans',ui-sans-serif,system-ui,sans-serif;
  --atlas-radio:6px;
  --atlas-ancho:1180px;
}

/* ---------- Base ---------- */
.atlas{margin:0;background:var(--atlas-papel);color:var(--atlas-tinta);font-family:var(--atlas-texto);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums}
.atlas *,.atlas *::before,.atlas *::after{box-sizing:border-box}
.atlas h1,.atlas h2,.atlas h3,.atlas h4{font-family:var(--atlas-titulo);font-weight:600;letter-spacing:-.015em;line-height:1.15;margin:0;color:var(--atlas-tinta)}
.atlas h1{font-size:clamp(2rem,4.2vw,3.25rem);line-height:1.08}
.atlas h2{font-size:clamp(1.45rem,2.4vw,1.9rem)}
.atlas h3{font-size:1.15rem}
.atlas p{margin:0}
.atlas a{color:var(--atlas-verde);text-underline-offset:3px}
.atlas a:hover{color:var(--atlas-tinta)}
.atlas :focus-visible{outline:3px solid var(--atlas-terracota);outline-offset:2px}
.atlas img{max-width:100%;display:block}
.atlas-contenedor{width:min(var(--atlas-ancho),100% - 32px);margin-inline:auto}
.atlas-etiqueta{font-family:var(--atlas-texto);font-size:.78rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--atlas-terracota-oscura)}
.atlas-secundario{color:var(--atlas-gris)}
.atlas-regla{border:0;border-top:1px solid var(--atlas-linea);margin:0}
.atlas-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- Logotipo: los cuatro esquineros de siempre, en la paleta Atlas ---------- */
.atlas a.atlas-marca,.atlas-marca{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--atlas-tinta)}
.atlas-marca svg{width:34px;height:34px;flex:none}
.atlas-marca b{font-family:var(--atlas-titulo);font-weight:600;font-size:1.3rem;letter-spacing:.14em}

/* ---------- Encabezado ---------- */
.atlas-encabezado{border-bottom:1px solid var(--atlas-linea);background:var(--atlas-papel);position:sticky;top:0;z-index:50}
.atlas-encabezado .atlas-contenedor{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:68px}
.atlas-nav{display:flex;align-items:center;gap:26px;font-size:.95rem;font-weight:500}
.atlas-nav a{color:var(--atlas-tinta);text-decoration:none}
.atlas-nav a:hover{text-decoration:underline}
.atlas-menu{display:none;background:none;border:1px solid var(--atlas-linea-fuerte);border-radius:var(--atlas-radio);width:44px;height:44px;color:var(--atlas-tinta);font-size:1.2rem}
@media (max-width:860px){
  .atlas-menu{display:inline-flex;align-items:center;justify-content:center}
  .atlas-nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--atlas-papel);border-bottom:1px solid var(--atlas-linea);flex-direction:column;align-items:stretch;gap:0;padding:8px 16px 16px}
  .atlas-nav a{padding:12px 0;border-bottom:1px solid var(--atlas-linea)}
  .atlas-nav.abierto{display:flex}
  .atlas-nav .atlas-boton{margin-top:12px;justify-content:center}
}

/* ---------- Botones y formularios ---------- */
.atlas-boton{display:inline-flex;align-items:center;gap:8px;min-height:46px;padding:0 20px;border-radius:var(--atlas-radio);border:1px solid var(--atlas-terracota);background:var(--atlas-terracota);color:#fff!important;font-family:var(--atlas-texto);font-weight:600;font-size:1rem;text-decoration:none;cursor:pointer}
.atlas-boton:hover{background:var(--atlas-terracota-oscura);border-color:var(--atlas-terracota-oscura)}
.atlas-boton.secundario{background:transparent;color:var(--atlas-tinta)!important;border-color:var(--atlas-tinta)}
.atlas-boton.secundario:hover{background:var(--atlas-tinta);color:var(--atlas-papel)!important}
.atlas-boton.verde{background:var(--atlas-verde);border-color:var(--atlas-verde)}
.atlas-campo{display:flex;flex-direction:column;gap:6px;font-size:.9rem;font-weight:500}
.atlas-campo input,.atlas-campo select,.atlas-campo textarea{min-height:48px;padding:10px 14px;border:1px solid var(--atlas-linea-fuerte);border-radius:var(--atlas-radio);background:#FFFFFF;font:inherit;font-size:1rem;color:var(--atlas-tinta)}
.atlas-campo input::placeholder{color:#757B74}

/* ---------- Estados de evidencia: símbolo + texto, nunca sólo color ---------- */
.ev{display:inline-flex;align-items:center;gap:6px;font-size:.8rem;font-weight:600;line-height:1.2;padding:3px 8px;border-radius:3px;border:1px solid currentColor;white-space:nowrap}
.ev::before{font-weight:700}
.ev-respaldado{color:var(--atlas-verde);background:var(--atlas-verde-claro)}.ev-respaldado::before{content:"✓"}
.ev-parcial{color:var(--atlas-verde);background:transparent}.ev-parcial::before{content:"◐"}
.ev-estimado{color:var(--atlas-ocre);background:var(--atlas-ocre-claro)}.ev-estimado::before{content:"≈"}
.ev-pendiente{color:var(--atlas-terracota-oscura);background:var(--atlas-terracota-claro)}.ev-pendiente::before{content:"?"}
.ev-usuario{color:var(--atlas-tinta);background:var(--atlas-papel-2)}.ev-usuario::before{content:"✎"}
.ev-error{color:#7C2D1D;background:#FFFFFF}.ev-error::before{content:"!"}
.ev-sin{color:var(--atlas-gris);background:transparent}.ev-sin::before{content:"—"}
.ev-ejemplo{color:var(--atlas-tinta);background:#fff;border-style:dashed}.ev-ejemplo::before{content:"◇"}

/* ---------- Ficha de atlas (resultados) ---------- */
.atlas-ficha{border-top:3px solid var(--atlas-tinta);background:var(--atlas-papel);padding:22px 0 8px}
.atlas-ficha-cabeza{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 20px;padding-bottom:14px;border-bottom:1px solid var(--atlas-linea)}
.atlas-ficha-cabeza h2{font-size:1.55rem}
.atlas-ficha-meta{font-size:.85rem;color:var(--atlas-gris)}
.atlas-ficha-cuadro{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0}
.atlas-ficha-cuadro>section{padding:18px 22px 20px 0;border-bottom:1px solid var(--atlas-linea)}
.atlas-ficha-cuadro>section:nth-child(even){padding-left:22px;padding-right:0;border-left:1px solid var(--atlas-linea)}
.atlas-ficha-cuadro h3{display:flex;align-items:center;gap:10px;font-size:1.05rem;margin-bottom:10px}
.atlas-ficha-cuadro h3 .num{font-family:var(--atlas-texto);font-size:.8rem;font-weight:600;color:var(--atlas-terracota-oscura);border:1px solid var(--atlas-terracota);border-radius:50%;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center}
.atlas-dato{display:grid;grid-template-columns:minmax(9em,1fr) minmax(0,max-content);gap:2px 12px;padding:9px 0;border-top:1px dashed var(--atlas-linea)}
.atlas-dato:first-of-type{border-top:0}
.atlas-dato .etq{font-size:.92rem}
.atlas-dato .val{font-weight:600;font-size:1.05rem;text-align:right;overflow-wrap:anywhere}
.atlas-dato .fuente{grid-column:1/-1;font-size:.8rem;color:var(--atlas-gris);display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center}
.atlas-lista{margin:0;padding:0;list-style:none}
.atlas-lista li{padding:7px 0 7px 22px;position:relative;border-top:1px dashed var(--atlas-linea);font-size:.95rem}
.atlas-lista li:first-child{border-top:0}
.atlas-lista li::before{content:"";position:absolute;left:2px;top:15px;width:9px;height:9px;border:2px solid var(--atlas-terracota);transform:rotate(45deg)}
.atlas-ficha-pie{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;padding:14px 0;font-size:.85rem;color:var(--atlas-gris)}
.atlas-ficha details{border-top:1px solid var(--atlas-linea);padding:12px 0}
.atlas-ficha summary{cursor:pointer;font-weight:600}
@media (max-width:760px){
  .atlas-ficha-cuadro{grid-template-columns:minmax(0,1fr)}
  .atlas-ficha-cuadro>section,.atlas-ficha-cuadro>section:nth-child(even){padding:16px 0;border-left:0}
}

/* ---------- Aviso de prefactibilidad y cobertura ---------- */
.atlas-aviso{border-left:0;border-top:1px solid var(--atlas-linea);border-bottom:1px solid var(--atlas-linea);padding:12px 0;font-size:.9rem;color:var(--atlas-gris);display:flex;gap:10px;align-items:flex-start}
.atlas-aviso b{color:var(--atlas-tinta)}

/* ---------- Pie ---------- */
.atlas-pie{border-top:1px solid var(--atlas-linea);padding:28px 0 40px;font-size:.85rem;color:var(--atlas-gris)}
.atlas-pie .atlas-contenedor{display:flex;flex-wrap:wrap;gap:12px 28px;justify-content:space-between}
