:root{padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
html,body{margin:0}
img{max-width:100%}
[hidden]{display:none!important}

/* Layout: una sola caja de busqueda arriba; debajo dos caminos segun quien eres */
:root{
  --negro:#0b0f14;
  --papel:#fbf9f6;
  --papel-2:#f1ece5;
  --tinta:#171c22;
  --gris:#5d6974;
  --linea:#ded7cd;
  --naranja:#e8530e;
  --naranja-cl:#ff7a34;
  --verde:#0e7a5f;
  --verde-cl:#2fbd93;
  --display:"Archivo","Helvetica Neue",Arial,sans-serif;
  --cond:"Barlow Condensed","Arial Narrow",Arial,sans-serif;
  color-scheme:light;
}
*{box-sizing:border-box}
body{background:var(--papel);color:var(--tinta);font-family:var(--display);font-size:18px;line-height:1.6;margin:0;-webkit-font-smoothing:antialiased;overflow-x:hidden}
.env{max-width:1020px;margin:0 auto;padding-inline:20px}
section{padding-block:clamp(48px,7vw,88px)}
h1,h2,h3{margin:0;text-wrap:balance;letter-spacing:-.03em;font-weight:900;line-height:1.05}
h1{font-size:clamp(2.1rem,6vw,3.9rem)}
h2{font-size:clamp(1.7rem,4.2vw,2.7rem)}
h3{font-size:1.2rem;font-weight:800;letter-spacing:-.01em;line-height:1.3}
p{margin:0}
a{color:inherit}
.et{font-family:var(--cond);font-weight:600;font-size:1rem;letter-spacing:.2em;text-transform:uppercase;color:var(--naranja)}
.lead{font-size:clamp(1.08rem,1.9vw,1.3rem);color:var(--gris);max-width:62ch;line-height:1.55}
.stack{display:flex;flex-direction:column;gap:clamp(20px,3vw,30px)}
.stack-s{display:flex;flex-direction:column;gap:14px}
.fuente{font-family:var(--cond);font-weight:500;font-size:1rem;color:var(--gris);line-height:1.5}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-weight:800;font-size:1.03rem;padding:17px 30px;border:2px solid var(--naranja);background:var(--naranja);color:#fff;text-decoration:none;cursor:pointer;border-radius:3px;transition:transform .15s ease}
.btn:hover{transform:translateY(-2px)}
.btn.ghost{background:transparent;color:var(--tinta);border-color:var(--linea)}
.btn.claro{background:#fff;color:var(--negro);border-color:#fff}
:focus-visible{outline:3px solid var(--naranja-cl);outline-offset:3px}

.topbar{background:var(--negro)}
.topbar .env{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:15px}
.marca{font-weight:900;font-size:1.15rem;letter-spacing:-.04em;color:#fff}
.marca b{color:var(--naranja-cl)}
.topbar a{color:#fff;font-family:var(--cond);font-weight:600;font-size:1.1rem;letter-spacing:.06em;text-decoration:none}

/* ---------- cabecera: la consulta ---------- */
.cab{background:var(--negro);color:#fff;position:relative;overflow:hidden;padding-block:clamp(40px,6vw,70px)}
#fachada{position:absolute;inset:0;width:100%;height:100%;opacity:.38;-webkit-mask-image:linear-gradient(175deg,#000,transparent 70%);mask-image:linear-gradient(175deg,#000,transparent 70%)}
.cab .env{position:relative;z-index:2;max-width:800px}
.cab h1{color:#fff}
.cab .sub{color:#aeb9c4;font-size:clamp(1.05rem,2vw,1.28rem);margin-top:16px}

.buscador{margin-top:clamp(24px,4vw,34px)}
.buscador label{font-family:var(--cond);font-weight:600;font-size:1.05rem;letter-spacing:.12em;text-transform:uppercase;color:#aeb9c4;display:block;margin-bottom:10px}
#dir{width:100%;font-family:var(--display);font-size:clamp(1.15rem,2.6vw,1.5rem);font-weight:700;padding:20px 22px;background:#fff;color:var(--negro);border:3px solid transparent;border-radius:4px}
#dir:focus{border-color:var(--naranja-cl)}
.pista{font-family:var(--cond);font-weight:500;font-size:1.02rem;color:#8d99a5;margin-top:10px}

#sugerencias{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:1px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.16);border-radius:4px;overflow:hidden;max-height:340px;overflow-y:auto}
#sugerencias li{background:#171f28}
#sugerencias button{width:100%;text-align:left;background:none;border:0;color:#fff;font-family:var(--display);font-size:1.05rem;padding:15px 18px;cursor:pointer;display:flex;flex-wrap:wrap;gap:4px 14px;align-items:baseline}
#sugerencias button:hover,#sugerencias button:focus{background:#222c38}
#sugerencias .d{font-weight:700;min-width:0;overflow-wrap:anywhere}
#sugerencias .m{font-family:var(--cond);font-weight:500;font-size:1.02rem;color:#8d99a5}
#sugerencias .pt{margin-left:auto;font-family:var(--cond);font-weight:600;font-size:.98rem;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}
.pt.pendiente,.pt.caducada,.pt.sinsubsanar{color:var(--naranja-cl)}
.pt.aldia,.pt.enplazo{color:var(--verde-cl)}
.pt.exento,.pt.indeterminado{color:#8d99a5}

/* resultado: una sola respuesta clara */
#ficha{margin-top:26px;background:#fff;color:var(--tinta);border-radius:4px;overflow:hidden}
.cinta{padding:18px 26px;color:#fff;font-family:var(--cond);font-weight:600;font-size:1.3rem;letter-spacing:.14em;text-transform:uppercase}
.cinta.pendiente,.cinta.caducada,.cinta.sinsubsanar{background:var(--naranja)}
.cinta.aldia,.cinta.enplazo{background:#15785f}
.cinta.exento,.cinta.indeterminado{background:#3c4651}
.cuerpo{padding:26px}
.cuerpo .dirn{font-weight:900;font-size:clamp(1.3rem,3vw,1.9rem);letter-spacing:-.025em;line-height:1.15}
.cuerpo .muni{font-family:var(--cond);font-weight:500;font-size:1.1rem;color:var(--gris);margin-top:4px}
.cuerpo .expl{margin-top:18px;max-width:62ch;color:var(--tinta)}
.hacer{margin-top:20px;padding-top:20px;border-top:1px solid var(--linea)}
.hacer .tit{font-family:var(--cond);font-weight:600;font-size:1.02rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gris);margin-bottom:8px}
.hacer p{max-width:62ch}
.cuerpo .btn{margin-top:22px}
.minilegal{font-family:var(--cond);font-weight:500;font-size:.98rem;color:#8d99a5;line-height:1.5;margin-top:16px}

/* ---------- dos caminos ---------- */
.caminos{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.camino{background:#fff;border:1px solid var(--linea);border-top:5px solid var(--naranja);border-radius:4px;padding:clamp(24px,3.5vw,34px);display:flex;flex-direction:column;gap:16px}
.camino.b{border-top-color:var(--verde)}
.camino ul{margin:0;padding-left:20px;color:var(--gris);font-size:1.04rem}
.camino li{margin-block:7px}
.camino .pie{margin-top:auto;padding-top:8px}

.gris{background:var(--papel-2);border-block:1px solid var(--linea)}
.dos{display:grid;grid-template-columns:auto 1fr;gap:clamp(24px,5vw,54px);align-items:center}
.gran{font-weight:900;font-size:clamp(3.2rem,11vw,6.4rem);line-height:.85;letter-spacing:-.055em;color:var(--naranja)}
.gran small{display:block;font-family:var(--cond);font-weight:600;font-size:clamp(.95rem,1.8vw,1.18rem);letter-spacing:.14em;text-transform:uppercase;color:var(--tinta);margin-top:14px;max-width:17ch}
.aviso{background:#fff;border:1px solid var(--linea);border-left:5px solid var(--verde);border-radius:4px;padding:24px}
.tabla{width:100%;border-collapse:collapse;margin-top:14px;font-size:1rem}
.tabla th,.tabla td{text-align:left;padding:11px 14px;border-bottom:1px solid var(--linea)}
.tabla th{font-family:var(--cond);font-weight:600;font-size:.98rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gris)}
.tabla td:last-child{font-variant-numeric:tabular-nums;white-space:nowrap}

details{border-bottom:1px solid var(--linea);padding-block:19px}
summary{font-weight:800;font-size:1.15rem;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:18px}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";font-family:var(--cond);font-size:1.7rem;line-height:1;color:var(--naranja)}
details[open] summary::after{content:"–"}
details p{margin-top:12px;color:var(--gris);max-width:70ch}

.form-g{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(26px,5vw,50px);align-items:start}
form{display:flex;flex-direction:column;gap:18px}
form label{font-family:var(--cond);font-weight:600;font-size:1rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gris);display:block;margin-bottom:8px}
form input,form select,form textarea{width:100%;font-family:var(--display);font-size:1.06rem;padding:15px 16px;background:#fff;color:var(--tinta);border:1px solid var(--linea);border-radius:3px}
form input:focus,form select:focus,form textarea:focus{border-color:var(--naranja)}
form textarea{min-height:100px;resize:vertical}
.par{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.tarjeta{background:#fff;border:1px solid var(--linea);border-radius:4px;padding:clamp(22px,3vw,30px);display:flex;flex-direction:column;gap:20px}
.tarjeta label{font-family:var(--cond);font-weight:600;font-size:1rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gris);display:block;margin-bottom:6px}
.tarjeta .dato{font-family:var(--cond);font-weight:600;font-size:1.5rem}
#salida{background:#fff;border:2px solid var(--verde);border-radius:4px;padding:22px;display:flex;flex-direction:column;gap:12px}
#salida pre{font-family:var(--cond);font-weight:500;font-size:1.04rem;white-space:pre-wrap;overflow-wrap:anywhere;margin:0}
.copiar{background:transparent;border:1px solid var(--linea);color:var(--tinta);font-family:var(--cond);font-weight:600;font-size:1rem;letter-spacing:.08em;text-transform:uppercase;padding:11px 18px;cursor:pointer;align-self:flex-start;border-radius:3px}
.nota{font-family:var(--cond);font-weight:500;font-size:1rem;color:var(--gris);line-height:1.5}

footer{background:var(--negro);color:#8d99a5;padding-block:42px}
footer .env{display:flex;flex-direction:column;gap:16px}
footer .fuente{color:#8d99a5}

@media (max-width:860px){ .caminos,.dos,.form-g{grid-template-columns:1fr} .dos{gap:18px} }
@media (max-width:540px){ .par{grid-template-columns:1fr} #sugerencias .pt{margin-left:0;width:100%} .cinta{font-size:1.1rem;padding:15px 20px} .cuerpo{padding:22px} }
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}


/* ---------- paginas de municipio ---------- */
.miga{font-family:var(--cond);font-weight:500;font-size:1.05rem;color:#8d99a5;letter-spacing:.04em}
.miga a{color:var(--naranja-cl);text-decoration:none}
.miga a:hover{text-decoration:underline}
.cifras-m{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--linea);border:1px solid var(--linea);border-radius:4px;overflow:hidden}
.cm{background:#fff;padding:24px 20px}
.cm .v{font-weight:900;font-size:clamp(1.7rem,3.6vw,2.4rem);letter-spacing:-.035em;font-variant-numeric:tabular-nums}
.cm .v.na{color:var(--naranja)}
.cm .k{font-family:var(--cond);font-weight:600;font-size:.98rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gris);margin-top:6px}
.vecinos{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.vec{background:#fff;border:1px solid var(--linea);border-radius:4px;padding:16px 18px;text-decoration:none;display:flex;flex-direction:column;gap:4px}
.vec:hover{border-color:var(--naranja)}
.vn{font-weight:800;letter-spacing:-.01em;overflow-wrap:anywhere}
.vp{font-family:var(--cond);font-weight:500;font-size:1rem;color:var(--gris);font-variant-numeric:tabular-nums}
.volver{font-family:var(--cond);font-weight:600;font-size:1.1rem;letter-spacing:.06em;text-transform:uppercase;color:var(--naranja);text-decoration:none}
.volver:hover{text-decoration:underline}
@media (max-width:860px){ .cifras-m,.vecinos{grid-template-columns:repeat(2,1fr)} }
@media (max-width:460px){ .cifras-m{grid-template-columns:1fr} }
