:root{--ink:#201b16;--muted:#7a7167;--paper:#fbf8f2;--paper2:#f4efe5;--gold:#c99b4a;--gold2:#e7c786;--dark:#1b1713;--line:#e5ddd0;--white:#fff;--radius:22px;--shadow:0 18px 50px rgba(44,34,22,.08)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--ink);background:var(--paper);line-height:1.55}a{color:inherit;text-decoration:none}.container{width:min(1180px,92vw);margin:auto}.topbar{background:var(--dark);color:#ded2c3;font-size:12px}.topbar-inner{height:34px;display:flex;justify-content:space-between;align-items:center}.site-header{position:sticky;top:0;z-index:30;background:rgba(251,248,242,.93);backdrop-filter:blur(14px);border-bottom:1px solid rgba(32,27,22,.06)}.nav-wrap{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:flex;align-items:center;gap:12px}.brand strong{display:block;font-size:15px;letter-spacing:.2px}.brand small{display:block;color:var(--muted);font-size:11px;margin-top:1px}.brand-mark{width:38px;height:38px;border-radius:14px;display:grid;place-items:center;background:var(--dark);color:var(--gold2);font-size:20px;box-shadow:0 9px 28px rgba(0,0,0,.12)}.nav{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.nav a{padding:10px 11px;font-size:13px;color:#625a52}.nav a:hover{color:var(--ink)}.nav-special{background:var(--dark);color:white!important;border-radius:999px;padding:10px 15px!important}.nav-toggle{display:none;border:0;background:transparent;font-size:25px}.alerts{position:relative;z-index:35;padding-top:15px}.alert{padding:12px 15px;border-radius:14px;margin-bottom:8px;font-size:14px}.alert.success{background:#eaf5eb;color:#295d33}.alert.error{background:#fdebed;color:#7d2933}.hero{position:relative;overflow:hidden;background:radial-gradient(circle at 85% 10%,rgba(231,199,134,.35),transparent 28%),linear-gradient(120deg,#211913 0%,#2f241d 52%,#41322a 100%);color:white;padding:88px 0 70px}.hero-grid{position:relative;display:grid;grid-template-columns:1.3fr .7fr;gap:72px;align-items:center}.hero h1{font-size:clamp(46px,7vw,82px);line-height:.96;letter-spacing:-3px;margin:16px 0 20px;max-width:720px}.hero-copy{font-size:18px;color:#d7cec4;max-width:650px}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:800;color:var(--gold);text-transform:uppercase}.hero .eyebrow{color:var(--gold2)}.hero-actions{display:flex;gap:12px;margin:32px 0 22px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:13px 19px;font-size:13px;font-weight:800;border:1px solid transparent;cursor:pointer}.btn-primary{background:var(--gold);color:#1d1711}.btn-primary:hover{background:var(--gold2)}.btn-ghost{border-color:#d7c8b6;color:#342920;background:transparent}.hero .btn-ghost{color:white;border-color:rgba(255,255,255,.26)}.hero-mini{display:flex;gap:16px;flex-wrap:wrap;color:#d1c4b4;font-size:12px}.verse-card{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:28px;padding:30px;backdrop-filter:blur(8px)}.verse-icon{font-size:58px;line-height:.8;color:var(--gold2)}.verse-label{font-size:10px;letter-spacing:2px;font-weight:800;color:#cfc2b4}.verse-card blockquote{font-family:Georgia,serif;font-size:24px;line-height:1.45;margin:15px 0 18px}.verse-card strong{font-size:12px;color:var(--gold2)}.quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:-25px;position:relative;z-index:5}.quick-card{background:white;border:1px solid var(--line);border-radius:18px;padding:18px;display:flex;gap:13px;align-items:center;box-shadow:var(--shadow)}.quick-card>span{font-size:27px}.quick-card strong{display:block;font-size:13px}.quick-card small{display:block;color:var(--muted);font-size:11px}.section{padding:90px 0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:28px}.section-head h2,.split-section h2{font-size:38px;line-height:1.04;letter-spacing:-1px;margin:7px 0 0}.section-head.light h2{color:white}.text-link{font-size:13px;font-weight:800}.cards{display:grid;gap:18px}.cards.three{grid-template-columns:repeat(3,1fr)}.post-card,.video-card,.testimony-card,.event-row,.album-card,.info-card,.form-card{background:white;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}.post-image{height:180px;background-size:cover;background-position:center}.post-image.placeholder,.album-cover.placeholder,.admin-album-cover.placeholder{background:linear-gradient(135deg,#3b2e25,#a17643 48%,#d8ba7f)}.post-image.placeholder:after{content:'✦';display:grid;place-items:center;height:100%;font-size:48px;color:rgba(255,255,255,.72)}.post-image.has-image{background-size:cover}.card-body{padding:21px}.card-body h3{font-size:20px;line-height:1.15;margin:11px 0}.card-body p,.video-info p{font-size:13px;color:var(--muted);margin-top:0}.pill{display:inline-flex;padding:6px 9px;border-radius:999px;background:var(--paper2);font-size:10px;font-weight:800;color:#6d5b49;letter-spacing:.5px}.dark-band{background:#1f1915}.video-card{overflow:hidden}.video-thumb{position:relative;aspect-ratio:16/10;background:#30231b;overflow:hidden}.video-thumb img,.video-thumb video,.video-thumb iframe{width:100%;height:100%;object-fit:cover;border:0}.video-thumb>span{position:absolute;right:16px;bottom:16px;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:white;color:#211810;font-size:17px;box-shadow:0 10px 25px rgba(0,0,0,.25)}.video-placeholder{display:grid;place-items:center;width:100%;height:100%;font-size:42px;color:#dec494;background:linear-gradient(135deg,#211913,#5b4433)}.video-info{padding:21px}.dark-pill{background:rgba(255,255,255,.08);color:#e8d5b8}.dark-band .video-card{background:#2a211c;border-color:rgba(255,255,255,.08)}.dark-band .video-info h3{color:#fff}.dark-band .video-info p{color:#b8aba0}.dark-link,.light-link{color:#dbc18d}.split-section{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}.split-section p{max-width:540px;color:var(--muted);font-size:16px}.prayer-visual{min-height:300px;border-radius:28px;background:radial-gradient(circle at 35% 35%,#e1c486,transparent 35%),linear-gradient(135deg,#2c211a,#181311);display:grid;place-items:center;color:white;position:relative;overflow:hidden}.prayer-ring{width:130px;height:130px;border-radius:50%;border:1px solid rgba(255,255,255,.25);display:grid;place-items:center;font-size:52px;background:rgba(255,255,255,.05)}.prayer-visual span{position:absolute;bottom:23px;left:25px;right:25px;font-size:13px;color:#d8cab9;text-align:center}.soft{background:var(--paper2)}.testimony-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px;margin-bottom:25px}.testimony-card{padding:24px}.quote{font-family:Georgia,serif;font-size:56px;line-height:.5;color:var(--gold)}.testimony-card p{font-family:Georgia,serif;font-size:17px;line-height:1.65}.testimony-card footer{display:flex;flex-direction:column;margin-top:22px}.testimony-card footer strong{font-size:13px}.testimony-card footer span{color:var(--muted);font-size:11px}.dark-text{color:var(--ink)}.event-list{display:grid;gap:10px}.event-row{padding:15px 17px;display:grid;grid-template-columns:64px 1fr auto;gap:18px;align-items:center}.event-date{width:54px;height:54px;border-radius:16px;background:var(--paper2);display:grid;place-items:center;text-align:center}.event-date strong{font-size:18px;line-height:1}.event-date span{font-size:9px;letter-spacing:2px;color:var(--gold);font-weight:800}.event-row>span{font-size:20px}.event-row p{margin:2px 0 0;color:var(--muted);font-size:12px}.page-hero{background:linear-gradient(120deg,#241a14,#4a372a);color:white;padding:70px 0}.page-hero h1{font-size:clamp(42px,6vw,68px);letter-spacing:-2px;margin:8px 0}.page-hero p{max-width:640px;color:#d8cfc3}.media-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.video-card.large{border-radius:22px}.empty{border:1px dashed #cfc4b6;padding:50px;border-radius:22px;text-align:center;color:var(--muted)}.article-head{background:var(--paper2);padding:75px 0 35px}.article-head h1{font-size:clamp(44px,6vw,72px);line-height:1;letter-spacing:-2px;max-width:800px;margin:12px 0}.article-head p{max-width:760px;color:var(--muted);font-size:18px}.article-body{padding:55px 0 100px;max-width:900px}.article-cover{width:100%;max-height:550px;object-fit:cover;border-radius:24px;margin-bottom:35px}.rich-text{font-family:Georgia,serif;font-size:20px;line-height:1.85}.rich-text p{margin:0 0 22px}.narrow{max-width:820px}.form-card{padding:28px;display:grid;gap:17px}.form-card label{display:grid;gap:8px;font-size:12px;font-weight:800}.form-card input,.form-card textarea,.form-card select{font:inherit;border:1px solid var(--line);border-radius:14px;padding:13px 14px;background:#fff;color:var(--ink);outline:none}.form-card input:focus,.form-card textarea:focus{border-color:var(--gold)}.checkbox{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;gap:8px!important;font-weight:600!important}.album-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.album-card{overflow:hidden}.album-cover{height:210px;background-size:cover;background-position:center}.album-card>div:last-child{padding:18px}.album-card h3{margin:0 0 7px}.album-card p{color:var(--muted);font-size:13px;margin:0}.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.photo-grid figure{margin:0;background:white;border:1px solid var(--line);border-radius:18px;overflow:hidden}.photo-grid img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}.photo-grid figcaption{padding:10px;font-size:11px;color:var(--muted)}.event-list.full .event-row{padding:22px}.event-main h3{margin:8px 0}.event-main p{font-size:13px}.event-time{font-weight:800;color:var(--gold)}.live-placeholder,.info-card{padding:48px;border-radius:28px;text-align:center}.live-placeholder{background:linear-gradient(135deg,#241b16,#3a2d23);color:white}.live-placeholder p{color:#d3c8bd}.live-dot{width:16px;height:16px;border-radius:50%;background:#ec6767;margin:0 auto 18px;box-shadow:0 0 0 12px rgba(236,103,103,.1)}.footer{background:#1d1713;color:#d7cbbd;padding:60px 0 22px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.3fr;gap:40px}.footer h4{color:#fff;margin-top:0}.footer a,.footer span{display:block;font-size:12px;margin:8px 0;color:#bdb1a4}.footer p{max-width:340px;font-size:12px;color:#a99c90}.footer-brand strong{color:#fff}.copyright{border-top:1px solid rgba(255,255,255,.1);padding-top:16px;margin-top:35px;font-size:10px;color:#918579}.admin-link{color:white}.nav-open .nav{display:flex}
@media(max-width:960px){.nav{display:none;position:absolute;top:78px;left:0;right:0;background:var(--paper);padding:15px;border-bottom:1px solid var(--line)}.nav-toggle{display:block}.hero-grid,.split-section{grid-template-columns:1fr}.quick-grid{grid-template-columns:repeat(2,1fr)}.cards.three,.testimony-grid,.album-grid,.photo-grid{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr 1fr}.hero{padding-top:58px}.verse-card{max-width:640px}.media-grid{grid-template-columns:1fr}}
@media(max-width:620px){.topbar-inner{justify-content:center}.topbar-inner span:last-child{display:none}.nav-wrap{min-height:68px}.quick-grid,.cards.three,.testimony-grid,.album-grid,.photo-grid,.footer-grid{grid-template-columns:1fr}.hero h1{letter-spacing:-2px}.section{padding:65px 0}.section-head{align-items:start;flex-direction:column}.section-head h2{font-size:32px}.event-row{grid-template-columns:54px 1fr}.event-row>span{display:none}.page-hero{padding:55px 0}.article-head{padding:55px 0 30px}.hero-actions{align-items:stretch;flex-direction:column}.hero .btn{width:100%}.verse-card blockquote{font-size:20px}}

/* PORTADA DINAMICA */
.hero-slider{min-height:610px;position:relative;isolation:isolate;background:#211913}
.hero-slider .hero-grid{z-index:3}
.hero-copy-wrap,.verse-card{position:relative;z-index:4}
.hero-slides,.hero-slide,.hero-media,.hero-slider-shade{position:absolute;inset:0;width:100%;height:100%}
.hero-slides{z-index:0;overflow:hidden}
.hero-slide{opacity:0;visibility:hidden;transform:scale(1.04);transition:opacity 1.1s ease,transform 7s ease,visibility 0s linear 1.1s}
.hero-slide.is-active{opacity:1;visibility:visible;transform:scale(1);transition:opacity 1.1s ease,transform var(--hero-duration,7s) ease,visibility 0s linear 0s}
.hero-media{object-fit:cover;object-position:center}
.hero-slide video{background:#211913}
.hero-slider-shade{z-index:1;background:linear-gradient(90deg,rgba(24,18,14,.91) 0%,rgba(30,22,17,.78) 44%,rgba(30,22,17,.52) 75%,rgba(30,22,17,.58) 100%),linear-gradient(0deg,rgba(20,15,12,.34),rgba(20,15,12,.12))}
.hero-glow{z-index:2;pointer-events:none}
.hero-slider-controls{position:absolute;z-index:6;left:50%;bottom:28px;transform:translateX(-50%);display:flex;align-items:center;gap:14px;background:rgba(18,14,11,.34);border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:7px 10px;backdrop-filter:blur(14px)}
.hero-arrow{width:35px;height:35px;border-radius:50%;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.07);color:#fff;cursor:pointer;font-size:15px}
.hero-arrow:hover{background:rgba(255,255,255,.16)}
.hero-dots{display:flex;align-items:center;gap:7px}
.hero-dot{width:8px;height:8px;border-radius:999px;border:0;padding:0;background:rgba(255,255,255,.42);cursor:pointer;transition:width .25s ease,background .25s ease}
.hero-dot.is-active{width:24px;background:var(--gold2)}
.hero-slide.is-active video{animation:heroKenBurns var(--hero-duration,7s) linear both}
@keyframes heroKenBurns{from{transform:scale(1.04)}to{transform:scale(1.01)}}
@media(max-width:960px){.hero-slider{min-height:720px}.hero-slider-shade{background:linear-gradient(90deg,rgba(24,18,14,.9),rgba(30,22,17,.65)),linear-gradient(0deg,rgba(20,15,12,.58),rgba(20,15,12,.16))}.hero-slider-controls{bottom:22px}.hero-grid{padding-bottom:40px}}
@media(max-width:620px){.hero-slider{min-height:820px}.hero-slider-controls{bottom:18px}.hero-slider .verse-card{margin-bottom:26px}.hero-slider .hero-grid{padding-bottom:45px}}
@media(prefers-reduced-motion:reduce){.hero-slide,.hero-slide.is-active{transition:none;transform:none}.hero-slide.is-active video{animation:none}.hero-dot{transition:none}}


/* ===== NEXT LEVEL: AMBIENT ART ===== */
body{position:relative;overflow-x:hidden}.ambient-scene{position:fixed;inset:0;z-index:1;pointer-events:none;overflow:hidden;opacity:0;transition:opacity .8s ease}.ambient-scene.is-enabled{opacity:calc(.35 * var(--ambient-opacity,1))}.ambient-cross{position:absolute;left:6vw;top:18vh;font-family:Georgia,serif;font-size:clamp(160px,23vw,420px);line-height:1;color:#e7c786;text-shadow:0 0 30px rgba(231,199,134,.65),0 0 110px rgba(231,199,134,.25);animation:crossPulse calc(9s / var(--ambient-speed,1)) ease-in-out infinite alternate}.ambient-doves{position:absolute;width:min(340px,28vw);height:auto;filter:drop-shadow(0 0 22px rgba(255,255,255,.2))}.ambient-doves-a{top:15%;right:-4%;animation:dovesFloat calc(24s / var(--ambient-speed,1)) ease-in-out infinite}.ambient-doves-b{top:58%;left:-5%;transform:scale(.72) rotate(-4deg);animation:dovesFloatB calc(28s / var(--ambient-speed,1)) ease-in-out infinite}.ambient-procession{position:absolute;left:50%;bottom:-6%;width:min(1250px,88vw);transform:translateX(-50%);filter:drop-shadow(0 0 18px rgba(0,0,0,.16));animation:processionDrift calc(22s / var(--ambient-speed,1)) ease-in-out infinite alternate}.ambient-glow{position:absolute;inset:-15%;background:radial-gradient(circle at 70% 22%,rgba(231,199,134,.7),transparent 23%),radial-gradient(circle at 28% 78%,rgba(231,199,134,.38),transparent 27%);filter:blur(50px);animation:glowMove calc(18s / var(--ambient-speed,1)) ease-in-out infinite alternate}.site-header,.topbar,main,.footer{position:relative;z-index:3}.hero{z-index:0}.ambient-scene + .topbar{z-index:32}@keyframes crossPulse{from{transform:scale(1);opacity:.55}to{transform:scale(1.035);opacity:.9}}@keyframes dovesFloat{0%,100%{transform:translate3d(0,0,0) rotate(3deg)}50%{transform:translate3d(-70px,-22px,0) rotate(-2deg)}}@keyframes dovesFloatB{0%,100%{transform:scale(.72) translate3d(0,0,0)}50%{transform:scale(.76) translate3d(95px,-15px,0)}}@keyframes processionDrift{from{transform:translateX(-50%) translateY(5px) scale(1)}to{transform:translateX(-48%) translateY(-14px) scale(1.015)}}@keyframes glowMove{from{transform:translate3d(-2%,0,0) scale(1)}to{transform:translate3d(2%,2%,0) scale(1.06)}}

/* ===== HERO SLIDER V3 ===== */
.hero-slider{min-height:660px}.hero-slider .hero-grid{min-height:660px}.hero-slide{transform:scale(1.055);filter:saturate(.92) contrast(1.04)}.hero-slide.is-active{transform:scale(1);}.hero-slider-shade{background:linear-gradient(90deg,rgba(13,10,8,.90) 0%,rgba(24,18,14,.76) 42%,rgba(26,20,16,.42) 78%,rgba(18,14,11,.52) 100%),linear-gradient(0deg,rgba(16,11,8,.52),rgba(16,11,8,.08))}.hero-progress{position:absolute;z-index:7;left:0;right:0;bottom:0;height:3px;background:rgba(255,255,255,.12)}.hero-progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--gold),var(--gold2));transform-origin:left center}.hero-progress span.run{animation:heroProgress var(--progress-duration,6s) linear forwards}@keyframes heroProgress{from{width:0}to{width:100%}}.hero-slider-controls{bottom:26px;box-shadow:0 12px 40px rgba(0,0,0,.2)}.hero-dot.is-active{box-shadow:0 0 16px rgba(231,199,134,.35)}

/* ===== DONATION EXPERIENCE ===== */
.donation-hero{padding:85px 0}.donation-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(290px,.65fr);gap:25px;align-items:start}.donation-main{display:grid;gap:18px}.donation-main .info-card{box-shadow:var(--shadow)}.donation-amount-card h2,.donation-method-card h2{font-size:30px;margin:9px 0 18px}.amount-presets{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:15px}.amount-chip{border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:999px;padding:10px 15px;font-weight:900;cursor:pointer;transition:transform .2s ease,background .2s ease}.amount-chip:hover,.amount-chip.is-selected{background:var(--dark);color:white;transform:translateY(-2px)}.amount-input{display:grid;gap:7px;font-size:12px;font-weight:800}.amount-input div{display:flex;border:1px solid var(--line);border-radius:16px;background:#fff;overflow:hidden}.amount-input input{border:0!important;border-radius:0!important;flex:1;font-size:27px;font-weight:900;padding:15px 17px!important}.amount-input strong{display:grid;place-items:center;padding:0 17px;background:var(--paper2);font-size:14px}.donation-amount-card>small{display:block;margin-top:8px;color:var(--muted)}.payment-method-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.payment-method-btn{min-height:98px;text-align:left;background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px;cursor:pointer;transition:.2s ease;display:grid;gap:5px}.payment-method-btn:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(44,34,22,.08)}.payment-method-btn.is-selected{border-color:var(--gold);box-shadow:0 0 0 2px rgba(201,155,74,.12)}.payment-method-icon{font-size:22px}.payment-method-btn strong{font-size:13px}.payment-method-btn small{font-size:9px;letter-spacing:1px;color:var(--muted);font-weight:900}.donation-panels{position:relative}.donation-panel{display:none;background:#fff;border:1px solid var(--line);border-radius:26px;padding:26px;box-shadow:var(--shadow);animation:panelIn .45s ease}.donation-panel.is-active{display:block}@keyframes panelIn{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}.payment-panel-head{display:flex;justify-content:space-between;gap:18px;align-items:start;margin-bottom:18px}.payment-panel-head h3{font-size:28px;margin:6px 0}.payment-panel-head p{font-size:13px;color:var(--muted);margin:0;max-width:680px}.payment-secure{font-size:10px;letter-spacing:.8px;font-weight:900;color:#6d5b49;white-space:nowrap}.donor-fields,.donation-form{display:grid;grid-template-columns:1fr 1fr;gap:14px}.donor-fields label,.donation-form label{display:grid;gap:7px;font-size:11px;font-weight:900}.donor-fields .full,.donation-form .full{grid-column:1/-1}.donor-fields input,.donor-fields textarea,.donation-form input,.donation-form textarea{border:1px solid var(--line);border-radius:13px;padding:12px 13px;font:inherit;outline:none;background:#fff}.donor-fields input:focus,.donor-fields textarea:focus,.donation-form input:focus,.donation-form textarea:focus{border-color:var(--gold)}.donation-submit{margin-top:3px}.paypal-pay-box{margin-top:16px;padding:17px;border-radius:18px;background:#fbf8f2;border:1px solid var(--line)}.paypal-status{font-size:11px;color:var(--muted);margin-bottom:10px}.paypal-pay-box paypal-button{display:block;min-height:42px}.setup-warning{margin-top:16px;padding:14px;border-radius:14px;background:#fff6df;color:#775b20;font-size:12px}.manual-account{margin:16px 0;padding:15px;border-radius:16px;background:var(--paper2);border:1px solid var(--line)}.manual-account strong{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.8px;color:var(--muted);margin-bottom:6px}.manual-account div{font-weight:900;white-space:pre-wrap}.manual-instructions{font-size:13px;line-height:1.6;color:#544a42;margin:13px 0}.manual-qr{display:flex;justify-content:center;margin:16px 0}.manual-qr img{width:180px;aspect-ratio:1;object-fit:cover;border-radius:18px;border:1px solid var(--line);padding:8px;background:#fff}.donation-aside{display:grid;gap:15px;position:sticky;top:105px}.donation-trust{background:linear-gradient(145deg,#241b16,#3d2d22);color:white;border-radius:28px;padding:30px;min-height:280px;overflow:hidden;position:relative}.trust-orb{width:75px;height:75px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);font-size:30px;color:var(--gold2);box-shadow:0 0 50px rgba(231,199,134,.17)}.donation-trust h2{font-size:34px;max-width:300px;line-height:1.05;margin:15px 0}.donation-trust p{color:#d2c5b6;font-size:13px}.donation-summary{background:#fff;border:1px solid var(--line);border-radius:22px;padding:22px;box-shadow:var(--shadow)}.donation-summary>div{display:flex;justify-content:space-between;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}.donation-summary>div:last-child{border-bottom:0}.donation-summary span{color:var(--muted);font-size:12px}.donation-summary strong{font-size:13px;text-align:right}.success-orb{width:72px;height:72px;margin:0 auto 16px;border-radius:50%;display:grid;place-items:center;background:#eaf5eb;color:#2f6e3b;font-weight:900;font-size:28px}.donation-reference{margin:18px 0;padding:16px;border-radius:16px;background:var(--paper2);display:grid;gap:4px}.donation-reference span,.donation-reference small{font-size:10px;color:var(--muted)}.donation-reference strong{font-size:18px;letter-spacing:1.5px}.donation-result-card{max-width:720px;margin:auto}.hosted-card-input{width:100%;border:1px solid var(--line);border-radius:12px;padding:12px 13px;margin-bottom:9px}.card-fields-box{display:grid;gap:9px;margin-top:15px}.card-fields-box>div{min-height:47px;border:1px solid var(--line);border-radius:12px;padding:10px;background:#fff}.card-fields-box button{margin-top:5px}.status-form{display:grid;gap:7px}.status-form select{border:1px solid var(--line);border-radius:10px;padding:8px;background:#fff;font-size:10px}.file-note{font-size:10px;color:var(--muted)}.settings-divider{border-top:1px solid var(--line);padding-top:20px;margin-top:5px}.settings-divider h2{margin:6px 0}.settings-divider p{font-size:11px;color:var(--muted)}
@media(max-width:1050px){.payment-method-grid{grid-template-columns:repeat(2,1fr)}.donation-layout{grid-template-columns:1fr}.donation-aside{position:relative;top:0;grid-template-columns:1fr 1fr}}@media(max-width:700px){.payment-method-grid{grid-template-columns:1fr 1fr}.donation-aside{grid-template-columns:1fr}.donor-fields,.donation-form{grid-template-columns:1fr}.donor-fields .full,.donation-form .full{grid-column:auto}.payment-panel-head{flex-direction:column}.donation-panel{padding:20px}.hero-slider,.hero-slider .hero-grid{min-height:680px}}@media(max-width:480px){.payment-method-grid{grid-template-columns:1fr}.donation-hero{padding:60px 0}.amount-input input{font-size:24px}}
@media(prefers-reduced-motion:reduce){.ambient-scene,.ambient-scene *,.hero-slide,.hero-progress span,.donation-panel{animation:none!important;transition:none!important}.hero-progress span.run{width:100%}}


/* ===== FOOTER CONTACT PRO ===== */

.footer .footer-brand .brand-mark{
    background:rgba(231,199,134,.10);
    border:1px solid rgba(231,199,134,.28);
    color:var(--gold2);
    box-shadow:none;
}

.footer-contact{
    display:grid;
    gap:9px;
}

.footer .footer-contact-item{
    display:flex;
    align-items:flex-start;
    gap:10px;

    margin:0;
    padding:9px 10px;

    border:1px solid rgba(255,255,255,.07);
    border-radius:13px;

    background:rgba(255,255,255,.025);

    transition:
        transform .2s ease,
        border-color .2s ease,
        background .2s ease;
}

.footer .footer-contact-item:hover{
    transform:translateY(-1px);
    border-color:rgba(231,199,134,.30);
    background:rgba(255,255,255,.055);
}

.footer .footer-contact-icon{
    display:grid;
    place-items:center;

    flex:0 0 30px;

    width:30px;
    height:30px;

    margin:0;

    border-radius:9px;

    background:rgba(231,199,134,.10);

    color:var(--gold2);
    font-size:14px;
}

.footer .footer-contact-text{
    display:block;
    margin:0;
    min-width:0;
}

.footer .footer-contact-text small{
    display:block;

    margin:0 0 1px;

    color:#8f8378;

    font-size:9px;
    font-weight:800;

    letter-spacing:.8px;
    text-transform:uppercase;
}

.footer .footer-contact-text strong{
    display:block;

    color:#e7ddd1;

    font-size:11px;
    line-height:1.45;
    font-weight:600;

    overflow-wrap:anywhere;
}

.footer .footer-contact-text em{
    display:block;

    margin-top:4px;

    color:var(--gold2);

    font-size:10px;
    font-style:normal;
    font-weight:800;
}

.footer .footer-address{
    padding-bottom:11px;
}

@media(max-width:620px){

    .footer-contact{
        max-width:430px;
    }

    .footer .footer-contact-item{
        padding:11px;
    }

}



/* =========================================================
   FOOTER PRO V2
   Solo mejora visual del pie de pagina.
   No modifica funciones, enlaces ni estructura HTML.
   ========================================================= */

.footer{
    padding-top:68px;
    padding-bottom:24px;
}

/* Distribución general */
.footer .footer-grid{
    grid-template-columns:
        minmax(340px,1.7fr)
        minmax(120px,.75fr)
        minmax(170px,.9fr)
        minmax(280px,1.35fr);

    gap:54px;
    align-items:start;
}


/* ==========================
   BLOQUE IZQUIERDO
   ========================== */

.footer .footer-about{
    max-width:430px;
}

.footer .footer-brand{
    display:flex;
    align-items:center;
    gap:16px;
    margin-bottom:20px;
}

/* Cruz */
.footer .footer-brand .brand-mark{
    width:56px;
    height:56px;
    min-width:56px;

    display:grid;
    place-items:center;

    border-radius:17px;

    background:
        linear-gradient(
            145deg,
            rgba(231,199,134,.16),
            rgba(201,155,74,.06)
        );

    border:1px solid rgba(231,199,134,.34);

    color:#e7c786;

    font-family:Georgia,serif;
    font-size:27px;
    line-height:1;

    box-shadow:
        0 12px 30px rgba(0,0,0,.16),
        inset 0 0 20px rgba(231,199,134,.03);
}

/* Nombre de la iglesia */
.footer .footer-brand strong{
    display:block;

    max-width:330px;

    color:#fff;

    font-size:17px;
    line-height:1.35;
    font-weight:800;

    letter-spacing:-.15px;
}

/* Lema */
.footer .footer-brand small{
    display:block;

    margin-top:5px;

    color:#a99b8e;

    font-size:11px;
    line-height:1.5;

    letter-spacing:.15px;
}

/* Descripción */
.footer .footer-about > p{
    max-width:390px;

    margin:0;

    color:#c1b4a6;

    font-size:13px;
    line-height:1.75;
}


/* ==========================
   TITULOS DE COLUMNAS
   ========================== */

.footer h4{
    margin:2px 0 22px;

    color:#fff;

    font-size:16px;
    line-height:1.2;
    font-weight:800;

    letter-spacing:-.1px;
}


/* ==========================
   EXPLORA / PARTICIPA
   ========================== */

.footer .footer-grid > div:not(.footer-about):not(.footer-contact-column) > a{
    margin:0 0 12px;

    color:#c6b9ab;

    font-size:12.5px;
    line-height:1.45;

    transition:
        color .2s ease,
        transform .2s ease;
}

.footer .footer-grid > div:not(.footer-about):not(.footer-contact-column) > a:hover{
    color:#e7c786;
    transform:translateX(3px);
}


/* ==========================
   COPYRIGHT
   ========================== */

.footer .copyright{
    margin-top:44px;
    padding-top:19px;

    border-top:1px solid rgba(255,255,255,.09);

    color:#9e9184;

    font-size:11px;
    line-height:1.5;
}


/* ==========================
   TABLET
   ========================== */

@media(max-width:960px){

    .footer .footer-grid{
        grid-template-columns:1.25fr 1fr;
        gap:42px 55px;
    }

    .footer .footer-about{
        max-width:480px;
    }

}


/* ==========================
   MOVIL
   ========================== */

@media(max-width:620px){

    .footer{
        padding-top:50px;
    }

    .footer .footer-grid{
        grid-template-columns:1fr;
        gap:38px;
    }

    .footer .footer-about{
        max-width:none;
    }

    .footer .footer-brand{
        align-items:flex-start;
    }

    .footer .footer-brand .brand-mark{
        width:52px;
        height:52px;
        min-width:52px;
        font-size:25px;
    }

    .footer .footer-brand strong{
        font-size:16px;
    }

    .footer .footer-about > p{
        font-size:13px;
    }

    .footer .copyright{
        margin-top:34px;
        font-size:10.5px;
    }

}



/* =========================================================
   ANIMACION AMBIENTAL DEL FOOTER
   Luz dorada que recorre toda la zona inferior
   ========================================================= */

.footer{
    position:relative;
    overflow:hidden;
    isolation:isolate;
}

/* Luz ambiental viajera */
.footer::before{
    content:"";

    position:absolute;

    top:-25%;
    left:-35%;

    width:38%;
    height:150%;

    pointer-events:none;

    background:
        radial-gradient(
            ellipse at center,
            rgba(218, 170, 82, .20) 0%,
            rgba(218, 170, 82, .10) 32%,
            rgba(218, 170, 82, .035) 52%,
            transparent 72%
        );

    filter:blur(20px);

    opacity:.85;

    z-index:0;

    animation:
        footerGoldenTravel 14s
        ease-in-out
        infinite alternate;
}

/* Mantiene todo el contenido delante de la animación */
.footer > *{
    position:relative;
    z-index:1;
}


/* Movimiento de izquierda a derecha */
@keyframes footerGoldenTravel{

    0%{
        left:-35%;
        transform:scale(.92);
        opacity:.45;
    }

    35%{
        opacity:.85;
    }

    55%{
        transform:scale(1.10);
        opacity:.95;
    }

    75%{
        opacity:.80;
    }

    100%{
        left:100%;
        transform:scale(.92);
        opacity:.40;
    }

}


/* Respeta usuarios que desactivan animaciones */
@media (prefers-reduced-motion: reduce){

    .footer::before{
        animation:none;
        left:32%;
        opacity:.25;
    }

}



/* =========================================================
   FOOTER · BENDICION SACERDOTAL + AMBIENTE V2
   ========================================================= */


/* ----- Bendición debajo de la descripción ----- */

.footer-blessing{
    position:relative;

    max-width:410px;

    margin-top:24px;
    padding:17px 19px 18px;

    border:1px solid rgba(231,199,134,.15);
    border-left:2px solid rgba(231,199,134,.58);

    border-radius:0 15px 15px 0;

    background:
        linear-gradient(
            100deg,
            rgba(231,199,134,.065),
            rgba(255,255,255,.018)
        );

    overflow:hidden;
}

.footer-blessing::before{
    content:"“";

    position:absolute;
    right:14px;
    top:-18px;

    color:rgba(231,199,134,.08);

    font-family:Georgia,serif;
    font-size:100px;
    line-height:1;
}

.footer-blessing-head{
    position:relative;
    z-index:1;

    display:flex;
    align-items:center;
    gap:7px;

    margin-bottom:9px;
}

.footer-blessing-head span{
    color:#e7c786;
    font-size:10px;
}

.footer-blessing-head small{
    color:#c99b4a;

    font-size:9px;
    font-weight:800;

    letter-spacing:1.05px;
    text-transform:uppercase;
}

.footer-blessing blockquote{
    position:relative;
    z-index:1;

    margin:0;

    color:#d8ccbe;

    font-family:Georgia, "Times New Roman", serif;
    font-size:13.5px;
    line-height:1.75;
    font-style:italic;
}


/* =========================================================
   PARTICULAS DORADAS
   Usamos ::after porque ::before ya contiene la luz viajera
   ========================================================= */

.footer::after{
    content:"";

    position:absolute;
    inset:-20%;

    pointer-events:none;

    z-index:0;

    opacity:.42;

    background-image:
        radial-gradient(circle, rgba(231,199,134,.72) 0 1px, transparent 1.8px),
        radial-gradient(circle, rgba(201,155,74,.48) 0 1px, transparent 1.7px),
        radial-gradient(circle, rgba(255,240,198,.38) 0 .8px, transparent 1.5px);

    background-size:
        115px 130px,
        170px 155px,
        210px 190px;

    background-position:
        0 0,
        40px 70px,
        100px 30px;

    animation:
        footerGoldenDust 30s
        linear
        infinite;
}


/* Las partículas suben lentamente y se desplazan */
@keyframes footerGoldenDust{

    from{
        transform:translate3d(0, 7%, 0);
    }

    to{
        transform:translate3d(4%, -8%, 0);
    }

}


/* =========================================================
   CRUZ CON RESPLANDOR SUAVE
   ========================================================= */

.footer .footer-brand .brand-mark{
    animation:
        footerCrossGlow 4.8s
        ease-in-out
        infinite alternate;
}

@keyframes footerCrossGlow{

    from{
        border-color:rgba(231,199,134,.25);

        box-shadow:
            0 10px 26px rgba(0,0,0,.14),
            0 0 0 rgba(231,199,134,0);
    }

    to{
        border-color:rgba(231,199,134,.55);

        box-shadow:
            0 12px 30px rgba(0,0,0,.17),
            0 0 27px rgba(231,199,134,.16);
    }

}


/* =========================================================
   MOVIL
   ========================================================= */

@media(max-width:620px){

    .footer-blessing{
        max-width:100%;
        margin-top:20px;
    }

    .footer-blessing blockquote{
        font-size:13px;
    }

}


/* Accesibilidad */
@media(prefers-reduced-motion:reduce){

    .footer::after,
    .footer .footer-brand .brand-mark{
        animation:none!important;
    }

}



/* ===== FOOTER_BIBLICAL_STORY_START ===== */


/* =========================================================
   DAVID PASTOR · ESCENA ÚNICA
   ========================================================= */

.footer{
    position:relative;
    overflow:hidden;
    isolation:isolate;
}


/* Escena completa */
.footer-biblical-story{
    position:absolute;

    left:0;
    right:0;
    bottom:18px;

    height:295px;

    z-index:0;

    pointer-events:none;

    overflow:hidden;

    opacity:.44;

    mask-image:
        linear-gradient(
            to bottom,
            transparent 0%,
            #000 12%,
            #000 92%,
            transparent 100%
        );
}


.footer-biblical-story svg{
    display:block;

    width:100%;
    height:100%;

    overflow:visible;

    color:#c99b4a;

    filter:
        drop-shadow(
            0 0 12px
            rgba(213,166,80,.08)
        );
}


/* contenido del footer siempre delante */
.footer .footer-grid,
.footer .copyright{
    position:relative;
    z-index:4;
}


/* colinas */
.biblical-hills{
    fill:rgba(201,155,74,.11);
}


/* líneas comunes */
.biblical-line{
    fill:none;

    stroke:#c99b4a;

    stroke-width:4;

    stroke-linecap:round;
    stroke-linejoin:round;
}

.thin-line{
    stroke-width:2.2;
}

.staff-heavy{
    stroke-width:5;
}


/* =========================================================
   OVEJAS
   ========================================================= */

.real-sheep circle{
    fill:#c99b4a;
}

.sheep-head{
    fill:#ad803d;
}

.real-sheep{
    transform-box:fill-box;
    transform-origin:center;

    animation:
        sheepLife
        4.8s
        ease-in-out
        infinite;
}

.sheep-two{
    animation-delay:.7s;
}

.sheep-three{
    animation-delay:1.4s;
}

.little-lamb{
    animation-delay:2.1s;
}


@keyframes sheepLife{

    0%,100%{
        transform:translateY(0);
    }

    50%{
        transform:translateY(-3px);
    }

}


/* Cuando llega el león el rebaño se inquieta */
.david-flock{
    transform-box:fill-box;
    transform-origin:center;

    animation:
        flockStory
        30s
        ease-in-out
        infinite;
}


@keyframes flockStory{

    0%,24%{
        transform:translateX(0);
    }

    30%{
        transform:translateX(-7px);
    }

    34%{
        transform:translateX(5px);
    }

    38%{
        transform:translateX(-6px);
    }

    43%{
        transform:translateX(4px);
    }

    51%{
        transform:translateX(0);
    }

    100%{
        transform:translateX(0);
    }

}


/* =========================================================
   DAVID
   ========================================================= */

.david-hair{
    fill:#9b7136;
}

.david-face{
    fill:#d7aa5a;
}

.david-tunic{
    fill:#a87936;
}

.biblical-david{
    transform-box:fill-box;
    transform-origin:center bottom;

    animation:
        davidStory
        30s
        ease-in-out
        infinite;
}


/*
   David:
   0-7s      con el rebaño
   8-16s     va hacia el león
   17-21s    lo enfrenta
   22-30s    vuelve con las ovejas
*/

@keyframes davidStory{

    0%,23%{
        transform:translateX(-35px);
    }

    31%{
        transform:translateX(5px);
    }

    40%{
        transform:translateX(45px);
    }

    50%{
        transform:translateX(75px);
    }

    61%{
        transform:translateX(78px);
    }

    70%{
        transform:translateX(35px);
    }

    82%,100%{
        transform:translateX(-35px);
    }

}


/* cayado */
.david-staff{
    transform-box:fill-box;
    transform-origin:47% 90%;

    animation:
        davidStaffStory
        30s
        ease-in-out
        infinite;
}


@keyframes davidStaffStory{

    0%,39%{
        transform:rotate(0deg);
    }

    45%{
        transform:rotate(-23deg);
    }

    50%{
        transform:rotate(18deg);
    }

    55%{
        transform:rotate(-20deg);
    }

    61%{
        transform:rotate(12deg);
    }

    68%,100%{
        transform:rotate(0deg);
    }

}


/* brazo que enfrenta al león */
.david-right-arm{
    transform-box:fill-box;
    transform-origin:left center;

    animation:
        davidArmStory
        30s
        ease-in-out
        infinite;
}


@keyframes davidArmStory{

    0%,40%{
        transform:rotate(0deg);
    }

    47%,59%{
        transform:rotate(-18deg);
    }

    67%,100%{
        transform:rotate(0deg);
    }

}


/* =========================================================
   LEÓN
   ========================================================= */

.lion-body{
    fill:#ac7732;
}

.lion-mane{
    fill:#885b29;
}

.lion-face{
    fill:#b98037;
}

.lion-ear{
    fill:#885b29;
}

.lion-muzzle{
    fill:#d2a65a;
}

.lion-eye{
    fill:#241811;
}

.lion-mouth{
    stroke:#3b2416;
    stroke-width:3;
}

.biblical-lion{
    transform-box:fill-box;
    transform-origin:center;

    animation:
        lionStory
        30s
        ease-in-out
        infinite;
}


/*
   El león entra desde la derecha,
   amenaza al rebaño,
   David lo enfrenta,
   y finalmente huye.
*/

@keyframes lionStory{

    0%,17%{
        transform:translateX(320px);
        opacity:0;
    }

    23%{
        transform:translateX(225px);
        opacity:.55;
    }

    31%{
        transform:translateX(120px);
        opacity:1;
    }

    39%{
        transform:translateX(40px);
        opacity:1;
    }

    48%{
        transform:translateX(5px);
        opacity:1;
    }

    56%{
        transform:
            translateX(25px)
            scale(.97);

        opacity:1;
    }

    63%{
        transform:
            translateX(105px)
            scale(.93);

        opacity:.82;
    }

    70%{
        transform:
            translateX(220px)
            scale(.88);

        opacity:.50;
    }

    77%,100%{
        transform:
            translateX(390px)
            scale(.84);

        opacity:0;
    }

}


/* cola del león */
.lion-tail{
    transform-box:fill-box;
    transform-origin:left center;

    animation:
        lionTail
        1.8s
        ease-in-out
        infinite alternate;
}


@keyframes lionTail{

    from{
        transform:rotate(-5deg);
    }

    to{
        transform:rotate(8deg);
    }

}


/* rugido */
.lion-roar{
    opacity:0;

    animation:
        lionRoarStory
        30s
        ease-in-out
        infinite;
}


@keyframes lionRoarStory{

    0%,30%{
        opacity:0;
    }

    35%,47%{
        opacity:.95;
    }

    54%,100%{
        opacity:0;
    }

}


/* =========================================================
   FINAL: DAVID CONSOLANDO AL REBAÑO
   ========================================================= */

.peace-glow{
    fill:rgba(231,199,134,.17);

    filter:blur(18px);

    opacity:0;

    transform-box:fill-box;
    transform-origin:center;

    animation:
        peaceStory
        30s
        ease-in-out
        infinite;
}


@keyframes peaceStory{

    0%,72%{
        opacity:0;
        transform:scale(.88);
    }

    80%{
        opacity:.60;
        transform:scale(1);
    }

    90%{
        opacity:.35;
        transform:scale(1.07);
    }

    100%{
        opacity:.15;
        transform:scale(1.10);
    }

}


.peace-stars{
    fill:#e7c786;

    opacity:0;

    animation:
        peaceStars
        30s
        ease-in-out
        infinite;
}


@keyframes peaceStars{

    0%,76%{
        opacity:0;
    }

    84%,94%{
        opacity:.70;
    }

    100%{
        opacity:.20;
    }

}


/* =========================================================
   CRUZ
   ========================================================= */

.footer .footer-brand .brand-mark{
    position:relative;
    isolation:isolate;
}


.footer .footer-brand .brand-mark::after{
    content:"";

    position:absolute;
    inset:-20px;

    z-index:-1;

    border-radius:50%;

    background:
        radial-gradient(
            circle,
            rgba(231,199,134,.26),
            rgba(231,199,134,.08) 42%,
            transparent 72%
        );

    pointer-events:none;

    animation:
        footerCrossHalo
        5.5s
        ease-in-out
        infinite;
}


@keyframes footerCrossHalo{

    0%,100%{
        transform:scale(.82);
        opacity:.32;
    }

    50%{
        transform:scale(1.18);
        opacity:.90;
    }

}


/* =========================================================
   REFERENCIA DE DAVID
   ========================================================= */

.footer-david-reference{
    margin-top:14px;
    padding-top:12px;

    border-top:
        1px solid
        rgba(231,199,134,.13);
}


.footer-david-reference span{
    display:block;

    margin-bottom:5px;

    color:#d2a653;

    font-size:9px;
    font-weight:800;

    letter-spacing:1px;
    text-transform:uppercase;
}


.footer-david-reference p{
    margin:0;

    color:#aa9c8e;

    font-family:inherit;

    font-size:10.5px;
    line-height:1.55;

    font-style:normal;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media(max-width:1050px){

    .footer-biblical-story{
        height:250px;
        opacity:.34;
    }

}


@media(max-width:620px){

    .footer-biblical-story{
        bottom:35px;
        height:190px;
        opacity:.22;
    }

}


/* Accesibilidad */
@media(prefers-reduced-motion:reduce){

    .real-sheep,
    .david-flock,
    .biblical-david,
    .david-staff,
    .david-right-arm,
    .biblical-lion,
    .lion-tail,
    .lion-roar,
    .peace-glow,
    .peace-stars,
    .footer .footer-brand .brand-mark::after{
        animation:none!important;
    }

}


/* ===== FOOTER_BIBLICAL_STORY_END ===== */


/* ===== MINISTRY_HEADER_LINK ===== */

.brand-header{
    display:flex;
    align-items:center;
    gap:13px;
}

.brand-home-mark{
    text-decoration:none;
}

.brand-header-copy{
    display:block;
}

.brand-name-link{
    display:block;
    color:inherit;
    text-decoration:none;
}


/* ================================
   BOTÓN QUIÉNES SOMOS
   ================================ */

.brand-ministry-link{
    position:relative;

    display:inline-flex;
    align-items:center;
    gap:10px;

    margin-top:7px;
    padding:8px 13px 8px 9px;

    overflow:hidden;

    border:1px solid rgba(190,136,46,.42);
    border-radius:999px;

    background:
        linear-gradient(
            135deg,
            rgba(231,199,134,.20),
            rgba(201,155,74,.06)
        );

    color:#35291e;

    text-decoration:none;

    box-shadow:
        0 5px 18px rgba(101,70,31,.07),
        inset 0 1px 0 rgba(255,255,255,.45);

    transition:
        transform .25s ease,
        box-shadow .25s ease,
        border-color .25s ease;
}


/* brillo que atraviesa el botón */
.brand-ministry-link::before{
    content:"";

    position:absolute;
    top:-50%;
    left:-45%;

    width:30%;
    height:200%;

    transform:rotate(18deg);

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(255,255,255,.48),
            transparent
        );

    transition:left .55s ease;

    pointer-events:none;
}


.brand-ministry-link:hover::before{
    left:120%;
}


.brand-ministry-link:hover{
    transform:translateY(-2px);

    border-color:rgba(190,136,46,.72);

    box-shadow:
        0 9px 25px rgba(101,70,31,.13),
        inset 0 1px 0 rgba(255,255,255,.55);
}


/* círculo dorado */
.brand-ministry-icon{
    display:grid;
    place-items:center;

    width:29px;
    height:29px;

    flex:0 0 29px;

    border-radius:50%;

    background:
        linear-gradient(
            145deg,
            #f4dba9,
            #d5a14a
        );

    color:#6a4716;

    font-size:10px;

    box-shadow:
        0 3px 10px rgba(140,91,24,.15);
}


/* textos */
.brand-ministry-copy{
    display:flex;
    flex-direction:column;

    min-width:108px;

    line-height:1.05;
}


.brand-ministry-copy small{
    margin:0 0 3px!important;

    color:#947b60!important;

    font-size:7.5px!important;
    font-weight:900!important;

    letter-spacing:1px!important;

    text-transform:uppercase;
}


.brand-ministry-copy strong{
    color:#2e241b!important;

    font-size:11.5px!important;
    font-weight:900!important;
}


/* flecha */
.brand-ministry-arrow{
    display:grid;
    place-items:center;

    min-width:24px;

    color:#b17823;

    font-size:18px;
    font-weight:900;

    transition:
        transform .25s ease;
}


.brand-ministry-link:hover
.brand-ministry-arrow{
    transform:translateX(4px);
}


/* ================================
   ESTADO: VOLVER AL INICIO
   ================================ */

.brand-ministry-back{
    padding-left:11px;

    background:
        linear-gradient(
            135deg,
            rgba(38,29,20,.07),
            rgba(201,155,74,.11)
        );
}


.brand-arrow-back{
    width:29px;
    height:29px;

    border-radius:50%;

    background:#211a14;

    color:#e7c786;

    font-size:16px;
}


.brand-ministry-back:hover
.brand-arrow-back{
    transform:translateX(-4px);
}


/* móvil */
@media(max-width:760px){

    .brand-ministry-link{
        padding:7px 10px 7px 8px;
    }

    .brand-ministry-copy small{
        display:none;
    }

    .brand-ministry-copy{
        min-width:auto;
    }

}

/* ===== /MINISTRY_HEADER_LINK ===== */


/* ===== HOME_REFLECTIONS_PRO_START ===== */

/* Dos columnas equilibradas */
.home-reflections .cards.three{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:24px;
    max-width:980px;
}

/* Tarjeta */
.home-reflections .post-card{
    position:relative;

    display:flex;
    flex-direction:column;

    min-height:270px;

    overflow:hidden;

    border:1px solid rgba(180,135,73,.20);
    border-radius:24px;

    background:
        linear-gradient(
            145deg,
            rgba(255,255,255,.98),
            rgba(250,246,239,.98)
        );

    box-shadow:
        0 14px 40px rgba(65,45,25,.07);

    transition:
        transform .25s ease,
        box-shadow .25s ease,
        border-color .25s ease;
}

/* Línea dorada superior */
.home-reflections .post-card::before{
    content:"";

    position:absolute;
    left:0;
    top:0;

    width:100%;
    height:4px;

    background:
        linear-gradient(
            90deg,
            #c58b35,
            #e8c77f,
            transparent 85%
        );
}

/* Decoración tenue */
.home-reflections .post-card::after{
    content:"✦";

    position:absolute;
    right:22px;
    top:18px;

    color:rgba(190,139,60,.10);

    font-size:70px;
    line-height:1;

    pointer-events:none;
}

.home-reflections .post-card:hover{
    transform:translateY(-5px);

    border-color:rgba(180,135,73,.40);

    box-shadow:
        0 20px 50px rgba(65,45,25,.12);
}


/* Si no hay imagen, no dejamos un bloque vacío */
.home-reflections .post-image.placeholder{
    display:none;
}

/* Si algún día suben imagen, sí se muestra */
.home-reflections .post-image.has-image{
    display:block;
    height:190px;
}


/* Contenido */
.home-reflections .card-body{
    position:relative;
    z-index:1;

    display:flex;
    flex-direction:column;

    flex:1;

    padding:30px 30px 26px;
}


/* Categoría */
.home-reflections .pill{
    align-self:flex-start;

    padding:7px 12px;

    border:1px solid rgba(190,139,60,.18);

    background:#f5ecdd;

    color:#876127;

    font-size:10px;
    font-weight:900;

    letter-spacing:.6px;
    text-transform:uppercase;
}


/* Título */
.home-reflections .card-body h3{
    margin:20px 0 13px;

    max-width:90%;

    font-size:23px;
    line-height:1.18;

    letter-spacing:-.35px;
}

.home-reflections .card-body h3 a{
    color:#211a14;
    text-decoration:none;
}

.home-reflections .card-body h3 a:hover{
    color:#a36f23;
}


/* Descripción */
.home-reflections .card-body p{
    margin:0 0 24px;

    color:#706359;

    font-size:14px;
    line-height:1.75;
}


/* Botón Leer reflexión */
.home-reflections .card-body > .text-link{
    display:inline-flex;
    align-items:center;

    align-self:flex-start;

    margin-top:auto;

    padding:10px 15px;

    border-radius:999px;

    background:#211a14;

    color:#f3d48d;

    font-size:11px;
    font-weight:900;

    text-decoration:none;

    transition:
        transform .2s ease,
        background .2s ease;
}

.home-reflections .card-body > .text-link:hover{
    transform:translateX(3px);
    background:#38291e;
}


/* Tablet / móvil */
@media(max-width:760px){

    .home-reflections .cards.three{
        grid-template-columns:1fr;
        max-width:none;
    }

    .home-reflections .post-card{
        min-height:240px;
    }

    .home-reflections .card-body{
        padding:25px;
    }

}

/* ===== HOME_REFLECTIONS_PRO_END ===== */


/* ===== BLOG_BACK_BUTTON ===== */

.blog-back-link{
    display:inline-flex;
    align-items:center;
    gap:10px;

    margin-bottom:24px;
    padding:9px 15px 9px 9px;

    border:1px solid rgba(231,199,134,.28);
    border-radius:999px;

    background:rgba(255,255,255,.055);

    color:#f4e8d7;
    font-size:12px;
    font-weight:800;

    text-decoration:none;

    transition:
        transform .22s ease,
        background .22s ease,
        border-color .22s ease;
}

.blog-back-arrow{
    display:grid;
    place-items:center;

    width:30px;
    height:30px;

    border-radius:50%;

    background:#e7c786;
    color:#241a14;

    font-size:17px;
    font-weight:900;

    transition:transform .22s ease;
}

.blog-back-link:hover{
    transform:translateY(-2px);
    background:rgba(255,255,255,.09);
    border-color:rgba(231,199,134,.55);
}

.blog-back-link:hover .blog-back-arrow{
    transform:translateX(-4px);
}

/* ===== /BLOG_BACK_BUTTON ===== */


/* ===== HOME_REFLECTIONS_V2_START ===== */

.home-reflections .cards.three{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:22px;
    max-width:980px;
}

/* Tarjetas más compactas */
.home-reflections .post-card{
    min-height:0 !important;
    height:auto !important;

    border-radius:22px;

    background:
        linear-gradient(
            145deg,
            #fffdf9,
            #fbf6ee
        );

    border:1px solid rgba(183,132,61,.25);

    box-shadow:
        0 12px 32px rgba(70,48,25,.07);
}

/* cuerpo */
.home-reflections .card-body{
    min-height:215px;

    padding:25px 26px 24px;

    display:flex;
    flex-direction:column;
}

/* categoría */
.home-reflections .pill{
    align-self:flex-start;

    margin:0 0 17px;

    padding:6px 11px;

    border-radius:999px;

    background:#f5ecdc;
    border:1px solid rgba(185,133,58,.18);

    color:#8b6127;

    font-size:9px;
    font-weight:900;

    letter-spacing:.8px;
    text-transform:uppercase;
}

/* título */
.home-reflections .card-body h3{
    margin:0 0 13px;

    max-width:90%;

    color:#211a14;

    font-size:20px;
    line-height:1.25;
    font-weight:850;

    letter-spacing:-.25px;
}

/* texto central */
.home-reflections .card-body p{
    margin:0 0 20px;

    max-width:95%;

    color:#6c6055;

    font-size:14px;
    line-height:1.65;
    font-weight:400;
}

/* botón */
.home-reflections .card-body > .text-link{
    align-self:flex-start;

    margin-top:auto;

    display:inline-flex;
    align-items:center;
    gap:7px;

    padding:9px 14px;

    border-radius:999px;

    background:#211a14;

    color:#f0cf83 !important;

    font-size:10.5px;
    font-weight:900;

    text-decoration:none;

    transition:
        transform .2s ease,
        background .2s ease;
}

.home-reflections .card-body > .text-link:hover{
    transform:translateX(3px);
    background:#35281e;
}

/* estrella un poco más sutil */
.home-reflections .post-card::after{
    right:20px;
    top:22px;

    font-size:54px;

    color:rgba(192,139,60,.09);
}

/* menos vacío visual */
.home-reflections{
    padding-bottom:70px;
}

@media(max-width:760px){

    .home-reflections .cards.three{
        grid-template-columns:1fr;
    }

    .home-reflections .card-body{
        min-height:200px;
    }

}

/* ===== HOME_REFLECTIONS_V2_END ===== */


/* ===== RESTAURAR BOTON LEER REFLEXION ===== */

.home-reflections .text-link{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;

    width:max-content !important;

    margin-top:18px !important;
    padding:10px 15px !important;

    position:relative !important;
    z-index:10 !important;

    visibility:visible !important;
    opacity:1 !important;

    border-radius:999px !important;

    background:#211a14 !important;
    color:#f1cf82 !important;

    font-size:11px !important;
    font-weight:900 !important;

    text-decoration:none !important;

    transition:
        transform .2s ease,
        background .2s ease !important;
}

.home-reflections .text-link:hover{
    transform:translateX(4px);
    background:#3a2b20 !important;
}

/* un poco más de espacio para que el botón nunca se corte */
.home-reflections .card-body{
    min-height:235px !important;
}

/* ===== /RESTAURAR BOTON LEER REFLEXION ===== */


/* ===== GLOBAL_BACK_BUTTON_START ===== */

/* Barra flotante de navegación interior */
.global-back-wrap{
    position:relative;
    z-index:20;

    padding:18px 0 0;

    background:
        linear-gradient(
            180deg,
            rgba(249,246,240,.98),
            rgba(249,246,240,.86)
        );
}


/* Botón */
.global-back-btn{
    position:relative;

    display:inline-flex;
    align-items:center;
    gap:10px;

    padding:8px 14px 8px 8px;

    overflow:hidden;

    border:
        1px solid
        rgba(190,136,46,.33);

    border-radius:999px;

    background:
        linear-gradient(
            135deg,
            rgba(255,255,255,.98),
            rgba(246,235,214,.94)
        );

    color:#2c2219;

    text-decoration:none;

    box-shadow:
        0 6px 22px
        rgba(70,48,25,.08);

    transition:
        transform .22s ease,
        border-color .22s ease,
        box-shadow .22s ease;
}


/* brillo que pasa por encima */
.global-back-btn::before{
    content:"";

    position:absolute;
    top:-50%;
    left:-40%;

    width:25%;
    height:200%;

    transform:rotate(18deg);

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(255,255,255,.75),
            transparent
        );

    transition:left .55s ease;

    pointer-events:none;
}


