/* ============================================================
   Centro de Fe y Esperanza — Cali · Estilos globales
   Paleta: Océano (azul profundo) · Tipografías: Newsreader + Figtree
   ============================================================ */
:root{
  --ink:#0E1B33; --accent:#5E93F0; --accent2:#3A6DD6; --accent-soft:#E6EEFB;
  --bg:#FFFFFF; --surface:#EBF1FB; --surface-deep:#0B1729; --line:#DBE4F3;
  --muted:#4F5E79; --hero-ink:#FFFFFF; --cta:#3A6DD6; --on-cta:#FFFFFF;
}
html{scroll-behavior:smooth}
body{margin:0;font-family:Figtree,system-ui,sans-serif;background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto}
a{color:var(--accent2);text-decoration:none}
a:hover{color:var(--cta)}
input,textarea,select,button{font-family:inherit}
::placeholder{color:var(--muted);opacity:.7}

/* ---------- Header global ---------- */
.cfe-header{position:sticky;top:0;z-index:50;background:var(--bg);border-bottom:1px solid var(--line);backdrop-filter:saturate(1.2)}
body.admin-bar .cfe-header{top:32px}
.cfe-header__in{max-width:1200px;margin:0 auto;padding:14px 28px;display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.cfe-brand{display:flex;align-items:center;gap:15px}
.cfe-brand img{height:64px;width:auto;flex-shrink:0}
.cfe-brand__name{display:flex;flex-direction:column;line-height:1;text-align:left}
.cfe-brand__title{font:600 20px/1 Newsreader,serif;color:var(--ink);letter-spacing:.01em}
.cfe-brand-br{display:none}
.cfe-brand__sub{font:600 11px/1 Figtree,sans-serif;letter-spacing:.32em;color:var(--muted);margin-top:6px;text-transform:uppercase}
.cfe-nav{margin-left:auto;display:flex;align-items:center;gap:30px;flex-wrap:wrap}
.cfe-nav a.cfe-nav__link{padding:6px 2px;font:500 15px Figtree,sans-serif;color:var(--ink);border-bottom:2px solid transparent}
.cfe-nav a.cfe-nav__link:hover{color:var(--accent2)}
.cfe-nav a.cfe-nav__link.is-active{font-weight:600;color:var(--accent2);border-bottom-color:var(--accent2)}
.cfe-pill{display:inline-block;background:var(--cta);color:var(--on-cta)!important;border-radius:999px;padding:12px 22px;font:600 14px Figtree,sans-serif;letter-spacing:.01em}
.cfe-pill:hover{opacity:.9}
.cfe-pill__short{display:none}

/* ---------- Utilidades de sección ---------- */
.cfe-pad{padding:clamp(64px,9vw,120px) 28px}
.cfe-pad-md{padding:clamp(56px,7vw,90px) 28px}
.cfe-pad-hero-bottom{padding:clamp(56px,7vw,90px) 28px 0}
.cfe-surface{background:var(--surface);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.cfe-surface-plain{background:var(--surface);border-bottom:1px solid var(--line)}
.cfe-deep{background:var(--surface-deep)}
.cfe-center-660{max-width:660px;margin-left:auto!important;margin-right:auto!important}
.cfe-center-640{max-width:640px;margin-left:auto!important;margin-right:auto!important}
.cfe-center-56{max-width:56ch;margin-left:auto!important;margin-right:auto!important}
.cfe-center-52{max-width:52ch;margin-left:auto!important;margin-right:auto!important}
.cfe-colgap>.elementor-container>.elementor-column:first-child>.elementor-widget-wrap{padding-right:clamp(40px,6vw,80px)}
.cfe-colgap-sm>.elementor-container>.elementor-column:first-child>.elementor-widget-wrap{padding-right:clamp(36px,5vw,64px)}
@media(max-width:767px){
  .cfe-colgap>.elementor-container>.elementor-column:first-child>.elementor-widget-wrap,
  .cfe-colgap-sm>.elementor-container>.elementor-column:first-child>.elementor-widget-wrap{padding-right:0;padding-bottom:40px}
}

/* ---------- Tipografía (widgets Elementor) ---------- */
.cfe-kicker .elementor-heading-title{font:600 13px Figtree,sans-serif;letter-spacing:.28em;text-transform:uppercase;color:var(--cta)}
.cfe-h1 .elementor-heading-title{font:400 clamp(38px,6vw,74px)/1.05 Newsreader,serif;color:var(--hero-ink);letter-spacing:-.01em;max-width:15ch}
.cfe-h1--page .elementor-heading-title{font:400 clamp(34px,5vw,58px)/1.08 Newsreader,serif;color:var(--ink);max-width:none}
.cfe-h1--light .elementor-heading-title{color:var(--hero-ink)}
.cfe-h2 .elementor-heading-title{font:400 clamp(30px,4vw,46px)/1.12 Newsreader,serif;color:var(--ink);letter-spacing:-.01em}
.cfe-h2--light .elementor-heading-title{color:var(--hero-ink)}
.cfe-h2--xl .elementor-heading-title{font-size:clamp(32px,4.8vw,56px);line-height:1.08}
.cfe-h2--md .elementor-heading-title{font-size:clamp(28px,3.6vw,42px)}
.cfe-h3 .elementor-heading-title{font:400 28px Newsreader,serif;color:var(--ink)}
.cfe-lead{font:400 18px/1.75 Figtree,sans-serif;color:var(--muted)}
.cfe-lead p{margin:0 0 18px}
.cfe-lead p:last-child{margin-bottom:0}
.cfe-lead strong{color:var(--ink);font-weight:600}
.cfe-lead--light,.cfe-lead--light p{color:rgba(255,255,255,.72)}
.cfe-hero-sub{font:400 clamp(17px,2vw,21px)/1.6 Figtree,sans-serif;color:rgba(255,255,255,.82)}
.cfe-hero-sub .elementor-widget-container{max-width:52ch}
.cfe-hero-sub p{margin:0}
.cfe-quote,.cfe-quote p{font:400 15px/1.6 Figtree,sans-serif;color:var(--muted);font-style:italic;margin:0}
.cfe-quote{padding-left:20px;border-left:3px solid var(--cta)}
.cfe-quote--light{border-left:none;padding-left:0}
.cfe-quote--light,.cfe-quote--light p{color:rgba(255,255,255,.6)}

/* ---------- Botones (widget Elementor) ---------- */
.cfe-btn .elementor-button{background:var(--cta);color:var(--on-cta);border-radius:999px;padding:16px 30px;font:600 16px/1.2 Figtree,sans-serif;letter-spacing:.01em}
.cfe-btn .elementor-button:hover{background:var(--cta);color:var(--on-cta);opacity:.9}
.cfe-btn--ghost .elementor-button{background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.4);backdrop-filter:blur(4px)}
.cfe-btn--ghost .elementor-button:hover{background:rgba(255,255,255,.2);opacity:1}
.cfe-btn--md .elementor-button{padding:14px 26px;font-size:15px}
.cfe-btn--lg .elementor-button{padding:17px 38px;font-size:17px}
.cfe-mr{margin-right:14px}
/* Botones en par (hero, cómo llegar): en fila, con salto en móvil */
.elementor-widget-button.cfe-mr,
.elementor-widget-button.cfe-mr + .elementor-widget-button{display:inline-block;width:auto;vertical-align:top;margin-bottom:14px}

/* ---------- Hero (Inicio) ---------- */
.cfe-heroactions{display:flex;gap:14px;flex-wrap:wrap;margin-top:36px}
.cfe-heroactions a{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:16px 30px;font:600 16px Figtree,sans-serif;cursor:pointer;line-height:1.2}
.cfe-heroactions a.primary{background:var(--cta);color:var(--on-cta)}
.cfe-heroactions a.primary:hover{opacity:.9;color:var(--on-cta)}
.cfe-heroactions a.ghost{background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.4);backdrop-filter:blur(4px)}
.cfe-heroactions a.ghost:hover{background:rgba(255,255,255,.2);color:#fff}
.cfe-hero{position:relative;min-height:82vh;background:url('hero.jpg') center 35%/cover no-repeat;overflow:hidden}
.cfe-hero::before{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.78),rgba(0,0,0,.28) 55%,rgba(0,0,0,.45))}
.cfe-hero>.elementor-container{position:relative;z-index:2;padding-left:28px;padding-right:28px;padding-bottom:76px}

