/* ==========================================================================
   Parroquia María Madre del Amor Hermoso · sistema visual (tema hijo de Divi 5)

   Intención: que un vecino de Butarque sepa desde el móvil, en 10 segundos,
   cuál es la próxima misa y dónde; y que se vea una comunidad viva y real.

   TIPOGRAFÍA  Titulares Playfair Display 500–700 · Texto Figtree 400/600/700
               Escala 1.25 (base 17–18 px): .8 / 1 / 1.25 / 1.563 / 1.953 / 2.441 / 3.052 / 3.815 rem
   COLOR       fondo #fbf8f3 · superficie #fff · marca (azul mariano) #1d3a6e
               acento (granate, solo acción principal) #8a1f2b · oro (solo filetes) #b8862b
   ESPACIO     4 / 8 / 12 / 16 / 24 / 32 / 48 / 64 / 96 / 128
   FORMA       radio 10 px (pequeño) · 20 px (contenedor) · ARCO (hornacina de la Virgen)
   IMAGEN      fotos propias: arco 4:5 · mosaico · noticias 3:2 · miniatura 1:1
   TONO        cercano, claro, sereno. Sin mayúsculas decorativas ni exclamaciones.

   Las clases mh-* se asignan en el builder: Avanzado → Clase CSS.
   ========================================================================== */

@font-face { font-family: "Playfair Display"; font-style: normal; font-weight: 400 700; font-display: swap; src: url("../fonts/PlayfairDisplay.woff2") format("woff2"); }
@font-face { font-family: "Playfair Display"; font-style: italic; font-weight: 400 700; font-display: swap; src: url("../fonts/PlayfairDisplay-italic.woff2") format("woff2"); }
@font-face { font-family: "Figtree"; font-style: normal; font-weight: 400 700; font-display: swap; src: url("../fonts/Figtree.woff2") format("woff2"); }
@font-face { font-family: "Figtree"; font-style: italic; font-weight: 400 700; font-display: swap; src: url("../fonts/Figtree-italic.woff2") format("woff2"); }

:root {
	--c-fondo: #fbf8f3;
	--c-fondo-2: #f3ede3;
	--c-superficie: #ffffff;
	--c-borde: #e6ddcf;
	--c-texto: #23211f;
	--c-suave: #5f5850;          /* 6.6:1 sobre el fondo */
	--c-marca: #1d3a6e;          /* 10.4:1 sobre blanco */
	--c-marca-osc: #13284d;
	--c-marca-claro: #e7edf6;
	--c-acento: #8a1f2b;         /* 8.9:1 con texto blanco */
	--c-acento-osc: #6e1822;
	--c-oro: #b8862b;            /* solo filetes y detalles, nunca texto pequeño */
	--c-oro-claro: #e8c77f;      /* texto sobre azul: 8.1:1 */

	--f-tit: "Playfair Display", Georgia, "Times New Roman", serif;
	--f-txt: "Figtree", "Segoe UI", Roboto, Arial, sans-serif;

	--t-1: 0.8rem; --t-2: 1rem; --t-3: 1.25rem; --t-4: 1.563rem; --t-5: 1.953rem; --t-6: 2.441rem; --t-7: 3.052rem; --t-8: 3.815rem;

	--e-1: 4px; --e-2: 8px; --e-3: 12px; --e-4: 16px; --e-5: 24px; --e-6: 32px; --e-7: 48px; --e-8: 64px; --e-9: 96px; --e-10: 128px;

	--r-s: 10px;
	--r-l: 20px;
	--sombra: 0 12px 32px rgb(29 58 110 / 0.1);
	--arco: 50% 50% var(--r-l) var(--r-l) / 36% 36% var(--r-l) var(--r-l);
}

/* --- Base ------------------------------------------------------------------ */

