/* El Berrueco 1.7.0 — páginas públicas del barrio, documentación y participación. */
.eb-portal{--ep-forest:#173e34;--ep-muted:#66766e;--ep-line:#d8e2d9;--ep-surface:#fffefa;--ep-bg:#ecf1eb;overflow:hidden}
.eb-portal .eb-portal-hero{padding:clamp(64px,8vw,112px) 0 clamp(58px,7vw,90px);border-bottom:1px solid var(--ep-line);background:linear-gradient(138deg,#f7f5ee 0%,#f7f5ee 52%,#eaf1e7 100%)}
.eb-portal .eb-portal-hero-compact{padding-top:clamp(60px,7vw,95px);padding-bottom:clamp(55px,6vw,80px)}
.eb-portal .eb-portal-hero-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(270px,.75fr);gap:clamp(32px,7vw,100px);align-items:center}
.eb-portal .eyebrow{margin:0 0 25px;font-size:11px;letter-spacing:.15em;line-height:1.5}
.eb-portal h1{max-width:900px;font-size:clamp(3.1rem,5.9vw,5.8rem);line-height:1.04;letter-spacing:-.048em;margin:0 0 28px;text-wrap:balance}
.eb-portal .eb-portal-hero-compact h1{max-width:950px;font-size:clamp(3rem,6vw,5.8rem)}
.eb-portal .eb-portal-lead{font-size:clamp(1.08rem,1.7vw,1.27rem);line-height:1.75;max-width:750px;color:#4e6058;margin-bottom:26px}
.eb-portal .eb-portal-hero-aside{background:#fffdf8;border:1px solid #d8e2d9;border-radius:20px;padding:clamp(28px,3vw,44px);box-shadow:0 22px 60px #173a2521;display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.eb-portal .eb-portal-mini-label{font:750 10px/1.5 system-ui,sans-serif;text-transform:uppercase;letter-spacing:.13em;color:#6c8272}
.eb-portal .eb-portal-hero-aside strong{font:700 clamp(1.6rem,2.5vw,2.45rem)/1.13 Georgia,serif;letter-spacing:-.035em}
.eb-portal .eb-portal-hero-aside>span:not(.eb-portal-mini-label){font-size:14px;color:#587169}
.eb-portal .eb-portal-hero-aside p{font-size:15px;color:#456158;margin:0}
.eb-portal .eb-portal-hero-aside small{color:#77847b;line-height:1.5}
.eb-portal .eb-portal-side-divider{height:1px;width:100%;background:var(--ep-line);margin:14px 0 6px}
.eb-portal .eb-portal-section{padding-top:clamp(63px,7vw,100px);padding-bottom:clamp(63px,7vw,100px)}
.eb-portal .eb-portal-section>h2{max-width:870px}
.eb-portal .eb-portal-two-col{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:clamp(30px,7vw,120px);align-items:start}
.eb-portal h2{font-size:clamp(2.2rem,3.7vw,3.9rem);line-height:1.1;letter-spacing:-.035em;margin:0 0 25px;max-width:800px;text-wrap:balance}
.eb-portal h3{font-size:clamp(1.3rem,1.7vw,1.6rem);line-height:1.2;margin:0 0 15px;letter-spacing:-.02em}
.eb-portal p{line-height:1.78}
.eb-portal .eb-portal-section-intro,.eb-portal .eb-portal-body-intro{color:#4e6058;font-size:clamp(1.05rem,1.6vw,1.19rem);max-width:850px;line-height:1.8}
.eb-portal .eb-portal-body-intro+p{color:#687970}
.eb-portal .eb-portal-band{background:var(--ep-bg);border-top:1px solid #dfe7de;border-bottom:1px solid #dfe7de}
.eb-portal .eb-portal-grid{display:grid;gap:18px;margin-top:33px}
.eb-portal .eb-portal-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.eb-portal .eb-portal-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.eb-portal .eb-portal-card{min-width:0;border:1px solid var(--ep-line);border-radius:17px;padding:clamp(23px,3vw,36px);background:var(--ep-surface);box-shadow:0 4px 21px #223d2410}
.eb-portal .eb-portal-card p{font-size:15px;color:#5a6c62;margin:0}
.eb-portal .eb-portal-card-index{display:block;color:#567967;font:750 11px/1.4 system-ui,sans-serif;letter-spacing:.11em;margin-bottom:20px}
.eb-portal .eb-portal-btn,.eb-portal .eb-portal-outline{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:49px;padding:11px 22px;border-radius:9px;font-size:14px;font-weight:750;text-decoration:none!important;transition:background .18s,transform .18s}
.eb-portal .eb-portal-btn{background:#235d48;color:#fff!important;border:1px solid #235d48}
.eb-portal .eb-portal-btn:hover{background:#153f32;transform:translateY(-1px)}
.eb-portal .eb-portal-outline{background:transparent;color:#235d48!important;border:1px solid #96b0a2}
.eb-portal .eb-portal-outline:hover{background:#e0ede2;transform:translateY(-1px)}
.eb-portal .eb-portal-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:25px}
.eb-portal .eb-portal-inline-link{display:inline-flex;align-items:center;gap:8px;margin-top:24px;font-weight:750;font-size:14px;text-decoration:none;border-bottom:1px solid #8ba99a;padding-bottom:5px}
.eb-portal .eb-portal-notice{border:1px solid #c7d9cb;background:#edf5ed;border-left:4px solid #357a58;border-radius:10px;padding:21px 24px;margin-top:34px;max-width:910px}
.eb-portal .eb-portal-notice strong{font-weight:760;color:#235d48}
.eb-portal .eb-portal-notice p{font-size:15px;margin:7px 0 0;color:#486258}
.eb-portal .eb-portal-status{max-width:950px;margin-top:36px;display:flex;align-items:flex-start;gap:17px;padding:25px 28px;border-radius:17px;border:1px solid #dacda9;background:#fff8e8;color:#5a4c2c;box-shadow:0 8px 25px #6653230e}
.eb-portal .eb-portal-status-icon{border-radius:999px;flex:0 0 34px;height:34px;background:#876e32;color:white;display:grid;place-items:center;font-size:18px;font-weight:800;font-family:Georgia,serif}
.eb-portal .eb-portal-status strong{display:block;font-size:20px;line-height:1.35;margin-bottom:7px;color:#54401f}
.eb-portal .eb-portal-status p{margin:0 0 8px;font-size:16px;color:#6a5d3c}
.eb-portal .eb-portal-status small{display:block;font-size:13px;line-height:1.6;color:#806b45}
.eb-portal .eb-portal-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:34px;gap:12px}
.eb-portal .eb-portal-steps>div{display:grid;align-content:start;gap:14px;padding:24px 22px;border-radius:15px;border:1px solid #d8e2d9;background:#fffefa}
.eb-portal .eb-portal-steps strong{font:700 26px Georgia,serif;color:#446b56}
.eb-portal .eb-portal-steps span{font-size:15px;color:#53675b}
.eb-portal .eb-portal-closed{display:flex;justify-content:space-between;gap:25px;align-items:center;border:1px solid #cfddd2;border-radius:18px;background:#f3f7f1;padding:clamp(26px,4vw,46px)}
.eb-portal .eb-portal-closed h2{font-size:clamp(1.75rem,3vw,2.65rem);margin:12px 0}
.eb-portal .eb-portal-closed p{max-width:730px;margin:0;color:#5d7062}
.eb-portal .eb-portal-lock{flex:0 0 57px;height:57px;display:grid;place-items:center;background:#e0ebe1;border-radius:50%;color:#55745b;font-size:25px}
.eb-portal .eb-portal-timeline{display:grid;gap:0;margin-top:40px;border-top:1px solid #cbd8cd}
.eb-portal .eb-portal-timeline article{padding:28px 0;display:grid;grid-template-columns:150px minmax(0,1fr);gap:28px;border-bottom:1px solid #cbd8cd}
.eb-portal .eb-portal-timeline article>span{font-size:13px;font-weight:750;color:#436755;letter-spacing:.025em}
.eb-portal .eb-portal-timeline h3{margin:0 0 8px;font-size:1.35rem}
.eb-portal .eb-portal-timeline p{font-size:15px;margin:0;color:#5a6c62;max-width:900px}
.eb-portal .eb-portal-doc-list{display:grid;gap:13px;margin-top:29px}
.eb-portal .eb-portal-doc-item{display:flex;justify-content:space-between;align-items:center;gap:30px;border:1px solid #d9e4d9;border-radius:14px;background:#fffefa;padding:23px 27px}
.eb-portal .eb-portal-doc-topic{font-size:11px;letter-spacing:.07em;font-weight:750;text-transform:uppercase;color:#6b836d}
.eb-portal .eb-portal-doc-item h3{margin:7px 0}
.eb-portal .eb-portal-doc-meta{margin:0 0 7px;font-size:12px;color:#7a877d}
.eb-portal .eb-portal-doc-summary{font-size:14px;color:#536559}
.eb-portal .eb-portal-doc-summary p{margin:0}
.eb-portal .eb-portal-doc-link{display:inline-flex;align-items:center;gap:7px;flex:0 0 auto;background:#235d48;color:white!important;text-decoration:none!important;padding:12px 17px;border-radius:9px;font-size:13px;font-weight:700}
.eb-portal .eb-portal-empty{margin-top:24px;background:#f2f5ef;border-radius:13px;padding:28px;border:1px solid #d9e2d8}
.eb-portal .eb-portal-empty p{color:#64746a;margin:7px 0 0}
.eb-portal .eb-portal-custom-content{padding-top:38px;padding-bottom:65px;border-top:1px solid #d6e2d7}
.eb-portal .eb-portal-custom-content .prose{max-width:950px}
@media(max-width:950px){
 .eb-portal .eb-portal-hero-grid{grid-template-columns:1fr;gap:35px}
 .eb-portal .eb-portal-hero-aside{max-width:none}
 .eb-portal .eb-portal-two-col{grid-template-columns:1fr;gap:5px}
 .eb-portal .eb-portal-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:650px){
 .eb-portal .eb-portal-hero{padding-top:52px;padding-bottom:55px}
 .eb-portal .eyebrow{margin-bottom:19px}
 .eb-portal h1{font-size:clamp(2.6rem,10.8vw,4rem);line-height:1.075}
 .eb-portal .eb-portal-grid-3,.eb-portal .eb-portal-grid-2,.eb-portal .eb-portal-steps{grid-template-columns:1fr}
 .eb-portal .eb-portal-section{padding-top:55px;padding-bottom:55px}
 .eb-portal h2{font-size:clamp(2rem,9vw,3rem)}
 .eb-portal .eb-portal-timeline article{grid-template-columns:1fr;gap:6px}
 .eb-portal .eb-portal-doc-item{align-items:flex-start;flex-direction:column;gap:19px}
 .eb-portal .eb-portal-status{padding:21px 18px;gap:12px}
 .eb-portal .eb-portal-status strong{font-size:17px}
 .eb-portal .eb-portal-status p{font-size:14px}
 .eb-portal .eb-portal-closed{padding:24px}
 .eb-portal .eb-portal-lock{display:none}
}