.global-back-btn:hover::before{
    left:120%;
}


.global-back-btn:hover{
    transform:translateY(-2px);

    border-color:
        rgba(190,136,46,.62);

    box-shadow:
        0 10px 28px
        rgba(70,48,25,.13);
}


/* círculo con flecha */
.global-back-icon{
    display:grid;
    place-items:center;

    width:33px;
    height:33px;

    flex:0 0 33px;

    border-radius:50%;

    background:#211a14;

    color:#e7c786;

    font-size:17px;
    font-weight:900;

    transition:transform .22s ease;
}


.global-back-btn:hover
.global-back-icon{
    transform:translateX(-3px);
}


/* textos */
.global-back-copy{
    display:flex;
    flex-direction:column;

    line-height:1.05;
}


.global-back-copy small{
    margin-bottom:3px;

    color:#99836c;

    font-size:7.5px;
    font-weight:900;

    letter-spacing:1px;
    text-transform:uppercase;
}


.global-back-copy strong{
    color:#2d231a;

    font-size:11.5px;
    font-weight:900;
}


/* móvil */
@media(max-width:620px){

    .global-back-wrap{
        padding-top:12px;
    }

    .global-back-btn{
        padding:7px 12px 7px 7px;
    }

    .global-back-icon{
        width:30px;
        height:30px;

        flex-basis:30px;
    }

}