html { font-size: 17px; }
@media (min-width: 981px) { html { font-size: 18px; } }
body, body .et_pb_module, body input, body textarea, body select, body button {
	font-family: var(--f-txt);
	color: var(--c-texto);
}
body { font-size: 1rem; line-height: 1.6; background: var(--c-fondo); -webkit-font-smoothing: antialiased; }
#page-container, #main-content, .et_pb_section { background-color: var(--c-fondo); }
body h1, body h2, body h3, body h4, body .et_pb_module_header {
	font-family: var(--f-tit);
	color: var(--c-marca);
	font-weight: 600;
	line-height: 1.12;
	letter-spacing: -0.015em;
	padding-bottom: 0;
	margin-bottom: 0.45em;
	text-wrap: balance;
	font-variant-numeric: lining-nums;
}
body h1 { font-size: clamp(2.4rem, 5.5vw, var(--t-8)); font-weight: 500; }
body h2 { font-size: clamp(1.953rem, 3.6vw, var(--t-6)); font-weight: 500; }
body h3 { font-size: var(--t-4); }
body h4 { font-size: var(--t-3); }
body p { padding-bottom: 0; margin-bottom: 1em; }
body p:last-child { margin-bottom: 0; }
body a { color: var(--c-acento); text-underline-offset: 3px; }
body a:hover { color: var(--c-acento-osc); }
:focus-visible { outline: 3px solid var(--c-oro); outline-offset: 3px; border-radius: 4px; }
.et_pb_row { width: 88%; max-width: 1200px; padding: 0; }
.et_pb_section { padding: var(--e-8) 0; }
@media (min-width: 981px) { .et_pb_section { padding: var(--e-9) 0; } }
.et_pb_row + .et_pb_row { margin-top: var(--e-7); }
.mh-lead p { font-size: var(--t-3); line-height: 1.5; color: var(--c-suave); max-width: 38ch; }
.mh-medida .et_pb_text_inner { max-width: 68ch; }

/* --- Cabecera y menú ------------------------------------------------------- */

#main-header { background: var(--c-superficie); box-shadow: 0 1px 0 var(--c-borde); }
#main-header .container { width: 92%; max-width: 1280px; }
#top-menu li a, .et_mobile_menu li a {
	font-family: var(--f-txt);
	font-size: 15px;
	font-weight: 600;
	color: var(--c-texto) !important;
	opacity: 1 !important;
}
#top-menu li { padding-right: 20px; }
#top-menu li.current-menu-item > a, #top-menu li > a:hover { color: var(--c-acento) !important; }
#top-menu li.menu-cta > a {
	background: var(--c-acento);
	color: #fff !important;
	padding: 10px 18px !important;
	border-radius: var(--r-s);
}
#top-menu li.menu-cta > a:hover { background: var(--c-acento-osc); }
.et_mobile_menu { border-top: 3px solid var(--c-acento); }
.et_mobile_menu li a { font-size: 17px; padding: 14px 5%; }
.mobile_menu_bar::before { color: var(--c-marca) !important; }

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