/* ---------- Fotos ---------- */
.cfe-photo45,.cfe-photo54{border-radius:18px;overflow:hidden}
.cfe-photo45 img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 20%;border-radius:18px;border:1px solid var(--line)}
.cfe-photo54 img{width:100%;aspect-ratio:5/4;object-fit:cover;object-position:center 42%;border-radius:18px;border:1px solid var(--line)}

/* ---------- Tarjetas de horarios ---------- */
.cfe-card>.elementor-widget-wrap{background:var(--bg);border:1px solid var(--line);border-radius:18px;padding:40px 36px!important;display:flex;flex-direction:column;justify-content:center}
.cfe-card-l{margin-right:14px}
.cfe-card-r{margin-left:14px}
@media(max-width:767px){.cfe-card-l{margin-right:0;margin-bottom:28px}.cfe-card-r{margin-left:0}}
@media(max-width:767px){.elementor-widget-button.cfe-mr{margin-bottom:14px!important}}
.cfe-kicker-sm .elementor-heading-title{font:600 13px Figtree,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:var(--cta)}
.cfe-times{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}
.cfe-times li{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px solid var(--line);padding-bottom:14px;font:400 20px Newsreader,serif;color:var(--ink)}
.cfe-times li:last-child{border-bottom:none;padding-bottom:0}
.cfe-times li b{font:600 18px Figtree,sans-serif;color:var(--accent2)}
.cfe-times--grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 28px}
.cfe-times--grid li:nth-last-child(-n+2){border-bottom:none;padding-bottom:0}
@media(max-width:520px){.cfe-times--grid{grid-template-columns:1fr}.cfe-times--grid li:nth-last-child(2){border-bottom:1px solid var(--line);padding-bottom:14px}}