/* ===== GLOBAL_BACK_BUTTON_END ===== */


/* ===== DEVELOPER_CREDIT_START ===== */


/* =========================================================
   FIRMA PROFESIONAL DEL DESARROLLADOR
   ========================================================= */

.developer-credit{
    position:relative;
    z-index:5;

    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:25px;

    margin-top:42px;
    padding:23px 25px;

    border:
        1px solid
        rgba(231,199,134,.16);

    border-radius:20px;

    background:
        linear-gradient(
            135deg,
            rgba(255,255,255,.035),
            rgba(231,199,134,.045)
        );

    box-shadow:
        0 16px 40px
        rgba(0,0,0,.10);

    overflow:hidden;
}


/* pequeño brillo ambiental */
.developer-credit::before{
    content:"";

    position:absolute;

    width:180px;
    height:180px;

    left:-70px;
    top:-100px;

    border-radius:50%;

    background:
        radial-gradient(
            circle,
            rgba(231,199,134,.12),
            transparent 70%
        );

    pointer-events:none;
}


/* lado izquierdo */
.developer-credit-main{
    position:relative;
    z-index:1;

    display:flex;
    align-items:center;
    gap:15px;
}


/* símbolo </> */
.developer-code-mark{
    display:grid;
    place-items:center;

    width:52px;
    height:52px;

    flex:0 0 52px;

    border:
        1px solid
        rgba(231,199,134,.35);

    border-radius:15px;

    background:
        linear-gradient(
            145deg,
            rgba(231,199,134,.16),
            rgba(201,155,74,.045)
        );

    color:#e7c786;

    font-family:
        Consolas,
        Monaco,
        monospace;

    font-size:16px;
    font-weight:900;

    text-decoration:none;

    box-shadow:
        0 8px 22px
        rgba(0,0,0,.12);

    transition:
        transform .22s ease,
        box-shadow .22s ease;
}


