/*
Theme Name:   MEMORIUM
Theme URI:    http://localhost:8080/
Description:  Tema hijo de Hestia para MEMORIUM, medio digital de historias reales, historia y sucesos extraordinarios. Identidad cinematográfica, portada editorial, tipografías alojadas localmente.
Author:       MEMORIUM
Template:     hestia
Version:      1.0.0
Requires PHP: 7.4
License:      GNU General Public License v2 or later
License URI:  http://www.gnu.org/licenses/gpl-2.0.html
Text Domain:  memorium
*/

/* ==========================================================================
   1. Tipografías (OFL, alojadas en el propio servidor)
   ========================================================================== */
@font-face { font-family: "Playfair Display"; font-style: normal; font-weight: 600; font-display: swap; src: url("assets/fonts/playfair-display-latin-600-normal.woff2") format("woff2"); }
@font-face { font-family: "Playfair Display"; font-style: normal; font-weight: 700; font-display: swap; src: url("assets/fonts/playfair-display-latin-700-normal.woff2") format("woff2"); }
@font-face { font-family: "Playfair Display"; font-style: italic; font-weight: 700; font-display: swap; src: url("assets/fonts/playfair-display-latin-700-italic.woff2") format("woff2"); }
@font-face { font-family: "Source Sans 3"; font-style: normal; font-weight: 400; font-display: swap; src: url("assets/fonts/source-sans-3-latin-400-normal.woff2") format("woff2"); }
@font-face { font-family: "Source Sans 3"; font-style: italic; font-weight: 400; font-display: swap; src: url("assets/fonts/source-sans-3-latin-400-italic.woff2") format("woff2"); }
@font-face { font-family: "Source Sans 3"; font-style: normal; font-weight: 600; font-display: swap; src: url("assets/fonts/source-sans-3-latin-600-normal.woff2") format("woff2"); }
@font-face { font-family: "Source Sans 3"; font-style: normal; font-weight: 700; font-display: swap; src: url("assets/fonts/source-sans-3-latin-700-normal.woff2") format("woff2"); }

/* ==========================================================================
   2. Identidad: paleta cinematográfica
   ========================================================================== */
:root {
	--mm-ink: #16130f;        /* negro cálido, fondo de cine */
	--mm-night: #221d18;
	--mm-paper: #f7f3ec;      /* papel de archivo */
	--mm-card: #ffffff;
	--mm-text: #2b2520;
	--mm-muted: #6e655c;
	--mm-line: #e6dfd3;
	--mm-gold: #b58a3c;       /* dorado envejecido */
	--mm-gold-soft: #d8b977;
	--mm-red: #8c1c13;        /* rojo sangre seca */
	--mm-red-bright: #b3261e;
	/* Titulares: Source Sans 3 (más legible en pantalla). Playfair queda solo para el logotipo. */
	--mm-display: "Playfair Display", Georgia, "Times New Roman", serif;
	--mm-serif: "Source Sans 3", -apple-system, "Segoe UI", Arial, sans-serif;
	--mm-sans: "Source Sans 3", -apple-system, "Segoe UI", Arial, sans-serif;
	--mm-radius: 6px;
	--mm-shadow: 0 10px 30px -12px rgba(22, 19, 15, .35);
}

body {
	background: var(--mm-paper);
	color: var(--mm-text);
	font-family: var(--mm-sans);
	font-size: 17px;
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
}
h1, h2, h3, h4, h5, h6,
.title, .card-title, .hestia-title, .navbar-brand, .footer-brand {
	font-family: var(--mm-serif);
	color: var(--mm-ink);
	font-weight: 700;
	letter-spacing: -.01em;
	line-height: 1.22;
}
/* Hestia inyecta su tipografía en línea después de esta hoja: reforzamos especificidad. */
html body, html body ul, html body ol, html body p, html body input, html body textarea, html body select,
html body .card-description, html body .tooltip-inner, html body .page-header .author, html body .footer {
	font-family: var(--mm-sans);
}
html body h1, html body h2, html body h3, html body h4, html body h5,
html body .title, html body .hestia-title, html body .card-title, html body .info-title,
html body .page-header .hestia-title, html body .mm-card__title, html body .mm-popular__title {
	font-family: var(--mm-serif);
}
html body h6, html body .mm-kicker, html body .category, html body .navbar .navbar-nav > li > a,
html body .mm-footer__title, html body .mm-masthead__eyebrow { font-family: var(--mm-sans); }
html body .single-post-wrap p, html body .single-post-wrap li { font-size: 18.5px; line-height: 1.75; color: var(--mm-text); }
html body .page .entry-content p, html body .page .entry-content li { font-size: 17.5px; line-height: 1.7; }
a { color: var(--mm-red); }
a:hover, a:focus { color: var(--mm-red-bright); }
::selection { background: var(--mm-gold-soft); color: var(--mm-ink); }