/* ---------- Impacto de misiones ---------- */
.cfe-impact{position:relative;overflow:hidden;background:var(--surface-deep)}
.cfe-impact::before{content:'';position:absolute;inset:0;background:url('worldmap-dots.png') center no-repeat;background-size:min(1180px,116%);opacity:.5;pointer-events:none}
.cfe-impact::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 70% 60% at 50% 42%,transparent 30%,var(--surface-deep) 82%);pointer-events:none}
.cfe-impact>.elementor-container{position:relative;z-index:2}
.cfe-counter .elementor-counter-number-wrapper{justify-content:center;font:400 clamp(56px,7vw,88px)/1 Newsreader,serif;color:var(--cta)}
.cfe-counter .elementor-counter-title{display:flex;flex-direction:column;align-items:center;font:600 13px Figtree,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.75);text-align:center}
.cfe-counter .elementor-counter-title::before{content:'';display:block;width:34px;height:2px;background:var(--cta);opacity:.5;margin:20px auto}

/* ---------- Mapa ---------- */
.cfe-map{border-radius:18px;overflow:hidden;border:1px solid rgba(255,255,255,.15);min-height:340px;background:#0c1424}
.cfe-map iframe{width:100%;height:100%;min-height:340px;border:0;display:block}

/* ---------- Formularios (Contact Form 7) ---------- */
.cfe-form{display:flex;flex-direction:column;gap:24px}
.cfe-grid2{display:grid;grid-template-columns:1fr 1fr;gap:24px}
@media(max-width:640px){.cfe-grid2{grid-template-columns:1fr}}
.cfe-label{display:block;font:600 12px/1 Figtree,sans-serif;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
.cfe-label em{text-transform:none;letter-spacing:0;font-weight:400;font-style:normal}
.cfe-form .wpcf7-form-control-wrap{display:block}
.cfe-form input[type=text],.cfe-form input[type=tel],.cfe-form input[type=email],.cfe-form textarea{width:100%;padding:14px 16px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--ink);font:400 16px/1.5 Figtree,sans-serif;outline:none;margin-top:8px}
.cfe-form input:focus,.cfe-form textarea:focus{border-color:var(--accent)}
.cfe-radios .wpcf7-radio{display:flex;gap:12px;margin-top:12px;flex-wrap:wrap}
.cfe-radios .wpcf7-list-item{margin:0;flex:1;min-width:180px}
.cfe-radios .wpcf7-list-item label{display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line);border-radius:10px;padding:13px;cursor:pointer;background:var(--bg);font:500 15px Figtree,sans-serif;color:var(--ink)}
.cfe-checks .wpcf7-checkbox{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-top:12px}
.cfe-checks .wpcf7-list-item{margin:0}
.cfe-checks .wpcf7-list-item label{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:10px;padding:14px 16px;cursor:pointer;background:var(--bg);font:500 15px Figtree,sans-serif;color:var(--ink)}
.cfe-form input[type=radio],.cfe-form input[type=checkbox]{accent-color:var(--accent);width:17px;height:17px;margin:0}
.cfe-form .wpcf7-submit{align-self:flex-start;background:var(--cta);color:var(--on-cta);border:none;border-radius:999px;padding:16px 36px;font:600 16px Figtree,sans-serif;cursor:pointer}
.cfe-form .wpcf7-submit:hover{opacity:.9}
.wpcf7 form .wpcf7-response-output{margin:16px 0 0;padding:12px 16px;border-radius:10px;font:500 15px Figtree,sans-serif}
.wpcf7-not-valid-tip{font:400 13px Figtree,sans-serif;color:#c0392b;margin-top:6px}
/* Consentimiento de datos (habeas data) */
.cfe-consent{margin-top:-4px}
.cfe-consent .wpcf7-acceptance .wpcf7-list-item{margin:0}
.cfe-consent label{display:flex;align-items:flex-start;gap:10px;cursor:pointer;margin:0}
.cfe-consent .wpcf7-list-item-label{font:400 13px/1.55 Figtree,sans-serif;color:var(--muted);text-transform:none;letter-spacing:0}
.cfe-consent .wpcf7-list-item-label a{color:var(--accent2);text-decoration:underline}
.cfe-consent input[type=checkbox]{margin-top:2px;flex-shrink:0}

/* ---------- Panel lateral de contacto / filas de datos ---------- */
.cfe-aside{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:36px 32px;display:flex;flex-direction:column;gap:26px}
.cfe-aside h3{font:400 24px Newsreader,serif;color:var(--ink);margin:0 0 6px}
.cfe-aside .sub{font:400 15px/1.6 Figtree,sans-serif;color:var(--muted);margin:0}
.cfe-rows{display:flex;flex-direction:column;gap:18px}
a.cfe-row{display:flex;flex-direction:column;gap:3px}
div.cfe-row{display:flex;flex-direction:column;gap:3px}
.cfe-row .l{font:600 11px Figtree,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.cfe-row .v{font:500 16px/1.4 Figtree,sans-serif;color:var(--ink)}
.cfe-aside__follow{border-top:1px solid var(--line);padding-top:22px}
.cfe-aside__follow .handles{font:500 16px Figtree,sans-serif;color:var(--accent2);margin:6px 0 0}

/* ---------- Donaciones ---------- */
.cfe-don{background:var(--bg);border:1px solid var(--line);border-radius:20px;padding:44px 40px;box-shadow:0 2px 24px rgba(20,35,61,.05)}
.cfe-don--alt{background:var(--surface);box-shadow:none}
.cfe-don .k{font:600 12px Figtree,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:var(--cta);margin:0}
.cfe-don h2{font:400 30px Newsreader,serif;color:var(--ink);margin:12px 0 16px}
.cfe-don .d{font:400 16px/1.7 Figtree,sans-serif;color:var(--muted);margin:0 0 28px}
.cfe-amounts{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}
.cfe-amounts span{border:1px solid var(--line);border-radius:10px;padding:12px 20px;font:600 16px Figtree,sans-serif;color:var(--ink)}
.cfe-amounts span.sel{border-color:var(--accent);color:var(--accent2)}
.cfe-don input[type=text]{width:100%;padding:14px 16px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--ink);font:400 16px/1.5 Figtree,sans-serif;outline:none}
.cfe-don input[type=text]:focus{border-color:var(--accent)}
.cfe-don .pay{width:100%;margin-top:20px;background:var(--cta);color:var(--on-cta);border:none;border-radius:12px;padding:17px;font:600 17px Figtree,sans-serif;cursor:pointer}
.cfe-don .pay:hover{opacity:.9}
.cfe-don .pay:disabled{opacity:.5;cursor:not-allowed}
.cfe-amounts span{cursor:pointer;user-select:none}
.cfe-don a.pay{display:flex;align-items:center;justify-content:center;text-align:center;color:var(--on-cta)!important;text-decoration:none}
.cfe-don .divider{height:1px;background:var(--line);margin:28px 0 24px}
.cfe-don .dlast{margin-bottom:0}
.cfe-don .note{font:400 13px/1.5 Figtree,sans-serif;color:var(--muted);text-align:center;margin-top:16px}
.cfe-don .fine{font:400 14px/1.6 Figtree,sans-serif;color:var(--muted);margin-top:24px}
.cfe-don-l{margin-right:14px}
.cfe-don-r{margin-left:14px}
@media(max-width:767px){.cfe-don-l{margin-right:0;margin-bottom:28px}.cfe-don-r{margin-left:0}}

/* ---------- Footer global ---------- */
.cfe-footer{background:var(--surface-deep);color:rgba(255,255,255,.7)}
.cfe-footer__grid{max-width:1200px;margin:0 auto;padding:clamp(56px,7vw,84px) 28px 40px;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:44px}
.cfe-footer__brand{display:flex;align-items:center;gap:12px;margin-bottom:18px}
.cfe-footer__brand img{height:42px;width:auto}
.cfe-footer__brand span{font:600 18px/1.15 Newsreader,serif;color:#fff}
.cfe-footer h4{font:600 12px Figtree,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--cta);margin:0 0 16px}
.cfe-footer p{font:400 15px/1.8 Figtree,sans-serif;color:rgba(255,255,255,.65);margin:0;max-width:34ch}
.cfe-footer a{color:rgba(255,255,255,.65)}
.cfe-footer a:hover{color:#fff}
.cfe-footer__bar{border-top:1px solid rgba(255,255,255,.12)}
.cfe-footer__bar-in{max-width:1200px;margin:0 auto;padding:22px 28px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font:400 13px Figtree,sans-serif;color:rgba(255,255,255,.5)}

/* ---------- Utilidades de margen / columnas ---------- */
.cfe-mb-56{margin-bottom:56px!important}
.cfe-don-col-l>.elementor-widget-wrap{padding-right:14px}
.cfe-don-col-r>.elementor-widget-wrap{padding-left:14px}
@media(max-width:767px){
  .cfe-don-col-l>.elementor-widget-wrap{padding-right:0;padding-bottom:28px}
  .cfe-don-col-r>.elementor-widget-wrap{padding-left:0}
}

/* ---------- Páginas legales ---------- */
.cfe-legal{max-width:820px;margin:0 auto;padding:clamp(48px,7vw,90px) 28px;font:400 17px/1.75 Figtree,sans-serif;color:var(--muted)}
.cfe-legal h1{font:400 clamp(30px,4vw,46px)/1.12 Newsreader,serif;color:var(--ink);margin:0 0 8px}
.cfe-legal .updated{display:block;font:600 12px Figtree,sans-serif;letter-spacing:.05em;text-transform:uppercase;color:var(--cta);margin:0 0 36px}
.cfe-legal h2{font:400 clamp(21px,3vw,28px) Newsreader,serif;color:var(--ink);margin:38px 0 12px}
.cfe-legal p{margin:0 0 16px}
.cfe-legal ul{margin:0 0 16px;padding-left:22px}
.cfe-legal li{margin:0 0 8px}
.cfe-legal a{color:var(--accent2);text-decoration:underline}
.cfe-legal strong{color:var(--ink);font-weight:600}
.cfe-legal .cfe-legal__note{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:18px 20px;font-size:15px;margin:0 0 28px}

/* ---------- Blog de Sermones ---------- */
.cfe-hero--sermones{min-height:46vh;background-image:url('sermon-hero.jpg');background-position:center 65%}
.cfe-hero--sermones::before{background:linear-gradient(to top,rgba(4,10,22,.88),rgba(4,10,22,.35) 55%,rgba(4,10,22,.5))}
.cfe-hero--sermon-single{min-height:34vh}
@media(min-width:1024px){
  .cfe-sermon-article{margin-left:15%;margin-right:15%}
}

.cfe-podcast-links{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:0 0 40px;padding:20px 24px;background:var(--surface);border:1px solid var(--line);border-radius:14px}
.cfe-podcast-links__label{font:600 13px Figtree,sans-serif;color:var(--muted)}
.cfe-podcast-badge{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:999px;background:var(--bg);border:1px solid var(--line);font:600 13px Figtree,sans-serif;color:var(--ink);transition:border-color .2s ease-out,transform .2s ease-out}
.cfe-podcast-badge:hover{border-color:var(--accent);color:var(--ink);transform:translateY(-2px)}

.cfe-sermon-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:28px;margin-top:8px}
.cfe-sermon-card{display:block;background:var(--bg);border:1px solid var(--line);border-radius:18px;padding:32px 28px;text-decoration:none}
.cfe-sermon-card__date{display:block;font:600 12px Figtree,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--cta);margin-bottom:10px}
.cfe-sermon-card__title{font:400 24px Newsreader,serif;color:var(--ink);margin:0 0 10px}
.cfe-sermon-card__excerpt{font:400 15px/1.6 Figtree,sans-serif;color:var(--muted);margin:0 0 16px}
.cfe-sermon-card__cta{font:600 13px Figtree,sans-serif;color:var(--accent2)}