.developer-code-mark:hover{
    transform:
        translateY(-2px)
        rotate(-3deg);

    box-shadow:
        0 10px 28px
        rgba(231,199,134,.11);
}


/* textos */
.developer-credit-copy{
    display:flex;
    flex-direction:column;

    min-width:0;
}


.developer-credit-copy small{
    margin-bottom:4px;

    color:#9e8c79;

    font-size:8px;
    font-weight:900;

    letter-spacing:1.4px;

    text-transform:uppercase;
}


.developer-name{
    width:max-content;
    max-width:100%;

    color:#f1e6d9;

    font-size:14px;
    font-weight:900;

    text-decoration:none;

    transition:color .2s ease;
}


.developer-name:hover{
    color:#e7c786;
}


.developer-credit-copy span{
    margin-top:4px;

    color:#a99a8b;

    font-size:10.5px;
    line-height:1.45;
}


/* botón derecho */
.developer-credit-button{
    position:relative;
    z-index:1;

    display:inline-flex;
    align-items:center;
    gap:10px;

    flex:0 0 auto;

    padding:11px 16px;

    border:
        1px solid
        rgba(231,199,134,.25);

    border-radius:999px;

    background:
        rgba(231,199,134,.065);

    color:#e5d7c8;

    font-size:10.5px;
    font-weight:900;

    text-decoration:none;

    transition:
        transform .22s ease,
        background .22s ease,
        border-color .22s ease;
}


