/* ==========================================================================
   DESARMADOS · Blog moderno + estilos de bloques Gutenberg
   Mantiene la línea gráfica del sitio (Futura condensada para títulos,
   Helvetica Light para cuerpo, acento rojo #bd1622, azul #1e408f).
   ========================================================================== */

:root {
    --d-accent:      #bd1622;   /* rojo institucional */
    --d-accent-dark: #91101a;
    --d-blue:        #1e408f;   /* azul institucional */
    --d-ink:         #1a1a1a;
    --d-dark:        #202121;
    --d-text:        #3a3a3a;
    --d-muted:       #8a8a8a;
    --d-line:        #e4e4e4;
    --d-bg:          #ececec;
    --d-card:        #ffffff;
    --d-display:     'Futura-Condensed-Medium', 'Helvetica-Bold', Arial, sans-serif;
    --d-body:        'Helvetica Light', Arial, Helvetica, sans-serif;
    --d-radius:      10px;
    --d-shadow:      0 6px 24px rgba(0,0,0,.08);
    --d-shadow-hover:0 14px 38px rgba(0,0,0,.16);
    --d-content:     840px;
    --d-wide:        1080px;
}

/* ==========================================================================
   1. LISTADO DEL BLOG
   ========================================================================== */

.blog-archive {
    background-color: var(--d-bg);
    padding: 70px 0 80px;
}

.blog-wrap {
    max-width: 1260px;
    margin: 0 auto;
    padding: 0 24px;
    display: flex;
    flex-wrap: wrap;
    gap: 36px;
    align-items: flex-start;
}

/* Encabezado a todo el ancho: el grid y el aside quedan alineados debajo */
.blog-head { flex: 1 1 100%; }
.blog-head .blog-archive__head { margin-bottom: 0; }

.blog-main { flex: 1 1 600px; min-width: 0; }

.blog-archive .wrapper-braedCrumb { margin-bottom: 22px; }

/* --- Encabezado de archivo (categoría / etiqueta / búsqueda) --- */
/* Anula la regla global `header { position:fixed }` para este <header> de archivo. */
.blog-archive__head {
    position: static;
    top: auto;
    left: auto;
    right: auto;
    width: auto;
    z-index: auto;
    margin: 0 0 30px;
    padding-bottom: 22px;
    border-bottom: 2px solid var(--d-line);
}

.blog-archive__label {
    display: inline-block;
    font-family: var(--d-display);
    font-size: 13px;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #fff;
    background: var(--d-accent);
    padding: 5px 14px;
    border-radius: 50px;
    margin-bottom: 12px;
}

.blog-archive__title {
    font-family: var(--d-display);
    font-size: 44px;
    line-height: 1.02;
    letter-spacing: -0.5px;
    color: var(--d-ink);
    margin: 0;
}

.blog-noposts {
    font-family: var(--d-body);
    font-size: 18px;
    color: var(--d-muted);
    padding: 30px 0;
}

/* --- Tarjetas de post --- */
.post-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
}

.post-card {
    display: flex;
    flex-direction: column;
    background: var(--d-card);
    border: 1px solid var(--d-line);
    border-radius: var(--d-radius);
    overflow: hidden;
    box-shadow: var(--d-shadow);
    transition: box-shadow .35s ease, border-color .35s ease;
}

/* Sin desplazamiento en hover: solo realce de sombra */
.post-card:hover {
    box-shadow: var(--d-shadow-hover);
    border-color: transparent;
}

.post-card__media {
    display: block;
    position: relative;
    overflow: hidden;
    aspect-ratio: 59 / 22;
    background: #d9d9d9;
}

.post-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .6s ease;
}

.post-card:hover .post-card__media img { transform: scale(1.06); }

/* --- Primer post destacado (índice, página 1): tarjeta horizontal a todo el ancho --- */
.post-card--featured {
    grid-column: 1 / -1;
    flex-direction: row;
    align-items: stretch;
}

.post-card--featured .post-card__media {
    flex: 0 0 50%;
    aspect-ratio: auto;
    min-height: 320px;
}

.post-card--featured .post-card__body {
    justify-content: center;
    padding: 40px 48px;
}

.post-card--featured .post-card__date { font-size: 15px; }

.post-card--featured .post-card__title { font-size: 34px; line-height: 1.08; margin-bottom: 16px; }

.post-card--featured .post-card__excerpt {
    font-size: 16px;
    line-height: 1.7;
    margin-bottom: 24px;
    -webkit-line-clamp: 4;
}

.post-card__body {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    padding: 22px 24px 24px;
}

.post-card__date {
    font-family: var(--d-display);
    font-size: 14px;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: var(--d-accent);
    margin-bottom: 10px;
}