body .et_pb_button, body .et_pb_button:hover {
	font-family: var(--f-txt);
	font-size: 1rem;
	font-weight: 700;
	letter-spacing: 0;
	border-radius: var(--r-s);
	border-width: 2px !important;
	padding: 14px 24px !important;
	line-height: 1.2;
	min-height: 48px;
}
body .et_pb_button::after { display: none !important; }
.et_pb_button.mh-btn { background: var(--c-acento); border-color: var(--c-acento); color: #fff !important; }
.et_pb_button.mh-btn:hover { background: var(--c-acento-osc); border-color: var(--c-acento-osc); }
.et_pb_button.mh-btn-2 { background: transparent; border-color: var(--c-marca); color: var(--c-marca) !important; }
.et_pb_button.mh-btn-2:hover { background: var(--c-marca); color: #fff !important; }
.et_pb_button_module_wrapper:has(> .mh-botones) { display: inline-block; margin: var(--e-2) var(--e-3) 0 0 !important; }

/* --- Portada: título a un lado, arco con foto al otro ------------------- */

.mh-hero { padding: var(--e-7) 0 var(--e-8) !important; overflow: hidden; }
@media (min-width: 981px) { .mh-hero { padding: var(--e-8) 0 var(--e-9) !important; } }
.mh-hero .et_pb_row { display: flex; align-items: center; gap: 6%; }
.mh-hero .et_pb_column { margin-right: 0 !important; }
.mh-hero .et_pb_column:first-child { flex: 1 1 50%; width: auto !important; }
.mh-hero .et_pb_column:last-child { flex: 1 1 44%; width: auto !important; }
.mh-hero .mh-arco { max-width: 520px; margin-left: auto !important; }
.mh-lugar p { font-weight: 600; color: var(--c-suave); display: flex; align-items: center; gap: var(--e-2); }
.mh-lugar p::before { content: ""; width: 28px; height: 2px; background: var(--c-oro); flex: none; }
.mh-hero h1 { margin-top: var(--e-3); }
.mh-hero h1 em { font-style: italic; color: var(--c-acento); }

/* Foto en arco, con un filete dorado desplazado detrás */
.mh-arco { position: relative; margin: 0 var(--e-4) var(--e-4) 0 !important; }
.mh-arco::before {
	content: "";
	position: absolute;
	inset: var(--e-4) calc(var(--e-4) * -1) calc(var(--e-4) * -1) var(--e-4);
	border: 1.5px solid var(--c-oro);
	border-radius: var(--arco);
	pointer-events: none;
}
.mh-arco .et_pb_image_wrap, .mh-arco img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	border-radius: var(--arco);
}

/* --- «Hoy hay misa a las…» ----------------------------------------------- */

.mh-hoy {
	background: var(--c-superficie);
	border: 1px solid var(--c-borde);
	border-radius: var(--r-l);
	padding: var(--e-5);
	margin: var(--e-6) 0 var(--e-5);
	max-width: 460px;
	box-shadow: var(--sombra);
}
.mh-hoy-dia { font-weight: 700; color: var(--c-marca); margin-bottom: var(--e-3) !important; }
.mh-hoy-lista { list-style: none; padding: 0 !important; margin: 0; }
.mh-hoy-lista li {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: var(--e-5);
	align-items: baseline;
	padding: var(--e-3) 0;
	border-top: 1px solid var(--c-borde);
}
.mh-hoy-lista strong {
	font-family: var(--f-tit);
	font-size: var(--t-5);
	font-weight: 600;
	color: var(--c-marca);
	font-variant-numeric: lining-nums tabular-nums;
	line-height: 1;
	white-space: nowrap;
	min-width: 3.1em;
}
.mh-hoy-lista span { font-weight: 600; }
.mh-hoy-lista small { display: block; font-weight: 400; color: var(--c-suave); font-size: 0.9rem; }
.mh-hoy-proxima strong { color: var(--c-acento); }
.mh-hoy-proxima > span::after {
	content: "Próxima";
	margin-left: var(--e-2);
	font-size: var(--t-1);
	font-weight: 700;
	color: var(--c-acento);
	background: #f6e7e8;
	border-radius: 999px;
	padding: 2px 8px;
	vertical-align: 2px;
}
.mh-hoy-lista li:nth-child(n+5) { display: none; }

/* --- Mosaico de fotos (accesos) ------------------------------------------ */

.et_pb_row.mh-mosaico {
	display: grid !important;
	grid-template-columns: 1.15fr 1fr 1fr;
	grid-template-rows: 290px 290px;
	gap: var(--e-4);
}
.et_pb_row.mh-mosaico > .et_pb_column { width: auto !important; margin: 0 !important; display: flex; }
.et_pb_row.mh-mosaico > .et_pb_column:nth-child(1) { grid-row: span 2; }
.et_pb_row.mh-mosaico > .et_pb_column:nth-child(2) { grid-column: span 2; }
.et_pb_row.mh-mosaico::after { display: none; }
.mh-tile {
	position: relative;
	flex: 1;
	display: flex;
	align-items: flex-end;
	min-height: 200px;
	margin: 0 !important;
	border-radius: var(--r-l);
	overflow: hidden;
	background-size: cover !important;
	background-position: center !important;
	cursor: pointer;
	isolation: isolate;
}
.mh-tile::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: linear-gradient(to top, rgb(19 40 77 / 0.88) 0%, rgb(19 40 77 / 0.35) 45%, rgb(19 40 77 / 0) 75%);
	transition: background 0.25s ease;
}
.mh-tile:hover::before { background: linear-gradient(to top, rgb(19 40 77 / 0.94) 0%, rgb(19 40 77 / 0.5) 55%, rgb(19 40 77 / 0.1) 100%); }
.mh-tile .et_pb_text_inner { padding: var(--e-5); }
.mh-tile h3 { color: #fff; font-size: var(--t-5); margin-bottom: var(--e-1); }
.mh-tile h3::after { content: " →"; font-family: var(--f-txt); font-size: 0.7em; }
.mh-tile p { color: rgb(255 255 255 / 0.92); font-size: 0.95rem; max-width: 40ch; }
.mh-mosaico > .et_pb_column:nth-child(1) .mh-tile h3 { font-size: var(--t-6); }
.mh-enlaces p { display: flex; flex-wrap: wrap; gap: var(--e-2) var(--e-6); font-weight: 600; }
.mh-enlaces a { text-decoration: none; border-bottom: 2px solid var(--c-borde); padding-bottom: 2px; }
.mh-enlaces a:hover { border-color: var(--c-acento); }

/* --- Encabezado de sección: título a la izquierda, enlace a la derecha ---- */

.mh-cab .et_pb_text_inner { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: var(--e-3) var(--e-6); }
.mh-cab h2 { margin: 0; }
.mh-cab p { margin: 0; font-weight: 600; }
.mh-cab a { text-decoration: none; }
.mh-cab a::after { content: " →"; }

/* --- Noticias en formato revista ----------------------------------------- */

.mh-noticias { display: grid; gap: var(--e-6); }
@media (min-width: 981px) { .mh-noticias { grid-template-columns: 1.25fr 1fr; gap: var(--e-7); } }
.mh-noticia { display: grid; gap: var(--e-4); color: var(--c-texto) !important; text-decoration: none; }
.mh-noticia figure { margin: 0; overflow: hidden; border-radius: var(--r-s); background: var(--c-fondo-2); }
.mh-noticia img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 0.4s ease; }
.mh-noticia:hover img { transform: scale(1.03); }
.mh-noticia time { display: block; font-size: 0.9rem; font-weight: 600; color: var(--c-suave); margin-bottom: var(--e-1); }
.mh-noticia h3 { font-size: var(--t-3); line-height: 1.25; margin: 0; color: var(--c-marca); }
.mh-noticia:hover h3 { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.mh-noticia p { color: var(--c-suave); margin-top: var(--e-2) !important; }
.mh-noticia-principal figure { aspect-ratio: 3 / 2; border-radius: var(--r-l); }
.mh-noticia-principal h3 { font-size: var(--t-5); }
.mh-noticias-lista { display: grid; gap: var(--e-5); align-content: start; }
.mh-noticias-lista .mh-noticia { grid-template-columns: 104px 1fr; align-items: center; padding-bottom: var(--e-5); border-bottom: 1px solid var(--c-borde); }
.mh-noticias-lista .mh-noticia:last-child { border-bottom: 0; padding-bottom: 0; }
.mh-noticias-lista figure { aspect-ratio: 1; }
.mh-sin-foto { display: block; width: 100%; height: 100%; min-height: 100px; background: var(--c-marca-claro) url("../../../uploads/cropped-Icono-Parroquia-Maria-Madre-del-Amor-Hermoso-Negro-Cuadrado-1.png") center / 62% no-repeat; }

/* --- Banda de cita ------------------------------------------------------- */

.mh-banda { background-color: var(--c-marca) !important; }
.mh-banda blockquote {
	font-family: var(--f-tit);
	font-style: italic;
	font-size: clamp(1.563rem, 3.2vw, var(--t-6));
	line-height: 1.3;
	color: #fff;
	max-width: 30ch;
	margin: 0 auto;
	border: 0;
	padding: 0;
	text-align: center;
}
.mh-banda cite { display: block; margin-top: var(--e-5); font-family: var(--f-txt); font-style: normal; font-size: 1rem; font-weight: 600; color: var(--c-oro-claro); }

/* --- Cabecera de páginas interiores (texto + arco pequeño) ---------------- */

.mh-cabecera { padding: var(--e-7) 0 !important; border-bottom: 1px solid var(--c-borde); }
.mh-cabecera .et_pb_row { display: flex; align-items: center; gap: 6%; }
.mh-cabecera .et_pb_column { margin-right: 0 !important; }
.mh-cabecera .et_pb_column:first-child { flex: 1 1 60%; width: auto !important; }
.mh-cabecera .et_pb_column:last-child:not(:first-child) { flex: 0 1 30%; width: auto !important; }
.mh-cabecera .mh-arco { max-width: 340px; margin-left: auto !important; }
.mh-cabecera h1 { font-size: clamp(2.2rem, 5vw, var(--t-7)); }
.mh-miga p { font-weight: 600; color: var(--c-suave); margin-bottom: var(--e-3) !important; }
.mh-miga a { color: var(--c-suave); text-decoration: none; }
.mh-miga a:hover { color: var(--c-acento); }

/* --- Apartados (Sacramentos, Vida comunitaria): título fijo + texto ------ */

.mh-indice p { display: flex; flex-wrap: wrap; gap: var(--e-2); }
.mh-indice a {
	display: inline-block;
	padding: 8px 14px;
	border: 1px solid var(--c-borde);
	border-radius: var(--r-s);
	background: var(--c-superficie);
	font-weight: 600;
	color: var(--c-marca);
	text-decoration: none;
}
.mh-indice a:hover { border-color: var(--c-marca); }
.mh-apartado { scroll-margin-top: 100px; padding: var(--e-8) 0 !important; }
.mh-apartado + .mh-apartado { border-top: 1px solid var(--c-borde); }
.mh-apartado .et_pb_row { display: flex; gap: 6%; align-items: flex-start; }
.mh-apartado .et_pb_column { margin-right: 0 !important; }
.mh-apartado .et_pb_column:first-child { flex: 0 0 30%; width: auto !important; position: sticky; top: 110px; }
.mh-apartado .et_pb_column:last-child { flex: 1 1 64%; width: auto !important; }
.mh-apartado h2 { font-size: var(--t-5); }
.mh-apartado .et_pb_column:last-child .et_pb_text_inner { max-width: 68ch; }
.mh-apartado .et_pb_column:last-child p, .mh-apartado li { font-size: 1.05rem; }
.mh-num { font-family: var(--f-tit); font-size: var(--t-6); color: var(--c-oro); line-height: 1; display: block; margin-bottom: var(--e-2); font-variant-numeric: lining-nums; }
.mh-seccion-suave { background-color: var(--c-fondo-2) !important; }
.mh-seccion-corta { padding: var(--e-6) 0 !important; }

/* --- Tabla de horarios ------------------------------------------------------ */

.mh-tabla-wrap { overflow-x: auto; }
.mh-tabla { width: 100%; border-collapse: collapse; border: 0 !important; margin: 0; }
.mh-tabla th, .mh-tabla td { border: 0 !important; border-bottom: 1px solid var(--c-borde) !important; padding: var(--e-5) var(--e-4) !important; text-align: left; vertical-align: top; }
.mh-tabla thead th { font-family: var(--f-txt); font-size: 0.9rem; font-weight: 700; color: var(--c-suave); padding-top: 0 !important; }
.mh-tabla tbody th { font-family: var(--f-tit); font-size: var(--t-4); font-weight: 600; color: var(--c-marca); min-width: 180px; }
.mh-tabla tbody th small { display: block; font-family: var(--f-txt); font-size: 0.9rem; font-weight: 400; color: var(--c-suave); margin-top: var(--e-1); }
.mh-t-hora { display: block; font-family: var(--f-tit); font-size: var(--t-4); color: var(--c-texto); font-variant-numeric: lining-nums tabular-nums; line-height: 1.2; }
.mh-t-hora + .mh-t-hora { margin-top: var(--e-3); }
.mh-t-hora small { display: block; font-family: var(--f-txt); font-size: 0.85rem; color: var(--c-suave); line-height: 1.35; }
.mh-t-vacio { color: var(--c-borde); }
@media (max-width: 760px) {
	.mh-tabla thead { display: none; }
	.mh-tabla, .mh-tabla tbody, .mh-tabla tr, .mh-tabla th, .mh-tabla td { display: block; width: 100%; }
	.mh-tabla tr { background: var(--c-superficie); border: 1px solid var(--c-borde); border-radius: var(--r-l); margin-bottom: var(--e-4); padding: var(--e-4) var(--e-5); }
	.mh-tabla th, .mh-tabla td { border-bottom: 0 !important; padding: var(--e-2) 0 !important; }
	.mh-tabla td { display: grid; grid-template-columns: 8.5em 1fr; gap: var(--e-3); border-top: 1px solid var(--c-borde) !important; }
	.mh-tabla td::before { content: attr(data-dia); font-weight: 600; color: var(--c-suave); padding-top: 4px; }
	.mh-tabla td:has(.mh-t-vacio) { display: none; }
}

/* Lista de datos (confesiones, apertura…) */
.mh-datos h3 { font-size: var(--t-4); margin-bottom: var(--e-3); }
.mh-datos ul { list-style: none; padding: 0 !important; margin: 0 0 var(--e-4); }
.mh-datos li { display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--e-1) var(--e-4); padding: var(--e-3) 0; border-top: 1px solid var(--c-borde); }
.mh-datos li span { color: var(--c-suave); }
.mh-datos li strong { font-weight: 600; font-variant-numeric: lining-nums tabular-nums; }