.cfe-sermon-embed{margin-bottom:8px}
.cfe-sermon-byline{font:500 13px Figtree,sans-serif;color:var(--muted);margin:0 0 32px}
.cfe-sermon-content p{margin:0 0 18px}
.cfe-sermon-content h2{font:400 clamp(24px,3vw,32px) Newsreader,serif;color:var(--ink);margin:44px 0 16px}
.cfe-sermon-content h3{font:600 19px Figtree,sans-serif;color:var(--ink);margin:30px 0 8px}
.cfe-sermon-content .cfe-legal__note{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:20px 22px;margin:8px 0 32px}
.cfe-sermon-content em{font:italic 500 1.3em/1.6 Newsreader,serif;color:var(--ink)}
.cfe-sermon-content blockquote.cfe-quote{padding:4px 0 4px 24px;border-left:4px solid var(--cta);margin:32px 0}
.cfe-sermon-content blockquote.cfe-quote,.cfe-sermon-content blockquote.cfe-quote p{font:italic 500 clamp(24px,3vw,30px)/1.5 Newsreader,serif;color:var(--ink)}
.cfe-sermon-back{margin-top:40px}
.cfe-sermon-back a{font:600 14px Figtree,sans-serif}

.cfe-pagination{display:flex;gap:8px;margin-top:48px;justify-content:center}
.cfe-pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:38px;padding:0 10px;border-radius:8px;border:1px solid var(--line);color:var(--ink);font:500 14px Figtree,sans-serif;text-decoration:none}
.cfe-pagination .page-numbers.current{background:var(--cta);color:var(--on-cta)!important;border-color:var(--cta)}

