/*
 * Inner templates (Parte 2, T2-T7): page head, sticky sub-nav, timeline, people, listings with filters,
 * article detail, project page, legal prose, search and 404.
 */

/* Page head: one H1 per page, breadcrumbs above. */
.ma-page-head { padding-top: clamp(44px, 6vw, 80px); padding-bottom: clamp(36px, 4vw, 56px); background: var(--marfil); border-bottom: 1px solid var(--arena); }
.ma-page-head__title { font-size: clamp(34px, 4.4vw, 56px) !important; margin: 14px 0 0 !important; max-width: 860px; }
.ma-page-head__intro { font-size: clamp(16px, 1.4vw, 19px); color: var(--sepia); max-width: 680px; margin-top: 18px !important; }
.ma-page-head .wp-block-buttons { margin-top: 28px; }
.ma-page-head--vino { background: var(--vino); color: #fff; border-color: var(--vino); }
.ma-page-head--vino .ma-eyebrow { color: var(--oro); }
.ma-page-head--vino .ma-page-head__title { color: #fff; }
.ma-page-head--vino .ma-page-head__intro { color: var(--on-vino); }
.ma-page-head--vino .ma-breadcrumbs, .ma-page-head--vino .ma-breadcrumbs a { color: var(--on-vino); }

/* Breadcrumbs: one line, truncated (Parte 2, section 02). */
.ma-breadcrumbs { margin-bottom: 22px; font-size: 12.5px; color: var(--sepia); }
.ma-breadcrumbs ol { display: flex; list-style: none; margin: 0; padding: 0; white-space: nowrap; overflow: hidden; }
.ma-breadcrumbs li { overflow: hidden; text-overflow: ellipsis; }
.ma-breadcrumbs li:not(:last-child) { flex: none; }
.ma-breadcrumbs li:last-child { min-width: 0; }
.ma-breadcrumbs li + li::before { content: "/"; margin: 0 8px; color: var(--oro); }
.ma-breadcrumbs a { color: var(--sepia); text-decoration: none; }
.ma-breadcrumbs a:hover { color: var(--vino); text-decoration: underline; }
.ma-dark-negro .ma-breadcrumbs, .ma-dark-negro .ma-breadcrumbs a { color: var(--on-dark-soft); }

/* Sticky sub-navigation under the header; on phones a horizontally scrollable row. */
.ma-subnav { position: sticky; top: calc(var(--admin-bar) + var(--header-h)); z-index: 40; background: #fff; border-bottom: 1px solid var(--arena); }
.ma-subnav__list { display: flex; gap: 28px; margin-top: 0 !important; margin-bottom: 0 !important; max-width: var(--wp--style--global--content-size); padding: 0 !important; list-style: none; overflow-x: auto; white-space: nowrap; scrollbar-width: none; }
.ma-subnav__list::-webkit-scrollbar { display: none; }
.ma-subnav__list a { display: flex; align-items: center; min-height: 52px; color: var(--negro); font-size: 13.5px; font-weight: 600; text-decoration: none; border-bottom: 2px solid transparent; transition: border-color .2s, color .2s; }
.ma-subnav__list a:hover, .ma-subnav__list a[aria-current] { border-color: var(--oro); color: var(--vino); }
@media (max-width: 767px) { .ma-subnav__list { gap: 22px; } }

/* Quiénes somos (mockup «2_Quienes_somos»): dark head with the community photo, mission and vision. */
.ma-page-head--negro { background: var(--negro); border-color: var(--negro); padding-bottom: 0; }
.ma-page-head--negro .ma-page-head__title { color: #fff; }
.ma-page-head--negro .ma-page-head__intro { color: #e8dfd0; }
.ma-page-head__photo { max-width: 1200px !important; margin: 48px auto 0 !important; }
.ma-page-head__photo img { display: block; width: 100%; height: auto; }
.ma-page-head__photo figcaption { margin: 0; padding: 10px 28px 22px; color: #cfc4b2; font-size: 13px; }
.ma-mv__cols { gap: 40px; }
.ma-mv h2 { margin: 8px 0 12px; }
.ma-principles h3 { font-size: 19px; }
.ma-timeline { position: relative; margin-top: 8px; padding-left: 30px; border-left: 2px solid var(--oro); }
.ma-milestone { position: relative; padding-bottom: 34px; margin: 0 !important; }
.ma-milestone::before { content: ""; position: absolute; left: -38px; top: 4px; width: 14px; height: 14px; border-radius: 50%; background: var(--vino); border: 3px solid var(--marfil); box-shadow: 0 0 0 2px var(--oro); }
.ma-milestone__years { font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--vino); }
.ma-milestone h3 { font-size: 21px; margin: 4px 0 8px; }
.ma-milestone p:not(.ma-milestone__years) { color: var(--sepia); max-width: 720px; }
.ma-memoriam .ma-names { justify-content: center; max-width: 760px; margin: 0 auto 6px; }
.ma-names { display: flex; flex-wrap: wrap; gap: 6px 0; list-style: none; margin: 0; padding: 0; }
.ma-names li { font: italic 400 20px/1.4 var(--serif); }
.ma-names li:not(:last-child)::after { content: "·"; color: var(--oro); margin: 0 14px; font-style: normal; }

/* Feature rows (Memoria y Reparación, Arte). */
.ma-feature__cols { gap: 56px; align-items: center; }
@media (min-width: 782px) { .ma-feature--flip .ma-feature__cols { flex-direction: row-reverse; } }

/* Listing (T3): filters · count · grid · pagination · rights note. */
.ma-filters { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 14px; margin-bottom: 24px; padding: 18px; background: var(--marfil); border: 1px solid var(--arena); border-radius: 6px; }
.ma-filters__field { display: flex; flex-direction: column; gap: 6px; min-width: 150px; }
.ma-filters__field--q { flex: 1 1 260px; }
.ma-filters label { font-size: 12px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--sepia); }
.ma-filters :is(input, select) { min-height: 48px; padding: 0 14px; border: 1.5px solid #b8afa3; border-radius: 2px; background: #fff; font: 400 16px var(--sans); color: var(--negro); }
.ma-listing__count { margin-bottom: 14px; font-size: 13px; color: var(--sepia); }
.ma-empty { padding: 32px; border: 1px dashed var(--arena); border-radius: 6px; background: #fff; color: var(--sepia); }
.ma-empty__title { font: 700 21px/1.3 var(--serif); color: var(--negro); margin-bottom: 8px; }
.ma-pagination { margin-top: 32px; }
.ma-pagination ul, .ma-pagination.wp-block-query-pagination { display: flex; flex-wrap: wrap; gap: 6px; list-style: none; margin: 0; padding: 0; }
.ma-pagination :is(a, span) { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: 0 12px; border: 1px solid var(--arena); border-radius: 2px; color: var(--negro); text-decoration: none; font-weight: 600; }
.ma-pagination .current { background: var(--vino); border-color: var(--vino); color: #fff; }
.ma-rights { margin-top: 32px !important; max-width: 720px; }
.ma-download { display: inline-flex; gap: 6px; color: var(--vino); font-weight: 700; font-size: 13px; text-decoration: none; border-bottom: 2px solid var(--oro); margin-top: 10px; }
.ma-download span { color: var(--sepia); font-weight: 400; }
.ma-download--none { display: block; border: 0; color: var(--sepia); font-weight: 400; }
.ma-download--none a { color: var(--vino); font-weight: 700; }
.ma-two-notes { gap: 48px; }

/* Revista Ethnos: the magazine's symbol and name, linking to its own site. The listing below brings its own top space. */
.ma-ethnos-sec { padding-bottom: 0 !important; }
.ma-ethnos-link { display: flex; align-items: center; gap: 18px; }
.ma-ethnos-link__logo { flex: none; width: 64px; margin: 0 !important; }
.ma-ethnos-link__logo img { display: block; width: 64px; height: auto; }
.ma-ethnos-link__text { margin: 0; font-size: 14px; }
.ma-ethnos-link__text a { display: inline-flex; flex-direction: column; gap: 2px; min-height: 44px; justify-content: center; color: var(--sepia); text-decoration: none; }
.ma-ethnos-link__text strong { font: 700 22px/1.2 var(--serif); color: var(--negro); }
.ma-ethnos-link__text a:hover strong { color: var(--vino); }

/* Document list (Conocimiento > Documentos, Memoria y Reparación): many files read better as rows than covers. */
.ma-doclist { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--arena); }
.ma-doc { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 6px 32px; padding: 18px 0; border-bottom: 1px solid var(--arena); }
.ma-doc__text { flex: 1 1 420px; }
.ma-doc__title { margin: 0; font: 600 16px/1.45 var(--sans); color: var(--negro); }
.ma-doc__meta { margin: 4px 0 0; font-size: 13px; color: var(--sepia); }
/* Same pill as the Compartir buttons: a 44 px target that still reads as a link in a list. */
.ma-doc .ma-download { align-items: center; min-height: 44px; margin-top: 0; padding: 0 16px; border: 1px solid var(--arena); border-radius: 22px; background: #fff; white-space: nowrap; }
.ma-doc .ma-download:hover { border-color: var(--vino); }
.ma-doc .ma-download--none { min-height: 0; padding: 0; border: 0; background: none; white-space: normal; font-size: 13px; }
.ma-docs-group + .ma-docs-group { margin-top: 56px; }
.ma-docs-group .ma-h2-sm { margin-bottom: 18px; }

/* Article (T4): reading width 70 characters. */
.ma-article__head .ma-eyebrow a { display: inline-block; padding: 12px 0; margin: -12px 0; color: var(--vino); } /* 41 px tap target, same layout. */
.ma-article__date { margin-top: 14px; font-size: 13px; color: var(--sepia); }
.ma-article__body { padding-top: 48px; padding-bottom: 64px; }
.ma-article__image { margin-bottom: 40px !important; }
.ma-article__image img { border-radius: 6px; }
.ma-article__image figcaption { margin-top: 8px; font-size: 13px; color: var(--sepia); }
.ma-article .wp-block-post-content, .ma-prose { font-size: 17px; line-height: 1.7; }
.ma-article .wp-block-post-content > * + *, .ma-prose > * + * { margin-top: 1.1em !important; }
.ma-article .wp-block-post-content h2, .ma-prose h2 { margin-top: 1.8em !important; font-size: 28px; }
.ma-pdf { margin-bottom: 28px; }
.ma-pdf .ma-download { font-size: 15px; padding-bottom: 2px; }
.ma-share { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 48px; padding-top: 24px; border-top: 1px solid var(--arena); }
.ma-share__label { font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--vino); margin-right: 6px; }
.ma-share ul { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 0; padding: 0; }
.ma-share :is(a, button) { display: inline-flex; align-items: center; min-height: 40px; padding: 0 14px; border: 1px solid var(--arena); border-radius: 20px; background: #fff; color: var(--negro); font: 600 13px var(--sans); text-decoration: none; cursor: pointer; }
.ma-share :is(a, button):hover { border-color: var(--oro); color: var(--vino); }
.ma-related__title { font-size: clamp(24px, 2.6vw, 32px); margin-bottom: 24px; }


/* Colaborar (T7). */
.ma-check-list { list-style: none; padding: 0 !important; margin: 0; }
.ma-check-list li { position: relative; padding: 12px 0 12px 34px; border-bottom: 1px solid var(--arena); }
.ma-check-list li::before { content: ""; position: absolute; left: 4px; top: 18px; width: 14px; height: 8px; border-left: 2px solid var(--vino); border-bottom: 2px solid var(--vino); transform: rotate(-45deg); }
.ma-offer { gap: 56px; }
.ma-social-buttons { gap: 10px; }
.ma-data-list { list-style: none; padding: 0 !important; margin: 12px 0 24px; }
.ma-data-list li { padding: 10px 0; border-bottom: 1px solid var(--arena); }

/* SOS Racismo page: reading text at 16 px minimum. */
.ma-sos-safe .ma-tile p { font-size: 16px; }
.ma-steps-list { padding-left: 1.3em !important; }
.ma-steps-list li { padding: 6px 0; }
.ma-form-cols { gap: 48px; }

/* Search, 404. */
.ma-search { max-width: 560px; margin-top: 24px !important; }
.ma-search .wp-block-search__inside-wrapper { gap: 8px; border: 0; padding: 0; }
.ma-search .wp-block-search__input { min-height: 48px; padding: 0 14px; border: 1.5px solid #b8afa3; border-radius: 2px; font: 16px var(--sans); }
.ma-search .wp-block-search__button { margin: 0; min-height: 48px; padding: 0 22px; background: var(--negro); color: #fff; border: 0; border-radius: 2px; font: 700 14px var(--sans); }
.ma-results__list { list-style: none; padding: 0; }
.ma-results__list > li { padding: 20px 0; border-bottom: 1px solid var(--arena); }
.ma-results__title { font-size: 22px; margin: 0 0 6px; }
.ma-results__title a { color: var(--negro); text-decoration: none; }
.ma-results__title a:hover { color: var(--vino); }
.ma-results__excerpt { color: var(--sepia); }
.ma-404__links { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 0 32px; list-style: none; padding: 0 !important; }
.ma-404__links a { display: block; padding: 14px 0; border-bottom: 1px solid var(--arena); color: var(--vino); font: 400 20px/1.3 var(--serif); text-decoration: none; }
.ma-404__links a:hover { color: var(--negro); }

.wp-block-columns { margin-bottom: 0; }

/* Side box next to a form keeps its own height and stays in view while the form scrolls. */
.ma-form-cols .ma-tile { height: auto; position: sticky; top: calc(var(--admin-bar) + var(--header-h) + 24px); }
.ma-form-sec h2 { margin-top: 8px !important; margin-bottom: 12px !important; }