.developer-credit-button strong{
    color:#e7c786;

    font-size:17px;

    transition:
        transform .22s ease;
}


.developer-credit-button:hover{
    transform:translateY(-2px);

    background:
        rgba(231,199,134,.11);

    border-color:
        rgba(231,199,134,.48);
}


.developer-credit-button:hover strong{
    transform:translateX(4px);
}


/* copyright queda más discreto debajo */
.footer .copyright{
    margin-top:15px;
}


/* móvil */
@media(max-width:700px){

    .developer-credit{
        flex-direction:column;
        align-items:flex-start;

        padding:20px;
    }

    .developer-credit-button{
        margin-left:67px;
    }

}


@media(max-width:430px){

    .developer-credit-main{
        align-items:flex-start;
    }

    .developer-code-mark{
        width:45px;
        height:45px;

        flex-basis:45px;

        font-size:14px;
    }

    .developer-credit-button{
        width:100%;

        margin-left:0;

        justify-content:center;
    }

}


/* ===== DEVELOPER_CREDIT_END ===== */


/* ===== WEB_PUSH_WIDGET_START ===== */

.push-optin{
    position:fixed;

    right:18px;
    bottom:18px;

    z-index:1200;
}


.push-optin-button{
    display:flex;
    align-items:center;
    gap:10px;

    padding:9px 14px 9px 9px;

    border:
        1px solid
        rgba(231,199,134,.30);

    border-radius:999px;

    background:
        rgba(29,23,18,.96);

    color:#fff;

    box-shadow:
        0 12px 36px
        rgba(20,14,9,.22);

    backdrop-filter:
        blur(14px);

    cursor:pointer;

    transition:
        transform .2s ease,
        box-shadow .2s ease;
}