.btn, .btn.btn-primary, button, input[type="submit"], .mm-btn {
	background: var(--mm-red);
	border-color: var(--mm-red);
	color: #fff;
	font-family: var(--mm-sans);
	font-weight: 600;
	letter-spacing: .06em;
	box-shadow: none;
}
.btn:hover, .btn.btn-primary:hover, .mm-btn:hover { background: var(--mm-ink); border-color: var(--mm-ink); color: #fff; box-shadow: none; }

/* ==========================================================================
   3. Cabecera: logotipo + menú
   ========================================================================== */
.navbar,
.navbar.navbar-default,
.navbar.navbar-transparent {
	background: var(--mm-ink) !important;
	box-shadow: 0 1px 0 rgba(216, 185, 119, .25);
	color: #f1ebe0;
}
.navbar .navbar-brand {
	display: flex !important;
	align-items: center;
	gap: 12px;
	height: auto;
	padding-top: 14px;
	padding-bottom: 14px;
}
.navbar .navbar-brand::before {
	content: "";
	width: 42px;
	height: 42px;
	flex: 0 0 42px;
	background: url("assets/emblem.svg") center / contain no-repeat;
}
.navbar .navbar-brand p {
	margin: 0;
	font-family: var(--mm-display);
	font-weight: 700;
	font-size: 26px;
	letter-spacing: .22em;
	color: #f4ede0;
	line-height: 1;
}
.navbar .navbar-nav > li > a,
.navbar.navbar-default .navbar-nav > li > a {
	color: #e9e1d2 !important;
	font-family: var(--mm-sans);
	font-weight: 600;
	font-size: 13px;
	letter-spacing: .12em;
	text-transform: uppercase;
}
.navbar .navbar-nav > li > a:hover,
.navbar .navbar-nav > .current-menu-item > a,
.navbar .navbar-nav > .current-menu-ancestor > a {
	color: var(--mm-gold-soft) !important;
	background: transparent !important;
}
.navbar .dropdown-menu {
	background: var(--mm-night);
	border-top: 2px solid var(--mm-gold);
	border-radius: 0 0 var(--mm-radius) var(--mm-radius);
}
.navbar .dropdown-menu li > a { color: #e9e1d2 !important; font-size: 14px; }
.navbar .dropdown-menu li > a:hover { background: var(--mm-red) !important; color: #fff !important; box-shadow: none; }
.navbar .navbar-toggle .icon-bar { background: #f1ebe0; }
.navbar .hestia-toggle-search, .navbar .nav-cart-icon { color: #f1ebe0; }

/* ==========================================================================
   4. Bandas de cabecera (portada, páginas, archivos y artículos)
   ========================================================================== */
.page-header,
.mm-masthead {
	position: relative;
	background-color: var(--mm-ink);
	background-image:
		radial-gradient(ellipse at 15% 20%, rgba(181, 138, 60, .22), transparent 55%),
		radial-gradient(ellipse at 85% 80%, rgba(140, 28, 19, .55), transparent 60%),
		linear-gradient(135deg, #16130f 0%, #2a1712 55%, #5a1610 100%) !important;
	color: #f4ede0;
}
.page-header .header-filter::before,
.header-filter-gradient::before,
.page-header .header-filter-gradient {
	background: transparent !important;
}
.page-header .hestia-title,
.page-header .title,
.page-header h1 {
	color: #f7f1e6 !important;
	font-family: var(--mm-serif) !important;
	font-weight: 700;
	text-shadow: 0 2px 18px rgba(0, 0, 0, .35);
}
.page-header .author, .page-header .author a, .page-header h4 { color: #d9cfbe !important; font-family: var(--mm-sans); }

.mm-masthead { padding: 150px 0 120px; text-align: center; }
.mm-masthead__eyebrow {
	margin: 0 0 14px;
	color: var(--mm-gold-soft);
	font-weight: 600;
	font-size: 13px;
	letter-spacing: .32em;
	text-transform: uppercase;
}
.mm-masthead__title {
	margin: 0 auto 18px;
	max-width: 820px;
	color: #f7f1e6 !important;
	font-size: clamp(34px, 5vw, 58px);
	line-height: 1.08;
}
.mm-masthead__lead { margin: 0 auto; max-width: 640px; color: #d9cfbe; font-size: 19px; }

/* Tarjeta elevada característica de Hestia */
.main.main-raised {
	background: var(--mm-card);
	border-radius: var(--mm-radius);
	box-shadow: 0 22px 50px -20px rgba(22, 19, 15, .35);
}
.mm-home.main-raised { margin-top: -70px; padding: 48px 0 24px; }
/* Portada sin franja: el bloque blanco empieza justo bajo el menú fijo (altura medida con JS en --mm-nav-h). */
.page-template-portada .wrapper, body.home .wrapper { background: var(--mm-paper); }
.mm-home.main-raised.mm-home--flush { margin-top: calc(var(--mm-nav-h, 170px) + 18px); }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

/* ==========================================================================
   5. Portada editorial
   ========================================================================== */
.mm-section { margin: 0 0 56px; }
.mm-section__head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 16px;
	margin: 0 0 22px;
	padding-bottom: 10px;
	border-bottom: 2px solid var(--mm-ink);
}
.mm-section__title { margin: 0; font-size: 26px; position: relative; padding-left: 16px; }
.mm-section__title::before {
	content: "";
	position: absolute;
	left: 0; top: .22em; bottom: .22em;
	width: 4px;
	background: var(--mm-red);
}
.mm-section__more { font-size: 14px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; white-space: nowrap; }
.mm-muted { color: var(--mm-muted); }

.mm-kicker {
	display: inline-block;
	margin-bottom: 6px;
	color: var(--mm-red) !important;
	font-family: var(--mm-sans);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	text-decoration: none;
}
.mm-meta { display: block; color: var(--mm-muted); font-size: 13.5px; }

/* Tarjetas */
.mm-card { position: relative; display: flex; flex-direction: column; background: var(--mm-card); }
.mm-card__media {
	display: block;
	position: relative;
	overflow: hidden;
	border-radius: var(--mm-radius);
	aspect-ratio: 16 / 10;
	background: var(--mm-ink);
	box-shadow: var(--mm-shadow);
}
.mm-card__media img, .mm-card__media .mm-noimg {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .5s ease;
}
.mm-card:hover .mm-card__media img { transform: scale(1.04); }
.mm-card__body { padding: 16px 2px 0; }
.mm-card__title { margin: 0 0 8px; font-size: 21px; line-height: 1.25; font-weight: 700; }
.mm-card__title a { color: var(--mm-ink); text-decoration: none; background: linear-gradient(var(--mm-gold-soft), var(--mm-gold-soft)) 0 100% / 0 2px no-repeat; transition: background-size .3s; }
.mm-card__title a:hover { color: var(--mm-ink); background-size: 100% 2px; }
.mm-card__excerpt { margin: 0 0 10px; color: #4c443c; font-size: 16px; }

/* Historia principal */
.mm-lead__grid { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(0, 1fr); gap: 36px; }
.mm-card--lead .mm-card__media { aspect-ratio: 16 / 10; }
.mm-card--lead .mm-card__title { font-size: clamp(26px, 3vw, 38px); line-height: 1.12; }
.mm-card--lead .mm-card__excerpt { font-size: 18px; }
.mm-lead__grid:has(.mm-lead__side:empty) { grid-template-columns: minmax(0, 1fr); max-width: 860px; margin: 0 auto; }
.mm-lead__side:empty { display: none; }
.mm-lead__grid:has(.mm-lead__side:empty) .mm-card__media { aspect-ratio: 21 / 9; }
.mm-lead__side { display: flex; flex-direction: column; gap: 22px; }
.mm-card--side { flex-direction: row; gap: 16px; padding-bottom: 22px; border-bottom: 1px solid var(--mm-line); }
.mm-card--side:last-child { border-bottom: 0; padding-bottom: 0; }
.mm-card--side .mm-card__media { flex: 0 0 132px; aspect-ratio: 1 / 1; align-self: flex-start; }
.mm-card--side .mm-card__body { padding: 0; }
.mm-card--side .mm-card__title { font-size: 18px; }
.mm-card--side .mm-card__excerpt { display: none; }

/* Fila tipo listado (como el blog de la plantilla de referencia) */
.mm-card--row { flex-direction: row; gap: 26px; padding: 0 0 26px; margin-bottom: 26px; border-bottom: 1px solid var(--mm-line); }
.mm-card--row:last-child { border-bottom: 0; margin-bottom: 0; }
.mm-card--row .mm-card__media { flex: 0 0 40%; }
.mm-card--row .mm-card__body { padding: 4px 0 0; }

.mm-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px; }

/* Temas */
.mm-topics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.mm-topic {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	min-height: 170px;
	padding: 18px;
	overflow: hidden;
	border-radius: var(--mm-radius);
	color: #f7f1e6 !important;
	text-decoration: none !important;
	box-shadow: var(--mm-shadow);
	transition: transform .25s ease, box-shadow .25s ease;
}
.mm-topic::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, transparent 20%, rgba(10, 8, 6, .65));
	pointer-events: none;
}
/* Fondo ilustrado de cada tema, oscurecido para que el texto se lea siempre bien */
.mm-topic::before {
	content: "";
	position: absolute;
	inset: 0;
	background: var(--mm-topic-bg) center / cover no-repeat;
	opacity: .55;
	filter: saturate(.75);
	transition: transform .5s ease, opacity .3s ease;
	pointer-events: none;
}
.mm-topic:hover::before { transform: scale(1.05); opacity: .7; }
.mm-topic::after { background: linear-gradient(180deg, rgba(10, 8, 6, .25) 0%, rgba(10, 8, 6, .55) 45%, rgba(10, 8, 6, .9) 100%); }
.mm-topic > span { position: relative; z-index: 1; }
.mm-topic__icon { display: inline-flex; align-self: flex-start; margin-bottom: auto; padding: 7px; color: var(--mm-gold-soft); background: rgba(10, 8, 6, .45); border: 1px solid rgba(216, 185, 119, .35); border-radius: 50%; }
.mm-topic__name { text-shadow: 0 1px 8px rgba(0, 0, 0, .6); }
.mm-topic:hover { transform: translateY(-3px); box-shadow: 0 18px 34px -14px rgba(22, 19, 15, .55); }
.mm-topic__name { font-family: var(--mm-serif); font-size: 21px; font-weight: 700; line-height: 1.15; }
.mm-topic__desc { margin-top: 6px; font-size: 14px; line-height: 1.4; color: #e3d9c8; }
.mm-topic__count { margin-top: 10px; color: var(--mm-gold-soft); font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }

/* Fondos de marca por sección (sin imágenes: cero peso y sin problemas de derechos) */
[class*="mm-bg-"], .mm-noimg { background-color: var(--mm-ink); }
.mm-bg-historias-reales        { background-image: radial-gradient(circle at 80% 15%, rgba(216,185,119,.45), transparent 45%), linear-gradient(140deg, #3b2a1a, #16130f); }
.mm-bg-historia-universal      { background-image: radial-gradient(circle at 20% 20%, rgba(216,185,119,.35), transparent 50%), linear-gradient(140deg, #1d3340, #10171c); }
.mm-bg-misterios-sin-resolver  { background-image: radial-gradient(circle at 70% 30%, rgba(120,140,170,.35), transparent 50%), linear-gradient(160deg, #1b1f2e, #0b0c12); }
.mm-bg-crimenes-historicos     { background-image: radial-gradient(circle at 25% 75%, rgba(179,38,30,.6), transparent 55%), linear-gradient(140deg, #2a0f0c, #120807); }
.mm-bg-personajes-historicos   { background-image: radial-gradient(circle at 75% 25%, rgba(216,185,119,.4), transparent 50%), linear-gradient(140deg, #3a2f22, #1a1510); }
.mm-bg-grandes-tragedias       { background-image: radial-gradient(circle at 30% 30%, rgba(160,160,160,.25), transparent 50%), linear-gradient(160deg, #2d2d2d, #0f0f0f); }
.mm-bg-amor-y-traicion         { background-image: radial-gradient(circle at 70% 70%, rgba(200,60,80,.5), transparent 55%), linear-gradient(140deg, #3a1420, #15080c); }
.mm-bg-civilizaciones-antiguas { background-image: radial-gradient(circle at 25% 20%, rgba(222,170,90,.5), transparent 50%), linear-gradient(140deg, #4a3215, #1c130a); }
.mm-noimg::before {
	content: "";
	position: absolute;
	inset: 0;
	margin: auto;
	width: 34%;
	height: 34%;
	opacity: .3;
	background: url("assets/emblem.svg") center / contain no-repeat;
}
.mm-noimg { position: relative; }

/* Dos columnas: últimas + más leído */
.mm-two-col { display: grid; grid-template-columns: minmax(0, 2fr) minmax(260px, 1fr); gap: 44px; }
.mm-popular { background: var(--mm-paper); border-radius: var(--mm-radius); padding: 22px 22px 8px; align-self: start; }
.mm-popular__list { list-style: none; margin: 0; padding: 0; counter-reset: mm; }
.mm-popular__list li { position: relative; counter-increment: mm; padding: 0 0 16px 48px; margin-bottom: 16px; border-bottom: 1px solid var(--mm-line); }
.mm-popular__list li:last-child { border-bottom: 0; }
.mm-popular__list li::before {
	content: counter(mm, decimal-leading-zero);
	position: absolute;
	left: 0; top: -4px;
	font-family: var(--mm-serif);
	font-size: 30px;
	font-weight: 700;
	font-style: italic;
	color: var(--mm-gold);
}
.mm-popular__title { display: block; color: var(--mm-ink); font-family: var(--mm-serif); font-weight: 700; font-size: 17px; line-height: 1.3; text-decoration: none; }
.mm-popular__title:hover { color: var(--mm-red); }

/* Estado vacío */
.mm-empty { text-align: center; padding: 36px 20px 8px; }
.mm-empty__emblem { display: block; width: 74px; height: 74px; margin: 0 auto 18px; background: url("assets/emblem.svg") center / contain no-repeat; }
.mm-empty h2 { font-size: 30px; margin: 0 0 10px; }
.mm-empty p { max-width: 620px; margin: 0 auto; color: var(--mm-muted); }

/* Compromiso editorial */
.mm-promise__inner {
	padding: 40px;
	border-radius: var(--mm-radius);
	color: #e9e1d2;
	background:
		radial-gradient(ellipse at 90% 10%, rgba(181,138,60,.25), transparent 55%),
		linear-gradient(135deg, var(--mm-ink), #2a1712);
}
.mm-promise h2 { color: #f7f1e6; margin: 0 0 16px; font-size: 28px; }
.mm-promise ul { margin: 0 0 24px; padding-left: 20px; }
.mm-promise li { margin-bottom: 8px; }
.mm-promise strong { color: var(--mm-gold-soft); }
.mm-btn { display: inline-block; padding: 12px 22px; border-radius: 3px; font-size: 13px; text-transform: uppercase; text-decoration: none !important; }

/* ==========================================================================
   6. Blog y archivos de Hestia
   ========================================================================== */
.card-blog .card-image, .card .card-image { border-radius: var(--mm-radius); box-shadow: var(--mm-shadow); }
.card-blog .category a, .card .category a, .card-blog h6.category { color: var(--mm-red) !important; letter-spacing: .14em; font-weight: 700; font-family: var(--mm-sans); }
.card-blog .card-title a { color: var(--mm-ink); }
.card-blog .card-title a:hover { color: var(--mm-red); }
.card-description { color: #4c443c; }
.pagination > .page-numbers.current, .pagination .current { background: var(--mm-red) !important; border-color: var(--mm-red) !important; color: #fff !important; box-shadow: none; }
.mm-archive-intro { margin: 0 0 32px; padding: 18px 22px; border-left: 4px solid var(--mm-gold); background: var(--mm-paper); color: var(--mm-text); }

/* ==========================================================================
   7. Artículo
   ========================================================================== */
.single-post-wrap, .blog-post .section-text, .single .entry-content { font-size: 18.5px; line-height: 1.75; color: var(--mm-text); }
.single-post-wrap h2, .blog-post .section-text h2 { font-size: 30px; margin-top: 1.6em; }
.single-post-wrap h3, .blog-post .section-text h3 { font-size: 23px; margin-top: 1.4em; }
.single-post-wrap blockquote, .blog-post blockquote {
	margin: 1.6em 0;
	padding: 6px 0 6px 24px;
	border-left: 4px solid var(--mm-gold);
	font-family: var(--mm-serif);
	font-style: italic;
	font-size: 22px;
	color: var(--mm-ink);
}
.single-post-wrap figcaption, .wp-element-caption { color: var(--mm-muted); font-size: 14px; }
.mm-breadcrumbs { margin: 0 0 18px; font-size: 14px; color: var(--mm-muted); }
.mm-breadcrumbs a { color: var(--mm-muted); }
.mm-breadcrumbs a:hover { color: var(--mm-red); }
.mm-breadcrumbs .separator { margin: 0 6px; color: var(--mm-gold); }
.mm-single-meta .mm-meta { margin: 0 0 22px; font-size: 15px; }
.mm-editorial-note {
	margin: 2.4em 0 0;
	padding: 18px 22px;
	border-radius: var(--mm-radius);
	background: var(--mm-paper);
	border-left: 4px solid var(--mm-red);
	font-size: 15.5px;
	line-height: 1.6;
}
/* Bloque «Fuentes» (clase CSS adicional: mm-fuentes) */
.mm-fuentes { margin-top: 2em; padding: 18px 22px; border: 1px solid var(--mm-line); border-radius: var(--mm-radius); font-size: 15px; }
.mm-fuentes ol, .mm-fuentes ul { margin-bottom: 0; }

/* ==========================================================================
   8. Pie de página
   ========================================================================== */
.mm-footer { margin-top: 70px; padding: 56px 0 26px; background: var(--mm-ink); color: #cfc5b4; font-size: 15px; }
.mm-footer a { color: #e9e1d2; text-decoration: none; }
.mm-footer a:hover { color: var(--mm-gold-soft); }
.mm-footer__grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 40px; }
.mm-footer__logo {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	font-family: var(--mm-serif);
	font-size: 24px;
	font-weight: 700;
	letter-spacing: .22em;
	color: #f4ede0 !important;
}
.mm-footer__logo::before { content: ""; width: 40px; height: 40px; background: url("assets/emblem.svg") center / contain no-repeat; }
.mm-footer__small { color: #a59a88; font-size: 14px; }
.mm-footer__title { margin: 0 0 14px; color: var(--mm-gold-soft); font-family: var(--mm-sans); font-size: 13px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; }
.mm-footer ul { list-style: none; margin: 0; padding: 0; }
.mm-footer li { margin-bottom: 8px; }
.mm-footer__bottom {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 10px;
	margin-top: 40px;
	padding-top: 20px;
	border-top: 1px solid rgba(216, 185, 119, .2);
	color: #8f8573;
	font-size: 13px;
}

/* ==========================================================================
   9. Responsive
   ========================================================================== */
@media (max-width: 991px) {
	.mm-lead__grid, .mm-two-col { grid-template-columns: 1fr; }
	.mm-topics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.mm-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.mm-footer__grid { grid-template-columns: 1fr 1fr; }
	.mm-footer__brand { grid-column: 1 / -1; }
	html body .navbar .navbar-collapse,
	html body .navbar .navbar-collapse .navbar-nav,
	html body .navbar .navbar-collapse .dropdown-menu { background: var(--mm-ink) !important; box-shadow: none; }
	html body .navbar .navbar-collapse .navbar-nav li a { color: #efe7d8 !important; font-size: 14px; }
	html body .navbar .navbar-collapse .navbar-nav li { border-bottom: 1px solid rgba(216, 185, 119, .12); }
	html body .navbar .navbar-collapse .caret-wrap { background: transparent !important; border-color: rgba(216, 185, 119, .5) !important; color: var(--mm-gold-soft) !important; }
}
@media (max-width: 767px) {
	body { font-size: 16.5px; }
	.mm-masthead { padding: 110px 0 96px; }
	.mm-masthead__lead { font-size: 17px; }
	.mm-home.main-raised { margin: -56px 10px 0; padding: 28px 0 8px; }
	.mm-home.main-raised.mm-home--flush { margin-top: calc(var(--mm-nav-h, 70px) + 10px); }
	.mm-section { margin-bottom: 42px; }
	.mm-section__title { font-size: 22px; }
	.mm-section__head { flex-wrap: wrap; row-gap: 4px; }
	.mm-section__more { white-space: normal; font-size: 13px; }
	html, body { overflow-x: hidden; }
	.mm-grid { grid-template-columns: 1fr; }
	.mm-card--row { flex-direction: column; gap: 0; }
	.mm-card--row .mm-card__media { flex: none; }
	.mm-card--side .mm-card__media { flex-basis: 96px; }
	.mm-topics { gap: 12px; }
	.mm-topic { min-height: 140px; padding: 14px; }
	.mm-topic__name { font-size: 18px; }
	.mm-topic__desc { display: none; }
	.mm-promise__inner { padding: 26px 20px; }
	.mm-footer__grid { grid-template-columns: 1fr; }
	.navbar .navbar-brand p { font-size: 21px; letter-spacing: .18em; }
	.navbar .navbar-brand::before { width: 34px; height: 34px; flex-basis: 34px; }
}
@media (prefers-reduced-motion: reduce) {
	.mm-card__media img, .mm-topic { transition: none; }
}

/* ===================== Aviso de cookies ===================== */
.mm-consent{position:fixed;left:0;right:0;bottom:0;z-index:99999;display:none;padding:16px;pointer-events:none}
.mm-consent.is-open{display:block}
.mm-consent__box{pointer-events:auto;max-width:760px;margin:0 auto;background:var(--mm-ink);color:#efe7d8;border:1px solid rgba(216,185,119,.35);border-radius:10px;box-shadow:0 18px 50px rgba(0,0,0,.45);padding:22px 24px;font-family:var(--mm-sans)}
html body .mm-consent__title{font-family:var(--mm-serif)!important;color:#fff;font-size:1.3rem;margin:0 0 8px;font-weight:700}
.mm-consent__text{font-size:.95rem;line-height:1.55;margin:0 0 14px;color:#efe7d8}
.mm-consent__text a{color:var(--mm-gold-soft);text-decoration:underline}
.mm-consent__prefs{display:grid;gap:10px;margin:0 0 16px}
.mm-consent__prefs[hidden]{display:none}
.mm-consent__opt{display:flex;gap:10px;align-items:flex-start;font-size:.9rem;line-height:1.45;color:#efe7d8;font-weight:400;cursor:pointer;margin:0}
.mm-consent__opt input{margin-top:3px;width:18px;height:18px;accent-color:var(--mm-gold);flex:0 0 auto}
.mm-consent__actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}
.mm-consent__btn{appearance:none;border:1px solid rgba(239,231,216,.55);background:transparent;color:#fff;padding:10px 16px;border-radius:6px;font:600 .9rem/1.2 var(--mm-sans);cursor:pointer;min-height:44px}
.mm-consent__btn[hidden]{display:none}
.mm-consent__btn:hover,.mm-consent__btn:focus-visible{border-color:var(--mm-gold-soft);color:var(--mm-gold-soft);outline:none}
.mm-consent__btn--primary{background:var(--mm-gold);border-color:var(--mm-gold);color:var(--mm-ink)}
.mm-consent__btn--primary:hover,.mm-consent__btn--primary:focus-visible{background:var(--mm-gold-soft);color:var(--mm-ink)}
.mm-linkbtn{appearance:none;background:none;border:0;padding:0;color:inherit;text-decoration:underline;cursor:pointer;font:inherit}
.mm-linkbtn:hover{color:var(--mm-gold-soft)}
.mm-btn{display:inline-block;padding:10px 18px;border-radius:6px;font-weight:600;cursor:pointer;min-height:44px}
.mm-btn--outline{background:transparent;border:2px solid var(--mm-red);color:var(--mm-red)}
.mm-btn--outline:hover{background:var(--mm-red);color:#fff}
@media (max-width:767px){.mm-consent{padding:8px}.mm-consent__box{padding:18px}.mm-consent__actions{justify-content:stretch}.mm-consent__btn{flex:1 1 45%}}

/* Cabecera de artículo con imagen destacada: velo oscuro para que el titular se lea siempre */
html body.single .page-header .header-filter::before{background:linear-gradient(180deg,rgba(12,9,7,.45) 0%,rgba(12,9,7,.62) 55%,rgba(12,9,7,.82) 100%)!important}
html body.single .page-header .hestia-title,html body.single .page-header .author{text-shadow:0 2px 14px rgba(0,0,0,.65)}
.mm-related{margin-top:2em;padding:14px 18px;border-left:3px solid var(--mm-gold);background:rgba(181,138,60,.08)}
html body .mm-consent .mm-consent__btn,html body .mm-consent .mm-consent__btn:focus,html body .mm-consent .mm-consent__btn:active{background:transparent!important;color:#fff!important;border:1px solid rgba(239,231,216,.55)!important;box-shadow:none!important;text-transform:none;letter-spacing:0;font-size:.95rem;margin:0}
html body .mm-consent .mm-consent__btn:hover,html body .mm-consent .mm-consent__btn:focus-visible{border-color:var(--mm-gold-soft)!important;color:var(--mm-gold-soft)!important}
html body .mm-consent .mm-consent__btn--primary,html body .mm-consent .mm-consent__btn--primary:focus,html body .mm-consent .mm-consent__btn--primary:active{background:var(--mm-gold)!important;border-color:var(--mm-gold)!important;color:var(--mm-ink)!important}
html body .mm-consent .mm-consent__btn--primary:hover{background:var(--mm-gold-soft)!important;color:var(--mm-ink)!important}
html body .mm-consent .mm-consent__btn[data-act="save"]{border-color:var(--mm-gold-soft)!important}
html body .mm-linkbtn,html body .mm-linkbtn:hover,html body .mm-linkbtn:focus{background:none!important;box-shadow:none!important;padding:0;margin:0;text-transform:none;font-weight:inherit;letter-spacing:inherit;color:inherit;min-height:0}
html body .mm-consent .mm-consent__title{font-size:22px}
html body .mm-consent .mm-consent__text{font-size:15px}
html body .mm-consent .mm-consent__opt{font-size:14px}
html body .mm-consent .mm-consent__btn{font-size:15px!important;padding:10px 18px}

/* Mapa de contacto (carga bajo demanda) */
.mm-map{margin:1.5em 0;border:1px solid rgba(22,19,15,.12);border-radius:10px;overflow:hidden;background:#efe8dc}
.mm-map__ph{padding:28px 24px;text-align:center}
.mm-map__ph p{margin:0 0 10px}
.mm-map__note{font-size:14px;color:#6b6157}
.mm-map__link{margin-left:12px;color:var(--mm-red);text-decoration:underline}
.mm-map iframe{display:block;width:100%;height:380px;border:0}

/* ==========================================================================
   Redes sociales (iconos de perfil: pie, columna de portada y final de artículo)
   ========================================================================== */
.mm-social { margin-top: 18px; }
.mm-social__title { margin: 0 0 10px !important; font-family: var(--mm-sans); font-size: 12px !important; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--mm-muted) !important; }
.mm-social__list { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 !important; padding: 0 !important; list-style: none !important; }
.mm-social__list li { margin: 0 !important; padding: 0 !important; }
.mm-social__list li::before { display: none !important; }
.mm-social__link { display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; border-radius: 50%; background: var(--mm-ink); color: var(--mm-gold-soft) !important; text-decoration: none !important; transition: background .2s ease, color .2s ease, transform .2s ease; }
.mm-social__link:hover, .mm-social__link:focus-visible { transform: translateY(-2px); color: #fff !important; }
.mm-social__link--facebook:hover, .mm-social__link--facebook:focus-visible { background: #1877f2; }
.mm-social__link--instagram:hover, .mm-social__link--instagram:focus-visible { background: #d62976; }
.mm-social__link--tiktok:hover, .mm-social__link--tiktok:focus-visible { background: #000; }
.mm-social__link--pinterest:hover, .mm-social__link--pinterest:focus-visible { background: #e60023; }
.mm-social__link--youtube:hover, .mm-social__link--youtube:focus-visible { background: #ff0000; }
.mm-social__link--x:hover, .mm-social__link--x:focus-visible { background: #000; }
.mm-social--footer .mm-social__title { color: var(--mm-gold-soft) !important; }
.mm-social--footer .mm-social__link { background: rgba(255, 255, 255, .08); border: 1px solid rgba(216, 185, 119, .3); }
.mm-social--sidebar { margin-top: 26px; padding-top: 20px; border-top: 1px solid var(--mm-line); }
.mm-social--article { margin: 34px 0 10px; padding: 22px 24px; background: var(--mm-paper); border: 1px solid var(--mm-line); border-radius: var(--mm-radius); text-align: center; }
.mm-social--article .mm-social__title { color: var(--mm-ink) !important; font-size: 13px !important; }
.mm-social--article .mm-social__list { justify-content: center; }

/* ==========================================================================
   Índice, compartir, relacionados y aviso de privacidad en comentarios
   ========================================================================== */
.mm-toc { margin: 26px 0 30px; background: var(--mm-paper); border: 1px solid var(--mm-line); border-left: 4px solid var(--mm-gold); border-radius: var(--mm-radius); }
.mm-toc summary { cursor: pointer; padding: 14px 18px; font-family: var(--mm-sans); font-size: 13px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--mm-ink); list-style-position: inside; }
.mm-toc ol { margin: 0 !important; padding: 0 22px 16px 40px !important; columns: 2; column-gap: 28px; }
html body .single-post-wrap .mm-toc li { font-size: 15.5px; line-height: 1.45; margin: 0 0 7px; break-inside: avoid; }
.mm-toc a { color: var(--mm-text); text-decoration: none; }
.mm-toc a:hover { color: var(--mm-red); text-decoration: underline; }
html { scroll-padding-top: 110px; scroll-behavior: smooth; }
.mm-share { margin: 34px 0 6px; text-align: center; }
.mm-share .mm-social__title { color: var(--mm-ink) !important; }
.mm-share .mm-social__list { justify-content: center; }
.mm-social__link--whatsapp:hover, .mm-social__link--whatsapp:focus-visible { background: #25d366; }
.mm-related { margin: 44px 0 10px; padding-top: 30px; border-top: 2px solid var(--mm-ink); }
html body .mm-related .mm-related__title { margin: 0 0 22px; font-size: 24px; }
.mm-related .mm-grid { gap: 22px; }
.mm-related .mm-card__title { font-size: 17px !important; line-height: 1.3; }
.mm-comment-privacy { margin: 6px 0 14px; }
html body .mm-comment-privacy__info { font-size: 13px !important; line-height: 1.55 !important; color: var(--mm-muted) !important; background: var(--mm-paper); border: 1px solid var(--mm-line); border-radius: var(--mm-radius); padding: 12px 14px; }
html body .comment-form-mm-privacy { font-size: 15px !important; }
.comment-form-mm-privacy input { margin-right: 6px; }
@media (max-width: 767px) {
	.mm-toc ol { columns: 1; }
	.mm-related .mm-grid { grid-template-columns: 1fr; }
}

/* Menú en una sola línea en escritorio (incluida la lupa del buscador) */
@media (min-width: 1200px) {
	.navbar .navbar-nav > li > a, .navbar.navbar-default .navbar-nav > li > a { padding-left: 12px !important; padding-right: 12px !important; }
}
@media (min-width: 992px) and (max-width: 1199px) {
	.navbar .navbar-nav > li > a, .navbar.navbar-default .navbar-nav > li > a { padding-left: 8px !important; padding-right: 8px !important; letter-spacing: .06em; font-size: 12px; }
}

/* ==========================================================================
   Páginas sin franja de cabecera (todo salvo artículos y portada)
   ========================================================================== */
body.mm-flush .page-header { display: none !important; }
body.mm-flush .wrapper { background: var(--mm-paper); }
body.mm-flush .main.main-raised { margin-top: calc(var(--mm-nav-h, 120px) + 18px) !important; }
html body .mm-flush-title { margin: 6px 0 14px; font-size: clamp(28px, 3.4vw, 42px); line-height: 1.15; color: var(--mm-ink); }
body.mm-flush .mm-breadcrumbs + .mm-flush-title { margin-top: 2px; }
@media (max-width: 767px) {
	body.mm-flush .main.main-raised { margin-top: calc(var(--mm-nav-h, 70px) + 10px) !important; }
}

/* ==========================================================================
   Cabecera editorial de secciones y páginas (dentro del bloque blanco)
   ========================================================================== */
.mm-pagehead { position: relative; margin: 0 0 40px; padding: 4px 0 30px; border-bottom: 1px solid var(--mm-line); }
.mm-pagehead .mm-breadcrumbs { margin: 0 0 22px; font-size: 13px; }
.mm-pagehead__row { display: flex; align-items: center; gap: 20px; }
.mm-pagehead__icon { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; width: 68px; height: 68px; border-radius: 50%; color: var(--mm-gold-soft); background: radial-gradient(circle at 30% 25%, #3a2a1c, var(--mm-ink) 70%); border: 1px solid rgba(181, 138, 60, .55); box-shadow: 0 10px 24px -12px rgba(22, 19, 15, .6), inset 0 0 0 4px rgba(216, 185, 119, .08); }
.mm-pagehead__titles { min-width: 0; }
html body .mm-pagehead__kicker { margin: 0 0 6px !important; color: var(--mm-red) !important; font-family: var(--mm-sans); font-size: 12.5px !important; font-weight: 700; letter-spacing: .22em; text-transform: uppercase; line-height: 1.2 !important; }
html body .mm-pagehead__title { margin: 0 !important; color: var(--mm-ink); font-size: clamp(30px, 3.6vw, 46px); line-height: 1.08; letter-spacing: -.015em; }
html body .mm-pagehead__lead { margin: 20px 0 0 !important; max-width: 760px; color: #4a4038 !important; font-size: 19px !important; line-height: 1.6 !important; }
.mm-pagehead__rule { position: absolute; left: 0; bottom: -2px; width: 72px; height: 3px; background: var(--mm-gold); border-radius: 2px; }
/* El antiguo recuadro de descripción ya no se usa */
.mm-archive-intro { display: none; }
@media (max-width: 767px) {
	.mm-pagehead { margin-bottom: 28px; padding-bottom: 22px; }
	.mm-pagehead__row { gap: 14px; }
	.mm-pagehead__icon { width: 52px; height: 52px; }
	.mm-pagehead__icon svg { width: 24px; height: 24px; }
	html body .mm-pagehead__lead { font-size: 17px !important; margin-top: 14px !important; }
}

/* «Más en…» y «Ver todas»: enlace de texto sin flecha */
.mm-section__more::after { content: none !important; display: none !important; }
