/*
 * M2Media Core — componentes de contexto: época, índice, lugar y línea de tiempo.
 * Usa los tokens de los themes M2Media (--mm-*) con valores de respaldo para
 * que se vea bien con cualquier theme.
 */

/* Época en el antetítulo */
.badge--period {
	color: var(--mm-muted, #5b5b5b);
	border-style: dashed;
	letter-spacing: .04em;
}
.badge--period data { color: inherit; }

/* Índice de contenidos */
.toc {
	margin: 0 0 32px; padding: 18px 22px;
	border: 1px solid var(--mm-line, #ddd); border-radius: var(--mm-radius, 10px);
	background: var(--mm-surface, #fff);
	font-family: var(--mm-font-sans, system-ui, sans-serif);
}
.toc__title, .entry-content .toc__title {
	margin: 0 0 10px;
	font-family: var(--mm-font-mono, ui-monospace, monospace); font-size: .8125rem; font-weight: 700;
	text-transform: uppercase; letter-spacing: .08em; color: var(--mm-ink, #111);
}
.toc ol { margin: 0; padding-left: 1.4em; columns: 2 18em; column-gap: 32px; }
.toc li { margin: 0 0 6px; break-inside: avoid; font-size: .9375rem; line-height: 1.4; }
.toc li::marker { color: var(--mm-accent, #2f5d8a); font-family: var(--mm-font-mono, ui-monospace, monospace); font-size: .8em; }
.toc a { color: var(--mm-ink, #111); text-decoration: none; }
.toc a:hover { text-decoration: underline; }
.entry-content h2[id]:target { scroll-margin-top: 90px; }

/* Lugar */
.place-box {
	margin: 32px 0 0; padding: 18px 20px;
	border: 1px solid var(--mm-line, #ddd); border-radius: var(--mm-radius, 10px);
	background: var(--mm-surface, #fff);
	font-family: var(--mm-font-sans, system-ui, sans-serif);
}
.place-box__label, .entry-content .place-box__label {
	margin: 0 0 4px;
	font-family: var(--mm-font-mono, ui-monospace, monospace); font-size: .75rem; font-weight: 700;
	text-transform: uppercase; letter-spacing: .08em; color: var(--mm-muted, #5b5b5b);
}
.place-box__name { margin: 0 0 2px; font-weight: 700; color: var(--mm-ink, #111); }
.place-box__coords { margin: 0 0 12px; font-family: var(--mm-font-mono, ui-monospace, monospace); font-size: .8125rem; color: var(--mm-muted, #5b5b5b); }
.place-box__map { margin: 0 0 12px; aspect-ratio: 16 / 9; border-radius: var(--mm-radius-sm, 6px); overflow: hidden; background: var(--mm-soft, #f2f2f2); }
.place-box__map iframe { width: 100%; height: 100%; border: 0; display: block; }
.place-box__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; margin: 0 0 6px; font-size: .9375rem; }
.place-box__show { min-height: 40px; }
.place-box__note { margin: 0; font-size: .8125rem; color: var(--mm-muted, #5b5b5b); }

/* Línea de tiempo: Lista › Estilos › «Línea de tiempo».
   Escribe cada elemento empezando por la fecha en negrita: «**1922** Howard Carter…». */
.is-style-m2media-timeline {
	list-style: none;
	margin-left: 0; padding: 4px 0 4px 28px;
	border-left: 2px solid var(--mm-line, #ddd);
	font-family: var(--mm-font-sans, system-ui, sans-serif);
}
.entry-content .is-style-m2media-timeline { padding-left: 28px; }
.is-style-m2media-timeline > li { position: relative; margin: 0 0 1.1em; line-height: 1.5; }
.is-style-m2media-timeline > li::before {
	content: ""; position: absolute; left: -36px; top: .35em;
	width: 14px; height: 14px; border-radius: 50%;
	background: var(--mm-bg, #fff); border: 3px solid var(--mm-accent, #2f5d8a);
}
.is-style-m2media-timeline > li::marker { content: none; }
.is-style-m2media-timeline > li > strong:first-child {
	display: block; margin-bottom: 2px;
	font-family: var(--mm-font-mono, ui-monospace, monospace); font-size: .8125rem; font-weight: 700;
	text-transform: uppercase; letter-spacing: .05em; color: var(--mm-accent, #2f5d8a);
}
@media (forced-colors: active) { .is-style-m2media-timeline > li::before { border-color: CanvasText; } }
@media print { .place-box__actions, .place-box__note, .place-box__map { display: none !important; } }

/* Ficha de obra, libro, monumento, documento o conjunto de datos */
.subject-card {
	margin: 0 0 32px; padding: 18px 22px;
	border: 1px solid var(--mm-line, #ddd); border-top: 3px solid var(--mm-accent, #2f5d8a);
	border-radius: var(--mm-radius, 10px); background: var(--mm-surface, #fff);
	font-family: var(--mm-font-sans, system-ui, sans-serif);
}
.subject-card__title, .entry-content .subject-card__title {
	margin: 0 0 12px;
	font-family: var(--mm-font-mono, ui-monospace, monospace); font-size: .8125rem; font-weight: 700;
	text-transform: uppercase; letter-spacing: .08em; color: var(--mm-ink, #111);
}
.subject-card dl { display: grid; grid-template-columns: minmax(110px, max-content) minmax(0, 1fr); gap: 8px 20px; margin: 0; font-size: .9375rem; line-height: 1.4; }
.subject-card dt { color: var(--mm-muted, #5b5b5b); font-size: .8125rem; padding-top: .1em; }
.subject-card dd { margin: 0; color: var(--mm-ink, #111); overflow-wrap: anywhere; }
.subject-card dd cite { font-style: italic; font-weight: 600; }
.subject-card a { color: var(--mm-accent, #2f5d8a); }
@media (max-width: 480px) { .subject-card dl { grid-template-columns: minmax(0, 1fr); gap: 2px; } .subject-card dd { margin-bottom: 8px; } }

/* Serie */
.badge--series { font-variant-numeric: tabular-nums; }
.series-box {
	margin: 32px 0 0; padding: 20px 22px;
	border: 1px solid var(--mm-line, #ddd); border-left: 4px solid var(--mm-accent, #2f5d8a);
	border-radius: var(--mm-radius, 10px); background: var(--mm-surface, #fff);
	font-family: var(--mm-font-sans, system-ui, sans-serif);
}
.series-box__eyebrow { margin: 0 0 2px; font-family: var(--mm-font-mono, ui-monospace, monospace); font-size: .75rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: var(--mm-muted, #5b5b5b); }
.series-box__title, .entry-content .series-box__title { margin: 0 0 4px; font-size: 1.25rem; }
.series-box__title a { color: var(--mm-ink, #111); text-decoration: none; }
.series-box__title a:hover { text-decoration: underline; }
.series-box__count { margin: 0 0 12px; font-size: .875rem; color: var(--mm-muted, #5b5b5b); }
.series-box__list { margin: 0 0 12px; padding-left: 1.4em; font-size: .9375rem; }
.series-box__list li { margin: 0 0 6px; }
.series-box__list li::marker { color: var(--mm-accent, #2f5d8a); font-family: var(--mm-font-mono, ui-monospace, monospace); }
.series-box__list a { color: var(--mm-ink, #111); }
.series-box__list [aria-current] { font-weight: 700; color: var(--mm-ink, #111); }
.series-box__next { margin: 0; font-weight: 700; }
.series-box__next a { color: var(--mm-accent, #2f5d8a); }

/* Preguntas frecuentes (bloque Detalles con estilo «Pregunta frecuente»): acordeón sin JavaScript */
.is-style-m2media-faq { margin-block: 0 !important; border-bottom: 1px solid var(--mm-line, #ddd); font-family: var(--mm-font-sans, system-ui, sans-serif); }
* + .is-style-m2media-faq:not(.is-style-m2media-faq + .is-style-m2media-faq) { border-top: 1px solid var(--mm-line, #ddd); margin-top: 1em !important; }
.is-style-m2media-faq + :not(.is-style-m2media-faq) { margin-top: 1.5em; }
.is-style-m2media-faq > summary {
	display: flex; align-items: center; justify-content: space-between; gap: 16px;
	min-height: 44px; padding: 14px 0; cursor: pointer; list-style: none;
	font-size: 1.0625rem; font-weight: 700; line-height: 1.35; color: var(--mm-ink, #111);
}
.is-style-m2media-faq > summary::-webkit-details-marker { display: none; }
.is-style-m2media-faq > summary::after {
	content: "+"; flex-shrink: 0; display: grid; place-items: center; width: 28px; height: 28px;
	border: 1.5px solid currentColor; border-radius: 50%; font-weight: 400; font-size: 1.25rem; line-height: 1;
	color: var(--mm-accent, #2f5d8a);
}
.is-style-m2media-faq[open] > summary::after { content: "−"; }
.is-style-m2media-faq > summary:hover { color: var(--mm-accent, #2f5d8a); }
.is-style-m2media-faq > :not(summary) { margin: 0 0 1em; font-family: var(--mm-font-serif, Georgia, serif); }
@media print { .is-style-m2media-faq > :not(summary) { display: block; } }

/* Experiencia del autor (página de autor) */
.author-expertise { display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: 8px 16px; margin: 16px 0 0; font-size: .9375rem; }
.author-expertise dt { color: var(--mm-muted, #5b5b5b); font-size: .8125rem; padding-top: .2em; }
.author-expertise dd { margin: 0; color: var(--mm-ink, #111); }
.author-expertise__tags { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; list-style: none; }
.author-expertise__tags li { padding: 2px 10px; border: 1px solid var(--mm-line, #ddd); border-radius: 999px; font-size: .8125rem; }
@media (max-width: 600px) { .author-expertise { grid-template-columns: minmax(0, 1fr); } .author-expertise dt { padding-top: 0; } }