.push-optin-button:hover{
    transform:
        translateY(-2px);

    box-shadow:
        0 16px 42px
        rgba(20,14,9,.28);
}


.push-optin-icon{
    display:grid;
    place-items:center;

    width:36px;
    height:36px;

    border-radius:50%;

    background:
        rgba(231,199,134,.13);

    font-size:17px;
}


.push-optin-copy{
    display:flex;
    flex-direction:column;
    align-items:flex-start;

    text-align:left;
}


.push-optin-copy strong{
    color:#f3e9da;

    font-size:11px;
    line-height:1.2;
}


.push-optin-copy small{
    margin-top:3px;

    color:#aa9b8c;

    font-size:8px;
}


.push-optin-button.is-active{
    border-color:
        rgba(231,199,134,.60);

    background:
        linear-gradient(
            135deg,
            #201810,
            #332617
        );
}


.push-optin-button.is-active
.push-optin-icon{
    background:
        rgba(231,199,134,.22);
}


.push-optin-button.is-blocked{
    opacity:.72;
}


@media(max-width:600px){

    .push-optin{
        right:10px;
        bottom:10px;
    }

    .push-optin-button{
        padding:
            7px 11px
            7px 7px;
    }

    .push-optin-icon{
        width:32px;
        height:32px;
    }

}