@media(max-width:640px){
  .cfe-sermon-grid{grid-template-columns:1fr}
  .cfe-podcast-links{padding:16px 18px}
}

/* ---------- Ajustes Elementor ---------- */
.elementor-section.elementor-section-boxed>.elementor-container{max-width:1200px}
.cfe-w1000>.elementor-container{max-width:1000px}
.cfe-w1100>.elementor-container{max-width:1100px}
.cfe-w900>.elementor-container{max-width:900px}

/* ---------- Pagina Visita ---------- */
.cfe-hero--visita{background-image:url('visita-hero.jpg');background-position:center 25%}
.cfe-hero--visita::before{background:linear-gradient(to top,rgba(0,0,0,.8),rgba(0,0,0,.32) 55%,rgba(0,0,0,.55))}
@media(max-width:767px){.cfe-hero--visita .cfe-kicker .elementor-heading-title{color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.45)}}
.cfe-cards-gap{margin-bottom:28px}
.cfe-highlight{margin-top:28px}
.cfe-times-note{margin:18px 0 0;padding-top:14px;border-top:1px dashed var(--line);font:500 15px/1.5 Figtree,sans-serif;color:var(--accent2)}

/* Contadores en movil: aire entre cifras y linea separadora DEBAJO del enunciado */
@media(max-width:767px){
  .cfe-impact .elementor-column:not(:last-child) .cfe-counter{margin-bottom:44px}
  .cfe-counter .elementor-counter-title::before{display:none}
  .cfe-counter .elementor-counter-title::after{content:'';display:block;width:34px;height:2px;background:var(--cta);opacity:.5;margin:20px auto 0}
  .cfe-counter .elementor-counter-title{margin-top:14px}
}

