/*
 * CUSTOM.CSS - María Ortega
 * Hoja de estilos centralizada del child theme Bridge.
 * Generado a partir de los bloques <style> que antes vivian
 * dentro de functions.php, para poder cachear y mantener el CSS
 * en un unico lugar (Paso 1 del plan de optimizacion).
 *
 * NO EDITAR nombres de clases: siguen usandose desde functions.php
 */


/* ============================================================
   Carruseles (proyectos y eventos)
   origen: mo_carrusel_estilos()
   ============================================================ */
:root {
            --negro: #0A0A0A;
            --blanco: #F7F5F0;
            --rojo: #bb4b38;
            --azul: #83a8cb;
            --ui: #D8D6D0;
            --font: 'Archivo', sans-serif;
            --font-display: 'Archivo Black', sans-serif;
        }
        .mo-section-carrusel { background: var(--blanco); padding: 56px 0 0; }
        .mo-carrusel-header { display: flex; align-items: baseline; justify-content: space-between; padding: 0 56px 22px; border-bottom: 0.5px solid rgba(10,10,10,0.1); }
        .mo-carrusel-label { font-family: var(--font); font-size: 14px; font-weight: 700; letter-spacing: 0.22em; text-transform: uppercase; color: var(--negro); }
        .mo-section-carrusel .mo-carrusel-label { color: var(--rojo); }
        .mo-section-carrusel--curadora .mo-carrusel-label { color: var(--azul); }
        .mo-dash-a { color: var(--rojo); margin-right: 8px; }
        .mo-dash-c { color: var(--azul); margin-right: 8px; }
        .mo-carrusel-ver-todo { font-family: var(--font); font-size: 12px; font-weight: 500; letter-spacing: 0.14em; text-transform: uppercase; color: var(--negro); text-decoration: none; opacity: 0.4; transition: opacity 0.2s; }
        .mo-carrusel-ver-todo:hover { opacity: 1; }
        .mo-carrusel-track-wrap { overflow: hidden; }
        .mo-carrusel-track { display: flex; gap: 3px; padding: 3px 56px 0; transition: transform 0.5s cubic-bezier(.25,.1,.25,1); }
        .mo-carrusel-slide { flex: 0 0 calc(25% - 2.25px); overflow: visible; }
        .mo-carrusel-slide a { display: block; width: 100%; aspect-ratio: 4/3; overflow: hidden; }
        .mo-carrusel-slide img { width: 100%; height: 100%; object-fit: cover; object-position: center; transition: transform 0.6s; display: block; }
        .mo-carrusel-slide:hover img { transform: scale(1.04); }
        .mo-carrusel-slide-pie {
            display: flex;
            align-items: center;
            gap: 0;
            padding: 8px 0 0 0;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }
        .mo-carrusel-slide-tipo {
            font-family: 'Archivo', sans-serif;
            font-size: 9px;
            font-weight: 700;
            letter-spacing: 0.12em;
            text-transform: uppercase;
            color: #bb4b38;
            flex-shrink: 0;
        }
        .mo-carrusel-slide-sep {
            font-family: 'Archivo', sans-serif;
            font-size: 11px;
            color: rgba(10,10,10,0.3);
            flex-shrink: 0;
        }
        .mo-carrusel-slide-titulo {
            font-family: 'Archivo', sans-serif;
            font-size: 11px;
            font-weight: 400;
            color: rgba(10,10,10,0.65);
            text-align: left;
            overflow: hidden;
            text-overflow: ellipsis;
        }
        .mo-slide-placeholder { width: 100%; height: 100%; background: var(--ui); }
        .mo-carrusel-nav { display: flex; align-items: center; justify-content: flex-end; gap: 14px; padding: 12px 56px 52px; background: var(--blanco); }
        .mo-carrusel-arrow { width: 32px; height: 32px; background: none; border: 0.5px solid rgba(10,10,10,0.25); color: var(--negro); font-size: 14px; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: background 0.2s, border-color 0.2s; }
        .mo-carrusel-arrow:hover { background: var(--negro); color: var(--blanco); border-color: var(--negro); }
        .mo-carrusel-arrow:disabled { opacity: 0.2; cursor: default; }
        .mo-section-carrusel--curadora { border-top: 0.5px solid rgba(10,10,10,0.09); padding-top: 40px; }
        .mo-section-carrusel--curadora .mo-carrusel-ver-todo:hover { color: #83a8cb; opacity: 1; }
        .mo-section-carrusel--curadora .mo-carrusel-arrow:hover { background: #83a8cb; border-color: #83a8cb; }
        @media (max-width: 1024px) { .mo-carrusel-slide { flex: 0 0 calc(33.333% - 2px); } }
        @media (max-width: 768px) { .mo-carrusel-slide { flex: 0 0 calc(50% - 1.5px); } .mo-carrusel-header, .mo-carrusel-track, .mo-carrusel-nav { padding-left: 20px; padding-right: 20px; } }
        @media (max-width: 480px) { .mo-carrusel-slide { flex: 0 0 100%; } }

/* ============================================================
   Bloque publicaciones en Home
   origen: mo_publicaciones_home_shortcode()
   ============================================================ */
.mo-publicaciones { background: #F7F5F0; padding: 56px 0; border-top: 0.5px solid rgba(10,10,10,0.09); }
        .mo-publicaciones-header { padding: 0 56px 32px; border-bottom: 0.5px solid rgba(10,10,10,0.1); margin-bottom: 32px; }
        .mo-publicaciones-label { font-family: 'Archivo', sans-serif; font-size: 14px; font-weight: 700; letter-spacing: 0.22em; text-transform: uppercase; color: #0A0A0A; }
        .mo-dash-ui { color: #D8D6D0; margin-right: 8px; }
        .mo-publicaciones-tipos { display: flex; flex-wrap: wrap; gap: 16px 40px; padding: 0 56px; }
        .mo-pub-tipo-enlace { display: flex; align-items: center; gap: 8px; font-family: 'Archivo', sans-serif; font-size: 13px; font-weight: 700; color: #0A0A0A !important; text-decoration: none !important; }
        .mo-pub-tipo-enlace:hover { opacity: 0.6; }
        .mo-pub-tipo-dot { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }
        .mo-pub-tipo-dot--rojo { background: #bb4b38; }
        .mo-pub-tipo-dot--azul { background: #83a8cb; }
        @media (max-width: 640px) {
            .mo-publicaciones-header { padding: 0 20px 24px; }
            .mo-publicaciones-tipos { padding: 0 20px; gap: 14px 24px; }
        }

/* ============================================================
   Timeline / trayectoria
   origen: mo_timeline_shortcode()
   ============================================================ */
.mo-timeline { padding: 56px 56px 48px; background: #F7F5F0; color: #0A0A0A; border-top: 4px solid #0A0A0A; }
        .mo-tl-head { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 36px; }
        .mo-tl-title { font-family: 'Archivo', sans-serif; font-size: 14px; font-weight: 700; letter-spacing: 0.18em; text-transform: uppercase; color: #0A0A0A; opacity: 0.55; }
        .mo-tl-sub { font-family: 'Archivo', sans-serif; font-size: 14px; letter-spacing: 0.14em; text-transform: uppercase; color: #0A0A0A; opacity: 0.35; }
        .mo-tl-track-wrap { position: relative; height: 80px; margin-bottom: 4px; }
        .mo-tl-axis { position: absolute; top: 36px; left: 0; right: 0; height: 1px; background: rgba(10,10,10,0.15); }
        .mo-tl-dot { position: absolute; width: 13px; height: 13px; border-radius: 50%; transform: translateX(-50%); cursor: pointer; transition: transform .15s, box-shadow .15s; border: 2px solid #F7F5F0; }
        .mo-tl-dot:hover { transform: translateX(-50%) scale(1.25); }
        .mo-tl-dot.active { transform: translateX(-50%) scale(1.35); box-shadow: 0 0 0 3px rgba(10,10,10,0.1); }
        .mo-tl-dot--a { background: #bb4b38; top: 4px; }
        .mo-tl-dot--c { background: #83a8cb; top: 44px; }
        .mo-tl-yr { position: absolute; top: 28px; font-family: 'Archivo', sans-serif; font-size: 12px; color: rgba(10,10,10,0.38); transform: translateX(-50%); white-space: nowrap; background: #F7F5F0; padding: 0 3px; line-height: 1; }
        .mo-tl-carousel-wrap { position: relative; border-top: 0.5px solid rgba(10,10,10,0.12); padding-top: 20px; margin-top: 8px; }
        .mo-tl-arr { position: absolute; width: 34px; height: 34px; background: #0A0A0A; color: #F7F5F0; border: none; cursor: pointer; font-size: 14px; font-weight: 700; display: flex; align-items: center; justify-content: center; transition: background .15s; z-index: 5; bottom: -44px; }
        .mo-tl-arr:hover { background: #bb4b38; }
        .mo-tl-arr-prev { left: 0; }
        .mo-tl-arr-next { right: 0; }
        .mo-tl-viewport { overflow: hidden; margin: 0; }
        .mo-tl-cards { display: flex; transition: transform .35s cubic-bezier(.4,0,.2,1); }
        .mo-tl-card { min-width: 25%; padding: 0 16px 0 20px; border-left: 2px solid rgba(10,10,10,0.1); transition: border-color .2s, opacity .2s; opacity: 0.35; }
        .mo-tl-card.active { opacity: 1; }
        .mo-tl-card.active.tipo-a { border-left-color: #bb4b38; }
        .mo-tl-card.active.tipo-c { border-left-color: #83a8cb; }
        .mo-tl-card.active.tipo-b { border-left-color: #0A0A0A; }
        .mo-tl-card-yr { font-family: 'Archivo', sans-serif; font-size: 12px; font-weight: 700; color: #0A0A0A; letter-spacing: 0.04em; margin-bottom: 3px; }
        .mo-tl-card.active.tipo-a .mo-tl-card-yr { color: #bb4b38; }
        .mo-tl-card.active.tipo-c .mo-tl-card-yr { color: #83a8cb; }
        .mo-tl-card-tipo { font-family: 'Archivo', sans-serif; font-size: 12px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; margin-bottom: 5px; color: rgba(10,10,10,0.7); }
        .mo-tl-card.active.tipo-a .mo-tl-card-tipo { color: #bb4b38; }
        .mo-tl-card.active.tipo-c .mo-tl-card-tipo { color: #83a8cb; }
        .mo-tl-card-ev { font-family: 'Archivo', sans-serif; font-size: 13px; font-weight: 500; color: #0A0A0A; line-height: 1.3; margin-bottom: 4px; }
        .mo-tl-card-det { font-family: 'Archivo', sans-serif; font-size: 12px; color: rgba(10,10,10,0.7); line-height: 1.45; margin-bottom: 8px; }
        .mo-tl-card-lnk { font-family: 'Archivo', sans-serif; font-size: 10px; letter-spacing: 0.12em; text-transform: uppercase; text-decoration: none; border-bottom: 0.5px solid; display: inline-block; color: rgba(10,10,10,0.3); border-color: rgba(10,10,10,0.2); }
        .mo-tl-card.active.tipo-a .mo-tl-card-lnk { color: #bb4b38; border-color: #bb4b38; }
        .mo-tl-card.active.tipo-c .mo-tl-card-lnk { color: #83a8cb; border-color: #83a8cb; }
        .mo-tl-leyenda { display: flex; gap: 24px; margin-top: 24px; padding-top: 16px; border-top: 0.5px solid rgba(10,10,10,0.1); }
        .mo-tl-leg-item { display: flex; align-items: center; gap: 8px; font-family: 'Archivo', sans-serif; font-size: 10px; letter-spacing: 0.12em; text-transform: uppercase; color: rgba(10,10,10,0.5); }
        .mo-tl-leg-dot { width: 10px; height: 10px; border-radius: 50%; display: inline-block; }
        @media (max-width: 768px) {
            .mo-timeline { padding: 40px 20px 32px; }
            .mo-tl-head { flex-direction: column; gap: 8px; }
            .mo-tl-sub { font-size: 12px; }
            .mo-tl-yr { display: none; }
            .mo-tl-yr[data-año="2003"],.mo-tl-yr[data-año="2005"],.mo-tl-yr[data-año="2010"],.mo-tl-yr[data-año="2015"],.mo-tl-yr[data-año="2020"],.mo-tl-yr[data-año="2026"] { display: block; font-size: 13px; white-space: nowrap; }
            .mo-tl-card { min-width: 100%; }
        }
        @media (max-width: 480px) { .mo-tl-card { min-width: 100%; } }

/* ============================================================
   Hero (cabecera principal)
   origen: mo_hero_shortcode()
   ============================================================ */
.mo-hero { display: grid; grid-template-columns: 1fr 1fr; position: relative; background: #0A0A0A; min-height: 80vh; }
        .mo-hero-divider { position: absolute; top: 64px; bottom: 0; left: 50%; width: 0.5px; background: rgba(247,245,240,0.15); z-index: 1; }
        .mo-hero-col { display: flex; flex-direction: column; justify-content: center; padding: 40px 56px 56px; position: relative; z-index: 2; }
        .mo-hero-col--curadora { align-items: flex-end; text-align: right; }
        .mo-hero-eyebrow { font-family: 'Archivo', sans-serif; font-size: 14px; font-weight: 700; letter-spacing: 0.22em; text-transform: uppercase; margin-bottom: 14px; }
        .mo-hero-eyebrow--artista { color: #bb4b38; opacity: 0.8; }
        .mo-hero-eyebrow--curadora { color: #83a8cb; opacity: 0.8; }
        .mo-hero-title { font-family: 'Archivo Black', sans-serif; font-weight: 900; line-height: 0.88; letter-spacing: -0.03em; margin: 0; text-transform: uppercase; }
        .mo-hero-title--artista { font-size: clamp(52px, 7.5vw, 84px); }
        .mo-hero-title--curadora { font-size: clamp(48px, 7vw, 80px); }
        .mo-hero-l1 { display: block; color: #F7F5F0; }
        .mo-hero-l2 { display: block; }
        .mo-hero-l2--artista { color: #bb4b38; }
        .mo-hero-l2--curadora { color: #83a8cb; }
        .mo-hero-cta { display: inline-block; margin-top: 28px; padding: 12px 28px; font-family: 'Archivo', sans-serif; font-size: 12px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; text-decoration: none; transition: background .2s, color .2s; }
        .mo-hero-cta--artista { align-self: flex-start; border: 1.5px solid #bb4b38; color: #bb4b38; background: transparent; }
        .mo-hero-cta--artista:hover { background: #bb4b38; color: #0A0A0A; }
        .mo-hero-cta--curadora { border: 1.5px solid #83a8cb; color: #83a8cb; background: transparent; }
        .mo-hero-cta--curadora:hover { background: #83a8cb; color: #0A0A0A; }
        @media (max-width: 768px) {
            .mo-hero { grid-template-columns: 1fr; min-height: auto; }
            .mo-hero-divider { display: none; }
            .mo-hero-col { padding: 48px 24px; }
            .mo-hero-col--curadora { align-items: flex-start; text-align: left; border-top: 0.5px solid rgba(247,245,240,0.15); }
            .mo-hero-cta--curadora { align-self: flex-start; }
        }

/* ============================================================
   Ticker (cinta de texto)
   origen: mo_ticker_shortcode()
   ============================================================ */
/* ── TICKER ── */
        .mo-ticker {
            display: grid;
            grid-template-columns: 1fr 1px 1fr;
            background: #0A0A0A;
            padding: 24px 56px;
            gap: 0 40px;
            align-items: start;
        }
        .mo-ticker-col {
            display: flex;
            flex-direction: column;
            gap: 8px;
        }
        .mo-ticker-col--curadora { align-items: flex-end; }
        .mo-ticker-divisor {
            width: 1px;
            background: rgba(247,245,240,0.15);
            align-self: stretch;
            min-height: 32px;
        }
        .mo-ticker-label {
            font-family: 'Archivo', sans-serif;
            font-size: 14px;
            font-weight: 700;
            letter-spacing: 0.2em;
            text-transform: uppercase;
            white-space: nowrap;
            margin-bottom: 4px;
        }
        .mo-ticker-col--artista .mo-ticker-label { color: #bb4b38; }
        .mo-ticker-col--curadora .mo-ticker-label { color: #83a8cb; }
        .mo-ticker-lista { display: flex; flex-direction: column; gap: 6px; }
        .mo-ticker-item { display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap; }
        .mo-ticker-col--curadora .mo-ticker-item { justify-content: flex-end; }
        .mo-ticker-tipo {
            font-family: 'Archivo', sans-serif;
            font-size: 10.5px;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.06em;
            color: rgba(187,75,56,0.75);
            white-space: nowrap;
        }
        .mo-ticker-titulo {
            font-family: 'Archivo', sans-serif;
            font-size: 12px;
            font-weight: 500;
            color: rgba(247,245,240,0.7);
            text-decoration: none;
            transition: color 0.2s;
        }
        .mo-ticker-titulo--artista:hover { color: #bb4b38; }
        .mo-ticker-titulo--curadora:hover { color: #83a8cb; }
        .mo-ticker-proximamente {
            font-size: 12px;
            color: rgba(247,245,240,0.7);
            font-style: italic;
        }
        .mo-ticker-fecha {
            font-family: 'Archivo', sans-serif;
            font-size: 12px;
            color: rgba(247,245,240,0.7);
            white-space: nowrap;
        }
        @media (max-width: 768px) {
            .mo-ticker { grid-template-columns: 1fr; padding: 20px; gap: 16px 0; }
            .mo-ticker-divisor { width: 100%; height: 1px; min-height: 0; }
            .mo-ticker-col--curadora { align-items: flex-start; }
        }

/* ============================================================
   Biografía
   origen: mo_bio_shortcode()
   ============================================================ */
/* ── BIO ── */
        .mo-bio {
            display: grid;
            grid-template-columns: 1fr 1px 1fr;
            background: #0A0A0A;
            padding: 72px 56px;
            gap: 0 56px;
            align-items: start;
            border-top: 4px solid #F7F5F0;
        }

        /* ── IZQ ── */
        .mo-bio-izq {
            display: flex;
            flex-direction: column;
            gap: 16px;
        }

        /* SOBRE */
        .mo-bio-sobre {
            font-family: 'Archivo', sans-serif;
            font-size: 14px;
            font-weight: 700;
            letter-spacing: 0.24em;
            text-transform: uppercase;
            color: rgba(247,245,240,0.7);
        }

        /* NOMBRE — igual que boceto */
        .mo-bio-nombre {
            font-family: 'Archivo', sans-serif;
            font-size: 42px;
            font-weight: 700;
            color: #F7F5F0;
            line-height: 0.95;
            letter-spacing: -0.02em;
            text-transform: uppercase;
            margin: 0;
            display: flex;
            flex-direction: column;
        }

        .mo-bio-nombre span {
            display: block;
        }

        /* BARRAS // */
        .mo-bio-barras {
            display: flex;
            gap: 0;
            margin-top: 4px;
            line-height: 1;
        }

        .mo-bio-barra--roja,
        .mo-bio-barra--azul {
            font-family: 'Archivo', sans-serif;
            font-weight: 300;
            font-size: 36px;
            line-height: 1;
        }

        .mo-bio-barra--roja { color: #bb4b38; }
        .mo-bio-barra--azul { color: #83a8cb; }

        /* TAGLINES */
        .mo-bio-taglines {
            display: flex;
            flex-direction: column;
            gap: 6px;
            margin-bottom: 32px;
        }

        .mo-bio-tagline {
            font-family: 'Archivo', sans-serif;
            font-size: 18px;
            font-weight: 700;
            line-height: 1.3;
            letter-spacing: -0.01em;
            color: #F7F5F0;
            margin: 0;
        }

        .mo-bio-tl-rojo { color: #bb4b38; }
        .mo-bio-tl-azul { color: #83a8cb; }

        /* DIVISOR */
        .mo-bio-divisor {
            width: 1px;
            background: rgba(247,245,240,0.15);
            align-self: stretch;
        }

        /* ── DCHA ── */
        .mo-bio-dcha {
            display: flex;
            flex-direction: column;
            gap: 24px;
        }

        /* // ARTISTA VISUAL · CURADORA */
        .mo-bio-header-dcha {
            display: flex;
            align-items: center;
            gap: 6px;
        }

        .mo-bio-slashes {
            font-family: 'Archivo', sans-serif;
            font-size: 13px;
            font-weight: 700;
            color: #bb4b38;
        }

        .mo-bio-subtitulo {
            font-family: 'Archivo', sans-serif;
            font-size: 12px;
            font-weight: 700;
            letter-spacing: 0.2em;
            text-transform: uppercase;
            color: rgba(247,245,240,0.5);
        }

        .mo-bio-sub--rojo { color: #bb4b38; }
        .mo-bio-sub--azul { color: #83a8cb; }
        .mo-bio-sub--sep  { color: rgba(247,245,240,0.3); }

        /* DESCRIPCIÓN */
        .mo-bio-desc p {
            font-family: 'Archivo', sans-serif;
            font-size: 14px;
            font-weight: 300;
            line-height: 1.75;
            color: rgba(247,245,240,0.7);
            margin: 0 0 16px 0;
        }

        .mo-bio-desc p:last-child { margin-bottom: 0; }

        /* BOTONES */
        .mo-bio-botones {
            display: flex;
            gap: 12px;
            flex-wrap: wrap;
        }

        .mo-bio-btn {
            display: inline-block;
            padding: 11px 22px;
            font-family: 'Archivo', sans-serif;
            font-size: 11px;
            font-weight: 700;
            letter-spacing: 0.14em;
            text-transform: uppercase;
            text-decoration: none;
            color: #F7F5F0;
            border: 1px solid rgba(247,245,240,0.35);
            background: transparent;
            transition: border-color .2s, color .2s;
            white-space: nowrap;
        }

        .mo-bio-btn:hover {
            border-color: #F7F5F0;
            color: #F7F5F0;
        }

        /* ── RESPONSIVE ── */
        @media (max-width: 768px) {
            .mo-bio {
                grid-template-columns: 1fr;
                padding: 56px 24px;
                gap: 40px 0;
            }
            .mo-bio-divisor {
                width: 100%;
                height: 1px;
            }
            .mo-bio-nombre {
                font-size: 32px;
            }
        }

/* ============================================================
   Página de contacto
   origen: mo_contacto_shortcode()
   ============================================================ */
/* ── CONTACTO ── */
        .mo-contacto {
            display: grid;
            grid-template-columns: 1fr 1fr;
            background: #0A0A0A;
        }

        /* ── IZQUIERDA ── */
        .mo-contacto-izq {
            padding: 48px 56px 72px;
            border-right: 1px solid rgba(247,245,240,0.1);
            display: flex;
            flex-direction: column;
        }

        .mo-contacto-head { margin-bottom: 20px; }

        .mo-contacto-eyebrow {
            font-family: 'Archivo', sans-serif;
            font-size: 12px;
            font-weight: 700;
            letter-spacing: 0.22em;
            text-transform: uppercase;
            color: rgba(247,245,240,0.45);
            margin-bottom: 10px;
        }

        .mo-contacto-titulo {
            font-family: 'Archivo Black', sans-serif;
            font-size: clamp(32px, 5vw, 56px);
            font-weight: 800;
            line-height: 0.95;
            letter-spacing: -0.02em;
            text-transform: uppercase;
            color: #F7F5F0;
            margin: 0 0 4px 0;
        }

        .mo-contacto-titulo--acento { color: rgba(247,245,240,0.55); }

        .mo-contacto-sub {
            font-family: 'Archivo', sans-serif;
            font-size: 13px;
            font-weight: 300;
            line-height: 1.7;
            color: rgba(247,245,240,0.75);
            max-width: 100%;
            margin: 0 0 16px 0;
        }

        .mo-contacto-form {
            width: 100%;
        }

        /* Nombre y apellidos | Correo electrónico al 50% cada uno, mismo formato */
        .mo-contacto-form .wpforms-field-container {
            display: grid !important;
            grid-template-columns: 1fr 1fr !important;
            gap: 0 15px !important;
            align-items: start !important;
        }
        .mo-contacto-form .wpforms-field-name,
        .mo-contacto-form .wpforms-field-email {
            width: 100% !important;
            max-width: none !important;
            margin: 0 !important;
            padding-bottom: 12px !important;
        }
        .mo-contacto-form .wpforms-field-name input,
        .mo-contacto-form .wpforms-field-email input {
            width: 100% !important;
            max-width: none !important;
        }
        /* Asunto, Mensaje y botón Enviar ocupan toda la fila siguiente */
        .mo-contacto-form .wpforms-field-text,
        .mo-contacto-form .wpforms-field-textarea,
        .mo-contacto-form .wpforms-submit-container {
            grid-column: 1 / 3 !important;
            width: 100% !important;
        }
        /* Excepción: no romper los campos honeypot ocultos (anti-spam) */
        .mo-contacto-form .wpforms-field-container [style*="position: absolute"] {
            display: block !important;
            grid-column: auto !important;
        }

        /* Reduce el espacio entre el subtítulo y el formulario, y entre campos */
        .mo-contacto-form .wpforms-container,
        .mo-contacto-form .wpforms-form {
            margin-top: 0 !important;
        }
        .mo-contacto-form .wpforms-field {
            padding: 0 0 12px 0 !important;
            margin: 0 !important;
        }
        .mo-contacto-form .wpforms-field-label {
            margin-bottom: 4px !important;
        }
        .mo-contacto-form textarea {
            min-height: 90px !important;
        }

        /* Estilos base para WPForms dentro del tema oscuro */
        .mo-contacto-form .wpforms-container input[type=text],
        .mo-contacto-form .wpforms-container input[type=email],
        .mo-contacto-form .wpforms-container textarea {
            background: transparent !important;
            border: 1px solid rgba(247,245,240,0.3) !important;
            color: #F7F5F0 !important;
            font-family: 'Archivo', sans-serif !important;
            border-radius: 0 !important;
        }
        .mo-contacto-form .wpforms-container label {
            color: rgba(247,245,240,0.6) !important;
            font-family: 'Archivo', sans-serif !important;
            font-size: 11px !important;
            letter-spacing: 0.08em;
            text-transform: uppercase;
        }
        .mo-contacto-form .wpforms-container button[type=submit] {
            background: transparent !important;
            border: 1px solid rgba(247,245,240,0.35) !important;
            color: #F7F5F0 !important;
            font-family: 'Archivo', sans-serif !important;
            font-size: 11px !important;
            font-weight: 700 !important;
            letter-spacing: 0.14em !important;
            text-transform: uppercase !important;
            border-radius: 0 !important;
            padding: 11px 22px !important;
            transition: border-color .2s, color .2s;
        }
        .mo-contacto-form .wpforms-container button[type=submit]:hover {
            border-color: #F7F5F0 !important;
        }

        /* ── DERECHA (wrapper) ── */
        .mo-contacto-dcha {
            display: grid;
            grid-template-columns: 1.6fr 1px 1fr;
            gap: 0 40px;
            padding: 48px 56px 72px;
        }

        .mo-contacto-divisor-interno {
            width: 1px;
            background: rgba(247,245,240,0.15);
        }

        /* ── DERECHA 1 ── */
        .mo-contacto-dcha1 {
            display: flex;
            flex-direction: column;
            gap: 32px;
        }

        .mo-contacto-bloque-titulo {
            font-family: 'Archivo', sans-serif;
            font-size: 11px;
            font-weight: 700;
            letter-spacing: 0.16em;
            text-transform: uppercase;
            color: rgba(247,245,240,0.5);
            margin-bottom: 12px;
        }

        .mo-contacto-lista {
            list-style: none;
            margin: 0;
            padding: 0;
            display: flex;
            flex-direction: column;
            gap: 6px;
        }

        .mo-contacto-lista li {
            font-family: 'Archivo', sans-serif;
            font-size: 13px;
            font-weight: 300;
            line-height: 1.5;
            color: rgba(247,245,240,0.75);
            padding-left: 14px;
            position: relative;
        }

        .mo-contacto-lista li::before {
            content: '—';
            position: absolute;
            left: 0;
            color: rgba(247,245,240,0.3);
        }

        .mo-contacto-texto {
            font-family: 'Archivo', sans-serif;
            font-size: 13px;
            font-weight: 300;
            line-height: 1.6;
            color: rgba(247,245,240,0.75);
            margin: 0;
        }

        /* ── DERECHA 2 ── */
        .mo-contacto-dcha2 {
            display: flex;
            flex-direction: column;
            gap: 22px;
        }

        .mo-info-block { display: flex; flex-direction: column; gap: 6px; }

        .mo-info-key {
            font-family: 'Archivo', sans-serif;
            font-size: 11px;
            font-weight: 700;
            letter-spacing: 0.18em;
            text-transform: uppercase;
            color: rgba(247,245,240,0.5);
        }

        .mo-info-val {
            font-family: 'Archivo', sans-serif;
            font-size: 13px;
            font-weight: 300;
            color: rgba(247,245,240,0.8);
        }

        .mo-info-link {
            color: rgba(247,245,240,0.8);
            text-decoration: none;
            transition: opacity 0.2s;
        }
        .mo-info-link:hover { opacity: 0.6; }
        .mo-info-link--rojo:hover { color: #bb4b38; opacity: 1; }
        .mo-info-link--azul:hover { color: #83a8cb; opacity: 1; }
        .mo-info-sep { color: rgba(247,245,240,0.3); margin: 0 6px; }

        /* ── RESPONSIVE ── */
        @media (max-width: 1024px) {
            .mo-contacto { grid-template-columns: 1fr; }
            .mo-contacto-izq { border-right: none; border-bottom: 1px solid rgba(247,245,240,0.1); }
            .mo-contacto-dcha { grid-template-columns: 1fr; gap: 32px 0; }
            .mo-contacto-divisor-interno { width: 100%; height: 1px; }
        }

        @media (max-width: 768px) {
            .mo-contacto-izq,
            .mo-contacto-dcha {
                padding: 48px 24px;
            }
        }

/* ============================================================
   Footer
   origen: mo_footer_shortcode()
   ============================================================ */
/* ── FOOTER ── */
        .mo-footer {
            display: flex;
            align-items: center;
            justify-content: space-between;
            flex-wrap: wrap;
            gap: 16px;
            background: #0A0A0A;
            border-top: 1px solid rgba(247,245,240,0.1);
            padding: 24px 56px;
        }

        /* COPYRIGHT */
        .mo-footer-copy {
            font-family: 'Archivo', sans-serif;
            font-size: 11px;
            font-weight: 300;
            color: rgba(247,245,240,0.4);
            white-space: nowrap;
        }

        /* ENLACES LEGALES */
        .mo-footer-legal {
            display: flex;
            align-items: center;
            gap: 10px;
        }

        .mo-footer-legal a {
            font-family: 'Archivo', sans-serif;
            font-size: 11px;
            font-weight: 400;
            color: rgba(247,245,240,0.4);
            text-decoration: none;
            transition: color 0.2s;
            white-space: nowrap;
        }

        .mo-footer-legal a:hover {
            color: #F7F5F0;
        }

        .mo-footer-sep {
            font-size: 10px;
            color: rgba(247,245,240,0.2);
        }

        /* REDES SOCIALES */
        .mo-footer-redes {
            display: flex;
            align-items: center;
            gap: 18px;
            padding-right: 125px;
        }

        .mo-footer-icon {
            font-size: 15px;
            color: rgba(247,245,240,0.4);
            text-decoration: none;
            transition: color 0.2s;
            line-height: 1;
        }

        .mo-footer-icon:hover {
            color: #F7F5F0;
        }

        .mo-footer-icon--rojo { color: #bb4b38; }
        .mo-footer-icon--rojo:hover { color: #F7F5F0; }

        .mo-footer-icon--azul { color: #83a8cb; }
        .mo-footer-icon--azul:hover { color: #F7F5F0; }

        .mo-footer-icon--svg {
            display: flex;
            align-items: center;
            color: rgba(247,245,240,0.4);
        }

        .mo-footer-icon--svg:hover {
            color: #F7F5F0;
        }

        .mo-footer-red-texto {
            font-family: 'Archivo', sans-serif !important;
            font-size: 11px !important;
            font-weight: 400 !important;
            color: rgba(247,245,240,0.4) !important;
            text-decoration: none !important;
            transition: color 0.2s !important;
        }

        .mo-footer-red-texto:hover {
            color: #F7F5F0 !important;
        }

       /* ── RESPONSIVE ── */
        @media (max-width: 768px) {
            .mo-footer {
                flex-direction: column;
                align-items: flex-start;
                padding: 24px;
                gap: 20px;
            }
            .mo-footer-legal {
                flex-wrap: wrap;
            }
            .mo-footer-redes {
                padding-right: 0;
            }
        }

/* ============================================================
   Listados de proyectos
   origen: mo_listados_proyectos_shortcode()
   ============================================================ */
/* ── LISTADOS PROYECTOS ── */
        .mo-listados {
            display: grid;
            grid-template-columns: 1fr 1fr;
        }

        .mo-listados-col {
            padding: 52px 48px;
        }

        /* Artista: fondo blanco, borde rojo */
        .mo-listados-col--artista {
            background: #F7F5F0;
            border-top: 4px solid #bb4b38;
            border-right: 0.5px solid rgba(10,10,10,0.1);
        }

        /* Curadora: fondo negro, borde azul */
        .mo-listados-col--curadora {
            background: #0A0A0A;
            border-top: 4px solid #83a8cb;
        }

        /* ── TAG ── */
        .mo-listados-tag {
            font-family: 'Archivo', sans-serif;
            font-size: 14px;
            font-weight: 700;
            letter-spacing: 0.25em;
            text-transform: uppercase;
            margin-bottom: 28px;
            display: flex;
            align-items: center;
            gap: 8px;
        }

        .mo-listados-col--artista .mo-listados-tag { color: #bb4b38; }
        .mo-listados-col--curadora .mo-listados-tag { color: #83a8cb; }

        .mo-listados-dash--rojo { color: #bb4b38; }
        .mo-listados-dash--azul { color: #83a8cb; }

        /* ── LISTA ── */
        .mo-listados-lista {
            list-style: none;
            margin: 0 0 36px 0;
            padding: 0;
        }

        .mo-listados-item {
            display: flex;
            align-items: baseline;
            gap: 16px;
            padding: 15px 0;
        }

        .mo-listados-item--artista { border-bottom: 0.5px solid rgba(10,10,10,0.08); }
        .mo-listados-item--curadora { border-bottom: 0.5px solid rgba(247,245,240,0.08); }

        /* NÚMERO */
        .mo-listados-num {
            font-family: 'Archivo', sans-serif;
            font-size: 12px;
            font-weight: 400;
            min-width: 20px;
        }

        .mo-listados-num--artista { color: rgba(10,10,10,0.35); }
        .mo-listados-num--curadora { color: rgba(247,245,240,0.55); }

        /* NOMBRE */
        .mo-listados-nombre {
            font-family: 'Archivo', sans-serif;
            font-size: 15px;
            font-weight: 500;
            flex: 1;
            line-height: 1.2;
            text-decoration: none;
            transition: color 0.2s, opacity 0.2s;
        }

        .mo-listados-nombre--artista { color: #0A0A0A; }
        .mo-listados-nombre--artista:hover { opacity: 0.55; }
        .mo-listados-nombre--curadora { color: rgba(247,245,240,0.88); }
        .mo-listados-nombre--curadora:hover { color: #a8c4d9; opacity: 1; }

        /* AÑO */
        .mo-listados-ano {
            font-family: 'Archivo', sans-serif;
            font-size: 12px;
            font-weight: 400;
            letter-spacing: 0.08em;
            white-space: nowrap;
        }

        .mo-listados-ano--artista { color: rgba(10,10,10,0.35); }
        .mo-listados-ano--curadora { color: rgba(247,245,240,0.55); }

        /* ENLACE VER TODO */
        .mo-listados-link {
            font-family: 'Archivo', sans-serif;
            font-size: 12px;
            font-weight: 700;
            letter-spacing: 0.22em;
            text-transform: uppercase;
            text-decoration: none;
            padding-bottom: 3px;
            display: inline-block;
            transition: opacity 0.2s;
        }

        .mo-listados-link--rojo {
            color: #bb4b38;
            border-bottom: 0.5px solid rgba(187,75,56,0.4);
        }

        .mo-listados-link--azul {
            color: #83a8cb;
            border-bottom: 0.5px solid rgba(131,168,203,0.4);
        }
        .mo-listados-link--azul:hover {
            color: #a8c4d9;
            opacity: 1;
        }

        .mo-listados-link:hover { opacity: 0.6; }

        /* ── RESPONSIVE ── */
        @media (max-width: 768px) {
            .mo-listados { grid-template-columns: 1fr; }
            .mo-listados-col { padding: 40px 24px; }
            .mo-listados-col--curadora { border-top: 4px solid #83a8cb; }
        }

/* ============================================================
   Instituciones colaboradoras
   origen: mo_instituciones_shortcode()
   ============================================================ */
/* ── INSTITUCIONES COLABORADORAS ── */
        .mo-collab {
            background: #F7F5F0;
            padding: 48px 56px 56px;
            border-top: 0.5px solid rgba(10,10,10,0.08);
        }

        /* LABEL */
        .mo-collab-label {
            font-family: 'Archivo', sans-serif;
            font-size: 14px;
            font-weight: 700;
            letter-spacing: 0.22em;
            text-transform: uppercase;
            color: rgba(10,10,10,0.45);
            margin-bottom: 24px;
            padding-bottom: 14px;
            border-bottom: 0.5px solid rgba(10,10,10,0.1);
        }

        /* GRID 8 COLUMNAS */
        .mo-collab-grid {
            display: grid;
            grid-template-columns: repeat(8, 1fr);
        }

        /* CELDA */
        .mo-collab-cell {
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            padding: 12px 8px;
            border-right: 0.5px solid rgba(10,10,10,0.07);
            border-bottom: 0.5px solid rgba(10,10,10,0.07);
            min-height: 60px;
            gap: 6px;
            transition: background 0.2s;
        }

        .mo-collab-cell:nth-child(8n) {
            border-right: none;
        }

        .mo-collab-cell:hover {
            background: rgba(10,10,10,0.03);
        }

        /* ENLACE */
        .mo-collab-link {
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 8px;
            text-decoration: none;
            width: 100%;
        }

        /* LOGO */
        .mo-collab-logo {
            height: 36px;
            width: auto;
            max-width: 110px;
            object-fit: contain;
            filter: grayscale(100%);
            opacity: 0.45;
            transition: filter 0.3s, opacity 0.3s;
            display: block;
        }

        .mo-collab-cell:hover .mo-collab-logo {
            filter: grayscale(0%);
            opacity: 1;
        }

        /* PLACEHOLDER (cuando no hay logo) */
        .mo-collab-placeholder {
            width: 72px;
            height: 28px;
            border: 1px dashed rgba(10,10,10,0.15);
            border-radius: 2px;
        }

        /* NOMBRE */
        .mo-collab-txt {
            font-family: 'Archivo', sans-serif;
            font-size: 9px;
            font-weight: 500;
            color: rgba(10,10,10,0.45);
            text-align: center;
            line-height: 1.35;
        }

        /* RESPONSIVE */
        @media (max-width: 1200px) {
            .mo-collab-grid { grid-template-columns: repeat(6, 1fr); }
            .mo-collab-cell:nth-child(8n) { border-right: 0.5px solid rgba(10,10,10,0.07); }
            .mo-collab-cell:nth-child(6n) { border-right: none; }
        }

        @media (max-width: 1024px) {
            .mo-collab-grid { grid-template-columns: repeat(4, 1fr); }
            .mo-collab-cell:nth-child(6n) { border-right: 0.5px solid rgba(10,10,10,0.07); }
            .mo-collab-cell:nth-child(4n) { border-right: none; }
        }

        @media (max-width: 768px) {
            .mo-collab { padding: 32px 24px; }
            .mo-collab-grid { grid-template-columns: repeat(3, 1fr); }
            .mo-collab-cell:nth-child(4n) { border-right: 0.5px solid rgba(10,10,10,0.07); }
            .mo-collab-cell:nth-child(3n) { border-right: none; }
        }

        @media (max-width: 480px) {
            .mo-collab-grid { grid-template-columns: repeat(2, 1fr); }
            .mo-collab-cell:nth-child(3n) { border-right: 0.5px solid rgba(10,10,10,0.07); }
            .mo-collab-cell:nth-child(2n) { border-right: none; }
        }

/* ============================================================
   Página Creación Artística
   origen: mo_creacion_artistica_shortcode()
   ============================================================ */
/* ── CREACIÓN ARTÍSTICA — fondo blanco, acentos rojo ── */
        .mo-ca {
            background: #F7F5F0;
            padding: 0 0 48px;
        }

        /* CABECERA */
        .mo-ca-head {
            padding: 48px 56px 32px;
            background: #F7F5F0;
        }

        .mo-ca-eyebrow {
            font-family: 'Archivo', sans-serif;
            font-size: 12px;
            font-weight: 700;
            letter-spacing: 0.22em;
            text-transform: uppercase;
            color: rgba(10,10,10,0.45);
            margin-bottom: 10px;
        }

        .mo-ca-titulo {
            font-family: 'Archivo Black', sans-serif;
            font-size: clamp(32px, 5vw, 56px);
            font-weight: 800;
            line-height: 0.95;
            letter-spacing: -0.02em;
            text-transform: uppercase;
            color: #0A0A0A;
            margin: 0;
        }

        .mo-ca-titulo--acento { color: #bb4b38; }

        /* GRID */
        .mo-ca-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            grid-template-rows: minmax(240px, auto) minmax(140px, auto) minmax(120px, auto);
            grid-template-areas:
                'proy proy inst'
                'foto libros tray'
                'arch otros otros';
            gap: 1px;
            background: rgba(10,10,10,0.1);
            margin: 0 56px;
        }

        /* BLOQUES */
        .mo-ca-bloque {
            background: #F7F5F0;
            position: relative;
            padding: 14px 18px;
            overflow: hidden;
            transition: background 0.2s;
        }

        .mo-ca-bloque:hover { background: #eeecea; }

        .mo-ca-bloque--proy   { grid-area: proy; }
        .mo-ca-bloque--inst   { grid-area: inst; }
        .mo-ca-bloque--tray   { grid-area: tray; }
        .mo-ca-bloque--arch   { grid-area: arch; }
        .mo-ca-bloque--foto   { grid-area: foto; }
        .mo-ca-bloque--libros { grid-area: libros; }
        .mo-ca-bloque--otros  {
            grid-area: otros;
            display: flex;
            align-items: center;
            gap: 16px;
            padding: 10px 18px;
        }

        /* NÚMEROS — escalonados por bloque */
        .mo-ca-num {
            position: absolute;
            top: 2px;
            left: 10px;
            font-family: 'Archivo Black', sans-serif;
            font-weight: 800;
            color: rgba(187,75,56,0.50);
            line-height: 1;
            pointer-events: none;
        }

        /* 01 el más grande */
        .mo-ca-bloque--proy   .mo-ca-num { font-size: 72px; }
        /* 02 grande */
        .mo-ca-bloque--inst   .mo-ca-num { font-size: 50px; }
        /* 03 04 05 06 medianos */
        .mo-ca-bloque--tray   .mo-ca-num { font-size: 38px; }
        .mo-ca-bloque--arch   .mo-ca-num { font-size: 38px; }
        .mo-ca-bloque--foto   .mo-ca-num { font-size: 34px; }
        .mo-ca-bloque--libros .mo-ca-num { font-size: 34px; }

        /* 07 inline, tamaño intermedio */
        .mo-ca-num--inline {
            position: static;
            font-family: 'Archivo Black', sans-serif;
            font-size: 44px;
            font-weight: 800;
            color: rgba(187,75,56,0.50);
            line-height: 1;
            flex-shrink: 0;
        }

        /* CONTENT — padding-top ajustado al tamaño del número */
        .mo-ca-content {
            position: relative;
            padding-top: 28px;
        }

        .mo-ca-content--proy { padding-top: 56px; }
        .mo-ca-bloque--inst  .mo-ca-content { padding-top: 42px; }
        .mo-ca-bloque--tray  .mo-ca-content { padding-top: 30px; }
        .mo-ca-bloque--arch  .mo-ca-content { padding-top: 30px; }
        .mo-ca-bloque--foto  .mo-ca-content { padding-top: 26px; }
        .mo-ca-bloque--libros .mo-ca-content { padding-top: 26px; }

        /* TÍTULO BLOQUE */
        .mo-ca-bloque-titulo {
            font-family: 'Archivo', sans-serif;
            font-size: 13px;
            font-weight: 800;
            text-transform: uppercase;
            color: #0A0A0A;
            margin-bottom: 8px;
            letter-spacing: 0.02em;
        }

        /* ENLACES */
        .mo-ca-enlaces {
            font-family: 'Archivo', sans-serif;
            font-size: 10px;
            font-weight: 400;
            line-height: 1.9;
            color: rgba(10,10,10,0.6);
        }

        .mo-ca-enlaces--lg {
            font-size: 11px;
            line-height: 1.9;
        }

        /* ENLACE INDIVIDUAL */
        .mo-ca-enlace {
            color: #0A0A0A !important;
            text-decoration: none !important;
            border-bottom: 0.5px solid #bb4b38 !important;
            transition: opacity 0.2s;
            font-size: 14px;
        }

        .mo-ca-enlace:hover {
            opacity: 0.6;
            text-decoration: none !important;
        }

        /* PRÓXIMAMENTE */
        .mo-ca-proximo {
            color: rgba(10,10,10,0.4);
            font-size: 12px;
        }

        /* RESPONSIVE */
        @media (max-width: 1024px) {
            .mo-ca-grid {
                grid-template-columns: repeat(2, 1fr);
                grid-template-rows: auto;
                grid-template-areas:
                    'proy proy'
                    'inst foto'
                    'libros tray'
                    'arch otros';
                margin: 0 24px;
            }
            .mo-ca-bloque--proy { min-height: 140px; }
        }

        @media (max-width: 640px) {
            .mo-ca-head { padding: 32px 24px 24px; }
            .mo-ca-grid {
                grid-template-columns: 1fr;
                grid-template-areas:
                    'proy' 'inst' 'foto'
                    'libros' 'tray' 'arch' 'otros';
                margin: 0 24px;
            }
            .mo-ca-bloque { min-height: 80px; }
        }

/* ============================================================
   Página Gestión Cultural
   origen: mo_gestion_cultural_shortcode()
   ============================================================ */
/* ── GESTIÓN CULTURAL — fondo negro, acentos azul ── */
        .mo-gc {
            background: #0A0A0A;
            padding: 0 0 48px;
        }

        /* CABECERA */
        .mo-gc-head {
            padding: 48px 56px 32px;
            background: #0A0A0A;
        }

        .mo-gc-eyebrow {
            font-family: 'Archivo', sans-serif;
            font-size: 12px;
            font-weight: 700;
            letter-spacing: 0.22em;
            text-transform: uppercase;
            color: rgba(247,245,240,0.45);
            margin-bottom: 10px;
        }

        .mo-gc-titulo {
            font-family: 'Archivo Black', sans-serif;
            font-size: clamp(32px, 5vw, 56px);
            font-weight: 800;
            line-height: 0.95;
            letter-spacing: -0.02em;
            text-transform: uppercase;
            color: #F7F5F0;
            margin: 0;
        }

        .mo-gc-titulo--acento { color: #83a8cb; }

        /* GRID */
        .mo-gc-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            grid-template-rows: minmax(260px, auto) minmax(110px, auto);
            grid-template-areas:
                'proy proy act'
                'jur cons cons';
            gap: 1px;
            background: rgba(247,245,240,0.1);
            margin: 0 56px;
        }

        /* BLOQUES */
        .mo-gc-bloque {
            background: #0A0A0A;
            position: relative;
            padding: 16px 18px;
            overflow: hidden;
            transition: background 0.2s;
        }

        .mo-gc-bloque:hover { background: #111; }

        .mo-gc-bloque--proy { grid-area: proy; }
        .mo-gc-bloque--act  { grid-area: act; }
        .mo-gc-bloque--jur  { grid-area: jur; }
        .mo-gc-bloque--cons { grid-area: cons; }

        /* NÚMEROS */
        .mo-gc-num {
            position: absolute;
            top: 0;
            left: 8px;
            font-family: 'Archivo Black', sans-serif;
            font-size: 44px;
            font-weight: 800;
            color: rgba(131,168,203,0.40);
            line-height: 1;
            pointer-events: none;
        }

        .mo-gc-num--xl { font-size: 72px; top: 2px; left: 10px; }
        .mo-gc-num--sm { font-size: 36px; }

        /* CONTENT */
        .mo-gc-content {
            position: relative;
            padding-top: 36px;
        }

        .mo-gc-content--proy { padding-top: 56px; }
        .mo-gc-content--act  { padding-top: 38px; }
        .mo-gc-content--sm   { padding-top: 28px; }

        /* TÍTULO BLOQUE */
        .mo-gc-bloque-titulo {
            font-family: 'Archivo', sans-serif;
            font-size: 17px;
            font-weight: 800;
            text-transform: uppercase;
            color: #F7F5F0;
            margin-bottom: 12px;
            letter-spacing: 0.02em;
        }

        .mo-gc-bloque-titulo--sm {
            font-size: 12px;
            margin-bottom: 6px;
        }

        /* SUBTÍTULO DE SUBGRUPO */
        .mo-gc-subtitulo {
            font-family: 'Archivo', sans-serif;
            font-size: 12px;
            font-weight: 700;
            letter-spacing: 0.12em;
            text-transform: uppercase;
            color: rgba(247,245,240,0.45);
            margin-bottom: 4px;
            margin-top: 10px;
        }

        .mo-gc-subtitulo:first-of-type { margin-top: 0; }

        /* ENLACES */
        .mo-gc-enlaces {
            font-family: 'Archivo', sans-serif;
            font-size: 12px;
            font-weight: 400;
            line-height: 1.9;
            color: rgba(247,245,240,0.6);
            margin-bottom: 4px;
        }

        .mo-gc-enlaces--lg   { font-size: 12px; line-height: 1.8; }

        .mo-gc-enlaces--vert {
            display: block;
            font-size: 12px;
            line-height: 1.9;
        }

        /* ENLACE INDIVIDUAL */
        .mo-gc-enlace {
            color: #F7F5F0 !important;
            text-decoration: none !important;
            border-bottom: 0.5px solid #83a8cb !important;
            transition: opacity 0.2s;
            display: inline;
            font-size: 14px;
        }

        .mo-gc-enlace:hover {
            opacity: 0.6;
            text-decoration: none !important;
        }

        /* RESPONSIVE */
        @media (max-width: 1024px) {
            .mo-gc-grid {
                grid-template-columns: repeat(2, 1fr);
                grid-template-rows: auto auto auto;
                grid-template-areas:
                    'proy proy'
                    'act jur'
                    'cons cons';
                margin: 0 24px;
            }
            .mo-gc-bloque--proy { min-height: 200px; }
        }

        @media (max-width: 640px) {
            .mo-gc-head { padding: 32px 24px 24px; }
            .mo-gc-grid {
                grid-template-columns: 1fr;
                grid-template-areas:
                    'proy' 'act' 'jur' 'cons';
                margin: 0 24px;
            }
            .mo-gc-bloque { min-height: 80px; }
        }

/* ============================================================
   Trayectoria (premios, colecciones, residencias)
   origen: mo_tray_estilos_cpt()
   ============================================================ */
.mo-tray { background:#F7F5F0; font-family:"Archivo",sans-serif; padding-bottom:56px; }
        .mo-tray-head { padding:48px 56px 24px; border-bottom:0.5px solid rgba(10,10,10,0.08); }
        .mo-tray-eyebrow { font-size:12px; font-weight:700; letter-spacing:0.22em; text-transform:uppercase; color:rgba(10,10,10,0.45); margin-bottom:10px; }
        .mo-tray-titulo { font-family:"Archivo Black",sans-serif; font-size:clamp(28px,4vw,48px); font-weight:800; text-transform:uppercase; line-height:0.95; letter-spacing:-0.02em; color:#0A0A0A; margin:0; }
        .mo-tray-acento { color:#bb4b38; }
        .mo-tray-nav-int { display:flex; gap:0; padding:0 56px; border-bottom:0.5px solid rgba(10,10,10,0.08); }
        .mo-tray-nav-item { font-size:12px; font-weight:700; letter-spacing:0.12em; text-transform:uppercase; text-decoration:none !important; color:rgba(10,10,10,0.4) !important; padding:16px 20px; border-bottom:2px solid transparent; transition:color 0.2s,border-color 0.2s; }
        .mo-tray-nav-item:hover { color:#0A0A0A !important; }
        .mo-tray-nav-item--activo { color:#bb4b38 !important; border-bottom-color:#bb4b38; }
        .mo-tray-bloque { padding:40px 56px 0; }
        .mo-tray-bloque-titulo { font-size:12px; font-weight:700; letter-spacing:0.18em; text-transform:uppercase; color:rgba(10,10,10,0.4); margin-bottom:16px; padding-bottom:10px; border-bottom:0.5px solid rgba(10,10,10,0.08); }
        .mo-tray-lista { display:flex; flex-direction:column; }
        .mo-tray-item { display:flex; gap:24px; padding:16px 0; border-bottom:0.5px solid rgba(10,10,10,0.06); align-items:flex-start; }
        .mo-tray-item:last-child { border-bottom:none; }
        .mo-tray-contenido { display:flex; flex-direction:column; gap:4px; flex:1; }
        .mo-tray-titulo-entrada { font-size:15px; font-weight:700; color:#0A0A0A; display:block; }
        .mo-tray-titulo-entrada--sec { font-size:13px; font-weight:500; }
        .mo-tray-desc-entrada { font-size:13px; font-weight:300; line-height:1.6; color:rgba(10,10,10,0.7); }
        .mo-tray-desc-entrada--sec { font-size:12px; }
        .mo-tray-lugar-entrada { font-size:11px; font-weight:300; color:rgba(10,10,10,0.45); }
        .mo-tray-enlace-titulo { text-decoration:none !important; }
        .mo-tray-enlace-titulo:hover .mo-tray-titulo-entrada { color:#bb4b38; }
        .mo-tray-ano { font-size:12px; font-weight:700; color:#bb4b38; min-width:100px; flex-shrink:0; }
        .mo-tray-ano--sec { color:rgba(187,75,56,0.6); font-weight:400; }
        .mo-tray-desc { font-size:13px; font-weight:300; line-height:1.6; color:#0A0A0A; }
        .mo-tray-desc--sec { color:rgba(10,10,10,0.6); font-size:12px; }
        .mo-tray-lugar { color:rgba(10,10,10,0.4); font-size:11px; }
        .mo-tray-enlace { color:#0A0A0A !important; text-decoration:none !important; border-bottom:0.5px solid #bb4b38 !important; transition:opacity 0.2s; }
        .mo-tray-enlace:hover { opacity:0.6; }
        .mo-tray-rel { padding:40px 56px 0; }
        .mo-tray-rel-label { font-size:12px; font-weight:700; letter-spacing:0.15em; text-transform:uppercase; color:rgba(10,10,10,0.35); margin-bottom:14px; }
        .mo-tray-rel-enlaces { display:flex; gap:28px; flex-wrap:wrap; }
        .mo-tray-rel-enlace { font-size:12px; font-weight:400; color:#0A0A0A !important; text-decoration:none !important; border-bottom:0.5px solid #bb4b38 !important; transition:opacity 0.2s; }
        .mo-tray-rel-enlace:hover { opacity:0.6; }
        /* Residencias */
        .mo-tray-residencia { padding:28px 0; border-bottom:0.5px solid rgba(10,10,10,0.08); }
        .mo-tray-residencia:last-child { border-bottom:none; }
        .mo-tray-res-cabecera { display:flex; gap:24px; align-items:baseline; margin-bottom:12px; flex-wrap:wrap; }
        .mo-tray-res-titulo { font-size:15px; font-weight:700; color:#0A0A0A; flex:1; }
        .mo-tray-res-subtitulo { font-size:13px; font-weight:300; color:rgba(10,10,10,0.70); width:100%; padding-left:124px; }
        .mo-tray-res-obras { padding-left:124px; }
        .mo-tray-res-obras-label { font-size:11px; font-weight:700; letter-spacing:0.12em; text-transform:uppercase; color:rgba(10,10,10,0.55); margin-bottom:8px; }
        .mo-tray-res-obra { font-size:13px; font-weight:300; line-height:1.6; color:rgba(10,10,10,0.7); margin-bottom:6px; }
        .mo-tray-res-obra em { font-style:italic; }
        @media(max-width:768px){
            .mo-tray-head,.mo-tray-nav-int,.mo-tray-bloque,.mo-tray-rel{padding-left:24px;padding-right:24px;}
            .mo-tray-ano{min-width:72px;}
            .mo-tray-res-subtitulo,.mo-tray-res-obras{padding-left:96px;}
        }

/* ============================================================
   Archivo Artístico
   origen: mo_archivo_artistico_shortcode()
   ============================================================ */
.mo-arch { background:#F7F5F0; font-family:'Archivo',sans-serif; padding-bottom:64px; }

        /* CABECERA */
        .mo-arch-head { padding:48px 56px 28px; border-bottom:0.5px solid rgba(10,10,10,0.08); }
        .mo-arch-eyebrow { font-size:12px; font-weight:700; letter-spacing:0.22em; text-transform:uppercase; color:rgba(10,10,10,0.45); margin-bottom:10px; }
        .mo-arch-titulo { font-family:'Archivo Black',sans-serif; font-size:clamp(28px,4vw,52px); font-weight:800; text-transform:uppercase; line-height:0.95; letter-spacing:-0.02em; color:#0A0A0A; margin:0 0 16px; }
        .mo-arch-acento { color:#bb4b38; }
        .mo-arch-leyenda { display:flex; gap:20px; flex-wrap:wrap; }
        .mo-arch-ley { font-size:12px; font-weight:700; letter-spacing:0.1em; text-transform:uppercase; }
        .mo-arch-ley--a { color:#bb4b38; }
        .mo-arch-ley--b { color:#8c2d1e; }

        /* TIMELINE */
        .mo-arch-tl { padding:32px 56px 0; user-select:none; }

        /* TIMELINE — posicionamiento por porcentaje (igual que la línea de
           tiempo del Home), para que quepan todos los años sin desplazamiento
           y funcione igual en escritorio y en móvil */
        .mo-arch-track-wrap { position:relative; height:88px; margin-bottom:8px; }
        .mo-arch-axis { position:absolute; top:44px; left:0; right:0; height:1px; background:rgba(10,10,10,0.12); }

        .mo-arch-pt {
            position:absolute; width:8px; height:8px; border-radius:50%;
            transform:translateX(-50%); cursor:pointer;
            transition:transform 0.15s, background 0.15s;
        }
        .mo-arch-pt--arriba { top:6px; background:rgba(187,75,56,0.35); }
        .mo-arch-pt--abajo  { top:78px; background:rgba(140,45,30,0.25); }
        .mo-arch-pt--arriba.activo, .mo-arch-pt--arriba:hover { background:#bb4b38; transform:translateX(-50%) scale(1.5); }
        .mo-arch-pt--abajo.activo,  .mo-arch-pt--abajo:hover  { background:#8c2d1e; transform:translateX(-50%) scale(1.5); }

        .mo-arch-yr {
            position:absolute; top:37px; transform:translateX(-50%);
            font-size:11px; font-weight:700; color:rgba(10,10,10,0.3);
            white-space:nowrap; background:#F7F5F0; padding:0 3px; line-height:1;
            cursor:pointer; transition:color 0.15s;
        }
        .mo-arch-yr:hover, .mo-arch-yr.activo { color:#bb4b38; }

        /* CARDS */
        .mo-arch-cards-wrap { padding:24px 56px 0; }
        .mo-arch-cards-titulo {
            font-family:'Archivo Black',sans-serif; font-size:40px; font-weight:800;
            color:rgba(187,75,56,0.15); line-height:1; margin-bottom:12px;
        }
        .mo-arch-cards {
            display:grid; grid-template-columns:repeat(4,1fr);
            gap:8px; min-height:140px; transition:opacity 0.25s;
        }
        .mo-arch-card {
            background:#fff; border:0.5px solid rgba(10,10,10,0.07);
            padding:16px; display:flex; flex-direction:column; gap:4px;
            transition:border-color 0.2s;
        }
        .mo-arch-card:hover { border-color:rgba(187,75,56,0.3); }
        .mo-arch-card-ano { font-family:'Archivo Black',sans-serif; font-size:18px; font-weight:800; color:#bb4b38; }
        .mo-arch-card-tipo { font-size:11px; font-weight:700; letter-spacing:0.12em; text-transform:uppercase; color:rgba(187,75,56,0.6); }
        .mo-arch-card-titulo { font-size:12px; font-weight:500; line-height:1.4; color:#0A0A0A; margin-top:4px; }
        .mo-arch-card-lugar { font-size:11px; font-weight:300; color:rgba(10,10,10,0.60); line-height:1.4; }
        .mo-arch-card-url { font-size:11px; color:#bb4b38 !important; text-decoration:none !important; margin-top:auto; padding-top:8px; }
        .mo-arch-card-docs { display:flex; flex-wrap:wrap; align-items:flex-start; gap:8px; margin-top:8px; border-top:0.5px solid rgba(10,10,10,0.06); padding-top:8px; }
        .mo-arch-card-doc {
            font-size:11px; color:rgba(10,10,10,0.55) !important;
            text-decoration:none !important; display:flex; align-items:center; gap:4px;
            transition:color 0.2s;
        }
        .mo-arch-card-doc:hover { color:#bb4b38 !important; }
        .mo-arch-card-doc--img { display:inline-block; line-height:0; }
        .mo-arch-card-thumb {
            width:72px; height:72px; object-fit:cover; display:block;
            border:1px solid rgba(10,10,10,0.1); transition:opacity 0.2s, border-color 0.2s;
        }
        .mo-arch-card-doc--img:hover .mo-arch-card-thumb { opacity:0.85; border-color:#bb4b38; }
        .mo-arch-card-video { margin-top:8px; border-top:0.5px solid rgba(10,10,10,0.06); padding-top:8px; }
        .mo-arch-card-video-wrap { position:relative; padding-bottom:56.25%; height:0; overflow:hidden; }
        .mo-arch-card-video-wrap iframe { position:absolute; top:0; left:0; width:100%; height:100%; border:none; }
        .mo-arch-sin-datos {
            grid-column:1/-1; display:flex; align-items:center; justify-content:center;
            color:rgba(10,10,10,0.3); font-size:12px; font-style:italic; min-height:80px;
        }
        .mo-arch-contador { font-size:12px; color:rgba(10,10,10,0.45); margin-top:12px; }

        /* RESPONSIVE */
        @media(max-width:1024px){ .mo-arch-cards{grid-template-columns:repeat(3,1fr);} }
        @media(max-width:768px){
            .mo-arch-head,.mo-arch-tl,.mo-arch-cards-wrap{padding-left:24px;padding-right:24px;}
            .mo-arch-cards{grid-template-columns:repeat(2,1fr);}
            .mo-arch-yr { display:none; }
            .mo-arch-yr--ancla { display:block; font-size:12px; }
        }
        @media(max-width:480px){ .mo-arch-cards{grid-template-columns:1fr;} }

/* ============================================================
   Páginas internas de Gestión Cultural
   origen: mo_gc_estilos_paginas()
   ============================================================ */
/* ── PÁGINAS GESTIÓN CULTURAL — fondo negro, azul ── */
        .mo-gc-pag {
            background: #0A0A0A;
            font-family: "Archivo", sans-serif;
            padding-bottom: 56px;
            min-height: 100vh;
        }
        .mo-gc-pag-head {
            padding: 48px 56px 24px;
            border-bottom: 0.5px solid rgba(247,245,240,0.08);
        }
        .mo-gc-pag-eyebrow {
            font-size: 12px; font-weight: 700; letter-spacing: 0.22em;
            text-transform: uppercase; color: rgba(247,245,240,0.45); margin-bottom: 10px;
        }
        .mo-gc-pag-titulo {
            font-family: "Archivo Black", sans-serif;
            font-size: clamp(28px,4vw,48px); font-weight: 800;
            text-transform: uppercase; line-height: 0.95;
            letter-spacing: -0.02em; color: #F7F5F0; margin: 0;
        }
        .mo-gc-pag-acento { color: #83a8cb; }

        /* NAVEGACIÓN INTERNA */
        .mo-gc-pag-nav {
            display: flex; gap: 0; padding: 0 56px;
            border-bottom: 0.5px solid rgba(247,245,240,0.08);
        }
        .mo-gc-pag-nav-item {
            font-size: 12px; font-weight: 700; letter-spacing: 0.12em;
            text-transform: uppercase; text-decoration: none !important;
            color: rgba(247,245,240,0.4) !important;
            padding: 16px 20px; border-bottom: 2px solid transparent;
            transition: color 0.2s, border-color 0.2s;
        }
        .mo-gc-pag-nav-item:hover { color: #F7F5F0 !important; }
        .mo-gc-pag-nav-item--activo {
            color: #83a8cb !important;
            border-bottom-color: #83a8cb;
        }

        /* BLOQUES DE CONTENIDO */
        .mo-gc-pag-bloque { padding: 40px 56px 0; }
        .mo-gc-pag-bloque-titulo {
            font-size: 12px; font-weight: 700; letter-spacing: 0.18em;
            text-transform: uppercase; color: rgba(247,245,240,0.4);
            margin-bottom: 20px; padding-bottom: 12px;
            border-bottom: 0.5px solid rgba(247,245,240,0.08);
        }

        /* TEXTO WYSIWYG */
        .mo-gc-pag-texto p {
            font-size: 14px; font-weight: 300; line-height: 1.8;
            color: rgba(247,245,240,0.75); margin: 0 0 16px 0;
        }
        .mo-gc-pag-texto p:last-child { margin-bottom: 0; }
        .mo-gc-pag-texto strong { font-weight: 700; color: #F7F5F0; }
        .mo-gc-pag-texto em { font-style: italic; }
        .mo-gc-pag-texto ul, .mo-gc-pag-texto ol { padding-left: 20px; margin-bottom: 16px; }
        .mo-gc-pag-texto li { font-size: 14px; font-weight: 300; line-height: 1.8; color: rgba(247,245,240,0.75); margin-bottom: 4px; }
        .mo-gc-pag-texto a { color: #83a8cb !important; text-decoration: none !important; border-bottom: 0.5px solid rgba(131,168,203,0.4) !important; }
        .mo-gc-pag-texto h2, .mo-gc-pag-texto h3 { font-family: "Archivo", sans-serif; font-weight: 700; color: #F7F5F0; margin: 24px 0 8px; }
        .mo-gc-pag-texto h2 { font-size: 16px; }
        .mo-gc-pag-texto h3 { font-size: 14px; }

        /* LISTA DE EVENTOS */
        .mo-gc-pag-lista { display: flex; flex-direction: column; }
        .mo-gc-pag-item {
            display: flex; gap: 24px; padding: 16px 0;
            border-bottom: 0.5px solid rgba(247,245,240,0.06);
            align-items: flex-start;
        }
        .mo-gc-pag-item:last-child { border-bottom: none; }
        .mo-gc-pag-ano {
            font-size: 12px; font-weight: 700; color: #83a8cb;
            min-width: 100px; flex-shrink: 0;
        }
        .mo-gc-pag-contenido { display: flex; flex-direction: column; gap: 4px; flex: 1; }
        .mo-gc-pag-nombre { font-size: 15px; font-weight: 700; color: #F7F5F0; }
        .mo-gc-pag-desc { font-size: 13px; font-weight: 300; line-height: 1.6; color: rgba(247,245,240,0.65); }
        .mo-gc-pag-lugar { font-size: 11px; font-weight: 300; color: rgba(247,245,240,0.4); }
        .mo-gc-pag-enlace {
            font-size: 11px; color: #83a8cb !important;
            text-decoration: none !important; border-bottom: 0.5px solid rgba(131,168,203,0.4) !important;
            transition: opacity 0.2s; display: inline-block; margin-top: 4px;
        }
        .mo-gc-pag-enlace:hover { opacity: 0.7; }

        /* RELACIONADO */
        .mo-gc-pag-rel { padding: 40px 56px 0; }
        .mo-gc-pag-rel-label {
            font-size: 12px; font-weight: 700; letter-spacing: 0.15em;
            text-transform: uppercase; color: rgba(247,245,240,0.35); margin-bottom: 14px;
        }
        .mo-gc-pag-rel-enlaces { display: flex; gap: 28px; flex-wrap: wrap; }
        .mo-gc-pag-rel-enlace {
            font-size: 12px; color: #F7F5F0 !important;
            text-decoration: none !important;
            border-bottom: 0.5px solid #83a8cb !important; transition: opacity 0.2s;
        }
        .mo-gc-pag-rel-enlace:hover { opacity: 0.6; }

        /* RESPONSIVE */
        @media(max-width:768px){
            .mo-gc-pag-head,.mo-gc-pag-nav,.mo-gc-pag-bloque,.mo-gc-pag-rel{padding-left:24px;padding-right:24px;}
            .mo-gc-pag-ano{min-width:72px;}
        }

/* ============================================================
   Actividad Cultural
   origen: mo_act_estilos()
   ============================================================ */
/* ── ACTIVIDAD CULTURAL — fondo negro, azul ── */
        .mo-act-pag {
            background: #0A0A0A;
            font-family: "Archivo", sans-serif;
            padding-bottom: 56px;
            min-height: 100vh;
        }
        .mo-act-head {
            padding: 48px 56px 24px;
            border-bottom: 0.5px solid rgba(247,245,240,0.08);
        }
        .mo-act-eyebrow {
            font-size: 12px; font-weight: 700; letter-spacing: 0.22em;
            text-transform: uppercase; color: rgba(247,245,240,0.45); margin-bottom: 10px;
        }
        .mo-act-titulo-pag {
            font-family: "Archivo Black", sans-serif;
            font-size: clamp(28px,4vw,48px); font-weight: 800;
            text-transform: uppercase; line-height: 0.95;
            letter-spacing: -0.02em; color: #F7F5F0; margin: 0;
        }
        .mo-act-acento { color: #83a8cb; }

        /* NAVEGACIÓN INTERNA */
        .mo-act-nav {
            display: flex; gap: 0; padding: 0 56px;
            border-bottom: 0.5px solid rgba(247,245,240,0.08);
        }
        .mo-act-nav-item {
            font-size: 12px; font-weight: 700; letter-spacing: 0.12em;
            text-transform: uppercase; text-decoration: none !important;
            color: rgba(247,245,240,0.4) !important;
            padding: 16px 20px; border-bottom: 2px solid transparent;
            transition: color 0.2s, border-color 0.2s;
        }
        .mo-act-nav-item:hover { color: #F7F5F0 !important; }
        .mo-act-nav-item--activo {
            color: #83a8cb !important;
            border-bottom-color: #83a8cb;
        }

        /* BLOQUE CONTENIDO */
        .mo-act-bloque { padding: 40px 56px 0; }
        .mo-act-bloque-titulo {
            font-size: 12px; font-weight: 700; letter-spacing: 0.18em;
            text-transform: uppercase; color: rgba(247,245,240,0.4);
            margin-bottom: 20px; padding-bottom: 12px;
            border-bottom: 0.5px solid rgba(247,245,240,0.08);
        }

        /* LISTA */
        .mo-act-lista { display: flex; flex-direction: column; gap: 20px; }
        .mo-act-item {
            padding: 24px;
            background: rgba(247,245,240,0.035);
            border-radius: 6px;
        }
        .mo-act-imagen-banner {
            display: block; width: 100%;
            position: relative;
            height: 0;
            /* padding-top en % se calcula sobre el ancho del contenedor PADRE,
               no sobre el propio ancho de esta caja — por eso la altura se
               mantiene fija aunque el ancho cambie con --n1/--n2/--n3/--n4.
               3.5/16 = 21.875% (misma proporción que antes con 4 fotos) */
            padding-top: 21.875%;
            overflow: hidden; margin-top: 20px; border-radius: 2px;
        }
        .mo-act-imagen-banner--n1 { max-width: 30%; margin-left: auto; margin-right: auto; }
        .mo-act-imagen-banner--n2 { max-width: 65%; margin-left: auto; margin-right: auto; }
        .mo-act-imagen-banner--n3 { max-width: 85%; margin-left: auto; margin-right: auto; }
        .mo-act-imagen-banner--n4 { max-width: 100%; }

        /* Galería: todas las fotos a la vez, en fila, a igual tamaño.
           Posicionada en absoluto para rellenar la caja de altura fija de arriba. */
        .mo-act-galeria { position: absolute; top: 0; left: 0; right: 0; bottom: 0; display: flex; gap: 4px; }
        .mo-act-galeria a { flex: 1; display: block; height: 100%; overflow: hidden; }
        .mo-act-galeria img {
            width: 100%; height: 100%; object-fit: cover; display: block;
            transition: opacity 0.2s;
        }
        .mo-act-galeria a:hover img { opacity: 0.9; }
        @media(max-width:640px){
            .mo-act-imagen-banner { padding-top: 37.5%; margin-top: 16px; }
            .mo-act-imagen-banner--n1,
            .mo-act-imagen-banner--n2,
            .mo-act-imagen-banner--n3 { max-width: 100%; }
        }
        .mo-act-cabecera {
            display: flex; gap: 24px; align-items: flex-start;
            margin-bottom: 16px;
        }
        .mo-act-ano {
            font-size: 12px; font-weight: 700; color: #83a8cb;
            min-width: 80px; flex-shrink: 0; padding-top: 2px;
        }
        .mo-act-info { display: flex; flex-direction: column; gap: 4px; flex: 1; }
        .mo-act-titulo {
            font-size: 15px; font-weight: 700; color: #F7F5F0; display: block;
        }
        .mo-act-titulo-link {
            text-decoration: none !important; color: #F7F5F0 !important;
            transition: color 0.2s;
        }
        .mo-act-titulo-link:hover { color: #83a8cb !important; }
        .mo-act-lugar {
            font-size: 12px; font-weight: 300; color: rgba(247,245,240,0.65);
        }

        /* DESCRIPCIÓN WYSIWYG */
        .mo-act-desc {
            margin-left: 104px;
            padding-left: 0;
        }
        .mo-act-desc p {
            font-size: 13px; font-weight: 300; line-height: 1.8;
            color: rgba(247,245,240,0.7); margin: 0 0 10px 0;
        }
        .mo-act-desc strong { font-weight: 700; color: rgba(247,245,240,0.65); }
        .mo-act-desc em { font-style: italic; }
        .mo-act-desc ul, .mo-act-desc ol { padding-left: 20px; margin-bottom: 12px; }
        .mo-act-desc li {
            font-size: 13px; font-weight: 300; line-height: 1.6;
            color: rgba(247,245,240,0.7); margin-bottom: 3px;
        }
        .mo-act-desc a {
            color: #83a8cb !important; text-decoration: none !important;
            border-bottom: 0.5px solid rgba(131,168,203,0.4) !important;
        }
        .mo-act-desc h2, .mo-act-desc h3 {
            font-weight: 700; color: #F7F5F0;
            margin: 16px 0 6px;
        }
        .mo-act-desc h2 { font-size: 14px; }
        .mo-act-desc h3 { font-size: 13px; }

        /* RELACIONADO */
        .mo-act-rel { padding: 40px 56px 0; }
        .mo-act-rel-label {
            font-size: 12px; font-weight: 700; letter-spacing: 0.15em;
            text-transform: uppercase; color: rgba(247,245,240,0.35); margin-bottom: 14px;
        }
        .mo-act-rel-enlaces { display: flex; gap: 28px; flex-wrap: wrap; }
        .mo-act-rel-enlace {
            font-size: 12px; color: #F7F5F0 !important;
            text-decoration: none !important;
            border-bottom: 0.5px solid #83a8cb !important; transition: opacity 0.2s;
        }
        .mo-act-rel-enlace:hover { opacity: 0.6; }

        /* RESPONSIVE */
        @media(max-width:768px){
            .mo-act-head,.mo-act-nav,.mo-act-bloque,.mo-act-rel{padding-left:24px;padding-right:24px;}
            .mo-act-ano{min-width:60px;}
            .mo-act-desc{margin-left:84px;}
        }

/* ============================================================
   Consultoría Cultural (landing)
   origen: mo_consultoria_landing_shortcode()
   ============================================================ */
.mo-cons-land { background:#0A0A0A; font-family:"Archivo",sans-serif; padding:48px 56px 64px; }
        .mo-cons-land-head { max-width:640px; margin-bottom:36px; }
        .mo-cons-land-eyebrow { font-size:12px; font-weight:700; letter-spacing:0.22em; text-transform:uppercase; color:rgba(247,245,240,0.45); margin-bottom:10px; }
        .mo-cons-land-titulo { font-family:"Archivo Black",sans-serif; font-size:clamp(28px,4vw,48px); font-weight:800; text-transform:uppercase; line-height:0.95; letter-spacing:-0.02em; color:#F7F5F0; margin:0; }
        .mo-cons-land-acento { color:#83a8cb; }
        .mo-cons-land-sub { color:rgba(247,245,240,0.65); font-size:14px; margin-top:14px; max-width:480px; font-weight:300; line-height:1.6; }

        .mo-cons-land-grid { display:grid; grid-template-columns:1fr 1fr; gap:1px; background:rgba(247,245,240,0.1); }
        .mo-cons-land-tile { background:#0A0A0A; position:relative; padding:24px 26px; text-decoration:none !important; display:block; transition:background 0.2s; }
        .mo-cons-land-tile:hover { background:rgba(131,168,203,0.06); }
        .mo-cons-land-tile--grande { min-height:220px; }
        .mo-cons-land-tile--peq { min-height:130px; }

        .mo-cons-land-num { font-family:"Archivo Black",sans-serif; font-size:52px; font-weight:800; color:rgba(131,168,203,0.25); line-height:1; margin-bottom:6px; }
        .mo-cons-land-num--peq { font-size:32px; }

        .mo-cons-land-nombre { font-size:15px; font-weight:800; text-transform:uppercase; color:#F7F5F0; margin-bottom:10px; letter-spacing:0.01em; }
        .mo-cons-land-nombre--peq { font-size:13px; margin-bottom:6px; }

        .mo-cons-land-desc { font-size:13.5px; font-weight:300; line-height:1.65; color:rgba(247,245,240,0.68); margin-bottom:10px; max-width:420px; }
        .mo-cons-land-desc--peq { font-size:12.5px; margin-bottom:8px; }

        .mo-cons-land-prueba { font-size:12px; line-height:1.6; color:#83a8cb; opacity:0.85; margin-bottom:4px; }

        .mo-cons-land-cta { display:inline-block; margin-top:6px; color:#F7F5F0; font-size:12px; border-bottom:1px solid #83a8cb; padding-bottom:1px; }
        .mo-cons-land-tile:hover .mo-cons-land-cta { color:#83a8cb; }
        .mo-cons-land-cta--peq { font-size:11.5px; }

        .mo-cons-land-final { margin-top:32px; padding:28px 32px; background:rgba(131,168,203,0.08); text-align:center; }
        .mo-cons-land-final-titulo { color:#F7F5F0; font-size:15px; font-weight:700; margin-bottom:8px; }
        .mo-cons-land-final-sub { color:rgba(247,245,240,0.7); font-size:12.5px; margin-bottom:16px; font-weight:300; }
        .mo-cons-land-final-cta { display:inline-block; background:#83a8cb; color:#0A0A0A; font-size:11px; font-weight:700; padding:10px 24px; text-transform:uppercase; letter-spacing:0.05em; text-decoration:none !important; }
        .mo-cons-land-final-cta:hover { opacity:0.70; color:#0A0A0A !important; }

        @media(max-width:768px){
            .mo-cons-land { padding:32px 24px 48px; }
            .mo-cons-land-grid { grid-template-columns:1fr; }
            .mo-cons-land-tile--grande, .mo-cons-land-tile--peq { min-height:auto; }
        }

/* ============================================================
   Página Sobre Mí
   origen: mo_sobre_mi_estilos()
   ============================================================ */
.mo-sm-head { padding:48px 56px 32px; }
        .mo-sm-eyebrow { font-family:"Archivo",sans-serif; font-size:12px; font-weight:700; letter-spacing:.22em; text-transform:uppercase; color:rgba(10,10,10,.45); margin-bottom:10px; }
        .mo-sm-titulo { font-family:"Archivo Black",sans-serif; font-size:clamp(32px,5vw,56px); font-weight:800; line-height:.95; letter-spacing:-.02em; text-transform:uppercase; color:#0A0A0A; }
        .mo-sm-titulo--acento { color:#8a8a86; }

        .mo-sm-grid { display:grid; grid-template-columns:repeat(4, 1fr); grid-auto-rows:1fr; gap:1px; background:rgba(10,10,10,0.1); margin:0 56px; font-family:"Archivo",sans-serif; align-items:stretch; }
.mo-sm-tile { background:#F7F5F0; position:relative; overflow:hidden; transition:background .2s; display:flex; flex-direction:column; justify-content:center; }
        .mo-sm-tile:hover { background:#eeecea; }
        .mo-sm-span-2 { grid-column:span 2; }

        /* FOTO */
        .mo-sm-tile--foto { padding:0; background:#0A0A0A; }
        .mo-sm-tile--foto img { width:100%; height:100%; object-fit:cover; display:block; }

        /* PASTILLA NEGRA — identidad */
        .mo-sm-tile--negra { background:#0A0A0A; padding:24px; display:flex; flex-direction:column; justify-content:center; }
        .mo-sm-tile--negra:hover { background:#0A0A0A; }
        .mo-sm-hero-dots { display:flex; gap:6px; align-items:center; margin-bottom:4px; }
        .mo-sm-dot { width:6px; height:6px; border-radius:50%; flex-shrink:0; }
        .mo-sm-dot-label { color:#999; font-size:10.5px; text-transform:uppercase; letter-spacing:.08em; }
        .mo-sm-hero-nombre { font-family:"Archivo Black",sans-serif; font-size:20px; line-height:1.1; text-transform:uppercase; color:#F7F5F0; margin-top:10px; }
        .mo-sm-hero-rol { color:#B8B6B0; font-size:11px; margin-top:8px; line-height:1.5; }

        /* PASTILLAS NUMERADAS */
        .mo-sm-tile-num { position:absolute; top:2px; left:10px; font-family:"Archivo Black",sans-serif; font-weight:800; color:rgba(10,10,10,0.18); line-height:1; pointer-events:none; font-size:40px; }
.mo-sm-span-2 .mo-sm-tile-num { font-size:58px; }
.mo-sm-tile-num--rojo { color:rgba(187,75,56,0.45); }
.mo-sm-tile-num--azul { color:rgba(131,168,203,0.55); }
        .mo-sm-tile-content { position:relative; padding:14px 18px 10px; padding-top:44px; }
.mo-sm-span-2 .mo-sm-tile-content { padding-top:62px; }
        .mo-sm-label { color:#5f5e5a; font-size:11.5px; letter-spacing:.14em; text-transform:uppercase; margin-bottom:14px; font-weight:700; }
        .mo-sm-statement { color:#2a2a28; font-size:13.5px; line-height:1.8; font-style:italic; }

        .mo-sm-details { margin-top:4px; }
        .mo-sm-summary { font-size:12px; border-bottom:1px solid; cursor:pointer; display:inline-block; list-style:none; margin-top:12px; }
        .mo-sm-summary::-webkit-details-marker { display:none; }
        .mo-sm-summary--rojo { color:#bb4b38; border-color:#bb4b38; }
        .mo-sm-summary--azul { color:#83a8cb; border-color:#83a8cb; }
        .mo-sm-details[open] .mo-sm-summary { margin-bottom:18px; }
        .mo-sm-expandido { color:#3a3a38; font-size:12.5px; line-height:1.8; max-height:440px; overflow-y:auto; padding-right:8px; }
        .mo-sm-expandido h2, .mo-sm-expandido h3, .mo-sm-expandido h4 { color:#0A0A0A; font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.05em; margin:20px 0 8px; }
        .mo-sm-expandido ul { list-style:none; margin:0; padding:0; }
        .mo-sm-expandido li { position:relative; padding:8px 0 8px 20px; border-bottom:1px solid rgba(10,10,10,.08); font-size:12.5px; line-height:1.6; color:#3a3a38; }
        .mo-sm-expandido li::before { content:""; position:absolute; left:2px; top:15px; width:6px; height:6px; border-radius:50%; background:#bb4b38; }
        .mo-sm-tile--comisariado .mo-sm-expandido li::before { background:#83a8cb; }

        .mo-sm-bloque-texto { color:#3a3a38; font-size:12px; line-height:1.65; }
        .mo-sm-bio-link { display:inline-block; margin-top:10px; font-size:11.5px; border-bottom:1px solid; text-decoration:none !important; }
        .mo-sm-bio-link--rojo { color:#bb4b38 !important; border-color:#bb4b38; }
        .mo-sm-bio-link--azul { color:#83a8cb !important; border-color:#83a8cb; }

        .mo-sm-cv-botones { display:flex; flex-direction:column; gap:8px; align-items:flex-start; }
        .mo-sm-cv-botones--statement { margin-top:36px; }
        .mo-sm-cv-btn { color:#0A0A0A; font-size:11.5px; border:1px solid rgba(10,10,10,.3); padding:8px 16px; text-decoration:none !important; display:inline-block; }
        .mo-sm-cv-btn:hover { background:#0A0A0A; color:#F7F5F0 !important; }

        /* TEXTOS CRÍTICOS — enlaces en línea, tipo "Otros proyectos" */
        .mo-sm-textos-inline { font-size:11.5px; line-height:1.8; }
        .mo-sm-texto-enlace { color:#0A0A0A !important; text-decoration:none !important; border-bottom:1px solid #bb4b38; }
        .mo-sm-textos-sep { color:#c9c7c2; margin:0 2px; }

        @media(max-width:900px){
            .mo-sm-grid { grid-template-columns:repeat(2, 1fr); margin:0 24px; }
            .mo-sm-tile--foto, .mo-sm-tile--negra { grid-column:span 1; }
            .mo-sm-span-2 { grid-column:span 2; }
        }
        @media(max-width:640px){
            .mo-sm-grid { grid-template-columns:1fr; margin:0 20px; }
            .mo-sm-span-2, .mo-sm-tile--foto, .mo-sm-tile--negra { grid-column:span 1; }
            .mo-sm-tile--foto { min-height:320px; }
        }

/* ============================================================
   Textos críticos (ficha individual)
   origen: mo_texto_critico_estilos()
   ============================================================ */
.mo-tc-ficha { max-width:720px; margin:0; padding:24px 56px 64px; font-family:"Archivo",sans-serif; }
        .mo-tc-breadcrumb { font-size:11px; color:#8a8a86; margin-bottom:28px; }
        .mo-tc-breadcrumb a { color:#8a8a86; text-decoration:none; border-bottom:1px solid #c9c7c2; }
        .mo-tc-breadcrumb a:hover { color:#bb4b38; border-color:#bb4b38; }

        .mo-tc-eyebrow { font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:#bb4b38; font-weight:700; margin-bottom:10px; }
        .mo-tc-titulo { font-family:"Archivo Black",sans-serif; font-size:clamp(24px,3.5vw,34px); line-height:1.15; text-transform:uppercase; color:#0A0A0A; margin-bottom:8px; }
        .mo-tc-autor { font-size:13px; color:#5c5c58; font-style:italic; margin-bottom:32px; }

        .mo-tc-cuerpo { font-size:14px; line-height:1.85; color:#2a2a28; }
        .mo-tc-cuerpo p { margin-bottom:16px; }

        .mo-tc-exposiciones { margin-top:36px; padding-top:24px; border-top:1px solid rgba(10,10,10,.1); }
        .mo-tc-label { font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:#5f5e5a; margin-bottom:12px; font-weight:700; }
        .mo-tc-lista { list-style:none; }
        .mo-tc-lista li { font-size:12.5px; color:#3a3a38; padding:7px 0 7px 16px; position:relative; border-bottom:1px solid rgba(10,10,10,.06); }
        .mo-tc-lista li::before { content:""; position:absolute; left:0; top:15px; width:5px; height:5px; border-radius:50%; background:#bb4b38; }

        .mo-tc-urls { margin-top:24px; display:flex; flex-direction:column; gap:10px; align-items:flex-start; }
.mo-tc-enlace { display:inline-block; font-size:12px; color:#bb4b38 !important; border-bottom:1px solid #bb4b38; text-decoration:none !important; }

        .mo-tc-volver { margin-top:48px; padding-top:20px; border-top:1px solid rgba(10,10,10,.1); }
        .mo-tc-volver a { font-size:12px; color:#5c5c58; text-decoration:none; border-bottom:1px solid #c9c7c2; }
        .mo-tc-volver a:hover { color:#bb4b38; border-color:#bb4b38; }
body.single-texto_critico .container_inner.default_template_holder { padding-top:0 !important; }
        @media(max-width:640px){ .mo-tc-ficha { padding:24px 20px 48px; } }
		body.single-texto_critico .title_subtitle_holder { display:none !important; }
body.single-texto_critico #comments { display:none !important; }
body.single-texto_critico .entry_title { display:none !important; }
body.single-texto_critico .post_info { display:none !important; }
body.single-texto_critico .title_outer { display:none !important; }

/* ============================================================
   Textos críticos (listado)
   origen: mo_textos_criticos_lista_shortcode()
   ============================================================ */
.mo-tcl-lista { list-style:none; display:grid; grid-template-columns:repeat(auto-fill, minmax(220px, 1fr)); gap:14px; }
    .mo-tcl-item { padding:16px; border:1px solid rgba(10,10,10,.1); background:rgba(10,10,10,.02); transition:border-color .2s; }
    .mo-tcl-item:hover { border-color:#bb4b38; }
        .mo-tcl-enlace { font-size:13px; font-weight:700; color:#0A0A0A !important; text-decoration:none !important; border-bottom:1px solid #bb4b38; }
        .mo-tcl-meta { display:block; font-size:11px; color:#8a8a86; margin-top:4px; }

/* ============================================================
   Buscador (resultados de búsqueda)
   origen: mo_buscador_estilos()
   ============================================================ */
.mo-buscador-resultados { max-width:820px; margin:0; padding:0 56px 64px; font-family:"Archivo",sans-serif; }

        /* Esta página usa una plantilla propia (no hereda el espaciado automático
           del resto de páginas), así que corregimos aquí dos cosas:
           1) quitamos el padding izquierdo/derecho duplicado de mo-sm-head
              (el contenedor ya lo aplica, así queda alineado con el buscador)
           2) añadimos margen superior suficiente para que no quede tapado
              por el menú fijo */
        .mo-buscador-resultados .mo-sm-head { padding: 120px 0 32px; }

        .mo-buscador-contador { font-size:12.5px; color:#8a8a86; margin-bottom:32px; }
		
		.mo-buscador-form { display:flex; gap:10px; margin-bottom:32px; max-width:480px; }
        .mo-buscador-form-input { flex:1; font-family:"Archivo",sans-serif; font-size:15px; padding:12px 14px; border:1.5px solid rgba(10,10,10,0.2); background:#fff; color:#0A0A0A; }
        .mo-buscador-form-input::placeholder { color:rgba(10,10,10,0.35); }
        .mo-buscador-form-boton { font-family:"Archivo",sans-serif; font-size:13px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; padding:12px 20px; background:#0A0A0A; color:#F7F5F0; border:none; cursor:pointer; transition:background .2s; }
        .mo-buscador-form-boton:hover { background:#3a3a38; }

        .mo-buscador-lista { display:flex; flex-direction:column; gap:1px; background:rgba(10,10,10,0.08); }
        .mo-buscador-item { display:block; background:#fff; padding:18px 20px; text-decoration:none !important; transition:background .2s; }
        .mo-buscador-item:hover { background:rgba(187,75,56,0.04); }
        .mo-buscador-item-tipo { display:inline-block; font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:#bb4b38; font-weight:700; margin-bottom:6px; }
        .mo-buscador-item-titulo { display:block; font-size:15px; font-weight:700; color:#0A0A0A; margin-bottom:4px; }
        .mo-buscador-item-extracto { display:block; font-size:12px; color:#5c5c58; line-height:1.5; }

        .mo-buscador-vacio { color:#8a8a86; font-size:13px; }
       @media(max-width:640px){
    .mo-buscador-resultados { padding:72px 20px 48px; }
    .mo-buscador-resultados .mo-sm-head { padding: 96px 0 24px; }
}

/* ============================================================
   Buscador (resultados de búsqueda) (bloque 2)
   origen: mo_buscador_estilos()
   ============================================================ */
.title_outer .title_holder .title_subtitle_holder h1,
    .title_outer .title_holder .title_subtitle_holder h1 span,
    .title_subtitle_holder h1,
    .title_subtitle_holder h1 span {
        color: #6b6b66 !important;
    }
    .title_subtitle_holder { text-align: left !important; padding-left: 56px !important; padding-right: 56px !important; }
    .title_subtitle_holder * { text-align: left !important; }

    .page_not_found, .page_not_found h1,
.page_not_found h2 {
        color: #6b6b66 !important;
    }
    .page_not_found a {
        color: #6b6b66 !important;
        border-color: #6b6b66 !important;
    }

    .qbutton.with-shadow {
        color: #6b6b66 !important;
        border-color: #6b6b66 !important;
        background-color: transparent !important;
    }
    .qbutton.with-shadow:hover {
        color: #3a3a38 !important;
        border-color: #3a3a38 !important;
        background-color: rgba(10,10,10,0.05) !important;
    }

    @media(max-width:640px){
        .title_subtitle_holder { padding-left: 20px !important; padding-right: 20px !important; }
    }

/* ============================================================
   Publicaciones (catálogos y prensa)
   origen: mo_publicaciones_estilos()
   ============================================================ */
.mo-pub { background:#F7F5F0; font-family:"Archivo",sans-serif; padding-bottom:48px; }
        .mo-pub-head { padding:48px 56px 32px; }
        .mo-pub-eyebrow { font-family:"Archivo",sans-serif; font-size:12px; font-weight:700; letter-spacing:.22em; text-transform:uppercase; color:rgba(10,10,10,.45); margin-bottom:10px; }
        .mo-pub-titulo { font-family:"Archivo Black",sans-serif; font-size:clamp(32px,5vw,56px); font-weight:800; line-height:.95; letter-spacing:-.02em; text-transform:uppercase; color:#0A0A0A; margin:0; }
        .mo-pub-titulo--acento { color:#8a8a86; }

        .mo-pub-tabs { padding:0 56px 8px; display:flex; gap:8px; flex-wrap:wrap; }
        .mo-pub-tab { display:flex; align-items:center; gap:6px; font-size:11px; padding:8px 14px; color:#5c5c58; text-decoration:none !important; }
        .mo-pub-tab--activa { background:#fff; color:#0A0A0A; font-weight:700; }
        .mo-pub-dot { width:7px; height:7px; border-radius:50%; }
        .mo-pub-dot--rojo { background:#bb4b38; }
        .mo-pub-dot--azul { background:#83a8cb; }

        .mo-pub-section { padding:20px 56px 8px; }
        .mo-pub-section-titulo { color:#0A0A0A; font-size:18px; font-weight:800; text-transform:uppercase; }
		.mo-pub-subseccion { margin-top:28px; }
        .mo-pub-section-titulo--sub { font-size:15px; padding-left:14px; border-left:3px solid rgba(10,10,10,.15); }
        .mo-pub-section-count { color:#8a8a86; font-size:12px; margin-bottom:14px; }

        .mo-pub-lista { background:#fff; }
        .mo-pub-fila { display:flex; gap:16px; align-items:center; padding:12px 16px; border-bottom:1px solid rgba(10,10,10,.08); }
		.mo-pub-cover { width:38px; height:52px; flex-shrink:0; overflow:hidden; cursor:zoom-in; }
        .mo-pub-cover--wide { width:52px; height:52px; }
        .mo-pub-cover img { width:100%; height:100%; object-fit:cover; display:block; }
        .mo-pub-fila:last-child { border-bottom:none; }
        .mo-pub-fila-contenido { flex:1; min-width:0; }
        .mo-pub-ano { font-size:12px; font-weight:700; display:block; }
        .mo-pub-ano--rojo { color:#bb4b38; }
        .mo-pub-ano--azul { color:#83a8cb; }
        .mo-pub-fila-titulo { color:#0A0A0A; font-size:12.5px; font-weight:700; margin-top:2px; line-height:1.4; }
        .mo-pub-fila-nota { color:#6a6a66; font-size:11px; margin-top:2px; }
        .mo-pub-boton { color:#0A0A0A; font-size:11px; border:1px solid rgba(10,10,10,.25); padding:5px 12px; white-space:nowrap; flex-shrink:0; text-decoration:none !important; }
        .mo-pub-boton:hover { background:#0A0A0A; color:#F7F5F0 !important; }

        .mo-pub-vacio { color:#8a8a86; font-size:12px; background:#fff; padding:20px 16px; }

        @media(max-width:640px){
            .mo-pub-head, .mo-pub-tabs, .mo-pub-section { padding-left:20px; padding-right:20px; }
        }

/* ============================================================
   Enlace PDF de publicación
   origen: mo_publicacion_pdf_estilos()
   ============================================================ */
.mo-pub-inline-link {
            display: inline-block;
            font-size: 12px;
            color: #bb4b38 !important;
            border-bottom: 1px solid #bb4b38;
            text-decoration: none !important;
        }
        .mo-pub-inline-link:hover {
            opacity: 0.7;
        }

/* ============================================================
   Ajuste del menú móvil (nativo del tema Bridge, no de nuestros
   shortcodes) — separa el texto de cada enlace del borde izquierdo
   ============================================================ */
#menu-nav_menu-1 > li > a {
    padding-left: 24px;
    display: block;
    box-sizing: border-box;
}

/* ============================================================
   Ajuste del formulario de contacto (nativo de WPForms, no de
   nuestros shortcodes) — el enlace a la Política de Privacidad
   dentro de la casilla de consentimiento: blanco en vez de rojo
   (para que se lea bien sobre fondo negro) y alineado a la
   izquierda, sin la sangría por defecto del plugin
   ============================================================ */
.wpforms-field-checkbox .wpforms-field-description {
    padding-left: 0 !important;
    margin-left: 0 !important;
}
#wpforms-190-field_4-description {
    padding-left: 0 !important;
    margin-left: 0 !important;
}
.wpforms-field-description a,
.wpforms-field-description a:visited,
#wpforms-190-field_4-description a,
#wpforms-190-field_4-description a:visited {
    color: #F7F5F0 !important;
    text-decoration: underline;
}
.wpforms-field-description a:hover,
#wpforms-190-field_4-description a:hover {
    color: #8a8a86 !important;
}

/* ============================================================
   Menú de escritorio comprimido en la franja intermedia
   (1001px-1320px) — Bridge no cambia a hamburguesa funcional
   hasta 1000px, así que en este rango el menú tiene que seguir
   siendo el de escritorio, pero más compacto para no chocar con
   el logo. Punto de colisión real confirmado con dispositivo:
   1312px (iPad Air 11" en horizontal) y en Chrome de escritorio.
   Selectores confirmados por inspección real del HTML/CSS en
   producción — no genéricos.
   ============================================================ */
@media (min-width: 1001px) and (max-width: 1320px) {
    .q_logo a {
        height: 44px !important;
    }
    nav.main_menu > ul > li > a,
    #menu-nav_menu > li > a {
        font-size: 11px !important;
        letter-spacing: 0.5px !important;
        line-height: 44px !important;
    }
    .main_menu ul li a span,
    nav.main_menu > ul > li > a span {
        font-size: 11px !important;
        letter-spacing: 0.5px !important;
    }
}

/* ============================================================
   Segundo escalón, más agresivo, para el tramo 1000px-1100px
   detectado por prueba real: en esta franja concreta el ajuste
   de 11px de arriba no era suficiente para evitar el solape.
   Se coloca DESPUÉS de la regla de 1001-1320 a propósito: para
   los anchos que caen dentro de las dos (1001-1100), esta gana
   por ir declarada más tarde en el archivo.
   ============================================================ */
@media (min-width: 1001px) and (max-width: 1100px) {
    .q_logo a {
        height: 38px !important;
    }
    nav.main_menu > ul > li > a,
    #menu-nav_menu > li > a {
        font-size: 8.5px !important;
        letter-spacing: 0.3px !important;
        line-height: 38px !important;
    }
    .main_menu ul li a span,
    nav.main_menu > ul > li > a span {
        font-size: 8.5px !important;
        letter-spacing: 0.3px !important;
    }
}