/* ===== WEB_PUSH_WIDGET_END ===== */


/* ===== ARTICLE_AUTHOR_START ===== */

.article-author{
    display:inline-flex;
    align-items:center;
    gap:14px;

    margin-top:25px;
    padding:12px 17px 12px 12px;

    border:
        1px solid
        rgba(190,136,46,.24);

    border-radius:18px;

    background:
        rgba(255,255,255,.72);

    box-shadow:
        0 10px 28px
        rgba(62,42,23,.06);
}


.article-author-avatar{
    width:62px;
    height:62px;

    flex:0 0 62px;

    object-fit:cover;

    border-radius:50%;

    border:
        3px solid #fff;

    box-shadow:
        0 5px 18px
        rgba(42,29,18,.16);
}


.article-author-empty{
    display:grid;
    place-items:center;

    background:
        linear-gradient(
            135deg,
            #2b2118,
            #4b3725
        );

    color:#e7c786;

    font-size:24px;
    font-weight:900;
}


.article-author-info{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
}


.article-author-info small{
    margin-bottom:2px;

    color:#b17c32;

    font-size:8px;
    font-weight:900;

    letter-spacing:1.3px;
    text-transform:uppercase;
}


.article-author-info strong{
    color:#241b15;

    font-size:15px;
    line-height:1.2;
}


.article-author-info span{
    margin-top:3px;

    color:#75675a;

    font-size:11px;
}


.article-author-info em{
    margin-top:5px;

    color:#a09285;

    font-size:9px;
    font-style:normal;
}


@media(max-width:600px){

    .article-author{
        width:100%;
        box-sizing:border-box;
    }

    .article-author-avatar{
        width:54px;
        height:54px;

        flex-basis:54px;
    }

}

/* ===== ARTICLE_AUTHOR_END ===== */

