/*
Theme Name: JVA1 — Junta de Vigilancia Primera Sección
Theme URI: https://primeraseccionaconcagua.cl
Author: Xpertos
Description: Theme a medida para la Junta de Vigilancia Primera Sección Río Aconcagua. Paleta y tipografía alineadas a la plantilla de referencia entregada por el cliente (Poppins + Source Serif 4, navy/river/amber).
Version: 2.0.0
Text Domain: jva1-theme
*/

:root{
  --ink:#17294C;
  --river:#2D70B6;
  --river-deep:#1F3B63;
  --mist:#EEF2F8;
  --paper:#FFFFFF;
  --card-blue:#E9F2FC;
  --stone:#8494AB;
  --line:#E4EAF2;
  --amber:#F5A623;
  --magenta:#B23E7A;
  --teal:#178C83;
  --gold:#B9902E;
  --live:#22C07D;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0; background:var(--mist); color:#33404F; font-family:'Source Serif 4', Georgia, serif; line-height:1.6;}
a{color:inherit;}
img{max-width:100%; height:auto; display:block;}
h1,h2,h3{font-family:'Poppins', Arial, sans-serif; margin:0; font-weight:700; color:var(--ink);}
.pp{font-family:'Poppins', Arial, sans-serif;}
.mono{font-family:'Poppins', Arial, sans-serif; font-variant-numeric:tabular-nums;}
.wrap{max-width:1180px; margin:0 auto; padding:0 clamp(1.1rem,3.5vw,2.2rem);}
.live{display:inline-flex; align-items:center; gap:.4rem; font-family:'Poppins'; font-size:.68rem; letter-spacing:.09em; text-transform:uppercase; color:var(--live); font-weight:700;}
.live::before{content:''; width:.45rem; height:.45rem; border-radius:50%; background:var(--live);}
@media (prefers-reduced-motion:no-preference){
  .live::before{animation:jva1-pulse 1.6s infinite;}
  @keyframes jva1-pulse{0%{box-shadow:0 0 0 0 rgba(34,192,125,.5);}70%{box-shadow:0 0 0 7px rgba(34,192,125,0);}}
}

/* Top bar — redes sociales */
.top-bar{background:var(--ink);}
.top-bar .wrap{display:flex; justify-content:flex-end;}
.social-icons{display:flex; align-items:center; gap:.9rem; padding:.45rem 0;}
.social-icons a{color:#CFE0E2; display:flex; opacity:.9;}
.social-icons a:hover{color:#fff; opacity:1;}
.social-icons svg{width:16px; height:16px;}

/* Header */
.site-header{background:rgba(255,255,255,.93); backdrop-filter:saturate(160%) blur(8px); border-bottom:1px solid var(--line); position:sticky; top:0; z-index:40;}
.site-header .bar{display:flex; align-items:center; justify-content:space-between; padding:.6rem 0;}
.brand{text-decoration:none; font-family:'Poppins'; font-weight:700; color:var(--ink); font-size:1.1rem;}
.brand img{width:243px; height:auto;}
.main-menu, .jva1-nav-fallback{list-style:none; display:flex; flex-shrink:0; gap:.3rem; margin:0; padding:0; font-family:'Poppins'; font-size:.84rem; font-weight:500;}
.main-menu li, .jva1-nav-fallback li{position:relative;}
.main-menu a, .jva1-nav-fallback a{text-decoration:none; color:var(--ink); padding:.55rem 1rem; border-radius:999px; display:inline-block; white-space:nowrap;}
.main-menu li.current-menu-item > a{background:var(--ink); color:#fff;}
.main-menu a:hover, .jva1-nav-fallback a:hover{background:var(--mist);}
.main-menu .sub-menu{
  display:none; position:absolute; top:100%; left:0; background:var(--paper); border:1px solid var(--line);
  border-radius:8px; min-width:15rem; padding:.6rem .4rem .4rem; box-shadow:0 12px 24px -12px rgba(20,40,50,.25); z-index:5; list-style:none;
}
.main-menu li:hover .sub-menu{display:block;}
.main-menu .sub-menu a{display:block; padding:.55rem .7rem; border-radius:6px; font-weight:500;}

/* Hero */
.hero{position:relative; color:#fff; overflow:hidden; height:500px;}
.hero-slide{position:absolute; inset:0; z-index:0; opacity:0; pointer-events:none; display:flex; align-items:flex-end; transition:opacity 1s ease;}
.hero-slide.active{opacity:1; pointer-events:auto; z-index:1;}
.hero .bg{
  position:absolute; inset:0; z-index:0;
  background:linear-gradient(200deg, #2D70B6 0%, #17294C 55%, #0B2131 100%);
}
.hero .bg.has-image{background-size:cover; background-position:center; transform-origin:center; will-change:transform;}
@media (prefers-reduced-motion:no-preference){
  .hero .bg.has-image{animation:jva1-dollyzoom 11s ease-in-out infinite alternate;}
}
@keyframes jva1-dollyzoom{from{transform:scale(1);}to{transform:scale(1.06);}}
.hero .bg::after{
  content:''; position:absolute; inset:0;
  background:linear-gradient(to top, rgba(9,17,32,.94) 0%, rgba(9,17,32,.8) 14%, rgba(9,17,32,.35) 48%, rgba(9,17,32,.5) 100%);
}
.hero .iso{position:absolute; z-index:1; right:-30px; top:-30px; width:280px; height:280px; opacity:.14; background:url('assets/img/isotipo-watermark.png') center/contain no-repeat;}
.hero .content{position:relative; z-index:2; width:100%; padding-bottom:3.6rem;}
.hero .htag{display:inline-block; background:var(--amber); color:var(--ink); font:700 11px 'Poppins'; letter-spacing:.08em; text-transform:uppercase; padding:6px 12px; border-radius:6px;}
.hero h1{font:800 clamp(1.9rem,3.6vw,2.9rem)/1.1 'Poppins'; letter-spacing:-.01em; max-width:18ch; text-wrap:balance; margin-top:.8rem; color:#fff; text-shadow:0 2px 24px rgba(0,0,0,.35);}
.hero p.lead{max-width:44ch; color:#eaf1f9; margin-top:.8rem; font-size:1.05rem; font-family:'Source Serif 4';}
.hero .explore{display:flex; align-items:center; gap:.5rem; margin-top:1.6rem; font-family:'Poppins'; font-size:.78rem; letter-spacing:.08em; text-transform:uppercase; color:#CFE2E4;}
.hero .cta{display:inline-block; margin-top:1.4rem; background:var(--river); color:#fff; border:1px solid #fff; font:600 14px 'Poppins'; padding:12px 24px; border-radius:999px; text-decoration:none; transition:background .2s, color .2s;}
.hero .cta:hover{background:#fff; color:var(--river);}

.hero-arrow{position:absolute; top:28%; z-index:3; transform:translateY(-50%); width:2.6rem; height:2.6rem; border-radius:50%; border:1px solid rgba(255,255,255,.35); background:rgba(9,17,32,.35); backdrop-filter:blur(4px); color:#fff; display:flex; align-items:center; justify-content:center; cursor:pointer; transition:background .2s, border-color .2s;}
.hero-arrow:hover{background:rgba(9,17,32,.6); border-color:rgba(255,255,255,.6);}
.hero-arrow svg{width:1.2rem; height:1.2rem;}
.hero-arrow-prev{left:1.2rem;}
.hero-arrow-next{right:1.2rem;}
.hero-dots{position:absolute; z-index:3; right:1.6rem; bottom:3.8rem; display:flex; gap:.5rem;}
.hero-dot{width:.55rem; height:.55rem; border-radius:50%; border:1px solid rgba(255,255,255,.7); background:rgba(255,255,255,.25); padding:0; cursor:pointer; transition:background .2s, transform .2s;}
.hero-dot.active{background:var(--amber); border-color:var(--amber); transform:scale(1.15);}
@media (max-width:640px){
  .hero-arrow{width:2.2rem; height:2.2rem;}
  .hero-dots{right:1rem; bottom:1rem;}
}

/* Home 3-column grid — se superpone al hero, como en la referencia del cliente */
.grid3{padding:0 0 2.8rem;}
.g3{display:grid; grid-template-columns:1fr 1fr 1.25fr; gap:1.1rem; align-items:stretch; position:relative; z-index:5; margin-top:-48px;}
.g3 > .col{display:flex; flex-direction:column;}
.g3 > .col > .card, .g3 > .col > .weather, .g3 > .col > .news-card{flex:1; display:flex; flex-direction:column;}
.see-all{color:var(--river); font-family:'Poppins'; font-weight:600; font-size:.85rem; text-decoration:none; white-space:nowrap; flex-shrink:0;}

/* Título dentro de la caja, compartido por Caudal / Meteorología / Noticias */
.card .head, .weather .head, .news-card .head{display:flex; align-items:center; justify-content:space-between; margin-bottom:.5rem; gap:.6rem;}
.card .head h2, .weather .head h2, .news-card .head h2{font-size:1.05rem; line-height:1.25; white-space:nowrap;}
.card .head h2{color:var(--ink);}
.news-card .head h2{color:var(--ink);}
.weather .head h2{color:#fff;}
.news-card .head{padding:16px 18px 12px;}

.news-card{background:var(--paper); border-radius:16px; overflow:hidden; box-shadow:0 18px 44px -12px rgba(15,29,56,.16);}
.news-card .thumb{width:100%; aspect-ratio:16/11; object-fit:cover; display:block; background:linear-gradient(200deg,#3B8FC4,#17294C);}
.news-card > a{flex:1; display:flex; flex-direction:column;}
.news-card .body{padding:1.1rem 1.2rem 1.3rem; flex:1; display:flex; flex-direction:column;}
.news-card .read-more{margin-top:auto;}
.news-card .date{font-family:'Poppins'; font-weight:600; font-size:.68rem; letter-spacing:.05em; text-transform:uppercase; color:var(--river);}
.eyebrow-cat{font-family:'Poppins'; font-size:.66rem; letter-spacing:.06em; font-weight:700; color:#fff; background:var(--river); text-transform:uppercase; margin:0; display:inline-block; padding:5px 10px; border-radius:6px;}
.news-card h3{font-size:1.15rem; margin-top:.6rem; font-family:'Poppins'; color:var(--ink);}
.news-card p{font-size:.92rem; color:#33404F; margin-top:.5rem; font-family:'Source Serif 4';}
.news-card .read-more{display:inline-block; margin-top:.8rem; font:700 .85rem 'Poppins'; color:var(--river);}

.cimhi-logo-box{background:var(--mist); border:1px solid var(--line); border-radius:10px; padding:1rem 1.2rem; margin-bottom:.6rem;}
.cimhi-logo-box img{max-height:2.4rem; width:auto;}
.cimhi-link{display:inline-block; margin-top:.2rem; color:var(--river); font-family:'Poppins'; font-weight:600; text-decoration:none; font-size:1.05rem;}
.cimhi-link:hover{text-decoration:underline;}
.cimhi-link-logo{display:block; margin-top:.4rem; opacity:.92; transition:opacity .2s;}
.cimhi-link-logo:hover{opacity:1;}
.cimhi-link-logo img{height:3.65rem; width:auto;}

.card{background:var(--paper); border-radius:16px; box-shadow:0 18px 44px -14px rgba(15,29,56,.16); padding:1.1rem 1.2rem;}
.flow-row{display:flex; align-items:center; justify-content:space-between; padding:.65rem 0; border-top:1px solid var(--line); font-size:.9rem;}
.flow-row .name{display:flex; align-items:center; gap:.55rem; font-family:'Poppins'; font-weight:600; color:var(--ink);}
.flow-row .name .wave{width:1.15rem; height:1.15rem; color:var(--river); flex-shrink:0;}
.flow-row .val{color:var(--ink); font-family:'Poppins'; font-weight:700; font-size:1.05rem;}
.flow-row .unit{color:var(--stone); font-family:'Poppins'; font-size:.72rem; margin-left:.3rem;}
.foot-note{font-family:'Poppins'; font-size:.78rem; color:var(--stone); margin-top:.7rem;}

.weather{background:linear-gradient(160deg,var(--river-deep),var(--river)); color:#fff; border-radius:16px; box-shadow:0 18px 44px -14px rgba(15,29,56,.25); padding:1.1rem 1.2rem;}
.weather .temp{font-family:'Poppins'; font-size:2.4rem; font-weight:800; margin:.3rem 0;}
.weather .meta{display:flex; gap:1.4rem; font-family:'Poppins'; font-size:.8rem; font-weight:600; color:#dbe7f5; margin-bottom:.7rem;}
.weather .city{font-family:'Poppins'; font-size:.78rem; font-weight:600; letter-spacing:.04em; color:#cbdcf0; opacity:1; margin:0;}
.weather .fc{display:flex; justify-content:space-between; align-items:center; font-family:'Poppins'; font-weight:600; font-size:.82rem; padding:.5rem 0; border-top:1px solid rgba(255,255,255,.16);}
.weather .src{font-family:'Poppins'; font-size:.68rem; color:#a9c3e0; margin-top:.6rem;}

.jva1-alert, .alert{display:flex; gap:.7rem; align-items:flex-start; background:#FBEECF; border:1px solid #F1D79A; border-radius:14px; padding:1rem 1.1rem; margin-top:.9rem; text-decoration:none;}
.jva1-alert svg, .alert svg{width:1.3rem; height:1.3rem; fill:#A5680A; flex-shrink:0; margin-top:.15rem;}
.jva1-alert div, .alert div{display:flex; flex-direction:column; gap:.25rem;}
.jva1-alert b, .alert b{font-family:'Poppins'; font-weight:700; font-size:.85rem; color:#7a4d00;}
.jva1-alert span, .alert span{font-family:'Source Serif 4'; font-size:.85rem; line-height:1.4; color:#8a6a2a;}
.jva1-pending{background:var(--paper); border:1px dashed var(--line); border-radius:10px; padding:1.4rem; text-align:center; color:var(--stone); font-family:'Poppins'; font-size:.88rem;}
.jva1-cimhi-embed iframe{width:100%; min-height:22rem; border:0; border-radius:10px; display:block;}


/* Franja de marca */
.brand-strip{position:relative; overflow:hidden; margin-top:2.5rem; min-height:22rem; display:flex; align-items:center; justify-content:center; text-align:center;}
.brand-strip .bg{position:absolute; inset:0; background:linear-gradient(200deg,#2D70B6,#17294C) center/cover;}
.brand-strip .bg::after{content:''; position:absolute; inset:0; background:linear-gradient(160deg, rgba(23,41,76,.94), rgba(23,41,76,.78));}
.brand-strip .iso{position:absolute; z-index:1; left:-40px; bottom:-50px; width:320px; height:320px; opacity:.12; background:url('assets/img/isotipo-watermark.png') center/contain no-repeat;}
.brand-strip .bc{position:relative; z-index:2; color:#fff; padding:3.2rem 1.5rem;}
.brand-strip img{height:4.4rem; margin:0 auto 1.3rem; display:block;}
.brand-strip .slogan{font:800 clamp(1.4rem,3.4vw,1.9rem)/1.25 'Poppins'; letter-spacing:-.01em; max-width:32ch; margin:0 auto;}
.brand-strip .slogan em{font-style:normal; color:var(--amber);}
.brand-strip .ideas{margin-top:1.1rem; font-family:'Poppins'; font-weight:600; font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; color:#bcd0ea;}
.brand-strip .ideas span{margin:0 .5rem; color:var(--amber);}

/* Aliados / integraciones */
.allies{padding:2.8rem 0 .5rem;}
.allies .atitle{text-align:center; font-family:'Poppins'; font-weight:600; font-size:.72rem; letter-spacing:.16em; text-transform:uppercase; color:var(--stone); margin-bottom:1.3rem;}
.alogos{display:grid; grid-template-columns:repeat(4,1fr); gap:1.1rem;}
.ally{background:#fff; border:1px solid var(--line); border-radius:12px; min-height:6rem; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:.8rem; font-family:'Poppins'; font-weight:700; font-size:.95rem; color:#9aa7ba; text-decoration:none; transition:.18s;}
.ally:hover{border-color:var(--river); color:var(--ink); transform:translateY(-3px);}
.ally small{display:block; font-weight:500; font-size:.7rem; color:#aab4c4; margin-top:.25rem;}

/* Footer */
.site-footer{background:var(--ink); color:#CFE0E2; padding:2.8rem 0 1.4rem; margin-top:2.8rem; position:relative; overflow:hidden;}
.site-footer .fiso{position:absolute; right:-30px; top:-40px; width:220px; height:220px; opacity:.07; background:url('assets/img/isotipo-watermark.png') center/contain no-repeat; z-index:0;}
.site-footer .wrap{position:relative; z-index:1;}
.foot-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:2rem;}
.site-footer h5{font-family:'Poppins'; color:#fff; margin:0 0 .7rem; font-size:.85rem; letter-spacing:.08em; text-transform:uppercase;}
.site-footer p{font-size:.9rem; margin:.25rem 0; font-family:'Source Serif 4';}
.site-footer a{text-decoration:none; color:#CDD8EC;}
.site-footer a:hover{color:#fff;}
.site-footer ul{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:.5rem; font-size:.9rem;}
.fine{margin-top:2rem; padding-top:1.2rem; border-top:1px solid rgba(255,255,255,.12); font-size:.76rem; color:#8EA2C2; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:1rem;}
.fine .social-icons{padding:0;}

.back-to-top{
  position:fixed; right:1.4rem; bottom:1.4rem; z-index:40;
  width:2.8rem; height:2.8rem; border-radius:50%; background:var(--amber);
  color:var(--ink); display:flex; align-items:center; justify-content:center;
  box-shadow:0 10px 22px -8px rgba(15,35,50,.45); text-decoration:none;
}
.back-to-top:hover{background:#e0961d;}
.back-to-top svg{width:1.2rem; height:1.2rem;}

/* Generic inner pages */
.page-header{padding:2.4rem 0 1rem;}
.page-header h1{font-size:2rem;}
.page-section{padding:1rem 0 3rem;}

.team-grid{display:grid; grid-template-columns:repeat(auto-fill, minmax(13rem,1fr)); gap:1.1rem; margin-top:1.5rem;}
.team-card{background:var(--paper); border:1px solid var(--line); border-radius:12px; padding:1.4rem 1rem; text-align:center;}
.team-card img{width:5rem; height:5rem; border-radius:50%; object-fit:cover; margin:0 auto .8rem;}
.team-card .team-avatar{width:5rem; height:5rem; border-radius:50%; background:var(--mist); color:var(--river); display:flex; align-items:center; justify-content:center; margin:0 auto .8rem;}
.team-card .team-avatar svg{width:1.8rem; height:1.8rem;}
.team-card .name{font-family:'Poppins'; font-weight:700;}
.team-card .role{color:var(--stone); font-size:.85rem; margin-top:.15rem;}

/* Eyebrow label reutilizable */
.eyebrow-label{font-family:'Poppins'; font-weight:700; font-size:.75rem; letter-spacing:.1em; text-transform:uppercase; color:var(--river); margin:0 0 .6rem;}

/* Noticias — archive-jva1_noticia.php */
.page-lead{max-width:46rem; color:#4A5872; font-size:1.02rem; margin-top:.4rem;}
.news-hero{display:grid; grid-template-columns:1.6fr 1fr; gap:1.6rem; margin-top:2rem;}
.news-hero-main{background:var(--paper); border-radius:16px; overflow:hidden; box-shadow:0 18px 44px -12px rgba(15,29,56,.16); text-decoration:none; color:inherit; display:block;}
.news-hero-main .thumb{position:relative; aspect-ratio:16/9; background:linear-gradient(200deg,#3B8FC4,#17294C); overflow:hidden;}
.news-hero-main .thumb img{width:100%; height:100%; object-fit:cover;}
.news-hero-main .body{padding:1.6rem 1.8rem 1.9rem;}
.news-hero-main h2{font-size:1.5rem; margin-top:.7rem;}
.news-hero-main .excerpt{margin-top:.6rem; color:#4A5872;}
.news-hero-main .read-more{display:inline-block; margin-top:.9rem; font:700 .85rem 'Poppins'; color:var(--river);}
.news-side-label{font-family:'Poppins'; font-weight:700; font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; color:var(--stone); margin:0 0 .8rem;}
.news-side-list{display:flex; flex-direction:column; gap:.9rem;}
.news-side-item{display:grid; grid-template-columns:5rem 1fr; gap:.9rem; background:var(--paper); border-radius:12px; padding:.7rem; box-shadow:0 8px 20px -8px rgba(15,29,56,.14); text-decoration:none; color:inherit;}
.news-side-item .thumb{aspect-ratio:1/1; border-radius:8px; overflow:hidden; background:linear-gradient(200deg,#3B8FC4,#17294C);}
.news-side-item .thumb img{width:100%; height:100%; object-fit:cover; display:block;}
.news-side-item h4{font-family:'Poppins'; font-size:.88rem; font-weight:700; color:var(--ink); line-height:1.3;}
.news-side-item .news-meta{margin-top:.3rem;}

.cat-badge{font-family:'Poppins'; font-size:.66rem; letter-spacing:.05em; font-weight:700; color:#fff; background:var(--river); text-transform:uppercase; display:inline-block; padding:5px 10px; border-radius:6px;}
.cat-badge.cat-blue{background:var(--river);}
.cat-badge.cat-amber{background:var(--amber); color:var(--ink);}
.cat-badge.cat-teal{background:var(--river-deep);}
.cat-badge.cat-navy{background:var(--ink);}
.cat-badge.cat-gray{background:#5C6B84;}
.news-hero-main .cat-badge, .news-grid-card .cat-badge{position:absolute; top:.8rem; left:.8rem;}
.news-meta{font-family:'Poppins'; font-size:.7rem; letter-spacing:.04em; text-transform:uppercase; color:var(--stone); font-weight:600;}

.cat-filter-row{display:flex; flex-wrap:wrap; gap:.6rem; margin:2.6rem 0 1.6rem;}
.cat-filter{font-family:'Poppins'; font-size:.85rem; font-weight:600; color:var(--ink); background:var(--mist); border:1px solid var(--line); border-radius:999px; padding:.5rem 1.1rem; text-decoration:none;}
.cat-filter.active{background:var(--ink); color:#fff; border-color:var(--ink);}

.news-grid{display:grid; grid-template-columns:repeat(auto-fill, minmax(16rem,1fr)); gap:1.4rem;}
.news-grid-card{display:block; background:var(--paper); border-radius:14px; overflow:hidden; box-shadow:0 12px 28px -12px rgba(15,29,56,.14); text-decoration:none; color:inherit; transition:box-shadow .2s, transform .2s;}
.news-grid-card:hover{box-shadow:0 16px 32px -10px rgba(15,29,56,.2); transform:translateY(-2px);}
.news-grid-card .thumb{position:relative; aspect-ratio:16/10; background:linear-gradient(200deg,#3B8FC4,#17294C); overflow:hidden;}
.news-grid-card .thumb img{width:100%; height:100%; object-fit:cover;}
.news-grid-card .body{padding:1.1rem 1.2rem 1.3rem;}
.news-grid-card h3{font-size:1.02rem; margin-top:.6rem; color:var(--ink);}
.news-grid-card .excerpt{font-size:.86rem; color:var(--stone); margin-top:.4rem;}

.load-more-row{display:flex; justify-content:center; margin-top:2.2rem;}
.btn-load-more{font-family:'Poppins'; font-weight:600; font-size:.9rem; color:var(--ink); background:var(--paper); border:1px solid var(--line); border-radius:999px; padding:.75rem 1.6rem; text-decoration:none;}
.btn-load-more:hover{border-color:var(--river);}

.newsletter-band{background:var(--ink); border-radius:16px; padding:2rem 2.2rem; margin:3rem 0 1rem; display:flex; align-items:center; justify-content:space-between; gap:1.6rem; flex-wrap:wrap;}
.newsletter-band h3{color:#fff; font-size:1.2rem;}
.newsletter-band p{color:#C7D3E8; font-size:.9rem; margin-top:.3rem;}
.newsletter-form{display:flex; gap:.6rem; flex-wrap:wrap;}
.newsletter-form input[type="email"]{font-family:'Poppins'; font-size:.9rem; border:none; border-radius:999px; padding:.75rem 1.2rem; min-width:15rem;}
.newsletter-form .note{width:100%; color:#9FADC7; font-size:.78rem; margin-top:.4rem;}
@media (max-width:860px){
  .news-hero{grid-template-columns:1fr;}
}

/* Intro de "Quiénes somos" */
.about-intro{display:grid; grid-template-columns:1.1fr 1fr; gap:2rem; align-items:center; padding:2.6rem 0 2rem;}
.about-intro h1{font-size:clamp(1.7rem,3vw,2.3rem); margin-top:.3rem;}
.about-intro .lead-text{margin-top:.9rem; font-size:1rem; color:#33404F;}
.about-photo-box{
  position:relative; overflow:hidden; border-radius:16px; min-height:14rem;
  background:linear-gradient(200deg,var(--river),var(--ink)) center/cover; display:flex; align-items:flex-end; padding:1rem;
}
.about-photo-box.wide{min-height:24rem; margin-bottom:1.6rem;}
.about-photo-box.wide.has-image{background-position:center 25%;}
.about-photo-box .iso{position:absolute; inset:0; opacity:.16; background:url('assets/img/isotipo-watermark.png') center/contain no-repeat;}
.about-photo-box.has-image .iso{display:none;}
.about-photo-box .photo-caption{position:relative; z-index:1; color:#cfe0e8; font-family:'Poppins'; font-size:.72rem; font-style:italic;}

.stats-bar{background:var(--ink); border-radius:16px; display:grid; grid-template-columns:repeat(4,1fr); margin-bottom:1rem;}
.stat-tile{padding:1.4rem 1rem; text-align:center; border-left:1px solid rgba(255,255,255,.12);}
.stat-tile:first-child{border-left:0;}
.stat-value{display:block; font-family:'Poppins'; font-weight:800; font-size:1.8rem; color:#fff;}
.stat-label{display:block; font-family:'Poppins'; font-size:.72rem; color:#9fb4c4; margin-top:.3rem;}

.about-section{padding:2.6rem 0;}
.about-section-tint{background:var(--mist);}
.about-section h2{font-size:1.5rem;}
.about-section .section-intro{margin-top:.7rem; max-width:60ch; color:#33404F;}
.mission-text{font-family:'Poppins'; font-size:1.15rem; font-weight:500; color:var(--ink); max-width:60ch; margin:0;}

/* Organigrama */
.org-chart{margin:1.8rem 0; display:flex; flex-direction:column; align-items:center; gap:.6rem;}
.org-node{font-family:'Poppins'; font-weight:600; font-size:.85rem; text-align:center; padding:.7rem 1.3rem; border-radius:8px;}
.org-node.org-top{background:var(--river); color:#fff;}
.org-node.org-main{background:var(--ink); color:#fff; margin-top:.4rem;}
.org-branches{display:flex; flex-wrap:wrap; justify-content:center; gap:.7rem; margin-top:.6rem; padding-top:1rem; border-top:1px solid var(--line); width:100%;}
.org-node.org-branch{background:var(--paper); border:1px solid var(--line); color:var(--ink); flex:1; min-width:9rem;}

/* Padrón de usuarios */
.padron-card{display:grid; grid-template-columns:1fr 1.2fr; gap:1.6rem; align-items:stretch; margin-top:1.6rem; background:var(--paper); border-radius:16px; overflow:hidden; box-shadow:0 18px 44px -18px rgba(15,29,56,.16);}
.padron-card .about-photo-box{border-radius:0; min-height:100%;}
.padron-body{padding:1.6rem 1.8rem 1.6rem 0;}
.padron-body h3{font-size:1.2rem;}
.padron-body p{margin-top:.6rem; color:#33404F;}
.padron-actions{display:flex; gap:.8rem; flex-wrap:wrap; margin-top:1.1rem;}
.btn-solid{background:var(--ink); color:#fff; font-family:'Poppins'; font-weight:600; font-size:.85rem; padding:.7rem 1.2rem; border-radius:999px; text-decoration:none; display:inline-block;}
.btn-outline{border:1.5px solid var(--river); color:var(--river); font-family:'Poppins'; font-weight:600; font-size:.85rem; padding:.65rem 1.1rem; border-radius:999px; text-decoration:none; display:inline-block;}
.btn-solid.soon, .btn-outline.soon{opacity:.5; cursor:default;}
.fine-note{margin-top:1rem; font-size:.78rem; color:var(--stone);}

/* Mapas */
.map-cards{display:grid; grid-template-columns:1fr 1fr; gap:1.4rem; margin-top:1.6rem;}
.map-card{background:var(--paper); border:1px solid var(--line); border-radius:16px; padding:1.2rem;}
.map-card .about-photo-box{margin-bottom:1rem;}
.map-card h3{font-size:1.1rem;}
.map-card p{margin-top:.5rem; font-size:.9rem; color:var(--stone);}
.map-card .btn-outline{margin-top:.9rem;}

/* Single noticia — sidebar */
.single-noticia-layout{display:grid; grid-template-columns:1fr .36fr; gap:2.6rem; align-items:start;}
.single-noticia-main{min-width:0;}
.single-noticia-sidebar{display:flex; flex-direction:column; gap:1.4rem; position:sticky; top:6.5rem;}
.sidebar-box{background:var(--paper); border:1px solid var(--line); border-radius:14px; padding:1.3rem 1.4rem;}
.sidebar-list{margin-top:.9rem; display:flex; flex-direction:column;}
.sidebar-list-item{display:block; padding:.8rem 0; border-top:1px solid var(--line); text-decoration:none; color:inherit;}
.sidebar-list-item:first-child{border-top:0; padding-top:0;}
.sidebar-list-item h4{font-family:'Poppins'; font-size:.92rem; font-weight:700; color:var(--ink); line-height:1.35;}
.sidebar-list-item .news-meta{margin-top:.3rem;}
@media (max-width:900px){
  .single-noticia-layout{grid-template-columns:1fr;}
  .single-noticia-sidebar{position:static;}
}

/* Historia — línea de tiempo, page-organizacion.php */
.timeline{position:relative; margin-top:2rem; padding-left:2.6rem;}
.timeline::before{content:''; position:absolute; left:.6rem; top:.4rem; bottom:.4rem; width:2px; background:var(--line);}
.timeline-item{position:relative; margin-bottom:1.8rem;}
.timeline-item:last-child{margin-bottom:0;}
.timeline-item::before{content:''; position:absolute; left:-2.15rem; top:.15rem; width:.9rem; height:.9rem; border-radius:50%; background:var(--amber); border:3px solid var(--paper); box-shadow:0 0 0 2px var(--amber);}
.timeline-year{display:inline-block; font-family:'Poppins'; font-weight:800; font-size:1.1rem; color:var(--river-deep); margin-bottom:.4rem;}
.timeline-content{background:var(--paper); border:1px solid var(--line); border-radius:12px; padding:1rem 1.2rem;}
.timeline-content p{margin:0; color:#33404F; font-size:.92rem;}
@media (max-width:640px){
  .timeline{padding-left:2.2rem;}
  .timeline-item::before{left:-1.85rem;}
}

/* Reparto — page-reparto.php */
.reparto-hero-stat{display:grid; grid-template-columns:.85fr 1.15fr; gap:1.6rem; align-items:stretch; margin-top:1.6rem;}
.reparto-hero-stat .equiv-box{background:var(--ink); border-radius:16px; padding:2rem 1.6rem; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center;}
.reparto-hero-stat .equiv-box .equiv-value{font-family:'Poppins'; font-weight:800; font-size:2rem; color:#fff; line-height:1.2;}
.reparto-hero-stat .equiv-box .equiv-label{font-family:'Poppins'; font-size:.75rem; letter-spacing:.05em; text-transform:uppercase; color:var(--amber); margin-top:.5rem;}
.reparto-hero-stat .equiv-text{background:var(--paper); border:1px solid var(--line); border-radius:16px; padding:1.6rem 1.8rem; display:flex; flex-direction:column; justify-content:center; gap:.9rem;}
.reparto-hero-stat .equiv-text p{margin:0; color:#33404F;}
.reparto-hero-stat .equiv-text strong{color:var(--ink);}

.reparto-list{list-style:none; margin:1rem 0 0; padding:0; display:flex; flex-direction:column; gap:.8rem;}
.reparto-list li{display:flex; gap:.8rem; align-items:flex-start; background:var(--paper); border:1px solid var(--line); border-radius:12px; padding:.9rem 1.1rem; color:#33404F;}
.reparto-list li .num{flex:none; width:1.7rem; height:1.7rem; border-radius:50%; background:var(--card-blue); color:var(--river-deep); font-family:'Poppins'; font-weight:700; font-size:.8rem; display:flex; align-items:center; justify-content:center;}

.reparto-quote{background:var(--card-blue); border-left:4px solid var(--river); border-radius:0 14px 14px 0; padding:1.3rem 1.6rem; margin-top:1.4rem; font-family:'Source Serif 4'; font-style:italic; font-size:1.05rem; color:var(--river-deep);}

.reparto-photo{border-radius:16px; overflow:hidden; box-shadow:0 14px 30px -14px rgba(15,29,56,.25);}
.reparto-photo img{display:block; width:100%; height:100%; object-fit:cover;}
.reparto-gallery{display:grid; grid-template-columns:1fr 1fr; gap:1.2rem; margin-top:1.6rem;}
.reparto-gallery .reparto-photo{aspect-ratio:4/3;}

@media (max-width:900px){
  .about-intro{grid-template-columns:1fr;}
  .stats-bar{grid-template-columns:repeat(2,1fr);}
  .stat-tile:nth-child(3){border-left:0;}
  .padron-card{grid-template-columns:1fr;}
  .padron-body{padding:1.2rem 1.4rem 1.6rem;}
  .map-cards{grid-template-columns:1fr;}
  .reparto-hero-stat{grid-template-columns:1fr;}
  .reparto-gallery{grid-template-columns:1fr;}
}

.project-grid{display:grid; grid-template-columns:repeat(auto-fill, minmax(16rem,1fr)); gap:1.2rem;}
.project-card{display:block; background:var(--paper); border:1px solid var(--line); border-radius:12px; overflow:hidden; transition:box-shadow .2s, transform .2s; text-decoration:none; color:inherit;}
.project-card:hover{box-shadow:0 10px 24px rgba(23,41,76,.12); transform:translateY(-2px);}
.project-card .thumb{aspect-ratio:16/10; background:linear-gradient(200deg,#3B8FC4,#17294C);}
.project-card .body{padding:1.1rem 1.2rem;}
.badge{display:inline-block; font-family:'Poppins'; font-size:.68rem; letter-spacing:.04em; text-transform:uppercase; font-weight:700; padding:.25rem .6rem; border-radius:999px;}
.badge.perfil{background:#EDEFEF; color:var(--stone);}
.badge.diseno{background:#FBEECF; color:#A5680A;}
.badge.ejecucion{background:#E9F2FC; color:var(--river-deep);}
.badge.terminado{background:#DFF3E4; color:#1F7A3B;}

/* Ficha de proyecto — single-jva1_proyecto.php */
.ficha-header{background:var(--ink); color:#fff; padding:2.4rem 0 2rem;}
.ficha-header .eyebrow-label{color:var(--amber);}
.ficha-header h1{color:#fff; font-size:clamp(1.5rem,3vw,2.2rem); margin-top:.4rem;}
.ficha-meta{display:flex; flex-wrap:wrap; gap:.6rem 1.6rem; margin-top:1.1rem; font-family:'Poppins'; font-size:.85rem; color:#C7D3E8;}
.ficha-meta strong{color:#fff;}
.ficha-pill{display:inline-block; font-family:'Poppins'; font-size:.72rem; letter-spacing:.05em; text-transform:uppercase; font-weight:700; padding:.35rem .85rem; border-radius:999px; background:var(--amber); color:var(--ink);}
.ficha-stepper{display:flex; align-items:center; gap:.4rem; margin-top:1.4rem; font-family:'Poppins'; font-size:.78rem; flex-wrap:wrap;}
.ficha-step{display:flex; align-items:center; gap:.5rem; padding:.4rem .8rem; border-radius:999px; background:rgba(255,255,255,.08); color:#9FADC7;}
.ficha-step .dot{width:.55rem; height:.55rem; border-radius:50%; background:#5A6C8E; flex:none;}
.ficha-step.done{background:rgba(245,166,35,.16); color:#fff;}
.ficha-step.done .dot{background:var(--amber);}
.ficha-step-sep{width:1.4rem; height:1px; background:#3A4E76; flex:none;}
.ficha-body{display:grid; grid-template-columns:1.7fr 1fr; gap:2.4rem; padding:2.4rem 0 1rem;}
.ficha-main .ficha-block{margin-bottom:1.8rem;}
.ficha-main h2{font-size:1.05rem; margin-bottom:.5rem;}
.ficha-main p{margin:0; color:#4A5872;}
.ficha-main ul{margin:.3rem 0 0; padding-left:1.1rem; color:#4A5872;}
.ficha-main ul li{margin-bottom:.35rem;}
.ficha-plano{border-radius:14px; overflow:hidden; border:1px solid var(--line); margin-bottom:1.8rem;}
.ficha-plano img{display:block; width:100%;}
.ficha-plano-empty{aspect-ratio:16/9; background:var(--card-blue); display:flex; align-items:center; justify-content:center; color:var(--stone); font-family:'Poppins'; font-size:.85rem;}
.ficha-sidebar{background:var(--mist); border:1px solid var(--line); border-radius:14px; padding:1.5rem 1.4rem; align-self:start;}
.ficha-sidebar h3{font-size:.72rem; text-transform:uppercase; letter-spacing:.06em; color:var(--river-deep); font-family:'Poppins'; margin-bottom:1rem;}
.ficha-field{display:flex; flex-direction:column; gap:.15rem; padding:.6rem 0; border-bottom:1px solid var(--line);}
.ficha-field:last-child{border-bottom:none;}
.ficha-field .label{font-family:'Poppins'; font-size:.68rem; text-transform:uppercase; letter-spacing:.04em; color:var(--stone);}
.ficha-field .value{font-family:'Poppins'; font-size:.92rem; color:var(--ink); font-weight:600;}
.ficha-contact{margin-top:1.2rem; padding-top:1.1rem; border-top:1px dashed var(--line); font-family:'Poppins'; font-size:.85rem; color:#4A5872;}
.ficha-contact a{color:var(--river-deep); font-weight:600;}
.ficha-stats{display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; padding:1.6rem 0 2.6rem;}
.ficha-stat{background:var(--card-blue); border-radius:12px; padding:1.2rem 1rem; text-align:center;}
.ficha-stat .stat-value{display:block; font-family:'Poppins'; font-size:1.6rem; font-weight:800; color:var(--river-deep);}
.ficha-stat .stat-label{display:block; font-family:'Poppins'; font-size:.75rem; color:var(--stone); margin-top:.2rem;}
.ficha-back{display:inline-flex; align-items:center; gap:.4rem; font-family:'Poppins'; font-size:.85rem; font-weight:600; color:var(--river-deep); margin-bottom:1rem;}
@media (max-width:860px){
  .ficha-body{grid-template-columns:1fr;}
  .ficha-stats{grid-template-columns:1fr;}
}

/* Boletines — archive-jva1_boletin.php */
.boletin-hero{display:grid; grid-template-columns:1fr 1.1fr; gap:2.4rem; align-items:center; padding-bottom:2.2rem; border-bottom:1px solid var(--line); margin-bottom:2.2rem;}
.boletin-hero-cover{position:relative; aspect-ratio:4/3; border-radius:16px; overflow:hidden; background:linear-gradient(160deg,var(--river-deep),var(--ink)); padding:1.6rem; display:flex; flex-direction:column; justify-content:flex-end; color:#fff;}
.boletin-hero-cover .iso-tile{position:absolute; inset:0; opacity:.16; background-image:url('assets/img/isotipo-watermark.png'); background-size:70px; background-position:top right; background-repeat:repeat; -webkit-mask-image:linear-gradient(200deg,#000 45%,transparent 85%); mask-image:linear-gradient(200deg,#000 45%,transparent 85%);}
.boletin-hero-cover .badge-ultimo{position:relative; z-index:1; align-self:flex-start; font-family:'Poppins'; font-size:.72rem; font-weight:700; letter-spacing:.05em; text-transform:uppercase; background:var(--amber); color:var(--ink); padding:.5rem 1rem; border-radius:999px; margin-bottom:auto;}
.boletin-hero-cover .numero{position:relative; z-index:1; font-family:'Poppins'; font-weight:800; font-size:3.2rem; line-height:1;}
.boletin-hero-cover .fecha{position:relative; z-index:1; font-family:'Poppins'; font-weight:700; font-size:.85rem; letter-spacing:.06em; text-transform:uppercase; color:#C7D3E8; margin-top:.3rem;}
.boletin-hero-body .eyebrow-label{color:var(--river);}
.boletin-hero-body h2{font-size:1.9rem; margin-top:.5rem;}
.boletin-hero-body .excerpt{color:#4A5872; margin-top:.8rem; font-size:1.02rem;}
.boletin-hero-actions{display:flex; align-items:center; gap:1rem; margin-top:1.3rem; flex-wrap:wrap;}
.boletin-hero-actions .read-link{font-family:'Poppins'; font-weight:700; color:var(--river); text-decoration:none;}
.boletin-hero-actions .btn-pdf{font-family:'Poppins'; font-weight:600; font-size:.85rem; color:var(--ink); background:var(--mist); border:1px solid var(--line); border-radius:8px; padding:.55rem 1rem; text-decoration:none;}

.boletin-filter-row{display:flex; align-items:center; justify-content:space-between; gap:1.2rem; flex-wrap:wrap; margin-bottom:1.6rem;}
.boletin-filter-row .cat-filter-row{margin:0;}
.boletin-search{display:flex; align-items:center; gap:.5rem; background:var(--mist); border:1px solid var(--line); border-radius:999px; padding:.55rem 1.1rem; min-width:16rem;}
.boletin-search svg{width:1rem; height:1rem; color:var(--stone); flex:none;}
.boletin-search input{border:none; background:transparent; font-family:'Poppins'; font-size:.88rem; width:100%; outline:none;}

.bulletin-grid{display:grid; grid-template-columns:repeat(auto-fill, minmax(15rem,1fr)); gap:1.2rem;}
.bulletin-card{position:relative; display:block; aspect-ratio:4/3; border-radius:14px; overflow:hidden; padding:1.2rem; display:flex; flex-direction:column; justify-content:flex-end; color:#fff; text-decoration:none; background:linear-gradient(160deg,#3B8FC4,#1F3B63); transition:box-shadow .2s, transform .2s;}
.bulletin-card:hover{box-shadow:0 14px 30px -12px rgba(15,29,56,.3); transform:translateY(-2px);}
.bulletin-card.tone-navy{background:linear-gradient(160deg,var(--river-deep),var(--ink));}
.bulletin-card .iso-tile{position:absolute; inset:0; opacity:.16; background-image:url('assets/img/isotipo-watermark.png'); background-size:50px; background-position:top right; background-repeat:repeat; -webkit-mask-image:linear-gradient(200deg,#000 45%,transparent 85%); mask-image:linear-gradient(200deg,#000 45%,transparent 85%);}
.bulletin-card .numero{position:relative; z-index:1; font-family:'Poppins'; font-weight:800; font-size:1.9rem; line-height:1;}
.bulletin-card .fecha{position:relative; z-index:1; font-family:'Poppins'; font-weight:700; font-size:.7rem; letter-spacing:.06em; text-transform:uppercase; color:#E4EAF7; margin-top:.25rem;}
.bulletin-card .title-line{position:relative; z-index:1; font-family:'Poppins'; font-size:.82rem; margin-top:.5rem; color:#fff; opacity:.9;}

.bulletin-empty-pdf{font-size:.78rem; color:var(--stone); margin-top:.4rem;}
@media (max-width:860px){
  .boletin-hero{grid-template-columns:1fr;}
}

.contact-grid{display:grid; grid-template-columns:1.4fr 1fr; gap:2rem; align-items:start;}
.contact-form input, .contact-form textarea{width:100%; padding:.65rem .8rem; border:1px solid var(--line); border-radius:8px; font-family:'Source Serif 4'; font-size:.95rem; margin-top:.3rem;}
.contact-form label{font-family:'Poppins'; font-weight:600; font-size:.85rem;}
.contact-form p{margin-bottom:1rem;}
.contact-form button{background:var(--ink); color:#fff; border:0; font-family:'Poppins'; padding:.75rem 1.5rem; border-radius:8px; font-weight:700; cursor:pointer;}
.contact-sidebar{background:var(--paper); border:1px solid var(--line); border-radius:12px; padding:1.3rem 1.4rem;}
.contact-sidebar .label{font-family:'Poppins'; font-size:.7rem; text-transform:uppercase; letter-spacing:.04em; color:var(--stone); margin-top:.9rem;}

@media (max-width:960px){
  .g3{grid-template-columns:1fr; margin-top:-32px;}
  /* El orden en el HTML ya es caudal → meteorología → noticias, que es
     el orden que pidió el cliente para el scroll en mobile. */
  .main-menu{display:none;}
  .foot-grid{grid-template-columns:1fr;}
  .contact-grid{grid-template-columns:1fr;}
  .alogos{grid-template-columns:repeat(2,1fr);}
  .hero h1{font-size:1.7rem;}
}