.post-card__title {
    font-family: var(--d-display);
    font-size: 24px;
    line-height: 1.1;
    margin: 0 0 12px;
    color: var(--d-ink);
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}

.post-card__title a {
    color: inherit;
    text-decoration: none;
    transition: color .25s ease;
}

.post-card__title a:hover { color: var(--d-accent); }

.post-card__excerpt {
    font-family: var(--d-body);
    font-size: 15px;
    line-height: 1.65;
    color: var(--d-text);
    margin-bottom: 18px;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
}

.post-card__excerpt p { margin: 0; }

.post-card__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-top: auto;
    padding-top: 16px;
    border-top: 1px solid var(--d-line);
}

.post-card__more {
    font-family: var(--d-display);
    font-size: 15px;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: var(--d-ink);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: gap .25s ease, color .25s ease;
}

.post-card__more::after {
    content: "\f061"; /* fa-arrow-right */
    font-family: 'FontAwesome';
    font-size: 12px;
}

.post-card__more:hover { color: var(--d-accent); gap: 13px; }

/* --- Aside --- */
.blog-aside {
    flex: 0 0 300px;
    position: sticky;
    top: 90px;
    background: var(--d-card);
    border-radius: var(--d-radius);
    box-shadow: var(--d-shadow);
    padding: 28px 26px;
    align-self: flex-start;
}

.blog-aside__logo { max-width: 190px; margin-bottom: 18px; }

.blog-aside__desc {
    font-family: var(--d-body);
    font-size: 15px;
    line-height: 1.7;
    color: var(--d-text);
    margin-bottom: 20px;
}

.blog-aside .divSocialnet {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    margin-bottom: 22px;
}

.blog-aside__tagstitle {
    font-family: var(--d-display);
    text-transform: uppercase;
    letter-spacing: 1.5px;
    font-size: 15px;
    color: var(--d-ink);
    margin: 0 0 12px;
    padding-top: 20px;
    border-top: 1px solid var(--d-line);
}

.blog-aside .listTags { display: flex; flex-wrap: wrap; gap: 8px; }

.blog-aside .listTags li {
    float: none;
    margin: 0;
    background: #f1f1f1;
    border-radius: 50px;
    overflow: hidden;
}

.blog-aside .listTags a {
    padding: 6px 14px;
    font-family: var(--d-display);
    font-size: 13px;
    letter-spacing: .5px;
    color: var(--d-text);
}

.blog-aside .listTags li:hover a { background: var(--d-accent); color: #fff; }

/* --- Paginación --- */
.blog-main .pagination-news { margin-top: 44px; }

.blog-main .page-numbers {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: center;
    padding: 0;
    list-style: none;
}

.blog-main .page-numbers li { border: 0; }

.blog-main .page-numbers li a,
.blog-main .page-numbers li span {
    width: 46px;
    height: 46px;
    line-height: 46px;
    font-size: 17px;
    border-radius: 8px;
    background: #fff;
    color: var(--d-ink);
    box-shadow: 0 2px 8px rgba(0,0,0,.06);
    font-family: var(--d-display);
}

.blog-main .page-numbers li a:hover,
.blog-main .page-numbers li span.current {
    background: var(--d-dark) !important;
    color: #fff !important;
}

/* ==========================================================================
   2. SINGLE / INTERNA DEL BLOG
   ========================================================================== */

.single-post {
    background: var(--d-bg);
    padding: 0 0 70px;
    overflow-x: clip; /* recorta el sobrante de los elementos full-bleed (100vw vs ancho real) */
}

/* En la interna no hace falta el margen extra previo al footer */
body:has(.single-post) .margFoo { margin-top: 0; }

.single-post__inner {
    max-width: var(--d-wide);
    margin: 0 auto;
    padding: 0 24px;
}

.single-post .wrapper-braedCrumb { margin: 0; }

/* --- HERO PORTADA: imagen full-bleed con el encabezado superpuesto --- */
.single-article { position: relative; }

/* Imagen de portada a todo el ancho */
.single-featured {
    position: relative;
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    margin-top: 0;
    margin-bottom: 0;
    height: 600px;
    border-radius: 0;
    overflow: hidden;
}

.single-featured img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Velo para legibilidad del texto sobre la imagen.
   Dos capas: un velo plano que garantiza contraste mínimo con CUALQUIER
   imagen (incluso claras o con texto), y un foco radial centrado que
   oscurece detrás del título sin apagar del todo la foto. */
.single-featured::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(ellipse 70% 60% at 50% 45%, rgba(0,0,0,.62) 0%, rgba(0,0,0,.28) 55%, rgba(0,0,0,0) 100%),
        linear-gradient(180deg, rgba(0,0,0,.45) 0%, rgba(0,0,0,.4) 50%, rgba(0,0,0,.72) 100%);
    pointer-events: none;
}

