/*
Theme Name: Rayo de Luz
Description: A child theme of twentytwentyfive, scaffolded by Studio Code.
Template: twentytwentyfive
Requires at least: 6.7
Tested up to: 6.9
Requires PHP: 7.2
Version: 0.1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: rayo-de-luz
Tags: full-site-editing, block-patterns, block-styles, wide-blocks, accessibility-ready, style-variations
*/


@font-face {
	font-family: "Cormorant";
	font-style: normal;
	font-weight: 300 600;
	src: url("assets/fonts/cormorant/CormorantVariable.woff2") format("woff2");
	font-display: swap;
}

h1.wp-block-heading,
h2.wp-block-heading,
h3.wp-block-heading,
h4.wp-block-heading,
h5.wp-block-heading,
h6.wp-block-heading,
.wp-block-post-title,
.wp-block-site-title {
	font-family: "Cormorant", Georgia, serif;
	font-weight: 500;
	letter-spacing: 0.005em;
}

@media (prefers-reduced-motion: reduce) {}

.welcome-eyebrow {
	text-transform: uppercase;
	letter-spacing: 0.22em;
	font-weight: 400;
}
@media (prefers-reduced-motion: reduce) {}

.wp-block-heading.welcome-eyebrow {
	text-transform: uppercase;
	letter-spacing: 0.24em;
	font-weight: 400;
	font-size: 1.4rem;
}

.welcome-message {
	font-family: "Cormorant", Georgia, serif;
	font-size: 1.5rem;
	font-style: italic;
	line-height: 1.5;
	font-weight: 500;
}
.hero-cover .welcome-message:not(.verse-text) {
	font-size: 26px;
	color: #ffffff;
}
.live-btn-wrap { margin-top: 1.4rem; }
.live-btn { margin: 0; }
.live-btn .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	gap: 0.55rem;
	font-family: "Manrope", sans-serif;
	font-weight: 800;
	font-size: 1rem;
	letter-spacing: 0.18em;
	color: #ffffff;
	background: #e5242a;
	padding: 0.55rem 1.5rem;
	border-radius: 999px;
	box-shadow: 0 4px 16px rgba(0,0,0,0.3);
}
.live-btn .wp-block-button__link::before {
	content: "";
	width: 11px;
	height: 11px;
	border-radius: 50%;
	background: #2fd45a;
	box-shadow: 0 0 0 0 rgba(47,212,90,0.6);
	flex: none;
	animation: livePulse 1.6s ease-out infinite;
}
@keyframes livePulse {
	0% { box-shadow: 0 0 0 0 rgba(47,212,90,0.65); }
	70% { box-shadow: 0 0 0 11px rgba(47,212,90,0); }
	100% { box-shadow: 0 0 0 0 rgba(47,212,90,0); }
}
@media (max-width: 600px) {
	.welcome-message { font-size: 1.25rem; }
}
@media (prefers-reduced-motion: reduce) {}

.hero-logo {
	position: absolute;
	top: 28px;
	right: 36px;
	z-index: 1;
}
@media (max-width: 600px) {
	.hero-logo { top: 14px; right: 14px; }
	.hero-logo img { width: 68px !important; }
}
@media (prefers-reduced-motion: reduce) {}

.brand-name {
	text-transform: uppercase;
	letter-spacing: 0.18em;
	font-size: 0.78rem;
	font-weight: 400;
}
.wp-block-heading.welcome-heading {
	text-transform: uppercase;
	letter-spacing: 0.04em;
	font-weight: 700;
	font-style: italic;
	font-size: 70px;
}
.wp-block-cover .wp-block-group { column-gap: 14px; row-gap: 10px; align-items: center; }
.gallery-title {
	text-transform: uppercase;
	letter-spacing: 0.2em;
	font-weight: 500;
	font-size: clamp(2rem, 6vw, 3.5rem);
	color: #fff;
}
@media (max-width: 600px) {
	.brand-name { font-size: 0.66rem; }
	.wp-block-heading.welcome-heading { font-size: 44px; }
	.mv-title { font-size: 34px; }
}
@media (prefers-reduced-motion: reduce) {}

