*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Arial,Helvetica,sans-serif;color:#13243a;background:#fff;line-height:1.55}
a{color:inherit}
img{max-width:100%;height:auto}
.site-container{width:min(1180px,calc(100% - 32px));margin-inline:auto}
.site-skip-link{position:absolute;left:-9999px;top:auto}
.site-skip-link:focus{left:16px;top:16px;z-index:9999;background:#fff;padding:10px 14px;border:2px solid var(--site-primary)}
.site-topbar{background:var(--site-primary);color:#fff;font-size:.86rem}
.site-topbar-inner{min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.site-topbar-contact,.site-quick-nav ul{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.site-topbar a{text-decoration:none}
.site-quick-nav ul{list-style:none;margin:0;padding:0}
.site-header{background:#fff;border-bottom:1px solid #e3e8ee}
.site-brand-row{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-block:16px}
.site-brand{display:flex;align-items:center;gap:14px;text-decoration:none;min-width:0}
.site-brand-logo{width:72px;max-height:72px;object-fit:contain}
.site-brand-copy{display:grid;gap:3px}
.site-brand-copy strong{font-size:clamp(1.25rem,2.5vw,2rem);line-height:1.1;color:var(--site-primary)}
.site-brand-copy span{font-size:.92rem;color:#677388;max-width:700px}
.site-search-placeholder{width:min(340px,32vw);border:1px solid #d8dfe7;border-radius:6px;display:flex;align-items:center;justify-content:space-between;overflow:hidden;color:#7b8797;background:#fff}
.site-search-placeholder>span:first-child{padding:10px 12px}
.site-search-placeholder-button{background:var(--site-primary);color:#fff;padding:10px 14px;font-weight:700}
.site-main-nav{background:var(--site-primary);color:#fff;border-bottom:4px solid var(--site-accent);z-index:1000}
.site-main-nav.is-sticky{position:sticky;top:0}
.site-mobile-nav-toggle{display:none}
.site-nav-level{list-style:none;padding:0;margin:0}
.site-nav-level-1{display:flex;align-items:stretch}
.site-nav-level-1>li{position:relative;border-right:1px solid rgba(255,255,255,.22)}
.site-nav-level a,.site-nav-parent-button,.site-nav-label{display:flex;align-items:center;gap:7px;padding:14px 18px;color:#fff;text-decoration:none;background:transparent;border:0;font:inherit;cursor:pointer}
.site-nav-level-1>li>a:hover,.site-nav-level-1>li>a:focus,.site-nav-parent-button:hover,.site-nav-parent-button:focus{background:var(--site-accent);color:#10243b}
.site-nav-level-2,.site-nav-level-3{display:none;position:absolute;left:0;top:100%;min-width:260px;background:var(--site-secondary);box-shadow:0 10px 25px rgba(0,0,0,.18);z-index:30}
.site-nav-level-3{left:100%;top:0}
.site-nav-level-2 li,.site-nav-level-3 li{position:relative;border-bottom:1px solid rgba(255,255,255,.16)}
.site-nav-level-2 a,.site-nav-level-3 a,.site-nav-level-2 .site-nav-parent-button{padding:11px 14px;width:100%;justify-content:space-between;text-align:left}
.site-nav-level li:hover>.site-nav-level,.site-nav-level li:focus-within>.site-nav-level,.site-nav-level li.submenu-open>.site-nav-level{display:block}
.site-main{min-height:320px}
.phase-placeholder,.public-section{padding-block:46px 64px}
.phase-placeholder-card{border:1px solid #dfe5ec;border-radius:14px;padding:32px;background:#f8fafc}
.phase-kicker{display:inline-block;color:var(--site-accent);font-weight:800;text-transform:uppercase;letter-spacing:.06em;font-size:.78rem}
.phase-placeholder h1,.public-section h1,.article-detail h1{color:var(--site-primary)}
.muted{color:#68768a}
.public-section-heading{margin-bottom:24px}
.news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.news-card{border:1px solid #dfe5ec;border-radius:12px;overflow:hidden;background:#fff}
.news-card-media{display:block;overflow:hidden}
.news-card img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;transition:transform .25s ease}
.news-card:hover img{transform:scale(1.04)}
.news-card-body{padding:18px}
.news-card-category{font-size:.78rem;font-weight:700;color:#657289}
.news-card h2{font-size:1.22rem;color:var(--site-primary)}
.news-card h2 a{text-decoration:none}
.text-link{color:#0b5fc7;font-weight:700}
.article-detail{max-width:920px;margin:20px auto 0}
.article-header{text-align:center}
.article-date{color:#6c7889}
.article-featured img{width:100%;max-height:560px;object-fit:cover;border-radius:12px}
.article-lead{font-size:1.15rem;font-weight:700}
.article-content img,.article-content iframe,.article-content video{max-width:100%}
.article-content iframe{border:0}
.article-content table{width:100%;border-collapse:collapse}
.article-content th,.article-content td{border:1px solid #dde3ea;padding:10px}
.site-footer{background:var(--site-primary);color:#fff;margin-top:30px}
.site-footer-grid{display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:28px;padding-block:42px}
.site-footer-brand img{max-width:180px;max-height:95px;object-fit:contain}
.site-footer h2{font-size:.9rem;text-transform:uppercase;letter-spacing:.04em;margin-top:0}
.site-footer h2 a,.site-footer a{text-decoration:none}
.site-footer ul{list-style:none;margin:0;padding:0}
.site-footer li{margin:7px 0}
.site-footer p{color:#e5ebf2;font-size:.9rem}
.site-social-links{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.site-social-links a{border:1px solid rgba(255,255,255,.35);border-radius:999px;padding:6px 10px;font-size:.78rem}
.site-footer-bottom{border-top:1px solid rgba(255,255,255,.16);padding:14px 0}
.site-footer-bottom p{margin:0;text-align:center}
.site-whatsapp{position:fixed;right:22px;bottom:22px;z-index:1000;background:#1fa855;color:#fff;text-decoration:none;border-radius:999px;padding:12px 16px;font-weight:800;box-shadow:0 7px 20px rgba(0,0,0,.2)}
.public-empty{padding:30px;border:1px dashed #ccd5df;border-radius:10px;text-align:center}
@media(max-width:980px){
 .site-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .news-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .site-brand-copy span{display:none}
}
@media(max-width:760px){
 .site-topbar-inner{align-items:flex-start;flex-direction:column;padding-block:9px}
 .site-quick-nav{width:100%;overflow:auto}
 .site-quick-nav ul{flex-wrap:nowrap;width:max-content;padding-bottom:4px}
 .site-brand-row{padding-block:12px}
 .site-brand-logo{width:54px;max-height:54px}
 .site-brand-copy strong{font-size:1.15rem}
 .site-search-placeholder{display:none}
 .site-mobile-nav-toggle{display:flex;width:100%;align-items:center;justify-content:space-between;padding:13px 0;background:transparent;color:#fff;border:0;font-weight:800;font-size:1rem}
 .site-main-nav-panel{display:none;padding-bottom:10px}
 .site-main-nav-panel.is-open{display:block}
 .site-nav-level-1{display:block}
 .site-nav-level-1>li{border-right:0;border-bottom:1px solid rgba(255,255,255,.15)}
 .site-nav-level a,.site-nav-parent-button,.site-nav-label{width:100%;justify-content:space-between;padding:12px 4px}
 .site-nav-level-2,.site-nav-level-3{position:static;box-shadow:none;min-width:0;background:rgba(255,255,255,.08)}
 .site-nav-level-2 a,.site-nav-level-3 a,.site-nav-level-2 .site-nav-parent-button{padding-left:20px}
 .site-nav-level-3 a{padding-left:36px}
 .news-grid{grid-template-columns:1fr}
 .site-footer-grid{grid-template-columns:1fr}
 .site-whatsapp{right:14px;bottom:14px}
}

/* =========================================================
   MÓDULO 09 · FASE 9B.2 — HERO / SLIDER CMS
   ========================================================= */
.cms-hero{position:relative;width:100%;overflow:hidden;background:#0f2238;color:#fff}
.cms-hero-track{position:relative;height:300px;min-height:300px}
.cms-hero-slide{position:absolute;inset:0;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .55s ease,visibility .55s ease}
.cms-hero-slide.is-active{position:absolute;opacity:1;visibility:visible;pointer-events:auto;z-index:1}
.cms-hero-picture,.cms-hero-picture img{display:block;width:100%;height:100%}
.cms-hero-picture{position:absolute;inset:0}
.cms-hero-picture img{object-fit:cover;object-position:center}
.cms-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,24,43,.84) 0%,rgba(7,24,43,.62) 42%,rgba(7,24,43,.14) 75%,rgba(7,24,43,.06) 100%);z-index:1}
.cms-hero-content-wrap{position:relative;z-index:2;height:300px;min-height:300px;display:flex;align-items:center;padding-block:40px 60px}
.cms-hero-content{width:min(650px,64%);text-shadow:0 2px 14px rgba(0,0,0,.24)}
.cms-hero-content h1{margin:0 0 12px;color:#fff;font-size:clamp(2rem,3vw,3.5rem);line-height:1.05;letter-spacing:-.025em}
.cms-hero-content p{margin:0 0 26px;max-width:620px;color:#fff;font-size:clamp(1rem,1.65vw,1.28rem);line-height:1.55}
.cms-hero-cta{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 22px;border-radius:6px;background:var(--site-accent);color:#10243b;text-decoration:none;font-weight:800;box-shadow:0 5px 18px rgba(0,0,0,.18);transition:transform .2s ease,filter .2s ease}
.cms-hero-cta:hover,.cms-hero-cta:focus{transform:translateY(-1px);filter:brightness(1.05)}
.cms-hero-arrow{position:absolute;top:50%;z-index:4;transform:translateY(-50%);width:46px;height:46px;border:1px solid rgba(255,255,255,.55);border-radius:999px;background:rgba(8,25,44,.42);color:#fff;display:grid;place-items:center;cursor:pointer;font-size:1.35rem;transition:background .2s ease,opacity .2s ease}
.cms-hero-arrow:hover,.cms-hero-arrow:focus{background:var(--site-primary)}
.cms-hero-arrow:disabled{opacity:.35;cursor:default}
.cms-hero-arrow-prev{left:max(14px,calc((100vw - 1280px)/2))}
.cms-hero-arrow-next{right:max(14px,calc((100vw - 1280px)/2))}
.cms-hero-indicators{position:absolute;left:50%;bottom:24px;z-index:4;transform:translateX(-50%);display:flex;align-items:center;gap:9px;padding:7px 10px;border-radius:999px;background:rgba(8,25,44,.25)}
.cms-hero-indicator{width:10px;height:10px;padding:0;border:1px solid rgba(255,255,255,.92);border-radius:999px;background:transparent;cursor:pointer;transition:width .2s ease,background .2s ease}
.cms-hero-indicator.is-active{width:28px;background:var(--site-accent);border-color:var(--site-accent)}
@media(max-width:760px){
 .cms-hero-track,.cms-hero-content-wrap{height:300px;min-height:300px}
 .cms-hero-overlay{background:linear-gradient(0deg,rgba(7,24,43,.90) 0%,rgba(7,24,43,.62) 48%,rgba(7,24,43,.10) 80%)}
 .cms-hero-content-wrap{align-items:flex-end;padding-block:24px 48px}
 .cms-hero-content{width:100%;max-width:620px}
 .cms-hero-content h1{font-size:clamp(1.65rem,8vw,2.5rem)}
 .cms-hero-content p{font-size:1rem}
 .cms-hero-arrow{width:40px;height:40px;top:44%}
 .cms-hero-arrow-prev{left:12px}
 .cms-hero-arrow-next{right:12px}
 .cms-hero-indicators{bottom:20px}
}
@media(prefers-reduced-motion:reduce){
 .cms-hero-slide,.cms-hero-cta,.cms-hero-indicator{transition:none}
}


/* MODULO 09 · FASE 9B.3 · DESTACADOS */
.home-features{padding:34px 0;background:#fff}.home-section-title{margin:0 0 18px;color:var(--site-primary);font-size:clamp(1.55rem,2.3vw,2.15rem);line-height:1.15}.home-features-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.home-feature-card{min-width:0;overflow:hidden;border:1px solid #dce4ec;border-radius:12px;background:#fff;box-shadow:0 6px 20px rgba(12,41,72,.07);transition:transform .2s ease,box-shadow .2s ease}.home-feature-card:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(12,41,72,.12)}.home-feature-card-link{display:flex;flex-direction:column;height:100%;color:inherit;text-decoration:none}.home-feature-media,.home-feature-placeholder{height:145px;overflow:hidden;background:#eef3f7}.home-feature-media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .28s ease}.home-feature-card:hover .home-feature-media img{transform:scale(1.04)}.home-feature-placeholder{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--site-primary),var(--site-secondary));color:#fff;font-weight:800;letter-spacing:.08em}.home-feature-body{display:flex;flex:1;flex-direction:column;padding:19px 19px 20px}.home-feature-body h3{margin:0 0 9px;color:var(--site-primary);font-size:1.08rem;line-height:1.22}.home-feature-body p{margin:0;color:#56677b;font-size:.94rem;line-height:1.55}.home-feature-link{display:inline-flex;align-items:center;gap:7px;margin-top:auto;padding-top:15px;color:var(--site-primary);font-weight:800}.home-feature-card-link:hover .home-feature-link,.home-feature-card-link:focus .home-feature-link{text-decoration:underline}.home-feature-card-link:focus-visible{outline:3px solid var(--site-accent);outline-offset:-3px}@media(max-width:900px){.home-features-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:580px){.home-features{padding:24px 0}.home-features-grid{grid-template-columns:1fr;gap:14px}.home-feature-media,.home-feature-placeholder{height:180px}}

/* =========================================================
   MÓDULO 09 · FASE 9B.4 — CONTENIDO INSTITUCIONAL
   Fuente: contenido enriquecido de la página Inicio
   ========================================================= */
.home-institutional{padding:38px 0 46px;background:#f7f9fb;border-top:1px solid #e3e9ef}
.home-institutional-content{max-width:1040px;margin:0 auto;color:#35465a;font-size:1rem;line-height:1.7}
.home-institutional-content>:first-child{margin-top:0}
.home-institutional-content>:last-child{margin-bottom:0}
.home-institutional-content h1,.home-institutional-content h2,.home-institutional-content h3,.home-institutional-content h4{color:var(--site-primary);line-height:1.2}
.home-institutional-content h2{font-size:clamp(1.55rem,2.3vw,2.15rem)}
.home-institutional-content h3{font-size:clamp(1.2rem,1.6vw,1.45rem)}
.home-institutional-content a{color:#0b5fc7}
.home-institutional-content img{max-width:100%;height:auto;border-radius:10px}
.home-institutional-content figure{max-width:100%;margin-inline:auto}
.home-institutional-content blockquote{margin-left:0;padding:12px 18px;border-left:4px solid var(--site-accent);background:#fff}
.home-institutional-content .cms-summary-cut{display:none!important}
@media(max-width:760px){
 .home-institutional{padding:28px 0 34px}
 .home-institutional-content{font-size:.97rem;line-height:1.65}
}

/* =========================================================
   MÓDULO 09 · FASE 9B.4.1
   COMPONENTES DEL EDITOR ENRIQUECIDO EN INICIO
   Reutiliza el HTML resuelto por Pagina_render_service.
   ========================================================= */
.home-institutional-content{max-width:1180px}
.home-institutional-content .preview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:22px 0}
.home-institutional-content .preview-list{display:grid;gap:14px;margin:22px 0}
.home-institutional-content .preview-list .preview-card{display:grid;grid-template-columns:minmax(180px,280px) 1fr}
.home-institutional-content .preview-horizontal{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px;margin:22px 0}
.home-institutional-content .preview-horizontal .preview-card{min-width:min(80vw,350px);scroll-snap-align:start}
.home-institutional-content .preview-card{border:1px solid #dce3ea;border-radius:11px;overflow:hidden;background:#fff;min-width:0}
.home-institutional-content .preview-card>img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:0}
.home-institutional-content .card-body{padding:16px}
.home-institutional-content .card-body h3{margin:0 0 10px;color:var(--site-primary)}
.home-institutional-content .card-body small,.home-institutional-content .card-body time{display:block;color:#607086;margin-bottom:8px}
.home-institutional-content .card-body p{margin:0 0 12px}
.home-institutional-content .card-body a{font-weight:700}

/* Noticias CMS: tarjetas, listado y carrusel */
.home-institutional-content .preview-news-component .preview-card{position:relative}
.home-institutional-content .preview-news-component .preview-card>img{transform:scale(1);transition:transform .28s ease}
.home-institutional-content .preview-news-component.has-zoom .preview-card:hover>img{transform:scale(1.05)}
.home-institutional-content .preview-news-carousel{position:relative;margin:22px 0;padding:0 46px 30px}
.home-institutional-content .preview-news-track{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;padding:4px 2px 10px}
.home-institutional-content .preview-news-track::-webkit-scrollbar{display:none}
.home-institutional-content .preview-news-track .preview-card{flex:0 0 clamp(250px,29vw,350px);scroll-snap-align:start}
.home-institutional-content .news-arrow{position:absolute;top:50%;transform:translateY(-70%);width:38px;height:38px;border:1px solid #dce3ea;border-radius:50%;background:#fff;color:var(--site-primary);font-size:26px;line-height:1;cursor:pointer;z-index:2;box-shadow:0 3px 12px rgba(0,0,0,.08)}
.home-institutional-content .news-arrow.prev{left:0}.home-institutional-content .news-arrow.next{right:0}
.home-institutional-content .news-dots{display:flex;justify-content:center;gap:7px;margin-top:8px}
.home-institutional-content .news-dots button{width:9px;height:9px;border:0;border-radius:50%;padding:0;background:#c8d1db;cursor:pointer}
.home-institutional-content .news-dots button.on{background:var(--site-primary)}

/* Aliados CMS: cuadrícula y carrusel */
.home-institutional-content .preview-allies-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:22px 0}
.home-institutional-content .preview-allies-component .preview-ally{padding:16px;border:1px solid #dce3ea;border-radius:11px;text-align:center;background:#fff;min-width:0}
.home-institutional-content .preview-ally-logo{height:120px;display:flex;align-items:center;justify-content:center;overflow:hidden;margin-bottom:10px}
.home-institutional-content .preview-ally-logo img{display:block;width:100%;height:100%;object-fit:contain;border-radius:0;transform:scale(1);transition:transform .28s ease}
.home-institutional-content .preview-allies-component.has-zoom .preview-ally:hover .preview-ally-logo img{transform:scale(1.10)}
.home-institutional-content .preview-ally h3{font-size:1rem;margin:8px 0;color:var(--site-primary)}
.home-institutional-content .preview-ally-link{display:inline-block;margin-top:5px;color:#0c5ec7;font-weight:700;text-decoration:none}
.home-institutional-content .preview-ally-link:hover{text-decoration:underline}
.home-institutional-content .preview-allies-carousel{position:relative;margin:22px 0;padding:0 46px 30px}
.home-institutional-content .preview-allies-track{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;padding:4px 2px 10px}
.home-institutional-content .preview-allies-track::-webkit-scrollbar{display:none}
.home-institutional-content .preview-allies-track .preview-ally{flex:0 0 clamp(210px,24vw,280px);scroll-snap-align:start}
.home-institutional-content .allies-arrow{position:absolute;top:50%;transform:translateY(-70%);width:38px;height:38px;border:1px solid #dce3ea;border-radius:50%;background:#fff;color:var(--site-primary);font-size:26px;line-height:1;cursor:pointer;z-index:2;box-shadow:0 3px 12px rgba(0,0,0,.08)}
.home-institutional-content .allies-arrow.prev{left:0}.home-institutional-content .allies-arrow.next{right:0}
.home-institutional-content .allies-dots{display:flex;justify-content:center;gap:7px;margin-top:8px}
.home-institutional-content .allies-dots button{width:9px;height:9px;border:0;border-radius:50%;padding:0;background:#c8d1db;cursor:pointer}
.home-institutional-content .allies-dots button.on{background:var(--site-primary)}

@media(max-width:850px){
 .home-institutional-content .preview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .home-institutional-content .preview-allies-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 .home-institutional-content .preview-allies-track .preview-ally{flex-basis:260px}
}
@media(max-width:650px){
 .home-institutional-content .preview-grid{grid-template-columns:1fr}
 .home-institutional-content .preview-list .preview-card{grid-template-columns:1fr}
 .home-institutional-content .preview-allies-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .home-institutional-content .preview-allies-carousel,.home-institutional-content .preview-news-carousel{padding-left:38px;padding-right:38px}
 .home-institutional-content .preview-allies-track .preview-ally{flex-basis:78vw}
}

/* =========================================================
   MÓDULO 09 · FASE 9B.4.2
   PARIDAD DE COMPONENTES CMS CON VISTA PREVIA
   ========================================================= */
.home-institutional-content .cms-btn,.home-institutional-content .preview-btn{display:inline-block;background:var(--site-primary);color:#fff!important;padding:10px 16px;border-radius:7px;text-decoration:none;font-weight:700}
.home-institutional-content .cms-btn-secondary{background:#fff;color:var(--site-primary)!important;border:1px solid var(--site-primary)}
.home-institutional-content .preview-placeholder,.home-institutional-content .preview-empty{padding:16px;border:1px dashed #aebac6;border-radius:9px;background:#f7f9fb;color:#627287}

/* Tabs */
.home-institutional-content .cms-tabs{border:1px solid #dce3ea;border-radius:10px;overflow:hidden;margin:22px 0;background:#fff}
.home-institutional-content .tabs-nav{display:flex;overflow:auto;background:#f5f7fa;border-bottom:1px solid #dce3ea}
.home-institutional-content .tabs-nav button{border:0;border-right:1px solid #dce3ea;padding:11px 14px;background:transparent;font-weight:700;color:var(--site-primary);white-space:nowrap;cursor:pointer}
.home-institutional-content .tabs-nav button.on{background:#fff}
.home-institutional-content .cms-tab-item{display:none;padding:18px}
.home-institutional-content .cms-tab-item.on{display:block}

/* Galería */
.home-institutional-content .preview-gallery-component{margin:22px 0}
.home-institutional-content .preview-gallery-grid{display:grid;grid-template-columns:repeat(var(--cols),minmax(0,1fr));gap:14px}
.home-institutional-content .preview-gallery-item{margin:0;border:1px solid #dce3ea;border-radius:10px;overflow:hidden;background:#fff;min-width:0}
.home-institutional-content .preview-gallery-image{overflow:hidden;background:#f5f7f9}
.home-institutional-content .preview-gallery-image img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:0;transform:scale(1);transition:transform .28s ease}
.home-institutional-content .preview-gallery-component.has-zoom .preview-gallery-item:hover .preview-gallery-image img{transform:scale(1.08)}
.home-institutional-content .preview-gallery-item figcaption{padding:8px 10px;color:#607086;font-size:.92rem}
.home-institutional-content .preview-gallery-carousel{position:relative;padding:0 46px 30px}
.home-institutional-content .preview-gallery-track{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;padding:4px 2px 10px}
.home-institutional-content .preview-gallery-track::-webkit-scrollbar{display:none}
.home-institutional-content .preview-gallery-track .preview-gallery-item{flex:0 0 calc((100% - (var(--gallery-gap,14px) * (var(--gallery-cols,4) - 1))) / var(--gallery-cols,4));scroll-snap-align:start}
.home-institutional-content .gallery-arrow{position:absolute;top:50%;transform:translateY(-70%);width:38px;height:38px;border:1px solid #dce3ea;border-radius:50%;background:#fff;color:var(--site-primary);font-size:26px;line-height:1;cursor:pointer;z-index:3;box-shadow:0 3px 12px rgba(0,0,0,.08)}
.home-institutional-content .gallery-arrow.prev{left:0}.home-institutional-content .gallery-arrow.next{right:0}
.home-institutional-content .gallery-dots{display:flex;justify-content:center;gap:7px;margin-top:8px}
.home-institutional-content .gallery-dots button{width:9px;height:9px;border:0;border-radius:50%;padding:0;background:#c8d1db;cursor:pointer}
.home-institutional-content .gallery-dots button.on{background:#146ef5}
.home-institutional-content .preview-gallery-item.is-clickable{cursor:zoom-in}

/* Lightbox galería */
.cms-gallery-lightbox[hidden]{display:none}
.cms-gallery-lightbox{position:fixed;inset:0;z-index:9999;background:rgba(4,12,22,.92);display:flex;align-items:center;justify-content:center;padding:24px}
.cms-gallery-lightbox-dialog{position:relative;width:min(94vw,1200px);height:min(90vh,820px);display:flex;align-items:center;justify-content:center}
.cms-gallery-lightbox-media{max-width:100%;max-height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column}
.cms-gallery-lightbox-media img{display:block;max-width:100%;max-height:78vh;object-fit:contain;border-radius:10px;box-shadow:0 14px 40px rgba(0,0,0,.35)}
.cms-gallery-lightbox-caption{margin-top:12px;color:#fff;text-align:center;max-width:900px}
.cms-gallery-lightbox-close,.cms-gallery-lightbox-prev,.cms-gallery-lightbox-next{position:absolute;border:0;background:rgba(255,255,255,.96);color:var(--site-primary);border-radius:50%;cursor:pointer;box-shadow:0 4px 16px rgba(0,0,0,.25)}
.cms-gallery-lightbox-close{top:0;right:0;width:42px;height:42px;font-size:26px}
.cms-gallery-lightbox-prev,.cms-gallery-lightbox-next{top:50%;transform:translateY(-50%);width:46px;height:46px;font-size:30px}
.cms-gallery-lightbox-prev{left:0}.cms-gallery-lightbox-next{right:0}

/* Slider CMS insertado desde Editor enriquecido */
.home-institutional-content .preview-slider{position:relative;margin:24px 0;overflow:hidden;border-radius:12px;background:#071627;height:300px!important;min-height:300px!important;max-height:300px!important}
.home-institutional-content .preview-slide{display:none;position:relative;height:300px!important;min-height:300px!important;max-height:300px!important}
.home-institutional-content .preview-slide.is-active{display:block}
.home-institutional-content .preview-slide picture{display:block;width:100%;height:300px!important}
.home-institutional-content .preview-slide img{display:block;width:100%;height:300px!important;min-height:300px!important;max-height:300px!important;object-fit:cover;border-radius:0}
.home-institutional-content .preview-slide-overlay{position:absolute;left:0;right:0;bottom:0;padding:20px 32px;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.86))}
.home-institutional-content .preview-slide-overlay h2{color:#fff;margin:0 0 8px}
.home-institutional-content .preview-slide-overlay p{margin:0 0 12px;color:#fff}
.home-institutional-content .slider-arrow{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;border:0;border-radius:50%;font-size:28px;background:#fff;color:var(--site-primary);z-index:3;cursor:pointer}
.home-institutional-content .slider-arrow.prev{left:12px}.home-institutional-content .slider-arrow.next{right:12px}

/* Mapa */
.home-institutional-content .preview-map iframe{display:block;width:100%;border:0;border-radius:10px;margin:22px 0}

/* Línea de tiempo */
.home-institutional-content .preview-timeline{position:relative;padding-left:32px;margin:24px 0}
.home-institutional-content .preview-timeline:before{content:"";position:absolute;left:9px;top:5px;bottom:5px;width:2px;background:#bd9b3e}
.home-institutional-content .preview-timeline article{position:relative;margin-bottom:20px}
.home-institutional-content .timeline-dot{position:absolute;left:-29px;top:8px;width:13px;height:13px;border-radius:50%;background:#bd9b3e}
.home-institutional-content .timeline-card{border:1px solid #dce3ea;border-radius:10px;padding:16px;background:#fff}
.home-institutional-content .timeline-card img{width:100%;max-height:420px;object-fit:cover;border-radius:8px}

/* Productos CMS */
.home-institutional-content .preview-products-component .preview-card{position:relative}
.home-institutional-content .preview-products-component .preview-card>img{transform:scale(1);transition:transform .28s ease}
.home-institutional-content .preview-products-component.has-zoom .preview-card:hover>img{transform:scale(1.05)}
.home-institutional-content .preview-products-carousel{position:relative;margin:22px 0;padding:0 46px 30px}
.home-institutional-content .preview-products-track{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;padding:4px 2px 10px}
.home-institutional-content .preview-products-track::-webkit-scrollbar{display:none}
.home-institutional-content .preview-products-track .preview-card{flex:0 0 clamp(250px,29vw,350px);scroll-snap-align:start}
.home-institutional-content .products-arrow{position:absolute;top:50%;transform:translateY(-70%);width:38px;height:38px;border:1px solid #dce3ea;border-radius:50%;background:#fff;color:var(--site-primary);font-size:26px;line-height:1;cursor:pointer;z-index:2;box-shadow:0 3px 12px rgba(0,0,0,.08)}
.home-institutional-content .products-arrow.prev{left:0}.home-institutional-content .products-arrow.next{right:0}
.home-institutional-content .products-dots{display:flex;justify-content:center;gap:7px;margin-top:8px}
.home-institutional-content .products-dots button{width:9px;height:9px;border:0;border-radius:50%;padding:0;background:#c8d1db;cursor:pointer}
.home-institutional-content .products-dots button.on{background:#146ef5}

@media(max-width:850px){
 .home-institutional-content .preview-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .home-institutional-content .preview-gallery-track .preview-gallery-item{flex-basis:calc((100% - 14px)/2)}
 .home-institutional-content .preview-slider,.home-institutional-content .preview-slide,.home-institutional-content .preview-slide picture,.home-institutional-content .preview-slide img{height:300px!important;min-height:300px!important;max-height:300px!important}
}
@media(max-width:650px){
 .home-institutional-content .preview-gallery-grid{grid-template-columns:1fr}
 .home-institutional-content .preview-gallery-carousel,.home-institutional-content .preview-products-carousel{padding-left:38px;padding-right:38px}
 .home-institutional-content .preview-gallery-track .preview-gallery-item{flex-basis:78vw}
 .home-institutional-content .preview-slider,.home-institutional-content .preview-slide,.home-institutional-content .preview-slide picture,.home-institutional-content .preview-slide img{height:300px!important;min-height:300px!important;max-height:300px!important}
 .home-institutional-content .preview-slide-overlay{position:absolute;padding:16px 18px;background:linear-gradient(transparent,rgba(0,0,0,.9))}
 .home-institutional-content .preview-slide-overlay h2{font-size:1.25rem}.home-institutional-content .preview-slide-overlay p{font-size:.9rem;line-height:1.35}
 .home-institutional-content .preview-slide-overlay .preview-btn{padding:8px 12px}
 .home-institutional-content .slider-arrow{width:36px;height:36px;font-size:24px}
 .home-institutional-content .slider-arrow.prev{left:8px}.home-institutional-content .slider-arrow.next{right:8px}
}


/* =========================================================
   MÓDULO 09 · PULIDO VISUAL 9B.P1
   AJUSTES 1–4: navegación, topbar y volver arriba
   ========================================================= */

/* AJUSTE 1 — Submenús siempre en color primario */
.site-nav-level-2,
.site-nav-level-3{
    background:var(--site-primary)!important;
}

/* Hover coordinado: padre + hijo en color de acento/secundario visual */
.site-nav-level-1>li:hover>a,
.site-nav-level-1>li:focus-within>a,
.site-nav-level-1>li:hover>.site-nav-parent-button,
.site-nav-level-1>li:focus-within>.site-nav-parent-button{
    background:var(--site-accent)!important;
    color:#10243b!important;
}

.site-nav-level-2>li:hover>a,
.site-nav-level-2>li:focus-within>a,
.site-nav-level-2>li:hover>.site-nav-parent-button,
.site-nav-level-2>li:focus-within>.site-nav-parent-button,
.site-nav-level-3>li:hover>a,
.site-nav-level-3>li:focus-within>a{
    background:var(--site-accent)!important;
    color:#10243b!important;
}

/* Cuando se está sobre un nivel 3, mantener también resaltado su padre de nivel 2 */
.site-nav-level-2>li:has(.site-nav-level-3:hover)>a,
.site-nav-level-2>li:has(.site-nav-level-3:focus-within)>a,
.site-nav-level-2>li:has(.site-nav-level-3:hover)>.site-nav-parent-button,
.site-nav-level-2>li:has(.site-nav-level-3:focus-within)>.site-nav-parent-button{
    background:var(--site-accent)!important;
    color:#10243b!important;
}

/* AJUSTE 2 — Iconos de contacto y accesos rápidos */
.site-topbar-contact{
    gap:10px;
}
.site-topbar-contact>a,
.site-topbar-contact-item,
.site-quick-nav a,
.site-quick-nav li>span{
    display:inline-flex;
    align-items:center;
    gap:6px;
}
.site-topbar-icon,
.site-quick-icon{
    display:inline-grid;
    place-items:center;
    flex:0 0 auto;
    color:var(--site-accent);
    font-weight:900;
    line-height:1;
}
.site-topbar-icon{
    font-size:1rem;
}
.site-quick-icon{
    font-size:.9rem;
}

/* Separador | entre accesos del menú secundario */
.site-quick-nav li{
    display:flex;
    align-items:center;
}
.site-quick-nav li+li::before{
    content:"|";
    color:rgba(255,255,255,.7);
    margin-right:14px;
}

/* AJUSTE 3 — línea secundaria/acento bajo menú principal */
.site-main-nav{
    border-bottom:4px solid var(--site-accent)!important;
}

/* AJUSTE 4 — botón volver arriba */
.site-back-to-top{
    position:fixed;
    right:24px;
    bottom:24px;
    width:48px;
    height:48px;
    border:0;
    border-radius:4px;
    display:grid;
    place-items:center;
    background:var(--site-accent);
    color:var(--site-primary);
    font-size:30px;
    font-weight:900;
    line-height:1;
    cursor:pointer;
    box-shadow:0 8px 22px rgba(0,0,0,.18);
    z-index:1200;
    opacity:0;
    visibility:hidden;
    transform:translateY(12px);
    transition:opacity .18s ease,transform .18s ease,visibility .18s ease;
}
.site-back-to-top.is-visible{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
}
.site-back-to-top:hover,
.site-back-to-top:focus-visible{
    filter:brightness(.96);
    outline:3px solid rgba(12,41,72,.25);
    outline-offset:2px;
}
.site-back-to-top svg{
    width:24px;
    height:24px;
    fill:none;
    stroke:currentColor;
    stroke-width:3;
    stroke-linecap:round;
    stroke-linejoin:round;
}

@media(max-width:780px){
    .site-topbar-inner{align-items:flex-start}
    .site-topbar-contact{gap:8px 12px}
    .site-quick-nav li+li::before{margin-right:8px}
    .site-back-to-top{right:16px;bottom:16px;width:44px;height:44px}
}

/* Página pública genérica */
.public-page{
    padding:38px 0 72px;
}
.public-page-header{
    margin-bottom:28px;
    padding-bottom:18px;
    border-bottom:1px solid #dce3ea;
}
.public-page-header h1{
    margin:0;
    color:var(--site-primary);
    font-size:clamp(2rem,4vw,3.2rem);
    line-height:1.12;
}
.public-page-content{
    min-width:0;
}


/* MÓDULO 09 · PULIDO 9B.P2 — separación real frente a WhatsApp */
.site-back-to-top{
    bottom:118px!important;
    right:24px!important;
}
@media(max-width:780px){
    .site-back-to-top{
        bottom:108px!important;
        right:16px!important;
    }
}

/* Programas públicos */
.public-program-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.public-program-card{overflow:hidden;border:1px solid #dce3ea;border-radius:12px;background:#fff;box-shadow:0 10px 28px rgba(12,41,72,.06)}
.public-program-card>img{display:block;width:100%;height:220px;object-fit:cover}
.public-program-card-body{padding:20px}
.public-program-card h2{margin:0 0 10px;color:var(--site-primary);font-size:1.25rem}
.public-program-card p{margin:0 0 18px;color:#55657a}
.public-program-hero-image{display:block;margin:0 0 28px;overflow:hidden;border-radius:12px}
.public-program-hero-image img{display:block;width:100%;max-height:480px;object-fit:cover}
@media(max-width:900px){.public-program-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.public-program-grid{grid-template-columns:1fr}}


/* MÓDULO 09 · PULIDO 9B.P3 — títulos de páginas + buscador real */
.public-page-header h1{
    font-size:clamp(1.65rem,2.8vw,1.9rem)!important;
    line-height:1.15!important;
}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.site-search-form{width:min(425px,36vw);display:flex;border:1px solid #d8dfe7;border-radius:6px;overflow:hidden;background:#fff}
.site-search-form input{min-width:0;flex:1;border:0;outline:0;padding:11px 14px;font:inherit;color:#22344a;background:#fff}
.site-search-form button{border:0;background:var(--site-primary);color:#fff;padding:11px 18px;font:inherit;font-weight:700;cursor:pointer}
.site-search-form button:hover,.site-search-form button:focus-visible{background:var(--site-secondary)}
.public-search-box{display:flex;max-width:760px;margin:0 0 26px;border:1px solid #ccd6e1;border-radius:8px;overflow:hidden;background:#fff}
.public-search-box input{flex:1;min-width:0;border:0;padding:14px 16px;font:inherit;outline:0}
.public-search-box button{border:0;background:var(--site-primary);color:#fff;padding:14px 22px;font-weight:700;cursor:pointer}
.search-help,.search-count{color:#526277;margin:0 0 24px}
.search-results{display:grid;gap:14px}
.search-result-card{padding:20px;border:1px solid #dce3ea;border-radius:10px;background:#fff}
.search-result-type{display:inline-block;margin-bottom:7px;color:var(--site-secondary);font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.search-result-card h2{margin:0 0 8px;font-size:1.2rem}
.search-result-card h2 a{color:var(--site-primary);text-decoration:none}
.search-result-card p{margin:0 0 10px;color:#526277;line-height:1.55}
.search-result-link{font-weight:700;color:var(--site-primary)}
@media(max-width:780px){.site-search-form{display:none}.public-search-box{width:100%}}

/* =========================================================
   BASE CONSOLIDADA CMS PÚBLICO
   Tabs + Botones + Línea de tiempo + Galería
   ========================================================= */

/* BOTONES CMS */
.public-page-content .cms-btn,
.article-content .cms-btn,
.home-institutional-content .cms-btn,
.public-program-content .cms-btn,
.public-page-content .preview-btn,
.article-content .preview-btn,
.home-institutional-content .preview-btn,
.public-program-content .preview-btn{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:44px!important;
    padding:10px 16px!important;
    margin:4px 6px 4px 0!important;
    border:1px solid var(--site-primary)!important;
    border-radius:7px!important;
    background:var(--site-primary)!important;
    color:#fff!important;
    text-decoration:none!important;
    font-weight:700!important;
    line-height:1.25!important;
    vertical-align:middle!important;
    cursor:pointer!important;
}
.public-page-content .cms-btn-primary,
.article-content .cms-btn-primary,
.home-institutional-content .cms-btn-primary,
.public-program-content .cms-btn-primary{
    background:var(--site-primary)!important;
    color:#fff!important;
    border-color:var(--site-primary)!important;
}
.public-page-content .cms-btn-secondary,
.article-content .cms-btn-secondary,
.home-institutional-content .cms-btn-secondary,
.public-program-content .cms-btn-secondary{
    background:#fff!important;
    color:var(--site-primary)!important;
    border-color:var(--site-primary)!important;
}
.public-page-content .cms-btn:hover,
.public-page-content .cms-btn:focus-visible,
.article-content .cms-btn:hover,
.article-content .cms-btn:focus-visible,
.home-institutional-content .cms-btn:hover,
.home-institutional-content .cms-btn:focus-visible,
.public-program-content .cms-btn:hover,
.public-program-content .cms-btn:focus-visible{
    text-decoration:none!important;
    transform:translateY(-1px);
}
.public-page-content .cms-btn-primary:hover,
.public-page-content .cms-btn-primary:focus-visible,
.article-content .cms-btn-primary:hover,
.article-content .cms-btn-primary:focus-visible,
.home-institutional-content .cms-btn-primary:hover,
.home-institutional-content .cms-btn-primary:focus-visible,
.public-program-content .cms-btn-primary:hover,
.public-program-content .cms-btn-primary:focus-visible{
    background:var(--site-secondary)!important;
    border-color:var(--site-secondary)!important;
    color:#fff!important;
}
.public-page-content .cms-btn-secondary:hover,
.public-page-content .cms-btn-secondary:focus-visible,
.article-content .cms-btn-secondary:hover,
.article-content .cms-btn-secondary:focus-visible,
.home-institutional-content .cms-btn-secondary:hover,
.home-institutional-content .cms-btn-secondary:focus-visible,
.public-program-content .cms-btn-secondary:hover,
.public-program-content .cms-btn-secondary:focus-visible{
    background:#f5f7fa!important;
    color:var(--site-primary)!important;
}

/* TABS CMS */
.public-page-content .cms-tabs,
.article-content .cms-tabs,
.home-institutional-content .cms-tabs,
.public-program-content .cms-tabs{
    border:1px solid #dce3ea!important;
    border-radius:10px!important;
    overflow:hidden!important;
    margin:22px 0!important;
    background:#fff!important;
}
.public-page-content .tabs-nav,
.article-content .tabs-nav,
.home-institutional-content .tabs-nav,
.public-program-content .tabs-nav{
    display:flex!important;
    width:100%!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    background:#f5f7fa!important;
    border-bottom:1px solid #dce3ea!important;
    -webkit-overflow-scrolling:touch;
}
.public-page-content .tabs-nav button,
.article-content .tabs-nav button,
.home-institutional-content .tabs-nav button,
.public-program-content .tabs-nav button{
    flex:0 0 auto!important;
    min-height:42px!important;
    border:0!important;
    border-right:1px solid #dce3ea!important;
    padding:11px 14px!important;
    background:transparent!important;
    color:var(--site-primary)!important;
    font:inherit!important;
    font-weight:700!important;
    white-space:nowrap!important;
    cursor:pointer!important;
}
.public-page-content .tabs-nav button.on,
.article-content .tabs-nav button.on,
.home-institutional-content .tabs-nav button.on,
.public-program-content .tabs-nav button.on{
    background:#fff!important;
}
.public-page-content .cms-tab-item,
.article-content .cms-tab-item,
.home-institutional-content .cms-tab-item,
.public-program-content .cms-tab-item{
    display:none!important;
    padding:18px!important;
}
.public-page-content .cms-tab-item.on,
.article-content .cms-tab-item.on,
.home-institutional-content .cms-tab-item.on,
.public-program-content .cms-tab-item.on{
    display:block!important;
}

/* LÍNEA DE TIEMPO CMS */
.public-page-content .preview-timeline,
.article-content .preview-timeline,
.home-institutional-content .preview-timeline,
.public-program-content .preview-timeline{
    position:relative!important;
    padding-left:42px!important;
    margin:28px 0!important;
}
.public-page-content .preview-timeline::before,
.article-content .preview-timeline::before,
.home-institutional-content .preview-timeline::before,
.public-program-content .preview-timeline::before{
    content:""!important;
    position:absolute!important;
    left:11px!important;
    top:8px!important;
    bottom:8px!important;
    width:3px!important;
    background:var(--site-accent)!important;
    border-radius:999px!important;
}
.public-page-content .preview-timeline article,
.article-content .preview-timeline article,
.home-institutional-content .preview-timeline article,
.public-program-content .preview-timeline article{
    position:relative!important;
    margin:0 0 24px!important;
}
.public-page-content .timeline-dot,
.article-content .timeline-dot,
.home-institutional-content .timeline-dot,
.public-program-content .timeline-dot{
    position:absolute!important;
    left:-37px!important;
    top:20px!important;
    width:16px!important;
    height:16px!important;
    border:3px solid #fff!important;
    border-radius:50%!important;
    background:var(--site-accent)!important;
    box-shadow:0 0 0 2px var(--site-primary)!important;
    z-index:2!important;
}
.public-page-content .timeline-card,
.article-content .timeline-card,
.home-institutional-content .timeline-card,
.public-program-content .timeline-card{
    border:1px solid #dce3ea!important;
    border-radius:12px!important;
    padding:20px 22px!important;
    background:#fff!important;
    box-shadow:0 6px 20px rgba(12,41,72,.06)!important;
}

/* GALERÍA CMS — misma presentación del Preview */
.public-page-content .preview-gallery-component,
.article-content .preview-gallery-component,
.home-institutional-content .preview-gallery-component,
.public-program-content .preview-gallery-component{
    margin:22px 0!important;
}
.public-page-content .preview-gallery-grid,
.article-content .preview-gallery-grid,
.home-institutional-content .preview-gallery-grid,
.public-program-content .preview-gallery-grid{
    display:grid!important;
    grid-template-columns:repeat(var(--cols,3),minmax(0,1fr))!important;
    gap:14px!important;
}
.public-page-content .preview-gallery-item,
.article-content .preview-gallery-item,
.home-institutional-content .preview-gallery-item,
.public-program-content .preview-gallery-item{
    margin:0!important;
    border:1px solid #dce3ea!important;
    border-radius:10px!important;
    overflow:hidden!important;
    background:#fff!important;
    min-width:0!important;
}
.public-page-content .preview-gallery-image,
.article-content .preview-gallery-image,
.home-institutional-content .preview-gallery-image,
.public-program-content .preview-gallery-image{
    overflow:hidden!important;
    background:#f5f7f9!important;
}
.public-page-content .preview-gallery-image img,
.article-content .preview-gallery-image img,
.home-institutional-content .preview-gallery-image img,
.public-program-content .preview-gallery-image img{
    display:block!important;
    width:100%!important;
    height:auto!important;
    aspect-ratio:4/3!important;
    object-fit:cover!important;
    border-radius:0!important;
    transition:transform .28s ease!important;
}
.public-page-content .preview-gallery-component.has-zoom .preview-gallery-item:hover .preview-gallery-image img,
.article-content .preview-gallery-component.has-zoom .preview-gallery-item:hover .preview-gallery-image img,
.home-institutional-content .preview-gallery-component.has-zoom .preview-gallery-item:hover .preview-gallery-image img,
.public-program-content .preview-gallery-component.has-zoom .preview-gallery-item:hover .preview-gallery-image img{
    transform:scale(1.08)!important;
}
.public-page-content .preview-gallery-item figcaption,
.article-content .preview-gallery-item figcaption,
.home-institutional-content .preview-gallery-item figcaption,
.public-program-content .preview-gallery-item figcaption{
    padding:8px 10px!important;
    color:#607086!important;
    font-size:.92rem!important;
}
.public-page-content .preview-gallery-carousel,
.article-content .preview-gallery-carousel,
.home-institutional-content .preview-gallery-carousel,
.public-program-content .preview-gallery-carousel{
    position:relative!important;
    padding:0 46px 30px!important;
    margin:22px 0!important;
}
.public-page-content .preview-gallery-track,
.article-content .preview-gallery-track,
.home-institutional-content .preview-gallery-track,
.public-program-content .preview-gallery-track{
    display:flex!important;
    gap:14px!important;
    overflow-x:auto!important;
    scroll-snap-type:x mandatory!important;
    scroll-behavior:smooth!important;
    scrollbar-width:none!important;
    padding:4px 2px 10px!important;
}
.public-page-content .preview-gallery-track::-webkit-scrollbar,
.article-content .preview-gallery-track::-webkit-scrollbar,
.home-institutional-content .preview-gallery-track::-webkit-scrollbar,
.public-program-content .preview-gallery-track::-webkit-scrollbar{
    display:none!important;
}
.public-page-content .preview-gallery-track .preview-gallery-item,
.article-content .preview-gallery-track .preview-gallery-item,
.home-institutional-content .preview-gallery-track .preview-gallery-item,
.public-program-content .preview-gallery-track .preview-gallery-item{
    flex:0 0 calc((100% - (14px * (var(--gallery-cols,4) - 1))) / var(--gallery-cols,4))!important;
    scroll-snap-align:start!important;
}
.public-page-content .gallery-arrow,
.article-content .gallery-arrow,
.home-institutional-content .gallery-arrow,
.public-program-content .gallery-arrow{
    position:absolute!important;
    top:50%!important;
    transform:translateY(-70%)!important;
    width:38px!important;
    height:38px!important;
    border:1px solid #dce3ea!important;
    border-radius:50%!important;
    background:#fff!important;
    color:var(--site-primary)!important;
    font-size:26px!important;
    line-height:1!important;
    cursor:pointer!important;
    z-index:3!important;
    box-shadow:0 3px 12px rgba(0,0,0,.08)!important;
}
.public-page-content .gallery-arrow.prev,
.article-content .gallery-arrow.prev,
.home-institutional-content .gallery-arrow.prev,
.public-program-content .gallery-arrow.prev{left:0!important}
.public-page-content .gallery-arrow.next,
.article-content .gallery-arrow.next,
.home-institutional-content .gallery-arrow.next,
.public-program-content .gallery-arrow.next{right:0!important}
.public-page-content .gallery-dots,
.article-content .gallery-dots,
.home-institutional-content .gallery-dots,
.public-program-content .gallery-dots{
    display:flex!important;
    justify-content:center!important;
    gap:7px!important;
    margin-top:8px!important;
}
.public-page-content .gallery-dots button,
.article-content .gallery-dots button,
.home-institutional-content .gallery-dots button,
.public-program-content .gallery-dots button{
    width:9px!important;
    height:9px!important;
    border:0!important;
    border-radius:50%!important;
    padding:0!important;
    background:#c8d1db!important;
    cursor:pointer!important;
}
.public-page-content .gallery-dots button.on,
.article-content .gallery-dots button.on,
.home-institutional-content .gallery-dots button.on,
.public-program-content .gallery-dots button.on{
    background:var(--site-primary)!important;
}
.public-page-content .preview-gallery-item.is-clickable,
.article-content .preview-gallery-item.is-clickable,
.home-institutional-content .preview-gallery-item.is-clickable,
.public-program-content .preview-gallery-item.is-clickable{
    cursor:zoom-in!important;
}

@media(max-width:850px){
    .public-page-content .preview-gallery-grid,
    .article-content .preview-gallery-grid,
    .home-institutional-content .preview-gallery-grid,
    .public-program-content .preview-gallery-grid{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
    }
    .public-page-content .preview-gallery-track .preview-gallery-item,
    .article-content .preview-gallery-track .preview-gallery-item,
    .home-institutional-content .preview-gallery-track .preview-gallery-item,
    .public-program-content .preview-gallery-track .preview-gallery-item{
        flex-basis:calc((100% - 14px)/2)!important;
    }
}
@media(max-width:650px){
    .public-page-content .cms-btn,
    .article-content .cms-btn,
    .home-institutional-content .cms-btn,
    .public-program-content .cms-btn{
        max-width:100%!important;
        white-space:normal!important;
        text-align:center!important;
    }
    .public-page-content .tabs-nav button,
    .article-content .tabs-nav button,
    .home-institutional-content .tabs-nav button,
    .public-program-content .tabs-nav button{
        padding:10px 12px!important;
        font-size:.92rem!important;
    }
    .public-page-content .cms-tab-item,
    .article-content .cms-tab-item,
    .home-institutional-content .cms-tab-item,
    .public-program-content .cms-tab-item{
        padding:15px!important;
    }
    .public-page-content .preview-timeline,
    .article-content .preview-timeline,
    .home-institutional-content .preview-timeline,
    .public-program-content .preview-timeline{
        padding-left:31px!important;
    }
    .public-page-content .preview-gallery-grid,
    .article-content .preview-gallery-grid,
    .home-institutional-content .preview-gallery-grid,
    .public-program-content .preview-gallery-grid{
        grid-template-columns:1fr!important;
    }
    .public-page-content .preview-gallery-carousel,
    .article-content .preview-gallery-carousel,
    .home-institutional-content .preview-gallery-carousel,
    .public-program-content .preview-gallery-carousel{
        padding-left:38px!important;
        padding-right:38px!important;
    }
    .public-page-content .preview-gallery-track .preview-gallery-item,
    .article-content .preview-gallery-track .preview-gallery-item,
    .home-institutional-content .preview-gallery-track .preview-gallery-item,
    .public-program-content .preview-gallery-track .preview-gallery-item{
        flex-basis:78vw!important;
    }
}

/* FIX LIGHTBOX GALERÍA — refuerzo mínimo */
[data-preview-gallery-grid][data-gallery-lightbox="1"] .preview-gallery-image,
[data-preview-gallery-carousel][data-gallery-lightbox="1"] .preview-gallery-image{
    cursor:zoom-in!important;
}

.cms-gallery-lightbox[hidden]{
    display:none!important;
}

.cms-gallery-lightbox:not([hidden]){
    display:flex!important;
}

/* E.2 · Botón flotante configurable de admisiones */
.site-admisiones-float{position:fixed;right:22px;bottom:22px;z-index:1000;display:inline-flex;align-items:center;gap:9px;background:var(--site-primary);color:#fff;text-decoration:none;border:2px solid rgba(255,255,255,.88);border-radius:999px;padding:13px 18px;font-weight:800;line-height:1;box-shadow:0 8px 24px rgba(0,0,0,.22);transition:transform .18s ease,box-shadow .18s ease,background .18s ease}
.site-admisiones-float:hover,.site-admisiones-float:focus-visible{background:var(--site-secondary);color:#fff;transform:translateY(-2px);box-shadow:0 11px 28px rgba(0,0,0,.26)}
.site-admisiones-float__icon{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--site-accent);color:#111;font-size:14px}
.site-admisiones-float--with-whatsapp{bottom:82px}
@media (max-width:700px){.site-admisiones-float{right:14px;bottom:14px;max-width:calc(100vw - 28px);padding:12px 15px}.site-admisiones-float--with-whatsapp{bottom:72px}}