/* Encabezado superpuesto, centrado sobre la imagen */
.single-hero {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 3;
    width: auto;
    height: 600px;
    margin: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 88px 24px 120px;
    color: #fff;
}

.single-cat {
    display: inline-block;
    font-family: var(--d-display);
    font-size: 14px;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #fff;
    background: var(--d-accent);
    padding: 6px 16px;
    border-radius: 50px;
    margin-bottom: 20px;
    box-shadow: 0 6px 18px rgba(189,22,34,.4);
}

.single-title {
    font-family: var(--d-display);
    font-size: 50px;
    line-height: 1.08;
    color: #fff;
    margin: 0 0 18px;
    text-shadow: 0 2px 8px rgba(0,0,0,.6), 0 2px 30px rgba(0,0,0,.5);
    max-width: 820px;
}

.single-meta {
    font-family: var(--d-display);
    font-size: 15px;
    letter-spacing: 1px;
    color: rgba(255,255,255,.9);
    text-transform: uppercase;
}

.single-meta span + span::before { content: "·"; margin: 0 10px; }

/* Acento bajo el encabezado */
.single-hero::after {
    content: "";
    display: block;
    width: 48px;
    height: 3px;
    border-radius: 3px;
    background: rgba(255,255,255,.9);
    margin: 20px auto 0;
}

/* El contenido sube en una "tarjeta de papel" que se solapa sobre la imagen */
.single-article .entry-content {
    position: relative;
    z-index: 2;
    margin: -120px auto 0;
    background: var(--d-card);
    border-radius: 16px;
    box-shadow: 0 24px 70px rgba(0,0,0,.18);
    padding: 56px 60px;
}

/* Pie del artículo centrado bajo la tarjeta */
.single-article .single-footer { justify-content: center; }

/* --- Pie del artículo --- */
.single-footer {
    max-width: var(--d-content);
    margin: 48px auto 0;
    padding-top: 28px;
    border-top: 1px solid var(--d-line);
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
    align-items: center;
    justify-content: space-between;
}