/* ---------- Hero: aire superior (espacio sobre el kicker) ---------- */
.cfe-hero>.elementor-container{padding-top:clamp(36px,5vw,65px)}
@media(max-width:600px){.cfe-hero>.elementor-container{padding-top:20px}}

/* ---------- Header: acciones + menu movil ---------- */
.cfe-header__actions{display:flex;align-items:center;gap:14px}
.cfe-burger{display:none;background:none;border:0;padding:10px 6px;cursor:pointer}
.cfe-burger span{display:block;width:24px;height:2px;background:var(--ink);border-radius:2px;transition:transform .2s,opacity .2s}
.cfe-burger span+span{margin-top:6px}
body.cfe-nav-open .cfe-burger span:nth-child(1){transform:translateY(8px) rotate(45deg)}
body.cfe-nav-open .cfe-burger span:nth-child(2){opacity:0}
body.cfe-nav-open .cfe-burger span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
@media(max-width:900px){
  .cfe-header__in{padding:10px 14px;gap:8px;flex-wrap:nowrap}
  .cfe-brand{gap:10px;min-width:0}
  .cfe-brand img{height:66px;flex-shrink:0}
  .cfe-brand__name{min-width:0}
  .cfe-brand__title{font-size:16px;line-height:1.15;white-space:nowrap;letter-spacing:0}
  .cfe-brand-br{display:block}
  .cfe-brand__sub{font-size:10px;letter-spacing:.1em;margin-top:4px;white-space:nowrap}
  .cfe-header__actions{margin-left:auto;gap:20px;flex-shrink:0}
  .cfe-pill{padding:8px 13px;font-size:12.5px;white-space:nowrap}
  .cfe-pill__full{display:none}
  .cfe-pill__short{display:inline}
  .cfe-burger{display:block;padding:8px 4px}
  .cfe-nav{display:flex;position:absolute;top:100%;left:0;right:0;margin:0;padding:10px 18px 16px;flex-direction:column;align-items:stretch;gap:0;background:var(--bg);border-bottom:1px solid var(--line);box-shadow:0 12px 24px rgba(0,0,0,.08);opacity:0;visibility:hidden;transform:translateY(-8px);pointer-events:none;transition:opacity .22s ease-out,transform .22s ease-out,visibility .22s}
  .cfe-nav a.cfe-nav__link{padding:12px 2px;border-bottom:1px solid var(--line);font-size:16px}
  body.cfe-nav-open .cfe-nav{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}
}
@media (prefers-reduced-motion: reduce){
  .cfe-nav{transition:none}
}

