:root {
  --kw-brand-blue: #4E7CDE;
  --kw-brand-dark: #306A95;
  --kw-brand-yellow: #F8DC38;
  --kw-font-base: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

/* ============================================================
   ASTRA CUSTOM CSS · Colegio Karol Wojtyla
   ============================================================ */

body { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; font-size: 17px; line-height: 1.55; color: #306A95; background: #F4F6FB; -webkit-font-smoothing: antialiased; }
h1, h2, h3, .display { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; font-weight: 400; letter-spacing: -0.02em; line-height: 0.95; text-wrap: balance; }
h1 em, h2 em, h3 em { font-style: normal; color: #4E7CDE; }
.eyebrow { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; font-size: 12px; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; color: #306A95; display: inline-flex; align-items: center; gap: 10px; }
.eyebrow::before { content: ''; width: 28px; height: 1px; background: currentColor; }
::selection { background: #4E7CDE; color: white; }

/* Botones */
.btn-kw { display: inline-flex; align-items: center; gap: 12px; padding: 16px 26px; border-radius: 999px; font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; font-weight: 500; font-size: 15px; transition: all 0.4s cubic-bezier(0.65,0,0.05,1); }
.btn-kw-primary { background: #306A95; color: #F4F6FB; }
.btn-kw-primary:hover { background: #4E7CDE; transform: translateY(-1px); color: white; }
.btn-kw-accent { background: #4E7CDE; color: white; }
.btn-kw-accent:hover { background: #306A95; }
.btn-kw-ghost { border: 1px solid #B8C2D6; color: #306A95; }
.btn-kw-ghost:hover { background: #306A95; color: white; border-color: #306A95; }

/* Marquee */
.kw-strip { background: #306A95; color: #F4F6FB; font-size: 12px; height: 36px; display: flex; align-items: center; overflow: hidden; position: relative; z-index: 101; }
.kw-strip-inner { display: flex; gap: 18px; white-space: nowrap; animation: kw-scroll-x 50s linear infinite; padding-left: 100%; }
@keyframes kw-scroll-x { from { transform: translateX(0); } to { transform: translateX(-50%); } }
.kw-marquee { border-block: 1px solid #DCE3EE; background: #F4F6FB; overflow: hidden; padding: 28px 0; }
.kw-marquee-track { display: flex; gap: 48px; width: max-content; animation: kw-scroll-x 40s linear infinite; align-items: center; color: #306A95; }
.kw-marquee-item { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; font-size: 48px; font-style: normal; white-space: nowrap; }
.kw-marquee-item.label { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; font-style: normal; font-size: 16px; font-weight: 500; letter-spacing: 0.3em; text-transform: uppercase; }

/* PILARES */
.kw-pilar { padding: 36px 28px; background: #F4F6FB; border: 1px solid #DCE3EE; transition: background 0.4s cubic-bezier(0.65,0,0.05,1); min-height: 320px; display: flex; flex-direction: column; }
.kw-pilar .uagb-pre-heading-text { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif !important; font-size: 11px !important; font-weight: 600 !important; letter-spacing: 0.14em !important; text-transform: uppercase !important; color: #4A5878 !important; margin: 0 0 16px !important; }
.kw-pilar .uagb-heading-text { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif !important; font-size: 28px !important; font-weight: 400 !important; line-height: 1.1 !important; color: #306A95 !important; margin: 0 0 12px !important; }
.kw-pilar .uagb-desc-text { font-size: 14px !important; line-height: 1.6 !important; color: #4A5878 !important; }

/* ETAPAS */
.kw-etapa { padding: 32px 24px; background: #F4F6FB; border: 1px solid #DCE3EE; border-radius: 12px; min-height: 280px; display: flex; flex-direction: column; transition: transform 0.4s, box-shadow 0.4s; }
.kw-etapa:hover { transform: translateY(-4px); box-shadow: 0 12px 32px rgba(48,106,149,0.08); }
.kw-etapa .uagb-pre-heading-text { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif !important; font-size: 11px !important; font-weight: 600 !important; letter-spacing: 0.14em !important; text-transform: uppercase !important; color: #4E7CDE !important; margin: 0 0 12px !important; }
.kw-etapa .uagb-heading-text { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif !important; font-size: 24px !important; line-height: 1.1 !important; color: #306A95 !important; margin: 0 0 12px !important; }
.kw-etapa .uagb-desc-text { font-size: 13px !important; line-height: 1.55 !important; color: #4A5878 !important; }

/* CIFRAS */
.kw-cifras-section { background: #306A95; color: #F4F6FB; }
.kw-cifras-section h2 { color: #F4F6FB !important; }
.kw-cifras-section .eyebrow { color: #4E7CDE !important; }
.kw-cifras-section .eyebrow::before { background: #4E7CDE !important; }
.kw-cifra-item { padding: 40px 32px; text-align: center; border-right: 1px solid rgba(255,255,255,0.08); }
.kw-cifra-item:last-child { border-right: none; }
.kw-cifra-item .uagb-counter__number-wrap { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; color: #4E7CDE; font-size: clamp(56px, 7vw, 96px); line-height: 1; margin-bottom: 12px; font-variant-numeric: tabular-nums; }
.kw-cifra-item .uagb-counter__title { font-size: 16px; font-weight: 600; color: #F4F6FB; margin: 12px 0 4px; }
.kw-cifra-item .uagb-counter__sub, .kw-cifra-item .kw-cifra-sub { font-size: 12px; color: rgba(244,246,251,0.45); letter-spacing: 0.06em; text-transform: uppercase; }

/* PASTORAL */
.kw-pastoral { background: #306A95; color: #F4F6FB; }
.kw-pastoral h2, .kw-pastoral .uagb-heading-text { color: #F4F6FB !important; }
.kw-pastoral .uagb-pre-heading-text { color: #4E7CDE !important; }
.kw-pastoral .uagb-desc-text, .kw-pastoral-lead { color: rgba(244,246,251,0.75) !important; line-height: 1.7; max-width: 500px; }
.kw-pastoral .btn-kw-ghost, .kw-pastoral a.btn-kw-ghost { color: #F4F6FB !important; border-color: rgba(244,246,251,0.3) !important; }
.kw-pastoral .btn-kw-ghost:hover { background: #4E7CDE !important; border-color: #4E7CDE !important; color: #fff !important; }
.kw-valor .uagb-pre-heading-text.kw-valor-letra { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif !important; font-size: 36px !important; color: #4E7CDE !important; line-height: 1 !important; margin: 0 0 8px !important; letter-spacing: 0 !important; text-transform: none !important; font-weight: 400 !important; }
.kw-valor .uagb-heading-text { color: #F4F6FB !important; font-size: 15px !important; font-weight: 600 !important; font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif !important; margin: 0 0 4px !important; }
.kw-valor .uagb-desc-text { font-size: 13px !important; color: rgba(244,246,251,0.6) !important; line-height: 1.5 !important; }
.kw-pastoral-quote-card { border: 1px solid rgba(255,255,255,0.1) !important; border-radius: 16px !important; padding: 40px !important; max-width: 400px; margin: 0 auto; }
.kw-pastoral-quote-card .kw-pastoral-quote, .kw-pastoral-quote-card p { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif !important; font-size: 24px !important; font-style: normal; color: #F4F6FB !important; line-height: 1.4 !important; margin-bottom: 20px !important; }
.kw-pastoral-quote-card cite, .kw-pastoral-cite { font-size: 13px; color: rgba(244,246,251,0.5); font-style: normal; }

/* EXTRAESCOLARES / ACADEMIAS */
.kw-extras-grid > .wp-block-column { padding: 0; }
.kw-extra-card { border: 1px solid #DCE3EE; border-radius: 12px; padding: 28px 24px; background: white; transition: transform 0.3s, box-shadow 0.3s; height: 100%; display: flex; flex-direction: column; }
.kw-extra-card:hover { transform: translateY(-4px); box-shadow: 0 12px 32px rgba(48,106,149,0.12); }
.kw-extra-card .uagb-pre-heading-text { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif !important; font-size: 10px !important; color: #B8C2D6 !important; letter-spacing: 0.1em !important; text-transform: uppercase !important; margin: 0 0 8px !important; font-weight: 500 !important; }
.kw-extra-card .uagb-heading-text { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif !important; font-size: 22px !important; color: #306A95 !important; margin: 0 0 8px !important; line-height: 1.1 !important; }
.kw-extra-card .uagb-desc-text { font-size: 12px !important; color: #4A5878 !important; text-transform: uppercase; letter-spacing: 0.06em; line-height: 1.5; }
.kw-extra-steam { border-top: 3px solid #4E7CDE; }
.kw-extra-arte { border-top: 3px solid #f59e0b; }
.kw-extra-deporte { border-top: 3px solid #22c55e; }
.kw-extra-mente { border-top: 3px solid #8b5cf6; }
.kw-extra-idiomas { border-top: 3px solid #306A95; }

/* TESTIMONIOS */
.kw-testimonios { position: relative; }
.kw-testi-quote-mark { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; font-size: 240px; color: #4E7CDE; line-height: 0.6; position: absolute; top: 60px; left: 40px; pointer-events: none; }
.kw-testi-card { background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.1); border-radius: 16px; padding: 32px; height: 100%; }
.kw-testi-text { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif !important; font-size: 20px !important; line-height: 1.4 !important; color: #F4F6FB !important; margin-bottom: 24px !important; }
.kw-testi-text em { color: #4E7CDE; font-style: normal; }
.kw-testi-autor { font-size: 13px; color: rgba(244,246,251,0.6) !important; font-style: normal; }
.kw-testi-autor strong { color: #F4F6FB; }

/* RED DIOCESANA CARRUSEL */
.kw-red-carrusel { display: flex !important; overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; gap: 24px !important; padding: 8px 4px 32px !important; scrollbar-width: thin; scrollbar-color: #4E7CDE #DCE3EE; -webkit-overflow-scrolling: touch; margin: 0 -8px !important; }
.kw-red-carrusel::-webkit-scrollbar { height: 6px; }
.kw-red-carrusel::-webkit-scrollbar-track { background: #DCE3EE; border-radius: 3px; }
.kw-red-carrusel::-webkit-scrollbar-thumb { background: #4E7CDE; border-radius: 3px; }
.kw-red-carrusel > .wp-block-column { flex: 0 0 320px !important; scroll-snap-align: start; margin: 0 !important; min-width: 0 !important; padding: 0 !important; }
.kw-red-item { background: white; border: 1px solid #DCE3EE; border-radius: 12px; padding: 28px 24px; height: 100%; min-height: 180px; display: flex; flex-direction: column; justify-content: space-between; transition: transform 0.35s cubic-bezier(0.65,0,0.05,1), box-shadow 0.35s, border-color 0.35s; }
.kw-red-item:hover { transform: translateY(-6px); box-shadow: 0 16px 40px rgba(48,106,149,0.14); border-color: #4E7CDE; }
.kw-red-item .uagb-pre-heading-text { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif !important; font-size: 11px !important; letter-spacing: 0.12em !important; text-transform: uppercase !important; color: #4A5878 !important; margin: 0 0 16px !important; font-weight: 500 !important; }
.kw-red-item .uagb-heading-text { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif !important; font-size: 24px !important; font-weight: 400 !important; line-height: 1.15 !important; color: #306A95 !important; margin: 0 0 16px !important; letter-spacing: -0.01em; }
.kw-red-item .uagb-desc-text { margin-top: auto !important; font-size: 24px !important; color: #4E7CDE !important; line-height: 1 !important; }

/* CTA */
.kw-cta-card { overflow: hidden; }
.kw-cta-card .uagb-pre-heading-text { color: #4E7CDE !important; }
.kw-cta-card .uagb-heading-text { color: #F4F6FB !important; }
.kw-cta-card .uagb-desc-text { color: rgba(244,246,251,0.75) !important; max-width: 480px; line-height: 1.7; }
.kw-cta-buttons { display: flex !important; gap: 16px !important; flex-wrap: wrap; margin-top: 36px !important; }
.kw-cta-buttons .btn-kw-accent { background: #4E7CDE; color: white; }
.kw-cta-buttons .btn-kw-ghost { border-color: rgba(255,255,255,0.3); color: #F4F6FB; }
.kw-cta-datos p { color: rgba(244,246,251,0.55); font-size: 14px; margin: 0; }

/* HERO actual (placeholder) */
.kw-hero { min-height: 88vh; background: #F4F6FB; overflow: hidden; }
.kw-hero-inner { display: grid; grid-template-columns: 1fr 1fr; min-height: 88vh; max-width: 1440px; margin: 0 auto; }
.kw-hero-content { display: flex; flex-direction: column; justify-content: center; padding: 80px 60px 80px 80px; }
.kw-hero-title { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif !important; font-size: clamp(52px, 6vw, 92px) !important; line-height: 0.95 !important; letter-spacing: -0.02em !important; color: #306A95; margin: 20px 0 24px !important; }
.kw-hero-title em { font-style: normal; color: #4E7CDE; }
.kw-hero-lead { font-size: 18px; line-height: 1.6; color: #4A5878; max-width: 520px; margin-bottom: 36px; }
.kw-hero-actions { display: flex; gap: 16px; flex-wrap: wrap; }
.kw-hero-badges { display: flex; gap: 20px; margin-top: 48px; flex-wrap: wrap; align-items: center; }
.kw-hero-badge { background: white; border: 1px solid #DCE3EE; border-radius: 999px; padding: 10px 20px; display: flex; flex-direction: column; gap: 2px; }
.kw-badge-num { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; font-size: 28px; color: #306A95; line-height: 1; }
.kw-badge-label { font-size: 11px; color: #4A5878; letter-spacing: 0.06em; text-transform: uppercase; }
.kw-hero-badge--pill { flex-direction: row; align-items: center; gap: 10px; font-size: 13px; font-weight: 500; }
.kw-badge-dot { width: 8px; height: 8px; background: #22c55e; border-radius: 50%; display: inline-block; animation: kw-pulse 2s infinite; }
@keyframes kw-pulse { 0%,100% { opacity: 1; } 50% { opacity: 0.4; } }
.kw-hero-visual { position: relative; overflow: hidden; }
.kw-hero-image { width: 100%; height: 100%; object-fit: cover; object-position: center; position: absolute; inset: 0; z-index: 0; }
.kw-hero-img-overlay { position: absolute; bottom: 0; left: 0; padding: 24px; z-index: 2; }
.kw-hero-caption { font-size: 11px; color: rgba(255,255,255,0.5); letter-spacing: 0.1em; text-transform: uppercase; background: rgba(0,0,0,0.3); padding: 6px 12px; border-radius: 4px; }

/* PAGE LAYOUT */
.home .entry-content { padding: 0 !important; margin: 0 !important; }
.home .ast-container, .page .ast-container { max-width: 100% !important; padding: 0 !important; }
.page .entry-content { padding: 0 !important; }
.kw-section { max-width: 1200px; margin: 0 auto; padding-left: 40px; padding-right: 40px; }

/* HEADER ASTRA */
.site-header { background: #ffffff !important; border-bottom: 1px solid #DCE3EE; position: sticky; top: 0; z-index: 100; }
.main-header-bar { padding: 0 40px !important; }
.ast-site-header-wrap, .site-header .ast-flex { min-height: 100px; }
.custom-logo { max-height: 80px !important; width: auto !important; height: auto !important; }
.custom-logo-link { display: flex; align-items: center; }
.main-header-bar .main-navigation a, .ast-header-break-point .main-navigation a {
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif !important; font-size: 14px !important; font-weight: 500 !important;
  color: #306A95 !important; letter-spacing: 0.01em; padding: 8px 14px !important; transition: color 0.2s;
}
.main-header-bar .main-navigation a:hover { color: #4E7CDE !important; }
.main-navigation .current-menu-item > a { color: #4E7CDE !important; }
.main-navigation .menu-cta-kw > a, .main-header-bar .menu-cta-kw > a {
  background: #306A95 !important; color: #F4F6FB !important; border-radius: 999px !important;
  padding: 10px 22px !important; font-weight: 600 !important; margin-left: 8px;
  transition: background 0.3s, transform 0.2s !important; display: inline-block;
}
.main-navigation .menu-cta-kw > a:hover { background: #4E7CDE !important; color: #fff !important; transform: translateY(-1px); }
.main-header-bar .main-navigation .sub-menu .menu-item-has-children > .sub-menu,
.ast-header-break-point .main-navigation .sub-menu .menu-item-has-children > .sub-menu {
  left: auto !important; right: 100% !important; margin-right: -1px;
}

/* FOOTER CUSTOM */
.site-footer { display: none !important; }
.kw-footer-custom { background: #306A95; color: #F4F6FB; font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; width: 100%; }
.kw-footer-grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr 1.2fr; gap: 48px; max-width: 1200px; margin: 0 auto; padding: 72px 40px 56px; }
.kw-footer-col--brand .kw-footer-brand-mark { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; font-size: 24px; font-style: normal; color: #F4F6FB; line-height: 1; border: 1.5px solid rgba(244,246,251,0.3); border-radius: 50%; width: 64px; height: 64px; display: flex; align-items: center; justify-content: center; margin-bottom: 20px; }
.kw-footer-tagline { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; font-size: 18px; line-height: 1.4; color: #F4F6FB; margin-bottom: 16px; }
.kw-footer-tagline em { font-style: normal; color: #4E7CDE; }
.kw-footer-address, .kw-footer-col--brand p { font-size: 13px; color: rgba(244,246,251,0.55); line-height: 1.7; margin-bottom: 8px; }
.kw-footer-col--brand a { color: rgba(244,246,251,0.55); text-decoration: none; transition: color 0.2s; }
.kw-footer-col--brand a:hover { color: #4E7CDE; }
.kw-footer-heading { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; font-size: 11px; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: rgba(244,246,251,0.4); margin-bottom: 20px; }
.kw-footer-links { list-style: none; margin: 0; padding: 0; }
.kw-footer-links a { font-size: 14px; color: rgba(244,246,251,0.7); text-decoration: none; line-height: 2.1; display: block; transition: color 0.2s, padding-left 0.2s; }
.kw-footer-links a:hover { color: #F4F6FB; padding-left: 4px; }
.kw-footer-col--cta p { font-size: 13px; color: rgba(244,246,251,0.6); line-height: 1.7; margin-bottom: 20px; }
.kw-footer-btn { display: block; padding: 12px 22px; border: 1px solid rgba(244,246,251,0.25); border-radius: 999px; font-size: 13px; font-weight: 600; color: #F4F6FB; text-decoration: none; text-align: center; transition: background 0.3s, border-color 0.3s; margin-bottom: 24px; }
.kw-footer-btn:hover { background: #4E7CDE; border-color: #4E7CDE; color: #fff; }
.kw-footer-redes { display: flex; gap: 12px; }
.kw-footer-redes a { width: 36px; height: 36px; border: 1px solid rgba(244,246,251,0.2); border-radius: 50%; display: flex; align-items: center; justify-content: center; color: rgba(244,246,251,0.6); text-decoration: none; transition: border-color 0.2s, color 0.2s; }
.kw-footer-redes a:hover { border-color: #4E7CDE; color: #4E7CDE; }
.kw-footer-mega { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; font-size: clamp(80px, 16vw, 260px); font-style: normal; line-height: 0.85; letter-spacing: -0.04em; color: rgba(255,255,255,0.05); text-align: center; padding: 20px 0; border-top: 1px solid rgba(255,255,255,0.07); pointer-events: none; user-select: none; overflow: hidden; }
.kw-footer-legal { background: #061430; display: flex; justify-content: space-between; align-items: center; gap: 24px; padding: 16px 40px; font-size: 11px; color: rgba(244,246,251,0.35); flex-wrap: wrap; }
.kw-footer-legal-links { display: flex; gap: 20px; }
.kw-footer-legal a { color: rgba(244,246,251,0.4); text-decoration: none; transition: color 0.2s; }
.kw-footer-legal a:hover { color: #4E7CDE; }

/* REVEAL */
.reveal { opacity: 0; transform: translateY(30px); transition: opacity 0.5s cubic-bezier(0.16,1,0.3,1), transform 0.5s cubic-bezier(0.16,1,0.3,1) !important; }
.reveal.in { opacity: 1; transform: none; }
.kw-hero .reveal, .kw-hero.reveal, .kw-hero-content .reveal, .kw-hero-title.reveal, .kw-marquee .reveal, .kw-marquee.reveal { opacity: 1 !important; transform: none !important; animation: none !important; }
@keyframes kw-reveal-failsafe { to { opacity: 1; transform: none; } }
.reveal { animation: kw-reveal-failsafe 0.5s 1.8s forwards; }
.reveal.in { animation: none; }
@media (prefers-reduced-motion: reduce) { .reveal { opacity: 1 !important; transform: none !important; transition: none !important; animation: none !important; } }

/* RESPONSIVE GLOBAL */
@media (max-width: 1024px) {
  .kw-hero-inner, .kw-pastoral-inner { grid-template-columns: 1fr; }
  .kw-hero-visual, .kw-pastoral-visual { min-height: 360px; }
  .kw-hero-content { padding: 60px 32px; }
  .kw-extras-grid > .wp-block-column { flex: 1 1 calc(33% - 16px); }
  .kw-footer-grid { grid-template-columns: 1fr 1fr 1fr; gap: 40px; padding: 60px 32px 48px; }
  .kw-footer-col--brand { grid-column: 1 / -1; }
}
@media (max-width: 768px) {
  .main-header-bar { padding: 0 20px !important; }
  .kw-strip { font-size: 11px !important; }
  .kw-red-carrusel > .wp-block-column { flex: 0 0 260px !important; }
  .kw-red-item .uagb-heading-text { font-size: 20px !important; }
}
@media (max-width: 640px) {
  .kw-hero-content { padding: 48px 24px; }
  .kw-cta-card { padding: 48px 24px !important; border-radius: 20px !important; }
  .kw-footer-grid { grid-template-columns: 1fr 1fr; gap: 32px; padding: 48px 24px 40px; }
  .kw-footer-col--cta { grid-column: 1 / -1; }
  .kw-footer-legal { flex-direction: column; text-align: center; padding: 16px 24px; }
  .kw-footer-mega { font-size: clamp(60px, 22vw, 120px); }
}

/* ============================================================
   PÁGINA HISTORIA · /historia/  (fase 7, 21-may-2026)
   ============================================================ */

/* Hero de páginas internas */
.kw-page-hero-section { background: linear-gradient(180deg, #F4F6FB 0%, #FFFFFF 100%); padding: 96px 40px 64px; text-align: center; }
.kw-page-hero-block .uagb-pre-heading-text { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif !important; font-size: 12px !important; font-weight: 600 !important; letter-spacing: 0.18em !important; text-transform: uppercase !important; color: #4A5878 !important; margin: 0 0 24px !important; }
.kw-page-hero-block .uagb-heading-text { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif !important; font-size: clamp(44px, 5.5vw, 76px) !important; line-height: 1.02 !important; letter-spacing: -0.02em !important; color: #306A95 !important; max-width: 900px; margin: 0 auto 28px !important; text-wrap: balance; }
.kw-page-hero-block .uagb-heading-text em { color: #4E7CDE; font-style: normal; }
.kw-page-hero-block .uagb-desc-text { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif !important; font-size: 18px !important; line-height: 1.7 !important; color: #4A5878 !important; max-width: 720px; margin: 0 auto !important; }

/* Secciones genéricas reutilizables */
.kw-section-light { background: #FFFFFF; padding: 88px 40px; }
.kw-section-navy { background: #306A95; color: #F4F6FB; padding: 88px 40px; }
.kw-section-cta { background: #306A95; color: #F4F6FB; padding: 88px 40px; border-radius: 24px; margin: 64px auto; max-width: 1120px; }

.kw-section-heading { max-width: 820px; margin: 0 auto 56px; text-align: center; }
.kw-section-heading .uagb-pre-heading-text { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif !important; font-size: 12px !important; font-weight: 600 !important; letter-spacing: 0.18em !important; text-transform: uppercase !important; color: #4A5878 !important; margin: 0 0 18px !important; }
.kw-section-navy .kw-section-heading .uagb-pre-heading-text { color: #F8DC38 !important; }
.kw-section-heading .uagb-heading-text { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif !important; font-size: clamp(34px, 4vw, 52px) !important; line-height: 1.05 !important; letter-spacing: -0.02em !important; color: #306A95 !important; margin: 0 0 24px !important; text-wrap: balance; }
.kw-section-navy .kw-section-heading .uagb-heading-text { color: #F4F6FB !important; }
.kw-section-heading .uagb-desc-text { font-size: 17px !important; line-height: 1.7 !important; color: #4A5878 !important; }
.kw-section-navy .kw-section-heading .uagb-desc-text { color: rgba(244,246,251,0.78) !important; }

/* Bloque de texto largo (orígenes) */
.kw-historia-bloque-texto { max-width: 800px; margin: 48px auto 0; padding: 32px 36px; background: #F4F6FB; border-left: 3px solid #4E7CDE; border-radius: 0 12px 12px 0; }
.kw-historia-bloque-texto .uagb-heading-text { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif !important; font-size: 28px !important; color: #306A95 !important; margin: 0 0 14px !important; line-height: 1.15 !important; }
.kw-historia-bloque-texto .uagb-desc-text { font-size: 16px !important; line-height: 1.75 !important; color: #4A5878 !important; }

/* Pilares Patrono (sobre fondo navy) */
.kw-historia-patrono .kw-historia-patrono-pilares { max-width: 1100px; margin: 56px auto 0; gap: 28px !important; }
.kw-pilar-patrono { padding: 36px 28px; background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.1); border-radius: 16px; height: 100%; transition: transform 0.4s, background 0.4s, border-color 0.4s; }
.kw-pilar-patrono:hover { transform: translateY(-4px); background: rgba(248,220,56,0.06); border-color: rgba(248,220,56,0.3); }
.kw-pilar-patrono .uagb-pre-heading-text { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif !important; font-size: 13px !important; font-weight: 500 !important; letter-spacing: 0.12em !important; color: #F8DC38 !important; margin: 0 0 16px !important; }
.kw-pilar-patrono .uagb-heading-text { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif !important; font-size: 26px !important; line-height: 1.1 !important; color: #F4F6FB !important; margin: 0 0 14px !important; }
.kw-pilar-patrono .uagb-desc-text { font-size: 14px !important; line-height: 1.7 !important; color: rgba(244,246,251,0.72) !important; }

/* Timeline de hitos */
.kw-historia-hitos-section { padding: 96px 40px; }
.kw-historia-timeline { max-width: 880px; margin: 0 auto; position: relative; padding-left: 48px; }
.kw-historia-timeline::before { content: ''; position: absolute; left: 14px; top: 12px; bottom: 12px; width: 2px; background: linear-gradient(180deg, #4E7CDE 0%, #DCE3EE 100%); }
.kw-hito-card { position: relative; padding: 28px 32px 28px 36px; margin: 0 0 28px 0 !important; background: #FFFFFF; border: 1px solid #DCE3EE; border-radius: 16px; box-shadow: 0 4px 16px rgba(48,106,149,0.04); transition: transform 0.35s, box-shadow 0.35s, border-color 0.35s; }
.kw-hito-card::before { content: ''; position: absolute; left: -41px; top: 32px; width: 14px; height: 14px; background: #4E7CDE; border: 3px solid #FFFFFF; border-radius: 50%; box-shadow: 0 0 0 2px #4E7CDE; }
.kw-hito-card:hover { transform: translateX(4px); border-color: #4E7CDE; box-shadow: 0 12px 32px rgba(78,124,222,0.10); }
.kw-hito-card .uagb-pre-heading-text { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif !important; font-size: 11px !important; font-weight: 500 !important; letter-spacing: 0.14em !important; text-transform: uppercase !important; color: #4E7CDE !important; margin: 0 0 10px !important; }
.kw-hito-card .uagb-heading-text { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif !important; font-size: 24px !important; line-height: 1.15 !important; color: #306A95 !important; margin: 0 0 10px !important; }
.kw-hito-card .uagb-heading-text em { color: #4E7CDE; font-style: normal; }
.kw-hito-card .uagb-desc-text { font-size: 15px !important; line-height: 1.7 !important; color: #4A5878 !important; }
.kw-hito-card .uagb-desc-text em { color: #306A95; font-style: normal; font-weight: 500; }

/* Cifras Historia */
.kw-historia-cifras { padding: 88px 40px; }
.kw-historia-cifras .kw-cifras-grid { max-width: 1120px; margin: 0 auto; gap: 0 !important; }
.kw-historia-cifras .kw-cifra-item { padding: 32px 24px; text-align: center; }
.kw-historia-cifras .uagb-counter-value, .kw-historia-cifras .uagb-counter__number-wrap { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif !important; color: #F8DC38 !important; font-size: clamp(56px, 7vw, 88px) !important; line-height: 1 !important; margin-bottom: 12px !important; font-variant-numeric: tabular-nums; }
.kw-historia-cifras .uagb-counter-title, .kw-historia-cifras .uagb-counter__title { font-size: 14px !important; font-weight: 500 !important; color: rgba(244,246,251,0.78) !important; line-height: 1.5 !important; max-width: 220px; margin: 0 auto !important; }
.kw-cifras-nota { font-size: 13px; color: rgba(244,246,251,0.45); margin-top: 32px !important; }

/* Sección Red Diocesana Historia */
.kw-historia-red { padding: 88px 40px; }
.kw-historia-red .kw-section-heading .uagb-desc-text { max-width: 760px; margin: 0 auto !important; }

/* Cita grande */
.kw-historia-cita { padding: 96px 40px; max-width: 920px; margin: 0 auto; }
.kw-cita-grande { border: none !important; padding: 0 !important; margin: 0 !important; text-align: center; }
.kw-cita-grande p { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif !important; font-size: clamp(32px, 4vw, 48px) !important; font-style: normal; line-height: 1.25 !important; color: #306A95; margin: 0 0 24px !important; text-wrap: balance; }
.kw-cita-grande cite { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; font-size: 13px; font-style: normal; color: #4A5878; letter-spacing: 0.08em; text-transform: uppercase; }

/* CTA Historia */
.kw-historia-cta .kw-section-heading { max-width: 720px; }
.kw-historia-cta .kw-section-heading .uagb-pre-heading-text { color: #F8DC38 !important; }
.kw-historia-cta .kw-section-heading .uagb-heading-text { color: #F4F6FB !important; }
.kw-historia-cta .kw-section-heading .uagb-desc-text { color: rgba(244,246,251,0.78) !important; }
.kw-historia-cta .kw-cta-botones { gap: 16px !important; margin-top: 12px !important; }
.kw-historia-cta .kw-btn-primary .wp-block-button__link { background: #F8DC38 !important; color: #306A95 !important; border-radius: 999px !important; padding: 14px 28px !important; font-weight: 600 !important; font-size: 14px !important; }
.kw-historia-cta .kw-btn-primary .wp-block-button__link:hover { background: #FFFFFF !important; }
.kw-historia-cta .kw-btn-ghost .wp-block-button__link { background: transparent !important; color: #F4F6FB !important; border: 1px solid rgba(244,246,251,0.4) !important; border-radius: 999px !important; padding: 14px 28px !important; font-weight: 500 !important; font-size: 14px !important; }
.kw-historia-cta .kw-btn-ghost .wp-block-button__link:hover { background: rgba(244,246,251,0.1) !important; border-color: #F4F6FB !important; }

/* Responsive Historia */
@media (max-width: 1024px) {
  .kw-historia-patrono-pilares { flex-direction: column !important; }
  .kw-historia-patrono-pilares > .wp-block-column { flex-basis: 100% !important; }
}
@media (max-width: 768px) {
  .kw-page-hero-section { padding: 64px 24px 48px; }
  .kw-section-light, .kw-section-navy { padding: 64px 24px; }
  .kw-historia-timeline { padding-left: 32px; }
  .kw-historia-timeline::before { left: 8px; }
  .kw-hito-card::before { left: -27px; top: 28px; width: 12px; height: 12px; }
  .kw-historia-bloque-texto { padding: 24px 20px; }
  .kw-historia-cifras .kw-cifras-grid { display: grid !important; grid-template-columns: 1fr 1fr; gap: 16px !important; }
  .kw-historia-cifras .kw-cifra-item { border-right: none !important; }
}
@media (max-width: 540px) {
  .kw-historia-cifras .kw-cifras-grid { grid-template-columns: 1fr; }
  .kw-cita-grande p { font-size: 26px !important; }
}

/* ============================================================
   FIX FASE 9b · /historia/ + páginas internas (refactor final)
   ============================================================ */

/* 1. Ocultar entry-header (H1 duplicado Astra) en TODAS las páginas */
body.page .entry-header,
body.page header.entry-header { display: none !important; }

/* 2. Reset entry-content y contenedores que encajonan */
body.page .ast-plain-container.ast-no-sidebar #primary,
body.page .ast-plain-container.ast-no-sidebar .entry-content {
  padding: 0 !important;
  margin: 0 !important;
  max-width: none !important;
  width: 100% !important;
}

/* 3. Secciones FULL-WIDTH (banda de color de borde a borde) */
body.page .kw-page-hero-section,
body.page .kw-section-light,
body.page .kw-section-navy,
body.page .kw-historia-hitos-section,
body.page .kw-historia-cifras,
body.page .kw-historia-red,
body.page .kw-historia-cita,
body.page .kw-historia-cta {
  max-width: none !important;
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  border-radius: 0 !important;
}

/* 4. Padding interior responsivo */
body.page .kw-page-hero-section { padding: 96px clamp(24px, 6vw, 80px) 64px !important; }
body.page .kw-section-light,
body.page .kw-historia-hitos-section,
body.page .kw-historia-red { padding: 88px clamp(24px, 6vw, 80px) !important; }
body.page .kw-section-navy,
body.page .kw-historia-cifras,
body.page .kw-historia-cta { padding: 88px clamp(24px, 6vw, 80px) !important; }
body.page .kw-historia-cita { padding: 96px clamp(24px, 6vw, 80px) !important; }

/* 5. Centrar bloques internos específicos */
body.page .kw-page-hero-block { max-width: 900px !important; margin: 0 auto !important; }
body.page .kw-section-heading { max-width: 820px !important; margin: 0 auto 56px !important; }
body.page .kw-historia-bloque-texto { max-width: 800px !important; margin: 48px auto 0 !important; }
body.page .kw-historia-timeline { max-width: 880px !important; margin: 0 auto !important; }
body.page .kw-historia-patrono-pilares { max-width: 1100px !important; margin: 56px auto 0 !important; }
body.page .kw-cita-grande { max-width: 920px !important; margin: 0 auto !important; }

/* 6. CIFRAS: grid CSS 4 columnas + nota debajo (sobreescribir wp-block-columns flex) */
body.page .kw-cifras-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 24px !important;
  max-width: 1120px !important;
  margin: 0 auto !important;
  flex-direction: row !important;
}
body.page .kw-cifras-grid > .wp-block-column {
  flex: none !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border-right: 1px solid rgba(255,255,255,0.08);
}
body.page .kw-cifras-grid > .wp-block-column:last-child { border-right: none; }
body.page .kw-cifras-grid > p.kw-cifras-nota {
  grid-column: 1 / -1 !important;
  text-align: center !important;
  margin: 32px auto 0 !important;
  max-width: 820px !important;
  font-size: 13px !important;
  color: rgba(244,246,251,0.55) !important;
  font-style: normal;
}
body.page .kw-historia-cifras > p.kw-cifras-nota,
body.page .kw-historia-cifras .kw-cifras-nota {
  text-align: center !important;
  margin: 32px auto 0 !important;
  max-width: 820px !important;
}

/* 7. Forzar opacity 1 (sin animaciones que dejen títulos desvanecidos) */
body.page .uagb-block-hist-hit,
body.page .uagb-block-hist-cif,
body.page .uagb-block-hist-red,
body.page .uagb-block-hist-cta,
body.page .uagb-block-hist-orig,
body.page .uagb-block-hist-orig-2,
body.page .uagb-block-hist-pat,
body.page .uagb-block-hist-hero,
body.page .kw-section-heading,
body.page .kw-historia-cita,
body.page .kw-cita-grande,
body.page .kw-cita-grande p,
body.page .kw-cita-grande cite,
body.page .kw-historia-cifras .uagb-counter,
body.page .kw-historia-red,
body.page .kw-historia-cta {
  opacity: 1 !important;
  transform: none !important;
  animation: none !important;
  transition: opacity 0.3s !important;
}

/* 8. CTA buttons centrados */
body.page .kw-cta-botones {
  display: flex !important;
  gap: 16px !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
  margin-top: 32px !important;
}

/* 9. Responsive cifras */
@media (max-width: 768px) {
  body.page .kw-cifras-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  body.page .kw-cifras-grid > .wp-block-column { border-right: none; border-bottom: 1px solid rgba(255,255,255,0.08); padding-bottom: 24px !important; }
}
@media (max-width: 480px) {
  body.page .kw-cifras-grid {
    grid-template-columns: 1fr !important;
  }
}

/* ============================================================
   PÁGINA PROYECTO EDUCATIVO · /proyecto/  (fase 10, 22-may-2026)
   ============================================================ */

/* Etapas pedagógicas - grid 2x2 (no timeline) */
body.page .kw-proyecto-etapas-grid {
  max-width: 1120px !important;
  margin: 0 auto !important;
  padding-left: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 24px !important;
}
body.page .kw-proyecto-etapas-grid::before { content: none !important; display: none !important; }
body.page .kw-proyecto-etapas-grid .kw-hito-card {
  margin: 0 !important;
  padding: 36px 32px !important;
  background: #FFFFFF;
  border: 1px solid #DCE3EE;
  border-radius: 16px;
  border-top: 3px solid #4E7CDE;
  box-shadow: 0 4px 16px rgba(48,106,149,0.04);
  transition: transform 0.35s, box-shadow 0.35s, border-color 0.35s;
}
body.page .kw-proyecto-etapas-grid .kw-hito-card::before { content: none !important; display: none !important; }
body.page .kw-proyecto-etapas-grid .kw-hito-card:hover {
  transform: translateY(-4px);
  border-color: #4E7CDE;
  box-shadow: 0 16px 40px rgba(78,124,222,0.10);
}
body.page .kw-proyecto-etapas-grid .kw-hito-card .uagb-pre-heading-text {
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif !important;
  font-size: 11px !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: #4E7CDE !important;
}
body.page .kw-proyecto-etapas-grid .kw-hito-card .uagb-heading-text em { color: #4E7CDE; font-style: normal; }
body.page .kw-proyecto-etapas-grid .kw-hito-card .uagb-desc-text strong { color: #306A95; font-weight: 600; }

@media (max-width: 900px) {
  body.page .kw-proyecto-etapas-grid { grid-template-columns: 1fr !important; }
}

/* Doce compromisos - grid 3x4 (desktop), 2x6 (tablet), 1x12 (mobile) */
body.page .kw-proyecto-compromisos .kw-compromisos-grid {
  max-width: 1180px !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 20px !important;
  flex-direction: row !important;
}
body.page .kw-proyecto-compromisos .kw-compromisos-grid > .wp-block-column {
  flex: none !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  flex-basis: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.page .kw-compromiso {
  padding: 28px 24px !important;
  background: #FFFFFF;
  border: 1px solid #DCE3EE;
  border-radius: 14px;
  height: 100%;
  display: flex;
  flex-direction: column;
  gap: 8px;
  transition: transform 0.3s, box-shadow 0.3s, border-color 0.3s;
}
body.page .kw-compromiso:hover {
  transform: translateY(-3px);
  border-color: #4E7CDE;
  box-shadow: 0 12px 28px rgba(48,106,149,0.08);
}
body.page .kw-compromiso .kw-comp-n,
body.page .kw-compromiso .uagb-pre-heading-text.kw-comp-n {
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif !important;
  font-size: 28px !important;
  font-weight: 400 !important;
  color: #4E7CDE !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  line-height: 1 !important;
  margin: 0 0 4px !important;
}
body.page .kw-compromiso .uagb-heading-text {
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif !important;
  font-size: 17px !important;
  font-weight: 600 !important;
  color: #306A95 !important;
  line-height: 1.3 !important;
  margin: 0 0 6px !important;
}
body.page .kw-compromiso .uagb-desc-text {
  font-size: 14px !important;
  line-height: 1.6 !important;
  color: #4A5878 !important;
}

@media (max-width: 900px) {
  body.page .kw-proyecto-compromisos .kw-compromisos-grid { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 600px) {
  body.page .kw-proyecto-compromisos .kw-compromisos-grid { grid-template-columns: 1fr !important; gap: 14px !important; }
}

/* Pastoral - bloque navy con borde amarillo */
body.page .kw-proyecto-pastoral .kw-historia-bloque-texto {
  background: rgba(255,255,255,0.04) !important;
  border-left: 3px solid #F8DC38 !important;
  border-radius: 0 12px 12px 0 !important;
}
body.page .kw-proyecto-pastoral .kw-historia-bloque-texto .uagb-heading-text { color: #FFFFFF !important; }
body.page .kw-proyecto-pastoral .kw-historia-bloque-texto .uagb-desc-text { color: rgba(244,246,251,0.78) !important; }
body.page .kw-proyecto-pastoral .kw-historia-bloque-texto .uagb-desc-text em { color: #F8DC38 !important; font-style: normal; }

/* Cifras del proyecto - misma estética que historia */
body.page .kw-proyecto-cifras .uagb-counter-value,
body.page .kw-proyecto-cifras .uagb-counter__number-wrap {
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif !important;
  color: #F8DC38 !important;
  font-size: clamp(56px, 7vw, 88px) !important;
  line-height: 1 !important;
  font-variant-numeric: tabular-nums !important;
}
body.page .kw-proyecto-cifras .uagb-counter-title,
body.page .kw-proyecto-cifras .uagb-counter__title {
  font-size: 14px !important;
  font-weight: 500 !important;
  color: rgba(244,246,251,0.78) !important;
  line-height: 1.5 !important;
  max-width: 220px !important;
  margin: 0 auto !important;
}
body.page .kw-proyecto-cifras .kw-cifras-nota { color: rgba(244,246,251,0.55) !important; }

/* CTA del proyecto */
body.page .kw-proyecto-cta .kw-section-heading .uagb-pre-heading-text { color: #F8DC38 !important; }
body.page .kw-proyecto-cta .kw-section-heading .uagb-heading-text { color: #F4F6FB !important; }
body.page .kw-proyecto-cta .kw-section-heading .uagb-desc-text { color: rgba(244,246,251,0.78) !important; }
body.page .kw-proyecto-cta .kw-btn-primary .wp-block-button__link { background: #F8DC38 !important; color: #306A95 !important; border-radius: 999px !important; padding: 14px 28px !important; font-weight: 600 !important; }
body.page .kw-proyecto-cta .kw-btn-primary .wp-block-button__link:hover { background: #FFFFFF !important; }
body.page .kw-proyecto-cta .kw-btn-ghost .wp-block-button__link { background: transparent !important; color: #F4F6FB !important; border: 1px solid rgba(244,246,251,0.4) !important; border-radius: 999px !important; padding: 14px 28px !important; }
body.page .kw-proyecto-cta .kw-btn-ghost .wp-block-button__link:hover { background: rgba(244,246,251,0.1) !important; border-color: #F4F6FB !important; }

/* Cita del proyecto */
body.page .kw-proyecto-cita .kw-cita-grande p { color: #306A95 !important; }
body.page .kw-proyecto-cita .kw-cita-grande cite { color: #4A5878 !important; }

/* Sección Nuestros ejes navy */
body.page .kw-proyecto-ejes .kw-historia-patrono-pilares { max-width: 1180px !important; margin: 56px auto 0 !important; }
body.page .kw-proyecto-ejes .kw-pilar-patrono { background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.1); border-radius: 16px; padding: 32px 24px; height: 100%; }
body.page .kw-proyecto-ejes .kw-pilar-patrono .uagb-pre-heading-text { color: #F8DC38 !important; font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif !important; font-size: 13px !important; }
body.page .kw-proyecto-ejes .kw-pilar-patrono .uagb-heading-text { color: #F4F6FB !important; font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif !important; font-size: 24px !important; line-height: 1.15 !important; }
body.page .kw-proyecto-ejes .kw-pilar-patrono .uagb-desc-text { color: rgba(244,246,251,0.72) !important; font-size: 14px !important; line-height: 1.7 !important; }

/* ============================================================
   PÁGINA CALENDARIO DE EVENTOS · /calendario-de-eventos/  (fase 11, 22-may-2026)
   ============================================================ */

/* Grid de eventos próximos - 3 columnas desktop, 2 tablet, 1 mobile */
body.page .kw-calendario-proximos .kw-eventos-grid {
  max-width: 1180px !important;
  margin: 0 auto 24px !important;
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 24px !important;
  flex-direction: row !important;
}
body.page .kw-calendario-proximos .kw-eventos-grid > .wp-block-column {
  flex: none !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  flex-basis: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Card de evento */
body.page .kw-evento-card {
  padding: 28px 24px !important;
  background: #FFFFFF;
  border: 1px solid #DCE3EE;
  border-radius: 14px;
  border-top: 3px solid #F8DC38;
  height: 100%;
  display: flex;
  flex-direction: column;
  gap: 10px;
  transition: transform 0.3s, box-shadow 0.3s, border-color 0.3s;
}
body.page .kw-evento-card:hover {
  transform: translateY(-4px);
  border-color: #F8DC38;
  box-shadow: 0 12px 32px rgba(248,220,56,0.12);
}
body.page .kw-evento-card .uagb-pre-heading-text {
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: 0.10em !important;
  text-transform: uppercase !important;
  color: #F8DC38 !important;
  margin: 0 !important;
}
body.page .kw-evento-card .uagb-heading-text {
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif !important;
  font-size: 22px !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  color: #306A95 !important;
  margin: 0 !important;
}
body.page .kw-evento-card .uagb-heading-text a {
  color: #306A95 !important;
  text-decoration: none !important;
  transition: color 0.2s !important;
}
body.page .kw-evento-card:hover .uagb-heading-text a {
  color: #F8DC38 !important;
}
body.page .kw-evento-card .uagb-desc-text {
  font-size: 14px !important;
  line-height: 1.6 !important;
  color: #4A5878 !important;
  margin: 0 !important;
}

@media (max-width: 900px) {
  body.page .kw-calendario-proximos .kw-eventos-grid { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 600px) {
  body.page .kw-calendario-proximos .kw-eventos-grid { grid-template-columns: 1fr !important; gap: 16px !important; }
}

/* CTA botón "Ver calendario interactivo" */
body.page .kw-calendario-eventos-cta {
  margin-top: 32px !important;
}
body.page .kw-calendario-eventos-cta .kw-btn-primary .wp-block-button__link {
  background: #F8DC38 !important;
  color: #306A95 !important;
  border-radius: 999px !important;
  padding: 16px 32px !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  text-decoration: none !important;
  transition: all 0.3s !important;
}
body.page .kw-calendario-eventos-cta .kw-btn-primary .wp-block-button__link:hover {
  background: #306A95 !important;
  color: #F8DC38 !important;
  transform: translateY(-2px);
}

/* Trimestres navy */
body.page .kw-calendario-trimestres .kw-historia-patrono-pilares { max-width: 1180px !important; margin: 56px auto 0 !important; }
body.page .kw-calendario-trimestres .kw-trimestre-card {
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 16px;
  padding: 36px 28px;
  height: 100%;
}
body.page .kw-calendario-trimestres .kw-trimestre-card .uagb-pre-heading-text {
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif !important;
  font-size: 12px !important;
  color: #F8DC38 !important;
  letter-spacing: 0.10em !important;
  text-transform: uppercase !important;
}
body.page .kw-calendario-trimestres .kw-trimestre-card .uagb-heading-text {
  color: #F4F6FB !important;
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif !important;
  font-size: 24px !important;
  line-height: 1.15 !important;
}
body.page .kw-calendario-trimestres .kw-trimestre-card .uagb-desc-text {
  color: rgba(244,246,251,0.78) !important;
  font-size: 15px !important;
  line-height: 1.7 !important;
}
body.page .kw-calendario-trimestres .kw-trimestre-card .uagb-desc-text em {
  color: #F8DC38 !important;
  font-style: normal;
}

/* CTA final */
body.page .kw-calendario-cta .kw-section-heading .uagb-pre-heading-text { color: #F8DC38 !important; }
body.page .kw-calendario-cta .kw-section-heading .uagb-heading-text { color: #F4F6FB !important; }
body.page .kw-calendario-cta .kw-section-heading .uagb-desc-text { color: rgba(244,246,251,0.78) !important; }
body.page .kw-calendario-cta .kw-btn-primary .wp-block-button__link {
  background: #F8DC38 !important;
  color: #306A95 !important;
  border-radius: 999px !important;
  padding: 14px 28px !important;
  font-weight: 600 !important;
}
body.page .kw-calendario-cta .kw-btn-primary .wp-block-button__link:hover {
  background: #FFFFFF !important;
}
body.page .kw-calendario-cta .kw-btn-ghost .wp-block-button__link {
  background: transparent !important;
  color: #F4F6FB !important;
  border: 1px solid rgba(244,246,251,0.4) !important;
  border-radius: 999px !important;
  padding: 14px 28px !important;
}
body.page .kw-calendario-cta .kw-btn-ghost .wp-block-button__link:hover {
  background: rgba(244,246,251,0.1) !important;
  border-color: #F4F6FB !important;
}

/* ============================================================
   ESTILOS TEC (vista nativa /events/) — alinear con identidad KW
   ============================================================ */
.tribe-events-pg-template,
.single-tribe_events .ast-container,
.post-type-archive-tribe_events .ast-container {
  max-width: 1280px !important;
  padding: 40px clamp(20px, 5vw, 60px) !important;
}
.tribe-common,
.tribe-events,
.tribe-common-c-btn,
.tribe-events-c-events-bar,
.tribe-events-calendar-month,
.tribe-events-calendar-list {
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif !important;
}
.tribe-common-h1,
.tribe-common-h2,
.tribe-common-h3,
.tribe-common-h4 {
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif !important;
  color: #306A95 !important;
  letter-spacing: -0.01em !important;
}
.tribe-common-c-btn,
.tribe-events .tribe-events-c-events-bar__search-button {
  background: #306A95 !important;
  color: #F4F6FB !important;
  border-radius: 999px !important;
}
.tribe-common-c-btn:hover {
  background: #4E7CDE !important;
}
.tribe-events-calendar-month__day--current {
  background: #F4F6FB !important;
}
.tribe-events-calendar-month__calendar-event-title-link,
.tribe-events-calendar-list__event-title-link {
  color: #306A95 !important;
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif !important;
  text-decoration: none !important;
}
.tribe-events-calendar-month__calendar-event-title-link:hover,
.tribe-events-calendar-list__event-title-link:hover {
  color: #4E7CDE !important;
}

/* ============================================================
   PÁGINA INSTALACIONES · /instalaciones/  (fase 12, 22-may-2026)
   ============================================================ */

/* Grid de espacios - 3 columnas desktop, 2 tablet, 1 mobile */
body.page .kw-instalaciones-espacios .kw-espacios-grid {
  max-width: 1180px !important;
  margin: 0 auto 24px !important;
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 24px !important;
  flex-direction: row !important;
}
body.page .kw-instalaciones-espacios .kw-espacios-grid > .wp-block-column {
  flex: none !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  flex-basis: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.page .kw-espacio-card {
  padding: 32px 28px !important;
  background: #FFFFFF;
  border: 1px solid #DCE3EE;
  border-radius: 16px;
  border-top: 3px solid #4E7CDE;
  height: 100%;
  display: flex;
  flex-direction: column;
  gap: 10px;
  transition: transform 0.3s, box-shadow 0.3s, border-color 0.3s;
}
body.page .kw-espacio-card:hover {
  transform: translateY(-4px);
  border-color: #4E7CDE;
  box-shadow: 0 16px 40px rgba(78,124,222,0.10);
}
body.page .kw-espacio-card .uagb-pre-heading-text {
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif !important;
  font-size: 32px !important;
  font-weight: 400 !important;
  color: #4E7CDE !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  line-height: 1 !important;
  margin: 0 0 4px !important;
}
body.page .kw-espacio-card .uagb-heading-text {
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif !important;
  font-size: 22px !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  color: #306A95 !important;
  margin: 0 !important;
}
body.page .kw-espacio-card .uagb-desc-text {
  font-size: 14px !important;
  line-height: 1.6 !important;
  color: #4A5878 !important;
  margin: 0 !important;
}

@media (max-width: 900px) {
  body.page .kw-instalaciones-espacios .kw-espacios-grid { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 600px) {
  body.page .kw-instalaciones-espacios .kw-espacios-grid { grid-template-columns: 1fr !important; gap: 16px !important; }
}

/* Cocina navy - sección destacada */
body.page .kw-instalaciones-cocina .kw-historia-bloque-texto {
  background: rgba(255,255,255,0.04) !important;
  border-left: 3px solid #F8DC38 !important;
  border-radius: 0 12px 12px 0 !important;
}
body.page .kw-instalaciones-cocina .kw-historia-bloque-texto .uagb-heading-text { color: #FFFFFF !important; }
body.page .kw-instalaciones-cocina .kw-historia-bloque-texto .uagb-desc-text { color: rgba(244,246,251,0.78) !important; }

/* Grid de servicios complementarios - 3 columnas */
body.page .kw-instalaciones-servicios .kw-servicios-grid {
  max-width: 1180px !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 24px !important;
  flex-direction: row !important;
}
body.page .kw-instalaciones-servicios .kw-servicios-grid > .wp-block-column {
  flex: none !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  flex-basis: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.page .kw-servicio-card {
  padding: 32px 28px !important;
  background: #F4F6FB;
  border: 1px solid #DCE3EE;
  border-radius: 16px;
  border-left: 3px solid #F8DC38;
  height: 100%;
  display: flex;
  flex-direction: column;
  gap: 10px;
  transition: transform 0.3s, box-shadow 0.3s;
}
body.page .kw-servicio-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 28px rgba(48,106,149,0.08);
}
body.page .kw-servicio-card .uagb-pre-heading-text {
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: #F8DC38 !important;
  margin: 0 !important;
}
body.page .kw-servicio-card .uagb-heading-text {
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif !important;
  font-size: 22px !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  color: #306A95 !important;
  margin: 0 !important;
}
body.page .kw-servicio-card .uagb-desc-text {
  font-size: 14px !important;
  line-height: 1.6 !important;
  color: #4A5878 !important;
  margin: 0 !important;
}

@media (max-width: 900px) {
  body.page .kw-instalaciones-servicios .kw-servicios-grid { grid-template-columns: 1fr !important; gap: 16px !important; }
}

/* Cita instalaciones */
body.page .kw-instalaciones-cita .kw-cita-grande p { color: #306A95 !important; }
body.page .kw-instalaciones-cita .kw-cita-grande cite { color: #4A5878 !important; }

/* CTA instalaciones */
body.page .kw-instalaciones-cta .kw-section-heading .uagb-pre-heading-text { color: #F8DC38 !important; }
body.page .kw-instalaciones-cta .kw-section-heading .uagb-heading-text { color: #F4F6FB !important; }
body.page .kw-instalaciones-cta .kw-section-heading .uagb-desc-text { color: rgba(244,246,251,0.78) !important; }
body.page .kw-instalaciones-cta .kw-btn-primary .wp-block-button__link {
  background: #F8DC38 !important;
  color: #306A95 !important;
  border-radius: 999px !important;
  padding: 14px 28px !important;
  font-weight: 600 !important;
}
body.page .kw-instalaciones-cta .kw-btn-primary .wp-block-button__link:hover {
  background: #FFFFFF !important;
}
body.page .kw-instalaciones-cta .kw-btn-ghost .wp-block-button__link {
  background: transparent !important;
  color: #F4F6FB !important;
  border: 1px solid rgba(244,246,251,0.4) !important;
  border-radius: 999px !important;
  padding: 14px 28px !important;
}
body.page .kw-instalaciones-cta .kw-btn-ghost .wp-block-button__link:hover {
  background: rgba(244,246,251,0.1) !important;
  border-color: #F4F6FB !important;
}

/* Cifras instalaciones - color amarillo sobre navy */
body.page .kw-instalaciones-cifras .uagb-counter-value,
body.page .kw-instalaciones-cifras .uagb-counter__number-wrap {
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif !important;
  color: #F8DC38 !important;
  font-size: clamp(56px, 7vw, 88px) !important;
  line-height: 1 !important;
  font-variant-numeric: tabular-nums !important;
}
body.page .kw-instalaciones-cifras .uagb-counter-title,
body.page .kw-instalaciones-cifras .uagb-counter__title {
  font-size: 14px !important;
  font-weight: 500 !important;
  color: rgba(244,246,251,0.78) !important;
  line-height: 1.5 !important;
  max-width: 220px !important;
  margin: 0 auto !important;
}
body.page .kw-instalaciones-cifras .kw-cifras-nota { color: rgba(244,246,251,0.55) !important; }



/* ============================================================
   PÁGINA UBICACIÓN · /ubicacion/  (fase 13, 22-may-2026)
   ============================================================ */

/* Grid de contacto - 3 columnas con cards destacadas */
body.page .kw-ubicacion-contacto .kw-contacto-grid {
  max-width: 1180px !important;
  margin: 0 auto 48px !important;
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 24px !important;
  flex-direction: row !important;
}
body.page .kw-ubicacion-contacto .kw-contacto-grid > .wp-block-column {
  flex: none !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  flex-basis: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.page .kw-contacto-card {
  padding: 32px 28px !important;
  background: #F4F6FB;
  border: 1px solid #DCE3EE;
  border-radius: 16px;
  border-left: 3px solid #4E7CDE;
  height: 100%;
  display: flex;
  flex-direction: column;
  gap: 10px;
  transition: transform 0.3s, box-shadow 0.3s, border-color 0.3s;
}
body.page .kw-contacto-card:hover {
  transform: translateY(-3px);
  border-color: #4E7CDE;
  box-shadow: 0 12px 28px rgba(78,124,222,0.10);
}
body.page .kw-contacto-card .uagb-pre-heading-text {
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: #4E7CDE !important;
  margin: 0 !important;
}
body.page .kw-contacto-card .uagb-heading-text {
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif !important;
  font-size: 26px !important;
  font-weight: 400 !important;
  line-height: 1.15 !important;
  color: #306A95 !important;
  margin: 0 !important;
}
body.page .kw-contacto-card .uagb-heading-text a {
  color: #306A95 !important;
  text-decoration: none !important;
  transition: color 0.2s !important;
}
body.page .kw-contacto-card .uagb-heading-text a:hover {
  color: #4E7CDE !important;
}
body.page .kw-contacto-card .uagb-desc-text {
  font-size: 14px !important;
  line-height: 1.6 !important;
  color: #4A5878 !important;
  margin: 0 !important;
}

@media (max-width: 900px) {
  body.page .kw-ubicacion-contacto .kw-contacto-grid { grid-template-columns: 1fr !important; gap: 16px !important; }
}

/* Mapa CTA wrapper */
body.page .kw-mapa-cta-wrapper {
  max-width: 720px !important;
  margin: 48px auto 0 !important;
  padding: 40px 32px !important;
  background: linear-gradient(135deg, #F4F6FB 0%, #FFFFFF 100%);
  border: 1px solid #DCE3EE;
  border-radius: 20px;
  text-align: center;
}
body.page .kw-mapa-cta-heading .uagb-pre-heading-text {
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: #4E7CDE !important;
  margin: 0 0 12px !important;
}
body.page .kw-mapa-cta-heading .uagb-heading-text {
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif !important;
  font-size: 28px !important;
  line-height: 1.15 !important;
  color: #306A95 !important;
  margin: 0 0 12px !important;
}
body.page .kw-mapa-cta-heading .uagb-desc-text {
  font-size: 15px !important;
  color: #4A5878 !important;
  margin: 0 0 24px !important;
}
body.page .kw-mapa-cta-botones {
  display: flex !important;
  gap: 12px !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
}
body.page .kw-mapa-cta-botones .kw-btn-primary .wp-block-button__link {
  background: #F8DC38 !important;
  color: #306A95 !important;
  border-radius: 999px !important;
  padding: 14px 28px !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  text-decoration: none !important;
  transition: all 0.3s !important;
}
body.page .kw-mapa-cta-botones .kw-btn-primary .wp-block-button__link:hover {
  background: #306A95 !important;
  color: #F8DC38 !important;
  transform: translateY(-2px);
}
body.page .kw-mapa-cta-botones .kw-btn-ghost .wp-block-button__link {
  background: transparent !important;
  color: #306A95 !important;
  border: 1px solid #B8C2D6 !important;
  border-radius: 999px !important;
  padding: 14px 28px !important;
  font-weight: 500 !important;
  font-size: 14px !important;
  text-decoration: none !important;
  transition: all 0.3s !important;
}
body.page .kw-mapa-cta-botones .kw-btn-ghost .wp-block-button__link:hover {
  background: #306A95 !important;
  color: #F4F6FB !important;
  border-color: #306A95 !important;
}

/* Cómo llegar - reutiliza patrono-pilares con override navy */
body.page .kw-ubicacion-comollegar .kw-comollegar-grid { max-width: 1180px !important; margin: 56px auto 0 !important; }
body.page .kw-llegar-card {
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 16px;
  padding: 36px 28px;
  height: 100%;
}
body.page .kw-llegar-card .uagb-pre-heading-text {
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif !important;
  font-size: 11px !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: #F8DC38 !important;
  margin: 0 0 12px !important;
}
body.page .kw-llegar-card .uagb-heading-text {
  color: #F4F6FB !important;
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif !important;
  font-size: 22px !important;
  line-height: 1.15 !important;
  margin: 0 0 12px !important;
}
body.page .kw-llegar-card .uagb-desc-text {
  color: rgba(244,246,251,0.78) !important;
  font-size: 14px !important;
  line-height: 1.7 !important;
}

/* Grid de poblaciones - 3 columnas desktop, 2 tablet, 1 mobile */
body.page .kw-ubicacion-zona .kw-poblaciones-grid {
  max-width: 1180px !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 20px !important;
  flex-direction: row !important;
}
body.page .kw-ubicacion-zona .kw-poblaciones-grid > .wp-block-column {
  flex: none !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  flex-basis: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.page .kw-poblacion-card {
  padding: 24px 22px !important;
  background: #FFFFFF;
  border: 1px solid #DCE3EE;
  border-radius: 14px;
  height: 100%;
  display: flex;
  flex-direction: column;
  gap: 8px;
  transition: transform 0.3s, box-shadow 0.3s, border-color 0.3s;
}
body.page .kw-poblacion-card:hover {
  transform: translateY(-3px);
  border-color: #4E7CDE;
  box-shadow: 0 8px 24px rgba(48,106,149,0.08);
}
body.page .kw-poblacion-card .uagb-pre-heading-text {
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: #4E7CDE !important;
  margin: 0 !important;
}
body.page .kw-poblacion-card .uagb-heading-text {
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif !important;
  font-size: 20px !important;
  font-weight: 400 !important;
  line-height: 1.15 !important;
  color: #306A95 !important;
  margin: 0 !important;
}
body.page .kw-poblacion-card .uagb-desc-text {
  font-size: 13px !important;
  line-height: 1.55 !important;
  color: #4A5878 !important;
  margin: 0 !important;
}

@media (max-width: 900px) {
  body.page .kw-ubicacion-zona .kw-poblaciones-grid { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 600px) {
  body.page .kw-ubicacion-zona .kw-poblaciones-grid { grid-template-columns: 1fr !important; gap: 14px !important; }
}

/* Cita ubicación */
body.page .kw-ubicacion-cita .kw-cita-grande p { color: #306A95 !important; }
body.page .kw-ubicacion-cita .kw-cita-grande cite { color: #4A5878 !important; }

/* CTA ubicación */
body.page .kw-ubicacion-cta .kw-section-heading .uagb-pre-heading-text { color: #F8DC38 !important; }
body.page .kw-ubicacion-cta .kw-section-heading .uagb-heading-text { color: #F4F6FB !important; }
body.page .kw-ubicacion-cta .kw-section-heading .uagb-desc-text { color: rgba(244,246,251,0.78) !important; }
body.page .kw-ubicacion-cta .kw-btn-primary .wp-block-button__link {
  background: #F8DC38 !important;
  color: #306A95 !important;
  border-radius: 999px !important;
  padding: 14px 28px !important;
  font-weight: 600 !important;
}
body.page .kw-ubicacion-cta .kw-btn-primary .wp-block-button__link:hover {
  background: #FFFFFF !important;
}
body.page .kw-ubicacion-cta .kw-btn-ghost .wp-block-button__link {
  background: transparent !important;
  color: #F4F6FB !important;
  border: 1px solid rgba(244,246,251,0.4) !important;
  border-radius: 999px !important;
  padding: 14px 28px !important;
}
body.page .kw-ubicacion-cta .kw-btn-ghost .wp-block-button__link:hover {
  background: rgba(244,246,251,0.1) !important;
  border-color: #F4F6FB !important;
}

/* ============================================================
   ETAPAS EDUCATIVAS · BLOQUE HOME  (fase 14, 26-may-2026)
   Estilo replicando la web antigua
   ============================================================ */

body.home .kw-etapas-home-section {
  background: #F4F6FB;
  padding: 80px clamp(20px, 5vw, 60px);
  max-width: none !important;
  width: 100% !important;
  margin: 0 !important;
}
body.home .kw-etapas-home-heading {
  max-width: 800px;
  margin: 0 auto 48px !important;
  text-align: center;
}
body.home .kw-etapas-home-title {
  font-family: var(--kw-font-base) !important;
  font-size: clamp(28px, 4vw, 42px) !important;
  font-weight: 700 !important;
  color: var(--kw-brand-blue) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  margin: 0 0 16px !important;
  text-align: center !important;
  position: relative;
  padding-bottom: 18px;
}
body.home .kw-etapas-home-title::after {
  content: '';
  display: block;
  width: 80px;
  height: 4px;
  background: var(--kw-brand-yellow);
  margin: 18px auto 0;
  border-radius: 2px;
}
body.home .kw-etapas-home-sub {
  font-family: var(--kw-font-base) !important;
  font-size: clamp(15px, 1.6vw, 18px) !important;
  color: #4A5878 !important;
  margin: 0 !important;
}

body.home .kw-etapas-home-grid {
  max-width: 1280px !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: repeat(5, 1fr) !important;
  gap: 20px !important;
  flex-direction: row !important;
}
body.home .kw-etapas-home-grid > .wp-block-column {
  flex: none !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  flex-basis: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.home .kw-etapa-home-card {
  background: #FFFFFF;
  border: 1px solid #DCE3EE;
  border-radius: 6px;
  overflow: hidden;
  height: 100%;
  display: flex;
  flex-direction: column;
  transition: transform 0.35s, box-shadow 0.35s, border-color 0.35s;
  position: relative;
}
body.home .kw-etapa-home-card:hover {
  transform: translateY(-4px);
  border-color: var(--kw-brand-blue);
  box-shadow: 0 12px 32px rgba(78,124,222,0.15);
}
body.home .kw-etapa-home-imglink {
  display: block;
  position: relative;
  overflow: hidden;
  border-bottom: 3px solid var(--kw-brand-blue);
}
body.home .kw-etapa-home-img {
  width: 100%;
  height: clamp(220px, 28vw, 340px);
  object-fit: cover;
  object-position: center top;
  display: block;
  transition: transform 0.45s ease;
}
body.home .kw-etapa-home-card:hover .kw-etapa-home-img {
  transform: scale(1.04);
}

body.home .kw-etapa-home-info {
  padding: 22px 22px 24px !important;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

body.home .kw-etapa-home-edad {
  display: inline-block;
  align-self: flex-start;
  background: var(--kw-brand-yellow);
  color: #1A1A1A;
  font-family: var(--kw-font-base);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 6px 14px;
  border-radius: 999px;
  margin: 0 0 6px !important;
}

body.home .kw-etapa-home-titulo {
  font-family: var(--kw-font-base) !important;
  font-size: 19px !important;
  font-weight: 700 !important;
  color: #1A2540 !important;
  line-height: 1.25 !important;
  margin: 0 0 4px !important;
}

body.home .kw-etapa-home-link {
  margin: 4px 0 0 !important;
}
body.home .kw-etapa-home-link a {
  font-family: var(--kw-font-base);
  font-size: 13px;
  font-weight: 700;
  color: var(--kw-brand-blue);
  letter-spacing: 0.04em;
  text-decoration: none;
  transition: gap 0.2s, color 0.2s;
}
body.home .kw-etapa-home-link a:hover {
  color: var(--kw-brand-dark);
  letter-spacing: 0.08em;
}

@media (max-width: 1100px) {
  body.home .kw-etapas-home-grid {
    grid-template-columns: repeat(3, 1fr) !important;
  }
}
@media (max-width: 700px) {
  body.home .kw-etapas-home-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 14px !important;
  }
  body.home .kw-etapa-home-img {
    height: clamp(180px, 40vw, 260px);
  }
  body.home .kw-etapa-home-info {
    padding: 16px 16px 18px !important;
  }
  body.home .kw-etapa-home-titulo {
    font-size: 16px !important;
  }
}
@media (max-width: 420px) {
  body.home .kw-etapas-home-grid {
    grid-template-columns: 1fr !important;
  }
}

/* ============================================================
   HOME · HERO ESTÁTICO  (fase 15, 26-may-2026)
   ============================================================ */

body.home .kw-home-hero {
  background: linear-gradient(135deg, #F4F6FB 0%, #FFFFFF 60%, #EAF1FF 100%);
  padding: 0 !important;
  max-width: none !important;
  width: 100% !important;
  margin: 0 !important;
  border-bottom: 4px solid var(--kw-brand-yellow);
  position: relative;
  overflow: hidden;
}
body.home .kw-home-hero::before {
  content: '';
  position: absolute;
  right: -120px;
  top: -120px;
  width: 380px;
  height: 380px;
  background: radial-gradient(circle, rgba(78,124,222,0.16) 0%, transparent 70%);
  pointer-events: none;
}
body.home .kw-home-hero::after {
  content: '';
  position: absolute;
  left: -100px;
  bottom: -100px;
  width: 320px;
  height: 320px;
  background: radial-gradient(circle, rgba(248,220,56,0.18) 0%, transparent 70%);
  pointer-events: none;
}
body.home .kw-home-hero-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: clamp(70px, 8vw, 130px) clamp(24px, 5vw, 60px);
  position: relative;
  z-index: 1;
}
body.home .kw-home-hero-content {
  max-width: 820px;
}
body.home .kw-home-hero-eyebrow {
  display: inline-block;
  background: var(--kw-brand-yellow);
  color: #1A1A1A;
  font-family: var(--kw-font-base);
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.10em;
  padding: 8px 18px;
  border-radius: 999px;
  margin-bottom: 28px;
}
body.home .kw-home-hero-title {
  font-family: var(--kw-font-base) !important;
  font-size: clamp(34px, 5.5vw, 64px) !important;
  font-weight: 700 !important;
  line-height: 1.08 !important;
  color: var(--kw-brand-dark) !important;
  margin: 0 0 28px !important;
  letter-spacing: -0.01em;
}
body.home .kw-home-hero-title em {
  font-style: normal;
  color: var(--kw-brand-blue);
}
body.home .kw-home-hero-lead {
  font-family: var(--kw-font-base);
  font-size: clamp(16px, 1.6vw, 19px);
  line-height: 1.6;
  color: #4A5878;
  max-width: 640px;
  margin: 0 0 36px;
}
body.home .kw-home-hero-actions {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  margin-bottom: 28px;
}
body.home .kw-home-hero-btn-primary {
  display: inline-block;
  background: var(--kw-brand-blue);
  color: #FFFFFF !important;
  font-family: var(--kw-font-base);
  font-size: 15px;
  font-weight: 700;
  text-decoration: none;
  padding: 16px 32px;
  border-radius: 999px;
  transition: background 0.25s, transform 0.2s, box-shadow 0.25s;
  box-shadow: 0 6px 20px rgba(78,124,222,0.25);
}
body.home .kw-home-hero-btn-primary:hover {
  background: var(--kw-brand-dark);
  transform: translateY(-2px);
  box-shadow: 0 10px 28px rgba(48,106,149,0.30);
}
body.home .kw-home-hero-btn-ghost {
  display: inline-block;
  background: transparent;
  color: var(--kw-brand-dark) !important;
  font-family: var(--kw-font-base);
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
  padding: 16px 28px;
  border-radius: 999px;
  border: 1.5px solid var(--kw-brand-dark);
  transition: all 0.25s;
}
body.home .kw-home-hero-btn-ghost:hover {
  background: var(--kw-brand-dark);
  color: #FFFFFF !important;
}
body.home .kw-home-hero-meta {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  align-items: center;
  font-family: var(--kw-font-base);
  font-size: 13px;
  color: #4A5878;
  margin-top: 14px;
}
body.home .kw-home-hero-meta strong {
  color: var(--kw-brand-blue);
}

@media (max-width: 600px) {
  body.home .kw-home-hero-title { font-size: 30px !important; }
  body.home .kw-home-hero-actions { flex-direction: column; align-items: stretch; }
  body.home .kw-home-hero-btn-primary,
  body.home .kw-home-hero-btn-ghost { text-align: center; }
}

/* AJUSTE imágenes etapas: centrar */
body.home .kw-etapa-home-img {
  object-position: center center !important;
}

/* Ajuste fino imagen Vita: cara queda fuera con center center → centramos arriba */
body.home .kw-etapa-home-img[src*="Educacion-Secundaria-Vita"] {
  object-position: right top !important;
}

/* ============================================================
   HOME · SERVICIOS EXTRAESCOLARES  (fase 16, 26-may-2026)
   Carrusel scroll-snap CSS + flechas
   ============================================================ */

body.home .kw-servicios-section {
  background: #F4F6FB;
  padding: 80px 0;
  width: 100%;
  position: relative;
}
body.home .kw-servicios-heading {
  max-width: 900px;
  margin: 0 auto 48px;
  text-align: center;
  padding: 0 clamp(20px, 5vw, 60px);
}
body.home .kw-servicios-title {
  font-family: var(--kw-font-base) !important;
  font-size: clamp(28px, 4vw, 42px) !important;
  font-weight: 700 !important;
  color: var(--kw-brand-blue) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  margin: 0 0 16px !important;
  padding-bottom: 18px;
  position: relative;
}
body.home .kw-servicios-title::after {
  content: '';
  display: block;
  width: 80px;
  height: 4px;
  background: var(--kw-brand-yellow);
  margin: 18px auto 0;
  border-radius: 2px;
}
body.home .kw-servicios-sub {
  font-family: var(--kw-font-base);
  font-size: clamp(15px, 1.6vw, 18px);
  color: #4A5878;
  margin: 0;
  line-height: 1.55;
}

body.home .kw-servicios-carousel-wrapper {
  position: relative;
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 clamp(40px, 5vw, 80px);
}
body.home .kw-servicios-carousel {
  display: flex;
  gap: 24px;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  scrollbar-width: none;
  -ms-overflow-style: none;
  padding: 8px 4px 24px;
  -webkit-overflow-scrolling: touch;
}
body.home .kw-servicios-carousel::-webkit-scrollbar { display: none; }

body.home .kw-srv-card {
  flex: 0 0 calc((100% - 48px) / 3);
  scroll-snap-align: start;
  background: #FFFFFF;
  border-radius: 12px;
  overflow: hidden;
  text-decoration: none !important;
  color: inherit;
  display: flex;
  flex-direction: column;
  box-shadow: 0 6px 24px rgba(10,31,68,0.06);
  border: 1px solid #E5EBF5;
  transition: transform 0.35s, box-shadow 0.35s, border-color 0.35s;
}
body.home .kw-srv-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 18px 40px rgba(78,124,222,0.18);
  border-color: var(--kw-brand-blue);
}
body.home .kw-srv-card-img-wrap {
  position: relative;
  overflow: hidden;
  aspect-ratio: 16/10;
  background: #E5EBF5;
}
body.home .kw-srv-card-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  display: block;
  transition: transform 0.45s ease;
}
body.home .kw-srv-card:hover .kw-srv-card-img { transform: scale(1.05); }

body.home .kw-srv-card-info {
  padding: 22px 22px 24px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  flex: 1;
}
body.home .kw-srv-card-badge {
  display: inline-block;
  align-self: flex-start;
  background: var(--kw-brand-blue);
  color: #FFFFFF;
  font-family: var(--kw-font-base);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.04em;
  padding: 6px 16px;
  border-radius: 999px;
}
body.home .kw-srv-card-title {
  font-family: var(--kw-font-base) !important;
  font-size: 19px !important;
  font-weight: 700 !important;
  color: #1A2540 !important;
  line-height: 1.25 !important;
  margin: 4px 0 0 !important;
}
body.home .kw-srv-card-link {
  font-family: var(--kw-font-base);
  font-size: 13px;
  font-weight: 700;
  color: var(--kw-brand-blue);
  letter-spacing: 0.04em;
  margin-top: 4px;
  transition: letter-spacing 0.2s, color 0.2s;
}
body.home .kw-srv-card:hover .kw-srv-card-link {
  color: var(--kw-brand-dark);
  letter-spacing: 0.08em;
}

/* Flechas del carrusel */
body.home .kw-srv-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: #FFFFFF;
  border: 1px solid #D8DFEC;
  color: var(--kw-brand-dark);
  font-size: 30px;
  line-height: 1;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 16px rgba(10,31,68,0.10);
  transition: background 0.25s, color 0.25s, transform 0.2s, border-color 0.25s;
  z-index: 5;
  padding: 0;
  font-family: var(--kw-font-base);
  font-weight: 300;
}
body.home .kw-srv-arrow:hover {
  background: var(--kw-brand-blue);
  color: #FFFFFF;
  border-color: var(--kw-brand-blue);
  transform: translateY(-50%) scale(1.08);
}
body.home .kw-srv-arrow-prev { left: 4px; }
body.home .kw-srv-arrow-next { right: 4px; }
body.home .kw-srv-arrow:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}

@media (max-width: 1100px) {
  body.home .kw-srv-card {
    flex: 0 0 calc((100% - 24px) / 2);
  }
}
@media (max-width: 700px) {
  body.home .kw-servicios-section { padding: 64px 0; }
  body.home .kw-servicios-carousel-wrapper { padding: 0 24px; }
  body.home .kw-srv-card { flex: 0 0 calc(100% - 16px); }
  body.home .kw-srv-arrow { width: 40px; height: 40px; font-size: 24px; }
  body.home .kw-srv-arrow-prev { left: -4px; }
  body.home .kw-srv-arrow-next { right: -4px; }
}

/* ============================================================
   ANTI-CURSIVA GLOBAL  (fase 17, 26-may-2026)
   Forzar font-style: normal en todos los elementos
   ============================================================ */
body em, body i, body cite,
body h1 em, body h2 em, body h3 em, body h4 em, body h5 em, body h6 em,
body blockquote, body blockquote p,
body .kw-cita-grande, body .kw-cita-grande p,
body .uagb-heading-text em, body .uagb-desc-text em,
body .kw-marquee-item, body .kw-hero-title em,
body .kw-home-hero-title em,
body .kw-footer-tagline em {
  font-style: normal !important;
}

/* ============================================================
   HOME · HERO con IMAGEN DE FONDO  (fase 18, 26-may-2026)
   Overlay azul oscuro semi-transparente + texto blanco
   ============================================================ */
body.home .kw-home-hero {
  background:
    linear-gradient(135deg, rgba(48,106,149,0.78) 0%, rgba(48,106,149,0.62) 55%, rgba(78,124,222,0.58) 100%),
    url('/wp-content/uploads/2026/05/home-hero-alumnos-colegio.jpg') !important;
  background-size: cover, cover !important;
  background-position: center center, center center !important;
  background-repeat: no-repeat, no-repeat !important;
  border-bottom: 4px solid var(--kw-brand-yellow);
  position: relative;
  overflow: hidden;
}
/* Quitar las decoraciones glow originales (sobran con la imagen) */
body.home .kw-home-hero::before,
body.home .kw-home-hero::after {
  display: none !important;
}

/* Texto blanco sobre la imagen */
body.home .kw-home-hero-title {
  color: #FFFFFF !important;
  text-shadow: 0 2px 18px rgba(0,0,0,0.25);
}
body.home .kw-home-hero-title em {
  color: var(--kw-brand-yellow) !important;
  font-style: normal !important;
}
body.home .kw-home-hero-lead {
  color: rgba(255,255,255,0.94) !important;
  text-shadow: 0 1px 12px rgba(0,0,0,0.20);
}
body.home .kw-home-hero-eyebrow {
  background: var(--kw-brand-yellow) !important;
  color: #1A1A1A !important;
  box-shadow: 0 4px 16px rgba(0,0,0,0.15);
}

/* Botón primario sigue siendo azul */
body.home .kw-home-hero-btn-primary {
  background: var(--kw-brand-yellow) !important;
  color: #1A2540 !important;
  box-shadow: 0 6px 24px rgba(0,0,0,0.20);
}
body.home .kw-home-hero-btn-primary:hover {
  background: #FFFFFF !important;
  color: var(--kw-brand-dark) !important;
}

/* Botón ghost ahora con borde blanco */
body.home .kw-home-hero-btn-ghost {
  color: #FFFFFF !important;
  border: 1.5px solid rgba(255,255,255,0.7) !important;
  background: rgba(255,255,255,0.06) !important;
  backdrop-filter: blur(2px);
}
body.home .kw-home-hero-btn-ghost:hover {
  background: #FFFFFF !important;
  color: var(--kw-brand-dark) !important;
  border-color: #FFFFFF !important;
}

body.home .kw-home-hero-meta {
  color: rgba(255,255,255,0.85) !important;
}
body.home .kw-home-hero-meta strong {
  color: var(--kw-brand-yellow) !important;
}

/* Mobile: imagen ligeramente desplazada y padding mayor */
@media (max-width: 700px) {
  body.home .kw-home-hero {
    background-position: 70% center, 70% center !important;
  }
}

/* Logo header responsive (fase 19, 26-may-2026) */
@media (max-width: 768px) {
  .custom-logo { max-height: 60px !important; width: auto !important; height: auto !important; }
  .ast-site-header-wrap, .site-header .ast-flex { min-height: 76px; }
}

/* ============================================================ */
/* HOME · RED DE COLEGIOS DIOCESANOS (fase 20, 26-may-2026)      */
/* ============================================================ */
.kw-red-diocesana-section {
  background: #FFFFFF;
  padding: 96px 24px 80px;
  position: relative;
}
.kw-red-diocesana-section::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(48,106,149,0.18), transparent);
}
.kw-red-diocesana-inner {
  max-width: 1200px;
  margin: 0 auto;
}
.kw-red-diocesana-header {
  text-align: center;
  max-width: 760px;
  margin: 0 auto 56px;
}
.kw-red-diocesana-eyebrow {
  display: inline-block;
  font-family: var(--kw-font-base, "Segoe UI", system-ui, sans-serif);
  font-size: 13px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #306A95;
  background: #F8DC38;
  padding: 6px 16px;
  border-radius: 999px;
  margin: 0 0 18px;
  font-weight: 700;
}
.kw-red-diocesana-title {
  font-family: var(--kw-font-base, "Segoe UI", system-ui, sans-serif);
  font-size: clamp(32px, 4.4vw, 52px);
  line-height: 1.05;
  margin: 0 0 22px;
  color: #1E2A3A;
  font-weight: 700;
}
.kw-red-diocesana-title em {
  color: #4E7CDE;
  font-style: normal !important;
  position: relative;
  display: inline-block;
}
.kw-red-diocesana-title em::after {
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: -4px;
  height: 8px;
  background: #F8DC38;
  z-index: -1;
  border-radius: 4px;
}
.kw-red-diocesana-sub {
  font-family: var(--kw-font-base, "Segoe UI", system-ui, sans-serif);
  font-size: 17px;
  line-height: 1.65;
  color: #4A5666;
  margin: 0;
}

/* Grid */
.kw-red-diocesana-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 24px;
  align-items: stretch;
}
.kw-red-diocesana-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  text-align: center;
  text-decoration: none;
  background: #F8F9FB;
  border: 1px solid rgba(48,106,149,0.10);
  border-radius: 18px;
  padding: 22px 14px 18px;
  transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease, background 0.35s ease;
  min-height: 100%;
}
.kw-red-diocesana-item:hover,
.kw-red-diocesana-item:focus-visible {
  transform: translateY(-6px);
  box-shadow: 0 18px 38px rgba(48,106,149,0.16);
  border-color: rgba(78,124,222,0.30);
  background: #FFFFFF;
  outline: none;
}
.kw-red-diocesana-logo {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 88px;
  margin-bottom: 14px;
}
.kw-red-diocesana-logo img {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
  filter: grayscale(100%);
  opacity: 0.78;
  transition: filter 0.35s ease, opacity 0.35s ease, transform 0.35s ease;
}
.kw-red-diocesana-item:hover .kw-red-diocesana-logo img,
.kw-red-diocesana-item:focus-visible .kw-red-diocesana-logo img {
  filter: grayscale(0%);
  opacity: 1;
  transform: scale(1.04);
}
.kw-red-diocesana-name {
  font-family: var(--kw-font-base, "Segoe UI", system-ui, sans-serif);
  font-size: 13.5px;
  font-weight: 700;
  color: #1E2A3A;
  line-height: 1.25;
  margin-bottom: 2px;
}
.kw-red-diocesana-city {
  font-family: var(--kw-font-base, "Segoe UI", system-ui, sans-serif);
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #4E7CDE;
  font-weight: 600;
}
.kw-red-diocesana-foot {
  text-align: center;
  margin: 48px auto 0;
  max-width: 720px;
  font-family: var(--kw-font-base, "Segoe UI", system-ui, sans-serif);
  font-size: 14px;
  color: #6B7785;
  line-height: 1.6;
}

/* Tablet */
@media (max-width: 1023px) {
  .kw-red-diocesana-section { padding: 80px 20px 64px; }
  .kw-red-diocesana-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
  .kw-red-diocesana-header { margin-bottom: 40px; }
}

/* Mobile */
@media (max-width: 600px) {
  .kw-red-diocesana-section { padding: 64px 16px 48px; }
  .kw-red-diocesana-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
  .kw-red-diocesana-item { padding: 18px 10px 14px; border-radius: 14px; }
  .kw-red-diocesana-logo { height: 72px; margin-bottom: 10px; }
  .kw-red-diocesana-name { font-size: 12.5px; }
  .kw-red-diocesana-city { font-size: 11px; }
  .kw-red-diocesana-foot { margin-top: 32px; font-size: 13px; }
}


/* ============================================================ */
/* HOME · NOTICIAS GRID (fase 21, 26-may-2026)                  */
/* ============================================================ */
.kw-section--noticias { padding: 100px 24px !important; }
.kw-section--noticias > div:first-child {
  max-width: 1200px;
  margin: 0 auto 56px;
  display: flex;
}
.kw-section--noticias .kw-noticias-grid {
  max-width: 1200px;
  margin: 0 auto;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 28px !important;
}
.kw-section--noticias .kw-noticias-grid > article {
  display: flex !important;
  flex-direction: column !important;
  background: #FFFFFF;
  border: 1px solid rgba(48,106,149,0.10);
  border-radius: 18px;
  overflow: hidden;
  transition: transform .3s ease, box-shadow .3s ease;
}
.kw-section--noticias .kw-noticias-grid > article:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 36px rgba(48,106,149,0.15);
}
.kw-section--noticias .kw-noticias-grid .uagb-post__image {
  width: 100% !important;
  margin: 0 !important;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: #F4F6FB;
}
.kw-section--noticias .kw-noticias-grid .uagb-post__image a,
.kw-section--noticias .kw-noticias-grid .uagb-post__image > div {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
}
.kw-section--noticias .kw-noticias-grid .uagb-post__image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  transition: transform .5s ease;
}
.kw-section--noticias .kw-noticias-grid > article:hover .uagb-post__image img {
  transform: scale(1.05);
}
.kw-section--noticias .kw-noticias-grid .uagb-post__text {
  padding: 24px 22px 26px !important;
  flex: 1;
  display: flex;
  flex-direction: column;
}
.kw-section--noticias .kw-noticias-grid .uagb-post__title {
  font-family: var(--kw-font-base, "Segoe UI", system-ui, sans-serif) !important;
  font-size: 21px !important;
  line-height: 1.25 !important;
  font-weight: 700 !important;
  margin: 0 0 12px !important;
  color: #1E2A3A !important;
}
.kw-section--noticias .kw-noticias-grid .uagb-post__title a {
  color: inherit !important;
  text-decoration: none !important;
}
.kw-section--noticias .kw-noticias-grid .uagb-post__title a:hover { color: #4E7CDE !important; }
.kw-section--noticias .kw-noticias-grid .uagb-post__meta {
  font-size: 12.5px !important;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #4E7CDE !important;
  margin-bottom: 10px !important;
  font-weight: 600;
}
.kw-section--noticias .kw-noticias-grid .uagb-post__excerpt {
  font-size: 14.5px !important;
  line-height: 1.6 !important;
  color: #4A5666 !important;
  margin: 0 0 18px !important;
}
.kw-section--noticias .kw-noticias-grid .uagb-post__cta,
.kw-section--noticias .kw-noticias-grid .uagb-post__cta a {
  margin-top: auto !important;
  font-size: 13.5px !important;
  font-weight: 700;
  color: #306A95 !important;
  text-decoration: none !important;
  letter-spacing: 0.04em;
}
.kw-section--noticias .kw-noticias-grid .uagb-post__cta a:hover { color: #4E7CDE !important; }
@media (max-width: 900px) {
  .kw-section--noticias .kw-noticias-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 20px !important; }
}
@media (max-width: 600px) {
  .kw-section--noticias { padding: 64px 16px !important; }
  .kw-section--noticias .kw-noticias-grid { grid-template-columns: 1fr !important; }
}


/* ============================================================ */
/* SINGLE POST · EDITORIAL PRO LAYOUT (fase 22, 26-may-2026)    */
/* ============================================================ */
body.single-post { background: #F2F5FB !important; }
body.single-post .site-content { padding: 0 !important; }
body.single-post .site-content > .ast-container,
body.single-post .ast-container {
  max-width: 1200px !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
  padding-top: 56px !important;
  padding-bottom: 56px !important;
}
body.single-post #primary { width: 100% !important; float: none !important; }
body.single-post #secondary { display: none !important; }

/* ─── Banner imagen destacada (hero) ───────────────────────── */
body.single-post .ast-single-post-banner,
body.single-post .ast-single-post-banner-wrap,
body.single-post .ast-narrow-container,
body.single-post .ast-dynamic-single-post-banner {
  max-width: 1152px !important;
  margin: 0 auto 0 !important;
  padding: 0 !important;
  background: transparent !important;
}
body.single-post .ast-article-image-container,
body.single-post .post-thumb,
body.single-post .ast-article-image-container-new {
  max-width: 1152px !important;
  margin: 0 auto !important;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border-radius: 24px 24px 0 0;
  background: #E8EDF5;
  position: relative;
  z-index: 1;
}
body.single-post .ast-article-image-container img,
body.single-post .wp-post-image {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 0 !important;
}

/* ─── Card blanca con padding generoso ─────────────────────── */
body.single-post .ast-article-single {
  max-width: 1152px !important;
  margin: -1px auto 0 !important;
  background: #FFFFFF !important;
  border-radius: 0 0 24px 24px !important;
  box-shadow: 0 24px 60px -20px rgba(48,106,149,0.18), 0 2px 8px rgba(48,106,149,0.04) !important;
  padding: 64px clamp(32px, 6vw, 96px) 80px !important;
  position: relative;
  z-index: 2;
}

/* Si no hay imagen destacada */
body.single-post.ast-no-thumbnail .ast-article-single {
  border-radius: 24px !important;
  margin-top: 0 !important;
}

/* ─── Cabecera del artículo ────────────────────────────────── */
body.single-post .entry-header,
body.single-post .ast-single-post-header {
  max-width: 820px;
  margin: 0 auto 40px !important;
  padding: 0 !important;
  text-align: left;
  border: none !important;
}
body.single-post .entry-title,
body.single-post .ast-single-post-banner h1 {
  font-family: var(--kw-font-base, "Segoe UI", system-ui, sans-serif) !important;
  font-size: clamp(30px, 4vw, 46px) !important;
  line-height: 1.12 !important;
  font-weight: 700 !important;
  color: #1E2A3A !important;
  margin: 0 0 18px !important;
  letter-spacing: -0.01em;
}
body.single-post .entry-meta,
body.single-post .post-meta,
body.single-post .ast-single-post-meta {
  font-family: var(--kw-font-base, "Segoe UI", system-ui, sans-serif) !important;
  font-size: 12.5px !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: #4E7CDE !important;
  font-weight: 700 !important;
  margin: 0 !important;
}
body.single-post .entry-meta a,
body.single-post .post-meta a { color: inherit !important; text-decoration: none !important; }
body.single-post .entry-meta .posted-on::before,
body.single-post .post-meta .posted-on::before { content: ""; display: inline-block; width: 24px; height: 1px; background: #F8DC38; margin-right: 12px; vertical-align: middle; }

/* Ocultar autor "Por /" si solo se usa fecha */
body.single-post .ast-author-name,
body.single-post .vcard.author { display: none !important; }

/* ─── Contenido ────────────────────────────────────────────── */
body.single-post .entry-content {
  max-width: 820px !important;
  margin: 0 auto !important;
  font-family: var(--kw-font-base, "Segoe UI", system-ui, sans-serif) !important;
  font-size: 18px !important;
  line-height: 1.78 !important;
  color: #2D3848 !important;
}
body.single-post .entry-content > * { margin: 0 0 24px !important; }
body.single-post .entry-content > *:last-child { margin-bottom: 0 !important; }
body.single-post .entry-content p { margin: 0 0 24px !important; }
body.single-post .entry-content p:first-of-type::first-letter {
  font-size: 56px;
  font-weight: 700;
  color: #4E7CDE;
  float: left;
  line-height: 0.95;
  padding: 6px 12px 0 0;
}
body.single-post .entry-content h2 {
  font-size: clamp(24px, 2.6vw, 32px) !important;
  font-weight: 700 !important;
  color: #1E2A3A !important;
  margin: 48px 0 18px !important;
  line-height: 1.2 !important;
  position: relative;
  padding-left: 18px;
}
body.single-post .entry-content h2::before {
  content: ""; position: absolute; left: 0; top: 8px; bottom: 8px; width: 4px;
  background: #F8DC38; border-radius: 4px;
}
body.single-post .entry-content h3 {
  font-size: clamp(20px, 2.2vw, 24px) !important;
  font-weight: 700 !important;
  color: #306A95 !important;
  margin: 36px 0 14px !important;
  line-height: 1.3 !important;
}
body.single-post .entry-content a {
  color: #4E7CDE !important;
  text-decoration: underline !important;
  text-underline-offset: 3px;
  text-decoration-thickness: 1.5px;
}
body.single-post .entry-content a:hover { color: #306A95 !important; }
body.single-post .entry-content blockquote {
  background: #F4F6FB;
  border-left: 4px solid #F8DC38 !important;
  padding: 24px 28px !important;
  margin: 32px 0 !important;
  border-radius: 0 12px 12px 0 !important;
  font-size: 19px !important;
  color: #306A95 !important;
  font-style: normal !important;
  font-weight: 500;
}
body.single-post .entry-content blockquote p { margin: 0 !important; }
body.single-post .entry-content ul,
body.single-post .entry-content ol { padding-left: 24px; margin: 0 0 24px !important; }
body.single-post .entry-content li { margin-bottom: 10px; }
body.single-post .entry-content li::marker { color: #4E7CDE; }
body.single-post .entry-content img:not(.wp-post-image) {
  border-radius: 16px;
  margin: 12px 0 !important;
}
body.single-post .entry-content figure { margin: 32px 0 !important; }
body.single-post .entry-content figcaption {
  text-align: center;
  font-size: 14px;
  color: #6B7785;
  margin-top: 12px;
}

/* ─── Footer del post (etiquetas/categorías/comentarios) ───── */
body.single-post .entry-footer {
  max-width: 820px;
  margin: 56px auto 0 !important;
  padding: 28px 0 0 !important;
  border-top: 1px solid #E5EBF2;
  font-size: 13.5px;
  color: #6B7785;
}
body.single-post .comments-area {
  max-width: 820px;
  margin: 40px auto 0;
  padding: 28px 0 0;
  border-top: 1px solid #E5EBF2;
}


/* ─── Mobile ───────────────────────────────────────────────── */
@media (max-width: 900px) {
  body.single-post .ast-container { padding: 32px 16px !important; }
  body.single-post .ast-article-image-container { border-radius: 16px 16px 0 0; }
  body.single-post .ast-article-single { padding: 40px 24px 56px !important; border-radius: 0 0 16px 16px !important; }
}
@media (max-width: 600px) {
  body.single-post .ast-container { padding: 20px 12px !important; }
  body.single-post .ast-article-image-container { border-radius: 14px 14px 0 0; }
  body.single-post .ast-article-single { padding: 32px 20px 48px !important; border-radius: 0 0 14px 14px !important; }
  body.single-post .entry-title { font-size: 26px !important; }
  body.single-post .entry-content { font-size: 16.5px !important; }
  body.single-post .entry-content p:first-of-type::first-letter { font-size: 44px; padding: 4px 10px 0 0; }
  body.single-post .entry-meta, body.single-post .post-meta { font-size: 11.5px !important; }
}


/* ============================================================ */
/* SINGLE POST · OVERRIDE FIX (fase 22b, 26-may-2026)           */
/* La imagen está DENTRO de .ast-article-single                 */
/* ============================================================ */
body.single-post .ast-article-single {
  padding: 0 !important;
  overflow: hidden;
  border-radius: 24px !important;
  background: #FFFFFF !important;
  box-shadow: 0 24px 60px -20px rgba(48,106,149,0.18), 0 2px 8px rgba(48,106,149,0.04) !important;
}
body.single-post .single-layout-1,
body.single-post .ast-post-format- { padding: 0 !important; }
body.single-post .entry-header {
  margin: 0 !important;
  padding: 0 !important;
  max-width: none !important;
}
body.single-post .post-thumb-img-content,
body.single-post .post-thumb {
  margin: 0 !important;
  padding: 0 !important;
  aspect-ratio: 16 / 9;
  width: 100% !important;
  overflow: hidden;
  background: #E8EDF5;
  border-radius: 0 !important;
  display: block !important;
  position: relative;
}
body.single-post .post-thumb a {
  display: block; width: 100%; height: 100%;
}
body.single-post .post-thumb img,
body.single-post .wp-post-image {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 0 !important;
  position: absolute; inset: 0;
}
body.single-post .entry-header > .entry-title,
body.single-post .entry-header > h1,
body.single-post .entry-header > .entry-meta,
body.single-post .entry-header > .ast-single-post-meta,
body.single-post .entry-header > .post-meta {
  padding-left: clamp(28px, 6vw, 96px) !important;
  padding-right: clamp(28px, 6vw, 96px) !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  text-align: left !important;
}
body.single-post .entry-header > .entry-title,
body.single-post .entry-header > h1 {
  padding-top: 56px !important;
  margin-bottom: 14px !important;
}
body.single-post .entry-header > .entry-meta,
body.single-post .entry-header > .post-meta,
body.single-post .entry-header > .ast-single-post-meta {
  padding-bottom: 36px !important;
  margin-bottom: 36px !important;
  border-bottom: 1px solid #E5EBF2;
}
body.single-post .entry-content {
  padding-left: clamp(28px, 6vw, 96px) !important;
  padding-right: clamp(28px, 6vw, 96px) !important;
  padding-bottom: 80px !important;
  max-width: 100% !important;
  margin: 0 !important;
}
body.single-post .entry-content > * { max-width: 760px !important; margin-left: auto !important; margin-right: auto !important; }
body.single-post .entry-content > figure,
body.single-post .entry-content > .wp-block-image,
body.single-post .entry-content > .wp-block-uagb-image,
body.single-post .entry-content > .alignwide { max-width: 920px !important; }
body.single-post .entry-content > .alignfull {
  max-width: none !important;
  margin-left: calc(50% - 50vw + 12px) !important;
  margin-right: calc(50% - 50vw + 12px) !important;
}
body.single-post .entry-footer,
body.single-post .comments-area {
  padding: 36px clamp(28px, 6vw, 96px) 40px !important;
  margin: 0 !important;
  max-width: 100% !important;
  border-top: 1px solid #E5EBF2;
}
body.single-post .entry-footer > *,
body.single-post .comments-area > * { max-width: 760px; margin-left: auto; margin-right: auto; }

/* Anular drop cap si no hace falta */
body.single-post .entry-content > p:first-of-type::first-letter {
  font-size: 56px;
  font-weight: 700;
  color: #4E7CDE;
  float: left;
  line-height: 0.95;
  padding: 6px 12px 0 0;
}

@media (max-width: 900px) {
  body.single-post .entry-header > .entry-title,
  body.single-post .entry-header > h1 { padding-top: 36px !important; font-size: 30px !important; }
  body.single-post .entry-header > .entry-title,
  body.single-post .entry-header > .entry-meta,
  body.single-post .entry-header > .post-meta,
  body.single-post .entry-content,
  body.single-post .entry-footer,
  body.single-post .comments-area {
    padding-left: 28px !important;
    padding-right: 28px !important;
  }
  body.single-post .entry-content { padding-bottom: 56px !important; }
}
@media (max-width: 600px) {
  body.single-post .ast-article-single { border-radius: 16px !important; }
  body.single-post .entry-header > .entry-title,
  body.single-post .entry-header > h1 { padding-top: 28px !important; font-size: 25px !important; }
  body.single-post .entry-header > .entry-title,
  body.single-post .entry-header > .entry-meta,
  body.single-post .entry-header > .post-meta,
  body.single-post .entry-content,
  body.single-post .entry-footer,
  body.single-post .comments-area {
    padding-left: 22px !important;
    padding-right: 22px !important;
  }
  body.single-post .entry-content { font-size: 16.5px !important; padding-bottom: 48px !important; }
  body.single-post .entry-content > p:first-of-type::first-letter { font-size: 42px; padding: 4px 10px 0 0; }
}

/* SINGLE POST · HIDE POR PREFIX */
body.single-post .entry-meta .byline,
body.single-post .entry-meta .ast-prefix-name,
body.single-post .post-meta .byline,
body.single-post .ast-author-details,
body.single-post .entry-meta .ast-author-box { display: none !important; }
body.single-post .entry-meta > span:first-child:not(.posted-on) { display: none !important; }

/* SINGLE POST · CLEAN META (oculta Por y /) */
body.single-post .entry-meta { font-size: 0 !important; }
body.single-post .entry-meta .posted-by, body.single-post .entry-meta .ast-author-box, body.single-post .entry-meta .vcard.author { display: none !important; }
body.single-post .entry-meta .posted-on { font-size: 12.5px !important; letter-spacing: 0.12em; text-transform: uppercase; color: #4E7CDE !important; font-weight: 700; }
body.single-post .entry-meta .posted-on::before { content: ""; display: inline-block; width: 28px; height: 1px; background: #F8DC38; margin-right: 14px; vertical-align: middle; }

/* ============================================================ */
/* SINGLE POST · SCOPE FIX (fase 22c, 26-may-2026)              */
/* Anula el padding del .ast-container del HEADER y del FOOTER  */
/* y solo lo aplica al .ast-container del contenido principal   */
/* ============================================================ */
body.single-post header.site-header .ast-container,
body.single-post header.site-header .main-header-bar,
body.single-post header.site-header .site-primary-header-wrap,
body.single-post footer.site-footer .ast-container,
body.single-post .site-footer .ast-container {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  max-width: none !important;
}
body.single-post header.site-header .main-header-bar > .ast-container,
body.single-post header.site-header .ast-builder-grid-row-container.ast-container {
  max-width: var(--ast-content-width, 1200px) !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
}

/* ============================================================ */
/* FOOTER · REDISEÑO 3 COLS (fase 23, 26-may-2026)              */
/* ============================================================ */
.kw-footer-custom { background: #1E2A3A !important; color: #C9D2E0; padding: 80px 32px 24px !important; position: relative; font-family: var(--kw-font-base, "Segoe UI", system-ui, sans-serif) !important; overflow: hidden; }
.kw-footer-custom * { font-family: var(--kw-font-base, "Segoe UI", system-ui, sans-serif) !important; }
.kw-footer-custom a { color: #C9D2E0; text-decoration: none; transition: color .2s ease; }
.kw-footer-custom a:hover { color: #F8DC38; }

/* Grid 3 columnas */
.kw-footer-custom .kw-footer-grid { display: grid !important; grid-template-columns: 1.1fr 1.2fr 0.8fr !important; gap: 56px !important; max-width: 1240px; margin: 0 auto 56px; }
.kw-footer-col { min-width: 0; }

/* Headings con barra amarilla */
.kw-footer-custom .kw-footer-heading { font-size: 16px !important; font-weight: 700 !important; color: #FFFFFF !important; text-transform: uppercase; letter-spacing: 0.08em; margin: 0 0 28px !important; padding-bottom: 12px; position: relative; line-height: 1.3; }
.kw-footer-custom .kw-footer-heading--bar::after { content: ""; position: absolute; left: 0; bottom: 0; width: 52px; height: 3px; background: #F8DC38; border-radius: 2px; }
.kw-footer-custom .kw-footer-heading--bar::before { content: ""; position: absolute; left: 0; bottom: 0; width: 100%; height: 1px; background: rgba(255,255,255,0.10); }

/* ─── Col 1: Identidad ─── */
.kw-footer-col--brand { }
.kw-footer-desc { font-size: 14.5px !important; line-height: 1.7 !important; margin: 0 0 20px !important; color: #B0BCCC; }
.kw-footer-desc strong { color: #E5EBF2; font-weight: 600; }
.kw-footer-contact { font-size: 14px !important; line-height: 1.85 !important; margin: 0 0 24px !important; color: #C9D2E0; }
.kw-footer-label { color: #F8DC38; font-weight: 600; font-size: 12.5px; text-transform: uppercase; letter-spacing: 0.04em; }
.kw-footer-contact a { color: #C9D2E0; }
.kw-footer-contact a:hover { color: #F8DC38; }
.kw-footer-redes { display: flex; gap: 10px; margin: 0 0 24px !important; }
.kw-footer-redes-icon { display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; border-radius: 50%; background: rgba(255,255,255,0.08); color: #FFFFFF !important; border: 1px solid rgba(255,255,255,0.10); transition: background .25s ease, transform .25s ease, border-color .25s ease, color .25s ease; }
.kw-footer-redes-icon:hover { background: #F8DC38; color: #1E2A3A !important; transform: translateY(-2px); border-color: #F8DC38; }
.kw-footer-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 14px 26px !important; font-size: 14px !important; font-weight: 700 !important; text-decoration: none !important; border-radius: 999px !important; transition: transform .2s ease, box-shadow .2s ease; letter-spacing: 0.02em; }
.kw-footer-btn--yellow { background: #F8DC38 !important; color: #1E2A3A !important; box-shadow: 0 6px 20px -8px rgba(248,220,56,0.55); }
.kw-footer-btn--yellow:hover { background: #FFE656 !important; color: #1E2A3A !important; transform: translateY(-2px); }

/* ─── Col 2: Noticias ─── */
.kw-footer-news { list-style: none !important; padding: 0 !important; margin: 0 0 18px !important; display: flex; flex-direction: column; gap: 12px; }
.kw-footer-news-item { padding: 0; margin: 0; }
.kw-footer-news-link { display: grid !important; grid-template-columns: 64px 1fr; gap: 14px; align-items: center; padding: 14px !important; background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.08); border-radius: 14px; transition: background .25s ease, border-color .25s ease, transform .25s ease; }
.kw-footer-news-link:hover { background: rgba(78,124,222,0.16); border-color: rgba(78,124,222,0.40); transform: translateY(-2px); }
.kw-footer-news-date { background: #4E7CDE; color: #FFFFFF; border-radius: 10px; padding: 8px 4px; display: flex; flex-direction: column; align-items: center; justify-content: center; line-height: 1; min-height: 64px; }
.kw-fn-day { font-size: 22px; font-weight: 800; }
.kw-fn-mon { font-size: 11px; text-transform: uppercase; letter-spacing: 0.06em; margin-top: 4px; opacity: 0.95; }
.kw-fn-year { font-size: 10px; text-transform: uppercase; letter-spacing: 0.05em; margin-top: 3px; opacity: 0.8; }
.kw-footer-news-title { font-size: 14px !important; font-weight: 600 !important; color: #E5EBF2 !important; line-height: 1.35; text-transform: uppercase; letter-spacing: 0.02em; }
.kw-footer-news-link:hover .kw-footer-news-title { color: #FFFFFF !important; }
.kw-footer-news-skeleton { display: block; height: 84px; background: rgba(255,255,255,0.04); border-radius: 14px; border: 1px solid rgba(255,255,255,0.05); animation: kwFnSkel 1.4s ease-in-out infinite alternate; }
@keyframes kwFnSkel { from { opacity: 0.55; } to { opacity: 1; } }
.kw-footer-news-empty { font-size: 14px; color: #8B97A7; padding: 16px; background: rgba(255,255,255,0.04); border-radius: 14px; text-align: center; }
.kw-footer-news-all { display: inline-block; font-size: 13px !important; color: #F8DC38 !important; font-weight: 700; letter-spacing: 0.04em; margin-top: 4px; }
.kw-footer-news-all:hover { color: #FFE656 !important; }

/* ─── Col 3: Menú ─── */
.kw-footer-links { list-style: none !important; padding: 0 !important; margin: 0 !important; }
.kw-footer-links li { padding: 0 !important; margin: 0 !important; }
.kw-footer-links--menu li { border-bottom: 1px solid rgba(255,255,255,0.08); }
.kw-footer-links--menu li:last-child { border-bottom: none; }
.kw-footer-links--menu a { display: block; padding: 12px 0 !important; font-size: 14.5px !important; color: #C9D2E0 !important; font-weight: 500; transition: color .2s ease, padding-left .25s ease; position: relative; }
.kw-footer-links--menu a::before { content: ""; position: absolute; left: 0; top: 50%; transform: translate(-12px, -50%); width: 6px; height: 6px; border-radius: 50%; background: #F8DC38; opacity: 0; transition: opacity .2s ease, transform .2s ease; }
.kw-footer-links--menu a:hover { color: #F8DC38 !important; padding-left: 16px !important; }
.kw-footer-links--menu a:hover::before { opacity: 1; transform: translate(0, -50%); }

/* ─── Mega-word ─── */
.kw-footer-mega { font-size: clamp(80px, 12vw, 160px) !important; font-weight: 800 !important; color: rgba(78,124,222,0.06) !important; line-height: 0.9 !important; text-align: center; margin: 0 0 24px !important; letter-spacing: -0.04em; user-select: none; pointer-events: none; }

/* ─── Barra legal ─── */
.kw-footer-legal { max-width: 1240px; margin: 0 auto; display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; padding-top: 24px; border-top: 1px solid rgba(255,255,255,0.10); font-size: 12.5px; color: #8B97A7; }
.kw-footer-legal-links { display: flex; flex-wrap: wrap; gap: 18px; }
.kw-footer-legal-links a { color: #8B97A7 !important; }
.kw-footer-legal-links a:hover { color: #F8DC38 !important; }

/* ─── Responsive ─── */
@media (max-width: 1000px) {
  .kw-footer-custom { padding: 64px 24px 20px !important; }
  .kw-footer-custom .kw-footer-grid { grid-template-columns: 1fr 1fr !important; gap: 40px !important; }
  .kw-footer-col--menu { grid-column: 1 / -1; }
  .kw-footer-links--menu { columns: 2; column-gap: 32px; }
}
@media (max-width: 640px) {
  .kw-footer-custom { padding: 52px 20px 18px !important; }
  .kw-footer-custom .kw-footer-grid { grid-template-columns: 1fr !important; gap: 36px !important; margin-bottom: 36px; }
  .kw-footer-col--menu { grid-column: 1; }
  .kw-footer-links--menu { columns: 1; }
  .kw-footer-mega { font-size: 64px !important; margin-bottom: 18px !important; }
  .kw-footer-legal { flex-direction: column; align-items: flex-start; text-align: left; font-size: 12px; }
  .kw-footer-legal-links { gap: 14px; }
  .kw-footer-btn { width: 100%; text-align: center; }
}

/* === KW Â· ETAPA TEMPLATE (fase 1: hero + intro + cards + dia + cta) === */

/* HERO con imagen a sangre (wp:cover) */
.kw-etapa-hero { min-height: clamp(520px, 70vh, 720px); padding: 0; margin-bottom: 0; }
.kw-etapa-hero .wp-block-cover__inner-container { width: 100%; max-width: 960px; padding: 0 24px; }
.kw-etapa-hero-heading { text-align: center; color: #fff !important; }
.kw-etapa-hero-heading .uagb-pre-heading-text {
  display: inline-block;
  background: #F8DC38;
  color: #1E2A3A !important;
  padding: 7px 18px;
  border-radius: 999px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  font-size: 12px;
  font-weight: 700;
  margin-bottom: 22px;
}
.kw-etapa-hero-heading h1.uagb-heading-text {
  color: #fff !important;
  font-size: clamp(34px, 5vw, 58px);
  line-height: 1.12;
  font-weight: 700;
  margin: 0 0 18px;
  letter-spacing: -0.01em;
}
.kw-etapa-hero-heading h1 em {
  font-style: normal;
  position: relative;
  color: #F8DC38;
  display: inline-block;
}
.kw-etapa-hero-heading h1 em::after { content: none; }
.kw-etapa-hero-heading .uagb-desc-text {
  color: rgba(255,255,255,0.9) !important;
  font-size: clamp(16px, 1.5vw, 19px);
  line-height: 1.6;
  max-width: 720px;
  margin: 0 auto 32px;
}
.kw-etapa-hero-cta { gap: 14px !important; flex-wrap: wrap; }
.kw-etapa-hero-cta .wp-block-button { margin: 0; }

/* Botones reutilizables (hero y CTA final) */
.wp-block-button.kw-btn-yellow > a.wp-block-button__link {
  background: #F8DC38 !important;
  color: #1E2A3A !important;
  border: 2px solid #F8DC38 !important;
  padding: 14px 28px;
  border-radius: 999px;
  font-weight: 700;
  letter-spacing: 0.02em;
  font-size: 15px;
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
  box-shadow: 0 12px 28px rgba(248,220,56,0.28);
}
.wp-block-button.kw-btn-yellow > a.wp-block-button__link:hover {
  background: #ffe85a !important;
  transform: translateY(-2px);
  box-shadow: 0 16px 32px rgba(248,220,56,0.42);
}
.wp-block-button.kw-btn-ghost-light > a.wp-block-button__link {
  background: transparent !important;
  color: #fff !important;
  border: 2px solid rgba(255,255,255,0.6) !important;
  padding: 12px 26px;
  border-radius: 999px;
  font-weight: 600;
  font-size: 15px;
  transition: background .2s ease, border-color .2s ease;
}
.wp-block-button.kw-btn-ghost-light > a.wp-block-button__link:hover {
  background: rgba(255,255,255,0.12) !important;
  border-color: #fff !important;
}

/* INTRO: 2 columnas (texto + caja datos) */
.kw-etapa-intro { padding: clamp(60px, 8vw, 100px) 24px !important; background: #fff; }
.kw-etapa-intro-grid { max-width: 1180px; margin: 0 auto; gap: clamp(32px, 5vw, 64px) !important; }
.kw-etapa-intro-heading .uagb-pre-heading-text {
  display: inline-block;
  background: #F8DC38;
  color: #306A95 !important;
  padding: 6px 16px;
  border-radius: 999px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  font-size: 11px;
  font-weight: 700;
  margin-bottom: 18px;
}
.kw-etapa-intro-heading h2.uagb-heading-text {
  font-size: clamp(28px, 3.4vw, 42px);
  line-height: 1.18;
  font-weight: 700;
  color: #1E2A3A;
  margin: 0 0 24px;
  letter-spacing: -0.01em;
}
.kw-etapa-intro-heading h2 em {
  font-style: normal;
  position: relative;
  color: #4E7CDE;
  display: inline-block;
  z-index: 1;
}
.kw-etapa-intro-heading h2 em::after {
  content: '';
  position: absolute;
  left: 0; right: 0;
  bottom: -2px;
  height: 10px;
  background: #F8DC38;
  z-index: -1;
  border-radius: 2px;
}
.kw-etapa-intro-text {
  color: #2D3848;
  font-size: 17px;
  line-height: 1.78;
  margin: 0 0 18px;
}
.kw-datos-card {
  background: #F4F6FB;
  border: 1px solid rgba(48,106,149,0.10);
  border-radius: 22px;
  padding: 32px 30px !important;
  box-shadow: 0 18px 38px rgba(48,106,149,0.10);
  position: sticky;
  top: 100px;
}
.kw-datos-card-title {
  color: #306A95;
  font-size: 13px !important;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  font-weight: 700;
  margin: 0 0 18px !important;
  padding-bottom: 14px;
  border-bottom: 2px solid #F8DC38;
}
.kw-datos-list { list-style: none !important; padding: 0 !important; margin: 0 !important; }
.kw-datos-list li {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 12px 0;
  border-bottom: 1px solid rgba(48,106,149,0.08);
  color: #1E2A3A;
  font-size: 15px;
  line-height: 1.5;
}
.kw-datos-list li:last-child { border-bottom: 0; }
.kw-datos-list .kw-dato-emoji {
  flex-shrink: 0;
  font-size: 22px;
  line-height: 1;
  width: 30px;
  text-align: center;
}
.kw-datos-list .kw-dato-text { flex: 1; }

/* Secciones generales de cards (vida + pilares) */
.kw-vida-section, .kw-pilares-section {
  padding: clamp(70px, 9vw, 110px) 24px !important;
}
.kw-vida-section { background: #F2F5FB; }
.kw-pilares-section { background: #1E2A3A; color: #fff; }

.kw-vida-section .kw-section-heading, .kw-pilares-section .kw-section-heading {
  text-align: center;
  max-width: 780px;
  margin: 0 auto 56px !important;
}
.kw-vida-section .kw-section-heading .uagb-pre-heading-text {
  display: inline-block;
  background: #F8DC38;
  color: #306A95 !important;
  padding: 6px 16px;
  border-radius: 999px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  font-size: 11px;
  font-weight: 700;
  margin-bottom: 18px;
}
.kw-pilares-section .kw-section-heading .uagb-pre-heading-text {
  display: inline-block;
  background: rgba(248,220,56,0.18);
  color: #F8DC38 !important;
  padding: 6px 16px;
  border-radius: 999px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  font-size: 11px;
  font-weight: 700;
  margin-bottom: 18px;
}
.kw-vida-section .kw-section-heading h2.uagb-heading-text,
.kw-pilares-section .kw-section-heading h2.uagb-heading-text {
  font-size: clamp(28px, 3.4vw, 40px);
  line-height: 1.2;
  font-weight: 700;
  margin: 0 0 18px;
  letter-spacing: -0.01em;
}
.kw-vida-section .kw-section-heading h2 em,
.kw-pilares-section .kw-section-heading h2 em {
  font-style: normal;
  position: relative;
  display: inline-block;
  z-index: 1;
}
.kw-vida-section .kw-section-heading h2 em { color: #4E7CDE; }
.kw-pilares-section .kw-section-heading h2 em { color: #F8DC38; }
.kw-vida-section .kw-section-heading h2 em::after,
.kw-pilares-section .kw-section-heading h2 em::after {
  content: '';
  position: absolute; left:0; right:0; bottom:-2px;
  height: 10px; z-index:-1; border-radius:2px;
}
.kw-vida-section .kw-section-heading h2 em::after { background: #F8DC38; }
.kw-pilares-section .kw-section-heading h2 em::after { background: rgba(248,220,56,0.22); }

.kw-vida-section .kw-section-heading .uagb-desc-text { font-size: 17px; line-height: 1.6; color: #4A5666; }
.kw-pilares-section .kw-section-heading .uagb-desc-text { font-size: 17px; line-height: 1.6; color: rgba(255,255,255,0.78); }

.kw-vida-grid, .kw-pilares-grid {
  max-width: 1180px;
  margin: 0 auto !important;
  gap: 24px !important;
  flex-wrap: wrap;
}
.kw-vida-card-wrap, .kw-pilar-card-wrap {
  height: 100%;
  background: #fff;
  border-radius: 22px;
  padding: 36px 28px 32px !important;
  box-shadow: 0 18px 38px rgba(48,106,149,0.10);
  border: 1px solid rgba(48,106,149,0.08);
  transition: transform .25s ease, box-shadow .25s ease;
}
.kw-pilares-section .kw-pilar-card-wrap {
  background: #ffffff;
  color: #1E2A3A;
}
.kw-vida-card-wrap:hover, .kw-pilar-card-wrap:hover {
  transform: translateY(-6px);
  box-shadow: 0 26px 48px rgba(48,106,149,0.18);
}
.kw-card-emoji {
  font-size: 44px !important;
  line-height: 1 !important;
  margin: 0 0 18px !important;
  text-align: center;
}
.kw-vida-card h3.uagb-heading-text,
.kw-pilar-card h3.uagb-heading-text {
  font-size: 19px;
  font-weight: 700;
  color: #1E2A3A;
  margin: 0 0 12px;
  line-height: 1.3;
  text-align: center;
}
.kw-vida-card .uagb-desc-text,
.kw-pilar-card .uagb-desc-text {
  font-size: 15px;
  line-height: 1.65;
  color: #4A5666;
  margin: 0;
  text-align: center;
}

/* Un dÃ­a en X â timeline horizontal */
.kw-etapa-dia { padding: clamp(70px, 9vw, 110px) 24px !important; background: #fff; }
.kw-etapa-dia .kw-section-heading {
  text-align: center;
  max-width: 780px;
  margin: 0 auto 56px !important;
}
.kw-etapa-dia .kw-section-heading .uagb-pre-heading-text {
  display: inline-block;
  background: #F8DC38;
  color: #306A95 !important;
  padding: 6px 16px;
  border-radius: 999px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  font-size: 11px;
  font-weight: 700;
  margin-bottom: 18px;
}
.kw-etapa-dia .kw-section-heading h2.uagb-heading-text {
  font-size: clamp(28px, 3.4vw, 40px);
  line-height: 1.2;
  font-weight: 700;
  color: #1E2A3A;
  margin: 0;
  letter-spacing: -0.01em;
}
.kw-etapa-dia .kw-section-heading h2 em {
  font-style: normal; position: relative;
  color: #4E7CDE; display: inline-block; z-index: 1;
}
.kw-etapa-dia .kw-section-heading h2 em::after {
  content:''; position:absolute; left:0; right:0; bottom:-2px;
  height:10px; background:#F8DC38; z-index:-1; border-radius:2px;
}
.kw-etapa-dia-grid {
  max-width: 1180px;
  margin: 0 auto !important;
  gap: 18px !important;
  flex-wrap: wrap;
}
.kw-etapa-dia-grid .wp-block-column {
  background: #F4F6FB;
  border-radius: 18px;
  padding: 24px 20px;
  border: 1px solid rgba(48,106,149,0.08);
  position: relative;
  transition: transform .2s ease, box-shadow .2s ease;
}
.kw-etapa-dia-grid .wp-block-column:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 28px rgba(48,106,149,0.12);
}
.kw-dia-card .uagb-pre-heading-text {
  display: inline-block;
  background: #4E7CDE;
  color: #fff !important;
  padding: 5px 14px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.05em;
  margin: 0 0 14px;
}
.kw-dia-card h3.uagb-heading-text {
  font-size: 17px;
  font-weight: 700;
  color: #1E2A3A;
  margin: 0 0 8px;
  line-height: 1.3;
}
.kw-dia-card .uagb-desc-text {
  font-size: 14px;
  line-height: 1.55;
  color: #4A5666;
  margin: 0;
}

/* CTA final con fondo oscuro */
.kw-etapa-cta {
  background: linear-gradient(135deg, #1E2A3A 0%, #2a3a52 100%);
  padding: clamp(70px, 9vw, 110px) 24px !important;
  text-align: center;
}
.kw-cta-final-heading { max-width: 780px; margin: 0 auto !important; }
.kw-cta-final-heading .uagb-pre-heading-text {
  display: inline-block;
  background: rgba(248,220,56,0.18);
  color: #F8DC38 !important;
  padding: 6px 16px;
  border-radius: 999px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  font-size: 11px;
  font-weight: 700;
  margin-bottom: 18px;
}
.kw-cta-final-heading h2.uagb-heading-text {
  color: #fff !important;
  font-size: clamp(28px, 3.6vw, 44px);
  line-height: 1.18;
  font-weight: 700;
  margin: 0 0 18px;
  letter-spacing: -0.01em;
}
.kw-cta-final-heading h2 em {
  font-style: normal;
  color: #F8DC38;
  position: relative;
  display: inline-block;
}
.kw-cta-final-heading .uagb-desc-text {
  color: rgba(255,255,255,0.86) !important;
  font-size: 17px;
  line-height: 1.65;
  margin: 0 auto 32px;
  max-width: 660px;
}
.kw-cta-final-botones { gap: 14px !important; flex-wrap: wrap; justify-content: center; }

/* Responsive */
@media (max-width: 980px) {
  .kw-etapa-intro-grid { flex-direction: column !important; }
  .kw-etapa-intro-grid .wp-block-column { flex-basis: 100% !important; width: 100% !important; }
  .kw-datos-card { position: static !important; }
}
@media (max-width: 768px) {
  .kw-etapa-hero { min-height: 460px !important; }
  .kw-vida-grid, .kw-pilares-grid, .kw-etapa-dia-grid { flex-direction: column !important; }
  .kw-vida-grid .wp-block-column,
  .kw-pilares-grid .wp-block-column,
  .kw-etapa-dia-grid .wp-block-column { flex-basis: 100% !important; width: 100% !important; }
}
/* === fin KW Â· ETAPA TEMPLATE === */

/* === KW · ETAPA HERO OVERLAY (fix wp:group bg) === */
.kw-etapa-hero { position: relative; isolation: isolate; display: flex; align-items: center; justify-content: center; min-height: clamp(520px, 70vh, 720px); padding: clamp(70px, 10vh, 110px) 24px !important; }
.kw-etapa-hero::before { content: ''; position: absolute; inset: 0; background: linear-gradient(135deg, rgba(30,42,58,0.78) 0%, rgba(30,42,58,0.55) 100%); z-index: 0; pointer-events: none; }
.kw-etapa-hero > * { position: relative; z-index: 1; }
.kw-etapa-hero .kw-etapa-hero-heading, .kw-etapa-hero .kw-etapa-hero-cta { width: 100%; max-width: 960px; margin-left: auto; margin-right: auto; }
/* === fin KW · ETAPA HERO OVERLAY === */

/* === KW · ETAPA HERO BG IMAGES (fase 2) === */
.kw-etapa-hero--cei-kw-pequenitos { background-image: url('https://www.colegiokw.com/wp-content/uploads/2026/06/CEI-KW-Pequenitos.jpg') !important; background-size: cover !important; background-position: center center !important; background-repeat: no-repeat !important; }
.kw-etapa-hero--infantil-verbum { background-image: url('https://www.colegiokw.com/wp-content/uploads/2026/05/hero-infantil-verbum-scaled.jpg') !important; background-size: cover !important; background-position: center center !important; background-repeat: no-repeat !important; }
.kw-etapa-hero--primaria-veritas { background-image: url('https://www.colegiokw.com/wp-content/uploads/2026/05/hero-primaria-veritas-scaled.jpg') !important; background-size: cover !important; background-position: center center !important; background-repeat: no-repeat !important; }
.kw-etapa-hero--secundaria-vita { background-image: url('https://www.colegiokw.com/wp-content/uploads/2026/05/hero-secundaria-vita-scaled.jpg') !important; background-size: cover !important; background-position: center center !important; background-repeat: no-repeat !important; }
.kw-etapa-hero--bachillerato { background-image: url('https://www.colegiokw.com/wp-content/uploads/2026/06/Bachillerato-del-colegio-Karol-Wotjyla.jpg') !important; background-size: cover !important; background-position: center center !important; background-repeat: no-repeat !important; }
/* === fin KW · ETAPA HERO BG IMAGES === */

/* === KW · ETAPA HERO FULLBLEED (fase 3) === */
.kw-etapa-hero { width: 100vw !important; margin-left: calc(50% - 50vw) !important; margin-right: calc(50% - 50vw) !important; max-width: 100vw !important; }
.kw-etapa-hero > * { max-width: 960px; margin-left: auto !important; margin-right: auto !important; }
.site-content .ast-container:has(.kw-etapa-hero) { max-width: 100% !important; padding-left: 0 !important; padding-right: 0 !important; }
body.page .entry-content > .kw-etapa-hero:first-child { margin-top: 0 !important; }
/* === fin KW · ETAPA HERO FULLBLEED === */

/* === KW · ETAPA HERO BG IMAGES v2 (clases nuevas + flex fix) === */
.kw-etapa-hero { flex-direction: column !important; }
.kw-hero-cei { background-image: url('https://www.colegiokw.com/wp-content/uploads/2026/06/CEI-KW-Pequenitos.jpg') !important; background-size: cover !important; background-position: center center !important; background-repeat: no-repeat !important; }
.kw-hero-verbum { background-image: url('https://www.colegiokw.com/wp-content/uploads/2026/05/hero-infantil-verbum-scaled.jpg') !important; background-size: cover !important; background-position: center center !important; background-repeat: no-repeat !important; }
.kw-hero-veritas { background-image: url('https://www.colegiokw.com/wp-content/uploads/2026/05/hero-primaria-veritas-scaled.jpg') !important; background-size: cover !important; background-position: center center !important; background-repeat: no-repeat !important; }
.kw-hero-vita { background-image: url('https://www.colegiokw.com/wp-content/uploads/2026/05/hero-secundaria-vita-scaled.jpg') !important; background-size: cover !important; background-position: center center !important; background-repeat: no-repeat !important; }
.kw-hero-bach { background-image: url('https://www.colegiokw.com/wp-content/uploads/2026/06/Bachillerato-del-colegio-Karol-Wotjyla.jpg') !important; background-size: cover !important; background-position: center center !important; background-repeat: no-repeat !important; }
.kw-etapa-hero-heading { text-align: center !important; }
.kw-etapa-hero-cta { justify-content: center !important; margin-top: 16px; }
/* === fin KW · ETAPA HERO BG IMAGES v2 === */

/* === KW · SERVICIOS HERO BG IMAGES === */
.kw-hero-enfermeria { background-image: url('https://www.colegiokw.com/wp-content/uploads/2026/06/Enfermeria-24-25.png') !important; background-size: cover !important; background-position: center center !important; background-repeat: no-repeat !important; }
.kw-hero-comedor { background-image: url('https://www.colegiokw.com/wp-content/uploads/2026/06/comedor-del-Colegio-Karol-Wojtyla.jpg') !important; background-size: cover !important; background-position: center center !important; background-repeat: no-repeat !important; }
.kw-hero-conciliacion { background-image: url('https://www.colegiokw.com/wp-content/uploads/2026/06/Conciliacion.jpeg') !important; background-size: cover !important; background-position: center center !important; background-repeat: no-repeat !important; }
.kw-hero-talento { background-image: url('https://www.colegiokw.com/wp-content/uploads/2026/05/hero-servicio-competencias-scaled.jpg') !important; background-size: cover !important; background-position: center center !important; background-repeat: no-repeat !important; }
.kw-hero-idiomas { background-image: url('https://www.colegiokw.com/wp-content/uploads/2026/05/hero-servicio-idiomas-scaled.jpg') !important; background-size: cover !important; background-position: center center !important; background-repeat: no-repeat !important; }
.kw-hero-deportes { background-image: url('https://www.colegiokw.com/wp-content/uploads/2026/05/hero-servicio-deportes-scaled.jpg') !important; background-size: cover !important; background-position: center center !important; background-repeat: no-repeat !important; }
.kw-hero-artes { background-image: url('https://www.colegiokw.com/wp-content/uploads/2026/05/hero-servicio-artes-escenicas-scaled.jpg') !important; background-size: cover !important; background-position: center center !important; background-repeat: no-repeat !important; }
/* === fin KW · SERVICIOS HERO BG IMAGES === */

/* === KW · HOME HERO + CTA FIX (28-may) === */
/* HERO: más aire arriba para el eyebrow */
.kw-home-hero { padding-top: clamp(60px, 8vh, 110px) !important; padding-bottom: clamp(60px, 8vh, 100px) !important; }
.kw-home-hero .kw-home-hero-eyebrow { display: inline-block; margin-top: 12px !important; margin-bottom: 22px !important; }
.kw-home-hero .kw-home-hero-inner { padding-top: 18px; }
/* CTA Ven a conocernos: full bleed + más contraste */
.kw-cta-section { background: transparent !important; padding: 0 !important; }
.kw-cta-card { width: 100vw !important; max-width: 100vw !important; margin-left: calc(50% - 50vw) !important; margin-right: calc(50% - 50vw) !important; border-radius: 0 !important; padding: clamp(70px, 10vh, 130px) clamp(24px, 5vw, 80px) !important; background: linear-gradient(135deg, #0F1A28 0%, #1E2A3A 45%, #2A4565 100%) !important; color: #fff !important; position: relative; isolation: isolate; overflow: hidden; }
.kw-cta-card::before { content: ''; position: absolute; inset: 0; background: radial-gradient(circle at 80% 20%, rgba(248,220,56,0.10), transparent 50%), radial-gradient(circle at 10% 90%, rgba(78,124,222,0.15), transparent 60%); z-index: -1; pointer-events: none; }
.kw-cta-card > * { max-width: 1100px; margin-left: auto !important; margin-right: auto !important; }
.kw-cta-card .kw-cta-heading .uagb-pre-heading-text { color: #F8DC38 !important; letter-spacing: 0.18em; text-transform: uppercase; font-size: 12px; font-weight: 700; background: rgba(248,220,56,0.14); padding: 6px 16px; border-radius: 999px; display: inline-block; }
.kw-cta-card .kw-cta-heading h2.uagb-heading-text { color: #ffffff !important; font-weight: 700; }
.kw-cta-card .kw-cta-heading h2 em { color: #F8DC38 !important; font-style: normal; }
.kw-cta-card .kw-cta-heading .uagb-desc-text { color: rgba(255,255,255,0.92) !important; font-size: 18px; }
.kw-cta-card .kw-cta-buttons .btn-kw-accent { background: #F8DC38 !important; color: #1E2A3A !important; border: 2px solid #F8DC38 !important; padding: 14px 30px !important; border-radius: 999px !important; font-weight: 700 !important; box-shadow: 0 14px 32px rgba(248,220,56,0.30); transition: transform .2s ease, box-shadow .2s ease; }
.kw-cta-card .kw-cta-buttons .btn-kw-accent:hover { transform: translateY(-2px); box-shadow: 0 18px 38px rgba(248,220,56,0.45); }
.kw-cta-card .kw-cta-buttons a:not(.btn-kw-accent) { color: #fff !important; border: 2px solid rgba(255,255,255,0.6) !important; padding: 12px 26px !important; border-radius: 999px !important; }
/* === fin KW · HOME HERO + CTA FIX === */

/* === KW · HOME EXTRAS CARDS FIX (7 servicios) === */
.kw-extras-grid { flex-wrap: wrap !important; gap: 20px !important; }
.kw-extras-grid > .wp-block-column { flex-basis: calc(25% - 15px) !important; min-width: 240px; max-width: calc(25% - 15px); flex-grow: 0; flex-shrink: 0; }
@media (max-width: 1100px) { .kw-extras-grid > .wp-block-column { flex-basis: calc(33.33% - 14px) !important; max-width: calc(33.33% - 14px); } }
@media (max-width: 800px)  { .kw-extras-grid > .wp-block-column { flex-basis: calc(50% - 10px) !important; max-width: calc(50% - 10px); } }
@media (max-width: 560px)  { .kw-extras-grid > .wp-block-column { flex-basis: 100% !important; max-width: 100%; } }
.kw-extra-card { background: #fff; border-radius: 20px; padding: 28px 24px !important; box-shadow: 0 14px 32px rgba(48,106,149,0.10); border: 1px solid rgba(48,106,149,0.08); height: 100%; display: flex; flex-direction: column; gap: 10px; transition: transform .25s ease, box-shadow .25s ease; }
.kw-extra-card:hover { transform: translateY(-6px); box-shadow: 0 22px 44px rgba(48,106,149,0.18); }
.kw-extra-card .kw-extra-num, .kw-extra-card .uagb-pre-heading-text { display: inline-block; background: rgba(78,124,222,0.10); color: #306A95 !important; font-size: 11px !important; font-weight: 700 !important; letter-spacing: 0.12em; text-transform: uppercase !important; padding: 5px 12px; border-radius: 999px; margin: 0 0 4px !important; align-self: flex-start; }
.kw-extra-card h4.uagb-heading-text { font-size: 20px !important; font-weight: 700 !important; color: #1E2A3A !important; margin: 4px 0 6px !important; line-height: 1.25 !important; text-transform: none !important; letter-spacing: 0 !important; }
.kw-extra-card h4 a { color: #1E2A3A !important; text-decoration: none !important; }
.kw-extra-card h4 a:hover { color: #4E7CDE !important; }
.kw-extra-card .uagb-desc-text { font-size: 14px !important; line-height: 1.55 !important; color: #4A5666 !important; margin: 0 0 8px !important; text-transform: none !important; letter-spacing: 0 !important; font-weight: 400 !important; }
.kw-extra-card .kw-extra-link { margin: auto 0 0 !important; padding-top: 8px; }
.kw-extra-card .kw-extra-link a { color: #4E7CDE !important; font-weight: 700; font-size: 14px; text-decoration: none !important; letter-spacing: 0; text-transform: none; border-bottom: 2px solid #F8DC38; padding-bottom: 2px; transition: color .2s ease; }
.kw-extra-card .kw-extra-link a:hover { color: #1E2A3A !important; }
/* === fin KW · HOME EXTRAS CARDS FIX === */

/* === KW · LEGAL PAGES (canal denuncia + aviso + privacidad + cookies) === */
.kw-legal-hero { padding: clamp(70px, 9vw, 110px) 24px !important; background: linear-gradient(135deg, #1E2A3A 0%, #2a3a52 70%, #306A95 100%); color: #fff; text-align: center; }
.kw-legal-hero-heading .uagb-pre-heading-text { display: inline-block; background: rgba(248,220,56,0.18); color: #F8DC38 !important; padding: 6px 16px; border-radius: 999px; letter-spacing: 0.18em; text-transform: uppercase; font-size: 11px; font-weight: 700; margin-bottom: 22px; }
.kw-legal-hero-heading h1.uagb-heading-text { color: #fff !important; font-size: clamp(30px, 4vw, 52px); line-height: 1.15; font-weight: 700; margin: 0 0 18px; max-width: 820px; margin-left: auto; margin-right: auto; }
.kw-legal-hero-heading .uagb-desc-text { color: rgba(255,255,255,0.86) !important; font-size: 17px; line-height: 1.65; max-width: 720px; margin: 0 auto; }
.kw-legal-body { padding: clamp(60px, 7vw, 100px) 24px !important; background: #ffffff; }
.kw-legal-body > * { max-width: 820px; margin-left: auto !important; margin-right: auto !important; }
.kw-legal-body .kw-legal-h2 { font-size: clamp(22px, 2.4vw, 30px); color: #1E2A3A; font-weight: 700; margin: 56px 0 18px !important; padding-left: 16px; border-left: 4px solid #F8DC38; line-height: 1.25; }
.kw-legal-body > .kw-legal-h2:first-child, .kw-legal-body section > .kw-legal-h2:first-child { margin-top: 0 !important; }
.kw-legal-body .kw-legal-h3 { font-size: 18px; color: #306A95; font-weight: 700; margin: 28px 0 10px; line-height: 1.3; }
.kw-legal-body .kw-legal-p { font-size: 16px; line-height: 1.75; color: #2D3848; margin: 0 0 16px; }
.kw-legal-body .kw-legal-list { font-size: 16px; line-height: 1.75; color: #2D3848; margin: 0 0 20px; padding-left: 22px; }
.kw-legal-body .kw-legal-list li { margin: 0 0 8px; padding-left: 6px; }
.kw-legal-body .kw-legal-list li::marker { color: #4E7CDE; font-weight: 700; }
.kw-legal-body a { color: #306A95; text-decoration: underline; text-decoration-color: #F8DC38; text-decoration-thickness: 2px; text-underline-offset: 3px; transition: color .2s ease; }
.kw-legal-body a:hover { color: #4E7CDE; }
.kw-legal-body strong { color: #1E2A3A; font-weight: 700; }
.kw-legal-body em { color: #4A5666; font-style: italic; }
.kw-legal-cta { background: linear-gradient(135deg, #1E2A3A 0%, #2a3a52 100%); padding: clamp(70px, 9vw, 100px) 24px !important; text-align: center; }
/* === fin KW · LEGAL PAGES === */

/* === KW · FEATURE IMAGES (imágenes destacadas en páginas) === */
.wp-block-image.kw-feature-image { max-width: 1100px !important; margin: clamp(40px, 6vw, 70px) auto !important; padding: 0 24px; }
.wp-block-image.kw-feature-image img { width: 100%; height: auto; max-height: 540px; object-fit: cover; border-radius: 22px; box-shadow: 0 22px 50px rgba(48,106,149,0.18); display: block; }
.wp-block-image.kw-feature-image .wp-element-caption, .wp-block-image.kw-feature-image .kw-feature-caption { text-align: center; font-size: 14px; color: #4A5666; margin-top: 16px; font-style: italic; line-height: 1.55; max-width: 720px; margin-left: auto; margin-right: auto; }
@media (max-width: 768px) { .wp-block-image.kw-feature-image img { border-radius: 16px; max-height: 360px; } }
/* === fin KW · FEATURE IMAGES === */

/* === KW · FIX ICONO MENU MOVIL === */
.ast-header-break-point #ast-mobile-header .menu-toggle,.ast-header-break-point #ast-mobile-header .menu-toggle .mobile-menu-toggle-icon,.ast-header-break-point #ast-mobile-header .menu-toggle .ahfb-svg-iconset,.ast-header-break-point #ast-mobile-header .menu-toggle svg{color:#306A95 !important;fill:#306A95 !important;}
/* === fin === */

/* === KW · RESTYLE GLOBAL FASE 0 === */
/* Microinteracciones unificadas (estilo etapas) en toda la web */
.kw-extra-card,.kw-info-card,.kw-servicio-card,.kw-etapa-home-card,.kw-pilar,.kw-cifra-item,
.wp-block-uagb-info-box,.kw-card,.kw-feature-image img,.kw-dato-card,.kw-vida-card{
  transition:transform .45s cubic-bezier(.2,.7,.2,1),box-shadow .45s ease!important;
}
.kw-extra-card:hover,.kw-info-card:hover,.kw-servicio-card:hover,.kw-etapa-home-card:hover,
.wp-block-uagb-info-box:hover,.kw-card:hover{
  transform:translateY(-6px);
  box-shadow:0 22px 44px rgba(48,106,149,.20);
}
/* Reveal on-scroll — SOLO si el navegador lo soporta (fallback: todo visible). Respeta reduce-motion */
@media (prefers-reduced-motion:no-preference){
  @supports (animation-timeline:view()){
    .kw-etapas-home-grid > .wp-block-column,
    .kw-extra-card,.kw-info-card,.kw-servicio-card,.kw-card,
    .kw-pilar,.kw-cifra-item,.kw-dato-card,.kw-vida-card,.kw-dia-item,
    .kw-feature-image,
    .kw-testimonios .wp-block-column,
    .wp-block-uagb-info-box,
    .kw-reveal{
      animation:kw-fadeup linear both;
      animation-timeline:view();
      animation-range:entry 0% cover 28%;
    }
    /* títulos de sección con un matiz más */
    .kw-section .wp-block-heading,.kw-cifras-section .wp-block-heading{
      animation:kw-fadeup linear both;
      animation-timeline:view();
      animation-range:entry 0% cover 22%;
    }
  }
}
@keyframes kw-fadeup{from{opacity:0;transform:translateY(34px)}to{opacity:1;transform:none}}
/* === fin RESTYLE GLOBAL FASE 0 === */

/* === KW · RESTYLE FASE 1 · HERO INSTITUCIONAL INMERSIVO === */
.kw-page-hero-section{
  background:linear-gradient(135deg,#1E2A3A 0%,#264A66 55%,#306A95 100%)!important;
  padding:clamp(56px,8vw,104px) 20px clamp(48px,6vw,88px)!important;
  position:relative;overflow:hidden;
}
.kw-page-hero-section::after{
  content:"";position:absolute;right:-120px;top:-120px;width:340px;height:340px;
  background:radial-gradient(circle,rgba(248,220,56,.16),transparent 70%);pointer-events:none;
}
.kw-page-hero-section .uagb-pre-heading-text{
  display:inline-block!important;background:#F8DC38;color:#306A95!important;
  padding:6px 16px!important;border-radius:999px;letter-spacing:.18em;text-transform:uppercase;
  font-weight:700;font-size:.72rem;margin:0 0 20px!important;
}
.kw-page-hero-section .uagb-heading-text{color:#fff!important;}
.kw-page-hero-section .uagb-heading-text em{color:#F8DC38!important;font-style:normal;}
.kw-page-hero-section .uagb-desc-text{
  color:rgba(255,255,255,.9)!important;max-width:740px;margin-left:auto!important;margin-right:auto!important;
}
.kw-page-hero-section a:not(.wp-block-button__link){color:#F8DC38!important;}
/* === fin RESTYLE FASE 1 === */


/* === KW · CTA HOME CENTRADO + ANIM === */
.kw-cta-card{text-align:center;position:relative;overflow:hidden;}
.kw-cta-card .kw-cta-heading,.kw-cta-card .uagb-heading-text,.kw-cta-card .uagb-pre-heading-text{text-align:center;}
.kw-cta-card .uagb-pre-heading-text{display:inline-block;}
.kw-cta-card .uagb-desc-text{max-width:640px !important;margin-left:auto !important;margin-right:auto !important;}
.kw-cta-card .kw-cta-buttons{justify-content:center !important;}
.kw-cta-card .kw-cta-datos{align-items:center !important;text-align:center;}
.kw-cta-card::before{content:"";position:absolute;top:-30%;left:50%;width:520px;height:520px;transform:translateX(-50%);background:radial-gradient(circle, rgba(248,220,56,.22), rgba(248,220,56,0) 70%);pointer-events:none;z-index:0;}
.kw-cta-card > *{position:relative;z-index:1;}
@media (prefers-reduced-motion:no-preference){
  .kw-cta-card::before{animation:kw-cta-glow 6s ease-in-out infinite;}
  @keyframes kw-cta-glow{0%,100%{opacity:.6;transform:translateX(-50%) scale(1);}50%{opacity:1;transform:translateX(-50%) scale(1.12);}}
}
@supports (animation-timeline:view()){
  @media (prefers-reduced-motion:no-preference){
    .kw-cta-card{animation:kw-cta-in linear both;animation-timeline:view();animation-range:entry 0% cover 30%;}
    @keyframes kw-cta-in{from{opacity:0;transform:translateY(36px) scale(.985);}to{opacity:1;transform:none;}}
  }
}
/* === fin KW · CTA HOME CENTRADO + ANIM === */

/* === KW · CTA HOME MOBILE FIX === */
@media (max-width:600px){
  .kw-cta-section{padding:48px 14px !important;}
  .kw-cta-card{padding:40px 20px !important;border-radius:24px !important;max-width:100% !important;}
  .kw-cta-card .uagb-heading-text{font-size:clamp(32px,8.5vw,46px) !important;}
}
/* === fin KW · CTA HOME MOBILE FIX === */

/* === KW · FIX CTA INTERNO CONTRASTE === */
.kw-section-cta .uagb-heading-text,
.kw-section-cta .uagb-heading-text *{color:#FFFFFF !important;}
.kw-section-cta .uagb-heading-text em{color:#F8DC38 !important;}
.kw-section-cta .uagb-desc-text{color:#F4F6FB !important;}
.kw-section-cta .uagb-pre-heading-text{color:#F8DC38 !important;}
/* === fin KW · FIX CTA INTERNO CONTRASTE === */

/* === KW · FIX HERO INSTITUCIONAL CLEARANCE === */
body.page .wp-block-group.kw-page-hero-section{padding-top:156px !important;}
@media (max-width:921px){body.page .wp-block-group.kw-page-hero-section{padding-top:112px !important;}}
/* === fin KW · FIX HERO INSTITUCIONAL CLEARANCE === */

/* === KW · BOTON RESERVAR VISITA MENU === */
.menu-cta-kw{display:flex !important;align-items:center !important;}
.menu-cta-kw > .menu-link{height:auto !important;min-height:0 !important;line-height:1.15 !important;padding:11px 24px !important;border-radius:999px !important;background:#306A95 !important;color:#F4F6FB !important;font-size:13.5px !important;font-weight:600 !important;letter-spacing:.02em !important;box-shadow:0 4px 14px rgba(30,42,58,.18) !important;transition:background .25s ease,transform .25s ease,box-shadow .25s ease !important;}
.menu-cta-kw > .menu-link:hover{background:#4E7CDE !important;color:#FFFFFF !important;transform:translateY(-1px);box-shadow:0 8px 20px rgba(78,124,222,.30) !important;}
/* === fin KW · BOTON RESERVAR VISITA MENU === */

/* === KW · MENU PRINCIPAL PREMIUM === */
@media (min-width:922px){
  .site-header-primary-section-right{justify-content:center !important;}
  .main-header-menu .menu-link{font-size:15.5px !important;font-weight:500 !important;letter-spacing:.2px !important;}
  .main-header-menu > .menu-item > .menu-link{position:relative;}
  .main-header-menu > .menu-item:not(.menu-cta-kw) > .menu-link::after{content:"";position:absolute;left:50%;bottom:2px;width:0;height:2px;background:#F8DC38;border-radius:2px;transform:translateX(-50%);transition:width .28s ease;}
  .main-header-menu > .menu-item:not(.menu-cta-kw):hover > .menu-link::after,
  .main-header-menu > .menu-item.current-menu-item:not(.menu-cta-kw) > .menu-link::after{width:24px;}
  .main-header-menu > .menu-item:not(.menu-cta-kw) > .menu-link:hover{color:#306A95 !important;}
}
/* === fin KW · MENU PRINCIPAL PREMIUM === */

/* === KW · TOP BAR PREMIUM === */
.kw-strip-inner{animation-duration:85s !important;}
.kw-strip, .kw-strip-inner, .kw-strip-dot, .kw-strip span, .kw-strip a{font-size:13.5px !important;}
/* === fin KW · TOP BAR PREMIUM === */

/* === KW · ETAPAS SECCIONES FULL-WIDTH === */
.kw-vida-section, .kw-pilares-section, .kw-etapa-cta{
  max-width:none !important; width:auto !important; margin-left:0 !important; margin-right:0 !important;
}
/* === fin KW · ETAPAS SECCIONES FULL-WIDTH === */

/* === KW · MENU CENTRADO REAL === */
@media (min-width:922px){
  .site-primary-header-wrap .ast-builder-grid-row-has-sides{grid-template-columns:1fr !important;}
  .site-header-primary-section-left{position:absolute !important;left:0;top:50%;transform:translateY(-50%);z-index:3;}
  .site-header-primary-section-right{grid-column:1 / -1 !important;justify-content:center !important;}
}
/* === fin KW · MENU CENTRADO REAL === */

/* === KW · CALENDARIO HOME === */
.kw-cal{max-width:1000px;margin:8px auto 0;}
.kw-cal-head{display:flex;align-items:center;justify-content:center;gap:24px;margin-bottom:22px;}
.kw-cal-title{font-size:22px;font-weight:700;color:#1E2A3A;min-width:210px;text-align:center;}
.kw-cal-nav{width:42px;height:42px;border-radius:50%;border:1px solid #d8e0ee;background:#fff;color:#306A95;font-size:20px;line-height:1;cursor:pointer;transition:all .2s ease;}
.kw-cal-nav:hover{background:#306A95;color:#fff;border-color:#306A95;transform:translateY(-1px);}
.kw-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;}
.kw-cal-dow{text-align:center;font-weight:600;color:#4A5666;font-size:12px;letter-spacing:.12em;text-transform:uppercase;padding:6px 0;}
.kw-cal-cell{min-height:96px;background:#fff;border:1px solid #eef1f7;border-radius:12px;padding:8px;display:flex;flex-direction:column;gap:5px;}
.kw-cal-empty{background:transparent;border:0;}
.kw-cal-num{font-size:13px;font-weight:600;color:#2D3848;}
.kw-cal-has{box-shadow:0 8px 20px rgba(48,106,149,.12);border-color:#dbe6f2;}
.kw-cal-has .kw-cal-num{color:#306A95;}
.kw-cal-ev{display:block;background:#F8DC38;color:#1E2A3A;font-size:11px;line-height:1.25;padding:4px 7px;border-radius:7px;text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600;transition:all .18s ease;}
.kw-cal-ev:hover{background:#306A95;color:#fff;}
.kw-cal-loading{text-align:center;padding:48px 0;color:#4A5666;}
@media(max-width:820px){
  .kw-cal-cell{min-height:auto;border-radius:9px;padding:6px;}
  .kw-cal-grid{gap:5px;}
  .kw-cal-ev{white-space:normal;font-size:10px;}
  .kw-cal-dow{font-size:10px;letter-spacing:.04em;}
  .kw-cal-num{font-size:11px;}
  .kw-cal-title{font-size:18px;min-width:150px;}
}
/* === fin KW · CALENDARIO HOME === */

/* === KW · FIX FLASH FOOTER === */
html, body { background-color:#1E2A3A; }
#content, .site-content, .ast-container { background-color:transparent; }
/* === fin KW · FIX FLASH FOOTER === */

/* === KW · NO OVERFLOW MOVIL === */
@media (max-width:921px){ html, body { overflow-x:hidden; max-width:100%; } }
/* === fin KW · NO OVERFLOW MOVIL === */

/* === KW · PREMIUM WOW === */
html{scroll-behavior:smooth;}
/* Microinteracción cohesiva de tarjetas */
.kw-etapa-home-card,.kw-srv-card,.kw-evento-card,.kw-pilar-patrono,.kw-card-generic,.kw-home-evento-card,.kw-noticias-grid .uagb-post__inner-wrap{
  transition:transform .5s cubic-bezier(.2,.8,.2,1), box-shadow .5s cubic-bezier(.2,.8,.2,1) !important;
}
.kw-etapa-home-card:hover,.kw-srv-card:hover,.kw-evento-card:hover,.kw-home-evento-card:hover,.kw-card-generic:hover,.kw-noticias-grid .uagb-post__inner-wrap:hover{
  transform:translateY(-10px) !important;
  box-shadow:0 30px 60px -14px rgba(48,106,149,.28) !important;
}
/* Botones premium: elevación + barrido de brillo */
.wp-block-button__link{position:relative;overflow:hidden;transition:transform .3s ease, box-shadow .3s ease, filter .3s ease !important;}
.wp-block-button__link::after{content:"";position:absolute;top:0;left:-130%;width:55%;height:100%;background:linear-gradient(120deg,transparent,rgba(255,255,255,.45),transparent);transform:skewX(-20deg);transition:left .6s ease;pointer-events:none;}
.wp-block-button__link:hover{transform:translateY(-2px);box-shadow:0 14px 28px rgba(30,42,58,.20);}
.wp-block-button__link:hover::after{left:135%;}
/* Entrada cinematográfica del hero */
@media (prefers-reduced-motion:no-preference){
  .kw-home-hero-inner > *{animation:kw-hero-rise .95s cubic-bezier(.2,.7,.2,1) both;}
  .kw-home-hero-inner > *:nth-child(1){animation-delay:.06s;}
  .kw-home-hero-inner > *:nth-child(2){animation-delay:.18s;}
  .kw-home-hero-inner > *:nth-child(3){animation-delay:.30s;}
  .kw-home-hero-inner > *:nth-child(4){animation-delay:.42s;}
  .kw-home-hero-inner > *:nth-child(5){animation-delay:.54s;}
  .kw-page-hero-block{animation:kw-hero-rise 1s cubic-bezier(.2,.7,.2,1) both;animation-delay:.08s;}
  @keyframes kw-hero-rise{from{opacity:0;transform:translateY(28px);}to{opacity:1;transform:none;}}
}
/* Pulido de píldora eyebrow */
.uagb-pre-heading-text{backdrop-filter:saturate(1.05);}
/* === fin KW · PREMIUM WOW === */

/* === KW · AJUSTES 8-JUN === */
/* 1. Margen izquierdo del logo */
@media (min-width:922px){ .site-header-primary-section-left{ left:clamp(16px,3vw,44px) !important; } }
/* 2. Menú principal: mayor y más grueso */
@media (min-width:922px){ .main-header-menu.ast-nav-menu > .menu-item > .menu-link{ font-size:17px !important; font-weight:600 !important; } }
/* 4. Calendario: día mayor + flechas tipo botón evidente */
.kw-cal-num{ font-size:16px !important; font-weight:700 !important; }
.kw-cal-dow{ font-size:13px !important; }
.kw-cal-ev{ font-size:12px !important; }
.kw-cal-nav{ background:#306A95 !important; color:#FFFFFF !important; border:0 !important; width:48px !important; height:48px !important; font-size:26px !important; line-height:1 !important; box-shadow:0 8px 18px rgba(48,106,149,.30) !important; }
.kw-cal-nav:hover{ background:#4E7CDE !important; color:#FFFFFF !important; transform:translateY(-2px); }
/* 7. Botón subir por encima del WhatsApp */
.ast-scroll-to-top-right, #ast-scroll-top{ bottom:130px !important; z-index:1 !important; }
/* 6. Placeholder suave en imágenes (evita vacío blanco) */
.kw-etapa-home-img, .kw-srv-card-img-wrap, .kw-srv-card-img, .kw-noticias-grid .uagb-post__image{ background-color:#eef1f7; }
/* === fin KW · AJUSTES 8-JUN === */

/* kw-cal-nav-circle */
.kw-cal-head .kw-cal-nav{ box-sizing:border-box !important; width:50px !important; min-width:50px !important; max-width:50px !important; height:50px !important; padding:0 !important; flex:0 0 50px !important; border-radius:50% !important; display:inline-flex !important; align-items:center !important; justify-content:center !important; }

/* === KW · RED DIOCESANA AJUSTE === */
.kw-red-diocesana-grid{ display:flex !important; flex-wrap:wrap !important; justify-content:center !important; gap:24px !important; }
.kw-red-diocesana-grid > .kw-red-diocesana-item{ flex:0 1 215px !important; }
.kw-red-diocesana-logo{ height:112px !important; }
.kw-red-diocesana-logo img{ max-height:100% !important; max-width:88% !important; }
/* === fin KW · RED DIOCESANA AJUSTE === */

/* === KW · PAGINAS LEGALES === */
.kw-legal{ text-align:left; }
.kw-legal h2{ color:#1E2A3A !important; font-size:clamp(1.25rem,2.4vw,1.55rem) !important; font-weight:700; margin-top:2.4rem !important; margin-bottom:.6rem !important; padding-bottom:.5rem; border-bottom:2px solid #F8DC38; }
.kw-legal p, .kw-legal li{ color:#2D3848; line-height:1.75; font-size:16px; }
.kw-legal p{ margin-bottom:1rem; }
.kw-legal ul.wp-block-list{ padding-left:1.3rem; margin:0 0 1.2rem; }
.kw-legal li{ margin-bottom:.65rem; }
.kw-legal a{ color:#306A95; text-decoration:underline; }
.kw-legal a:hover{ color:#4E7CDE; }
.kw-legal-copyright{ margin-top:2.6rem !important; padding-top:1.2rem; border-top:1px solid #e3e8f0; text-align:center; color:#4A5666; font-size:.95rem !important; }
/* === fin KW · PAGINAS LEGALES === */

/* === KW · TABLAS LEGALES === */
.kw-legal-table table{ width:100%; border-collapse:collapse; margin:1rem 0 1.6rem; font-size:15px; }
.kw-legal-table th{ background:#306A95; color:#FFFFFF; text-align:left; padding:11px 14px; font-weight:600; }
.kw-legal-table td{ border:1px solid #e3e8f0; padding:11px 14px; vertical-align:top; color:#2D3848; line-height:1.6; }
.kw-legal-table tbody tr:nth-child(even) td{ background:#f6f8fc; }
.kw-legal-table td strong{ color:#1E2A3A; }
.kw-legal-table .wp-element-caption{ font-size:.9rem; color:#4A5666; margin-top:.5rem; text-align:left; }
@media(max-width:600px){ .kw-legal-table table{ font-size:13px; } .kw-legal-table th,.kw-legal-table td{ padding:8px 10px; } }
/* === fin KW · TABLAS LEGALES === */

/* === KW · GALERIA INSTALACIONES === */
.kw-instalaciones-galeria{ gap:20px !important; margin-top:1rem; }
.kw-instalaciones-galeria figure.wp-block-image{ overflow:hidden; border-radius:16px; margin:0; }
.kw-instalaciones-galeria figure.wp-block-image img{ border-radius:16px; box-shadow:0 14px 34px rgba(48,106,149,.16); width:100%; height:100%; min-height:260px; object-fit:cover; cursor:zoom-in; transition:transform .5s cubic-bezier(.2,.8,.2,1), box-shadow .5s ease; }
.kw-instalaciones-galeria figure.wp-block-image:hover img{ transform:scale(1.05); box-shadow:0 22px 48px rgba(48,106,149,.24); }
@media(max-width:600px){ .kw-instalaciones-galeria{ gap:14px !important; } .kw-instalaciones-galeria figure.wp-block-image img{ min-height:200px; } }
/* === fin KW · GALERIA INSTALACIONES === */

/* kw-galeria-grid-fix */
.kw-instalaciones-galeria{ display:grid !important; grid-template-columns:repeat(2,1fr) !important; gap:20px !important; }
.kw-instalaciones-galeria figure.wp-block-image{ width:auto !important; max-width:none !important; flex:none !important; margin:0 !important; }
.kw-instalaciones-galeria figure.wp-block-image img{ min-height:300px !important; }
@media(max-width:680px){ .kw-instalaciones-galeria{ grid-template-columns:1fr !important; } .kw-instalaciones-galeria figure.wp-block-image img{ min-height:220px !important; } }
/* KW · HERO SLIDER */
.kw-hero-slider{position:relative;width:100%;min-height:82vh;overflow:hidden;background:#1E2A3A}
.kw-hero-slide{position:absolute;inset:0;background-size:cover;background-position:center;display:flex;align-items:center;opacity:0;visibility:hidden;transition:opacity 1.1s ease}
.kw-hero-slide.kw-hs-active{opacity:1;visibility:visible}
.kw-hero-slide-inner{max-width:1180px;width:100%;margin:0 auto;padding:152px 6vw 70px}
.kw-hs-eyebrow{display:inline-block;background:#F8DC38;color:#1E2A3A;font-weight:700;font-size:12.5px;letter-spacing:.15em;text-transform:uppercase;padding:8px 18px;border-radius:999px}
.kw-hs-title{color:#fff;font-size:clamp(2.3rem,5vw,4rem);line-height:1.06;font-weight:800;margin:1.3rem 0 1.1rem;max-width:18ch;text-shadow:0 2px 18px rgba(0,0,0,.28)}
.kw-hs-title em{color:#F8DC38;font-style:normal}
.kw-hs-desc{color:#fff;font-size:clamp(1.02rem,1.35vw,1.22rem);line-height:1.65;max-width:50ch;margin:0;opacity:.97;text-shadow:0 1px 10px rgba(0,0,0,.3)}
.kw-hs-btns{display:flex;gap:15px;flex-wrap:wrap;margin-top:2rem}
.kw-hs-btn{display:inline-block;padding:14px 32px;border-radius:999px;font-weight:600;text-decoration:none;font-size:1.02rem;transition:transform .25s ease,box-shadow .25s ease,background .25s ease}
.kw-hs-btn-primary{background:#F8DC38;color:#1E2A3A}
.kw-hs-btn-primary:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(248,220,56,.42)}
.kw-hs-btn-ghost{border:1.6px solid rgba(255,255,255,.75);color:#fff}
.kw-hs-btn-ghost:hover{background:rgba(255,255,255,.14)}
.kw-hs-meta{color:#F8DC38;font-weight:600;margin:1.5rem 0 0;font-size:.96rem}
.kw-hs-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:6;width:56px;height:56px;border-radius:50%;border:1.5px solid rgba(255,255,255,.55);background:rgba(30,42,58,.18);cursor:pointer;backdrop-filter:blur(6px);transition:all .3s ease;font-size:0;display:flex;align-items:center;justify-content:center}.kw-hs-arrow::before{content:"";width:11px;height:11px;border-top:2px solid #fff;border-right:2px solid #fff;transition:border-color .3s ease}.kw-hs-prev::before{transform:rotate(-135deg);margin-left:4px}.kw-hs-next::before{transform:rotate(45deg);margin-right:4px}
.kw-hs-arrow:hover{background:#fff;border-color:#fff;box-shadow:0 8px 24px rgba(0,0,0,.18)}.kw-hs-arrow:hover::before{border-color:#1E2A3A}
.kw-hs-prev{left:30px}.kw-hs-next{right:30px}
.kw-hs-dots{position:absolute;bottom:26px;left:0;right:0;display:flex;justify-content:center;gap:10px;z-index:6}
.kw-hs-dot{width:9px;height:9px;padding:0;border-radius:50%;border:1.5px solid rgba(255,255,255,.7);background:transparent;cursor:pointer;transition:all .3s ease}.kw-hs-dot:hover{background:rgba(255,255,255,.6)}
.kw-hs-dot.kw-hs-dot-active{background:#F8DC38;border-color:#F8DC38;transform:scale(1.15)}
@media(max-width:921px){.kw-hero-slider{min-height:88vh}.kw-hs-arrow{width:46px;height:46px}.kw-hs-prev{left:12px}.kw-hs-next{right:12px}.kw-hero-slide-inner{padding:124px 7vw 60px}}
@media(max-width:600px){.kw-hs-arrow{display:none}.kw-hs-title{max-width:none}}


/* KW · AJUSTES 10-JUN */
/* Hero slider: clearance para que la pill no quede bajo la cabecera */
.kw-hero-slider .kw-hero-slide-inner{padding-top:188px;}
body.admin-bar .kw-hero-slider .kw-hero-slide-inner{padding-top:220px;}
@media (max-width:921px){
  .kw-hero-slider .kw-hero-slide-inner{padding-top:140px;}
  body.admin-bar .kw-hero-slider .kw-hero-slide-inner{padding-top:186px;}
}
/* Logo más grande sin aumentar la barra (sección izq absoluta, centrada) */
@media (min-width:922px){
  .site-header-primary-section-left .custom-logo{height:104px !important;max-height:104px !important;width:auto !important;}
  .site-header-primary-section-left{z-index:60;}
}


/* KW · AJUSTES 10-JUN B */
/* 1) Cards de noticias compactas y alineadas (Home + /noticias/ + posts futuros) */
.uagb-post-grid .uagb-post__inner-wrap{display:flex;flex-direction:column;height:100%;}
.uagb-post-grid .uagb-post__image{margin:0;}
.uagb-post-grid .uagb-post__image img{aspect-ratio:3/2;object-fit:cover;width:100%;height:auto;}
.uagb-post-grid .uagb-post__inner-wrap > .uagb-post__title{padding:22px 22px 0 !important;margin:0 0 10px !important;}
.uagb-post-grid .uagb-post__inner-wrap > .uagb-post-grid-byline{padding:0 22px !important;margin:0 0 12px !important;}
.uagb-post-grid .uagb-post__inner-wrap > .uagb-post__excerpt{padding:0 22px !important;margin:0 0 18px !important;}
.uagb-post-grid .uagb-post__inner-wrap > .uagb-post__cta{padding:0 22px 24px !important;margin-top:auto !important;}
/* 2) Mitad de espacio entre Etapas y Servicios (Home) */
body.home .kw-etapas-home-section{padding-bottom:40px !important;}
body.home .kw-servicios-section{padding-top:40px !important;}
/* 3) Reservar altura del calendario async (evita el salto/reajuste al final) */
#kw-cal{min-height:620px;}
@media(max-width:921px){#kw-cal{min-height:520px;}}


/* KW · CONOCENOS REDISEÑO */
.kw-cn-sec .kw-cn-eyebrow{display:table;margin:0 auto 16px;background:#F8DC38;color:#1E2A3A;font-weight:700;font-size:13px;letter-spacing:.14em;text-transform:uppercase;padding:6px 18px;border-radius:999px;}
.kw-cn-sec .kw-cn-h2{font-family:'Instrument Serif',serif;font-weight:400;font-size:clamp(30px,4vw,44px);color:#1E2A3A;text-align:center;margin:0 0 18px;line-height:1.15;}
.kw-cn-sec .kw-cn-intro{max-width:780px;margin:0 auto 14px;text-align:center;line-height:1.7;}
.kw-cn-sec .kw-cn-grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;max-width:1180px !important;margin:38px auto 0 !important;}
.kw-cn-card{background:#fff;border:1px solid rgba(30,42,58,.08);border-radius:18px;padding:30px 28px;box-shadow:0 10px 30px rgba(10,31,68,.06);transition:transform .35s ease,box-shadow .35s ease;}
.kw-cn-card:hover{transform:translateY(-6px);box-shadow:0 18px 44px rgba(10,31,68,.12);}
.kw-cn-card h3{font-size:21px;margin:0 0 10px;color:#1E2A3A;}
.kw-cn-card p{margin:0;font-size:16.5px;line-height:1.6;}
.kw-cn-cita{background:linear-gradient(135deg,#0A1F44,#1E2A3A);text-align:center;}
.kw-cn-cita .kw-cn-cita-txt{font-family:'Instrument Serif',serif;font-size:clamp(24px,3.2vw,36px);line-height:1.35;color:#fff;max-width:920px;margin:0 auto;}
.kw-cn-cita .kw-cn-cita-txt em{color:#F8DC38;}
.kw-cn-cita .kw-cn-cita-src{color:rgba(255,255,255,.7);font-size:15px;margin:18px auto 0;}
.kw-cn-sec .kw-mv-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:1020px !important;margin:38px auto 0 !important;}
.kw-mv-card{border-radius:18px;padding:34px 30px;}
.kw-mv-card h3{font-size:22px;margin:0 0 12px;}
.kw-mv-card p{margin:0;line-height:1.65;}
.kw-mv-mision{background:#1E2A3A;}
.kw-mv-mision h3{color:#F8DC38;}
.kw-mv-mision p{color:rgba(255,255,255,.92);}
.kw-mv-vision{background:#fff;border:1px solid rgba(30,42,58,.08);box-shadow:0 10px 30px rgba(10,31,68,.06);}
.kw-mv-vision h3{color:#306A95;}
.kw-cn-sec .kw-valores-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px;max-width:1180px !important;margin:26px auto 0 !important;}
.kw-valor-card{background:#fff;border-left:4px solid #F8DC38;border-radius:12px;padding:18px 20px;box-shadow:0 6px 18px rgba(10,31,68,.05);}
.kw-valor-card h3{font-size:17px;margin:0 0 6px;color:#306A95;}
.kw-valor-card p{margin:0;font-size:15.5px;line-height:1.55;}
.kw-cn-sec .kw-equipo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;max-width:1180px !important;margin:38px auto 0 !important;}
.kw-equipo-card{background:#fff;border-top:4px solid #306A95;border-radius:14px;padding:26px 24px;box-shadow:0 8px 24px rgba(10,31,68,.06);}
.kw-equipo-card h3{font-size:18px;margin:0 0 14px;color:#1E2A3A;}
.kw-equipo-card p{margin:0 0 12px;font-size:15px;line-height:1.55;}
.kw-equipo-card p strong{color:#1E2A3A;}
@media(max-width:921px){.kw-cn-sec .kw-cn-grid3{grid-template-columns:1fr;}.kw-cn-sec .kw-mv-grid{grid-template-columns:1fr;}.kw-cn-sec .kw-equipo-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:600px){.kw-cn-sec .kw-equipo-grid{grid-template-columns:1fr;}}


/* KW · DOC PDF */
.kw-doc-section{max-width:860px;margin:0 auto;padding:6px 24px 72px;}
.kw-doc-card{display:flex;align-items:center;gap:22px;background:#fff;border:1px solid rgba(30,42,58,.1);border-radius:18px;padding:26px 30px;box-shadow:0 12px 34px rgba(10,31,68,.08);text-decoration:none;transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease;}
.kw-doc-card:hover{transform:translateY(-5px);box-shadow:0 20px 48px rgba(10,31,68,.14);border-color:#F8DC38;}
.kw-doc-ico{position:relative;flex:0 0 auto;width:64px;height:64px;border-radius:16px;background:#1E2A3A;color:#F8DC38;display:flex;align-items:center;justify-content:center;animation:kw-doc-float 3.2s ease-in-out infinite;}
.kw-doc-badge{position:absolute;bottom:-7px;right:-10px;background:#E2574C;color:#fff;font-size:10.5px;font-weight:800;letter-spacing:.06em;padding:3px 7px;border-radius:6px;}
@keyframes kw-doc-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
.kw-doc-txt{display:flex;flex-direction:column;gap:4px;flex:1;}
.kw-doc-txt strong{color:#1E2A3A;font-size:19px;}
.kw-doc-txt span{color:#4a5568;font-size:15.5px;line-height:1.5;}
.kw-doc-btn{flex:0 0 auto;background:#306A95;color:#fff;font-weight:700;font-size:15px;padding:12px 22px;border-radius:999px;transition:background .3s ease;}
.kw-doc-card:hover .kw-doc-btn{background:#1E2A3A;}
@media(max-width:700px){.kw-doc-card{flex-direction:column;text-align:center;}.kw-doc-txt{align-items:center;}}
@media(prefers-reduced-motion:reduce){.kw-doc-ico{animation:none;}}
/* kw-doc-card no underline */
.kw-doc-card,.kw-doc-card:hover,.kw-doc-card .kw-doc-txt strong,.kw-doc-card .kw-doc-txt span{text-decoration:none !important;}

/* KW · DOC PDF GRID */
.kw-doc-multi{max-width:1180px;}
.kw-doc-title{font-family:Instrument Serif,serif;font-weight:400;font-size:clamp(26px,3.4vw,38px);color:#1E2A3A;text-align:center;margin:0 0 28px;}
.kw-doc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.kw-doc-vert{flex-direction:column;text-align:center;gap:16px;padding:32px 24px;}
.kw-doc-vert .kw-doc-txt{align-items:center;}
@media(max-width:921px){.kw-doc-grid{grid-template-columns:1fr;}}

/* KW · CONOCENOS AJUSTE TIPO · igualar tipografía al resto del sitio y fix descuadre grids */
.kw-cn-sec .kw-cn-h2{font-family:inherit;font-size:clamp(34px,4.2vw,52px);font-weight:400;color:#306A95;letter-spacing:-0.02em;line-height:1.05;}
.kw-doc-title{font-family:inherit;font-weight:400;color:#306A95;letter-spacing:-0.02em;font-size:clamp(30px,3.6vw,44px);}
.kw-cn-cita .kw-cn-cita-txt{font-family:inherit;letter-spacing:-0.02em;font-weight:400;}
.kw-cn-card h3{color:#306A95;font-weight:400;font-size:24px;}
.kw-equipo-card h3{color:#306A95;font-weight:400;font-size:22px;}
.kw-valor-card h3{font-weight:600;font-size:18px;}
.kw-mv-card h3{font-weight:400;font-size:26px;}
.kw-cn-sec .kw-cn-grid3 > *,.kw-cn-sec .kw-mv-grid > *,.kw-cn-sec .kw-valores-grid > *,.kw-cn-sec .kw-equipo-grid > *,.kw-doc-grid > *{margin-block-start:0 !important;margin-top:0 !important;}
.kw-cn-sec .kw-cn-grid3,.kw-cn-sec .kw-mv-grid,.kw-cn-sec .kw-equipo-grid{align-items:stretch;}

/* KW · DOC PDF PENDING */
.kw-doc-pending{cursor:default;}
.kw-doc-pending .kw-doc-ico{background:#8a94a3;color:#fff;animation:none;}
.kw-doc-pending .kw-doc-badge{background:#8a94a3;}
.kw-doc-pending .kw-doc-btn{background:#e6e9ee;color:#5a6573;}
.kw-doc-pending:hover{transform:none;box-shadow:0 12px 34px rgba(10,31,68,.08);border-color:rgba(30,42,58,.1);}
.kw-doc-pending:hover .kw-doc-btn{background:#e6e9ee;}

/* KW · DOC SNAPP */
.kw-doc-sub{text-align:center;max-width:680px;margin:-12px auto 30px;color:#4a5568;font-size:17px;}
.kw-doc-step{display:inline-block;background:#F8DC38;color:#1E2A3A;font-weight:800;font-size:12px;letter-spacing:.12em;text-transform:uppercase;padding:4px 14px;border-radius:999px;}
.kw-doc-vert{position:relative;}
.kw-doc-ico-web{background:#306A95;color:#fff;}
.kw-doc-badge-web{background:#1E2A3A;}
.kw-doc-registro{background:#1E2A3A;border-color:#1E2A3A;}
.kw-doc-registro .kw-doc-txt strong{color:#fff;}
.kw-doc-registro .kw-doc-txt span{color:rgba(255,255,255,.78);}
.kw-doc-registro .kw-doc-ico-web{background:rgba(255,255,255,.12);color:#F8DC38;}
.kw-doc-btn-registro{background:#F8DC38;color:#1E2A3A;}
.kw-doc-registro:hover{border-color:#F8DC38;}
.kw-doc-card:hover .kw-doc-btn-registro{background:#fff;color:#1E2A3A;}

/* KW · COMEDOR DOCS */
.kw-comedor-ventajas{max-width:720px;margin:26px auto 0 !important;list-style:none;padding:0;display:grid;gap:12px;}
.kw-comedor-ventajas li{position:relative;padding:14px 18px 14px 52px;background:#fff;border-radius:12px;box-shadow:0 6px 18px rgba(10,31,68,.05);font-size:16.5px;line-height:1.55;margin:0 !important;}
.kw-comedor-ventajas li::before{content:"\2713";position:absolute;left:18px;top:50%;transform:translateY(-50%);width:24px;height:24px;border-radius:50%;background:#F8DC38;color:#1E2A3A;font-weight:800;font-size:13px;display:flex;align-items:center;justify-content:center;}
.kw-cn-sec .kw-menus-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;max-width:1180px !important;margin:34px auto 0 !important;}
.kw-cn-sec .kw-menus-grid > *{margin-block-start:0 !important;margin-top:0 !important;}
.kw-menu-card{position:relative;background:#fff;border:1px solid rgba(30,42,58,.08);border-radius:14px;padding:30px 18px 24px;box-shadow:0 8px 24px rgba(10,31,68,.06);text-align:center;transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease;}
.kw-menu-card:hover{transform:translateY(-5px);box-shadow:0 16px 38px rgba(10,31,68,.12);border-color:#F8DC38;}
.kw-menu-card::before{content:"PDF";position:absolute;top:12px;right:12px;background:#E2574C;color:#fff;font-size:10px;font-weight:800;letter-spacing:.06em;padding:3px 7px;border-radius:6px;}
.kw-menu-card h3{font-size:19px;font-weight:400;color:#1E2A3A;margin:0 0 14px;}
.kw-menu-card .wp-block-buttons{margin:0;}
.kw-menu-card .kw-menu-btn .wp-block-button__link{background:#306A95;color:#fff;font-size:14px;font-weight:700;padding:10px 20px;border-radius:999px;transition:background .3s ease;}
.kw-menu-card:hover .kw-menu-btn .wp-block-button__link{background:#1E2A3A;}
@media(max-width:921px){.kw-cn-sec .kw-menus-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:520px){.kw-cn-sec .kw-menus-grid{grid-template-columns:1fr;}}

/* KW · COMEDOR ICONOS */
.kw-menu-card h3::before{display:block;font-size:36px;line-height:1;margin:0 auto 10px;}
.kw-menu-ico-basal h3::before{content:"🍽️";}
.kw-menu-ico-triturados h3::before{content:"🥣";}
.kw-menu-ico-gluten h3::before{content:"🌾";}
.kw-menu-ico-lactosa h3::before{content:"🥛";}
.kw-menu-ico-huevo h3::before{content:"🥚";}
.kw-menu-ico-legumbres h3::before{content:"🥜";}
.kw-menu-ico-plv h3::before{content:"🐮";}

/* KW · NOTICIAS BTN MINIMAL */
.uagb-post-grid .uagb-post__inner-wrap > .uagb-post__cta{padding:14px 22px 26px !important;}
.uagb-post-grid .uagb-post__cta .wp-block-button__link, .uagb-post-grid .uagb-post__cta a{display:inline-block;background:transparent !important;color:#306A95 !important;border:1.5px solid rgba(48,106,149,.45) !important;border-radius:999px !important;font-size:14px !important;font-weight:600 !important;letter-spacing:.01em;padding:9px 24px !important;line-height:1.2 !important;transition:background .3s ease,color .3s ease,border-color .3s ease;}
.uagb-post-grid .uagb-post__cta .wp-block-button__link:hover, .uagb-post-grid .uagb-post__cta a:hover{background:#306A95 !important;color:#fff !important;border-color:#306A95 !important;}

/* KW · NOTICIAS BTN AMARILLO (mantiene tamaño minimal) */
.uagb-post-grid .uagb-post__cta .wp-block-button__link, .uagb-post-grid .uagb-post__cta a{background:#F8DC38 !important;color:#1E2A3A !important;border-color:#F8DC38 !important;}
.uagb-post-grid .uagb-post__cta .wp-block-button__link:hover, .uagb-post-grid .uagb-post__cta a:hover{background:#1E2A3A !important;color:#F8DC38 !important;border-color:#1E2A3A !important;}

/* KW · HEROS CON FOTO (secretaria 541, orientacion 540, pastoral 59) */
body.page-id-541 .kw-page-hero-section{background:linear-gradient(135deg,rgba(30,42,58,.92) 0%,rgba(38,74,102,.85) 55%,rgba(48,106,149,.78) 100%),url(https://www.colegiokw.com/wp-content/uploads/2026/06/hero-secretaria.jpg) center/cover no-repeat !important;}
body.page-id-540 .kw-page-hero-section{background:linear-gradient(135deg,rgba(30,42,58,.92) 0%,rgba(38,74,102,.85) 55%,rgba(48,106,149,.78) 100%),url(https://www.colegiokw.com/wp-content/uploads/2026/06/hero-orientacion.jpg) center/cover no-repeat !important;}
body.page-id-59 .kw-page-hero-section{background:linear-gradient(135deg,rgba(30,42,58,.92) 0%,rgba(38,74,102,.85) 55%,rgba(48,106,149,.78) 100%),url(https://www.colegiokw.com/wp-content/uploads/2026/06/hero-pastoral.jpg) center/cover no-repeat !important;}

/* KW · HEROS FOTO V2 · overlay mas transparente + centrado vertical */
body.page-id-541 .kw-page-hero-section{background:linear-gradient(135deg,rgba(30,42,58,.78) 0%,rgba(38,74,102,.64) 55%,rgba(48,106,149,.52) 100%),url(https://www.colegiokw.com/wp-content/uploads/2026/06/hero-secretaria.jpg) center/cover no-repeat !important;}
body.page-id-540 .kw-page-hero-section{background:linear-gradient(135deg,rgba(30,42,58,.78) 0%,rgba(38,74,102,.64) 55%,rgba(48,106,149,.52) 100%),url(https://www.colegiokw.com/wp-content/uploads/2026/06/hero-orientacion.jpg) center/cover no-repeat !important;}
body.page-id-59 .kw-page-hero-section{background:linear-gradient(135deg,rgba(30,42,58,.78) 0%,rgba(38,74,102,.64) 55%,rgba(48,106,149,.52) 100%),url(https://www.colegiokw.com/wp-content/uploads/2026/06/hero-pastoral.jpg) center/cover no-repeat !important;}
body.page-id-541 .kw-page-hero-section,body.page-id-540 .kw-page-hero-section,body.page-id-59 .kw-page-hero-section{display:flex;flex-direction:column;justify-content:center;min-height:560px;padding-bottom:64px !important;}
@media(max-width:921px){body.page-id-541 .kw-page-hero-section,body.page-id-540 .kw-page-hero-section,body.page-id-59 .kw-page-hero-section{min-height:480px;}}

/* KW · HEROS FOTO V3 · centrado vertical real (paddings iguales) */
body.page-id-541 .kw-page-hero-section,body.page-id-540 .kw-page-hero-section,body.page-id-59 .kw-page-hero-section{padding-top:64px !important;padding-bottom:64px !important;}
@media(max-width:921px){body.page-id-541 .kw-page-hero-section,body.page-id-540 .kw-page-hero-section,body.page-id-59 .kw-page-hero-section{padding-top:48px !important;padding-bottom:48px !important;}}

/* KW · HEROS FOTO V4 · especificidad para ganar al clearance 156px */
body.page.page-id-541 .wp-block-group.kw-page-hero-section,body.page.page-id-540 .wp-block-group.kw-page-hero-section,body.page.page-id-59 .wp-block-group.kw-page-hero-section{padding-top:64px !important;padding-bottom:64px !important;}
@media(max-width:921px){body.page.page-id-541 .wp-block-group.kw-page-hero-section,body.page.page-id-540 .wp-block-group.kw-page-hero-section,body.page.page-id-59 .wp-block-group.kw-page-hero-section{padding-top:48px !important;padding-bottom:48px !important;}}

/* KW · FIX HERO RISE STUCK · kw-hero-rise (scroll-driven) se congela a 28px en heros above-the-fold */
.kw-page-hero-section > *{animation:none !important;transform:none !important;opacity:1 !important;}

/* KW · PASTORAL HERO OFFSET · igualar a orientacion (hero era full-bleed bajo cabecera) */
body.page.page-id-59 .wp-block-group.kw-page-hero-section{margin-top:171px;}
@media(max-width:921px){body.page.page-id-59 .wp-block-group.kw-page-hero-section{margin-top:120px;}}

/* KW · HEROS FOTO CONOCENOS PROYECTO */
body.page.page-id-81 .wp-block-group.kw-page-hero-section{background:linear-gradient(135deg,rgba(30,42,58,.78) 0%,rgba(38,74,102,.64) 55%,rgba(48,106,149,.52) 100%),url(https://www.colegiokw.com/wp-content/uploads/2026/06/instalaciones-colegio-karol-wojtyla-4.jpg) center/cover no-repeat !important;}
body.page.page-id-57 .wp-block-group.kw-page-hero-section{background:linear-gradient(135deg,rgba(30,42,58,.78) 0%,rgba(38,74,102,.64) 55%,rgba(48,106,149,.52) 100%),url(https://www.colegiokw.com/wp-content/uploads/2026/06/Huerto-Escolar.jpg) center/cover no-repeat !important;}

/* KW · HEROS FOTO TANDA 3 (82 eventos, 83 instalaciones, 84 ubicacion, 85 trabaja) */
body.page.page-id-82 .wp-block-group.kw-page-hero-section{background:linear-gradient(135deg,rgba(30,42,58,.78) 0%,rgba(38,74,102,.64) 55%,rgba(48,106,149,.52) 100%),url(https://www.colegiokw.com/wp-content/uploads/2026/05/eventos-colegio.jpg) center/cover no-repeat !important;}
body.page.page-id-83 .wp-block-group.kw-page-hero-section{background:linear-gradient(135deg,rgba(30,42,58,.78) 0%,rgba(38,74,102,.64) 55%,rgba(48,106,149,.52) 100%),url(https://www.colegiokw.com/wp-content/uploads/2026/06/Cafeteria.jpg) center/cover no-repeat !important;}
body.page.page-id-84 .wp-block-group.kw-page-hero-section{background:linear-gradient(135deg,rgba(30,42,58,.78) 0%,rgba(38,74,102,.64) 55%,rgba(48,106,149,.52) 100%),url(https://www.colegiokw.com/wp-content/uploads/2026/06/toledo.jpg) center/cover no-repeat !important;}
body.page.page-id-85 .wp-block-group.kw-page-hero-section{background:linear-gradient(135deg,rgba(30,42,58,.78) 0%,rgba(38,74,102,.64) 55%,rgba(48,106,149,.52) 100%),url(https://www.colegiokw.com/wp-content/uploads/2026/05/trabaja-con-nosotros-profesora.jpg) center/cover no-repeat !important;}

/* KW · HERO FOTO INTERCAMBIO */
body.page.page-id-105 .wp-block-group.kw-page-hero-section{background:linear-gradient(135deg,rgba(30,42,58,.78) 0%,rgba(38,74,102,.64) 55%,rgba(48,106,149,.52) 100%),url(https://www.colegiokw.com/wp-content/uploads/2026/06/programa-de-intercambio.jpg) center/cover no-repeat !important;}

/* KW · HEROS FOTO TANDA 4 (10 páginas, Depositphotos optimizadas) */
body.page.page-id-93 .wp-block-group.kw-page-hero-section{background:linear-gradient(135deg,rgba(30,42,58,.78) 0%,rgba(38,74,102,.64) 55%,rgba(48,106,149,.52) 100%),url(https://www.colegiokw.com/wp-content/uploads/2026/06/Academia-de-Talento-y-Competencias.jpg) center/cover no-repeat !important;}
body.page.page-id-94 .wp-block-group.kw-page-hero-section{background:linear-gradient(135deg,rgba(30,42,58,.78) 0%,rgba(38,74,102,.64) 55%,rgba(48,106,149,.52) 100%),url(https://www.colegiokw.com/wp-content/uploads/2026/06/kw-academia-artes-plasticas-pintura.jpg) center/cover no-repeat !important;}
body.page.page-id-95 .wp-block-group.kw-page-hero-section{background:linear-gradient(135deg,rgba(30,42,58,.78) 0%,rgba(38,74,102,.64) 55%,rgba(48,106,149,.52) 100%),url(https://www.colegiokw.com/wp-content/uploads/2026/06/kw-academia-musica-piano.jpg) center/cover no-repeat !important;}
body.page.page-id-97 .wp-block-group.kw-page-hero-section{background:linear-gradient(135deg,rgba(30,42,58,.78) 0%,rgba(38,74,102,.64) 55%,rgba(48,106,149,.52) 100%),url(https://www.colegiokw.com/wp-content/uploads/2026/06/kw-academia-tecnologia-robotica.jpg) center/cover no-repeat !important;}
body.page.page-id-60 .wp-block-group.kw-page-hero-section{background:linear-gradient(135deg,rgba(30,42,58,.78) 0%,rgba(38,74,102,.64) 55%,rgba(48,106,149,.52) 100%),url(https://www.colegiokw.com/wp-content/uploads/2026/06/biblioteca-del-Colegio-KW.jpeg) center/cover no-repeat !important;}
body.page.page-id-101 .wp-block-group.kw-page-hero-section{background:linear-gradient(135deg,rgba(30,42,58,.78) 0%,rgba(38,74,102,.64) 55%,rgba(48,106,149,.52) 100%),url(https://www.colegiokw.com/wp-content/uploads/2026/06/kw-uniforme-escolar-mochilas.jpg) center/cover no-repeat !important;}
body.page.page-id-103 .wp-block-group.kw-page-hero-section{background:linear-gradient(135deg,rgba(30,42,58,.78) 0%,rgba(38,74,102,.64) 55%,rgba(48,106,149,.52) 100%),url(https://www.colegiokw.com/wp-content/uploads/2026/06/kw-calendario-escolar-material.jpg) center/cover no-repeat !important;}
body.page.page-id-104 .wp-block-group.kw-page-hero-section{background:linear-gradient(135deg,rgba(30,42,58,.78) 0%,rgba(38,74,102,.64) 55%,rgba(48,106,149,.52) 100%),url(https://www.colegiokw.com/wp-content/uploads/2026/06/kw-campamentos-excursion-bosque.jpg) center/cover no-repeat !important;}
body.page.page-id-107 .wp-block-group.kw-page-hero-section{background:linear-gradient(135deg,rgba(30,42,58,.78) 0%,rgba(38,74,102,.64) 55%,rgba(48,106,149,.52) 100%),url(https://www.colegiokw.com/wp-content/uploads/2026/06/kw-visita-personalizada-entrevista.jpg) center/cover no-repeat !important;}
body.page.page-id-108 .wp-block-group.kw-page-hero-section{background:linear-gradient(135deg,rgba(30,42,58,.78) 0%,rgba(38,74,102,.64) 55%,rgba(48,106,149,.52) 100%),url(https://www.colegiokw.com/wp-content/uploads/2026/06/kw-jornada-puertas-abiertas-pasillo.jpg) center/cover no-repeat !important;}

/* KW · HERO NOTICIAS + PREMIUM TOUCHES */
body.page.page-id-532 .wp-block-group.kw-page-hero-section{background:linear-gradient(135deg,rgba(30,42,58,.82) 0%,rgba(38,74,102,.68) 55%,rgba(48,106,149,.55) 100%),url(https://www.colegiokw.com/wp-content/uploads/2026/06/kw-noticias-aula-colegio.jpg) center/cover no-repeat !important;display:flex;flex-direction:column;justify-content:center;min-height:560px;padding-top:64px !important;padding-bottom:64px !important;}
@media(max-width:921px){body.page.page-id-532 .wp-block-group.kw-page-hero-section{min-height:480px;padding-top:48px !important;padding-bottom:48px !important;}}
/* Toques premium globales */
::selection{background:#F8DC38;color:#1E2A3A;}
body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}
@media(min-width:922px){::-webkit-scrollbar{width:11px;}::-webkit-scrollbar-track{background:#eef1f5;}::-webkit-scrollbar-thumb{background:#306A95;border-radius:6px;border:2px solid #eef1f5;}::-webkit-scrollbar-thumb:hover{background:#1E2A3A;}}
a{transition:color .25s ease,opacity .25s ease;}
img{image-rendering:auto;}

/* KW · FLECHAS HERO PREMIUM */
.kw-hs-arrow{width:54px !important;height:54px !important;border-radius:50% !important;background:rgba(255,255,255,.10) !important;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1.5px solid rgba(255,255,255,.6) !important;transition:background .3s ease,border-color .3s ease,transform .3s ease;cursor:pointer;}
.kw-hs-arrow::before{content:"" !important;position:absolute;top:50%;left:50%;width:13px !important;height:13px !important;border-top:3px solid #fff !important;border-right:3px solid #fff !important;border-left:none !important;border-bottom:none !important;border-radius:1px;}
.kw-hs-next::before{transform:translate(-62%,-50%) rotate(45deg) !important;}
.kw-hs-prev::before{transform:translate(-38%,-50%) rotate(-135deg) !important;}
.kw-hs-arrow:hover{background:#F8DC38 !important;border-color:#F8DC38 !important;transform:scale(1.08);}
.kw-hs-arrow:hover::before{border-color:#1E2A3A !important;}
@media(max-width:921px){.kw-hs-arrow{width:44px !important;height:44px !important;}}

/* KW · CARRUSEL V2 (motor transform) + fix padding flechas slider */
.kw-servicios-carousel{overflow:hidden !important;scroll-snap-type:none !important;}
.kw-srv-track{display:flex;gap:24px;transition:transform .65s cubic-bezier(.22,.8,.3,1);will-change:transform;}
.kw-srv-track > *{flex:0 0 auto;}
.kw-hs-arrow{padding:0 !important;}

/* KW · CIFRAS PREMIUM · bloques datos academia/etapa: contraste, tamaño, full-width */
body .kw-cifras-section{max-width:none !important;width:auto !important;margin-left:0 !important;margin-right:0 !important;background:linear-gradient(135deg,#1E2A3A 0%,#264A66 55%,#306A95 100%) !important;padding:84px 24px !important;}
.kw-cifras-section .uagb-pre-heading-text{color:#F8DC38 !important;background:none !important;font-size:13px !important;font-weight:700;letter-spacing:.16em;text-transform:uppercase;opacity:1 !important;}
.kw-cifras-section .uagb-heading-text{color:#fff !important;background:none !important;}
.kw-cifras-section .wp-block-uagb-counter *{color:rgba(255,255,255,.92);}
.kw-cifras-section .uagb-counter-value{font-size:clamp(44px,5vw,68px) !important;font-weight:700 !important;color:#F8DC38 !important;line-height:1.05 !important;}
.kw-cifras-section > p:last-child, .kw-cifras-section p[class*=nota]{color:rgba(255,255,255,.55) !important;font-size:13.5px !important;}
@media(max-width:921px){.kw-cifras-section .uagb-counter-value{font-size:42px !important;}}

/* KW · GLASS + REVEAL */
body.kw-glass #masthead{position:fixed !important;top:0;left:0;right:0;z-index:1100;background:rgba(255,255,255,.88) !important;backdrop-filter:blur(14px) saturate(1.4);-webkit-backdrop-filter:blur(14px) saturate(1.4);box-shadow:0 10px 34px rgba(10,31,68,.10);animation:kw-hdr-in .45s cubic-bezier(.22,.8,.3,1);}
body.admin-bar.kw-glass #masthead{top:32px;}
@keyframes kw-hdr-in{from{transform:translateY(-110%);}to{transform:translateY(0);}}
.kw-pre{opacity:0;transform:translateY(22px);transition:opacity .6s ease,transform .65s cubic-bezier(.22,.8,.3,1);}
.kw-in{opacity:1 !important;transform:none !important;}
@media(prefers-reduced-motion:reduce){.kw-pre{opacity:1 !important;transform:none !important;}}

/* KW reveal failsafe: si el JS fallara, todo visible a los 4s */
.kw-pre{animation:kwPreFailsafe .5s ease 4s forwards;}
@keyframes kwPreFailsafe{to{opacity:1;transform:none;}}

/* KW · HEROS UNIFICADOS · patron Orientacion en todas las interiores */
body.page:is(.page-id-60,.page-id-82,.page-id-83,.page-id-84,.page-id-85,.page-id-91,.page-id-92,.page-id-93,.page-id-94,.page-id-95,.page-id-96,.page-id-97,.page-id-101,.page-id-102,.page-id-103,.page-id-104,.page-id-105,.page-id-106,.page-id-107,.page-id-108,.page-id-443,.page-id-444,.page-id-445,.page-id-520,.page-id-470,.page-id-471,.page-id-472,.page-id-473) .wp-block-group.kw-page-hero-section{display:flex;flex-direction:column;justify-content:center;min-height:560px;padding-top:64px !important;padding-bottom:64px !important;}
body.page:is(.page-id-57,.page-id-81) .wp-block-group.kw-page-hero-section{display:flex;flex-direction:column;justify-content:center;min-height:560px;margin-top:171px;padding-top:64px !important;padding-bottom:64px !important;}
@media(max-width:921px){body.page:is(.page-id-60,.page-id-82,.page-id-83,.page-id-84,.page-id-85,.page-id-91,.page-id-92,.page-id-93,.page-id-94,.page-id-95,.page-id-96,.page-id-97,.page-id-101,.page-id-102,.page-id-103,.page-id-104,.page-id-105,.page-id-106,.page-id-107,.page-id-108,.page-id-443,.page-id-444,.page-id-445,.page-id-520,.page-id-470,.page-id-471,.page-id-472,.page-id-473) .wp-block-group.kw-page-hero-section{min-height:480px;padding-top:48px !important;padding-bottom:48px !important;}body.page:is(.page-id-57,.page-id-81) .wp-block-group.kw-page-hero-section{min-height:480px;margin-top:120px;padding-top:48px !important;padding-bottom:48px !important;}}

/* KW · HEADER SCROLL BLANCO (sin glass, peticion cliente) */
body.kw-glass #masthead{background:#ffffff !important;backdrop-filter:none !important;-webkit-backdrop-filter:none !important;box-shadow:0 8px 28px rgba(10,31,68,.09);}

/* KW · 2COL · patron texto+imagen */
.kw-2col{max-width:1180px !important;margin-left:auto !important;margin-right:auto !important;gap:56px;align-items:center;}
.kw-2col .wp-block-column{margin:0 !important;}
.kw-2col .kw-cn-eyebrow{display:inline-block !important;margin:0 0 14px 0 !important;}
.kw-2col .kw-cn-h2{text-align:left !important;margin:0 0 16px !important;font-size:clamp(30px,3.4vw,42px) !important;}
.kw-2col p:not(.kw-cn-eyebrow){text-align:left;font-size:17px;line-height:1.7;}
.kw-2col-img img{border-radius:18px;box-shadow:0 18px 44px rgba(10,31,68,.16);width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;}
@media(max-width:781px){.kw-2col{gap:28px;}.kw-2col .kw-cn-h2{font-size:30px !important;}}

/* KW · HEROS FOTO TANDA 5 (deportes 92, idiomas 96, artes escenicas 445) */
body.page.page-id-92 .wp-block-group.kw-page-hero-section{background:linear-gradient(135deg,rgba(30,42,58,.78) 0%,rgba(38,74,102,.64) 55%,rgba(48,106,149,.52) 100%),url(https://www.colegiokw.com/wp-content/uploads/2026/06/Academia-de-Deportes.jpg) center/cover no-repeat !important;}
body.page.page-id-96 .wp-block-group.kw-page-hero-section{background:linear-gradient(135deg,rgba(30,42,58,.78) 0%,rgba(38,74,102,.64) 55%,rgba(48,106,149,.52) 100%),url(https://www.colegiokw.com/wp-content/uploads/2026/06/kw-academia-idiomas-clase.jpg) center/cover no-repeat !important;}
body.page.page-id-445 .wp-block-group.kw-page-hero-section{background:linear-gradient(135deg,rgba(30,42,58,.78) 0%,rgba(38,74,102,.64) 55%,rgba(48,106,149,.52) 100%),url(https://www.colegiokw.com/wp-content/uploads/2026/06/Academia-de-Artes-Escenicas-Plasticas-y-de-Musica-Baile.jpg) center/cover no-repeat !important;}

/* KW · AJUSTES 11-JUN */
/* 1) hero home: mas aire */
.kw-hero-slider .kw-hero-slide-inner{padding-top:212px !important;}
body.admin-bar .kw-hero-slider .kw-hero-slide-inner{padding-top:244px !important;}
@media(max-width:921px){.kw-hero-slider .kw-hero-slide-inner{padding-top:150px !important;}body.admin-bar .kw-hero-slider .kw-hero-slide-inner{padding-top:196px !important;}}
/* 3) carrusel servicios movil: ancho de card correcto en track v2 */
@media(max-width:921px){.kw-srv-track > .kw-srv-card{flex:0 0 calc(100vw - 96px) !important;width:calc(100vw - 96px) !important;max-width:360px;}}
/* 5) conocenos: quitar margen extra (el hero ya no es full-bleed) */
body.page.page-id-81 .wp-block-group.kw-page-hero-section{margin-top:0 !important;}
@media(max-width:921px){body.page.page-id-81 .wp-block-group.kw-page-hero-section{margin-top:0 !important;}}
/* 4) modal eventos calendario */
#kw-evt-modal{position:fixed;inset:0;background:rgba(10,31,68,.55);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:none;align-items:center;justify-content:center;z-index:9999;padding:24px;}
#kw-evt-modal.kw-evt-open{display:flex;}
#kw-evt-modal .kw-evt-box{position:relative;background:#fff;border-radius:20px;box-shadow:0 30px 80px rgba(10,31,68,.35);max-width:520px;width:100%;padding:38px 36px 32px;animation:kw-evt-in .3s cubic-bezier(.22,.8,.3,1);}
@keyframes kw-evt-in{from{opacity:0;transform:translateY(18px) scale(.97);}to{opacity:1;transform:none;}}
#kw-evt-modal .kw-evt-close{position:absolute;top:14px;right:16px;background:none;border:none;font-size:30px;line-height:1;color:#8a94a3;cursor:pointer;padding:4px;}
#kw-evt-modal .kw-evt-close:hover{color:#1E2A3A;}
#kw-evt-modal .kw-evt-fecha{display:inline-block;background:#F8DC38;color:#1E2A3A;font-weight:700;font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;padding:5px 14px;border-radius:999px;margin:0 0 14px;}
#kw-evt-modal .kw-evt-titulo{font-size:26px;color:#1E2A3A;margin:0 0 12px;line-height:1.2;}
#kw-evt-modal .kw-evt-desc{font-size:16px;line-height:1.65;color:#4a5568;margin:0 0 22px;}
#kw-evt-modal .kw-evt-btn{display:inline-block;background:#306A95;color:#fff !important;font-weight:700;font-size:15px;padding:12px 26px;border-radius:999px;text-decoration:none;transition:background .3s ease;}
#kw-evt-modal .kw-evt-btn:hover{background:#1E2A3A;}

/* KW · AJUSTES 11-JUN B · conocenos espacios + cita full + footer gap global */
body.page-id-81 .entry-content > .kw-section:not(.kw-page-hero-section){padding-top:50px !important;padding-bottom:50px !important;}
.kw-cn-cita{max-width:none !important;width:100vw;margin-left:calc(50% - 50vw) !important;margin-right:calc(50% - 50vw) !important;border-radius:0;padding-left:24px;padding-right:24px;}
.content-area{margin-bottom:0 !important;}

/* KW · AJUSTES 11-JUN C · proyecto iconos + calendario premium + CTA full */
/* iconos 12 compromisos */
.uagb-block-comp01 .uagb-heading-text::before{content:"👤";display:block;font-size:34px;line-height:1;margin-bottom:10px;}
.uagb-block-comp02 .uagb-heading-text::before{content:"🌱";display:block;font-size:34px;line-height:1;margin-bottom:10px;}
.uagb-block-comp03 .uagb-heading-text::before{content:"✝️";display:block;font-size:34px;line-height:1;margin-bottom:10px;}
.uagb-block-comp04 .uagb-heading-text::before{content:"🔬";display:block;font-size:34px;line-height:1;margin-bottom:10px;}
.uagb-block-comp05 .uagb-heading-text::before{content:"🌟";display:block;font-size:34px;line-height:1;margin-bottom:10px;}
.uagb-block-comp06 .uagb-heading-text::before{content:"🧭";display:block;font-size:34px;line-height:1;margin-bottom:10px;}
.uagb-block-comp07 .uagb-heading-text::before{content:"😊";display:block;font-size:34px;line-height:1;margin-bottom:10px;}
.uagb-block-comp08 .uagb-heading-text::before{content:"🤝";display:block;font-size:34px;line-height:1;margin-bottom:10px;}
.uagb-block-comp09 .uagb-heading-text::before{content:"❤️";display:block;font-size:34px;line-height:1;margin-bottom:10px;}
.uagb-block-comp10 .uagb-heading-text::before{content:"💡";display:block;font-size:34px;line-height:1;margin-bottom:10px;}
.uagb-block-comp11 .uagb-heading-text::before{content:"🌍";display:block;font-size:34px;line-height:1;margin-bottom:10px;}
.uagb-block-comp12 .uagb-heading-text::before{content:"🧶";display:block;font-size:34px;line-height:1;margin-bottom:10px;}
/* proximos eventos premium */
.kw-calendario-proximos a{display:flex;align-items:center;gap:18px;background:#fff !important;border:1px solid rgba(30,42,58,.08);border-left:5px solid #306A95 !important;border-radius:14px;padding:18px 22px;box-shadow:0 8px 22px rgba(10,31,68,.06);color:#1E2A3A !important;text-decoration:none !important;font-weight:600;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;margin:0 0 14px;}
.kw-calendario-proximos a:hover{transform:translateX(6px);box-shadow:0 14px 32px rgba(10,31,68,.12);border-left-color:#F8DC38 !important;}
.kw-calendario-proximos a *{color:#1E2A3A !important;background:none !important;border:none !important;}
.kw-calendario-proximos a > :first-child{color:#306A95 !important;font-weight:800;white-space:nowrap;}
/* espacios calendario 82 al 50% */
body.page-id-82 .entry-content > .kw-section:not(.kw-page-hero-section){padding-top:48px !important;padding-bottom:48px !important;}
/* CTAs finales a ancho completo (global) */
.entry-content > .kw-section-cta, .entry-content > .kw-etapa-cta, .entry-content > [class*=kw-][class*=-cta]{max-width:none !important;width:100vw !important;margin-left:calc(50% - 50vw) !important;margin-right:calc(50% - 50vw) !important;border-radius:0 !important;}

/* KW · EVENTO CARDS PREMIUM */
.kw-evento-card{border:1px solid rgba(30,42,58,.08) !important;border-left:5px solid #306A95 !important;border-radius:16px !important;box-shadow:0 10px 28px rgba(10,31,68,.08);padding:26px 24px !important;background:#fff !important;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;}
.kw-evento-card:hover{transform:translateY(-5px);box-shadow:0 18px 40px rgba(10,31,68,.14);border-left-color:#F8DC38 !important;}
.kw-evento-card .uagb-pre-heading-text{color:#fff !important;background:#306A95 !important;display:inline-block !important;padding:5px 14px !important;border-radius:999px;font-weight:700;font-size:12.5px !important;letter-spacing:.08em;text-transform:uppercase;margin-bottom:12px;}
.kw-evento-card .uagb-heading-text{color:#1E2A3A !important;border:none !important;background:none !important;padding:0 !important;box-shadow:none !important;}
.kw-evento-card .uagb-desc-text{color:#4a5568 !important;}

/* KW · AJUSTES 11-JUN D · galeria instalaciones FIX + iconos rincones/ubicacion + mapa + espacios 85 */
/* galeria instalaciones (estructura nueva) */
.kw-instalaciones-galeria{display:block !important;max-width:1180px !important;margin:34px auto 0 !important;}
.kw-instalaciones-galeria .wp-block-gallery{display:grid !important;grid-template-columns:repeat(2,1fr) !important;gap:18px !important;width:100% !important;}
.kw-instalaciones-galeria figure.wp-block-image{flex:none !important;margin:0 !important;width:100% !important;height:auto !important;min-height:0 !important;}
.kw-instalaciones-galeria figure.wp-block-image img{width:100% !important;height:300px !important;object-fit:cover;border-radius:14px;min-height:0 !important;}
@media(max-width:781px){.kw-instalaciones-galeria .wp-block-gallery{grid-template-columns:1fr !important;}}
/* iconos rincones */
.uagb-block-esp-1 .uagb-heading-text::before{content:"🏫";display:block;font-size:32px;line-height:1;margin-bottom:8px;}
.uagb-block-esp-2 .uagb-heading-text::before{content:"⛪";display:block;font-size:32px;line-height:1;margin-bottom:8px;}
.uagb-block-esp-3 .uagb-heading-text::before{content:"🍽️";display:block;font-size:32px;line-height:1;margin-bottom:8px;}
.uagb-block-esp-4 .uagb-heading-text::before{content:"📖";display:block;font-size:32px;line-height:1;margin-bottom:8px;}
.uagb-block-esp-5 .uagb-heading-text::before{content:"🔬";display:block;font-size:32px;line-height:1;margin-bottom:8px;}
.uagb-block-esp-6 .uagb-heading-text::before{content:"🎵";display:block;font-size:32px;line-height:1;margin-bottom:8px;}
.uagb-block-esp-7 .uagb-heading-text::before{content:"🏀";display:block;font-size:32px;line-height:1;margin-bottom:8px;}
.uagb-block-esp-8 .uagb-heading-text::before{content:"🌳";display:block;font-size:32px;line-height:1;margin-bottom:8px;}
.uagb-block-esp-9 .uagb-heading-text::before{content:"🎤";display:block;font-size:32px;line-height:1;margin-bottom:8px;}
/* iconos ubicacion */
.uagb-block-cont-dir .uagb-heading-text::before{content:"📍";display:block;font-size:30px;line-height:1;margin-bottom:8px;}
.uagb-block-cont-tel .uagb-heading-text::before{content:"📞";display:block;font-size:30px;line-height:1;margin-bottom:8px;}
.uagb-block-cont-mail .uagb-heading-text::before{content:"✉️";display:block;font-size:30px;line-height:1;margin-bottom:8px;}
.uagb-block-llegar-1 .uagb-heading-text::before{content:"🚗";display:block;font-size:30px;line-height:1;margin-bottom:8px;}
.uagb-block-llegar-2 .uagb-heading-text::before{content:"🚌";display:block;font-size:30px;line-height:1;margin-bottom:8px;}
.uagb-block-llegar-3 .uagb-heading-text::before{content:"🚆";display:block;font-size:30px;line-height:1;margin-bottom:8px;}
.uagb-block-pob-1{background:#fff;border:1px solid rgba(48,106,149,.18);border-radius:999px;padding:12px 22px !important;box-shadow:0 6px 16px rgba(10,31,68,.05);}
.uagb-block-pob-1 .uagb-heading-text::before{content:"📍 ";font-size:15px;}
.uagb-block-pob-2{background:#fff;border:1px solid rgba(48,106,149,.18);border-radius:999px;padding:12px 22px !important;box-shadow:0 6px 16px rgba(10,31,68,.05);}
.uagb-block-pob-2 .uagb-heading-text::before{content:"📍 ";font-size:15px;}
.uagb-block-pob-3{background:#fff;border:1px solid rgba(48,106,149,.18);border-radius:999px;padding:12px 22px !important;box-shadow:0 6px 16px rgba(10,31,68,.05);}
.uagb-block-pob-3 .uagb-heading-text::before{content:"📍 ";font-size:15px;}
.uagb-block-pob-4{background:#fff;border:1px solid rgba(48,106,149,.18);border-radius:999px;padding:12px 22px !important;box-shadow:0 6px 16px rgba(10,31,68,.05);}
.uagb-block-pob-4 .uagb-heading-text::before{content:"📍 ";font-size:15px;}
.uagb-block-pob-5{background:#fff;border:1px solid rgba(48,106,149,.18);border-radius:999px;padding:12px 22px !important;box-shadow:0 6px 16px rgba(10,31,68,.05);}
.uagb-block-pob-5 .uagb-heading-text::before{content:"📍 ";font-size:15px;}
.uagb-block-pob-6{background:#fff;border:1px solid rgba(48,106,149,.18);border-radius:999px;padding:12px 22px !important;box-shadow:0 6px 16px rgba(10,31,68,.05);}
.uagb-block-pob-6 .uagb-heading-text::before{content:"📍 ";font-size:15px;}
/* mapa embed */
.kw-mapa-embed{max-width:1180px;margin:0 auto;padding:0 24px 64px;}
.kw-mapa-embed iframe{border-radius:18px;box-shadow:0 18px 44px rgba(10,31,68,.14);display:block;}
/* espacios trabaja 85 al 50% */
body.page-id-85 .entry-content > .kw-section:not(.kw-page-hero-section){padding-top:48px !important;padding-bottom:48px !important;}

/* KW · TRABAJA PERFILES ICONOS */
.uagb-block-area-1 .uagb-heading-text::before{content:"🧸";display:block;font-size:32px;line-height:1;margin-bottom:8px;}
.uagb-block-area-2 .uagb-heading-text::before{content:"✏️";display:block;font-size:32px;line-height:1;margin-bottom:8px;}
.uagb-block-area-3 .uagb-heading-text::before{content:"📐";display:block;font-size:32px;line-height:1;margin-bottom:8px;}
.uagb-block-area-4 .uagb-heading-text::before{content:"🎓";display:block;font-size:32px;line-height:1;margin-bottom:8px;}
.uagb-block-area-5 .uagb-heading-text::before{content:"✝️";display:block;font-size:32px;line-height:1;margin-bottom:8px;}
.uagb-block-area-6 .uagb-heading-text::before{content:"🗂️";display:block;font-size:32px;line-height:1;margin-bottom:8px;}

/* KW · AJUSTES 11-JUN E · etapas hero+imgs, estilo colorido global, scroll-top */
body.page.page-id-58 .wp-block-group.kw-page-hero-section{background:linear-gradient(135deg,rgba(30,42,58,.78) 0%,rgba(38,74,102,.64) 55%,rgba(48,106,149,.52) 100%),url(https://www.colegiokw.com/wp-content/uploads/2026/06/kw-etapas-hero-camino.jpg) center/cover no-repeat !important;}
.uagb-block-et-1::before{content:"";display:block;height:170px;border-radius:14px;background:url(https://www.colegiokw.com/wp-content/uploads/2026/05/CEI-KW-Pequenitos.jpg) center/cover no-repeat;margin-bottom:16px;}
.uagb-block-et-2::before{content:"";display:block;height:170px;border-radius:14px;background:url(https://www.colegiokw.com/wp-content/uploads/2026/05/Educacion-Infantil-Verbum.jpg) center/cover no-repeat;margin-bottom:16px;}
.uagb-block-et-3::before{content:"";display:block;height:170px;border-radius:14px;background:url(https://www.colegiokw.com/wp-content/uploads/2026/05/Educacion-Primaria-Veritas.jpg) center/cover no-repeat;margin-bottom:16px;}
.uagb-block-et-4::before{content:"";display:block;height:170px;border-radius:14px;background:url(https://www.colegiokw.com/wp-content/uploads/2026/05/Educacion-Secundaria-Vita.jpg) center/cover no-repeat;margin-bottom:16px;}
.uagb-block-et-5::before{content:"";display:block;height:170px;border-radius:14px;background:url(https://www.colegiokw.com/wp-content/uploads/2026/05/Bachillerato.jpg) center/cover no-repeat;margin-bottom:16px;}
.kw-cn-grid3 > .kw-cn-card:nth-child(5n+1){border-top:4px solid #4E7CDE !important;}
.kw-cn-grid3 > .kw-cn-card:nth-child(5n+2){border-top:4px solid #F8DC38 !important;}
.kw-cn-grid3 > .kw-cn-card:nth-child(5n+3){border-top:4px solid #FF8A65 !important;}
.kw-cn-grid3 > .kw-cn-card:nth-child(5n+4){border-top:4px solid #4DB6AC !important;}
.kw-cn-grid3 > .kw-cn-card:nth-child(5n+5){border-top:4px solid #9575CD !important;}
.kw-valores-grid > .kw-valor-card:nth-child(5n+1){border-top:4px solid #4E7CDE !important;}
.kw-valores-grid > .kw-valor-card:nth-child(5n+2){border-top:4px solid #F8DC38 !important;}
.kw-valores-grid > .kw-valor-card:nth-child(5n+3){border-top:4px solid #FF8A65 !important;}
.kw-valores-grid > .kw-valor-card:nth-child(5n+4){border-top:4px solid #4DB6AC !important;}
.kw-valores-grid > .kw-valor-card:nth-child(5n+5){border-top:4px solid #9575CD !important;}
.kw-equipo-grid > .kw-equipo-card:nth-child(5n+1){border-top:4px solid #4E7CDE !important;}
.kw-equipo-grid > .kw-equipo-card:nth-child(5n+2){border-top:4px solid #F8DC38 !important;}
.kw-equipo-grid > .kw-equipo-card:nth-child(5n+3){border-top:4px solid #FF8A65 !important;}
.kw-equipo-grid > .kw-equipo-card:nth-child(5n+4){border-top:4px solid #4DB6AC !important;}
.kw-equipo-grid > .kw-equipo-card:nth-child(5n+5){border-top:4px solid #9575CD !important;}
.uagb-block-comp01{border-top:4px solid #4E7CDE !important;border-radius:16px;}
.uagb-block-comp02{border-top:4px solid #F8DC38 !important;border-radius:16px;}
.uagb-block-comp03{border-top:4px solid #FF8A65 !important;border-radius:16px;}
.uagb-block-comp04{border-top:4px solid #4DB6AC !important;border-radius:16px;}
.uagb-block-comp05{border-top:4px solid #9575CD !important;border-radius:16px;}
.uagb-block-comp06{border-top:4px solid #4E7CDE !important;border-radius:16px;}
.uagb-block-comp07{border-top:4px solid #F8DC38 !important;border-radius:16px;}
.uagb-block-comp08{border-top:4px solid #FF8A65 !important;border-radius:16px;}
.uagb-block-comp09{border-top:4px solid #4DB6AC !important;border-radius:16px;}
.uagb-block-comp10{border-top:4px solid #9575CD !important;border-radius:16px;}
.uagb-block-comp11{border-top:4px solid #4E7CDE !important;border-radius:16px;}
.uagb-block-comp12{border-top:4px solid #F8DC38 !important;border-radius:16px;}
.uagb-block-esp-1{border-top:4px solid #4E7CDE !important;border-radius:16px;}
.uagb-block-esp-2{border-top:4px solid #F8DC38 !important;border-radius:16px;}
.uagb-block-esp-3{border-top:4px solid #FF8A65 !important;border-radius:16px;}
.uagb-block-esp-4{border-top:4px solid #4DB6AC !important;border-radius:16px;}
.uagb-block-esp-5{border-top:4px solid #9575CD !important;border-radius:16px;}
.uagb-block-esp-6{border-top:4px solid #4E7CDE !important;border-radius:16px;}
.uagb-block-esp-7{border-top:4px solid #F8DC38 !important;border-radius:16px;}
.uagb-block-esp-8{border-top:4px solid #FF8A65 !important;border-radius:16px;}
.uagb-block-esp-9{border-top:4px solid #4DB6AC !important;border-radius:16px;}
.uagb-block-area-1{border-top:4px solid #4E7CDE !important;border-radius:16px;}
.uagb-block-area-2{border-top:4px solid #F8DC38 !important;border-radius:16px;}
.uagb-block-area-3{border-top:4px solid #FF8A65 !important;border-radius:16px;}
.uagb-block-area-4{border-top:4px solid #4DB6AC !important;border-radius:16px;}
.uagb-block-area-5{border-top:4px solid #9575CD !important;border-radius:16px;}
.uagb-block-area-6{border-top:4px solid #4E7CDE !important;border-radius:16px;}
#ast-scroll-top, .ast-scroll-top-icon, .ast-scroll-to-top-right{background-color:#4E7CDE !important;}
#ast-scroll-top:hover{background-color:#1E2A3A !important;}

/* KW · SERVICIOS HUB · hero foto + cards con imagen */
body.page.page-id-520 .wp-block-group.kw-page-hero-section{background:linear-gradient(135deg,rgba(30,42,58,.78) 0%,rgba(38,74,102,.64) 55%,rgba(48,106,149,.52) 100%),url(https://www.colegiokw.com/wp-content/uploads/2026/06/kw-servicios-hero-acogida.jpg) center/cover no-repeat !important;}
.uagb-block-srv-c1::before{content:"";display:block;height:160px;border-radius:14px;background:url(https://www.colegiokw.com/wp-content/uploads/2026/06/kw-enfermeria-cuidado.jpg) center/cover no-repeat;margin-bottom:14px;}
.uagb-block-srv-c2::before{content:"";display:block;height:160px;border-radius:14px;background:url(https://www.colegiokw.com/wp-content/uploads/2026/06/kw-comedor-bandeja-saludable.jpg) center/cover no-repeat;margin-bottom:14px;}
.uagb-block-srv-c3::before{content:"";display:block;height:160px;border-radius:14px;background:url(https://www.colegiokw.com/wp-content/uploads/2026/06/kw-intercambio-londres.jpg) center/cover no-repeat;margin-bottom:14px;}
.uagb-block-srv-c4::before{content:"";display:block;height:160px;border-radius:14px;background:url(https://www.colegiokw.com/wp-content/uploads/2026/06/instalaciones-colegio-karol-wojtyla-1.jpg) center/cover no-repeat;margin-bottom:14px;}
.uagb-block-srv-c1{border-top:4px solid #4E7CDE !important;border-radius:16px;}
.uagb-block-srv-c2{border-top:4px solid #F8DC38 !important;border-radius:16px;}
.uagb-block-srv-c3{border-top:4px solid #FF8A65 !important;border-radius:16px;}
.uagb-block-srv-c4{border-top:4px solid #4DB6AC !important;border-radius:16px;}

/* KW · SERVICIOS GRID 2X2 */
.kw-srv-cards .wp-block-columns{display:grid !important;grid-template-columns:repeat(2,1fr) !important;gap:24px !important;max-width:1180px;margin-left:auto !important;margin-right:auto !important;}
.kw-srv-cards .wp-block-column{margin:0 !important;width:auto !important;flex:none !important;}
.kw-srv-cards .wp-block-column > div{height:100%;}
@media(max-width:781px){.kw-srv-cards .wp-block-columns{grid-template-columns:1fr !important;}}

/* KW · SERVICIOS GRID REVERT (la estructura original lleva botones en fila aparte) */
.kw-srv-cards .wp-block-columns{display:flex !important;grid-template-columns:none !important;gap:normal !important;max-width:none;}
.kw-srv-cards .wp-block-column{margin:inherit !important;}

/* KW · SERVICIOS FLEX FIX */
.kw-srv-cards .wp-block-column{flex:1 1 0 !important;width:auto !important;}

/* KW · INTERCAMBIO ICONOS */
.uagb-block-ip-1 .uagb-heading-text::before{content:"🗣️";display:block;font-size:30px;line-height:1;margin-bottom:8px;}
.uagb-block-ip-2 .uagb-heading-text::before{content:"🇬🇧";display:block;font-size:30px;line-height:1;margin-bottom:8px;}
.uagb-block-ip-3 .uagb-heading-text::before{content:"🧭";display:block;font-size:30px;line-height:1;margin-bottom:8px;}
.uagb-block-ip-4 .uagb-heading-text::before{content:"🤝";display:block;font-size:30px;line-height:1;margin-bottom:8px;}
.uagb-block-ipr-1 .uagb-heading-text::before{content:"🎒";display:block;font-size:30px;line-height:1;margin-bottom:8px;}
.uagb-block-ipr-2 .uagb-heading-text::before{content:"🏫";display:block;font-size:30px;line-height:1;margin-bottom:8px;}
.uagb-block-ipr-3 .uagb-heading-text::before{content:"📅";display:block;font-size:30px;line-height:1;margin-bottom:8px;}
.uagb-block-ip-1,.uagb-block-ip-2,.uagb-block-ip-3,.uagb-block-ip-4{border-top:4px solid #4E7CDE !important;border-radius:16px;}
.uagb-block-ip-2{border-top-color:#F8DC38 !important;}
.uagb-block-ip-3{border-top-color:#FF8A65 !important;}
.uagb-block-ip-4{border-top-color:#4DB6AC !important;}
/* KW · FIX BANDERA (Windows no renderiza banderas emoji) */
.uagb-block-ip-2 .uagb-heading-text::before{content:"🏛️" !important;}

/* === KW · ACADEMIAS VIDA 11-JUN === */
.kw-mini-gal-sec .kw-section-heading{margin-bottom:8px}
.kw-mini-gal-sub{color:#5a6a7a;margin:0 auto 38px;max-width:680px}
.kw-mini-gal{gap:24px}
.kw-mini-gal+.kw-mini-gal{margin-top:24px}
.kw-mini-gal .wp-block-column>*{margin-block-start:0}
.kw-gal-img{margin:0}
.kw-gal-img img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:18px;box-shadow:0 14px 32px rgba(10,31,68,.14);transition:transform .45s ease,box-shadow .45s ease;display:block}
.kw-gal-img img:hover{transform:translateY(-5px);box-shadow:0 22px 44px rgba(10,31,68,.22)}
@media (max-width:781px){.kw-mini-gal{gap:16px}.kw-mini-gal+.kw-mini-gal{margin-top:16px}}
/* iconos pilares academias + organizacion idiomas */
[class*="uagb-block-pil-kw-aca-"]::before,[class*="uagb-block-como-idiomas-"]::before{display:block;font-size:34px;line-height:1;margin-bottom:12px}
.uagb-block-pil-kw-aca-artes-1::before{content:"\1F58C\FE0F"}
.uagb-block-pil-kw-aca-artes-2::before{content:"\1F3FA"}
.uagb-block-pil-kw-aca-artes-3::before{content:"\270F\FE0F"}
.uagb-block-pil-kw-aca-artes-4::before{content:"\1F3A8"}
.uagb-block-pil-kw-aca-musica-1::before{content:"\1F3B6"}
.uagb-block-pil-kw-aca-musica-2::before{content:"\1F3B8"}
.uagb-block-pil-kw-aca-musica-3::before{content:"\1F3BC"}
.uagb-block-pil-kw-aca-musica-4::before{content:"\1F3A4"}
.uagb-block-pil-kw-aca-tecnologia-1::before{content:"\1F916"}
.uagb-block-pil-kw-aca-tecnologia-2::before{content:"\1F4BB"}
.uagb-block-pil-kw-aca-tecnologia-3::before{content:"\1F50C"}
.uagb-block-pil-kw-aca-tecnologia-4::before{content:"\1F9E0"}
.uagb-block-como-idiomas-1::before{content:"\1F465"}
.uagb-block-como-idiomas-2::before{content:"\23F1\FE0F"}
.uagb-block-como-idiomas-3::before{content:"\1F4C5"}
.uagb-block-como-idiomas-4::before{content:"\1F3C5"}
.uagb-block-como-idiomas-5::before{content:"\1F4CA"}
.uagb-block-como-idiomas-6::before{content:"\1F30D"}

/* === KW · VIDA ESCOLAR FIX + ICONOS 11-JUN === */
body.page.page-id-60 .wp-block-group.kw-page-hero-section{margin-top:171px}
@media(max-width:921px){body.page.page-id-60 .wp-block-group.kw-page-hero-section{margin-top:120px}}
[class*="uagb-block-v-"]::before,[class*="uagb-block-vc-"]::before{display:block;font-size:34px;line-height:1;margin-bottom:12px}
.uagb-block-v-1::before{content:"\1F454"}
.uagb-block-v-2::before{content:"\1F37D\FE0F"}
.uagb-block-v-3::before{content:"\1F4C5"}
.uagb-block-v-4::before{content:"\1F3D5\FE0F"}
.uagb-block-v-5::before{content:"\2708\FE0F"}
.uagb-block-v-6::before{content:"\1FA7A"}
.uagb-block-vc-1::before{content:"\1F557"}
.uagb-block-vc-2::before{content:"\1F91D"}
.uagb-block-vc-3::before{content:"\1F46A"}
.uagb-block-vc-4::before{content:"\1F30D"}

/* === KW · BATCH B HEROS + ICONOS 11-JUN === */
body.page.page-id-106 .wp-block-group.kw-page-hero-section{background:linear-gradient(135deg,rgba(30,42,58,.78) 0%,rgba(38,74,102,.64) 55%,rgba(48,106,149,.52) 100%),url("https://www.colegiokw.com/wp-content/uploads/2026/06/kw-visitanos-entrada-familia.jpg") center 35%/cover no-repeat}
body.page.page-id-62 .wp-block-group.kw-page-hero-section{background:linear-gradient(135deg,rgba(30,42,58,.78) 0%,rgba(38,74,102,.64) 55%,rgba(48,106,149,.52) 100%),url("https://www.colegiokw.com/wp-content/uploads/2026/06/kw-contacto-escribenos.jpg") center 60%/cover no-repeat}
/* contacto: espacio entre bloques -50% */
body.page-id-62 .entry-content > .kw-section{padding-top:40px;padding-bottom:40px}
body.page-id-62 .entry-content > .kw-section.kw-section-cta{padding-top:56px;padding-bottom:56px}
/* iconos batch B */
[class*="uagb-block-uni-"]::before,[class*="uagb-block-up-"]::before,[class*="uagb-block-ct-"]::before,[class*="uagb-block-cp-"]::before,.uagb-block-cv::before,.uagb-block-ci::before,.uagb-block-cs::before,[class*="uagb-block-vps-"]::before,[class*="uagb-block-vpq-"]::before,[class*="uagb-block-jp-"]::before,[class*="uagb-block-jpi-"]::before,[class*="uagb-block-cd-"]::before,[class*="uagb-block-ch-"]::before,[class*="uagb-block-vp-"]::before{display:block;font-size:34px;line-height:1;margin-bottom:12px}
.uagb-block-uni-1::before{content:"\1F45F"}
.uagb-block-uni-2::before{content:"\1F454"}
.uagb-block-uni-3::before{content:"\1F393"}
.uagb-block-up-1::before{content:"\1F6D2"}
.uagb-block-up-2::before{content:"\1F455"}
.uagb-block-up-3::before{content:"\1F4DC"}
.uagb-block-ct-1::before{content:"\1F342"}
.uagb-block-ct-2::before{content:"\2744\FE0F"}
.uagb-block-ct-3::before{content:"\1F338"}
.uagb-block-cp-1::before{content:"\1F389"}
.uagb-block-cp-2::before{content:"\1F3DB\FE0F"}
.uagb-block-cp-3::before{content:"\1F4BB"}
.uagb-block-cv::before{content:"\2600\FE0F"}
.uagb-block-ci::before{content:"\26C4"}
.uagb-block-cs::before{content:"\1F33F"}
body.page-id-106 .uagb-block-v-1::before{content:"\1F3EB"}
body.page-id-106 .uagb-block-v-2::before{content:"\1F91D"}
.uagb-block-vp-1::before{content:"\1F3EB"}
.uagb-block-vp-2::before{content:"\2728"}
.uagb-block-vp-3::before{content:"\1F465"}
.uagb-block-vp-4::before{content:"\2753"}
.uagb-block-vps-1::before{content:"\2709\FE0F"}
.uagb-block-vps-2::before{content:"\1F4C5"}
.uagb-block-vps-3::before{content:"\1F3EB"}
.uagb-block-vps-4::before{content:"\2705"}
.uagb-block-vpq-1::before{content:"\1F393"}
.uagb-block-vpq-2::before{content:"\1F4DA"}
.uagb-block-vpq-3::before{content:"\1F91D"}
.uagb-block-jp-1::before{content:"\1F44B"}
.uagb-block-jp-2::before{content:"\1F3A4"}
.uagb-block-jp-3::before{content:"\1F6B6"}
.uagb-block-jp-4::before{content:"\1F4AC"}
.uagb-block-jpi-1::before{content:"\2709\FE0F"}
.uagb-block-jpi-2::before{content:"\1F46A"}
.uagb-block-jpi-3::before{content:"\1F91D"}
.uagb-block-cd-1::before{content:"\1F4CD"}
.uagb-block-cd-2::before{content:"\1F4DE"}
.uagb-block-cd-3::before{content:"\2709\FE0F"}
.uagb-block-cd-4::before{content:"\1F3EB"}
.uagb-block-ch-1::before{content:"\1F6B8"}
.uagb-block-ch-2::before{content:"\1F5C2\FE0F"}
.uagb-block-ch-3::before{content:"\1F4C5"}

/* === KW · BATCH B FIX IMPORTANT 11-JUN === */
body.page.page-id-106 .wp-block-group.kw-page-hero-section{background:linear-gradient(135deg,rgba(30,42,58,.78) 0%,rgba(38,74,102,.64) 55%,rgba(48,106,149,.52) 100%),url(https://www.colegiokw.com/wp-content/uploads/2026/06/kw-visitanos-entrada-familia.jpg) center 35%/cover no-repeat !important}
body.page.page-id-62 .wp-block-group.kw-page-hero-section{background:linear-gradient(135deg,rgba(30,42,58,.78) 0%,rgba(38,74,102,.64) 55%,rgba(48,106,149,.52) 100%),url(https://www.colegiokw.com/wp-content/uploads/2026/06/kw-contacto-escribenos.jpg) center 60%/cover no-repeat !important;margin-top:171px}
@media(max-width:921px){body.page.page-id-62 .wp-block-group.kw-page-hero-section{margin-top:120px}}
body.page-id-62 .entry-content > .kw-section{padding-top:40px !important;padding-bottom:40px !important}
body.page-id-62 .entry-content > .kw-section.kw-section-cta{padding-top:56px !important;padding-bottom:56px !important}

/* === KW · COMEDOR ICONOS ORG 11-JUN === */
[class*="uagb-block-como-comedor-"]::before{display:block;font-size:34px;line-height:1;margin-bottom:12px}
.uagb-block-como-comedor-1::before{content:"\1F551"}
.uagb-block-como-comedor-2::before{content:"\1F504"}
.uagb-block-como-comedor-3::before{content:"\1F9FE"}
.uagb-block-como-comedor-4::before{content:"\1F465"}
.uagb-block-como-comedor-5::before{content:"\1F37D\FE0F"}
.uagb-block-como-comedor-6::before{content:"\1F553"}

/* === KW · UNIFICACION ESTETICA CEI 12-JUN === */
/* Patron de referencia: /cei-kw-pequenitos/ — H2 seccion 52px #306A95, H2 navy 44px #fff, H2 lateral 42px #1E2A3A, eyebrow pildora amarilla texto azul (translucida en navy) */
/* 1. Titulos de seccion (incluye galerias kw-section-heading) */
.entry-content h2.kw-section-heading{font-size:52px !important;color:#306A95 !important;font-weight:700;letter-spacing:-0.01em;line-height:1.15}
/* 2. H2 sobre fondos navy: 44px blanco puro como CEI */
.kw-section-navy .uagb-heading-text,.kw-section-navy h2,.kw-cifras-section .uagb-heading-text,.kw-cifras-section h2{font-size:44px !important;color:#fff !important}
/* 3. H2 laterales de bloques 2col: navy como el intro de CEI */
.kw-cn-h2{color:#1E2A3A !important}
/* 4. Eyebrows/subtitulos: SIEMPRE pildora amarilla texto azul (fuera del hero, que ya cumple) */
.entry-content .kw-section .uagb-pre-heading-text,.kw-cn-eyebrow{display:inline-block;background:#F8DC38 !important;color:#306A95 !important;font-size:12px !important;font-weight:700;letter-spacing:.18em;text-transform:uppercase;padding:6px 16px !important;border-radius:999px;line-height:1.4}
/* 4b. En secciones navy: pildora translucida con texto amarillo (patron CEI) */
.kw-section-navy .uagb-pre-heading-text,.kw-cifras-section .uagb-pre-heading-text{background:rgba(248,220,56,.18) !important;color:#F8DC38 !important}
/* 5. Responsive */
@media(max-width:921px){.entry-content h2.kw-section-heading{font-size:34px !important}.kw-section-navy .uagb-heading-text,.kw-section-navy h2,.kw-cifras-section h2,.kw-cifras-section .uagb-heading-text{font-size:30px !important}}

/* === KW · UNIFICACION CEI FIX B === */
/* CTA como CEI: 44px blanco */
.entry-content .kw-section-cta h2,.entry-content .kw-section-cta .uagb-heading-text{font-size:44px !important;color:#fff !important}
/* pildoras en contextos navy/cta: translucida + texto amarillo (especificidad > regla 4) */
.entry-content .kw-section-navy .uagb-pre-heading-text,.entry-content .kw-cifras-section .uagb-pre-heading-text,.entry-content .kw-section-cta .uagb-pre-heading-text{background:rgba(248,220,56,.18) !important;color:#F8DC38 !important;font-size:12px !important}
/* cards informativas (kw-calendario-proximos) en secciones claras: pildora amarilla texto azul */
.entry-content .kw-section-light .kw-calendario-proximos-card .uagb-pre-heading-text,.entry-content .kw-calendario-proximos .uagb-pre-heading-text{background:#F8DC38 !important;color:#306A95 !important;font-size:12px !important}
/* pero si la seccion calendario-proximos es ademas navy, manda navy */
.entry-content .kw-section-navy.kw-calendario-proximos .uagb-pre-heading-text{background:rgba(248,220,56,.18) !important;color:#F8DC38 !important}
@media(max-width:921px){.entry-content .kw-section-cta h2,.entry-content .kw-section-cta .uagb-heading-text{font-size:30px !important}}

/* === KW · UNIFICACION CEI FIX C === */
/* H2 de seccion sobre navy/cifras/cta: 44px blanco puro (gana a los .kw-section-heading wrappers legacy) */
body.page .entry-content .kw-section-navy h2.uagb-heading-text,body.page .entry-content .kw-cifras-section h2.uagb-heading-text,body.page .entry-content .kw-section-cta h2.uagb-heading-text,body.page .entry-content .kw-section-navy > h2,body.page .entry-content .kw-section-cta > h2{color:#fff !important;font-size:44px !important}
/* pildoras en cards oscuras (eventos, trimestres, llegar): translucida + amarillo */
body.page .kw-evento-card .uagb-pre-heading-text,body.page .kw-trimestre-card .uagb-pre-heading-text,body.page .kw-llegar-card .uagb-pre-heading-text{background:rgba(248,220,56,.18) !important;color:#F8DC38 !important}
/* pildoras en cards claras de servicios: amarilla + azul */
body.page .kw-servicio-card .uagb-pre-heading-text{background:#F8DC38 !important;color:#306A95 !important}
@media(max-width:921px){body.page .entry-content .kw-section-navy h2.uagb-heading-text,body.page .entry-content .kw-cifras-section h2.uagb-heading-text,body.page .entry-content .kw-section-cta h2.uagb-heading-text{font-size:30px !important}}

/* === KW · SINGLE POST 12-JUN (header fix + relacionados) === */
/* el header en posts/archivos heredaba max-width 1200 del layout de contenido y el menu saltaba de linea */
body.single #masthead .ast-container,body.archive #masthead .ast-container,body.blog #masthead .ast-container,body.search #masthead .ast-container{max-width:100% !important}
/* posts relacionados (snippet WPCode) — tokens patron CEI */
.kw-rel-sec{max-width:1200px;margin:64px auto 8px;padding:0 20px}
.kw-rel-eyebrow{display:inline-block;background:#F8DC38;color:#306A95;font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;padding:6px 16px;border-radius:999px;margin:0 0 14px}
.kw-rel-title{font-size:34px;color:#306A95;font-weight:700;margin:0 0 26px;font-family:inherit;letter-spacing:-0.01em}
.kw-rel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.kw-rel-card{display:block;background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 12px 30px rgba(10,31,68,.1);text-decoration:none;transition:transform .35s ease,box-shadow .35s ease;border-top:4px solid #4E7CDE}
.kw-rel-card:nth-child(2){border-top-color:#F8DC38}
.kw-rel-card:nth-child(3){border-top-color:#4DB6AC}
.kw-rel-card:hover{transform:translateY(-5px);box-shadow:0 20px 40px rgba(10,31,68,.16)}
.kw-rel-img{display:block;height:170px;background-size:cover;background-position:center}
.kw-rel-noimg{background:linear-gradient(135deg,#306A95,#1E2A3A)}
.kw-rel-body{display:block;padding:16px 18px 20px}
.kw-rel-date{display:block;font-size:12px;color:#5a6a7a;text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px}
.kw-rel-h{display:block;font-size:17px;font-weight:700;color:#1E2A3A;line-height:1.35}
@media(max-width:781px){.kw-rel-grid{grid-template-columns:1fr}.kw-rel-title{font-size:26px}}

/* === KW · RELACIONADOS FIX HEREDADOS === */
body.single .entry-content .kw-rel-eyebrow{font-size:12px !important;line-height:1.4 !important;margin:0 0 14px !important;width:auto;max-width:max-content}
body.single .entry-content .kw-rel-eyebrow::first-letter{font-size:inherit !important;float:none !important;color:inherit !important;margin:0 !important;padding:0 !important;font-weight:inherit !important}
body.single .entry-content h2.kw-rel-title{font-size:34px !important;color:#306A95 !important;border:0 !important;padding:0 !important;margin:0 0 26px !important;text-align:left}
body.single .entry-content h2.kw-rel-title::before,body.single .entry-content h2.kw-rel-title::after{display:none !important;content:none !important}
body.single .entry-content a.kw-rel-card,body.single .entry-content a.kw-rel-card *{text-decoration:none !important;border-bottom:0 !important}
body.single .entry-content .kw-rel-h{color:#1E2A3A !important}
body.single .entry-content .kw-rel-date{color:#5a6a7a !important}
@media(max-width:781px){body.single .entry-content h2.kw-rel-title{font-size:26px !important}}

/* === KW · MENU FIX FLYOUT + RESPONSIVE 12-JUN === */
/* 1. El submenu anidado (Pastoral-Orientacion) abria hacia la IZQUIERDA y se cortaba: forzar apertura a la derecha, pegado y alineado */
.main-header-menu .sub-menu .menu-item-has-children > .sub-menu{left:100% !important;right:auto !important;top:-2px !important;margin:0 !important}
/* 2. En pantallas de portatil (922-1450px) el menu no cabia y saltaba de linea: condensar progresivamente */
@media (min-width:922px) and (max-width:1450px){
.main-header-menu > .menu-item > .menu-link{font-size:15px !important;padding:8px 9px !important}
.ast-builder-button-wrap .ast-custom-button{font-size:14px !important;padding:10px 20px !important}
#masthead .custom-logo{max-width:80px}
}
@media (min-width:922px) and (max-width:1180px){
.main-header-menu > .menu-item > .menu-link{font-size:13.5px !important;padding:8px 6px !important;letter-spacing:0 !important}
.ast-builder-button-wrap .ast-custom-button{font-size:13px !important;padding:9px 15px !important}
#masthead .custom-logo{max-width:70px}
}

/* === KW · MENU FLYOUT FIX B (supersede regla de mayo) === */
.main-header-bar .main-navigation .sub-menu .menu-item-has-children > .sub-menu,.ast-header-break-point .main-navigation .sub-menu .menu-item-has-children > .sub-menu{left:100% !important;right:auto !important;top:-2px !important;margin:0 0 0 -1px !important}

/* ===== KW-POSTNAV v1 · navegacion entre noticias ===== */
.single .post-navigation{display:block !important;max-width:1080px;margin:8px auto 60px;padding:0 clamp(20px,5vw,40px);}
.single .post-navigation .nav-links{display:flex;gap:20px;align-items:stretch;}
.single .post-navigation .nav-previous,.single .post-navigation .nav-next{flex:1 1 0;display:flex;}
.single .post-navigation .nav-next{margin-left:auto;justify-content:flex-end;}
.single .post-navigation .nav-links>div>a{display:flex;flex-direction:column;gap:6px;width:100%;background:#fff;border:1px solid #e2e8ee;border-top:3px solid #F8DC38;border-radius:16px;padding:18px 24px;text-decoration:none;box-shadow:0 2px 10px rgba(48,106,149,.06);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;}
.single .post-navigation .nav-links>div>a:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(48,106,149,.16);border-color:#306A95;}
.single .post-navigation .ast-post-nav{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#306A95;margin:0;}
.single .post-navigation .ast-post-nav svg{width:13px;height:13px;fill:#306A95;}
.single .post-navigation p{margin:0;font-size:17px;line-height:1.35;font-weight:700;color:#1e293b;}
.single .post-navigation .nav-links>div>a:hover p{color:#306A95;}
.single .post-navigation .nav-next>a{text-align:right;align-items:flex-end;}
@media(max-width:768px){.single .post-navigation .nav-links{flex-direction:column;}.single .post-navigation .nav-previous,.single .post-navigation .nav-next{width:100%;max-width:none;flex:1 1 auto;}.single .post-navigation .nav-next{margin-left:0;justify-content:stretch;}.single .post-navigation .nav-next>a{text-align:left;align-items:flex-start;}}
/* ===== /KW-POSTNAV ===== */

/* ===== KW-TITULOS-PREMIUM v1 · palabra resaltada uniforme ===== */
.uagb-heading-text em{color:#4E7CDE !important;font-style:normal;position:relative;display:inline-block;}
.uagb-heading-text em::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:10px;background:#F8DC38;border-radius:2px;z-index:-1;}
/* Heroes, secciones navy y CTA: palabra dorada y SIN marcador (se mantiene el diseno oscuro) */
[class*="hero"] .uagb-heading-text em,.kw-section-navy .uagb-heading-text em,[class*="-cta"] .uagb-heading-text em,[class*="cta-"] .uagb-heading-text em{color:#F8DC38 !important;}
[class*="hero"] .uagb-heading-text em::after,.kw-section-navy .uagb-heading-text em::after,[class*="-cta"] .uagb-heading-text em::after,[class*="cta-"] .uagb-heading-text em::after{content:none !important;}
/* ===== /KW-TITULOS-PREMIUM ===== */

/* ===== KW-PREMIUM-FINISH v1 · acabado profesional ===== */
html{scroll-behavior:smooth;}
::selection{background:#F8DC38;color:#1e2a3a;}
.wp-block-button__link,.ast-custom-button,.menu-link,.kw-btn-primary>a,.kw-btn-ghost>a{transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease,color .2s ease;}
.wp-block-button__link:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(48,106,149,.18);}
a{transition:color .2s ease;}
a:focus-visible,button:focus-visible,.wp-block-button__link:focus-visible{outline:2px solid #306A95;outline-offset:3px;border-radius:2px;}
.kw-srv-card-img-wrap{overflow:hidden;}
.kw-srv-card-img-wrap img{transition:transform .5s ease;}
.kw-srv-card:hover .kw-srv-card-img-wrap img{transform:scale(1.06);}
/* ===== /KW-PREMIUM-FINISH ===== */

/* ============ FIX em dorado pilares jul2026 · QA 06-07-2026 ============ */
.kw-pilares-section .uagb-heading-text em,
.kw-pilares-section h2 em{color:#F8DC38 !important;}


/* ============ KW-CONTACTO-RESERVA jul2026 ============ */
body.page .kw-calendario-proximos .kw-eventos-grid.kw-con-datos-grid, body.page .kw-con-datos-grid{display:grid !important;grid-template-columns:repeat(2,1fr) !important;gap:24px;}
@media(max-width:767px){body.page .kw-calendario-proximos .kw-eventos-grid.kw-con-datos-grid, body.page .kw-con-datos-grid{grid-template-columns:1fr !important;}}
body.page .kw-form-reserva{max-width:720px;margin-left:auto;margin-right:auto;}
body.page .kw-con-mapa-section .kw-mapa-wrap{max-width:1080px;margin:0 auto;box-shadow:0 16px 40px rgba(48,106,149,.14);border-radius:16px;overflow:hidden;}
body.page .kw-con-mapa-section .kw-mapa-wrap iframe{display:block;}

/*KW-MENU-RESPONSIVE jul2026 - 3 tramos: 922-1023 compacto, 1024-1300 medio, 1301-1550 fluido*/
.main-header-menu > .menu-item > .menu-link{white-space:nowrap !important;}
.main-header-menu > .menu-item{flex-shrink:0 !important;}
@media (min-width:922px) and (max-width:1023px){
.main-header-bar.main-header-bar{padding-left:10px !important;padding-right:10px !important;}
.ast-site-identity.ast-site-identity img,.custom-logo-link.custom-logo-link img{max-width:56px !important;width:56px !important;height:auto !important;max-height:none !important;}
.main-header-menu.main-header-menu > .menu-item.menu-item > .menu-link.menu-link{font-size:12px !important;padding-left:5px !important;padding-right:5px !important;}
.menu-cta-kw.menu-cta-kw > .menu-link.menu-link{padding:7px 8px !important;font-size:12px !important;}
}
@media (min-width:1024px) and (max-width:1300px){
.main-header-bar.main-header-bar{padding-left:14px !important;padding-right:14px !important;}
.ast-site-identity.ast-site-identity img,.custom-logo-link.custom-logo-link img{max-width:64px !important;width:64px !important;height:auto !important;max-height:none !important;}
.main-header-menu.main-header-menu > .menu-item.menu-item > .menu-link.menu-link{font-size:13.5px !important;padding-left:7px !important;padding-right:7px !important;}
.menu-cta-kw.menu-cta-kw > .menu-link.menu-link{padding:8px 10px !important;font-size:13.5px !important;}
}
@media (min-width:1301px) and (max-width:1550px){
.ast-site-identity.ast-site-identity img,.custom-logo-link.custom-logo-link img{max-width:clamp(64px, 10.8434vw - 77.07px, 91px) !important;width:clamp(64px, 10.8434vw - 77.07px, 91px) !important;height:auto !important;max-height:none !important;}
.main-header-menu.main-header-menu > .menu-item.menu-item > .menu-link.menu-link{font-size:clamp(13.5px, 1.4056vw - 4.79px, 17px) !important;padding-left:clamp(7px, 2.8112vw - 29.57px, 14px) !important;padding-right:clamp(7px, 2.8112vw - 29.57px, 14px) !important;}
.menu-cta-kw.menu-cta-kw > .menu-link.menu-link{font-size:clamp(13.5px, 1.4056vw - 4.79px, 17px) !important;}
}
/*KW-CURSOR-FOOTER-FIX jul2026 - cursor decorativo fijo, no estira el documento*/
.cursor-dot,.cursor-ring{position:fixed !important;}
/*KW-MAPA-PLACEHOLDER jul2026 - placeholder del mapa con cookies rechazadas*/
body.page-id-62 .cmplz-placeholder-parent:has(.cmplz-placeholder-element:not(.cmplz-activated)){position:relative;background:linear-gradient(135deg,#1E2A3A 0%,#306A95 100%) !important;border-radius:18px;overflow:hidden;min-height:380px;}
body.page-id-62 .cmplz-placeholder-parent:has(.cmplz-placeholder-element:not(.cmplz-activated))::before{content:'📍 Estamos en C/ El Bosco · Barrio del Quiñón · 45224 Seseña (Toledo)';position:absolute;top:34%;left:50%;transform:translate(-50%,-50%);color:#fff;font-size:19px;font-weight:600;text-align:center;width:80%;line-height:1.5;z-index:1;}
body.page-id-62 .cmplz-blocked-content-notice{background:#F8DC38 !important;color:#1E2A3A !important;font-weight:700 !important;border-radius:999px !important;padding:14px 26px !important;box-shadow:0 6px 18px rgba(0,0,0,.25) !important;}

body.page-id-62 .cmplz-placeholder-parent:has(.cmplz-placeholder-element:not(.cmplz-activated)) iframe{opacity:0 !important;}

/*KW-DOCS-FUNDACION jul2026 - tarjetas de documentos institucionales en /proyecto/*/
.kw-docs-fundacion .wp-block-column{background:#fff;border-radius:14px;border-left:4px solid #306A95;box-shadow:0 10px 24px rgba(30,41,59,.08);padding:26px 22px;display:flex;flex-direction:column;}
.kw-docs-fundacion .kw-evento-card{background:none !important;border:none !important;box-shadow:none !important;padding:0 !important;margin:0 !important;}
.kw-docs-fundacion .wp-block-buttons{background:none !important;padding:0 !important;margin:18px 0 0 0 !important;border-radius:0 !important;box-shadow:none !important;justify-content:flex-start !important;}
.kw-docs-fundacion .kw-doc-btn{margin-top:auto !important;}
.kw-docs-fundacion .wp-block-columns{gap:24px;}
@media (max-width:781px){.kw-docs-fundacion .wp-block-column{margin-bottom:18px;}}

/*KW-GALERIA-CONOCENOS jul2026 - grid 5 fotos + lightbox (patron VC fixes33)*/
.kw-vida-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;max-width:1200px;margin:0 auto;padding:0 24px;}
.kw-vg-item{position:relative;border:0;padding:0;margin:0;cursor:pointer;border-radius:16px;overflow:hidden;aspect-ratio:4/3;background:#e8edf5;display:block;}
.kw-vg-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease;}
.kw-vg-item:hover img{transform:scale(1.06);}
.kw-vg-item::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(10,20,40,.35),transparent 45%);opacity:0;transition:opacity .25s ease;}
.kw-vg-item:hover::after{opacity:1;}
.kw-gal-5 .kw-vg-item:first-child{grid-column:span 2;grid-row:span 2;aspect-ratio:auto;}
@media (max-width:900px){.kw-vida-gallery{grid-template-columns:repeat(2,1fr);padding:0 16px;}.kw-gal-5 .kw-vg-item:first-child{grid-column:span 2;grid-row:auto;aspect-ratio:16/9;}}
@media (max-width:520px){.kw-vida-gallery{grid-template-columns:1fr;gap:10px;}.kw-gal-5 .kw-vg-item:first-child{grid-column:auto;aspect-ratio:4/3;}}
.kw-lightbox{position:fixed;inset:0;background:rgba(10,15,25,.94);display:flex;align-items:center;justify-content:center;z-index:99999;opacity:0;visibility:hidden;transition:opacity .25s ease;padding:50px;}
.kw-lightbox.kw-lb-open{opacity:1;visibility:visible;}
.kw-lb-img{max-width:88vw;max-height:78vh;border-radius:10px;box-shadow:0 20px 60px rgba(0,0,0,.5);}
.kw-lb-caption{position:absolute;bottom:22px;left:0;right:0;text-align:center;color:#fff;font-size:14px;opacity:.9;padding:0 80px;}
.kw-lb-close,.kw-lb-prev,.kw-lb-next{position:absolute;background:rgba(255,255,255,.12);border:0;color:#fff;font-size:26px;width:46px;height:46px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s ease;line-height:1;}
.kw-lb-close:hover,.kw-lb-prev:hover,.kw-lb-next:hover{background:rgba(255,255,255,.28);}
.kw-lb-close{top:22px;right:22px;}
.kw-lb-prev{left:22px;top:50%;transform:translateY(-50%);}
.kw-lb-next{right:22px;top:50%;transform:translateY(-50%);}
@media (max-width:600px){.kw-lightbox{padding:20px;}.kw-lb-prev,.kw-lb-next,.kw-lb-close{width:38px;height:38px;font-size:20px;}.kw-lb-prev{left:6px;}.kw-lb-next{right:6px;}.kw-lb-close{top:10px;right:10px;}.kw-lb-caption{padding:0 40px;font-size:12px;}}

/*KW-CANAL-DENUNCIA jul2026 - tarjetas navy + em dorado seccion garantias*/
.kw-cd-garantias .kw-evento-card{background:rgba(255,255,255,.06) !important;border:1px solid rgba(255,255,255,.14) !important;border-radius:14px;padding:26px 22px;height:100%;}
.kw-cd-garantias h2.uagb-heading-text{color:#fff !important;}
.kw-cd-garantias .uagb-heading-text em{color:#F8DC38 !important;-webkit-text-fill-color:#F8DC38 !important;}
.kw-cd-garantias h3.uagb-heading-text{color:#fff !important;}
.kw-cd-garantias .uagb-desc-text{color:rgba(255,255,255,.85) !important;}
.kw-cd-garantias .wp-block-columns{gap:24px;}
.kw-cd-pasos .kw-doc-card .uagb-pre-heading-text{letter-spacing:2px;}

/*KW-CANAL-DENUNCIA fix fill jul2026*/
.kw-cd-garantias .kw-cd-navy-card h3.uagb-heading-text{color:#fff !important;-webkit-text-fill-color:#fff !important;background:none !important;}
.kw-cd-garantias .kw-cd-navy-card .uagb-desc-text{color:rgba(255,255,255,.88) !important;}

/*KW-HERO-FP jul2026 - hero etapa FP (imagen pendiente de subir; fallback navy)*/
.kw-hero-fp{background-color:#1E2A3A !important;background-image:linear-gradient(120deg,rgba(20,32,54,.82),rgba(48,106,149,.55)),url('/wp-content/uploads/2026/07/FP-Karol-Wojtyla-scaled.jpg') !important;background-size:cover !important;background-position:center 42% !important;background-repeat:no-repeat !important;}

/*KW-ETAPAS-GRID-6 jul2026 - la home pasa de 5 a 6 etapas (FP)*/
@media (min-width:1101px){body.home .kw-etapas-home-grid{grid-template-columns:repeat(6,1fr) !important;}}
.kw-etapa-home-img{background:#e8edf5;}

/*KW-FOOTER-LEGAL-FLUSH jul2026 - barra copyright a sangre y pegada al borde inferior*/
.kw-footer-custom{padding-bottom:0 !important;}
.kw-footer-custom .kw-footer-legal{max-width:100% !important;width:100% !important;margin:0 !important;border-radius:0 !important;padding-left:max(24px,calc((100% - 1240px)/2)) !important;padding-right:max(24px,calc((100% - 1240px)/2)) !important;}

/*KW-FP-FAQ jul2026 - acordeon nativo details en /formacion-profesional/*/
.kw-fp-faq .wp-block-details{background:#fff;border-radius:12px;padding:18px 22px;margin:0 auto 12px auto;max-width:860px;border-left:4px solid #306A95;box-shadow:0 8px 20px rgba(30,41,59,.06);}
.kw-fp-faq .wp-block-details summary{font-weight:700;color:#1E2A3A;cursor:pointer;font-size:17px;}
.kw-fp-faq .wp-block-details[open] summary{color:#306A95;margin-bottom:8px;}
.kw-fp-faq .wp-block-details p{color:#3d4b5f;line-height:1.6;margin:0;}

/*KW-HOME-PREMIUM jul2026 - microinteracciones hover + soporte reveal en tarjetas*/
body.home .kw-etapa-home-card{transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s ease;will-change:transform;}
body.home .kw-etapa-home-card:hover{transform:translateY(-6px);box-shadow:0 18px 40px rgba(30,42,58,.16);}
body.home .kw-etapa-home-imglink{overflow:hidden;display:block;}
body.home .kw-etapa-home-img{transition:transform .5s ease;}
body.home .kw-etapa-home-card:hover .kw-etapa-home-img{transform:scale(1.05);}
body.home .kw-etapa-home-link a{display:inline-block;transition:transform .25s ease,letter-spacing .25s ease;}
body.home .kw-etapa-home-card:hover .kw-etapa-home-link a{letter-spacing:.5px;}
body.home .uagb-post__inner-wrap{transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s ease;}
body.home .uagb-post__inner-wrap:hover{transform:translateY(-6px);box-shadow:0 18px 40px rgba(30,42,58,.14);}
.kw-srv-card{transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s ease;}
.kw-srv-card:hover{transform:translateY(-6px);box-shadow:0 18px 40px rgba(30,42,58,.16);}
.kw-srv-card-img-wrap{overflow:hidden;}
.kw-srv-card-img{transition:transform .5s ease;}
.kw-srv-card:hover .kw-srv-card-img{transform:scale(1.06);}
body.home .kw-red-card,body.home [class*="diocesana"] .wp-block-column{transition:transform .3s ease,box-shadow .3s ease;}
body.home .kw-red-card:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(30,42,58,.12);}
.kw-cal-cell{transition:background .2s ease,border-color .2s ease;}
.kw-cal-cell:hover{background:#eef4fb;border-color:#306A95;}
.wp-block-button__link{transition:transform .2s ease,box-shadow .2s ease,background .2s ease,color .2s ease !important;}
.wp-block-button__link:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(30,42,58,.18);}
/*KW-PDF-BADGE jul2026 - chip PDF en tarjetas de documentos*/
.kw-pdf-badge{display:inline-flex;align-items:center;gap:6px;background:#C0392B;color:#fff !important;font-size:12px;font-weight:800;letter-spacing:1.5px;padding:5px 12px;border-radius:8px;margin:0 0 12px 0 !important;line-height:1;}

/*KW-PDF-BADGE fix ancho jul2026*/
.kw-pdf-badge{align-self:flex-start !important;width:auto !important;}

/*KW-PULIDO-TITULOS-Y-DETALLES jul2026 - titulos partidos, patronazgo, marco pastoral, fechas eventos*/
.kw-pilar-patrono h3.uagb-heading-text{font-size:clamp(20px,1.7vw,26px) !important;word-break:normal !important;overflow-wrap:normal !important;hyphens:manual !important;line-height:1.3 !important;}
.kw-pas-archidioces .uagb-block-pas-arch-2 .uagb-heading-text{color:#000 !important;-webkit-text-fill-color:#000 !important;}
.kw-pas-archidioces .uagb-block-pas-arch-2 .uagb-desc-text{color:#000 !important;}
.kw-doc-pastoral .wp-block-columns{max-width:860px;margin-left:auto !important;margin-right:auto !important;}
.kw-doc-pastoral .kw-doc-card{text-align:center;}
.kw-doc-pastoral .kw-pdf-badge{align-self:center !important;}
.kw-doc-pastoral .kw-doc-btn{justify-content:center !important;}
body.page-id-82 .kw-eventos-grid .uagb-pre-heading-text{color:#306A95 !important;}

/*KW-PATRONAZGO-NEGRO fix selector jul2026*/
.uagb-block-pas-arch-2 .uagb-heading-text{color:#000 !important;-webkit-text-fill-color:#000 !important;}
.uagb-block-pas-arch-2 .uagb-desc-text{color:#000 !important;}


/*KW-ETAPAS-FP-IMG jul2026 - imagen tarjeta FP en /etapas-educativas/*/
.uagb-block-et-6::before{content:"";display:block;height:170px;border-radius:14px;background:url(https://www.colegiokw.com/wp-content/uploads/2026/07/FP-Karol-Wojtyla-scaled.jpg) center 30%/cover no-repeat;margin-bottom:16px;}

/*KW-SERVICIOS-RITMO jul2026 - menos aire entre secciones, mas gap en tarjetas*/
body.page-id-520 .kw-section{padding-top:64px!important;padding-bottom:64px!important;}
body.page-id-520 .kw-srv-cards-grid{gap:32px!important;}
@media (max-width:781px){body.page-id-520 .kw-srv-cards-grid{gap:20px!important;}}

/*KW-CIFRA-SPECTACULAR jul2026 - bloque CIFRA destacado premium*/
.kw-cifra-destacado{position:relative;overflow:hidden;background:linear-gradient(135deg,#1D3461 0%,#306A95 55%,#4E7CDE 130%)!important;padding-top:84px!important;padding-bottom:84px!important;}
.kw-cifra-destacado::before{content:"";position:absolute;top:-120px;right:-120px;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,0.14) 0%,rgba(255,255,255,0) 70%);pointer-events:none;}
.kw-cifra-destacado::after{content:"";position:absolute;bottom:-140px;left:-100px;width:380px;height:380px;border-radius:50%;background:radial-gradient(circle,rgba(78,124,222,0.35) 0%,rgba(78,124,222,0) 70%);pointer-events:none;}
.kw-cifra-destacado .wp-block-columns{position:relative;z-index:1;}
.kw-cifra-destacado .wp-block-column{background:transparent!important;box-shadow:none!important;border:0!important;display:flex;flex-direction:column;align-items:center;text-align:center;}
.kw-cifra-destacado img{background:#fff;border-radius:18px;padding:18px 28px;max-width:230px;height:auto;box-shadow:0 18px 40px rgba(10,25,60,.35);margin:0 auto 28px;}
.kw-cifra-destacado .uagb-block-kwcifra-hd .uagb-heading-text{color:#fff!important;-webkit-text-fill-color:#fff!important;}
.kw-cifra-destacado .uagb-block-kwcifra-hd .uagb-heading-text em{color:#F0B429!important;-webkit-text-fill-color:#F0B429!important;font-style:normal;}
.kw-cifra-destacado p{color:rgba(244,246,251,.92)!important;max-width:640px;margin-left:auto!important;margin-right:auto!important;}
.kw-cifra-destacado .wp-block-buttons{justify-content:center!important;align-self:center!important;margin-top:14px;}
.kw-cifra-destacado .kw-btn-primary .wp-block-button__link{font-weight:700;animation:kw-cifra-pulse 2.4s ease-in-out infinite;transition:transform .25s ease;}
.kw-cifra-destacado .kw-btn-primary .wp-block-button__link:hover{transform:translateY(-2px);}
@keyframes kw-cifra-pulse{0%{box-shadow:0 0 0 0 rgba(240,180,41,.55);}70%{box-shadow:0 0 0 16px rgba(240,180,41,0);}100%{box-shadow:0 0 0 0 rgba(240,180,41,0);}}
@media (prefers-reduced-motion:reduce){.kw-cifra-destacado .kw-btn-primary .wp-block-button__link{animation:none;}}


/*KW-BUSQUEDA-POPUP jul2026: buscador del menu como POPUP centrado (adaptado de la implementacion de pruebawebfps.eu, misma logica de clase ast-dropdown-active que alterna Astra al hacer click en la lupa) */
.ast-search-menu-icon.slide-search.ast-dropdown-active{
  position:fixed!important;
  inset:0!important;
  width:100vw!important;
  height:100vh!important;
  margin:0!important;
  background:rgba(15,30,60,.62)!important;
  display:flex!important;
  align-items:flex-start!important;
  justify-content:center!important;
  padding-top:14vh!important;
  z-index:999999!important;
  opacity:1!important;
  visibility:visible!important;
  animation:kwSearchFadeIn .2s ease!important;
}
.ast-search-menu-icon.slide-search.ast-dropdown-active .search-form{
  position:relative!important;
  order:1!important;
  width:min(620px,92vw)!important;
  max-width:620px!important;
  margin:0!important;
  background:#fff!important;
  border-radius:18px!important;
  box-shadow:0 20px 60px rgba(10,20,40,.35)!important;
  padding:26px 26px!important;
  opacity:1!important;
  visibility:visible!important;
  animation:kwSearchScaleIn .25s ease!important;
}
.ast-search-menu-icon.slide-search.ast-dropdown-active .search-form label{
  width:100%!important;
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  margin:0!important;
}
.ast-search-menu-icon.slide-search.ast-dropdown-active .search-field{
  flex:1 1 auto!important;
  width:100%!important;
  height:52px!important;
  font-size:17px!important;
  padding:0 16px!important;
  border:1.5px solid #d8dee8!important;
  border-radius:12px!important;
  outline:none!important;
  background:#fff!important;
  color:#306A95!important;
  box-shadow:none!important;
}
.ast-search-menu-icon.slide-search.ast-dropdown-active .search-field:focus{
  border-color:#306A95!important;
  box-shadow:0 0 0 3px rgba(48,106,149,.14)!important;
}
.ast-search-menu-icon.slide-search.ast-dropdown-active .search-submit{
  order:2!important;
  width:52px!important;
  height:52px!important;
  min-width:52px!important;
  border-radius:12px!important;
  background:#306A95!important;
  border:none!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  cursor:pointer!important;
  transition:background .2s ease!important;
}
.ast-search-menu-icon.slide-search.ast-dropdown-active .search-submit:hover{
  background:#1F4561!important;
}
.ast-search-menu-icon.slide-search.ast-dropdown-active .search-submit svg,
.ast-search-menu-icon.slide-search.ast-dropdown-active .search-submit path{
  fill:#fff!important;
}
.ast-search-menu-icon.slide-search.ast-dropdown-active .search-submit svg{
  width:20px!important;
  height:20px!important;
}
/* El icono de lupa (siempre visible, el mismo que abre) se reconvierte visualmente en boton de cierre (X) arriba a la derecha del overlay */
.ast-search-menu-icon.slide-search.ast-dropdown-active .ast-search-icon{
  order:3!important;
  position:fixed!important;
  top:24px!important;
  right:24px!important;
  width:44px!important;
  height:44px!important;
  border-radius:50%!important;
  background:#fff!important;
  box-shadow:0 4px 14px rgba(0,0,0,.28)!important;
}
.ast-search-menu-icon.slide-search.ast-dropdown-active .ast-search-icon a{
  position:relative!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
}
.ast-search-menu-icon.slide-search.ast-dropdown-active .ast-search-icon svg{
  display:none!important;
}
.ast-search-menu-icon.slide-search.ast-dropdown-active .ast-search-icon a::before,
.ast-search-menu-icon.slide-search.ast-dropdown-active .ast-search-icon a::after{
  content:''!important;
  position:absolute!important;
  top:50%!important;
  left:50%!important;
  width:18px!important;
  height:2px!important;
  background:#306A95!important;
}
.ast-search-menu-icon.slide-search.ast-dropdown-active .ast-search-icon a::before{
  transform:translate(-50%,-50%) rotate(45deg)!important;
}
.ast-search-menu-icon.slide-search.ast-dropdown-active .ast-search-icon a::after{
  transform:translate(-50%,-50%) rotate(-45deg)!important;
}
@keyframes kwSearchFadeIn{from{opacity:0}to{opacity:1}}
@keyframes kwSearchScaleIn{from{opacity:0;transform:translateY(-16px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}
@media (max-width:600px){
  .ast-search-menu-icon.slide-search.ast-dropdown-active{padding-top:9vh!important;}
  .ast-search-menu-icon.slide-search.ast-dropdown-active .search-form{width:92vw!important;padding:20px!important;}
}

/*KW-BUSQUEDA-POPUP-ZINDEX jul2026: el popup del buscador queda atrapado por el contexto de apilamiento del header, lo que lo esconde bajo la barra de admin de WP. Elevamos ese contexto solo cuando el popup esta activo. */
.ast-primary-header-bar:has(.ast-dropdown-active){
  z-index:1000000!important;
}
.ast-search-menu-icon.slide-search.ast-dropdown-active .ast-search-icon{
  top:calc(24px + var(--wp-admin-bar-height, 0px))!important;
}
body.admin-bar .ast-search-menu-icon.slide-search.ast-dropdown-active .ast-search-icon{
  top:64px!important;
}


/* ============================================================
   KW · CIFRAS SIN VALIDAR — OCULTAS TEMPORALMENTE (27/08/2026)
   Los contadores muestran datos sin validar por direccion y en
   Danza, Artes Plasticas y Musica siguen con "Add Your Title Here...".
   Afecta a 9 paginas: 58, 83, 93, 94, 95, 97, 98, 99, 108.
   El contenido NO se ha borrado: sigue en el editor de cada pagina.
   PARA VOLVER A MOSTRARLAS: borrar este bloque entero.
   ============================================================ */
.kw-cifras-section{display:none !important;}


/* ============================================================
   KW · FORMACION PROFESIONAL OCULTA (27/08/2026)
   La pagina /formacion-profesional/ esta en PRIVADO: solo la ve
   quien tiene sesion iniciada en WordPress. Estas reglas ocultan
   las tarjetas que enlazaban a ella en la home y en Etapas
   Educativas, para que ningun visitante llegue a un 404.
   PARA VOLVER A MOSTRARLA: pasar la pagina a "Publicada",
   volver a crear el item de menu y borrar este bloque.
   ============================================================ */
.wp-block-column:has(a[href*="formacion-profesional"]),
.kw-etapa-home-col:has(a[href*="formacion-profesional"]),
body.home .kw-etapas-home-grid > .wp-block-column:has(a[href*="fp-la-sagra"]),
body.home .kw-etapas-home-grid > .kw-etapa-home-col:has(a[href*="fp-la-sagra"]){display:none !important;}


/* ============================================================
   KW · ARREGLOS DE MAQUETACION (27/08/2026)
   1) Scroll horizontal de ~10px en escritorio: las secciones a
      ancho completo usan 100vw, que incluye la barra de scroll.
      overflow-x:clip lo corta sin romper position:sticky.
   2) Boton gris de "Disponible proximamente": habia empate de
      especificidad entre los fragmentos WPCode 1154 y 1185 y
      ganaba el azul. Esta regla lleva una clase mas y gana.
   ============================================================ */
.site-content{overflow-x:clip;}
.wp-block-group.kw-doc-card.kw-doc-pending .wp-block-button.kw-doc-btn > .wp-block-button__link,
.wp-block-group.kw-doc-card.kw-doc-pending:hover .wp-block-button.kw-doc-btn > .wp-block-button__link{
  background-color:#e6e9ee !important;
  color:#5a6573 !important;
  cursor:default;
  pointer-events:none;
}


/* ============================================================================
   ===== INICIO KW-FIX 31-08-2026 (OrbitaClick) =====
   Slider de la HOME + remates del hero.
   PARA REVERTIR: borrar todo lo que hay entre este marcador y el de FIN.
   ============================================================================ */

/* 1 · La altura del hero la manda el CONTENIDO, no el viewport.
       Los slides dejaban de aportar altura por ser position:absolute, y el
       overflow:hidden del contenedor cortaba texto y botones.
       Se apilan con CSS Grid en la misma celda: mismo efecto de fundido,
       pero el contenedor crece hasta el slide más largo. */
.kw-hero-track{ display:grid; }
.kw-hero-slide{
  position:relative;
  inset:auto;
  grid-area:1 / 1;
  min-height:82vh;
}

/* 2 · Tablet: las flechas ya no se montan sobre el texto */
@media (max-width:1024px){
  .kw-hero-slide{ min-height:78vh; }
  .kw-hero-slide-inner{ padding-left:78px; padding-right:78px; }
}

/* 3 · Móvil */
@media (max-width:600px){
  .kw-hero-slide{ min-height:70vh; }
  .kw-hero-slide-inner{ padding-left:24px; padding-right:24px; padding-bottom:84px; }

  /* el badge deja de romper a dos líneas de forma descuidada */
  .kw-hs-eyebrow{
    font-size:10.5px;
    letter-spacing:.08em;
    padding:7px 14px;
    line-height:1.45;
  }

  /* CTAs a ancho completo, apilados y con área táctil accesible */
  .kw-hs-btns{ display:flex; flex-wrap:wrap; gap:12px; width:100%; }
  .kw-hs-btns > a{
    flex:1 1 100%;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    min-height:48px;
  }

  /* WhatsApp flotante: más discreto para que no tape el CTA */
  .joinchat__button{ transform:scale(.86); transform-origin:bottom right; }
}

/* ===== FIN KW-FIX 31-08-2026 (OrbitaClick) ===== */


/* ============================================================================
   ===== INICIO KW-MOVIL 31-08-2026 (OrbitaClick) =====
   Ergonomía en móvil: área táctil de 48 px en botones y suelo tipográfico de 13 px.
   Medido antes/después en el navegador: 0 zonas pulsables por debajo de 40 px
   y 0 scroll horizontal en home y comedor.
   PARA REVERTIR: borrar todo lo que hay entre este marcador y el de FIN.
   ============================================================================ */

@media (max-width:782px){

  /* 1 · Botones: 48 px de alto mínimo (recomendación de Google).
        Antes se quedaban en 34-36 px, y son los CTA de conversión. */
  .wp-block-button__link, .wp-element-button{
    min-height:48px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding-top:12px;
    padding-bottom:12px;
    line-height:1.25;
  }

  /* 2 · Suelo tipográfico: nada por debajo de 13 px en móvil.
        Había textos a 10 px y 11 px, sobre todo en el pie. */
  .uagb-pre-heading-text, .kw-cn-eyebrow, .kw-hs-eyebrow,
  .kw-red-diocesana-name, .kw-red-diocesana-city,
  .kw-srv-card-badge, .kw-etapa-home-edad,
  .kw-footer-label, .kw-fn-mon, .kw-fn-year,
  .kw-footer-legal-links, .kw-footer-legal-links a{
    font-size:13px !important;
  }
  .kw-hs-eyebrow{ text-wrap:balance; }

  /* 3 · Puntos del slider: el punto sigue midiendo 9 px, pero la zona
        pulsable pasa a 34 px con un pseudoelemento invisible. */
  .kw-hs-dot{ position:relative; }
  .kw-hs-dot::before{
    content:"";
    position:absolute;
    left:50%; top:50%;
    width:34px; height:34px;
    transform:translate(-50%,-50%);
  }
  .kw-hs-dots{ gap:14px; }

  /* 4 · Enlaces «Descubrir →» de las tarjetas de etapa de la home */
  .kw-etapa-home-link a{ display:inline-block; padding-top:12px; padding-bottom:12px; }

  /* 5 · Pie: enlaces legales e iconos sociales con área táctil suficiente */
  .site-footer a, footer a{ display:inline-block; padding-top:10px; padding-bottom:10px; }
  .kw-footer-redes-icon{ width:44px !important; height:44px !important; padding:0 !important; }
}

/* ===== FIN KW-MOVIL 31-08-2026 (OrbitaClick) ===== */


/* ============================================================================
   ===== INICIO KW-MOVIL-2 31-08-2026 (OrbitaClick) =====
   Suelo tipográfico de 13 px, segunda pasada.
   El CSS de este mismo archivo tenía 76 reglas por debajo de 13 px, muchas
   con !important y más especificidad (p. ej. "body.page .kw-contacto-card
   .uagb-pre-heading-text"). Las clases se repiten a propósito para subir la
   especificidad por encima de ellas: es la única forma de ganar sin reescribir
   las 76 reglas una por una.
   PARA REVERTIR: borrar todo lo que hay entre este marcador y el de FIN.
   ============================================================================ */

@media (max-width:782px){
  html body .uagb-pre-heading-text.uagb-pre-heading-text.uagb-pre-heading-text.uagb-pre-heading-text.uagb-pre-heading-text,
  html body .uagb-desc-text.uagb-desc-text.uagb-desc-text.uagb-desc-text.uagb-desc-text,
  html body .eyebrow.eyebrow.eyebrow.eyebrow.eyebrow,
  html body .uagb-counter__sub.uagb-counter__sub.uagb-counter__sub.uagb-counter__sub.uagb-counter__sub,
  html body .kw-cifra-sub.kw-cifra-sub.kw-cifra-sub.kw-cifra-sub.kw-cifra-sub{
    font-size:13px !important;
  }

  /* Botones de lupa de las galerías: 20x20 px es demasiado poco para el dedo */
  html body .lightbox-trigger.lightbox-trigger.lightbox-trigger{ min-width:44px; min-height:44px; }
}

/* ===== FIN KW-MOVIL-2 31-08-2026 (OrbitaClick) ===== */


/* ================== KW-PREMIUM 01-09-2026 · INICIO ==================
   OrbitaClick · Tanda 1 de acabado premium.
   REVERSIBLE: borrar todo lo que hay entre INICIO y FIN.
   ==================================================================== */

/* 1. Botones y enlaces de tarjeta sin subrayado */
html body a.kw-hs-btn,
html body a.btn-kw,
html body .uagb-buttons-repeater.btn-kw,
html body .kw-srv-card-link,
html body .kw-etapa-home-link,
html body .kw-etapa-home-link a,
html body .kw-red-diocesana-item,
html body .wp-block-button__link,
html body .kw-etapa-home-card a,
html body .kw-srv-card a,
html body figure.wp-block-image > a,
html body .wp-block-image a { text-decoration: none !important; }

/* 2. Sistema unico de tarjeta: radio y sombra */
html body .kw-etapa-home-card,
html body .kw-srv-card {
  border-radius: 16px !important;
  overflow: hidden;
  box-shadow: 0 1px 2px rgba(16,32,52,.05), 0 10px 28px rgba(16,32,52,.07);
  transition: transform .25s ease, box-shadow .25s ease;
}
html body .kw-etapa-home-card:hover,
html body .kw-srv-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 6px 14px rgba(16,32,52,.09), 0 22px 48px rgba(16,32,52,.14);
}

/* 3. Pies de tarjeta alineados */
html body .kw-etapa-home-card { display: flex; flex-direction: column; height: 100%; }
html body .kw-etapa-home-info { display: flex; flex-direction: column; flex: 1 1 auto; }
html body .kw-etapa-home-link { margin-top: auto !important; margin-bottom: 0 !important; }
html body .kw-srv-card { display: flex; flex-direction: column; height: 100%; }
html body .kw-srv-card-info { display: flex; flex-direction: column; flex: 1 1 auto; }
html body .kw-srv-card-link { margin-top: auto; }

/* 4. Una sola curva de transicion en botones */
html body a.kw-hs-btn,
html body a.btn-kw {
  transition: transform .25s ease, box-shadow .25s ease, background-color .25s ease, color .25s ease;
}
html body a.kw-hs-btn:hover,
html body a.btn-kw:hover { transform: translateY(-2px); }

/* 5. Boton volver arriba con estilo de marca */
html body #ast-scroll-top {
  border-radius: 999px !important;
  background: #1e2a3a !important;
  color: #fff !important;
  box-shadow: 0 6px 18px rgba(16,32,52,.20) !important;
  transition: transform .25s ease, background-color .25s ease;
}
html body #ast-scroll-top:hover { transform: translateY(-3px); background: #306a95 !important; }

/* 6. Encuadre homogeneo en fotos de Etapas (imagenes intactas) */
html body .kw-etapa-home-card img { object-fit: cover !important; }

/* 7. Fechas en espanol: 26 de agosto de 2026 */
html body .wp-block-post-date,
html body .wp-block-post-date a,
html body .wp-block-post-date time,
html body .kw-noticia-fecha { text-transform: lowercase !important; }


/* 8. Quitar la linea azul bajo la foto de las tarjetas de Etapas
      (era un border-bottom de 2.4px, no un subrayado) */
html body .kw-etapa-home-card figure,
html body .kw-etapa-home-card figure.wp-block-image { border-bottom: 0 !important; }

/* 9. Titulos de Etapas a 2 lineas fijas para que DESCUBRIR alinee */
html body .kw-etapa-home-titulo { min-height: 2.45em !important; }


/* 10. Iconos SVG del CTA final (sustituyen a los emojis, que WordPress
       convertia en imagenes externas de s.w.org) */
html body .kw-cta-datos .kw-ico { vertical-align: -3px; margin-right: 7px; opacity: .8; }
html body .kw-cta-datos p { display: flex; align-items: center; justify-content: center; gap: 0; }

/* 11. Servicios: fuera el badge que repite el titulo de la tarjeta */
html body .kw-srv-card-badge { display: none !important; }
html body .kw-srv-card-info { padding-top: 22px; }

/* 12. Un solo estilo de encabezado de seccion (se toma el de Noticias:
       sin mayusculas forzadas, mismo peso y tamano) */
html body .kw-etapas-home-title,
html body .kw-servicios-title {
  text-transform: none !important;
  letter-spacing: -.01em !important;
  font-weight: 400 !important;
}


/* 13. Refuerzo de especificidad para los encabezados de seccion */
html body .kw-servicios-title.kw-servicios-title.kw-servicios-title.kw-servicios-title.kw-servicios-title,
html body .kw-etapas-home-title.kw-etapas-home-title.kw-etapas-home-title.kw-etapas-home-title.kw-etapas-home-title { text-transform: none !important; letter-spacing: -.01em !important; }

/* ================== KW-PREMIUM 01-09-2026 · FIN ===================== */


/* ===== KW-TANDA3 02-09-2026 · INICIO ===== */
/* Reversion: borrar todo entre este marcador INICIO y el marcador FIN. */

/* 1) FECHAS EN ESPANOL
   Spectra aplica text-transform:capitalize a time.uagb-post__date y renderiza
   "2 De Septiembre De 2026". En la base de datos esta bien: "2 de septiembre de 2026". */
html body time.uagb-post__date,
html body .uagb-post__date,
html body .uagb-post-grid time,
html body .uagb-post__text time { text-transform: none !important; }

/* 2) BANNER DE COOKIES COMPACTO EN MOVIL
   Antes: 362 px = 43% de la pantalla; tapaba el CTA en la primera visita.
   Aceptar y Denegar quedan al 50% cada uno = MISMO peso visual (exigencia AEPD/RGPD).
   No se oculta ni se degrada ningun boton ni el texto informativo. */
@media (max-width: 600px) {
  #cmplz-cookiebanner-container .cmplz-cookiebanner { padding: 12px 16px !important; }

  #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-body,
  #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-message {
    font-size: 13.5px !important; line-height: 1.45 !important; }

  #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons {
    flex-direction: row !important; flex-wrap: wrap !important;
    gap: 8px !important; margin-top: 10px !important; }

  #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-accept,
  #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-deny {
    flex: 1 1 calc(50% - 4px) !important; width: auto !important; min-width: 0 !important;
    margin: 0 !important; padding: 11px 6px !important;
    font-size: 14px !important; min-height: 44px !important; }

  #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-view-preferences,
  #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-save-preferences {
    flex: 1 1 100% !important; width: auto !important; margin: 0 !important;
    padding: 7px 6px !important; font-size: 13px !important; min-height: 38px !important; }

  /* tope de altura del texto informativo, con scroll: no se oculta nada */
  #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-message {
    max-height: 104px !important; overflow-y: auto !important;
    margin-bottom: 4px !important; }

  #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-documents {
    font-size: 12px !important; margin-top: 8px !important; }
}

/* 3) BOTONES DE COOKIES CON COLOR DE MARCA KW (todas las resoluciones).
   Aceptar y Denegar mantienen el MISMO tamano y la MISMA fila: peso visual equivalente. */
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-btn.cmplz-accept {
  background-color: #306A95 !important; border: 1px solid #306A95 !important;
  color: #fff !important; font-weight: 600 !important; border-radius: 8px !important; }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-btn.cmplz-deny {
  background-color: #fff !important; border: 1px solid #306A95 !important;
  color: #1E2A3A !important; font-weight: 600 !important; border-radius: 8px !important; }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences,
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-btn.cmplz-save-preferences {
  background-color: transparent !important; border: 1px solid #D9E2EC !important;
  color: #1E2A3A !important; border-radius: 8px !important; }

/* ===== KW-TANDA3 02-09-2026 · FIN ===== */


/* ===== KW-PROXIMAS-FECHAS 02-09-2026 · INICIO ===== */
/* Sustituye la rejilla mensual .kw-cal (624 px de alto para 1 solo evento en septiembre)
   por una lista compacta de proximas fechas. Se alimenta sola de The Events Calendar:
   Jorge edita en Eventos y la home se actualiza sin tocar codigo.
   Reversion: borrar todo entre INICIO y FIN + restaurar la revision 1326 de la pagina 8. */
.kw-proximas{max-width:760px;margin:0 auto;padding:0 16px}
.kw-proximas-eyebrow{margin:0 0 4px;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:#306A95;font-weight:700}
.kw-proximas-title{margin:0 0 18px;font-size:clamp(1.5rem,4vw,2.1rem);line-height:1.15;color:#1E2A3A}
.kw-proximas-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.kw-proximas-item a{display:flex;align-items:center;gap:14px;padding:12px 16px;background:#fff;border:1px solid #E4EAF1;border-radius:14px;text-decoration:none !important;box-shadow:0 1px 2px rgba(16,32,53,.05),0 6px 18px rgba(16,32,53,.05);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.kw-proximas-item a:hover{transform:translateY(-2px);box-shadow:0 2px 4px rgba(16,32,53,.07),0 12px 26px rgba(16,32,53,.10);border-color:#CBD9E8}
.kw-proximas-fecha{flex:0 0 56px;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:56px;background:#F2F6FA;border-radius:10px;line-height:1}
.kw-proximas-dia{font-size:1.35rem;font-weight:800;color:#1E2A3A}
.kw-proximas-mes{margin-top:2px;font-size:.7rem;font-weight:700;letter-spacing:.06em;color:#306A95}
.kw-proximas-texto{display:flex;flex-direction:column;gap:3px;min-width:0}
.kw-proximas-nombre{font-weight:600;color:#1E2A3A;line-height:1.3}
.kw-proximas-hora{font-size:.82rem;color:#6B7C90}
.kw-proximas-item.is-destacado a{border-color:#306A95;background:linear-gradient(180deg,#F7FBFF 0%,#FFFFFF 100%)}
.kw-proximas-item.is-destacado .kw-proximas-fecha{background:#306A95}
.kw-proximas-item.is-destacado .kw-proximas-dia{color:#FFFFFF}
.kw-proximas-item.is-destacado .kw-proximas-mes{color:#CFE3F5}
.kw-proximas-loading,.kw-proximas-empty{padding:14px 16px;color:#6B7C90;font-size:.92rem}
.kw-proximas-cta{display:inline-block;margin-top:16px;font-weight:600;color:#306A95;text-decoration:none !important}
.kw-proximas-cta:hover{color:#1E2A3A}
@media (max-width:600px){
  .kw-proximas-item a{padding:10px 12px;gap:11px}
  .kw-proximas-fecha{flex:0 0 50px;min-height:50px}
  .kw-proximas-dia{font-size:1.2rem}
  .kw-proximas-nombre{font-size:.95rem}
}
/* ===== KW-PROXIMAS-FECHAS 02-09-2026 · FIN ===== */


/* ===== KW-AH-WRAP 02-09-2026 · INICIO ===== */
/* Envoltorio de la migracion de advanced-heading.
   El eyebrow (<p class="uagb-pre-heading-text">) sale del bloque Spectra y pasa a ser
   un parrafo hermano dentro de este grupo, que hereda las clases kw- del bloque original.
   Asi el bloque Spectra vuelve a ser VALIDO y deja de existir el riesgo de que
   "Intentar recuperacion del bloque" borre el texto.
   Esta regla anula el margen de 24px que WordPress mete entre hermanos de un grupo,
   para que el espaciado quede exactamente igual que antes de migrar.
   Reversion: borrar entre INICIO y FIN + restaurar las revisiones de las paginas migradas. */
.kw-ah-wrap > .wp-block-uagb-advanced-heading { margin-block-start: 0 !important; }
.kw-ah-wrap > .uagb-pre-heading-text { margin-block-start: 0 !important; }

/* Muchos envoltorios kw- son flex con gap (p.ej. .kw-evento-card gap:10px).
   Antes el bloque aportaba 3 hijos flex (eyebrow, titular, descripcion) = 2 huecos.
   Tras migrar aporta 2 (eyebrow + div del bloque) = 1 hueco, y se perdian 10px.
   Con esto el div del bloque reparte el mismo gap entre titular y descripcion. */
.kw-ah-wrap > .wp-block-uagb-advanced-heading {
  display: flex; flex-direction: column; gap: inherit;
}
/* ===== KW-AH-WRAP 02-09-2026 · FIN ===== */


/* ===== KW-HOME-BLOQUES 04-09-2026 · INICIO ===== */
/* Al validar los 3 grupos de la home, el bloque core/group no puede generar
   max-width, margin ni overflow en su style. Se pasan aqui para que el
   aspecto sea identico. Reversion: borrar entre INICIO y FIN + revision 1450 de la pagina 8. */
.kw-cta-card { max-width: 1120px; margin-left: auto; margin-right: auto; overflow: hidden; }
/* ===== KW-HOME-BLOQUES 04-09-2026 · FIN ===== */


/* ===== KW-ENCUADRE-ETAPAS 09-09-2026 ===== */
/* object-fit:cover recorta SOLO en horizontal en estas tarjetas.
   En estas 2 fotos la cara queda fuera del centro, asi que se ajusta
   el eje X. Se mantiene el 30% vertical del ajuste original.
   Vita: cara al 78% de la foto. Bachillerato: cara al 60%. */
html body .kw-etapa-home-card img[src*="Educacion-Secundaria-Vita"]{object-position:96% 30%!important}
html body .kw-etapa-home-card img[src*="Bachillerato"]{object-position:65% 30%!important}


/* ===== KW-ETAPAS-5-COLUMNAS 15-09-2026 (OrbitaClick) =====
   La tarjeta de Formacion Profesional esta oculta hasta que se implemente el cluster.
   La rejilla definia 6 columnas y solo hay 5 tarjetas visibles: quedaba un hueco a la derecha.
   Escritorio pasa a 5 columnas. Tablet y movil pasan a flex con la ultima fila centrada,
   para que nunca quede un hueco suelto al final.
   PARA REVERTIR (cuando FP este listo): borrar este bloque entero
   y quitar la regla que oculta la columna de formacion-profesional. */
@media (min-width: 1101px){
  body.home .kw-etapas-home-grid{
    grid-template-columns: repeat(5, 1fr) !important;
  }
}
@media (max-width: 1100px){
  body.home .kw-etapas-home-grid{
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: stretch !important;
  }
  body.home .kw-etapas-home-grid > .wp-block-column{
    flex: 0 1 calc((100% - 42px) / 3) !important;
    width: auto !important;
    max-width: none !important;
  }
}
@media (max-width: 700px){
  body.home .kw-etapas-home-grid > .wp-block-column{
    flex: 0 1 calc((100% - 16px) / 2) !important;
  }
}
@media (max-width: 420px){
  body.home .kw-etapas-home-grid > .wp-block-column{
    flex: 0 1 100% !important;
  }
}
/* ===== fin KW-ETAPAS-5-COLUMNAS ===== */

/* ===== KW-CALENDARIO-EVENTOS 15-09-2026 (OrbitaClick) =====
   Calendario mensual de la home. Misma estructura visual que el de
   Virgen de la Caridad, con la paleta de KW. Lee The Events Calendar
   por su API REST, sin cargar los assets de las vistas del plugin.
   PARA REVERTIR: borrar este bloque y el bloque HTML .kw-cal de la home. */
body.home .kw-cal{max-width:1000px;margin:8px auto 0}
body.home .kw-cal-head{display:flex;align-items:center;justify-content:center;gap:24px;margin-bottom:22px}
body.home .kw-cal-title{font-size:22px;font-weight:700;color:#1E2A3A;min-width:210px;text-align:center}
body.home .kw-cal-head .kw-cal-nav{box-sizing:border-box;width:50px;min-width:50px;max-width:50px;height:50px;padding:0;flex:0 0 50px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;border:0;background:#306A95;color:#fff;font-size:26px;line-height:1;cursor:pointer;box-shadow:0 8px 18px rgba(48,106,149,.30);transition:transform .2s,background .2s}
body.home .kw-cal-head .kw-cal-nav:hover{transform:translateY(-2px);background:#1E4F78;color:#fff}
body.home .kw-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}
body.home .kw-cal-dow{text-align:center;font-weight:600;color:#4A5666;font-size:13px;letter-spacing:.12em;text-transform:uppercase;padding:6px 0}
body.home .kw-cal-cell{min-height:96px;background:#fff;border:1px solid #EEF1F7;border-radius:12px;padding:8px;display:flex;flex-direction:column;gap:5px}
body.home .kw-cal-cell.kw-cal-empty{background:transparent;border:0;min-height:0}
body.home .kw-cal-num{font-size:16px;font-weight:700;color:#2D3848}
body.home .kw-cal-cell.kw-cal-has{box-shadow:0 8px 20px rgba(48,106,149,.12);border-color:#DBE6F2}
body.home .kw-cal-cell.kw-cal-has .kw-cal-num{color:#306A95}
body.home .kw-cal-cell.kw-cal-hoy{outline:2px solid #FFCD57;outline-offset:-2px}
body.home a.kw-cal-ev{display:block;background:#306A95;color:#fff;font-size:12px;line-height:1.25;padding:4px 7px;border-radius:7px;text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600;transition:background .18s}
body.home a.kw-cal-ev:hover,body.home a.kw-cal-ev:focus{background:#1E4F78;color:#fff}
@media (max-width:820px){
  body.home .kw-cal-grid{gap:5px}
  body.home .kw-cal-cell{min-height:auto;border-radius:9px;padding:6px}
  body.home a.kw-cal-ev{white-space:normal;font-size:11px}
  body.home .kw-cal-dow{font-size:13px;letter-spacing:.04em;padding:4px 0}
  body.home .kw-cal-num{font-size:14px}
  body.home .kw-cal-title{font-size:18px;min-width:150px}
  body.home .kw-cal-head{gap:14px;margin-bottom:16px}
  body.home .kw-cal-head .kw-cal-nav{width:44px;min-width:44px;max-width:44px;height:44px;flex:0 0 44px;font-size:22px}
}
/* ===== fin KW-CALENDARIO-EVENTOS ===== */


/* ===== KW-GRUPO-A 16-09-2026 (OrbitaClick) =====
   Ajustes pedidos por Jorge en la llamada del 16/09/2026.
   PARA REVERTIR: borrar este bloque entero. */

/* 1. CTA Reservar visita: amarillo para que destaque sobre el azul */
html body .main-navigation .menu-cta-kw > a,html body .main-header-bar .menu-cta-kw > a,html body .menu-cta-kw > .menu-link{background:#F8DC38 !important;background-color:#F8DC38 !important;color:#1E2A3A !important;font-weight:700 !important}
html body .main-navigation .menu-cta-kw > a:hover,html body .main-header-bar .menu-cta-kw > a:hover,html body .menu-cta-kw > .menu-link:hover,html body .menu-cta-kw > .menu-link:focus{background:#FFCD57 !important;background-color:#FFCD57 !important;color:#1E2A3A !important}
@keyframes kw-latido{0%,88%,100%{transform:scale(1)}94%{transform:scale(1.045)}}
.menu-cta-kw > .menu-link{animation:kw-latido 3.2s ease-in-out 3}
@media (prefers-reduced-motion: reduce){.menu-cta-kw > .menu-link{animation:none !important}}

/* 3a. Icono de documento: azul de marca en vez de casi negro */
.wp-block-group.kw-doc-card::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 74 71'%3E%3Crect x='0' y='0' width='64' height='64' rx='16' fill='%23306A95'/%3E%3Cg transform='translate(16,16)' fill='none' stroke='%23F8DC38' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/%3E%3Cpath d='M14 2v6h6'/%3E%3C/g%3E%3Crect x='38' y='52' width='36' height='19' rx='6' fill='%23E2574C'/%3E%3Ctext x='56' y='66' font-family='Arial,Helvetica,sans-serif' font-size='11.5' font-weight='bold' fill='%23ffffff' text-anchor='middle'%3EPDF%3C/text%3E%3C/svg%3E") !important}

/* 3b. Hover del boton: azul mas claro en vez de negro */
.wp-block-group.kw-doc-card:not(.kw-doc-pending):hover .wp-block-button.kw-doc-btn > .wp-block-button__link{background:#4A87B8 !important;background-color:#4A87B8 !important;color:#fff !important}

/* 3c. Rejilla de documentos: se centra sola con 1, 2 o 3 tarjetas */
.wp-block-group.kw-doc-grid{display:flex !important;flex-wrap:wrap !important;justify-content:center !important;align-items:stretch !important}
.wp-block-group.kw-doc-grid > .kw-doc-card{flex:0 1 370px !important;max-width:100% !important}
@media (max-width:921px){.wp-block-group.kw-doc-grid > .kw-doc-card{flex:0 1 100% !important}}

/* 4. Botones del hero de etapa igualados en alto y padding */
.kw-etapa-hero-cta .wp-block-button__link{display:inline-flex !important;align-items:center !important;justify-content:center !important;min-height:46px !important;padding:12px 28px !important;font-size:15px !important;line-height:1.2 !important}

/* 6. Pastoral: separar el bloque azul del hero */
body.page .kw-pas-ejes{border-top:5px solid #F8DC38 !important;padding-top:76px !important}
/* ===== fin KW-GRUPO-A 16-09-2026 ===== */

/* ===== KW-PASTORAL-SPECTRA 16-09-2026 ===== */
.kw-pas-ejes .kw-pas-ejes-grid,.kw-pas-momentos .kw-pas-momentos-grid{display:flex !important;flex-wrap:wrap !important;justify-content:center !important;align-items:stretch !important;gap:24px !important}
html body.page .kw-pas-ejes .kw-pas-ejes-grid > .wp-block-column{flex:0 1 250px !important;display:flex !important;width:auto !important;max-width:none !important;margin:0 !important}
html body.page .kw-pas-momentos .kw-pas-momentos-grid > .wp-block-column{flex:1 1 300px !important;display:flex !important;width:auto !important;max-width:420px !important;margin:0 !important}
.kw-pas-eje-card,.kw-pas-momento-box{width:100% !important;border-radius:18px !important;padding:34px 24px 30px !important;transition:transform .25s ease,border-color .25s ease,background .25s ease,box-shadow .25s ease}
.kw-pas-eje-card{background:rgba(255,255,255,.07) !important;border:1px solid rgba(255,255,255,.16) !important}
.kw-pas-eje-card:hover{transform:translateY(-6px);border-color:#F8DC38 !important;background:rgba(255,255,255,.12) !important}
.kw-pas-momento-box{background:#fff !important;border:1px solid #E4EAF3 !important;box-shadow:0 2px 14px rgba(30,42,58,.06) !important}
.kw-pas-momento-box:hover{transform:translateY(-6px);border-color:#306A95 !important;box-shadow:0 10px 26px rgba(30,42,58,.12) !important}
.kw-pas-eje-card .uagb-ifb-icon-wrap,.kw-pas-momento-box .uagb-ifb-icon-wrap{display:flex !important;align-items:center !important;justify-content:center !important;width:76px !important;height:76px !important;margin:0 auto 18px !important;border-radius:50% !important}
.kw-pas-eje-card .uagb-ifb-icon-wrap{background:rgba(248,220,56,.14) !important}
.kw-pas-momento-box .uagb-ifb-icon-wrap{background:rgba(48,106,149,.10) !important}
.kw-pas-eje-card .uagb-ifb-title,.kw-pas-momento-box .uagb-ifb-title{margin-top:0;text-align:center}
.kw-pas-eje-card .uagb-ifb-desc,.kw-pas-momento-box .uagb-ifb-desc{margin-top:0;text-align:center}
@media (max-width:921px){html body.page .kw-pas-ejes .kw-pas-ejes-grid > .wp-block-column,html body.page .kw-pas-momentos .kw-pas-momentos-grid > .wp-block-column{flex:0 1 calc((100% - 24px) / 2) !important}}
@media (max-width:600px){html body.page .kw-pas-ejes .kw-pas-ejes-grid > .wp-block-column,html body.page .kw-pas-momentos .kw-pas-momentos-grid > .wp-block-column{flex:0 1 100% !important}}
@media (prefers-reduced-motion: reduce){.kw-pas-eje-card,.kw-pas-momento-box{transition:none !important}.kw-pas-eje-card:hover,.kw-pas-momento-box:hover{transform:none !important}}
/* ===== fin KW-PASTORAL-SPECTRA ===== */


/* Calendario de Eventos (pág. 82): estilo de la lista de próximos eventos */
.page-id-82 .tribe-events-widget-events-list { font-family: inherit; max-width: 760px; margin: 0 auto; }
.page-id-82 .tribe-events-widget-events-list a,
.page-id-82 .tribe-events-widget-events-list a:hover {
  background: none !important; box-shadow: none !important; border: 0 !important;
  border-radius: 0 !important; padding: 0 !important; font-family: inherit;
}
.page-id-82 .tribe-events-widget-events-list__event-row {
  background: #fff; border-radius: 12px; padding: 16px 20px; margin-bottom: 12px;
  box-shadow: 0 2px 10px rgba(0,0,0,.06);
}
.page-id-82 .tribe-events-widget-events-list__event-title a { color: #2f6aa3; font-weight: 600; font-size: 1.15rem; }
.page-id-82 .tribe-events-widget-events-list__event-date-tag-daynum { color: #2f6aa3; }
.page-id-82 .tribe-events-widget-events-list__view-more { display: none; }

/* Calendario de Eventos (pág. 82): ajustes finos de la lista */
.page-id-82 .tribe-events-widget-events-list,
.page-id-82 .tribe-events-widget-events-list * {
  --tec-font-family-sans-serif: inherit;
  --tec-font-family-base: inherit;
  font-family: inherit !important;
}
.page-id-82 .tribe-events-widget-events-list a::before,
.page-id-82 .tribe-events-widget-events-list a::after { display: none !important; content: none !important; }
.page-id-82 .tribe-events-widget-events-list__event-title-link,
.page-id-82 .tribe-events-widget-events-list__event-title-link:hover { color: #2f6aa3 !important; }
.page-id-82 .tribe-events-widget-events-list__event-title-link:hover { text-decoration: underline !important; }
.page-id-82 .tribe-events-widget-events-list__event-datetime { color: #5a6b7d; }

/* Portada: carrusel Spectra — foto a toda la diapositiva y texto centrado en la parte visible */
.kw-portada-slider .swiper-slide {
  height: auto !important;
  display: flex !important;
  flex-direction: column !important;
  padding: 0 !important;
}
.kw-portada-slider .swiper-content {
  flex: 1 1 auto !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  padding-top: 180px !important;   /* 110 px que tapa la cabecera + 70 px de margen */
  padding-bottom: 70px !important;
}

/* Portada: carrusel en móvil */
@media (max-width: 767px) {
  .kw-portada-slider .swiper-wrapper { min-height: 0 !important; }
  .kw-portada-slider .swiper-content { padding: 152px 24px 40px !important; }
  .kw-portada-slider h1, .kw-portada-slider h2 { font-size: 1.9rem !important; line-height: 1.15 !important; margin-bottom: 14px !important; }
  .kw-portada-slider p { font-size: 15px !important; line-height: 1.5 !important; }
  .kw-portada-slider .swiper-button-prev, .kw-portada-slider .swiper-button-next { display: none !important; }
  .kw-portada-slider .wp-block-buttons { gap: 10px !important; }
  .kw-portada-slider .wp-block-button__link { font-size: 15px !important; padding: 11px 22px !important; }
}

/* Tanda Etapas: cabeceras con fotos reales del colegio (20-10-2026) */
html body .kw-hero-cei { background-image: url("/wp-content/uploads/2026/10/kw-cei-cabecera-aula.jpg") !important; }
html body .kw-hero-verbum { background-image: url("/wp-content/uploads/2026/10/kw-infantil-cabecera-clase.jpg") !important; }
html body .kw-hero-veritas { background-image: url("/wp-content/uploads/2026/10/kw-primaria-cabecera-aula.jpg") !important; }
html body .kw-hero-vita { background-image: url("/wp-content/uploads/2026/10/kw-eso-cabecera-convivencia.jpg") !important; }
html body.page.page-id-58 .wp-block-group.kw-page-hero-section {
  background: linear-gradient(135deg, rgba(30,42,58,.78) 0%, rgba(38,74,102,.64) 55%, rgba(48,106,149,.52) 100%),
              url("/wp-content/uploads/2026/10/kw-etapas-cabecera-fachada.jpg") center/cover no-repeat !important;
}

/* Tanda 2 · El Colegio — cabeceras con fotos reales */
html body.page.page-id-59 .wp-block-group.kw-page-hero-section { background: linear-gradient(135deg, rgba(30,42,58,.78) 0%, rgba(38,74,102,.64) 55%, rgba(48,106,149,.52) 100%), url("/wp-content/uploads/2026/10/kw-pastoral-cabecera-misa.jpg") center/cover no-repeat !important; }
html body.page.page-id-540 .wp-block-group.kw-page-hero-section { background: linear-gradient(135deg, rgba(30,42,58,.78) 0%, rgba(38,74,102,.64) 55%, rgba(48,106,149,.52) 100%), url("/wp-content/uploads/2026/10/kw-orientacion-cabecera-aula.jpg") center/cover no-repeat !important; }
html body.page.page-id-85 .wp-block-group.kw-page-hero-section { background: linear-gradient(135deg, rgba(30,42,58,.78) 0%, rgba(38,74,102,.64) 55%, rgba(48,106,149,.52) 100%), url("/wp-content/uploads/2026/10/kw-equipo-profesoras.jpg") center/cover no-repeat !important; }

/* Tanda 3 · Visítanos y Vida escolar — cabeceras con fotos reales */
html body.page.page-id-108 .wp-block-group.kw-page-hero-section { background: linear-gradient(135deg, rgba(30,42,58,.78) 0%, rgba(38,74,102,.64) 55%, rgba(48,106,149,.52) 100%), url("/wp-content/uploads/2026/10/kw-puertas-abiertas-salon-familias.jpg") center/cover no-repeat !important; }
html body.page.page-id-107 .wp-block-group.kw-page-hero-section { background: linear-gradient(135deg, rgba(30,42,58,.78) 0%, rgba(38,74,102,.64) 55%, rgba(48,106,149,.52) 100%), url("/wp-content/uploads/2026/10/kw-visita-personalizada-aula-familias.jpg") center/cover no-repeat !important; }
html body.page.page-id-106 .wp-block-group.kw-page-hero-section { background: linear-gradient(135deg, rgba(30,42,58,.78) 0%, rgba(38,74,102,.64) 55%, rgba(48,106,149,.52) 100%), url("/wp-content/uploads/2026/10/kw-visitanos-familias-entrada.jpg") center/cover no-repeat !important; }
html body.page.page-id-60 .wp-block-group.kw-page-hero-section { background: linear-gradient(135deg, rgba(30,42,58,.78) 0%, rgba(38,74,102,.64) 55%, rgba(48,106,149,.52) 100%), url("/wp-content/uploads/2026/10/kw-vida-escolar-cabecera-recreo.jpg") center/cover no-repeat !important; }
html body.page.page-id-101 .wp-block-group.kw-page-hero-section { background: linear-gradient(135deg, rgba(30,42,58,.78) 0%, rgba(38,74,102,.64) 55%, rgba(48,106,149,.52) 100%), url("/wp-content/uploads/2026/10/kw-uniforme-cabecera-alumnos.jpg") center 60%/cover no-repeat !important; }

/* Tanda 4 · Academias y Servicios — cabeceras con fotos reales */
html body.page.page-id-91 .wp-block-group.kw-etapa-hero { background-image: url("/wp-content/uploads/2026/10/kw-academias-cabecera-polideportivo.jpg") !important; }
html body.page.page-id-92 .wp-block-group.kw-etapa-hero { background-image: url("/wp-content/uploads/2026/10/kw-deportes-cabecera-carrera.jpg") !important; }
html body.page.page-id-96 .wp-block-group.kw-etapa-hero { background-image: url("/wp-content/uploads/2026/10/kw-idiomas-cabecera-clase-inglaterra.jpg") !important; }
html body.page.page-id-444 .wp-block-group.kw-etapa-hero { background-image: url("/wp-content/uploads/2026/10/kw-conciliacion-cabecera-patio-infantil.jpg") !important; }
html body.page.page-id-93 .wp-block-group.kw-page-hero-section { background: linear-gradient(135deg, rgba(30,42,58,.78) 0%, rgba(38,74,102,.64) 55%, rgba(48,106,149,.52) 100%), url("/wp-content/uploads/2026/10/kw-danza-cabecera-alumnas.jpg") center/cover no-repeat !important; }
html body.page.page-id-94 .wp-block-group.kw-page-hero-section { background: linear-gradient(135deg, rgba(30,42,58,.78) 0%, rgba(38,74,102,.64) 55%, rgba(48,106,149,.52) 100%), url("/wp-content/uploads/2026/10/kw-plastica-cabecera-pintura-infantil.jpg") center/cover no-repeat !important; }
html body.page.page-id-95 .wp-block-group.kw-page-hero-section { background: linear-gradient(135deg, rgba(30,42,58,.78) 0%, rgba(38,74,102,.64) 55%, rgba(48,106,149,.52) 100%), url("/wp-content/uploads/2026/10/kw-musica-cabecera-escenario.jpg") center/cover no-repeat !important; }
html body.page.page-id-97 .wp-block-group.kw-page-hero-section { background: linear-gradient(135deg, rgba(30,42,58,.78) 0%, rgba(38,74,102,.64) 55%, rgba(48,106,149,.52) 100%), url("/wp-content/uploads/2026/10/kw-tecnologia-cabecera-tablet-robot.jpg") center/cover no-repeat !important; }
html body.page.page-id-105 .wp-block-group.kw-page-hero-section { background: linear-gradient(135deg, rgba(30,42,58,.78) 0%, rgba(38,74,102,.64) 55%, rgba(48,106,149,.52) 100%), url("/wp-content/uploads/2026/10/kw-intercambio-cabecera-inglaterra.jpg") center/cover no-repeat !important; }
html body.page.page-id-520 .wp-block-group.kw-page-hero-section { background: linear-gradient(135deg, rgba(30,42,58,.78) 0%, rgba(38,74,102,.64) 55%, rgba(48,106,149,.52) 100%), url("/wp-content/uploads/2026/10/kw-servicios-cabecera-lavado-manos.jpg") center/cover no-repeat !important; }
html body.page.page-id-541 .wp-block-group.kw-page-hero-section { background: linear-gradient(135deg, rgba(30,42,58,.78) 0%, rgba(38,74,102,.64) 55%, rgba(48,106,149,.52) 100%), url("/wp-content/uploads/2026/10/kw-secretaria-cabecera-fachada.jpg") center/cover no-repeat !important; }
html body.page.page-id-532 .wp-block-group.kw-page-hero-section { background: linear-gradient(135deg, rgba(30,42,58,.78) 0%, rgba(38,74,102,.64) 55%, rgba(48,106,149,.52) 100%), url("/wp-content/uploads/2026/10/kw-noticias-cabecera-biblioteca.jpg") center/cover no-repeat !important; }

