/* ==========================================================================
   Rhema Suite — estilos públicos
   Los colores vienen de Ajustes → Iglesia (--rs-primary, --rs-accent).
   ========================================================================== */

:root {
	--rs-primary: #1f3a5f;
	--rs-primary-soft: rgba(31, 58, 95, .08);
	--rs-on-primary: #fff;
	--rs-accent: #c8a24a;
	--rs-on-accent: #1d2327;
	--rs-text: inherit;
	--rs-muted: #6b7280;
	--rs-border: rgba(0, 0, 0, .1);
	--rs-surface: #fff;
	--rs-surface-alt: #f6f7f9;
	--rs-radius: 14px;
	--rs-radius-sm: 8px;
	--rs-shadow: 0 1px 2px rgba(16, 24, 40, .06), 0 4px 16px rgba(16, 24, 40, .06);
	--rs-wa: #25d366;
}

.rs-icon { display: inline-block; width: 1em; height: 1em; vertical-align: -.125em; flex: none; }
.rs-empty { color: var(--rs-muted); font-style: italic; }
.rs-kicker {
	margin: 0 0 .35em;
	font-size: .78em;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--rs-accent);
}
.rs-container { width: 100%; max-width: 1180px; margin: 0 auto; padding: 32px 20px 56px; box-sizing: border-box; }

