/* V28 · Azul océano y blanco · rediseño de la web pública sin alterar la lógica del portal */
:root{--ink:#112d4c;--cream:#f6f9ff;--gold:#4b9bdb;--gold2:#b9e1ff;--brown:#17558b}
body{background:#f6f9ff;color:#173451}
h1,h2,h3{font-family:'Newsreader',Georgia,serif;letter-spacing:-.038em}
.eyebrow{color:#2477b6}
.nav{background:linear-gradient(180deg,rgba(4,25,53,.56),rgba(4,25,53,0));border-bottom:1px solid #ffffff38}
.navlinks a:hover{color:#a8dfff}
.hero{background:#071f3a}
.hero-bg{background-image:linear-gradient(90deg,rgba(5,25,55,.76),rgba(8,44,83,.44)),linear-gradient(0deg,rgba(5,24,48,.8),transparent 58%),url('assets/templo.jpg')}
.hero .eyebrow,.hero h1 em{color:#b7e4ff}
.btn.gold{background:#e3f4ff;color:#103b67;box-shadow:0 8px 28px #061b3b2e}
.btn.brown{background:#1765a2;color:#fff}
.btn{transition:transform .25s ease,box-shadow .25s ease,background .25s ease}
.btn:hover{box-shadow:0 12px 30px #092f5b30}
/* Bloque protagonista: grande, luminoso y fácil de leer */
.next-service{position:relative;overflow:hidden;background:linear-gradient(120deg,#082a53 0%,#104b84 54%,#1477af 100%)!important;color:#fff!important;padding:clamp(66px,8vw,118px) 0!important;border:0!important}
.next-service::before{content:"";position:absolute;inset:-45% -15% auto auto;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,#70c9ff42,transparent 68%);pointer-events:none}
.next-service::after{content:"";position:absolute;right:6%;bottom:-150px;width:360px;height:360px;border:1px solid #ffffff30;border-radius:50%;box-shadow:0 0 0 70px #ffffff0b,0 0 0 140px #ffffff06;pointer-events:none}
.next-service-inner{position:relative;z-index:1;display:grid!important;grid-template-columns:minmax(0,1fr) auto;gap:45px;align-items:center;max-width:1200px}
.next-service .eyebrow{color:#aee3ff!important;letter-spacing:.2em!important;font-size:.85rem!important;font-weight:800;margin:0 0 22px!important}
.next-service h2{font-family:'Newsreader',Georgia,serif;font-size:clamp(2.7rem,5.6vw,5.7rem)!important;line-height:1.05!important;letter-spacing:-.045em;margin:0 0 25px!important;color:#fff;max-width:800px}
.next-service p{color:#e2f2ff;font-size:clamp(1rem,1.7vw,1.3rem);line-height:1.7!important}
.next-service [data-next-when]{color:#fff;font-weight:800}
.next-service [data-next-relative]{color:#d8edff}
.next-service .next-service-actions{display:flex;flex-direction:column;align-items:stretch;gap:14px;min-width:205px}
.next-service-actions a{border-radius:14px!important;min-height:54px!important;padding:15px 22px!important;white-space:nowrap;background:#fff!important;color:#0d477a!important;box-shadow:0 10px 32px #00172c30;transition:transform .2s,box-shadow .2s}
.next-service-actions a:last-child{background:#ffffff13!important;color:#fff!important;border:1px solid #ffffff90!important;box-shadow:none}
.next-service-actions a:hover{transform:translateY(-3px);box-shadow:0 15px 35px #00172c3d}
/* Secciones públicas */
#conocenos,#oracion{background:#fff}
#conocenos .copy,#oracion .copy{background:#fff}
#conocenos h2,#horarios h2,#galeria h2,#actividades h2,#oracion h2{color:#103d67}
#horarios{background:linear-gradient(180deg,#f2f8ff,#eaf4ff)}
#horarios .time{background:#fff;border:1px solid #d8e9f8;border-radius:18px;box-shadow:0 14px 36px #0a407012}
#horarios .time strong{color:#1269a9}
.galeria-section{background:#fff!important}
.galeria-item{border-radius:20px;box-shadow:0 18px 45px #092d4c1c}
#transmisiones{background:linear-gradient(135deg,#061d39,#103c70)!important}
#transmisiones .eyebrow{color:#a9dfff!important}
#actividades{background:#f1f7ff}
#oracion .btn.brown{background:#1765a2}
.scripture{background:linear-gradient(135deg,#082c54,#155b92);color:#fff}
footer{background:#071f3b!important;color:#eaf4ff}
/* Mantener el portal privado visualmente independiente */
#portal{color:#eaf2f2}
#portal .portal-card{color:#182b34}
@media(max-width:820px){.next-service-inner{grid-template-columns:1fr!important;gap:30px}.next-service .next-service-actions{flex-direction:row;min-width:0}.next-service-actions a{flex:1;white-space:normal}}
@media(max-width:540px){.next-service{padding:64px 0!important}.next-service h2{font-size:clamp(2.6rem,11vw,4rem)!important}.next-service .next-service-actions{flex-direction:column}.next-service-actions a{width:100%}.next-service::after{right:-240px}.next-service p{font-size:1rem}}
@media(prefers-reduced-motion:reduce){.next-service-actions a{transition:none}}