.site-header-bar {
	background: rgba(255, 255, 255, 0.72);
	border-bottom: 1px solid rgba(31, 78, 156, 0.14);
	box-shadow: 0 1px 0 rgba(31, 78, 156, 0.03), 0 6px 20px -18px rgba(31, 78, 156, 0.35);
	position: relative;
	z-index: 20;
}
.site-header { align-items: center; column-gap: 2rem; }
.site-brand { align-items: center; }
.header-logo { margin: 0; line-height: 0; }
.header-logo img { display: block; border-radius: 10px; box-shadow: 0 3px 10px rgba(31, 78, 156, 0.18); }
.site-brand .wp-block-site-title { font-size: 1.2rem; font-weight: 700; letter-spacing: -0.01em; }
.site-brand .wp-block-site-title a,
.site-brand .wp-block-site-title { color: #1f4e9c; }
.header-right { align-items: center; flex-wrap: nowrap; }
.site-header .wp-block-navigation .wp-block-navigation-item__content {
	font-family: "Manrope", sans-serif;
	font-weight: 600;
	font-size: 0.98rem;
	color: #1f4e9c;
	text-decoration: none;
	letter-spacing: 0.01em;
	padding-bottom: 4px;
	position: relative;
}
/* Menú en pantallas grandes: misma fuente (Cormorant) del título del sitio. */
@media (min-width: 782px) {
	.site-header .wp-block-navigation .wp-block-navigation-item__content {
		font-family: "Cormorant", Georgia, serif;
		font-weight: 700;
		font-size: 1.02rem;
		letter-spacing: 0.02em;
	}
}
.site-header .wp-block-navigation .wp-block-navigation-item__content::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	height: 2px;
	width: 100%;
	background: #e8c25a;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.25s ease;
}
.site-header .wp-block-navigation .wp-block-navigation-item__content:hover { color: #2a6ac0; }
.site-header .wp-block-navigation .wp-block-navigation-item__content:hover::after { transform: scaleX(1); }

.verse-text { margin-top: 1.6rem; font-size: 1.45rem; color: #fff; }
.verse-text .verse-ref { display: block; margin-top: 0.6rem; font-size: 1rem; letter-spacing: 0.06em; color: #fff; }

/* Mapa de ubicación: la foto cubre todo el cuadro */
.address-box { padding: 0 !important; overflow: hidden; border: none !important; }
.location-map { margin: 0 0 0.6rem !important; width: 100%; }
.location-map img { width: 100% !important; height: auto !important; display: block; object-fit: cover; border-radius: 26px; }
.map-open-link { padding: 0 1rem 1.2rem; }

.placeholder-box {
	padding: 3.5rem 2rem;
	border: 2px dashed rgba(31,78,156,0.4);
	border-radius: 14px;
	background: rgba(31,78,156,0.05);
}
.video-placeholder {
	min-height: 300px;
	align-items: center;
	justify-content: center;
}
.placeholder-label {
	font-family: Cormorant, Georgia, serif;
	font-style: italic;
	font-size: 1.4rem;
	color: rgba(238, 244, 252, 0.92);
}

.map-link { display: inline-block; margin-top: 1rem; font-family: Manrope, sans-serif; font-style: normal; font-size: 0.95rem; font-weight: 600; color: #1f4e9c; text-decoration: underline; text-underline-offset: 3px; }

.map-open-link a {
	display: inline-block;
	margin-top: 1.2rem;
	padding: 0.7rem 1.6rem;
	background: #1f4e9c;
	color: #fff;
	border-radius: 999px;
	font-family: Manrope, sans-serif;
	font-weight: 600;
	font-size: 0.95rem;
	text-decoration: none;
}
.map-open-link a:hover { background: #173e7d; }

.gallery-grid .wp-block-column .placeholder-box { height: 100%; min-height: 190px; display: flex; align-items: center; justify-content: center; padding: 1rem; }
.video-rolls { margin-top: 1.5rem; min-height: 220px; display: flex; align-items: center; justify-content: center; }

.media-upload { margin-top: 1.5rem; }
.media-upload .wp-block-column .placeholder-box { height: 100%; min-height: 260px; display: flex; align-items: center; justify-content: center; padding: 1.5rem; }
.upload-hint { display: block; margin-top: 0.5rem; font-style: italic; opacity: 0.85; }

/* Menú móvil: elegante y refinado */
.wp-block-navigation__responsive-container.is-menu-open,
.wp-block-navigation__responsive-container.is-menu-open.has-base-background-color {
	background:
		radial-gradient(circle at 82% 12%, rgba(232,194,90,0.22), transparent 45%),
		radial-gradient(circle at 12% 88%, rgba(140,100,220,0.2), transparent 48%),
		radial-gradient(circle at 90% 90%, rgba(70,140,210,0.22), transparent 46%),
		linear-gradient(160deg, #05060a 0%, #0b0d13 58%, #07080c 100%) !important;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-container,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-page-list {
	padding-top: 3.5rem;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
	margin: 0.35rem 0;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item a {
	font-family: "Cormorant", Georgia, serif;
	font-size: 1.85rem;
	font-weight: 500;
	font-style: normal;
	letter-spacing: 0.03em;
	color: #ffffff !important;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	column-gap: 1rem;
	row-gap: 0.15rem;
	padding: 0.55rem 0.4rem;
	transition: color 0.25s ease, transform 0.25s ease;
	opacity: 0;
	animation: menuItemIn 1.2s ease forwards;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item a::before {
	content: "";
	flex: 0 0 1.7rem;
	width: 1.7rem;
	height: 1.7rem;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	opacity: 0.95;
}
/* Subtítulo breve bajo cada opción */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:nth-child(n+2) a::after {
	flex-basis: 100%;
	margin-left: 2.7rem;
	font-family: "Manrope", sans-serif;
	font-size: 0.82rem;
	font-weight: 400;
	font-style: normal;
	letter-spacing: 0.02em;
	color: rgba(255, 255, 255, 0.6);
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:nth-child(2) a::after { content: "Próximas reuniones y celebraciones"; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:nth-child(3) a::after { content: "Fotos y videos del ministerio"; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:nth-child(4) a::after { content: "Comida y ventas de apoyo"; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:nth-child(5) a::after { content: "Envía tu petición de oración"; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:nth-child(6) a::after { content: "Aporta a la obra del Señor"; }
/* Bienvenida como título */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:nth-child(1) a {
	display: block;
	font-size: 3rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	padding: 0.5rem 0 0.7rem;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:nth-child(1) a::before { display: none; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:nth-child(1) a::after {
	content: "";
	display: block;
	width: 3.2rem;
	height: 3px;
	background: #e8c25a;
	margin-top: 0.6rem;
}
/* Íconos de línea por opción */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:nth-child(2) a::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cline x1='16' y1='2' x2='16' y2='6'/%3E%3Cline x1='8' y1='2' x2='8' y2='6'/%3E%3Cline x1='3' y1='10' x2='21' y2='10'/%3E%3C/svg%3E"); }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:nth-child(3) a::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='18' rx='2'/%3E%3Ccircle cx='8.5' cy='8.5' r='1.5'/%3E%3Cpath d='m21 15-5-5L5 21'/%3E%3C/svg%3E"); }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:nth-child(4) a::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 4h14l-1 16H6L5 4Z'/%3E%3Cline x1='4' y1='8' x2='20' y2='8'/%3E%3Cpath d='M16 11a4 4 0 0 1-8 0'/%3E%3C/svg%3E"); }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:nth-child(5) a::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='12' y1='3' x2='12' y2='21'/%3E%3Cline x1='5' y1='12' x2='19' y2='12'/%3E%3C/svg%3E"); }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:nth-child(6) a::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.8 5.1a5.4 5.4 0 0 0-7.6 0l-1.2 1.2-1.2-1.2a5.4 5.4 0 0 0-7.6 7.6l1.2 1.2L12 21l7.6-7.1 1.2-1.2a5.4 5.4 0 0 0 0-7.6Z'/%3E%3C/svg%3E"); }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:nth-child(1) a { animation-delay: 0.4s; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:nth-child(2) a { animation-delay: 0.9s; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:nth-child(3) a { animation-delay: 1.4s; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:nth-child(4) a { animation-delay: 1.9s; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:nth-child(5) a { animation-delay: 2.4s; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:nth-child(6) a { animation-delay: 2.9s; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item a:hover {
	color: #e8c25a !important;
	transform: translateX(6px);
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:nth-child(n+2) a:hover::before {
	filter: invert(72%) sepia(48%) saturate(600%) hue-rotate(2deg) brightness(0.95);
}
.wp-block-navigation__responsive-container.is-menu-open {
	position: fixed;
	inset: 0;
	overflow: hidden;
	background-size: 240% 240%;
	animation: menuBgShift 18s ease-in-out infinite alternate;
}
@keyframes menuBgShift {
	0% { background-position: 0% 0%; }
	100% { background-position: 100% 100%; }
}
.wp-block-navigation__responsive-container.is-menu-open::before,
.wp-block-navigation__responsive-container.is-menu-open::after {
	content: "";
	position: absolute;
	border-radius: 50%;
	filter: blur(60px);
	pointer-events: none;
	opacity: 0.5;
	z-index: 0;
}
.wp-block-navigation__responsive-container.is-menu-open::before {
	width: 50vw;
	height: 50vw;
	background: rgba(232, 194, 90, 0.3);
	top: 4%;
	left: -18%;
	animation: orbFloat 9s ease-in-out infinite;
}
.wp-block-navigation__responsive-container.is-menu-open::after {
	width: 62vw;
	height: 62vw;
	background: rgba(150, 110, 230, 0.24);
	bottom: -18%;
	right: -18%;
	animation: orbFloat2 11s ease-in-out infinite;
}
@keyframes orbFloat {
	0%, 100% { transform: translate(0, 0) scale(1); }
	50% { transform: translate(30vw, 22vh) scale(1.4); }
}
@keyframes orbFloat2 {
	0%, 100% { transform: translate(0, 0) scale(1); }
	50% { transform: translate(-28vw, -20vh) scale(1.5); }
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	animation: menuListFloat 8s ease-in-out infinite;
}
@keyframes menuListFloat {
	0%, 100% { transform: translateY(0); }
	50% { transform: translateY(-9px); }
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-container,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close {
	position: relative;
	z-index: 1;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-container,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
	align-items: flex-start !important;
	justify-content: flex-start !important;
	text-align: left !important;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { width: 100%; max-width: 100%; margin: 0; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { padding-left: 1.5rem; }

/* Botón cerrar (×) del menú: solo la X */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close {
	opacity: 1 !important;
	position: absolute;
	top: 1.4rem;
	right: 1.4rem;
	z-index: 6;
	width: 2rem;
	height: 2rem;
	display: flex;
	align-items: center;
	justify-content: center;
	background: transparent;
	border-radius: 0;
	border: none;
	color: #fff;
	cursor: pointer;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close svg {
	fill: #fff;
	width: 1.5rem;
	height: 1.5rem;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close:hover {
	background: transparent;
	color: #e8c25a;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close:hover svg { fill: #e8c25a; }
@keyframes menuItemIn {
	0% { opacity: 0; transform: translateY(12px); }
	100% { opacity: 1; transform: translateY(0); }
}

.gallery-intro { font-family: "Cormorant", Georgia, serif; font-size: 1.7rem; font-style: italic; }

.wp-block-query.latest-photos { margin-top: 1.5rem; }
.wp-block-query.latest-photos .wp-block-post {
	box-shadow: 0 6px 22px rgba(31,78,156,0.10);
	border-radius: 14px;
	overflow: hidden;
	background: #fff;
}
.wp-block-query.latest-photos .wp-block-post-featured-image img { width: 100%; aspect-ratio: 4/3; object-fit: cover; }
.wp-block-query.latest-photos .wp-block-post-title { padding: 0.9rem 1rem 1.1rem; }
.wp-block-query.latest-photos .wp-block-post-title a { text-decoration: none; }

.gallery-nav-buttons, .gallery-nav .wp-block-buttons { gap: 0.75rem; }
.gallery-nav { padding-top: 1rem !important; padding-bottom: 1.25rem !important; }
.gallery-nav-btn .wp-block-button__link {
	background: #1f4e9c; color: #fff; font-weight: 600;
	padding: 0.7rem 1.3rem;
	transition: all .25s ease;
}
.gallery-nav-btn .wp-block-button__link:hover { background: #163a77; transform: translateY(-2px); }
@media (max-width: 700px) {
	.gallery-nav .wp-block-buttons { flex-wrap: nowrap; gap: 0.5rem; }
	.gallery-nav-btn .wp-block-button__link { padding: 0.55rem 0.7rem; font-size: 0.78rem; white-space: nowrap; }
}

.gallery-subtitle { margin-top: 2.2rem !important; color: #fff; text-transform: uppercase; letter-spacing: 0.08em; font-size: 0.95rem; }

.gallery-hero-full img {
	width: 100% !important;
	height: auto !important;
	display: block;
	object-fit: cover;
	user-select: none;
	-webkit-user-select: none;
}
.gallery-hero-full img,
.no-download img {
	user-select: none;
	-webkit-user-select: none;
	-webkit-touch-callout: none;
}
.wp-block-gallery img { border-radius: 24px; }
.gallery-hero-full,
.no-download { user-select: none; -webkit-user-select: none; -webkit-touch-callout: none; }
/* Visor de luz (lightbox) personalizado */
html.rdl-lock, html.rdl-lock body { overflow: hidden; }
.rdl-lb {
	position: fixed;
	inset: 0;
	z-index: 99999;
	background: rgba(0, 0, 0, 0.92);
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.25s ease;
}
.rdl-lb.open { opacity: 1; visibility: visible; }
.rdl-lb__box {
	position: relative;
	max-width: 94vw;
	max-height: 92vh;
}
.rdl-lb__media {
	display: block;
	max-width: 94vw;
	max-height: 92vh;
	width: auto;
	height: auto;
	border-radius: 8px;
	object-fit: contain;
	user-select: none;
	-webkit-user-select: none;
}
.rdl-lb__video { max-width: 94vw; max-height: 92vh; width: auto; height: auto; }
.rdl-lb--video .rdl-lb__box { width: auto; }
.rdl-lb--landscape .rdl-lb__video { width: 100%; max-width: 96vw; height: auto; max-height: 88vh; }
.rdl-lb--portrait .rdl-lb__video { width: auto; height: 100%; max-height: 90vh; max-width: 90vw; }
.rdl-lb--landscape .rdl-lb__image { width: 100%; max-width: 96vw; height: auto; }
.rdl-lb--portrait .rdl-lb__image { width: auto; height: auto; max-height: 90vh; max-width: 90vw; }
.rdl-lb__video::-webkit-media-controls-download-button { display: none !important; -webkit-appearance: none; }
.rdl-lb__placeholder {
	color: #fff;
	font-family: "Manrope", sans-serif;
	font-size: 1.4rem;
}
.rdl-lb__close {
	position: absolute;
	top: -14px;
	right: -14px;
	z-index: 2;
	width: 38px;
	height: 38px;
	border: none;
	border-radius: 50%;
	background: #fff;
	color: #111;
	font-size: 1.5rem;
	line-height: 1;
	cursor: pointer;
	box-shadow: 0 2px 10px rgba(0,0,0,0.4);
}
.video-caption {
	margin-top: 0.6rem;
	font-family: "Manrope", sans-serif;
	font-weight: 700;
	font-size: 1.05rem;
	color: #fff;
}
.video-static-tile.video-thumb-wrap video,
.wp-block-video.video-thumb video {
	width: 100%;
	height: 100%;
	min-height: 200px;
	object-fit: cover;
	border-radius: 14px;
	user-select: none;
	-webkit-user-select: none;
}
.video-static-tile:has(.video-thumb) { border: none !important; background: none !important; padding: 0 !important; }
.wp-block-video.video-thumb { margin: 0; }
.wp-block-video.video-thumb video::-webkit-media-controls-download-button { display: none !important; -webkit-appearance: none; }
/* Fondo de página: azul marino degradado (igual que Misión y Visión) */
body.home,
body.page-template-page-no-title {
	background:
		linear-gradient(160deg, #0d1b34 0%, #123a6e 55%, #0b2450 100%) !important;
	background-attachment: fixed;
	color: #eef4fc;
}
/* Texto del contenido que cae directamente sobre el fondo marino → claro */
.home-section,
.mv-section,
.donate-section,
.prayer-section {
	color: #eef4fc;
}
.home-section .section-title { color: #f2f6fb; }
/* Salvaguarda: cabecera y pie conservan su propio fondo claro/respectivo */
.site-header-bar { color: #12202e; }
.header-donate { margin: 0 0 0 0.5rem; }
.donate-btn { margin: 0; }
.donate-btn .wp-block-button__link {
	font-family: "Manrope", sans-serif;
	font-weight: 700;
	font-size: 1rem;
	letter-spacing: 0.06em;
	color: #1f4e9c !important;
	background: #e8c25a;
	border: 2px solid #1f4e9c;
	border-radius: 999px;
	padding: 0.55rem 1.3rem;
	box-shadow: 0 4px 14px rgba(232, 194, 90, 0.5);
	transition: background 0.2s ease, box-shadow 0.2s ease, color 0.2s ease;
}
.donate-btn .wp-block-button__link:hover { background: #1f4e9c; color: #fff !important; box-shadow: 0 4px 14px rgba(31, 78, 156, 0.4); }
.header-right .gtranslate_wrapper,
.header-right .gtranslate_wrapper > * { display: flex; align-items: center; }
/* Encabezado móvil: compacto y profesional */
@media (max-width: 781px) {
	.site-header-bar { padding-right: 16px !important; padding-left: 16px !important; }
	.site-header { flex-wrap: nowrap; column-gap: 0.75rem; padding-top: 0.6rem !important; padding-bottom: 0.6rem !important; }
	.site-brand { gap: 10px; }
	.header-logo img { width: 38px !important; }
	.site-brand .wp-block-site-title { font-size: 1rem; }
	.header-right { gap: 0.75rem; }
	.donate-btn .wp-block-button__link {
		font-size: 0.78rem;
		letter-spacing: 0.04em;
		padding: 0.35rem 0.8rem !important;
		box-shadow: none;
	}
	.header-right .gtranslate_wrapper > * { width: auto; }
}
.donate-section {
	background: rgba(31, 78, 156, 0.08);
	border-top: 1px solid rgba(31, 78, 156, 0.2);
	border-bottom: 1px solid rgba(31, 78, 156, 0.2);
}
.prayer-section {
	background: rgba(31, 78, 156, 0.06);
	border-top: 1px solid rgba(31, 78, 156, 0.16);
	border-bottom: 1px solid rgba(31, 78, 156, 0.16);
}
.prayer-section .wp-block-jetpack-contact-form {
	max-width: 640px;
	margin: 1.6rem auto 0;
	background: #fff;
	border: 1px solid rgba(31, 78, 156, 0.18);
	border-radius: 18px;
	padding: 1.5rem 1.6rem 1.8rem;
	box-shadow: 0 10px 30px rgba(31, 78, 156, 0.1);
}
.prayer-section .wp-block-jetpack-contact-form label { font-family: "Manrope", sans-serif; font-weight: 600; font-size: 0.95rem; color: #1f4e9c; }
.prayer-section .wp-block-jetpack-contact-form .wp-block-button__link {
	font-family: "Manrope", sans-serif;
	font-weight: 700;
	letter-spacing: 0.05em;
	background: #e8c25a;
	color: #1f4e9c !important;
	border: 2px solid #1f4e9c;
	border-radius: 999px;
	padding: 0.75rem 2.4rem;
	box-shadow: 0 5px 14px rgba(232, 194, 90, 0.5);
}
.prayer-section .wp-block-jetpack-contact-form .wp-block-button__link:hover { background: #1f4e9c; color: #fff !important; }
/* Oración Comunitaria (variante comentarios, fase de aceptación) */
.prayer-comment-section {
	background: rgba(31, 78, 156, 0.08);
	border-bottom: 1px solid rgba(31, 78, 156, 0.2);
}
.prayer-comment-section .prayer-comments {
	max-width: 680px;
	margin: 1.6rem auto 0;
	background: #fff;
	border: 1px solid rgba(31, 78, 156, 0.18);
	border-left: 5px solid #e8c25a;
	border-radius: 18px;
	padding: 1.5rem 1.6rem;
	box-shadow: 0 10px 30px rgba(31, 78, 156, 0.12);
	color: #1f2b3a;
}
.prayer-comment-section .prayer-comments-title {
	font-family: "Cormorant", Georgia, serif;
	font-size: 1.6rem;
	font-weight: 600;
	color: #1f4e9c;
	margin: 0 0 1rem;
}
.prayer-comment-section .prayer-comments .comment-list,
.prayer-comment-section .prayer-comments .wp-block-comments { list-style: none; margin: 0; padding: 0; }
.prayer-comments .comment-list { list-style: none; margin: 0 0 1rem; padding: 0; }
.prayer-comments .comment { border-bottom: 1px solid rgba(31,78,156,0.12); padding: 0.8rem 0; }
.prayer-comments .comment .comment-author .fn { font-family: "Manrope", sans-serif; font-weight: 700; color: #1f4e9c; }
.prayer-comments .comment .comment-metadata { font-family: "Open Sans", sans-serif; font-size: 0.75rem; color: #7a8aa0; }
.prayer-comments .comment .comment-content { font-family: "Open Sans", sans-serif; color: #2b2b2b; margin-top: 0.3rem; }

/* Móvil: más aire en “Peticiones de la comunidad” (separación entre peticiones y dentro de la tarjeta). */
@media (max-width: 600px) {
	.prayer-comment-section .prayer-comments { padding: 1.4rem 1.15rem; }
	.prayer-comments .comment { padding: 1.1rem 0; }
	.prayer-comments .comment + .comment { margin-top: 0.9rem; }
	.prayer-comments .comment-list { margin-bottom: 1.1rem; }
	.prayer-comments .wp-block-post-comments-form textarea { margin-bottom: 0.9rem; }
}
.prayer-status { font-family: "Open Sans", sans-serif; font-size: 0.95rem; color: #1f4e9c; margin: 0.4rem 0; }
/* Mensaje cuando aún no hay peticiones */
.prayer-empty { font-family: "Open Sans", sans-serif; color: #7a8aa0; font-size: 0.95rem; margin: 0 0 0.5rem; }

/* Ocultar el enlace de texto “Donar” del menú (6.º elemento) en pantallas grandes */
/* (se conserva el botón amarillo). En móvil sigue en su menú. */
@media (min-width: 782px) {
	.site-header .wp-block-navigation__container > li:nth-child(6) {
		display: none !important;
	}
}
.prayer-delete {
	font-family: "Open Sans", sans-serif;
	font-size: 0.7rem;
	font-weight: 600;
	background: rgba(200, 40, 55, 0.08);
	color: #c82837;
	border: 1px solid rgba(200, 40, 55, 0.35);
	border-radius: 999px;
	padding: 0.2rem 0.7rem;
	margin-top: 0.4rem;
	cursor: pointer;
}
.prayer-delete:hover { background: #c82837; color: #fff; }
.prayer-comment-section .prayer-comments input,
.prayer-comment-section .prayer-comments textarea {
	font-family: "Open Sans", sans-serif;
	border: 1px solid rgba(31,78,156,0.3);
	border-radius: 8px;
	padding: 0.6rem 0.7rem;
	color: #1f2b3a;
	background: #f6f9fd;
}
.prayer-comment-section .prayer-comments .submit,
.prayer-comment-section .prayer-comments button[type="submit"] {
	font-family: "Manrope", sans-serif;
	font-weight: 700;
	background: #e8c25a;
	color: #1f4e9c;
	border: 2px solid #1f4e9c;
	border-radius: 999px;
	padding: 0.6rem 1.8rem;
	cursor: pointer;
}
.prayer-comment-section .prayer-comments .submit:hover,
.prayer-comment-section .prayer-comments button[type="submit"]:hover { background: #1f4e9c; color: #fff; }
/* Solo se pide el nombre: se ocultan correo y web */
.prayer-comments .comment-form-email,
.prayer-comments .comment-form-url,
.prayer-comments .comment-form-author ~ .comment-form-author,
.prayer-comments li.comment-form-email,
.prayer-comments li.comment-form-url,
.prayer-comment-section .wp-block-post-comments-form .comment-form-email,
.prayer-comment-section .wp-block-post-comments-form .comment-form-url,
.prayer-comment-section .wp-block-post-comments-form .comment-form-cookies-consent { display: none !important; }
/* Misión y Visión: títulos en Roboto, cuadros de texto en Open Sans */
.mv-section {
	background: linear-gradient(160deg, #0d1b34 0%, #123a6e 55%, #0b2450 100%);
	border-top: 1px solid rgba(232, 194, 90, 0.35);
	border-bottom: 1px solid rgba(232, 194, 90, 0.35);
}
.mv-grid { max-width: 960px; margin: 1.2rem auto 0; text-align: center; }
.mv-tile { padding: 1.4rem; }
.mv-title {
	text-transform: uppercase;
	letter-spacing: 0.04em;
	font-weight: 700;
	font-style: italic;
	font-size: 46px;
	text-align: center;
	color: #fff;
	margin-bottom: 0.9rem;
	text-shadow: 0 2px 12px rgba(0, 0, 0, 0.3);
}
.mv-box {
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(255, 255, 255, 0.22);
	border-left: 4px solid #e8c25a;
	border-radius: 14px;
	padding: 1.2rem 1.3rem;
}
.mv-box p {
	font-family: "Open Sans", sans-serif !important;
	font-size: 1rem;
	line-height: 1.6;
	color: #fff;
	margin: 0;
}
.big-donate .wp-block-button__link {
	font-size: 1.25rem;
	font-weight: 800;
	padding: 0.9rem 2.4rem;
}
.feed-panel { display: none; margin-top: 1.5rem; }
.feed-panel.feed-open { display: block; }
.feed-trigger { margin-top: 1.25rem; }
.feed-trigger a { background: #1f4e9c; color: #fff; font-weight: 600; border-radius: 999px; padding: 0.8rem 1.7rem; text-decoration: none; }
.feed-trigger a:hover { background: #163a77; }
/* Carrusel de Liderazgo */
.rdl-slider { position: relative; display: flex; flex-wrap: nowrap; overflow: hidden; max-width: 860px; margin: 0.5rem auto 0; border-radius: 18px; box-shadow: 0 12px 30px rgba(12,30,64,0.18); }
.rdl-slider .rdl-slide { flex: 0 0 100%; width: 100%; height: auto; margin: 0 !important; transition: transform 0.6s ease; }
.rdl-slider .rdl-slide img { width: 100%; height: auto; display: block; transition: transform 7s linear; transform: scale(1.02); }
.rdl-slider .rdl-slide.is-active img { transform: scale(1.14); }
.rdl-slider .wp-block-button.rdl-prev, .rdl-slider .wp-block-button.rdl-next { position: absolute; top: 50%; transform: translateY(-50%); z-index: 3; }
.rdl-slider .rdl-prev { left: 0.75rem; }
.rdl-slider .rdl-next { right: 0.75rem; }
.rdl-slider .rdl-prev .wp-block-button__link, .rdl-slider .rdl-next .wp-block-button__link { background: rgba(15,42,82,0.6); color: #fff; border: 1px solid rgba(255,255,255,0.35); padding: 0.2rem 0.7rem; font-size: 1.5rem; line-height: 1.1; border-radius: 999px; text-decoration: none; }
.rdl-slider .rdl-prev .wp-block-button__link:hover, .rdl-slider .rdl-next .wp-block-button__link:hover { background: rgba(15,42,82,0.85); }
/* Modo fundido cruzado (para carruseles rdl-fade: Nuestros Músicos) */
.rdl-fade { display: block; position: relative; aspect-ratio: 3 / 2; }
.rdl-fade .rdl-slide { position: absolute; inset: 0; width: 100%; margin: 0; opacity: 0; transition: opacity 1.1s ease, transform 1.1s ease; transform: scale(1.05); }
.rdl-fade .rdl-slide.is-active { opacity: 1; transform: scale(1.02); }
.rdl-fade .rdl-slide img { width: 100%; height: 100%; object-fit: cover; transition: none; transform: none; }
/* Modo deslizamiento vertical (rdl-vertical: El Camino hasta Hoy) */
.rdl-vertical { display: flex; flex-direction: column; overflow: hidden; aspect-ratio: 3 / 2; }
.rdl-vertical .rdl-slide { flex: 0 0 100%; width: 100%; margin: 0; }
.rdl-vertical .rdl-slide img { width: 100%; height: 100%; object-fit: cover; transition: none; transform: none; }
.rdl-slider img, .rdl-lb__image {
	-webkit-user-drag: none;
	user-drag: none;
	user-select: none;
	-webkit-user-select: none;
	-webkit-touch-callout: none;
	cursor: zoom-in;
}
/* Visor Fotografías de Ventas (superpuesto, sin abrir hacia abajo) */
.sales-open-wrap { margin: 0; }
.sales-open-btn, .modal-open-btn { display: inline-block; background: #1f4e9c; color: #fff; font-weight: 600; border-radius: 999px; padding: 0.8rem 1.7rem; text-decoration: none; cursor: pointer; }
.sales-open-btn:hover, .modal-open-btn:hover { background: #163a77; }
.modal-open-btn a { color: inherit; text-decoration: none; }
.modal-overlay { display: none; position: fixed; top: 0; left: 0; right: 0; bottom: 0; width: 100%; height: 100%; z-index: 10001; background: rgba(6,18,38,0.97); overflow: auto; padding: 3.5rem 1.25rem 3rem; }
.modal-overlay { max-width: none !important; }
.modal-overlay .wp-block-query,
.modal-overlay .wp-block-query .wp-block-post-template { max-width: 1120px; margin-left: auto; margin-right: auto; }
.modal-overlay.modal-overlay-open { display: block; }
.sales-modal-close { position: fixed; top: 1rem; right: 1.25rem; z-index: 10003; }
.sales-modal-close .wp-block-button__link { background: #e8c25a; border: 1px solid #fff; color: #0f2a52; padding: 0.35rem 0.8rem; font-size: 1.7rem; font-weight: 700; line-height: 1; border-radius: 50%; box-shadow: 0 2px 10px rgba(0,0,0,0.4); }
.sales-modal-close .wp-block-button__link:hover { background: #d9af3e; }
.modal-overlay .gallery-subtitle { color: #fff; margin-top: 0; }
.modal-overlay .sales-photo-grid, .modal-overlay .modal-feed { max-width: 1100px; margin: 1.25rem auto 0; }
.modal-overlay .wp-block-column .placeholder-box { background: rgba(255,255,255,0.08); border: 1px dashed rgba(255,255,255,0.25); border-radius: 14px; min-height: 210px; display: flex; align-items: center; justify-content: center; padding: 1rem; }
.modal-overlay .placeholder-label { color: #dbe6f5; }
.modal-overlay .upload-hint { color: #9db4d0; }
html.modal-lock { overflow: hidden; }
.sales-photo-grid { margin-top: 1rem; }
.sales-photos .wp-block-column .placeholder-box { height: 100%; min-height: 210px; display: flex; align-items: center; justify-content: center; padding: 1rem; }

.static-videos { margin-top: 1.25rem; }
.static-videos .wp-block-column .placeholder-box { height: 100%; min-height: 220px; display: flex; align-items: center; justify-content: center; padding: 1rem; }
.musicos-tiles { margin-top: 1.25rem; }
.musicos-tiles .wp-block-column .placeholder-box { height: 100%; min-height: 220px; display: flex; align-items: center; justify-content: center; padding: 1rem; }
.food-sales-tiles { margin-top: 1.25rem; }
.food-sales-tiles .wp-block-column .placeholder-box { height: 100%; min-height: 220px; display: flex; align-items: center; justify-content: center; padding: 1rem; background: linear-gradient(160deg, rgba(232,194,90,0.10), rgba(255,255,255,0)); }
.events-tiles { margin-top: 1.25rem; }
.events-tiles .wp-block-column .placeholder-box { height: 100%; min-height: 220px; display: flex; align-items: center; justify-content: center; padding: 1rem; background: linear-gradient(160deg, rgba(90,150,200,0.12), rgba(255,255,255,0)); }

.footer-social .fb-button {
	display: inline-flex; align-items: center; gap: 0.55rem;
	background: #1877F2; color: #fff;
	padding: 0.7rem 1.5rem; border-radius: 999px;
	text-decoration: none; font-weight: 600; font-family: Manrope, sans-serif;
	transition: background .25s ease;
}
.footer-social .fb-button:hover { background: #155cc9; color: #fff; }
.footer-social .fb-icon {
	display: inline-flex; align-items: center; justify-content: center;
	width: 1.35rem; height: 1.35rem; border-radius: 50%;
	background: #fff; color: #1877F2; font-weight: 800; font-size: 0.95rem; line-height: 1;
}

/* ===== Portada: fondo espectacular + entrada del título ===== */
.hero-cover { position: relative; overflow: hidden; }

/* Velocidad / atenuar algo el video para lucir el degradado */
.hero-cover .wp-block-cover__video-background { opacity: 1; }

/* Mantener el contenido por encima de la capa */
.hero-cover .wp-block-cover__inner-container { position: relative; z-index: 2; }

/* Título "Bienvenidos": aparición profesional (sube, se enfoca y ajusta el espaciado) */
.welcome-heading {
	opacity: 1;
}
@keyframes headingReveal {
	0%   { opacity: 0; transform: translateY(28px); letter-spacing: 0.32em; filter: blur(10px); }
	100% { opacity: 1; transform: translateY(0);    letter-spacing: 0.14em; filter: blur(0); }
}

/* Entrada escalonada: separador, mensaje y versículo */
.hero-cover .wp-block-separator,
.hero-cover .welcome-message,
.hero-cover .live-btn-wrap {
	opacity: 1;
}
@keyframes fadeUp {
	from { opacity: 0; transform: translateY(18px); }
	to   { opacity: 1; transform: none; }
}

/* Respeto a usuarios con movimiento reducido */
@media (prefers-reduced-motion: reduce) {
	.hero-cover::after { animation: none; }
	.wp-block-navigation__responsive-container.is-menu-open { animation: none !important; background-size: auto; }
	.wp-block-navigation__responsive-container.is-menu-open::before,
	.wp-block-navigation__responsive-container.is-menu-open::after,
	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { animation: none !important; }
	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item a,
	.wp-block-navigation__responsive-container.is-menu-open .close-on-click .wp-block-navigation__responsive-container-close { opacity: 1 !important; animation: none !important; transform: none !important; }
	.welcome-heading,
	.hero-cover .wp-block-separator,
	.hero-cover .welcome-message,
	.hero-cover .live-btn-wrap { opacity: 1 !important; animation: none !important; transform: none !important; }
}

/* Editor: aplicar el fondo marino para que los textos claros de los cuadros se
   vean (no en blanco) al editar el contenido de la página. Esto solo afecta al
   editor; la web pública se ve igual que siempre. */
body.editor-styles-wrapper,
.editor-styles-wrapper {
	background: linear-gradient(160deg, #0d1b34 0%, #123a6e 55%, #0b2450 100%) !important;
	color: #eef4fc !important;
}
.editor-styles-wrapper .wp-block {
	color: #eef4fc;
}
.editor-styles-wrapper .section-title {
	color: #f2f6fb;
}
/* El cuadro de Oración: en el editor se ve en marino con texto claro y editable;
   en la web pública conserva su aspecto actual. */
.editor-styles-wrapper .prayer-section {
	background: linear-gradient(160deg, #0d1b34 0%, #123a6e 55%, #0b2450 100%) !important;
	color: #eef4fc !important;
}
.editor-styles-wrapper .prayer-section p,
.editor-styles-wrapper .prayer-section .wp-block-heading,
.editor-styles-wrapper .prayer-section label,
.editor-styles-wrapper .prayer-section .wp-block-jetpack-contact-form * {
	color: #eef4fc !important;
}
.editor-styles-wrapper .prayer-section .section-title {
	color: #f2f6fb !important;
}