/* ----- Botones ----- */
.rs-buttons { display: flex; flex-wrap: wrap; gap: 10px; margin: 16px 0 0; }
body .rs-button,
body a.rs-button {
	display: inline-flex;
	align-items: center;
	gap: .5em;
	padding: .7em 1.2em;
	border: 2px solid var(--rs-primary);
	border-radius: 999px;
	background: var(--rs-primary);
	color: var(--rs-on-primary);
	font-size: .95rem;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	cursor: pointer;
	transition: transform .15s ease, box-shadow .15s ease, background-color .15s ease, color .15s ease;
}
body .rs-button:hover,
body a.rs-button:hover { transform: translateY(-1px); box-shadow: 0 6px 18px rgba(0, 0, 0, .12); color: var(--rs-on-primary); }
body .rs-button--ghost,
body a.rs-button--ghost { background: transparent; color: var(--rs-primary); }
body a.rs-button--ghost:hover { background: var(--rs-primary-soft); color: var(--rs-primary); }
body a.rs-button--wa { background: var(--rs-wa); border-color: var(--rs-wa); color: #fff; }
body a.rs-button--wa:hover { color: #fff; }

/* ----- Metadatos ----- */
.rs-meta { display: flex; flex-wrap: wrap; gap: 6px 16px; margin: 8px 0 0; padding: 0; list-style: none; font-size: .9em; color: var(--rs-muted); }
.rs-meta li { display: inline-flex; align-items: center; gap: .4em; margin: 0; }
.rs-meta a { color: inherit; }
.rs-meta--boxed { margin: 20px 0; padding: 14px 18px; border-radius: var(--rs-radius-sm); background: var(--rs-primary-soft); color: inherit; }
.rs-meta--boxed .rs-icon { color: var(--rs-primary); }

/* ----- Rejilla y tarjetas ----- */
.rs-grid { display: grid; gap: 24px; grid-template-columns: repeat(var(--rs-cols, 3), minmax(0, 1fr)); }
.rs-grid--1 { --rs-cols: 1; }
.rs-grid--2 { --rs-cols: 2; }
.rs-grid--3 { --rs-cols: 3; }
.rs-grid--4 { --rs-cols: 4; }
@media (max-width: 900px) { .rs-grid--3, .rs-grid--4 { --rs-cols: 2; } }
@media (max-width: 600px) { .rs-grid { --rs-cols: 1 !important; } }

.rs-card {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	border: 1px solid var(--rs-border);
	border-radius: var(--rs-radius);
	background: var(--rs-surface);
	box-shadow: var(--rs-shadow);
	transition: transform .2s ease, box-shadow .2s ease;
}
.rs-card:hover { transform: translateY(-3px); box-shadow: 0 10px 30px rgba(16, 24, 40, .12); }
.rs-card__media { position: relative; display: block; aspect-ratio: 16 / 9; overflow: hidden; background: var(--rs-primary); }
.rs-card__media img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.rs-card:hover .rs-card__media img { transform: scale(1.04); }
.rs-card__placeholder {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 6px;
	width: 100%;
	height: 100%;
	padding: 16px;
	box-sizing: border-box;
	background: radial-gradient(circle at 85% 15%, rgba(255, 255, 255, .18) 0 22%, transparent 23%), linear-gradient(135deg, var(--rs-primary), color-mix(in srgb, var(--rs-primary) 60%, #000));
	color: var(--rs-on-primary);
	text-align: center;
}
.rs-card__placeholder-series { font-weight: 700; font-size: 1.1em; line-height: 1.25; }
.rs-card__placeholder-passage { font-size: .85em; opacity: .85; }
.rs-card__placeholder--gallery .rs-icon { font-size: 2.4em; opacity: .9; }
.rs-card__play {
	position: absolute;
	right: 12px;
	bottom: 12px;
	display: grid;
	place-items: center;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	background: var(--rs-accent);
	color: var(--rs-on-accent);
	font-size: 20px;
	box-shadow: 0 4px 12px rgba(0, 0, 0, .25);
}
.rs-card__body { display: flex; flex: 1 1 auto; flex-direction: column; padding: 18px 20px 20px; }
.rs-card__kicker { margin: 0 0 4px; font-size: .75em; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--rs-accent); }
.rs-card__title { margin: 0; font-size: 1.15em; line-height: 1.3; }
body .rs-card__title a { color: inherit; text-decoration: none; }
body .rs-card__title a:hover { color: var(--rs-primary); }
.rs-card__excerpt { margin: 10px 0 0; font-size: .92em; color: var(--rs-muted); }
body a.rs-card__link { display: inline-flex; align-items: center; gap: .4em; margin-top: auto; padding-top: 14px; font-weight: 600; color: var(--rs-primary); text-decoration: none; }

/* ----- Video y audio ----- */
.rs-video { position: relative; width: 100%; aspect-ratio: 16 / 9; overflow: hidden; border-radius: var(--rs-radius); background: #000; }
.rs-video iframe, .rs-video video, .rs-video .wp-video { position: absolute; inset: 0; width: 100% !important; height: 100% !important; }
.rs-video__fallback { margin: 6px 0 0; font-size: .85em; text-align: right; }
.rs-video__fallback a { color: var(--rs-muted); }
.rs-audio { margin: 12px 0; }
.rs-audio iframe { display: block; width: 100%; }

/* ----- Último sermón ----- */
.rs-latest { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 32px; align-items: center; }
.rs-latest.no-video { grid-template-columns: 1fr; }
.rs-latest__media--image img { display: block; width: 100%; height: auto; border-radius: var(--rs-radius); }
.rs-latest__title { margin: 0; font-size: clamp(1.5rem, 2.4vw, 2.1rem); line-height: 1.2; }
body .rs-latest__title a { color: inherit; text-decoration: none; }
.rs-latest__excerpt { margin: 14px 0 0; color: var(--rs-muted); }
@media (max-width: 800px) { .rs-latest { grid-template-columns: 1fr; gap: 18px; } }

/* ----- Página de sermón ----- */
.rs-sermon__video { margin: 0 0 8px; }
.rs-sermon__subtitle { margin: 32px 0 12px; font-size: 1.25em; }
.rs-sermon__content { margin: 24px 0; }
.rs-sermon__resources { margin: 24px 0; }
.rs-sermon__more { margin-top: 40px; }

/* ----- Compartir ----- */
.rs-share { margin: 28px 0; padding: 18px; border-radius: var(--rs-radius); background: var(--rs-surface-alt); }
.rs-share__label { margin: 0 0 10px; font-weight: 700; }
.rs-share__buttons { display: flex; flex-wrap: wrap; gap: 8px; }
body .rs-share__btn {
	display: inline-flex;
	align-items: center;
	gap: .45em;
	padding: .55em .95em;
	border: 0;
	border-radius: 999px;
	background: #fff;
	color: #1d2327;
	font: inherit;
	font-size: .88rem;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	box-shadow: inset 0 0 0 1px var(--rs-border);
	cursor: pointer;
}
body .rs-share__btn:hover { color: #1d2327; box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .25); }
body .rs-share__btn .rs-icon { font-size: 1.15em; }
body .rs-share__btn--whatsapp { background: var(--rs-wa); color: #fff; box-shadow: none; }
body .rs-share__btn--whatsapp:hover { color: #fff; filter: brightness(.95); }
.rs-share__btn--facebook .rs-icon { color: #1877f2; }
.rs-share__btn--telegram .rs-icon { color: #229ed9; }
.rs-share__btn.is-copied { background: var(--rs-primary); color: var(--rs-on-primary); }

/* ----- Boletín (web) ----- */
.rs-bulletin { max-width: 760px; margin: 0 auto; }
.rs-bulletin__header {
	position: relative;
	overflow: hidden;
	margin: 0 0 20px;
	padding: 36px 24px 26px;
	border-radius: calc(var(--rs-radius) + 4px);
	background: radial-gradient(circle at 100% 0, rgba(255, 255, 255, .14) 0 30%, transparent 31%), linear-gradient(160deg, var(--rs-primary), color-mix(in srgb, var(--rs-primary) 70%, #000));
	color: var(--rs-on-primary);
	text-align: center;
}
.rs-bulletin__logo { width: 76px; height: 76px; margin: 0 auto 12px; padding: 8px; border-radius: 50%; background: #fff; object-fit: contain; box-sizing: border-box; }
.rs-bulletin__church { margin: 0; font-size: 1rem; font-weight: 600; opacity: .9; }
.rs-bulletin__kicker { margin: 14px 0 0; font-size: .8rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--rs-accent); }
.rs-bulletin__date { margin: 4px 0 0; font-size: clamp(1.4rem, 5vw, 2rem); font-weight: 700; line-height: 1.2; }
.rs-bulletin__date::first-letter { text-transform: uppercase; }
.rs-bulletin__tagline { margin: 10px 0 0; font-style: italic; opacity: .9; }
.rs-bulletin__quick { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 18px; }
body .rs-pill {
	display: inline-flex;
	align-items: center;
	gap: .45em;
	padding: .5em 1em;
	border-radius: 999px;
	background: rgba(255, 255, 255, .16);
	color: inherit;
	font-size: .88rem;
	font-weight: 600;
	text-decoration: none;
	backdrop-filter: blur(4px);
}
body .rs-pill:hover { background: rgba(255, 255, 255, .26); color: inherit; }
body .rs-pill--wa { background: var(--rs-wa); color: #fff; }
.rs-bulletin__toc { display: flex; gap: 8px; margin: 0 0 18px; padding: 2px 2px 8px; overflow-x: auto; scrollbar-width: thin; }
body .rs-bulletin__toc a { flex: none; padding: .4em .9em; border-radius: 999px; background: var(--rs-primary-soft); color: var(--rs-primary); font-size: .85rem; font-weight: 600; text-decoration: none; white-space: nowrap; }
.rs-bulletin__sections { display: grid; gap: 16px; }
.rs-bsec { padding: 22px 22px 20px; border: 1px solid var(--rs-border); border-radius: var(--rs-radius); background: var(--rs-surface); scroll-margin-top: 90px; }
.rs-bsec__title { position: relative; margin: 0 0 14px; padding-left: 14px; font-size: 1.2rem; line-height: 1.3; }
.rs-bsec__title::before { content: ""; position: absolute; left: 0; top: .15em; bottom: .15em; width: 4px; border-radius: 4px; background: var(--rs-accent); }
.rs-bsec__text > :first-child { margin-top: 0; }
.rs-bsec__text > :last-child { margin-bottom: 0; }
.rs-bsec__signature { margin: 12px 0 0; font-style: italic; text-align: right; }
.rs-bsec__image { display: block; width: 100%; height: auto; border-radius: var(--rs-radius-sm); }
.rs-bsec--image { padding: 12px; }
.rs-bsec--image .rs-bsec__title { margin: 8px 10px 12px; }

.rs-verse { margin: 0; padding: 0; border: 0; text-align: center; }
.rs-verse__text { margin: 0 0 10px; font-size: 1.2rem; font-style: italic; line-height: 1.55; }
.rs-verse__ref { font-style: normal; font-weight: 700; color: var(--rs-primary); }
.rs-verse__ref a { color: inherit; }

.rs-bsermon__series { margin: 0; font-size: .78rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--rs-accent); }
.rs-bsermon__title { margin: 2px 0 6px; font-size: 1.25rem; font-weight: 700; line-height: 1.3; }
body .rs-bsermon__title a { color: inherit; text-decoration: none; }
.rs-bsermon__meta { display: flex; flex-wrap: wrap; gap: 4px 14px; margin: 0; color: var(--rs-muted); }

.rs-agenda, .rs-birthdays, .rs-prayer { margin: 0; padding: 0; list-style: none; }
.rs-agenda__item { display: grid; grid-template-columns: 118px 1fr; gap: 14px; padding: 12px 0; border-top: 1px dashed var(--rs-border); }
.rs-agenda__item:first-child { border-top: 0; padding-top: 0; }
.rs-agenda__when, .rs-agenda__what { display: flex; flex-direction: column; gap: 2px; }
.rs-agenda__when strong { color: var(--rs-primary); }
.rs-agenda__when span, .rs-agenda__what span { font-size: .9em; color: var(--rs-muted); }
@media (max-width: 480px) { .rs-agenda__item { grid-template-columns: 92px 1fr; gap: 10px; } }

.rs-announcements { display: grid; gap: 14px; }
.rs-announcement { padding: 0 0 14px; border-bottom: 1px dashed var(--rs-border); }
.rs-announcement:last-child { padding-bottom: 0; border-bottom: 0; }
.rs-announcement__title { margin: 0 0 4px; font-size: 1.02rem; }
.rs-announcement__text p { margin: 0 0 .5em; }
.rs-announcement__text p:last-child { margin-bottom: 0; }

.rs-birthdays { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 8px 16px; }
.rs-birthdays li { display: flex; justify-content: space-between; gap: 8px; padding: 8px 12px; border-radius: var(--rs-radius-sm); background: var(--rs-primary-soft); }
.rs-birthdays__date { font-weight: 600; color: var(--rs-primary); white-space: nowrap; }
.rs-birthdays__name::before { content: "🎂 "; }

.rs-prayer li { position: relative; padding: 6px 0 6px 22px; }
.rs-prayer li::before { content: ""; position: absolute; left: 4px; top: 1em; width: 7px; height: 7px; border-radius: 50%; background: var(--rs-accent); }

.rs-bulletin__footer { margin: 8px 0 0; padding: 20px; text-align: center; color: var(--rs-muted); font-size: .92rem; }
.rs-bulletin__footer p { margin: 6px 0; }
.rs-bulletin__footer-church { font-weight: 700; color: inherit; }
.rs-bulletin__footer .rs-social { justify-content: center; margin: 12px 0; }

/* ----- Tarjeta del boletín actual ----- */
.rs-bcard { display: flex; gap: 20px; align-items: flex-start; padding: 24px; border-radius: var(--rs-radius); background: var(--rs-surface); border: 1px solid var(--rs-border); box-shadow: var(--rs-shadow); }
.rs-bcard__icon { display: grid; place-items: center; flex: none; width: 60px; height: 60px; border-radius: 16px; background: var(--rs-primary); color: var(--rs-on-primary); font-size: 28px; }
.rs-bcard__body { flex: 1; min-width: 0; }
.rs-bcard__title { margin: 0; font-size: 1.3em; line-height: 1.25; }
body .rs-bcard__title a { color: inherit; text-decoration: none; }
.rs-bcard__topics { margin: 8px 0 0; color: var(--rs-muted); font-size: .92em; }
@media (max-width: 520px) { .rs-bcard { flex-direction: column; } }

.rs-bulletin-list { margin: 0; padding: 0; list-style: none; display: grid; gap: 10px; }
body .rs-bulletin-list a { display: flex; align-items: center; gap: 14px; padding: 14px 16px; border: 1px solid var(--rs-border); border-radius: var(--rs-radius-sm); background: var(--rs-surface); color: inherit; text-decoration: none; transition: border-color .15s, background .15s; }
body .rs-bulletin-list a:hover { border-color: var(--rs-primary); background: var(--rs-primary-soft); }
.rs-bulletin-list__icon { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 10px; background: var(--rs-primary-soft); color: var(--rs-primary); font-size: 18px; flex: none; }
.rs-bulletin-list__title { flex: 1; font-weight: 600; }
.rs-bulletin-list__date { color: var(--rs-muted); font-size: .88em; white-space: nowrap; }

/* ----- Transmisión en vivo ----- */
.rs-live__bar { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; margin: 0 0 14px; padding: 12px 16px; border-radius: var(--rs-radius-sm); background: var(--rs-primary); color: var(--rs-on-primary); }
.rs-live__label { opacity: .85; }
.rs-live__name { font-weight: 700; }
.rs-live__badge { display: inline-flex; align-items: center; gap: .4em; padding: .3em .8em; border-radius: 999px; background: #e02424; color: #fff; font-size: .82rem; font-weight: 800; letter-spacing: .04em; }
.rs-live.is-live .rs-live__badge .rs-icon { animation: rs-pulse 1.4s ease-in-out infinite; }
@keyframes rs-pulse { 50% { opacity: .3; } }
.rs-countdown { display: inline-flex; gap: 6px; margin-left: auto; }
.rs-countdown__unit { display: inline-flex; flex-direction: column; align-items: center; min-width: 48px; padding: 4px 6px; border-radius: 8px; background: rgba(255, 255, 255, .14); line-height: 1.1; }
.rs-countdown__unit strong { font-size: 1.2rem; font-variant-numeric: tabular-nums; }
.rs-countdown__unit small { font-size: .68rem; opacity: .85; text-transform: uppercase; }
@media (max-width: 560px) { .rs-countdown { margin-left: 0; width: 100%; } }
.rs-live__caption, .rs-live__follow { margin: 10px 0 0; font-size: .92em; }
body .rs-live__follow a { display: inline-flex; align-items: center; gap: .4em; color: var(--rs-primary); font-weight: 600; text-decoration: none; }
.rs-live__empty { padding: 32px 20px; border-radius: var(--rs-radius); background: var(--rs-surface-alt); text-align: center; }

/* ----- Horarios ----- */
.rs-services { display: grid; gap: 0; }
.rs-services__item { display: grid; grid-template-columns: 110px 80px 1fr; gap: 4px 12px; align-items: baseline; padding: 10px 0; border-top: 1px dashed var(--rs-border); }
.rs-services__item:first-child { border-top: 0; }
.rs-services__day { font-weight: 700; color: var(--rs-primary); }
.rs-services__time { font-weight: 600; font-variant-numeric: tabular-nums; }
.rs-services__place { grid-column: 3; font-size: .88em; color: var(--rs-muted); }
@media (max-width: 480px) { .rs-services__item { grid-template-columns: 90px 1fr; } .rs-services__name, .rs-services__place { grid-column: 1 / -1; } }
.rs-services--cards { grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 16px; }
.rs-services--cards .rs-services__item { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; padding: 20px; border: 0; border-radius: var(--rs-radius); background: var(--rs-primary); color: var(--rs-on-primary); }
.rs-services--cards .rs-services__day { color: var(--rs-accent); font-size: .85em; text-transform: uppercase; letter-spacing: .06em; }
.rs-services--cards .rs-services__time { font-size: 1.8rem; line-height: 1.1; }
.rs-services--cards .rs-services__place { color: inherit; opacity: .8; }

/* ----- Ofrendas ----- */
.rs-giving__title { margin: 0 0 12px; }
.rs-giving__inner { display: flex; flex-wrap: wrap; gap: 20px; align-items: center; }
.rs-giving__qr img { display: block; width: 170px; height: auto; padding: 8px; border-radius: var(--rs-radius-sm); background: #fff; box-shadow: var(--rs-shadow); }
.rs-giving__data { flex: 1; min-width: 220px; }
.rs-giving__data dl { display: grid; grid-template-columns: auto 1fr; gap: 6px 14px; margin: 0; }
.rs-giving__data dt { color: var(--rs-muted); font-size: .9em; }
.rs-giving__data dd { margin: 0; font-weight: 600; word-break: break-word; }
.rs-giving__note { margin: 12px 0 0; font-style: italic; color: var(--rs-muted); }
.rs-copy-inline { display: inline-flex; align-items: center; gap: .3em; margin-left: 6px; padding: .15em .6em; border: 1px solid var(--rs-border); border-radius: 999px; background: #fff; color: var(--rs-primary); font: inherit; font-size: .75rem; font-weight: 600; cursor: pointer; vertical-align: middle; }
.rs-copy-inline.is-copied { background: var(--rs-primary); color: var(--rs-on-primary); }

/* ----- Podcast y redes ----- */
.rs-podcast__heading { margin: 0 0 10px; font-weight: 700; }
.rs-podcast__links { display: flex; flex-wrap: wrap; gap: 10px; }
body .rs-podcast__link { display: inline-flex; align-items: center; gap: .5em; padding: .6em 1.1em; border-radius: 12px; background: #111; color: #fff; font-weight: 600; font-size: .92rem; text-decoration: none; transition: transform .15s ease; }
body .rs-podcast__link:hover { color: #fff; transform: translateY(-1px); }
body .rs-podcast__link .rs-icon { font-size: 1.35em; }
body .rs-podcast__link--spotify { background: #1db954; }
body .rs-podcast__link--apple { background: #872ec4; }
body .rs-podcast__link--youtube { background: #ff0000; }
body .rs-podcast__link--amazon { background: #232f3e; }
body .rs-podcast__link--soundcloud { background: #ff5500; }
body .rs-podcast__link--ivoox { background: #f45a00; }
.rs-podcast--icons .rs-podcast__link { padding: .7em; border-radius: 50%; }

.rs-social { display: flex; flex-wrap: wrap; gap: 8px; }
body .rs-social__link { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: var(--rs-primary-soft); color: var(--rs-primary); font-size: 18px; text-decoration: none; transition: background .15s, color .15s; }
body .rs-social__link:hover { background: var(--rs-primary); color: var(--rs-on-primary); }

/* ----- Galería ----- */
.rs-gallery-card__badge { position: absolute; left: 12px; top: 12px; display: inline-flex; align-items: center; gap: .35em; padding: .3em .7em; border-radius: 999px; background: rgba(0, 0, 0, .6); color: #fff; font-size: .75rem; font-weight: 600; backdrop-filter: blur(4px); }
.rs-gallery-single__cover img { display: block; width: 100%; height: auto; border-radius: var(--rs-radius); }

/* ----- Filtros y paginación ----- */
.rs-filters { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin: 0 0 24px; }
.rs-filters__select { min-width: 180px; padding: .6em 2.2em .6em .9em; border: 1px solid var(--rs-border); border-radius: 999px; background-color: var(--rs-surface); font: inherit; font-size: .92rem; }
.rs-filters__clear { font-size: .9em; }
.rs-pagination { margin: 32px 0 0; }
.rs-pagination ul, .rs-pagination .nav-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; margin: 0; padding: 0; list-style: none; }
.rs-pagination .page-numbers { display: inline-grid; place-items: center; min-width: 40px; height: 40px; padding: 0 12px; border-radius: 999px; border: 1px solid var(--rs-border); text-decoration: none; color: inherit; box-sizing: border-box; }
.rs-pagination .page-numbers.current { background: var(--rs-primary); border-color: var(--rs-primary); color: var(--rs-on-primary); }

/* ----- Archivos ----- */
.rs-archive__header { margin: 0 0 28px; }
.rs-archive__title { margin: 0; }
.rs-archive__desc { margin-top: 8px; color: var(--rs-muted); }

/* Aviso de "copiado" */
.rs-toast { position: fixed; left: 50%; bottom: 24px; z-index: 99999; padding: 10px 18px; border-radius: 999px; background: #1d2327; color: #fff; font-size: .9rem; transform: translate(-50%, 20px); opacity: 0; transition: all .25s ease; pointer-events: none; }
.rs-toast.is-visible { transform: translate(-50%, 0); opacity: 1; }

@media print {
	.rs-share, .rs-bulletin__quick, .rs-bulletin__toc, .rs-buttons { display: none !important; }
}

/* Correcciones */
.rs-share__btn[hidden], .rs-share [hidden] { display: none !important; }
body .rs-card__media, body .rs-card__media:hover { text-decoration: none; color: inherit; }

/* ----- Contacto ----- */
.rs-contact__list { margin: 0 0 18px; padding: 0; list-style: none; display: grid; gap: 10px; }
.rs-contact__list li { display: flex; gap: 10px; align-items: flex-start; font-size: 1.05em; }
.rs-contact__list .rs-icon { margin-top: .2em; color: var(--rs-accent); }
body .rs-contact__list a { color: inherit; text-decoration: none; }
.rs-contact .rs-social { margin-top: 16px; }

/* Secciones con fondo oscuro (portada) */
.rs-on-dark { color: var(--rs-on-primary); }
.rs-on-dark .rs-contact { color: var(--rs-on-primary); }
body .rs-on-dark .rs-social__link { background: rgba(255, 255, 255, .12); color: var(--rs-on-primary); }
body .rs-on-dark .rs-social__link:hover { background: var(--rs-accent); color: var(--rs-on-accent); }
.rs-on-dark .elementor-widget-google_maps iframe { border-radius: var(--rs-radius); }
.rs-hero-text { max-width: 640px; margin-inline: auto; opacity: .9; }
body .rs-on-dark .rs-live__caption a,
body .rs-on-dark .rs-live__follow a { color: var(--rs-accent); }
.rs-on-dark .rs-video__fallback a { color: rgba(255, 255, 255, .7); }
.rs-on-dark .rs-live__bar { box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .15); }

/* La altura de la imagen la define solo la proporción 16:9 (evita solapamientos en Elementor). */
.rs-card__media img,
.rs-card__media .rs-card__placeholder { position: absolute; inset: 0; width: 100%; height: 100%; }
.rs-card__media { aspect-ratio: auto; height: 0; padding-top: 56.25%; }

/* Elementor: ancho definido para que la altura de las tarjetas se calcule bien en celulares. */
.e-con > .elementor-widget[class*="elementor-widget-rhema_"],
.e-con > .e-con-inner > .elementor-widget[class*="elementor-widget-rhema_"] { width: 100%; }

/* ----- Versículo principal ----- */
.rs-keyverse {
	position: relative;
	margin: 20px 0;
	padding: 26px 26px 22px 30px;
	border-radius: var(--rs-radius);
	background: linear-gradient(135deg, var(--rs-primary), color-mix(in srgb, var(--rs-primary) 72%, #000));
	color: var(--rs-on-primary);
	overflow: hidden;
}
.rs-keyverse::before { content: "\201C"; position: absolute; right: 18px; top: -26px; font-family: Georgia, serif; font-size: 150px; line-height: 1; color: var(--rs-accent); opacity: .35; }
.rs-keyverse__label { margin: 0 0 8px; font-size: .75rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--rs-accent); }
.rs-keyverse__text { position: relative; margin: 0; padding: 0; border: 0; font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.15rem, 2.2vw, 1.45rem); font-style: italic; line-height: 1.5; color: inherit; background: none; quotes: none; }
.rs-keyverse__text::before, .rs-keyverse__text::after { content: none; }
.rs-keyverse__ref { margin-top: 10px; font-weight: 700; color: var(--rs-accent); }
.rs-keyverse__ref a { color: inherit; }
.rs-latest .rs-keyverse { margin: 14px 0 0; padding: 16px 18px; }
.rs-latest .rs-keyverse__text { font-size: 1.05rem; }
.rs-latest .rs-keyverse::before { font-size: 100px; top: -18px; }

/* ----- Imágenes del boletín ----- */
.rs-bulletin__header.has-cover {
	background:
		linear-gradient(180deg, color-mix(in srgb, var(--rs-primary) 55%, transparent), color-mix(in srgb, var(--rs-primary) 92%, #000)),
		var(--rs-cover) center / cover no-repeat;
	padding-top: 120px;
}
.rs-bsec__photo { float: right; width: 96px; height: 96px; margin: 0 0 10px 16px; border-radius: 50%; object-fit: cover; box-shadow: 0 0 0 4px var(--rs-primary-soft); }
.rs-bsec--welcome .rs-bsec__body::after { content: ""; display: table; clear: both; }
.rs-announcement__image { display: block; width: 100%; height: auto; max-height: 420px; margin: 0 0 12px; border-radius: var(--rs-radius-sm); object-fit: cover; }
.rs-bsec .rs-keyverse { margin: 14px 0 6px; }

/* Partes del boletín usadas en plantillas de Elementor */
.rs-bulletin--part { max-width: none; margin: 0; }
.rs-bulletin--part .rs-bulletin__header { margin: 0; }
/* Mayor especificidad que ".elementor img" */
.rs-bulletin .rs-bsec__photo { width: 96px; height: 96px; border-radius: 50%; object-fit: cover; }
.rs-bulletin .rs-announcement__image { width: 100%; height: auto; aspect-ratio: 16 / 9; max-height: 340px; border-radius: var(--rs-radius-sm); object-fit: cover; }
.rs-bulletin .rs-bsec__image { border-radius: var(--rs-radius-sm); }
.rs-bulletin .rs-bulletin__logo { width: 76px; height: 76px; border-radius: 50%; }