.single-footer .listTags { display: flex; flex-wrap: wrap; gap: 8px; }
.single-footer .listTags li { float: none; margin: 0; background: #e7e7e7; border-radius: 50px; }
.single-footer .listTags a { padding: 6px 14px; font-size: 13px; color: var(--d-text); font-family: var(--d-display); }
.single-footer .listTags li:hover a { background: var(--d-accent); color: #fff; }

.single-footer .innershare { display: flex; align-items: center; gap: 10px; }
.single-footer .innershare > span {
    font-family: var(--d-display);
    text-transform: uppercase;
    letter-spacing: 1.5px;
    font-size: 14px;
    color: var(--d-ink);
}

.single-comments {
    max-width: var(--d-content);
    margin: 50px auto 0;
}

.single-comments .fb-comments,
.single-comments .fb-comments > span,
.single-comments .fb-comments > span iframe { width: 100% !important; }

/* ==========================================================================
   3. CONTENIDO / BLOQUES GUTENBERG  (scoped a .entry-content)
   ========================================================================== */

.entry-content {
    max-width: var(--d-content);
    margin: 0 auto;
    font-family: var(--d-body);
    font-size: 18px;
    line-height: 1.8;
    color: var(--d-text);
    word-wrap: break-word;
}

.entry-content > * { margin-top: 0; margin-bottom: 1.5em; }
.entry-content > *:last-child { margin-bottom: 0; }

/* --- Tipografía base --- */
.entry-content p { margin: 0 0 1.5em; }

.entry-content a {
    color: var(--d-accent);
    text-decoration: underline;
    text-underline-offset: 2px;
    transition: color .2s ease;
}
.entry-content a:hover { color: var(--d-accent-dark); }

.entry-content strong, .entry-content b { font-family: 'Helvetica-Bold', sans-serif; font-weight: 700; color: var(--d-ink); }
.entry-content em, .entry-content i { font-family: 'Helvetica-Light-Oblique', sans-serif; font-style: italic; }
.entry-content mark { background: #fff3b0; padding: .05em .25em; }
.entry-content small { font-size: .8em; color: var(--d-muted); }
.entry-content sub, .entry-content sup { font-size: .7em; }

.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4,
.entry-content h5,
.entry-content h6 {
    font-family: var(--d-display);
    color: var(--d-ink);
    line-height: 1.15;
    margin: 1.8em 0 .6em;
    text-align: left;
}

.entry-content h1 { font-size: 40px; }
.entry-content h2 { font-size: 32px; }
.entry-content h3 { font-size: 26px; }
.entry-content h4 { font-size: 22px; }
.entry-content h5 { font-size: 19px; letter-spacing: .5px; }
.entry-content h6 { font-size: 16px; letter-spacing: 1px; text-transform: uppercase; color: var(--d-muted); }

/* --- Drop cap --- */
.entry-content .has-drop-cap:first-letter {
    font-family: var(--d-display);
    font-size: 4.6em;
    line-height: .8;
    font-weight: 700;
    float: left;
    margin: .05em .12em 0 0;
    color: var(--d-accent);
}

/* --- Listas --- */
.entry-content ul,
.entry-content ol { margin: 0 0 1.5em; padding-left: 1.4em; }
.entry-content li { margin-bottom: .55em; }
.entry-content li > ul,
.entry-content li > ol { margin: .55em 0 0; }

.entry-content ul { list-style: none; padding-left: 1.6em; }
.entry-content ul > li { position: relative; }
.entry-content ul > li::before {
    content: "";
    position: absolute;
    left: -1.2em;
    top: .62em;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--d-accent);
}

.entry-content ol { list-style: none; counter-reset: li; padding-left: 1.9em; }
.entry-content ol > li { position: relative; counter-increment: li; }
.entry-content ol > li::before {
    content: counter(li);
    position: absolute;
    left: -1.9em;
    top: .15em;
    min-width: 1.4em;
    height: 1.4em;
    line-height: 1.4em;
    text-align: center;
    font-family: var(--d-display);
    font-size: .8em;
    color: #fff;
    background: var(--d-blue);
    border-radius: 50%;
}

/* --- Cita / Quote --- */
.entry-content blockquote,
.entry-content .wp-block-quote {
    margin: 1.8em 0;
    padding: 6px 0 6px 26px;
    border-left: 4px solid var(--d-accent);
    font-family: 'Helvetica-Light-Oblique', sans-serif;
    font-style: italic;
    font-size: 1.18em;
    color: var(--d-ink);
}

.entry-content blockquote p { margin-bottom: .5em; }

.entry-content blockquote cite,
.entry-content .wp-block-quote cite {
    display: block;
    margin-top: .6em;
    font-family: var(--d-display);
    font-style: normal;
    font-size: .72em;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: var(--d-muted);
}

.entry-content .wp-block-quote.is-style-large,
.entry-content .wp-block-quote.has-text-align-center {
    border: 0;
    padding: 0;
    text-align: center;
    font-size: 1.5em;
}

/* --- Pullquote --- */
.entry-content .wp-block-pullquote {
    border-top: 3px solid var(--d-accent);
    border-bottom: 3px solid var(--d-accent);
    padding: 28px 0;
    margin: 2em 0;
    text-align: center;
}
.entry-content .wp-block-pullquote blockquote { border: 0; padding: 0; }
.entry-content .wp-block-pullquote p { font-size: 1.7em; line-height: 1.3; font-style: italic; }
.entry-content .wp-block-pullquote cite { font-style: normal; }

/* --- Imágenes / figuras --- */
.entry-content figure { margin: 0 0 1.5em; }
.entry-content img { max-width: 100%; height: auto; border-radius: 6px; }

.entry-content .wp-block-image img { display: block; }
.entry-content figcaption,
.entry-content .wp-element-caption {
    margin-top: 10px;
    font-family: var(--d-display);
    font-size: 14px;
    letter-spacing: .5px;
    color: var(--d-muted);
    text-align: center;
}

.entry-content .aligncenter { margin-left: auto; margin-right: auto; text-align: center; }
.entry-content .alignleft {
    float: left; margin: .4em 1.6em 1em 0; max-width: 50%;
}
.entry-content .alignright {
    float: right; margin: .4em 0 1em 1.6em; max-width: 50%;
}
.entry-content .wp-block-image.aligncenter { display: table; }

/* Ancho extendido / completo */
.entry-content .alignwide {
    width: var(--d-wide);
    max-width: var(--d-wide);
    margin-left: calc((var(--d-content) - var(--d-wide)) / 2);
    margin-right: calc((var(--d-content) - var(--d-wide)) / 2);
}

.entry-content .alignfull {
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    border-radius: 0;
}
.entry-content .alignfull img { border-radius: 0; width: 100%; }

/* --- Galería --- */
.entry-content .wp-block-gallery {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    list-style: none;
    padding: 0;
}
.entry-content .wp-block-gallery.columns-2 { grid-template-columns: repeat(2, 1fr); }
.entry-content .wp-block-gallery.columns-4 { grid-template-columns: repeat(4, 1fr); }
.entry-content .wp-block-gallery .wp-block-image,
.entry-content .wp-block-gallery figure { margin: 0; }
.entry-content .wp-block-gallery img { width: 100%; height: 100%; object-fit: cover; }

/* --- Botones --- */
.entry-content .wp-block-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    list-style: none;
    padding: 0;
}
.entry-content .wp-block-button { margin: 0; }
.entry-content .wp-block-button__link,
.entry-content .wp-block-button a {
    display: inline-block;
    background: var(--d-accent);
    color: #fff;
    font-family: var(--d-display);
    letter-spacing: 1px;
    text-transform: uppercase;
    text-decoration: none;
    padding: 13px 30px;
    border-radius: 50px;
    transition: background .25s ease, transform .25s ease;
}
.entry-content .wp-block-button__link:hover { background: var(--d-accent-dark); transform: translateY(-2px); color: #fff; }

.entry-content .wp-block-button.is-style-outline .wp-block-button__link {
    background: transparent;
    color: var(--d-accent);
    border: 2px solid var(--d-accent);
}
.entry-content .wp-block-button.is-style-outline .wp-block-button__link:hover { background: var(--d-accent); color: #fff; }

/* --- Tabla --- */
.entry-content .wp-block-table { overflow-x: auto; }
.entry-content table {
    width: 100%;
    border-collapse: collapse;
    font-family: var(--d-body);
    font-size: 16px;
}
.entry-content table th,
.entry-content table td { padding: 12px 16px; border: 1px solid var(--d-line); text-align: left; }
.entry-content table thead th { background: var(--d-dark); color: #fff; font-family: var(--d-display); letter-spacing: .5px; }
.entry-content .wp-block-table.is-style-stripes tbody tr:nth-child(odd) { background: #f6f6f6; }
.entry-content .wp-block-table figcaption { margin-top: 8px; }

/* --- Código / preformateado --- */
.entry-content code {
    font-family: Consolas, Monaco, "Courier New", monospace;
    font-size: .88em;
    background: #f1f1f1;
    color: var(--d-accent-dark);
    padding: .15em .4em;
    border-radius: 4px;
}
.entry-content pre,
.entry-content .wp-block-code,
.entry-content .wp-block-preformatted {
    background: var(--d-dark);
    color: #f2f2f2;
    padding: 22px 24px;
    border-radius: var(--d-radius);
    overflow-x: auto;
    font-family: Consolas, Monaco, "Courier New", monospace;
    font-size: 15px;
    line-height: 1.6;
}
.entry-content pre code,
.entry-content .wp-block-code code { background: none; color: inherit; padding: 0; }

.entry-content .wp-block-verse {
    font-family: var(--d-body);
    font-style: italic;
    background: #f6f6f6;
    padding: 22px 24px;
    border-radius: var(--d-radius);
    white-space: pre-wrap;
}

/* --- Separador --- */
.entry-content hr,
.entry-content .wp-block-separator {
    border: 0;
    height: 1px;
    background: var(--d-line);
    margin: 2.4em auto;
}
.entry-content .wp-block-separator:not(.is-style-wide):not(.alignfull) { width: 100px; }
.entry-content .wp-block-separator.is-style-wide { width: 100%; }
.entry-content .wp-block-separator.is-style-dots {
    background: none;
    height: auto;
    text-align: center;
    line-height: 1;
}
.entry-content .wp-block-separator.is-style-dots::before {
    content: "···";
    font-size: 28px;
    letter-spacing: 16px;
    color: var(--d-accent);
}

/* --- Columnas --- */
.entry-content .wp-block-columns {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
}
.entry-content .wp-block-column { flex: 1 1 0; min-width: 200px; }

/* --- Media & texto --- */
.entry-content .wp-block-media-text {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
    align-items: center;
}
.entry-content .wp-block-media-text.has-media-on-the-right { grid-template-columns: 1fr 1fr; }
.entry-content .wp-block-media-text__media img { width: 100%; border-radius: var(--d-radius); }
.entry-content .wp-block-media-text__content { padding: 0; }

/* --- Cover --- */
.entry-content .wp-block-cover {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 380px;
    padding: 40px;
    border-radius: var(--d-radius);
    overflow: hidden;
    color: #fff;
    text-align: center;
}
.entry-content .wp-block-cover img.wp-block-cover__image-background {
    position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover;
}
.entry-content .wp-block-cover .wp-block-cover__inner-container { position: relative; z-index: 2; }
.entry-content .wp-block-cover h1,
.entry-content .wp-block-cover h2,
.entry-content .wp-block-cover p { color: #fff; }

/* --- Grupo --- */
.entry-content .wp-block-group.has-background { padding: 30px; border-radius: var(--d-radius); }

/* --- Embeds responsivos --- */
.entry-content .wp-block-embed { margin: 1.8em 0; }
.entry-content .wp-block-embed__wrapper { position: relative; }
.entry-content .wp-embed-aspect-16-9 .wp-block-embed__wrapper { padding-top: 56.25%; }
.entry-content .wp-embed-aspect-4-3 .wp-block-embed__wrapper { padding-top: 75%; }
.entry-content .wp-block-embed.is-type-video .wp-block-embed__wrapper iframe,
.entry-content .wp-block-embed iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border-radius: var(--d-radius);
}
.entry-content .wp-block-embed figcaption { position: static; }

/* --- Audio / Video / Archivo --- */
.entry-content .wp-block-audio audio { width: 100%; }
.entry-content .wp-block-video video { width: 100%; border-radius: var(--d-radius); }
.entry-content .wp-block-file {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 16px;
    background: #f6f6f6;
    padding: 16px 20px;
    border-radius: var(--d-radius);
}
.entry-content .wp-block-file__button {
    background: var(--d-accent);
    color: #fff;
    text-decoration: none;
    padding: 8px 18px;
    border-radius: 50px;
    font-family: var(--d-display);
    letter-spacing: .5px;
}

/* --- Respaldo: iframes/embeds del editor clásico (YouTube, Vimeo, etc.) --- */
.entry-content iframe { max-width: 100%; }
.entry-content > iframe,
.entry-content p > iframe {
    display: block;
    width: 100%;
    min-height: 420px;
    margin: 1.8em 0;
    border: 0;
    border-radius: var(--d-radius);
}

/* --- Alineación de texto utilitaria --- */
.entry-content .has-text-align-center { text-align: center; }
.entry-content .has-text-align-right { text-align: right; }
.entry-content .has-text-align-left { text-align: left; }

/* ==========================================================================
   4. RESPONSIVE
   ========================================================================== */

@media (max-width: 991px) {
    .single-title { font-size: 36px; }
    .entry-content { font-size: 17px; }
    .entry-content .alignwide {
        width: 100%; max-width: 100%; margin-left: 0; margin-right: 0;
    }
}

@media (max-width: 767px) {
    .blog-archive { padding: 84px 0 50px; }
    .single-post { padding: 68px 0 50px; }
    .post-grid { grid-template-columns: 1fr; }
    .post-card--featured { flex-direction: column; }
    .post-card--featured .post-card__media { flex: none; min-height: 0; aspect-ratio: 59 / 22; }
    .post-card--featured .post-card__body { padding: 22px 24px 24px; }
    .post-card--featured .post-card__title { font-size: 24px; }
    .blog-aside { position: static; flex: 1 1 100%; width: 100%; }
    .blog-wrap { gap: 30px; }
    .single-featured { height: 460px; }
    .single-hero { height: 460px; padding: 80px 20px 90px; }
    .single-title { font-size: 28px; max-width: 90%; }
    .single-article .entry-content {
        margin-top: -60px;
        padding: 30px 22px;
        border-radius: 12px;
    }
    .entry-content { font-size: 16px; line-height: 1.7; }
    .entry-content > * { margin-bottom: 1.3em; }
    .entry-content p { margin-bottom: 1.3em; }
    .entry-content h1 { font-size: 28px; line-height: 1.2; }
    .entry-content h2 { font-size: 24px; line-height: 1.2; margin: 1.4em 0 .5em; }
    .entry-content h3 { font-size: 20px; line-height: 1.25; margin: 1.4em 0 .5em; }
    .entry-content .alignleft,
    .entry-content .alignright { float: none; max-width: 100%; margin: 0 0 1.5em; }
    .entry-content .wp-block-columns,
    .entry-content .wp-block-media-text { display: block; }
    .entry-content .wp-block-column { margin-bottom: 20px; }
    .entry-content .wp-block-media-text__media { margin-bottom: 20px; }
    .entry-content .wp-block-gallery { grid-template-columns: repeat(2, 1fr); }
    .single-footer { flex-direction: column; align-items: flex-start; }
}

/* ==========================================================================
   5. SINGLE · CONCEPTO "EDITORIAL BRUTALIST"  (scoped a .single--brutalist)
   Tipografía protagonista, sin overlay sobre la foto. Título negro enorme
   sobre blanco, reglas gruesas, meta en mono, imagen como bloque enmarcado.
   ========================================================================== */
.single--brutalist {
    background: #fff;
    padding: 104px 0 80px;
}
.single--brutalist .single-post__inner {
    max-width: 900px;
    padding: 0 28px;
}
.single--brutalist .single-article { position: static; }
.single--brutalist .single-post .wrapper-braedCrumb,
.single--brutalist .wrapper-braedCrumb { margin: 0 0 40px; }

/* --- Encabezado tipográfico, en flujo normal (sin posición absoluta) --- */
.single--brutalist .single-hero {
    position: static;
    height: auto;
    width: auto;
    display: block;
    text-align: left;
    margin: 0 0 40px;
    padding: 0;
    color: var(--d-ink);
}
.single--brutalist .single-hero::after { display: none; }

.single--brutalist .single-cat {
    display: inline-block;
    background: none;
    box-shadow: none;
    border: 0;
    padding: 0;
    margin: 0 0 26px;
    color: var(--d-accent);
    font-family: var(--d-display);
    font-size: 13px;
    letter-spacing: 4px;
    text-transform: uppercase;
}

.single--brutalist .single-title {
    color: var(--d-ink);
    font-family: var(--d-display);
    font-size: 72px;
    line-height: 1.04;
    letter-spacing: -1.5px;
    max-width: none;
    margin: 0 0 30px;
    text-shadow: none;
}

.single--brutalist .single-meta {
    display: flex;
    align-items: center;
    gap: 0;
    color: var(--d-ink);
    font-family: var(--d-display);
    font-size: 14px;
    letter-spacing: 2px;
    text-transform: uppercase;
    padding-top: 18px;
    border-top: 3px solid var(--d-ink);
}
.single--brutalist .single-meta span + span::before { content: "/"; margin: 0 12px; color: var(--d-muted); }

/* --- Imagen como bloque enmarcado (no full-bleed, sin velo) --- */
.single--brutalist .single-featured {
    position: static;
    width: 100%;
    max-width: none;
    margin: 0 0 52px;
    height: auto;
    border: 3px solid var(--d-ink);
    border-radius: 0;
    overflow: hidden;
}
.single--brutalist .single-featured::after { display: none; }
.single--brutalist .single-featured img {
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    display: block;
}

/* --- Contenido: una sola columna, sin tarjeta flotante ni sombra --- */
.single--brutalist .single-article .entry-content {
    position: static;
    margin: 0;
    padding: 0;
    max-width: 100%;
    background: none;
    box-shadow: none;
    border-radius: 0;
    font-size: 19px;
    line-height: 1.75;
}
.single--brutalist .entry-content {
    max-width: 100%;
    margin: 0;
}

/* Reglas gruesas en los encabezados internos, acorde al concepto */
.single--brutalist .entry-content h2 {
    padding-bottom: 10px;
    border-bottom: 2px solid var(--d-ink);
}

/* --- Pie alineado a la izquierda dentro de la columna --- */
.single--brutalist .single-footer {
    max-width: 900px;
    margin: 60px auto 0;
    border-top: 3px solid var(--d-ink);
    padding-top: 26px;
    justify-content: space-between;
}
.single--brutalist .single-footer .listTags li { background: none; border: 1px solid var(--d-ink); border-radius: 0; }
.single--brutalist .single-footer .listTags a { color: var(--d-ink); }
.single--brutalist .single-footer .listTags li:hover { background: var(--d-ink); }
.single--brutalist .single-footer .listTags li:hover a { color: #fff; }

@media (max-width: 767px) {
    .single--brutalist { padding: 84px 0 50px; }
    .single--brutalist .single-post__inner { padding: 0 20px; }
    .single--brutalist .wrapper-braedCrumb { margin: 0 0 24px; }
    .single--brutalist .single-title { font-size: 38px; letter-spacing: -1px; }
    .single--brutalist .single-cat { margin-bottom: 18px; }
    .single--brutalist .single-hero { margin-bottom: 28px; }
    .single--brutalist .single-featured { margin-bottom: 32px; border-width: 2px; }
    .single--brutalist .single-article .entry-content { font-size: 16px; line-height: 1.7; max-width: none; }
    .single--brutalist .single-footer { border-top-width: 2px; }
}

/* ==========================================================================
   6. BLOG (índice) · CONCEPTO "EDITORIAL BRUTALIST"  (scoped a .blog--brutalist)
   Sin cards: cada post es una fila con número, fecha, título enorme, extracto
   y miniatura enmarcada. Reglas gruesas. Índice de periódico.
   ========================================================================== */
.blog--brutalist {
    background: #fff;
}
.blog--brutalist .blog-wrap {
    display: block;
    max-width: 980px;
    padding: 0 28px;
}

/* --- Encabezado --- */
.blog--brutalist .blog-head { margin-bottom: 8px; }
.blog--brutalist .blog-archive__head {
    border-bottom: 4px solid var(--d-ink);
    margin: 0 0 4px;
    padding-bottom: 18px;
}
.blog--brutalist .blog-archive__label {
    background: none;
    color: var(--d-accent);
    padding: 0;
    border-radius: 0;
    font-size: 13px;
    letter-spacing: 4px;
    margin-bottom: 10px;
}
.blog--brutalist .blog-archive__title {
    font-size: 88px;
    line-height: 0.95;
    letter-spacing: -2px;
    color: var(--d-ink);
}

/* --- Lista de posts como filas --- */
.blog--brutalist .blog-main { flex: none; width: 100%; }
.blog--brutalist .post-grid {
    display: block;
    counter-reset: post;
}
.blog--brutalist .post-card,
.blog--brutalist .post-card--featured {
    display: grid;
    grid-template-columns: 1fr 240px;
    grid-template-areas: "body media";
    align-items: start;
    gap: 0 44px;
    counter-increment: post;
    background: none;
    border: 0;
    border-top: 3px solid var(--d-ink);
    border-radius: 0;
    box-shadow: none;
    padding: 40px 0;
    overflow: visible;
}
.blog--brutalist .post-card:hover { box-shadow: none; }

.blog--brutalist .post-card__body {
    grid-area: body;
    padding: 0;
}
.blog--brutalist .post-card__media {
    grid-area: media;
    aspect-ratio: 4 / 3;
    border: 2px solid var(--d-ink);
    border-radius: 0;
    align-self: start;
}
.blog--brutalist .post-card--featured .post-card__media {
    min-height: 0;
    flex: none;
}

/* Número + fecha en una línea mono */
.blog--brutalist .post-card__date {
    display: block;
    font-family: var(--d-display);
    color: var(--d-ink);
    font-size: 14px;
    letter-spacing: 2px;
    text-transform: uppercase;
    margin-bottom: 14px;
}
.blog--brutalist .post-card__date::before {
    content: counter(post, decimal-leading-zero) "  /  ";
    color: var(--d-accent);
}

.blog--brutalist .post-card__title {
    font-size: 40px;
    line-height: 1.08;
    letter-spacing: -0.5px;
    -webkit-line-clamp: unset;
    display: block;
    overflow: visible;
    margin: 0 0 16px;
}
.blog--brutalist .post-card--featured .post-card__title { font-size: 56px; }
.blog--brutalist .post-card__title a:hover { color: var(--d-accent); }

.blog--brutalist .post-card__excerpt {
    font-size: 16px;
    color: var(--d-text);
    -webkit-line-clamp: 2;
    margin-bottom: 18px;
}
.blog--brutalist .post-card--featured .post-card__excerpt { -webkit-line-clamp: 3; }

.blog--brutalist .post-card__footer {
    border-top: 0;
    padding-top: 0;
    margin-top: 4px;
}
.blog--brutalist .post-card__more { color: var(--d-ink); }
.blog--brutalist .post-card__more:hover { color: var(--d-accent); }

/* --- Aside convertido en banda inferior --- */
.blog--brutalist .blog-aside {
    position: static;
    flex: none;
    width: 100%;
    margin-top: 40px;
    background: var(--d-ink);
    color: #fff;
    border-radius: 0;
    box-shadow: none;
    padding: 44px 40px;
}
.blog--brutalist .blog-aside__logo { filter: brightness(0) invert(1); }
.blog--brutalist .blog-aside__desc { color: rgba(255,255,255,.82); max-width: 620px; }
.blog--brutalist .blog-aside__tagstitle { color: #fff; }
.blog--brutalist .blog-aside .listTags li { background: none; border: 1px solid rgba(255,255,255,.4); border-radius: 0; }
.blog--brutalist .blog-aside .listTags a { color: #fff; }
.blog--brutalist .blog-aside .listTags li:hover { background: var(--d-accent); border-color: var(--d-accent); }

/* --- Paginación --- */
.blog--brutalist .blog-main .page-numbers li a,
.blog--brutalist .blog-main .page-numbers li span {
    border-radius: 0;
    border: 2px solid var(--d-ink);
    box-shadow: none;
    background: #fff;
}

@media (max-width: 767px) {
    .blog--brutalist .blog-wrap { padding: 0 20px; }
    .blog--brutalist .blog-archive__title { font-size: 48px; letter-spacing: -1px; }
    .blog--brutalist .post-card,
    .blog--brutalist .post-card--featured {
        grid-template-columns: 1fr;
        grid-template-areas: "media" "body";
        gap: 18px;
        padding: 30px 0;
    }
    .blog--brutalist .post-card__media { aspect-ratio: 16 / 9; }
    .blog--brutalist .post-card__title { font-size: 28px; }
    .blog--brutalist .post-card--featured .post-card__title { font-size: 32px; }
    .blog--brutalist .blog-aside { padding: 32px 22px; }
}
