/* Portal público Los Taques Productivo — estilos propios (sin Tailwind). Paleta del logo de la Alcaldía. */
:root{
  --fondo:#FFFFFF; --suave:#F2F8FB; --tinta:#1C2B33; --gris:#5F6F78; --borde:#E1E9EE;
  --mar:#1E8FD6; --mar-osc:#0F5E9C; --cielo:#2CC1DE; --sol:#F7B500; --naranja:#F28A1A; --cardon:#3FA34D; --cardon-suave:#E6F5E8; --rojo:#D7262B;
  --fuente:"Nunito",system-ui,-apple-system,"Segoe UI",sans-serif; --r:16px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{background:var(--fondo);color:var(--tinta);font-family:var(--fuente);font-size:16px;line-height:1.5;-webkit-text-size-adjust:100%}
a{color:var(--mar-osc)}
h1,h2,h3,h4{margin:0;line-height:1.12;font-weight:800;text-wrap:balance}
p{margin:0}
.gris{color:var(--gris)} .num{font-variant-numeric:tabular-nums}
.contenedor{max-width:1060px;margin:0 auto;padding:0 16px}
.etq{display:inline-block;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:5px 11px;border-radius:999px;background:var(--sol);color:#1C2B33}
.etq.mar{background:var(--mar);color:#fff} .etq.verde{background:var(--cardon-suave);color:var(--cardon)} .etq.naranja{background:var(--naranja);color:#fff}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:800;font-size:16px;padding:13px 20px;border-radius:999px;text-decoration:none;border:2px solid transparent;cursor:pointer;font-family:inherit;line-height:1.2}
.btn.sol{background:var(--sol);color:#1C2B33} .btn.mar{background:var(--mar);color:#fff} .btn.linea{border-color:var(--mar);color:var(--mar);background:transparent} .btn.blanco{background:#fff;color:var(--mar-osc)}
.btn:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--sol);outline-offset:2px}

/* cabecera */
.top{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:12px 0}
.top img{height:54px;width:auto}
.top .nombre{font-weight:900;font-size:20px;line-height:1.05;color:var(--mar-osc);text-decoration:none}
.top .nombre small{display:block;font-size:12px;font-weight:600;color:var(--gris)}
.top nav{margin-left:auto;display:flex;flex-wrap:wrap;gap:4px 18px;font-weight:700;font-size:15px}
.top nav a{color:var(--tinta);text-decoration:none}
.top nav a.cta{color:var(--mar)}

/* portada */
.hero{border-radius:24px;overflow:hidden;background:linear-gradient(160deg,var(--cielo) 0%,var(--mar) 55%,var(--mar-osc) 100%);color:#fff;position:relative;display:grid;grid-template-columns:1.1fr .9fr;gap:20px;padding:34px 32px;align-items:center;margin-top:8px}
.hero::after{content:"";position:absolute;right:-60px;top:-60px;width:260px;height:260px;border-radius:50%;background:var(--sol);opacity:.9}
.hero::before{content:"";position:absolute;left:-30px;bottom:-110px;width:420px;height:180px;border-radius:50%;background:rgba(255,255,255,.14)}
.hero>*{position:relative;z-index:1}
.hero h1{font-size:clamp(28px,4.4vw,46px);font-weight:900;line-height:1.05;color:#fff}
.hero p{font-size:18px;max-width:46ch;margin-top:10px;color:#F2FAFF}
.hero .acciones{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.cifras{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-top:18px}
.cifra{border-radius:var(--r);padding:16px 18px;background:var(--suave);display:grid;gap:2px}
.cifra b{font-size:34px;font-weight:900;line-height:1} .cifra span{font-size:13px;font-weight:600;color:var(--gris)}
.cifra.sol{background:var(--sol);color:#1C2B33} .cifra.sol span{color:#4A3A00}
.cifra.mar{background:var(--mar);color:#fff} .cifra.mar span{color:#DCEFFF}
.cifra.verde{background:var(--cardon);color:#fff} .cifra.verde span{color:#E6F5E8}
.seccion{display:grid;gap:14px;margin-top:36px}
.seccion h2{font-size:clamp(24px,3.4vw,32px)}
.sectores{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}
.sector{display:flex;align-items:center;gap:12px;border:2px solid var(--borde);border-radius:var(--r);padding:12px 14px;background:var(--fondo)}
.sector i{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;font-weight:900;font-size:16px;color:#fff;flex:none;font-style:normal}
.sector b{display:block;font-size:15px;line-height:1.15} .sector span{font-size:13px;color:var(--gris)}
.pasos3{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.paso{display:flex;gap:12px;align-items:flex-start;padding:14px;border-radius:var(--r);background:var(--suave)}
.paso i{width:34px;height:34px;border-radius:50%;background:var(--sol);display:grid;place-items:center;font-weight:900;flex:none;color:#1C2B33;font-style:normal}
.paso b{display:block} .paso span{font-size:14px;color:var(--gris)}

/* formulario */
.form{border:2px solid var(--borde);border-radius:22px;padding:22px;display:grid;gap:16px;background:var(--fondo);max-width:760px}
.form h2{font-size:22px}
.bloque{display:grid;gap:12px}
.bloque>h3{font-size:16px;color:var(--mar-osc);display:flex;align-items:center;gap:10px}
.bloque>h3 i{width:28px;height:28px;border-radius:50%;background:var(--sol);color:#1C2B33;display:grid;place-items:center;font-size:14px;font-style:normal}
.campos{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.campo{display:grid;gap:5px;min-width:0} .campo.ancho{grid-column:1/-1}
.campo label{font-size:13px;font-weight:800;color:var(--gris)}
.campo input,.campo select,.campo textarea{width:100%;border:2px solid var(--borde);border-radius:12px;padding:11px 13px;background:var(--fondo);font:inherit;font-size:16px;color:var(--tinta)}
.campo textarea{min-height:96px;resize:vertical}
.campo .ayuda{font-size:12px;color:var(--gris)}
.campo .error{font-size:13px;color:var(--rojo);font-weight:700}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{border:2px solid var(--borde);border-radius:999px;padding:8px 13px;font-weight:700;font-size:14px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;background:var(--fondo)}
.chip input{position:absolute;opacity:0;width:0;height:0}
.chip:has(input:checked){background:var(--mar);border-color:var(--mar);color:#fff}
.consent{display:flex;gap:12px;align-items:flex-start;background:var(--cardon-suave);border-radius:14px;padding:12px 14px;font-size:15px}
.consent input{width:22px;height:22px;margin-top:2px;accent-color:var(--cardon);flex:none}
.alerta{border-radius:14px;padding:12px 16px;background:#FFF4D6;color:#5A4200;font-size:14px;font-weight:600}
.alerta.error{background:#FDE8E8;color:#7A1C1C}
.alerta.ok{background:var(--cardon-suave);color:#1F5A2A}
.oculto{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}

/* constancia lista / verificación */
.tarjeta-ok{display:flex;gap:14px;align-items:center;border-radius:20px;padding:16px 18px;background:var(--cardon);color:#fff}
.tarjeta-ok i{width:46px;height:46px;border-radius:50%;background:#fff;color:var(--cardon);display:grid;place-items:center;font-size:26px;font-weight:900;flex:none;font-style:normal}
.tarjeta-ok b{font-size:20px;display:block}
.datos{display:grid;grid-template-columns:max-content 1fr;gap:6px 16px;font-size:15px;background:var(--suave);border-radius:16px;padding:14px 16px;max-width:600px}
.datos dt{color:var(--gris);font-weight:700} .datos dd{margin:0;font-weight:800;min-width:0;overflow-wrap:anywhere}
.codigo{font-family:ui-monospace,Menlo,monospace;letter-spacing:.06em;color:var(--mar-osc)}
.qr-box{display:grid;justify-items:center;gap:6px}
.qr-box svg{width:160px;height:160px}
.nota-legal{font-size:13px;color:var(--gris);border-left:4px solid var(--sol);padding:8px 12px;max-width:680px}

/* pie */
.pie{margin-top:48px;padding:22px 0 30px;border-top:2px solid var(--borde);font-size:13px;color:var(--gris);display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between}

@media (max-width:720px){
  .hero,.campos,.datos{grid-template-columns:1fr}
  .top nav{margin-left:0} .hero{padding:26px 20px}
}
/* ─── directorio ─── */
.dir-filtros{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr auto;gap:10px;align-items:center}
.dir-filtros input,.dir-filtros select{width:100%;border:2px solid var(--borde);border-radius:999px;padding:11px 16px;font:inherit;font-size:15px;color:var(--tinta);background:var(--fondo);min-width:0}
.chips a.chip{text-decoration:none;color:var(--tinta)}
.chips a.chip.on{color:#fff}
.tarjetas{display:grid;grid-template-columns:repeat(auto-fill,minmax(235px,1fr));gap:14px}
.tarjeta{border:2px solid var(--borde);border-radius:20px;overflow:hidden;background:var(--fondo);display:grid;text-decoration:none;color:var(--tinta);transition:transform .15s,box-shadow .15s}
.tarjeta:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(20,60,90,.12)}
.tarjeta .img{height:120px;display:grid;place-items:center;color:#fff;font-weight:900;font-size:30px}
.tarjeta .t{padding:12px 14px 14px;display:grid;gap:6px}
.tarjeta h3{font-size:17px}
.tarjeta .meta{font-size:13px;color:var(--gris);font-weight:600}
.tarjeta .desc{font-size:14px}
.paginacion{display:flex;justify-content:center;gap:12px;font-weight:700}
.paginacion a{color:var(--mar-osc)}
.ficha{border:2px solid var(--borde);border-radius:24px;overflow:hidden;max-width:760px}
.ficha-cab{padding:26px 24px;color:#fff;display:grid;gap:8px}
.ficha-cab h1{color:#fff;font-size:clamp(26px,4vw,38px);font-weight:900}
.ficha-cab p{color:#F2FAFF;font-weight:600}
.ficha-cuerpo{padding:22px 24px;display:grid;gap:16px}
.desc-larga{font-size:17px;line-height:1.55}
@media (max-width:720px){ .dir-filtros{grid-template-columns:1fr} }
/* ─── accesos rápidos en el hero ─── */
.hero-accesos{display:grid;gap:10px}
.hero-accesos a{display:grid;gap:2px;background:rgba(255,255,255,.16);border:2px solid rgba(255,255,255,.45);border-radius:16px;padding:12px 14px;color:#fff;text-decoration:none}
.hero-accesos a:hover{background:rgba(255,255,255,.26)}
.hero-accesos b{font-size:16px} .hero-accesos span{font-size:13px;color:#EAF6FF}

/* ─── noticias y entrevistas ─── */
.kicker{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--mar)}
.meta{font-size:13px;color:var(--gris);font-weight:600}
.notas{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}
.nota{border:2px solid var(--borde);border-radius:20px;overflow:hidden;background:var(--fondo);display:grid;text-decoration:none;color:var(--tinta);transition:transform .15s,box-shadow .15s}
.nota:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(20,60,90,.12)}
.nota-img{display:block;width:100%;height:160px;object-fit:cover;max-width:100%}
.nota-t{padding:14px;display:grid;gap:6px} .nota-t h3{font-size:19px}
.portada-noticias{display:grid;grid-template-columns:1.25fr 1fr;gap:16px;align-items:start}
.nota.destacada .nota-img{height:220px} .nota.destacada h3{font-size:24px}
.breves{display:grid;gap:10px}
.breve{display:grid;grid-template-columns:64px 1fr;gap:12px;align-items:center;border:2px solid var(--borde);border-radius:16px;padding:10px;text-decoration:none;color:var(--tinta);min-width:0}
.breve-img{width:64px;height:64px;border-radius:12px;object-fit:cover;display:block}
.breve h4{font-size:15px;line-height:1.2}
.articulo{display:grid;gap:14px;max-width:760px}
.articulo h1{font-size:clamp(26px,4vw,38px);font-weight:900}
.entradilla{font-size:19px;color:var(--gris);line-height:1.5}
.portada{width:100%;max-width:100%;border-radius:20px;display:block}
.cuerpo-articulo{font-size:17px;line-height:1.65;display:grid;gap:12px}
.cuerpo-articulo h2{font-size:24px;margin-top:10px} .cuerpo-articulo h3{font-size:20px}
.cuerpo-articulo ul,.cuerpo-articulo ol{padding-left:24px;margin:0} .cuerpo-articulo a{color:var(--mar-osc);font-weight:700}
.cuerpo-articulo blockquote{border-left:4px solid var(--sol);margin:0;padding:6px 16px;background:var(--suave);border-radius:0 12px 12px 0;font-style:italic}
.emprendimiento-enlazado{display:grid;gap:4px;border:2px solid var(--borde);border-radius:16px;padding:14px 16px;text-decoration:none;color:var(--tinta);background:var(--suave)}
.entrevistas-ficha{display:grid;gap:10px}
@media (max-width:720px){ .portada-noticias{grid-template-columns:1fr} }
@media (prefers-reduced-motion:reduce){*{transition:none!important}}

/* Galería de fotos de una publicación + visor */
.galeria{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;margin-top:6px}
.galeria-item{padding:0;border:0;background:none;cursor:zoom-in;border-radius:14px;overflow:hidden;aspect-ratio:4/3;display:block}
.galeria-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .2s}
.galeria-item:hover img,.galeria-item:focus-visible img{transform:scale(1.04)}
.visor{position:fixed;inset:0;z-index:100;background:rgba(28,43,51,.94);display:flex;align-items:center;justify-content:center;flex-direction:column;padding:16px}
.visor[hidden]{display:none}
.visor img{max-width:min(92vw,1100px);max-height:80vh;object-fit:contain;border-radius:12px;box-shadow:0 20px 60px rgba(0,0,0,.5)}
.visor-pie{color:#fff;margin-top:12px;font-size:14px;text-align:center}
.visor-nav,.visor-cerrar{position:absolute;background:rgba(255,255,255,.14);color:#fff;border:0;border-radius:999px;cursor:pointer;line-height:1;display:flex;align-items:center;justify-content:center}
.visor-nav:hover,.visor-cerrar:hover{background:var(--sol);color:var(--tinta)}
.visor-nav{top:50%;transform:translateY(-50%);width:48px;height:48px;font-size:32px}
.visor-ant{left:12px} .visor-sig{right:12px}
.visor-cerrar{top:12px;right:12px;width:40px;height:40px;font-size:24px}

/* Mosaico de noticias en la portada: la foto manda, el texto va sobre un degradado */
.mosaico{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:240px;gap:14px}
.foto-card{position:relative;display:block;overflow:hidden;border-radius:20px;background:var(--c,var(--mar));color:#fff;text-decoration:none;min-width:0;box-shadow:0 2px 10px rgba(20,60,90,.08);transition:transform .15s,box-shadow .15s}
.foto-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(20,60,90,.18)}
.foto-card.grande{grid-column:span 2;grid-row:span 2}
.foto-card img,.foto-card-vacia{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}
.foto-card:hover img{transform:scale(1.05)}
.foto-card-vacia{background:linear-gradient(135deg,var(--c,var(--mar)),rgba(255,255,255,.35))}
.foto-card-t{position:absolute;inset:auto 0 0 0;padding:44px 16px 16px;display:grid;gap:4px;background:linear-gradient(180deg,rgba(0,0,0,0),rgba(10,25,35,.55) 35%,rgba(10,25,35,.88))}
.foto-card-t .kicker{color:#fff;background:var(--c,var(--mar));padding:3px 8px;border-radius:999px;width:max-content;max-width:100%;font-size:11px}
.foto-card-t h3{font-size:18px;line-height:1.18;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.4)}
.foto-card.grande .foto-card-t h3{font-size:clamp(22px,3vw,30px)}
.foto-card-t p{color:rgba(255,255,255,.9);font-size:14px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.foto-card-t .meta{color:var(--sol);font-size:13px}
.foto-card:not(.grande) .foto-card-t p{display:none}
@media (max-width:900px){ .mosaico{grid-template-columns:repeat(2,1fr);grid-auto-rows:210px} .foto-card.grande{grid-column:span 2;grid-row:span 1;min-height:300px} }
@media (max-width:520px){ .mosaico{grid-template-columns:1fr;grid-auto-rows:200px} .foto-card.grande{grid-column:span 1;min-height:280px} }

/* Listado de noticias: imagen más alta */
.nota-img{height:200px}
