/**
 * Diócesis de Rafaela — estilos públicos.
 *
 * Todo cuelga de .dr para no pisar nada del tema. Está pensado primero para
 * celular: una columna, botones grandes y la hora bien visible; las medias
 * queries van sumando columnas para arriba.
 *
 * Los colores --dr-principal y --dr-acento los inyecta el plugin desde Ajustes.
 */

.dr {
	/* Valores de respaldo por si el inline style no llegó a cargar. */
	--dr-principal: #6b2d2d;
	--dr-acento: #b8860b;

	--dr-fondo: #ffffff;
	--dr-fondo-suave: #faf8f5;
	--dr-fondo-calido: #f4efe7;
	--dr-borde: #e6e0d6;
	--dr-borde-fuerte: #d3cabb;
	--dr-texto: #24201c;
	--dr-tenue: #6d665d;

	--dr-radio: 14px;
	--dr-radio-chico: 9px;
	--dr-sombra: 0 1px 2px rgba(40, 30, 20, .05), 0 6px 18px rgba(40, 30, 20, .06);

	--dr-esp: 1rem;

	box-sizing: border-box;
	color: var(--dr-texto);
	line-height: 1.55;
	max-width: 60rem;
	margin-inline: auto;
	padding-inline: var(--dr-esp);
}

.dr *,
.dr *::before,
.dr *::after {
	box-sizing: inherit;
}

.dr img {
	max-width: 100%;
	height: auto;
	display: block;
}

/* ------------------------------------------------------------------ */
/* Tipografía y piezas sueltas                                         */
/* ------------------------------------------------------------------ */

.dr-titulo {
	font-size: 1.3rem;
	line-height: 1.25;
	margin: 0 0 .85rem;
	color: var(--dr-principal);
	display: flex;
	align-items: baseline;
	gap: .5rem;
	flex-wrap: wrap;
}

.dr-titulo__cuenta {
	font-size: .78rem;
	font-weight: 600;
	background: var(--dr-fondo-calido);
	color: var(--dr-tenue);
	border-radius: 999px;
	padding: .1rem .55rem;
}

.dr-tenue {
	color: var(--dr-tenue);
}

.dr-oculto {
	display: none !important;
}

.dr-vacio {
	background: var(--dr-fondo-suave);
	border: 1px dashed var(--dr-borde-fuerte);
	border-radius: var(--dr-radio);
	padding: 1.5rem 1.2rem;
	text-align: center;
	color: var(--dr-tenue);
}

.dr-vacio__titulo {
	font-weight: 600;
	color: var(--dr-texto);
	margin-top: 0;
}

.dr-vacio p:last-child {
	margin-bottom: 0;
}

/* ------------------------------------------------------------------ */
/* Botones                                                             */
/* ------------------------------------------------------------------ */

.dr-boton {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .4rem;
	/* 44px de alto mínimo: es el tamaño cómodo para el pulgar. */
	min-height: 44px;
	padding: .55rem 1rem;
	border: 1px solid var(--dr-borde-fuerte);
	border-radius: 999px;
	background: var(--dr-fondo);
	color: var(--dr-principal);
	font-size: .92rem;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	cursor: pointer;
	transition: background-color .15s ease, border-color .15s ease, transform .06s ease;
}

.dr-boton:hover,
.dr-boton:focus-visible {
	background: var(--dr-fondo-calido);
	border-color: var(--dr-principal);
	color: var(--dr-principal);
}

.dr-boton:active {
	transform: translateY(1px);
}

.dr-boton--principal {
	background: var(--dr-principal);
	border-color: var(--dr-principal);
	color: #fff;
}