/* --- Colabora: formas de donar ------------------------------------------- */

.mh-forma h3 { font-size: var(--t-4); }
.mh-forma { border-top: 1px solid var(--c-borde); padding-top: var(--e-5) !important; }
.mh-dato { font-family: var(--f-tit); font-size: var(--t-7); font-weight: 600; color: var(--c-marca); line-height: 1; font-variant-numeric: lining-nums tabular-nums; letter-spacing: 0.02em; }
.mh-iban { font-weight: 700; font-size: var(--t-3); letter-spacing: 0.03em; font-variant-numeric: tabular-nums; word-break: break-word; }
.mh-copiar {
	margin-left: var(--e-3);
	padding: 6px 12px;
	border: 1.5px solid var(--c-marca);
	border-radius: var(--r-s);
	background: transparent;
	color: var(--c-marca);
	font-weight: 700;
	font-size: 0.9rem;
	cursor: pointer;
	min-height: 36px;
	vertical-align: middle;
}
.mh-copiar:hover, .mh-copiado { background: var(--c-marca) !important; color: #fff !important; }

/* Desplegables (preguntas) */
.mh-toggle { border: 0 !important; border-top: 1px solid var(--c-borde) !important; background: transparent !important; padding: var(--e-5) 0 !important; margin: 0 !important; }
.mh-toggle .et_pb_toggle_title { font-family: var(--f-tit); font-size: var(--t-3); color: var(--c-marca) !important; padding-right: 40px; }
.mh-toggle .et_pb_toggle_title::before { color: var(--c-acento) !important; right: 0; }
.mh-toggle .et_pb_toggle_content { padding-top: var(--e-3); max-width: 68ch; }

/* Cáritas: calles */
.mh-calles { columns: 3 220px; column-gap: var(--e-6); list-style: none; padding: 0 !important; margin-top: var(--e-4); }
.mh-calles li { break-inside: avoid; padding: 6px 0; border-bottom: 1px solid var(--c-borde); }

/* Contacto y visita */
.mh-mapa iframe { width: 100%; height: 420px; border: 0; border-radius: var(--r-l); display: block; }
.mh-redes { display: flex; flex-wrap: wrap; gap: var(--e-2); }
.mh-redes a { display: inline-block; border: 1.5px solid var(--c-borde); border-radius: var(--r-s); padding: 8px 14px; font-weight: 600; color: var(--c-marca); text-decoration: none; }
.mh-redes a:hover { border-color: var(--c-marca); }
.mh-card { background: var(--c-superficie); border: 1px solid var(--c-borde); border-radius: var(--r-l); padding: var(--e-6) !important; }
.mh-card .wpforms-field input, .mh-card .wpforms-field textarea { border-radius: var(--r-s) !important; border: 1px solid var(--c-borde) !important; font-family: var(--f-txt) !important; }
.mh-card .wpforms-field-label { font-weight: 600 !important; }
.mh-card button[type="submit"] { background: var(--c-acento) !important; color: #fff !important; border: 0 !important; border-radius: var(--r-s) !important; padding: 14px 24px !important; font-weight: 700 !important; min-height: 48px; }
.mh-calendario iframe { border-radius: var(--r-l); border: 1px solid var(--c-borde) !important; background: #fff; }

/* --- Listado de entradas (página Día a día, módulo Blog) ----------------- */

.mh-blog .et_pb_post { background: transparent; border: 0 !important; margin-bottom: var(--e-7) !important; }
.mh-blog .et_pb_image_container { margin: 0 0 var(--e-4) !important; }
.mh-blog .et_pb_image_container a, .mh-blog .et_pb_image_container img { display: block; border-radius: var(--r-s); overflow: hidden; }
.mh-blog .et_pb_image_container img { aspect-ratio: 3 / 2; object-fit: cover; width: 100%; transition: transform 0.4s ease; }
.mh-blog .et_pb_post:hover img { transform: scale(1.03); }
.mh-blog .et_pb_post .entry-title, .mh-blog .et_pb_post .entry-title a { font-family: var(--f-tit); font-size: var(--t-3) !important; line-height: 1.25; color: var(--c-marca) !important; padding: 0 !important; }
.mh-blog .et_pb_post .post-meta { color: var(--c-suave); font-weight: 600; font-size: 0.9rem; }
.mh-blog .et_pb_post .post-content { color: var(--c-suave); font-size: 0.97rem; }
.mh-blog .et_pb_post .more-link { color: var(--c-acento); font-weight: 700; }
.mh-blog .pagination a, .mh-blog .wp-pagenavi a { color: var(--c-acento); font-weight: 700; }

/* --- Entrada individual ------------------------------------------------- */

.single-post #main-content .container { max-width: 760px; padding-top: var(--e-7); }
.single-post #main-content .container::before { display: none; }
.single-post #left-area { width: 100%; padding-right: 0; }
.single-post .entry-title { font-size: clamp(2rem, 4.5vw, var(--t-7)); }
.single-post .post-meta { color: var(--c-suave); font-weight: 600; }
.single-post .et_post_meta_wrapper img { border-radius: var(--r-l); }
.single-post .entry-content { font-size: 1.1rem; line-height: 1.7; }
.single-post .entry-content img { border-radius: var(--r-s); height: auto; }
.single-post .entry-content h2 { font-size: var(--t-5); margin-top: 1.4em; }
.single-post .entry-content h3 { font-size: var(--t-4); margin-top: 1.2em; }
.single-post .entry-content iframe { max-width: 100%; border-radius: var(--r-s); }
.single-post .entry-content ul, .single-post .entry-content ol { padding-left: 1.3em; margin-bottom: 1em; }
.single-post .entry-content blockquote { border-left: 2px solid var(--c-oro); font-family: var(--f-tit); font-style: italic; }
.mah-figura { margin: 1.4em 0; }
.mah-figura img { width: 100%; }
.mah-figura figcaption { font-size: 0.9rem; color: var(--c-suave); margin-top: var(--e-2); }
.mah-columnas { display: grid; gap: var(--e-5); margin: 1em 0; }
@media (min-width: 760px) { .mah-columnas { grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); } }
.gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: var(--e-2); }
.gallery .gallery-item { margin: 0 !important; width: auto !important; }
.gallery img { border: 0 !important; border-radius: var(--r-s); width: 100%; aspect-ratio: 1; object-fit: cover; }

/* --- Pie (widgets de Divi) ----------------------------------------------- */

#main-footer { background: var(--c-marca-osc); }
#footer-widgets { padding: var(--e-8) 0 var(--e-6); }
#main-footer .footer-widget, #main-footer .footer-widget p, #main-footer .footer-widget li { color: #dbe3f0; font-size: 16px; line-height: 1.7; }
#main-footer #footer-widgets .footer-widget h4, #main-footer #footer-widgets .footer-widget h2 { font-family: var(--f-tit); color: #fff; font-size: var(--t-3); font-weight: 500; margin-bottom: var(--e-3); }
#main-footer .footer-widget a { color: var(--c-oro-claro); }
#main-footer .footer-widget a:hover { color: #fff; }
#footer-bottom { background: rgb(0 0 0 / 0.2); padding: var(--e-4) 0; }
#footer-info, #footer-info a { color: #b6c2d8; font-size: 14px; }

/* --- Móvil ------------------------------------------------------------------ */

@media (max-width: 980px) {
	.mh-hero .et_pb_row, .mh-cabecera .et_pb_row, .mh-apartado .et_pb_row { flex-direction: column; align-items: stretch; gap: 0; }
	.mh-hero .et_pb_column:last-child { order: -1; max-width: 380px; margin: 0 auto var(--e-5) !important; width: 78% !important; }
	.mh-hero .et_pb_column:first-child, .mh-cabecera .et_pb_column:first-child { width: 100% !important; }
	.mh-cabecera .et_pb_column:last-child:not(:first-child) { display: none; }
	.mh-apartado .et_pb_column:first-child { position: static; margin-bottom: 0 !important; }
	.mh-apartado .et_pb_column { width: 100% !important; }
	.et_pb_row.mh-mosaico { grid-template-columns: 1fr 1fr; grid-template-rows: none; grid-auto-rows: 210px; }
	.et_pb_row.mh-mosaico > .et_pb_column:nth-child(1) { grid-row: span 1; grid-column: span 2; }
	.et_pb_row.mh-mosaico > .et_pb_column:nth-child(2) { grid-column: span 2; }
	.mh-tile h3, .mh-mosaico > .et_pb_column:nth-child(1) .mh-tile h3 { font-size: var(--t-4); }
	.mh-tile p { display: none; }
	.mh-hoy { max-width: none; }
	.mh-mapa iframe { height: 320px; }
}
@media (max-width: 480px) {
	.et_pb_row.mh-mosaico { grid-auto-rows: 170px; gap: var(--e-3); }
	.mh-tile .et_pb_text_inner { padding: var(--e-4); }
	.mh-tile h3, .mh-mosaico > .et_pb_column:nth-child(1) .mh-tile h3 { font-size: var(--t-3); }
	.mh-tile h3::after { content: ""; }
	.mh-dato { font-size: var(--t-6); }
	.mh-card { padding: var(--e-5) !important; }
}
@media (prefers-reduced-motion: reduce) {
	.mh-noticia img, .mh-blog img, .mh-tile::before { transition: none !important; }
	.mh-noticia:hover img, .mh-blog .et_pb_post:hover img { transform: none; }
}

/* Divi pone viñetas a las listas de los módulos de texto: fuera en las listas de diseño */
.et_pb_text ul.mh-calles, .et_pb_text .mh-datos ul, .mh-datos ul, .mh-hoy-lista { list-style: none !important; padding-left: 0 !important; }
.et_pb_text ul.mh-calles li, .mh-datos li { list-style: none !important; }