/* ---------- Animaciones: aparicion al hacer scroll ---------- */
.cfe-card,.cfe-photo45,.cfe-photo54,.cfe-don,.cfe-aside,.cfe-counter,.cfe-quote,.cfe-highlight,.cfe-sermon-card,.cfe-sermon-embed{
  opacity:0;
  transform:translateY(56px) scale(.96);
  transition:opacity .6s cubic-bezier(.22,.8,.32,1),transform .6s cubic-bezier(.22,.8,.32,1);
}
.cfe-counter{transform:translateY(40px) scale(.8);}
.cfe-card.is-visible,.cfe-photo45.is-visible,.cfe-photo54.is-visible,.cfe-don.is-visible,.cfe-aside.is-visible,.cfe-counter.is-visible,.cfe-quote.is-visible,.cfe-highlight.is-visible,.cfe-sermon-card.is-visible,.cfe-sermon-embed.is-visible{
  opacity:1;
  transform:none;
}

/* ---------- Animaciones: hover en tarjetas y botones ---------- */
.cfe-card>.elementor-widget-wrap,.cfe-don,.cfe-aside,.cfe-sermon-card{
  transition:transform .25s ease-out,box-shadow .25s ease-out;
}
.cfe-card>.elementor-widget-wrap:hover,.cfe-don:hover,.cfe-aside:hover,.cfe-sermon-card:hover{
  transform:translateY(-10px) scale(1.015);
  box-shadow:0 24px 48px rgba(20,35,61,.18);
}
.elementor-button,.cfe-pill{
  transition:transform .2s ease-out,box-shadow .2s ease-out,opacity .2s ease-out;
}
.elementor-button:hover,.cfe-pill:hover{
  transform:translateY(-4px) scale(1.04);
  box-shadow:0 14px 30px rgba(58,109,214,.38);
}
.cfe-btn--ghost .elementor-button:hover{box-shadow:0 14px 30px rgba(255,255,255,.22);}

/* ---------- Accesibilidad: respetar preferencia de movimiento reducido ---------- */
@media (prefers-reduced-motion: reduce){
  .cfe-card,.cfe-photo45,.cfe-photo54,.cfe-don,.cfe-aside,.cfe-counter,.cfe-quote,.cfe-highlight,.cfe-sermon-card,.cfe-sermon-embed,
  .elementor-button,.cfe-pill{
    transition:none!important;
    opacity:1!important;
    transform:none!important;
  }
}

.cfe-donaciones-bg{position:relative;background-image:url('donaciones-hero.jpg');background-position:center 55%;background-size:cover;background-repeat:no-repeat}
.cfe-donaciones-bg::before{content:'';position:absolute;inset:0;background:linear-gradient(to bottom,rgba(4,10,22,.6),rgba(4,10,22,.82))}
.cfe-donaciones-bg>.elementor-container{position:relative;z-index:2}