.dr-boton--principal:hover,
.dr-boton--principal:focus-visible {
	background: color-mix(in srgb, var(--dr-principal) 85%, #000);
	color: #fff;
}

.dr-boton--mapa {
	flex-shrink: 0;
	padding-inline: .85rem;
	font-size: .85rem;
}

.dr :focus-visible {
	outline: 3px solid var(--dr-acento);
	outline-offset: 2px;
}

/* ------------------------------------------------------------------ */
/* Buscador                                                            */
/* ------------------------------------------------------------------ */

.dr-buscador__form {
	background: var(--dr-fondo-suave);
	border: 1px solid var(--dr-borde);
	border-radius: var(--dr-radio);
	padding: 1rem;
	margin-bottom: 1.4rem;
}

.dr-rangos {
	display: flex;
	flex-wrap: wrap;
	gap: .4rem;
	margin-bottom: .9rem;
}

.dr-rango {
	flex: 1 1 auto;
}

.dr-rango input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.dr-rango span {
	display: block;
	text-align: center;
	padding: .55rem .7rem;
	min-height: 44px;
	line-height: 1.9;
	border: 1px solid var(--dr-borde-fuerte);
	border-radius: 999px;
	background: var(--dr-fondo);
	font-size: .9rem;
	font-weight: 600;
	color: var(--dr-tenue);
	cursor: pointer;
	white-space: nowrap;
}

.dr-rango.is-activo span,
.dr-rango input:checked + span {
	background: var(--dr-principal);
	border-color: var(--dr-principal);
	color: #fff;
}

.dr-rango input:focus-visible + span {
	outline: 3px solid var(--dr-acento);
	outline-offset: 2px;
}

.dr-buscador__campos {
	display: grid;
	gap: .7rem;
}

.dr-campo {
	margin: 0;
}

.dr-campo label,
.dr-campo legend {
	display: block;
	font-size: .82rem;
	font-weight: 600;
	color: var(--dr-tenue);
	margin-bottom: .25rem;
}

.dr-campo input[type="text"],
.dr-campo input[type="email"],
.dr-campo input[type="tel"],
.dr-campo input[type="date"],
.dr-campo select,
.dr-campo textarea {
	width: 100%;
	min-height: 44px;
	padding: .5rem .65rem;
	border: 1px solid var(--dr-borde-fuerte);
	border-radius: var(--dr-radio-chico);
	background: var(--dr-fondo);
	color: inherit;
	font: inherit;
	font-size: 1rem; /* 16px evita que iOS haga zoom al enfocar. */
}

.dr-campo textarea {
	min-height: 7rem;
	resize: vertical;
}

.dr-buscador__enviar {
	margin: .9rem 0 0;
}

.dr-buscador__enviar .dr-boton {
	width: 100%;
}

.dr-buscador__resultados[aria-busy="true"] {
	opacity: .5;
	transition: opacity .15s ease;
}

@media (min-width: 40em) {
	.dr-buscador__campos {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.dr-buscador__enviar .dr-boton {
		width: auto;
		min-width: 12rem;
	}
}

/* ------------------------------------------------------------------ */
/* Agenda y tarjetas de celebración                                    */
/* ------------------------------------------------------------------ */

.dr-agenda__dia + .dr-agenda__dia {
	margin-top: 1.6rem;
}

.dr-agenda__fecha {
	font-size: 1.05rem;
	margin: 0 0 .6rem;
	padding-bottom: .35rem;
	border-bottom: 2px solid var(--dr-fondo-calido);
	color: var(--dr-principal);
	display: flex;
	align-items: baseline;
	gap: .5rem;
	flex-wrap: wrap;
}

.dr-agenda__fecha-larga {
	font-size: .82rem;
	font-weight: 400;
	color: var(--dr-tenue);
}

.dr-eventos {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: .6rem;
}

.dr-evento {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: .3rem .9rem;
	align-items: start;
	background: var(--dr-fondo);
	border: 1px solid var(--dr-borde);
	border-radius: var(--dr-radio);
	padding: .85rem .9rem;
	box-shadow: var(--dr-sombra);
}

.dr-evento--destacado {
	border-color: var(--dr-acento);
	background: linear-gradient(0deg, var(--dr-fondo), var(--dr-fondo)) padding-box;
	box-shadow: var(--dr-sombra), inset 3px 0 0 var(--dr-acento);
}

.dr-evento__hora {
	font-variant-numeric: tabular-nums;
	font-size: 1.35rem;
	font-weight: 700;
	color: var(--dr-principal);
	line-height: 1.15;
	min-width: 3.6rem;
}

.dr-evento__dia {
	display: block;
	font-size: .72rem;
	font-weight: 600;
	color: var(--dr-tenue);
	letter-spacing: .02em;
}

.dr-evento__cuerpo p {
	margin: 0;
}

.dr-evento__tipo {
	font-weight: 600;
	font-size: .98rem;
	display: flex;
	align-items: center;
	gap: .45rem;
	flex-wrap: wrap;
}

.dr-evento__lugar {
	font-size: .95rem;
	margin-top: .1rem !important;
}

.dr-evento__lugar a {
	color: var(--dr-texto);
	text-decoration-color: var(--dr-borde-fuerte);
	text-underline-offset: 2px;
}

.dr-evento__lugar a:hover {
	color: var(--dr-principal);
}

.dr-evento__parroquia,
.dr-evento__direccion {
	color: var(--dr-tenue);
	font-size: .85rem;
}

.dr-evento__nota {
	font-size: .85rem;
	color: var(--dr-tenue);
	font-style: italic;
	margin-top: .25rem !important;
}

/* En celular el botón pasa a ocupar el ancho debajo del texto. */
.dr-evento .dr-boton--mapa {
	grid-column: 1 / -1;
	margin-top: .5rem;
	width: 100%;
}

@media (min-width: 34em) {
	.dr-evento {
		grid-template-columns: auto 1fr auto;
		align-items: center;
	}

	.dr-evento .dr-boton--mapa {
		grid-column: auto;
		margin-top: 0;
		width: auto;
	}
}

.dr-etiqueta {
	display: inline-block;
	font-size: .7rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .04em;
	padding: .15rem .5rem;
	border-radius: 999px;
	background: var(--dr-fondo-calido);
	color: var(--dr-tenue);
	white-space: nowrap;
}

.dr-etiqueta--extra {
	background: var(--dr-acento);
	color: #fff;
}

.dr-etiqueta--movida {
	background: #fff3d6;
	color: #7a5a12;
}

.dr-etiqueta--periodicidad {
	text-transform: none;
	letter-spacing: 0;
	font-weight: 600;
}

/* ------------------------------------------------------------------ */
/* Bloque "hoy"                                                        */
/* ------------------------------------------------------------------ */

.dr-bloque-hoy__cabecera {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: .6rem;
	flex-wrap: wrap;
}

.dr-bloque-hoy__fecha {
	margin: 0 0 .85rem;
	color: var(--dr-tenue);
	font-size: .88rem;
}

.dr-bloque-hoy__mas,
.dr-noticias__mas {
	margin-top: 1rem;
	text-align: center;
}

/* ------------------------------------------------------------------ */
/* Lectura del día                                                     */
/* ------------------------------------------------------------------ */

.dr-lectura {
	border: 1px solid var(--dr-borde);
	border-radius: var(--dr-radio);
	overflow: hidden;
	background: var(--dr-fondo);
	box-shadow: var(--dr-sombra);
}

.dr-lectura__boton {
	display: flex;
	align-items: center;
	gap: .8rem;
	width: 100%;
	min-height: 56px;
	padding: .85rem 1rem;
	border: 0;
	background: var(--dr-fondo-calido);
	color: var(--dr-principal);
	font: inherit;
	text-align: left;
	cursor: pointer;
}

.dr-lectura__boton:hover {
	background: color-mix(in srgb, var(--dr-fondo-calido) 80%, var(--dr-principal) 8%);
}

.dr-lectura__icono {
	font-size: 1.3rem;
	line-height: 1;
}

.dr-lectura__texto {
	flex: 1;
	display: flex;
	flex-direction: column;
}

.dr-lectura__texto small {
	color: var(--dr-tenue);
	font-size: .8rem;
}

.dr-lectura__flecha {
	transition: transform .2s ease;
	font-size: .9rem;
}

.dr-lectura__boton[aria-expanded="true"] .dr-lectura__flecha {
	transform: rotate(180deg);
}

.dr-lectura__panel {
	padding: 1rem;
	border-top: 1px solid var(--dr-borde);
}

.dr-lectura__contenido {
	font-size: .96rem;
}

.dr-lectura__contenido h1,
.dr-lectura__contenido h2,
.dr-lectura__contenido h3 {
	font-size: 1.05rem;
	color: var(--dr-principal);
	margin: 1.1rem 0 .4rem;
}

.dr-lectura__contenido :first-child {
	margin-top: 0;
}

.dr-lectura__oficial {
	margin: 1rem 0 0;
	font-size: .88rem;
}

.dr-lectura__cargando,
.dr-lectura__aviso {
	margin: 0;
	color: var(--dr-tenue);
}

/* ------------------------------------------------------------------ */
/* Grillas de parroquias y noticias                                    */
/* ------------------------------------------------------------------ */

.dr-grilla {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: .9rem;
}

@media (min-width: 34em) {
	.dr-grilla {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 52em) {
	.dr-grilla {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

.dr-tarjeta-lugar,
.dr-noticia {
	display: flex;
	flex-direction: column;
	background: var(--dr-fondo);
	border: 1px solid var(--dr-borde);
	border-radius: var(--dr-radio);
	overflow: hidden;
	box-shadow: var(--dr-sombra);
}

.dr-tarjeta-lugar__enlace,
.dr-noticia__enlace {
	display: flex;
	flex-direction: column;
	flex: 1;
	color: inherit;
	text-decoration: none;
}

.dr-tarjeta-lugar__foto,
.dr-noticia__foto {
	aspect-ratio: 16 / 10;
	background: var(--dr-fondo-calido);
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}

.dr-tarjeta-lugar__foto img,
.dr-noticia__foto img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.dr-tarjeta-lugar__sinfoto {
	font-size: 2.4rem;
	opacity: .35;
}

.dr-tarjeta-lugar__cuerpo,
.dr-noticia__cuerpo {
	padding: .85rem .9rem;
	flex: 1;
}

.dr-tarjeta-lugar__nombre,
.dr-noticia__titulo {
	margin: 0 0 .35rem;
	font-size: 1.05rem;
	line-height: 1.3;
	color: var(--dr-principal);
}

.dr-tarjeta-lugar__dato,
.dr-noticia__resumen {
	margin: 0 0 .2rem;
	font-size: .87rem;
	color: var(--dr-tenue);
}

.dr-tarjeta-lugar__capillas {
	margin: .45rem 0 0;
	font-size: .78rem;
	font-weight: 600;
	color: var(--dr-acento);
}

.dr-tarjeta-lugar .dr-boton--mapa {
	margin: 0 .9rem .9rem;
}

.dr-noticia__fecha {
	margin: 0 0 .25rem;
	font-size: .78rem;
	font-weight: 600;
	color: var(--dr-tenue);
	text-transform: uppercase;
	letter-spacing: .03em;
}

/* ------------------------------------------------------------------ */
/* Ficha de parroquia / capilla                                        */
/* ------------------------------------------------------------------ */

.dr-ficha__portada {
	border-radius: var(--dr-radio);
	overflow: hidden;
	margin-bottom: 1rem;
	aspect-ratio: 16 / 9;
	background: var(--dr-fondo-calido);
}

.dr-ficha__portada img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.dr-ficha__sobretitulo {
	margin: 0 0 .2rem;
	font-size: .8rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .06em;
	color: var(--dr-acento);
}

.dr-ficha__sobretitulo a {
	color: inherit;
}

.dr-ficha__nombre {
	margin: 0 0 .35rem;
	font-size: 1.65rem;
	line-height: 1.15;
	color: var(--dr-principal);
}

.dr-ficha__patrono,
.dr-ficha__direccion {
	margin: 0 0 .3rem;
	color: var(--dr-tenue);
	font-size: .95rem;
}

.dr-ficha__acciones {
	margin: .9rem 0 0;
}

.dr-ficha__acciones .dr-boton {
	width: 100%;
}

@media (min-width: 34em) {
	.dr-ficha__acciones .dr-boton {
		width: auto;
		min-width: 14rem;
	}
}

.dr-ficha__bloque {
	margin-top: 2rem;
}

.dr-ficha__texto {
	font-size: 1rem;
}

.dr-ficha__volver {
	text-align: center;
	padding-top: .5rem;
}

/* --- Grilla semanal --- */

.dr-semana {
	display: grid;
	gap: .6rem;
}

@media (min-width: 44em) {
	.dr-semana {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

.dr-semana__dia {
	background: var(--dr-fondo-suave);
	border: 1px solid var(--dr-borde);
	border-radius: var(--dr-radio);
	padding: .8rem .9rem;
}

.dr-semana__nombre {
	margin: 0 0 .5rem;
	font-size: .82rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .06em;
	color: var(--dr-acento);
}

.dr-semana__lista {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: .45rem;
}

.dr-semana__item {
	display: grid;
	grid-template-columns: 3.4rem 1fr;
	gap: .6rem;
	align-items: baseline;
}

.dr-semana__hora {
	font-variant-numeric: tabular-nums;
	font-weight: 700;
	color: var(--dr-principal);
}

.dr-semana__detalle {
	display: flex;
	flex-direction: column;
	gap: .1rem;
	font-size: .92rem;
}

.dr-semana__lugar,
.dr-semana__nota {
	font-size: .82rem;
	color: var(--dr-tenue);
}

.dr-semana__nota {
	font-style: italic;
}

.dr-semana__detalle .dr-etiqueta {
	align-self: flex-start;
}

/* --- Suspendidas y especiales --- */

.dr-suspendidas {
	margin-top: 1.2rem;
	border: 1px solid #e7c9c9;
	background: #fdf4f4;
	border-radius: var(--dr-radio);
	padding: .9rem 1rem;
}

.dr-suspendidas__titulo,
.dr-especiales__titulo {
	margin: 0 0 .5rem;
	font-size: .95rem;
	color: var(--dr-principal);
}

.dr-suspendidas__lista {
	margin: 0;
	padding-left: 1.1rem;
	font-size: .9rem;
}

.dr-suspendidas__lista li + li {
	margin-top: .3rem;
}

.dr-suspendidas__nota {
	display: block;
	color: var(--dr-tenue);
	font-style: italic;
	font-size: .85rem;
}

.dr-especiales {
	margin-top: 1.4rem;
}

/* --- Capillas --- */

.dr-capillas__lista {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: .55rem;
}

.dr-capilla {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: .8rem;
	flex-wrap: wrap;
	background: var(--dr-fondo);
	border: 1px solid var(--dr-borde);
	border-radius: var(--dr-radio);
	padding: .8rem .9rem;
}

.dr-capilla__nombre {
	margin: 0;
	font-size: 1rem;
}

.dr-capilla__nombre a {
	color: var(--dr-principal);
	text-decoration: none;
}

.dr-capilla__nombre a:hover {
	text-decoration: underline;
}

.dr-capilla__direccion {
	margin: .1rem 0 0;
	font-size: .85rem;
	color: var(--dr-tenue);
}

/* --- Contacto --- */

.dr-contacto__columnas {
	display: grid;
	gap: 1.1rem;
}

@media (min-width: 40em) {
	.dr-contacto__columnas {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

.dr-contacto__grupo h3 {
	margin: 0 0 .4rem;
	font-size: .82rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .06em;
	color: var(--dr-acento);
}

.dr-lista-simple,
.dr-contacto__enlaces {
	list-style: none;
	margin: 0;
	padding: 0;
	font-size: .93rem;
}

.dr-lista-simple li,
.dr-contacto__enlaces li {
	margin-bottom: .25rem;
}

.dr-contacto__enlaces a {
	display: inline-flex;
	align-items: center;
	gap: .4rem;
	min-height: 32px;
	color: var(--dr-principal);
}

.dr-contacto__secretaria {
	margin: 0;
	font-size: .93rem;
}

/* --- Galería --- */

.dr-galeria__lista {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: .5rem;
}

@media (min-width: 40em) {
	.dr-galeria__lista {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

.dr-galeria__item img {
	width: 100%;
	aspect-ratio: 1;
	object-fit: cover;
	border-radius: var(--dr-radio-chico);
	transition: opacity .15s ease;
}

.dr-galeria__item a:hover img {
	opacity: .85;
}

/* ------------------------------------------------------------------ */
/* Mapa                                                                */
/* ------------------------------------------------------------------ */

.dr-mapa {
	border: 1px solid var(--dr-borde);
	border-radius: var(--dr-radio);
	overflow: hidden;
	background: var(--dr-fondo-calido);
}

.dr-mapa__lista {
	margin-top: .7rem;
	font-size: .9rem;
}

.dr-mapa__lista summary {
	cursor: pointer;
	color: var(--dr-principal);
	font-weight: 600;
	min-height: 40px;
	display: flex;
	align-items: center;
}

.dr-mapa__lista ul {
	margin: .4rem 0 0;
	padding-left: 1.1rem;
}

.dr-mapa__lista li {
	margin-bottom: .25rem;
}

/* Leaflet mete sus propios estilos; esto sólo asegura el radio del contenedor. */
.dr-mapa .leaflet-container {
	border-radius: var(--dr-radio);
	font: inherit;
}

/* ------------------------------------------------------------------ */
/* Formulario de intenciones                                           */
/* ------------------------------------------------------------------ */

.dr-intenciones__intro {
	color: var(--dr-tenue);
	margin-top: 0;
}

.dr-formulario {
	background: var(--dr-fondo-suave);
	border: 1px solid var(--dr-borde);
	border-radius: var(--dr-radio);
	padding: 1.1rem;
	display: grid;
	gap: .85rem;
}

.dr-campos-2 {
	display: grid;
	gap: .85rem;
}

@media (min-width: 34em) {
	.dr-campos-2 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

.dr-campo--opciones {
	border: 0;
	margin: 0;
	padding: 0;
}

.dr-opcion {
	display: inline-flex;
	align-items: center;
	gap: .4rem;
	margin-right: 1rem;
	min-height: 40px;
	font-size: .95rem;
	font-weight: 500;
	color: var(--dr-texto);
	cursor: pointer;
}

.dr-requerido {
	color: var(--dr-principal);
}

/* La trampa antispam tiene que ser invisible pero seguir en el DOM. */
.dr-trampa {
	position: absolute !important;
	left: -9999px !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.dr-formulario__enviar {
	margin: 0;
}

.dr-formulario__enviar .dr-boton {
	width: 100%;
}

@media (min-width: 34em) {
	.dr-formulario__enviar .dr-boton {
		width: auto;
		min-width: 12rem;
	}
}

.dr-formulario__nota {
	margin: 0;
	font-size: .82rem;
	color: var(--dr-tenue);
}

.dr-aviso {
	border-radius: var(--dr-radio-chico);
	padding: .8rem 1rem;
	margin: 0 0 1rem;
	font-weight: 500;
}

.dr-aviso--ok {
	background: #eef7ee;
	border: 1px solid #bcd9bc;
	color: #22581f;
}

.dr-aviso--error {
	background: #fdf1f1;
	border: 1px solid #e3bcbc;
	color: #7a2020;
}

/* ------------------------------------------------------------------ */
/* Archivos                                                            */
/* ------------------------------------------------------------------ */

.dr-archivo__cabecera {
	margin-bottom: 1.6rem;
}

.dr-archivo__titulo {
	margin: 0 0 .3rem;
	font-size: 1.7rem;
	color: var(--dr-principal);
}

.dr-archivo__bajada {
	margin: 0 0 1rem;
	color: var(--dr-tenue);
}

.dr-archivo .dr-mapa-seccion,
.dr-archivo .dr-parroquias {
	margin-top: 2rem;
}

.dr-paginacion {
	margin-top: 2rem;
	text-align: center;
}

/* ------------------------------------------------------------------ */
/* Pie institucional                                                   */
/* ------------------------------------------------------------------ */

.dr-pie-institucional {
	margin: 2.5rem 0 1rem;
	padding-top: 1.1rem;
	border-top: 1px solid var(--dr-borde);
	text-align: center;
	font-size: .85rem;
	color: var(--dr-tenue);
	letter-spacing: .01em;
}

/* ------------------------------------------------------------------ */
/* Accesibilidad y preferencias del sistema                            */
/* ------------------------------------------------------------------ */

@media (prefers-reduced-motion: reduce) {
	.dr *,
	.dr *::before,
	.dr *::after {
		transition-duration: .01ms !important;
		animation-duration: .01ms !important;
	}
}

@media print {
	.dr-boton,
	.dr-buscador__form,
	.dr-mapa,
	.dr-lectura__boton {
		display: none !important;
	}

	.dr-evento,
	.dr-semana__dia {
		break-inside: avoid;
		box-shadow: none;
	}
}

/* ------------------------------------------------------------------ */
/* Navegación del sitio                                                */
/* ------------------------------------------------------------------ */

.dr-nav {
	margin-bottom: 1.4rem;
	padding-bottom: .8rem;
	border-bottom: 1px solid var(--dr-borde);
}

.dr-nav__menu {
	display: flex;
	gap: .3rem;
	flex-wrap: wrap;
	margin-bottom: .5rem;
}

.dr-nav__item {
	display: inline-block;
	padding: .5rem .9rem;
	min-height: 44px;
	line-height: 1.9;
	border-radius: 999px;
	color: var(--dr-tenue);
	font-weight: 600;
	font-size: .92rem;
	text-decoration: none;
	white-space: nowrap;
}

.dr-nav__item:hover {
	background: var(--dr-fondo-calido);
	color: var(--dr-principal);
}

.dr-nav__item.is-activo {
	background: var(--dr-principal);
	color: #fff;
}

.dr-migas {
	font-size: .82rem;
	color: var(--dr-tenue);
}

.dr-migas ol {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: .3rem;
}

.dr-migas li + li::before {
	content: '›';
	margin-right: .3rem;
	opacity: .6;
}

.dr-migas a { color: inherit; }

/* ------------------------------------------------------------------ */
/* Portada y listados                                                  */
/* ------------------------------------------------------------------ */

.dr-portada__intro,
.dr-listado__cabecera {
	margin-bottom: 1.4rem;
}

.dr-portada__titulo,
.dr-listado__titulo {
	margin: 0 0 .3rem;
	font-size: 1.7rem;
	line-height: 1.15;
	color: var(--dr-principal);
}

.dr-portada__bajada,
.dr-listado__bajada {
	margin: 0 0 1rem;
	color: var(--dr-tenue);
}

.dr-portada > .dr-lectura,
.dr-portada > .dr-noticias,
.dr-portada > .dr-mapa-seccion {
	margin-top: 2rem;
}

.dr-chips {
	display: flex;
	flex-wrap: wrap;
	gap: .4rem;
}

.dr-chip {
	display: inline-block;
	padding: .4rem .85rem;
	min-height: 40px;
	line-height: 1.8;
	border: 1px solid var(--dr-borde-fuerte);
	border-radius: 999px;
	background: var(--dr-fondo);
	color: var(--dr-principal);
	font-size: .88rem;
	font-weight: 600;
	text-decoration: none;
}

.dr-chip:hover {
	background: var(--dr-fondo-calido);
	border-color: var(--dr-principal);
}

.dr-listado > .dr-mapa-seccion { margin-top: 2rem; }

.dr-ficha__acciones-pie {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: .6rem;
	text-align: center;
	padding-top: .5rem;
}

@media (min-width: 34em) {
	.dr-ficha__acciones-pie {
		flex-direction: row;
		justify-content: center;
		flex-wrap: wrap;
	}
}

.dr-paginacion {
	margin-top: 2rem;
	display: flex;
	justify-content: center;
	gap: .35rem;
	flex-wrap: wrap;
}

.dr-paginacion a,
.dr-paginacion__actual {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	min-height: 44px;
	padding: 0 .6rem;
	border: 1px solid var(--dr-borde-fuerte);
	border-radius: var(--dr-radio-chico);
	text-decoration: none;
	color: var(--dr-principal);
	font-weight: 600;
}

.dr-paginacion__actual {
	background: var(--dr-principal);
	border-color: var(--dr-principal);
	color: #fff;
}