/* --- Sermon archive (magazine layout) --- */
.cfe-arch-featured{display:grid;grid-template-columns:1.5fr 1fr;grid-template-rows:1fr;gap:24px;margin-bottom:20px;height:400px}
.cfe-arch-stack{display:grid;grid-template-rows:1fr 1fr;gap:24px;height:100%}
.cfe-arch-card{position:relative;border-radius:10px;overflow:hidden;display:block;background:var(--surface-deep);height:100%;will-change:transform}
.cfe-arch-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;will-change:transform,opacity}
.cfe-arch-card::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(6,12,26,.92) 0%,rgba(6,12,26,.15) 55%,rgba(6,12,26,0) 75%)}
.cfe-arch-badge{position:absolute;top:16px;left:16px;z-index:2;background:rgba(14,27,51,.72);color:#fff;font:600 12px Figtree,sans-serif;padding:6px 12px;border-radius:999px;backdrop-filter:blur(3px)}
.cfe-arch-overlay{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:22px;will-change:transform,opacity}
.cfe-arch-overlay h2{font:400 30px/1.18 Newsreader,Georgia,serif;color:#fff;margin:0 0 6px;text-shadow:0 2px 10px rgba(0,0,0,.3)}
.cfe-arch-card--big .cfe-arch-overlay h2{font-size:38px}
.cfe-arch-overlay p{font:500 15px Figtree,sans-serif;color:rgba(255,255,255,.85);margin:0}
.cfe-arch-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:36px 28px;margin:44px 0 20px}
.cfe-arch-grid>a{display:block;text-decoration:none;color:inherit;will-change:transform,opacity}
.cfe-arch-thumb{position:relative;border-radius:8px;overflow:hidden;aspect-ratio:16/10.5;background:var(--surface)}
.cfe-arch-thumb img{width:100%;height:100%;object-fit:cover;display:block;will-change:transform}
.cfe-arch-thumb__fallback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:var(--surface-deep);font:400 20px Newsreader,serif;color:#fff;opacity:.7}
.cfe-arch-grid h3{font:400 22px/1.28 Newsreader,Georgia,serif;color:var(--ink);margin:16px 0 6px}
.cfe-arch-preacher{font:600 14px Figtree,sans-serif;color:var(--accent2);margin:0 0 4px}
.cfe-arch-date{font:500 13px Figtree,sans-serif;color:var(--muted);margin:0}
@media (max-width:860px){
.cfe-arch-featured{grid-template-columns:1fr;height:auto}
.cfe-arch-card{height:auto;aspect-ratio:16/11}
.cfe-arch-stack{grid-template-rows:auto auto;height:auto}
.cfe-arch-grid{grid-template-columns:1fr}
}
/* --- View Transitions nativas (progressive enhancement, sin JS) --- */
@view-transition{navigation:auto}

/* --- Barra de progreso de lectura (sermon individual) --- */
.cfe-progress-track{position:fixed;top:0;left:0;right:0;height:3px;background:transparent;z-index:9999;pointer-events:none}
.cfe-progress-bar{height:100%;width:100%;background:var(--cta);transform-origin:0 50%;transform:scaleX(0)}

/* --- Acordeon de preguntas frecuentes (sermon individual) --- */
.cfe-faq-item{border-bottom:1px solid var(--line);padding:18px 0}
.cfe-faq-q{cursor:pointer;position:relative;padding-right:32px;margin:0!important}
.cfe-faq-q::after{content:'+';position:absolute;right:0;top:0;font:400 22px/1 Figtree,sans-serif;color:var(--accent2);transition:transform .3s ease}
.cfe-faq-item.is-open .cfe-faq-q::after{transform:rotate(45deg)}
.cfe-faq-a{will-change:height,opacity}

/* --- Donaciones: feedback visual al elegir monto --- */
.cfe-amounts span{will-change:transform}
/* --- Zoom en fotos al pasar el mouse (sitio entero) --- */
.elementor-widget-image{overflow:hidden}
.elementor-widget-image img,.cfe-photo-hover img{will-change:transform}

/* --- Ajustes de espaciado (Sermones archivo + sermon individual) --- */
.cfe-arch{padding-top:32px!important}
.cfe-faq-item{padding:26px 0}
.cfe-sermon-content h2.cfe-faq-heading{margin-top:76px}
.cfe-sermon-content p.cfe-faq-after{margin-top:36px}
.cfe-sermon-article .cfe-podcast-links{margin-top:36px}
/* --- Archivo Predicas Pastor Modesto --- */
.cfe-hero--modesto{background-image:url('modesto-hero.jpg');background-position:center 55%}
.cfe-hero--modesto::before{background:linear-gradient(to top,rgba(4,10,22,.88),rgba(4,10,22,.4) 55%,rgba(4,10,22,.55))}
.cfe-modesto-promo{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;background:var(--surface-deep);border-radius:12px;padding:20px 26px;margin-bottom:28px;text-decoration:none}
.cfe-modesto-promo:hover{opacity:.92}
.cfe-modesto-promo__text{display:flex;flex-direction:column;gap:2px}
.cfe-modesto-promo__kicker{font:600 12px Figtree,sans-serif;letter-spacing:.06em;text-transform:uppercase;color:var(--accent)}
.cfe-modesto-promo__title{font:400 20px Newsreader,Georgia,serif;color:#fff}
.cfe-modesto-promo__cta{font:600 14px Figtree,sans-serif;color:#fff;white-space:nowrap;display:flex;align-items:center;gap:6px}