/* =========================
   ARCHIVE PUBLICATION CARD
========================= */
.container.archive-publicaciones {
    width: 100%;
    max-width: 1500px;
    padding-left: 40px;
    padding-right: 40px;
    padding-top: 10px;
    padding-bottom: 80px;
}

.archive-publicaciones .full-proylist.publicaciones-grid {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    /* Margin negativo más amplio para que el gap entre cards sea visiblemente
       más generoso (antes -20px → ahora -28px, gap total 56px entre cards). */
    margin-left: -28px;
    margin-right: -28px;
}

.archive-publicaciones .publication-grid-item {
    display: flex;
    /* Padding lateral explícito que matchea el margin negativo del grid */
    padding-left: 28px;
    padding-right: 28px;
    margin-bottom: 48px;
}

.archive-publication-card {
    background: #fff;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.05);
    width: 100%;
    height: 915px; /* altura fija en escritorio */
    display: flex;
    flex-direction: column;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.archive-publication-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 14px 32px rgba(0, 0, 0, 0.08);
}

.archive-publication-card__link {
    display: flex;
    flex-direction: column;
    flex: 1;
    height: 100%;
    color: inherit;
    text-decoration: none;
}

.archive-publication-card__link:hover,
.archive-publication-card__link:focus {
    color: inherit;
    text-decoration: none;
}

.archive-publication-card__image {
    background: #f3f0ed;
    flex: 0 0 500px;
}

.archive-publication-card__image img {
    width: 100%;
    height: 600px;
    object-fit: cover;
    object-position: center center;
    display: block;
}

.archive-publication-card__content {
    padding: 20px 20px 20px;
    display: flex;
    flex-direction: column;
    flex: 1;
    height: 315px; /* 850 total - 500 imagen */
}

.archive-publication-card__meta {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 4px;
    margin-bottom: 10px;
    min-height: 68px;
}
.archive-publication-card__date {
    display: block;
    min-height: 14px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #8e8179;
    line-height: 1;
}

.archive-publication-card__topic {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 28px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #a08f86;
    line-height: 1.2;
}


.archive-publication-card__title {
    font-size: 20px;
    line-height: 1.28;
    font-weight: 700;
    color: #222;
    margin: 0 0 12px;
    min-height: 78px; /* reserva espacio estable */
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.archive-publication-card__excerpt {
    font-size: 14px;
    line-height: 1.55;
    color: #4b4b4b;
    margin: 0;
    min-height: 87px;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.archive-publication-card__readmore {
    display: inline-flex;
    align-items: center;
    margin-top: auto;
    padding-top: 16px;
    font-size: 13px;
    font-weight: 700;
    color: #c13946;
}
/* ===== Archivo category-publicaciones ===== */


.archive-publicaciones .filter-column-top {
    background: #f3f3f3;
    border: 1px solid #d9d9d9;
    padding: 30px 30px 20px;
    margin-bottom: 40px;
    border-radius: 15px;
}

.archive-publicaciones .filter-heading-toggle {
    background: transparent;
    border: 0;
    padding: 0;
    margin: 0 0 20px 0;
    color: #c13946;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    display: block;
}

.archive-publicaciones .documents-filters-form {
    margin: 0;
}

.archive-publicaciones .filters-row {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    margin-left: -10px;
    margin-right: -10px;
    justify-content: space-between;
}

.archive-publicaciones .filters-row > [class*="col-"] {
    padding-left: 10px;
    padding-right: 10px;
    margin-bottom: 18px;
}

.archive-publicaciones .filter-group label {
    display: block;
    font-size: 15px;
    font-weight: 700;
    color: #333;
    margin-bottom: 8px;
}

.archive-publicaciones .filter-group .form-control {
    height: 46px;
    border-radius: 10px;
    border: 1px solid #cfcfcf;
    box-shadow: none;
    font-size: 15px;
    color: #444;
    padding: 10px 14px;
}

.archive-publicaciones .filter-group .form-control:focus {
    border-color: #c13946;
    box-shadow: none;
}

.archive-publicaciones .filter-actions {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 14px;
    margin-top: 4px;
    width: 100%;
}

.archive-publicaciones .filter-actions .btn.btn-info {
    flex: 1;
    min-height: 46px;
    height: 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 20px;
    line-height: 1;
}

.archive-publicaciones .filter-actions .clean-filters {
    flex: 0 0 auto;
}

.archive-publicaciones .filter-actions .btn.btn-info:hover {
    background: #a92f3b;
    border-color: #a92f3b;
}

.archive-publicaciones .clean-filters {
    color: #666;
    font-size: 14px;
    text-decoration: none;
    border: 0;
    background: transparent;
    padding: 0;
}

.archive-publicaciones .clean-filters:hover {
    color: #c13946;
    text-decoration: underline;
}

.archive-publicaciones .archive-head {
    margin-bottom: 12px;
    padding-left: 20px;
    padding-right: 20px;
}

.archive-publicaciones .section-description-title.taxtitle {
    font-size: 24px;
    line-height: 1.25;
    color: #333;
    margin: 0 0 8px 0;
    font-weight: 400;
}

.archive-publicaciones .project-results-count {
    margin: 0 0 24px 0;
    padding: 0;
    border: 0;
    font-size: 15px;
    color: #666;
}

.archive-publicaciones .project-results-count strong {
    color: #c13946;
    font-weight: 700;
}

.archive-publicaciones .tema-filter-dropdown {
    position: relative;
}
.archive-publicaciones .tema-toggle {
    width: 100%;
    height: 46px;
    border: 1px solid #cfcfcf;
    border-radius: 10px;
    background: #fff;
    padding: 0 14px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: #444;
    font-size: 15px;
    text-align: left;
}
.archive-publicaciones .tema-toggle:focus {
    outline: none;
    border-color: #c13946;
}

.archive-publicaciones .tema-toggle-icon {
    font-size: 12px;
    color: #777;
}

.archive-publicaciones .tema-options-panel {
    display: none;
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    width: 100%;
    background: #fff;
    border: 1px solid #d8d8d8;
    border-radius: 14px;
    padding: 14px;
    box-shadow: 0 10px 24px rgba(0,0,0,0.08);
    z-index: 20;
}

.archive-publicaciones .tema-filter-dropdown.is-open .tema-options-panel {
    display: block;
}

.archive-publicaciones .tema-options {
    display: block;
    max-height: 280px;
    overflow-y: auto;
    overflow-x: hidden;
}
.archive-publicaciones .tema-option {
    display: block;
    margin: 0 0 2px 0;
}

.archive-publicaciones .tema-option input {
    display: none;
}

.archive-publicaciones .tema-option span {
    display: block;
    padding: 7px 10px;
    border-radius: 8px;
    border: none;
    background: transparent;
    color: #444;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    transition: background 0.15s ease;
    white-space: nowrap;
}

.archive-publicaciones .tema-option input:checked + span {
    background: #f5e9ea;
    color: #c13946;
    font-weight: 700;
}

.archive-publicaciones .tema-option span:hover {
    background: #f5f5f5;
    color: #c13946;
}

.archive-publicaciones .pagination-wrapper {
    margin-top: 12px;
    margin-bottom: 60px;
    text-align: center;
}

.archive-publicaciones .pagination-wrapper ul {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 8px;
    padding-left: 0;
    margin: 0 auto;
    justify-content: center;
}

.archive-publicaciones .pagination-wrapper li {
    list-style: none;
}

.archive-publicaciones .pagination-wrapper a,
.archive-publicaciones .pagination-wrapper span {
    display: inline-block;
    min-width: 42px;
    padding: 10px 12px;
    border: 1px solid #d8d8d8;
    color: #333;
    text-decoration: none;
    border-radius: 8px;
}

.archive-publicaciones .pagination-wrapper .current {
    background: #c13946;
    border-color: #c13946;
    color: #fff;
}
.archive-publicaciones .filter-topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 20px;
}

.archive-publicaciones .filter-topbar .filter-heading-toggle {
    margin: 0;
}

.archive-publicaciones .filter-topbar .filter-results-summary {
    margin: 0;
    font-size: 14px;
    line-height: 1.4;
    color: #666;
    text-align: right;
    white-space: nowrap;
}

.archive-publicaciones .filter-topbar .filter-results-summary strong {
    color: #c13946;
    font-weight: 700;
}
/* =========================
   SINGLE PUBLICACION MODERNO
========================= */

.single-publicacion-page {
    padding: 16px 0 80px;
    background: #f3f0ed;
}

.single-publicacion-container {
    width: 100%;
    max-width: 1500px;
    padding-left: 32px;
    padding-right: 32px;
}

.single-publicacion-back {
    padding: 20px 0;
}

.single-publicacion-back a {
    color: #c13946;
    text-decoration: none;
    font-weight: 700;
}

.single-publicacion-card {
    background: #fff;
    border-radius: 24px;
    padding: 34px 34px 38px;
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.05);
}

.single-publicacion-header {
    margin-bottom: 28px;
}
/*.single-publicacion-meta-top {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 18px;
}*/
.single-publicacion-meta-badge {
    background: transparent;
    color: #c13946;

    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;

    padding: 0;
}
.single-publicacion-meta-badge::before {
    content: "[ ";
}

.single-publicacion-meta-badge::after {
    content: " ]";
}
/* TAG ÁMBITOS (gris con borde rojo) */
.single-publicacion-meta-badge--ambito {
    color: #8e8179;
}

.single-publicacion-meta-badge--ambito::before {
    content: "";
}

.single-publicacion-meta-badge--ambito::after {
    content: "";
}

.single-publicacion-title {
    font-size: 32px;
    line-height: 1.08;
    color: #222;
    margin: 18px 0 16px;
}

.single-publicacion-author {
    display: flex;
    align-items: center;
    gap: 14px;
}

.single-publicacion-author__text {
    display: flex;
    flex-direction: column;
}

.single-publicacion-author__text strong {
    font-size: 17px;
    color: #222;
}

.single-publicacion-author__text span {
    font-size: 15px;
    color: #7b7b7b;
}

.single-publicacion-main {
    margin-bottom: 28px;
}

.single-publicacion-image {
    text-align: center;
}

.single-publicacion-image img {
    width: auto;
    max-width: 100%;
    max-height: 680px;
    height: auto;
    border-radius: 18px;
    display: inline-block;
}

.single-publicacion-summary h2,
.single-publicacion-tags h3,
.single-publicacion-related h3 {
    font-size: 22px;
    line-height: 1.2;
    color: #222;
    margin: 0 0 18px;
}

.single-publicacion-content {
    font-size: 17px;
    line-height: 1.8;
    color: #353535;
}

.single-publicacion-content p {
    margin-bottom: 1.25em;
}

.single-publicacion-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    padding-top: 6px;
    margin-bottom: 34px;
}

.single-publicacion-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 0 18px;
    border-radius: 10px;
    border: 1px solid #ddd4ce;
    background: #f6f2ef;
    color: #444;
    text-decoration: none;
    font-weight: 700;
}

.single-publicacion-btn--primary {
    background: #c13946;
    border-color: #c13946;
    color: #fff;
}

.single-publicacion-btn:hover,
.single-publicacion-btn:focus {
    text-decoration: none;
    opacity: 0.95;
}

.single-publicacion-tags {
    padding-top: 24px;
    border-top: 1px solid #eee4de;
    margin-bottom: 34px;
}

.single-publicacion-tag-list {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.single-publicacion-tag {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    padding: 0 14px;
    border-radius: 10px;
    background: #c13946;
    color: white;
    text-decoration: none;
    font-weight: 700;
}

.single-publicacion-tag:hover,
.single-publicacion-tag:focus {
    text-decoration: none;
    background: #e8e2dd;
    color: #222;
}
.single-publicacion-tag--ambito {
    background: #f7f5f3;
    color: #c13946;
    border: 1.5px solid #c13946;
}

.single-publicacion-tag--ambito:hover,
.single-publicacion-tag--ambito:focus {
    background: #a92f3a;
    color: white;
    border-color: #a92f3a;
    text-decoration: none;
}
.single-publicacion-related {
    padding-top: 24px;
    border-top: 1px solid #eee4de;
}

.single-publicacion-related__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 20px;
}

.single-publicacion-related__head a {
    color: #a92f3a;
    text-decoration: none;
    font-weight: 700;
}

.single-related-card {
    background: #fff;
}

.single-related-card__link {
    display: block;
    color: inherit;
    text-decoration: none;
}

.single-related-card__link:hover,
.single-related-card__link:focus {
    color: inherit;
    text-decoration: none;
}

.single-related-card__image img {
    width: 100%;
    height: 220px;
    object-fit: cover;
    display: block;
    border-radius: 16px;
}

.single-related-card__content {
    padding-top: 14px;
}

.single-related-card__meta {
    display: block;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #8e8179;
    margin-bottom: 8px;
}

.single-related-card h4 {
    font-size: 18px;
    line-height: 1.3;
    margin: 0 0 8px;
    color: #222;
}
.single-publicacion-date {
    font-size: 15px;
    line-height: 1.5;
    color: #8e8179;
    font-weight: 700;
    margin: 10px 0 8px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.single-related-card p {
    font-size: 15px;
    line-height: 1.65;
    color: #5a5a5a;
    margin: 0;
}
.single-publicacion-related__grid > div {
    display: flex;
    margin-bottom: 30px;
}

.single-publicacion-related .home-featured-card {
    width: 100%;
    min-height: 520px;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.05);
    background: #fff;
    display: flex;
    flex-direction: column;
}

.single-publicacion-related .home-featured-card__link {
    display: flex;
    flex-direction: column;
    flex: 1;
    color: inherit;
    text-decoration: none;
}

.single-publicacion-related .home-featured-card__image img {
    width: 100%;
    height: 420px;
    object-fit: cover;
    display: block;
    border-radius: 0;
}

.single-publicacion-related .home-featured-card__content {
    padding: 24px 22px 26px;
    display: flex;
    flex-direction: column;
    flex: 1;
}

.single-publicacion-related .home-card-meta {
    margin-bottom: 12px;
}

.single-publicacion-related .home-card-date {
    font-size: 11px;
}

.single-publicacion-related .home-card-tag--plain {
    font-size: 11px;
}

.single-publicacion-related .home-featured-card h3 {
    font-size: 18px;
    line-height: 1.28;
    font-weight: 700;
    color: #222;
    margin: 0 0 14px;
}

.single-publicacion-related .home-featured-card p {
    font-size: 16px;
    line-height: 1.68;
    color: #4b4b4b;
    margin: 0;
}

.single-publicacion-related .home-card-readmore {
    margin-top: auto;
}
.single-publicacion-content a {
    color: #c13946;
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 2px;
    word-break: break-word;
}

.single-publicacion-content a:hover,
.single-publicacion-content a:focus {
    color:#8e8179;
}
/* Adjuntos subidos al post */
.single-publicacion-content .attached-to-post {
    margin: 18px 0;
}

.single-publicacion-content .attached-to-post a.btn.btn-default {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-height: 48px;
    padding: 12px 18px;
    border-radius: 10px;
    border: 1px solid #c13946;
    background: #c13946;
    color: white;
    font-size: 15px;
    font-weight: 700;
    text-decoration: none;
    box-shadow: none;
    transition: all 0.2s ease;

    /* Permitir wrap del texto cuando el nombre del archivo es muy largo */
    white-space: normal;
    text-align: left;
    word-break: break-word;
    overflow-wrap: anywhere;
    line-height: 1.35;
    max-width: 100%;
}

.single-publicacion-content .attached-to-post a.btn.btn-default i {
    flex: 0 0 auto;
}

.single-publicacion-content .attached-to-post a.btn.btn-default:hover,
.single-publicacion-content .attached-to-post a.btn.btn-default:focus {
    background: white;
    border-color: #c13946;
    color: #c13946;
    text-decoration: none;
}

.single-publicacion-content .attached-to-post a.btn.btn-default i {
    font-size: 15px;
    line-height: 1;
}
.archive-search-standard .search-empty-state,
.archive-search-standard .no-results {
    padding: 20px 0 50px;
    text-align: center;
    color: #666;
    font-size: 16px;
}
.archive-publicaciones .ambito-filter-dropdown {
    position: relative;
}

.archive-publicaciones .ambito-toggle {
    width: 100%;
    height: 46px;
    border: 1px solid #cfcfcf;
    border-radius: 10px;
    background: #fff;
    padding: 0 14px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: #444;
    font-size: 15px;
    text-align: left;
}

.archive-publicaciones .ambito-toggle:focus {
    outline: none;
    border-color: #c13946;
}

.archive-publicaciones .ambito-toggle-icon {
    font-size: 12px;
    color: #777;
}

.archive-publicaciones .ambito-options-panel {
    display: none;
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    width: 100%;
    background: #fff;
    border: 1px solid #d8d8d8;
    border-radius: 14px;
    padding: 14px;
    box-shadow: 0 10px 24px rgba(0,0,0,0.08);
    z-index: 20;
}

.archive-publicaciones .ambito-filter-dropdown.is-open .ambito-options-panel {
    display: block;
}

.archive-publicaciones .ambito-options {
    display: block;
    max-height: 280px;
    overflow-y: auto;
    overflow-x: hidden;
}

.archive-publicaciones .ambito-option {
    display: block;
    margin: 0 0 2px 0;
}

.archive-publicaciones .ambito-option input {
    display: none;
}

.archive-publicaciones .ambito-option span {
    display: block;
    padding: 7px 10px;
    border-radius: 8px;
    border: none;
    background: transparent;
    color: #444;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    transition: background 0.15s ease;
    white-space: nowrap;
}

.archive-publicaciones .ambito-option input:checked + span {
    background: #f5e9ea;
    color: #c13946;
    font-weight: 700;
}

.archive-publicaciones .ambito-option span:hover {
    background: #f5f5f5;
    color: #c13946;
}

.archive-publicaciones .categoria-filter-dropdown {
    position: relative;
}

.archive-publicaciones .categoria-toggle {
    width: 100%;
    height: 46px;
    border: 1px solid #cfcfcf;
    border-radius: 10px;
    background: #fff;
    padding: 0 14px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: #444;
    font-size: 15px;
    text-align: left;
}

.archive-publicaciones .categoria-toggle:focus {
    outline: none;
    border-color: #c13946;
}

.archive-publicaciones .categoria-toggle-icon {
    font-size: 12px;
    color: #777;
}

.archive-publicaciones .categoria-options-panel {
    display: none;
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    width: 100%;
    background: #fff;
    border: 1px solid #d8d8d8;
    border-radius: 14px;
    padding: 14px;
    box-shadow: 0 10px 24px rgba(0,0,0,0.08);
    z-index: 20;
}

.archive-publicaciones .categoria-filter-dropdown.is-open .categoria-options-panel {
    display: block;
}

.archive-publicaciones .categoria-options {
    display: block;
    max-height: 280px;
    overflow-y: auto;
    overflow-x: hidden;
}

.archive-publicaciones .categoria-option {
    display: block;
    margin: 0 0 2px 0;
}

.archive-publicaciones .categoria-option input {
    display: none;
}

.archive-publicaciones .categoria-option span {
    display: block;
    padding: 7px 10px;
    border-radius: 8px;
    border: none;
    background: transparent;
    color: #444;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    transition: background 0.15s ease;
    white-space: nowrap;
}

.archive-publicaciones .categoria-option input:checked + span {
    background: #f5e9ea;
    color: #c13946;
    font-weight: 700;
}

.archive-publicaciones .categoria-option span:hover {
    background: #f5f5f5;
    color: #c13946;
}
header.section-header {
    padding: 60px 40px;
}

/* Título de las páginas archive (Publicaciones, Proyectos, Germinando, Buscar)
   con el mismo tamaño que los títulos de las secciones del home (36px en
   escritorio, escalando responsivamente con clamp). */
header.section-header h1,
header.section-header h2 {
    font-size: clamp(34px, 2.6vw, 36px);
    line-height: 1.1;
    font-weight: 700;
    color: #222;
    margin: 0 0 14px;
}

header.section-header p {
    font-size: clamp(14px, 1.1vw, 17px);
    line-height: 1.6;
    color: #666;
    margin: 0 auto;
    max-width: 760px;
}
/* Bloque "Archivo" de Gutenberg (wp-block-file) */
.wp-block-file {
    margin: 18px 0 24px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
}

/* Embed inline del PDF — cuando está activado "Mostrar incrustación" en el editor */
.wp-block-file__embed {
    display: block;
    width: 100%;
    height: 600px;
    margin: 0 0 18px;
    border: 1px solid #e6ddd7;
    border-radius: 12px;
    background: #f7f5f3;
    flex: 0 0 100%;
}

/* Texto del nombre del archivo (al lado del botón Descarga).
   flex: 0 1 auto → toma su ancho natural pero puede achicarse si hace falta.
   Sin `flex: 1 1 auto` para que NO se expanda y empuje el botón a la derecha,
   así el texto y el botón quedan juntos con el gap definido en el contenedor. */
.wp-block-file > a:not(.wp-block-file__button) {
    color: #c13946;
    font-weight: 700;
    text-decoration: underline;
    word-break: break-word;
    overflow-wrap: anywhere;
    flex: 0 1 auto;
    min-width: 0;
    max-width: 100%;
}

.wp-block-file > a:not(.wp-block-file__button):hover {
    color: #a52e3a;
}

/* Botón descarga Gutenberg → estilo Germina */
.wp-block-file__button {
    background: #c13946;
    color: #fff!important;
    border-radius: 12px;
    padding: 12px 20px;
    font-weight: 600;
    font-size: 14px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    text-decoration: none !important;
    transition: all 0.2s ease;
    flex: 0 0 auto;
}

/* Hover */
.wp-block-file__button:hover {
    background: #a52e3a;
    color: #fff;
}

/* Opcional: iconito de descarga */
.wp-block-file__button::before {
    content: "\f019";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
}
.archive-publication-card__category {
    display: block;
    margin-top: 4px;
    min-height: 14px;
    font-size: 10px;
    font-weight: 700;
    line-height: 1.4;
    text-transform: uppercase;
    color: #c13946;
    letter-spacing: 0.03em;
}
.single-publicacion-meta-top {
    display: block;
    margin-bottom: 18px;
}

.single-publicacion-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 6px;

    padding: 4px 10px; /* 👈 este era el faltante */
    border-radius: 6px;
    background: #f7f5f3;

    color: #8e8179;
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    text-transform: uppercase;
    letter-spacing: 0.06em;

    margin-bottom: 12px;
}

.single-publicacion-eyebrow strong {
    color: #c13946;
}

.single-publicacion-meta-badges {
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 8px 14px;
    max-width: 100%;
}
.single-publicacion-meta-badge {
    display: inline-block;
    max-width: 100%;
    white-space: normal;
    line-height: 1.35;
}
.single-publicacion-meta-badge--ambito::before {
    content: "·";
    margin-right: 8px;
    color: #cfc6c1;
}

/* Cuando ámbito es el primer elemento (no hay tema antes) NO mostrar
   el punto separador, ya que no hay nada que separar. */
.single-publicacion-meta-badge--ambito:first-child::before {
    content: none;
}

.archive-publicaciones .filter-actions {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    width: 100%;
}

.archive-publicaciones .filter-actions .clean-filters {
    display: block;
    min-height: 18px;
    font-size: 13px;
    line-height: 18px;
    color: #8c8682;
    text-decoration: none;
    padding: 0;
    flex: 0 0 auto;
}

.archive-publicaciones .filter-actions .clean-filters:hover {
    color: #c13946;
    text-decoration: underline;
}

.archive-publicaciones .filter-actions .btn.btn-info {
    flex: 1;
    height: 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 20px;
    line-height: 1;
}
/* =========================
   ARCHIVE COMPACTO - GERMINANDO / PUBLICACIONES
========================= */

.archive-publicaciones.archive-germinando .full-proylist.publicaciones-grid,
.archive-publicaciones.archive-publicaciones-list .full-proylist.publicaciones-grid {
    margin-left: -28px;
    margin-right: -28px;
}

.archive-publicaciones.archive-germinando .publication-grid-item,
.archive-publicaciones.archive-publicaciones-list .publication-grid-item {
    padding-left: 28px;
    padding-right: 28px;
    margin-bottom: 48px;
}

.archive-publicaciones.archive-germinando .archive-publication-card,
.archive-publicaciones.archive-publicaciones-list .archive-publication-card {
    height: 730px;
}

.archive-publicaciones.archive-germinando .archive-publication-card__image,
.archive-publicaciones.archive-publicaciones-list .archive-publication-card__image {
    flex: 0 0 400px;
    height: 400px;
    background: #f3f0ed;
}

.archive-publicaciones.archive-germinando .archive-publication-card__image img,
.archive-publicaciones.archive-publicaciones-list .archive-publication-card__image img {
    width: 100%;
    height: 400px;
    object-fit: cover;
    object-position: center center;
    display: block;
}

.archive-publicaciones.archive-germinando .archive-publication-card__image.is-contain img,
.archive-publicaciones.archive-publicaciones-list .archive-publication-card__image.is-contain img {
    object-fit: contain;
    object-position: center center;
}

.archive-publicaciones.archive-germinando .archive-publication-card__content,
.archive-publicaciones.archive-publicaciones-list .archive-publication-card__content {
    height: 330px;
    padding: 18px 16px 20px;
}

.archive-publicaciones.archive-germinando .archive-publication-card__meta,
.archive-publicaciones.archive-publicaciones-list .archive-publication-card__meta {
    min-height: 68px;
    margin-bottom: 10px;
}

.archive-publicaciones.archive-germinando .archive-publication-card__title,
.archive-publicaciones.archive-publicaciones-list .archive-publication-card__title {
    font-size: 17px;
    line-height: 1.25;
    min-height: 64px;
    -webkit-line-clamp: 3;
}

.archive-publicaciones.archive-germinando .archive-publication-card__readmore,
.archive-publicaciones.archive-publicaciones-list .archive-publication-card__readmore {
    padding-top: 12px;
}
@media (min-width: 992px) {
    .archive-publicaciones .filter-actions {
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        align-items: stretch;
        gap: 8px;
        height: auto;
        margin-top: 0;
    }

}
@media (max-width: 991px) {
    .archive-publicaciones .filter-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .archive-publicaciones .filter-actions .btn.btn-info {
        flex: 0 0 auto;
        width: 100%;
    }

    .archive-publicaciones .filter-column-top {
        padding: 40px 30px;
        margin-bottom:80px;
    }
    .single-publicacion-back {
        margin-top: 0;
    }
    .single-publicacion-container {
        padding: 40px;
    }
    .single article.type-post{
        padding: 60px;
    }
    .single-publicacion-back {
        margin: 0;
    }
    .single article.type-resumen-proyecto{
        padding:60px;
        background: white;
    }
    .archive-publicaciones .filter-actions {
        width: 100%;
        justify-content: center;
        margin-top: 8px;
        flex-wrap: wrap;
    }
    .single-publicacion-meta-badge--ambito::before {
        content: "";
        margin: 0;
    }
}


@media (max-width: 767px) {
    .container.archive-publicaciones {
        padding-left: 20px;
        padding-right: 20px;
    /*    background-color: #f7f7f7;*/
    }
    header.section-header {
        padding: 40px;
    }
    .single-publicacion-container {
        padding: 0 20px;
    }
    .single article.type-post {
        padding:40px 30px;
        background-color: white;
    }
    .single article.type-resumen-proyecto {
        padding: 40px 30px;
    }
    .single-publicacion-meta-badge {
        text-align: center;
    }
    .single-publicacion-meta-badges {
        gap: 8px;
    }

    .single-publicacion-meta-badge {
        font-size: 12px;
        text-align: left;
    }

    .single-publicacion-meta-badge--ambito::before {
        content: "";
        margin-right: 0;
    }

    /* Related en single: imagen 350px en mobile (con contenedor padre) */
    .single-publicacion-related .archive-publication-card__image,
    .single-publicacion-related .home-featured-card__image {
        flex: 0 0 350px;
        height: 350px;
    }

    .single-publicacion-related .archive-publication-card__image img,
    .single-publicacion-related .home-featured-card__image img {
        height: 350px;
    }

    /* En mobile mostramos solo las 2 primeras cards relacionadas (la query
       de single.php trae 4, pero las 2 últimas se ocultan en pantallas chicas
       para que la página no quede demasiado larga al scrolear). */
    .single-publicacion-related__grid > div:nth-child(n+3) {
        display: none;
    }

    /* Centrar el botón "Ir a entrada" / "Leer entrada" en las cards de
       contenido relacionado en mobile. Aplica tanto a las cards de
       single.php (archive-publication-card) como a las de single-
       resumen-proyecto.php (home-featured-card). */
    .single-publicacion-related .archive-publication-card__readmore,
    .single-publicacion-related .home-card-readmore {
        align-self: center;
        justify-content: center;
        text-align: center;
        width: 100%;
    }
}

/* =========================
   4 COLUMNAS (LG BREAKPOINT)
========================= */

@media (min-width: 1200px) {
    .archive-publicaciones .full-proylist.publicaciones-grid .col-lg-3 {
        width: 25%;
        flex: 0 0 25%;
        max-width: 25%;
    }

    .archive-publicaciones:not(.archive-germinando):not(.archive-publicaciones-list) .archive-publication-card {
        height: 730px;
    }

    .archive-publicaciones:not(.archive-germinando):not(.archive-publicaciones-list) .archive-publication-card__image {
        flex: 0 0 400px;
        height: 530px;
        background: #f3f0ed;
    }

    .archive-publicaciones:not(.archive-germinando):not(.archive-publicaciones-list) .archive-publication-card__image img {
        width: 100%;
        height: 400px;
        object-fit: cover;
        object-position: center center;
        display: block;
    }

    .archive-publicaciones:not(.archive-germinando):not(.archive-publicaciones-list) .archive-publication-card__image.is-contain img {
        object-fit: contain;
        object-position: center center;
    }

    .archive-publicaciones:not(.archive-germinando):not(.archive-publicaciones-list) .archive-publication-card__content {
        height: 320px;
        padding: 18px 16px 20px;
    }

    .archive-publicaciones:not(.archive-germinando):not(.archive-publicaciones-list) .archive-publication-card__meta {
        min-height: auto;
        margin-bottom: 8px;
    }

    /* =========================
       RELATED EN SINGLE: mismo tamaño que las cards de archive (335x400px)
    ========================= */

    .single-publicacion-related .full-proylist.publicaciones-grid .col-lg-3,
    .single-publicacion-related .home-featured-grid .col-lg-3 {
        width: 25%;
        flex: 0 0 25%;
        max-width: 25%;
    }

    .single-publicacion-related .archive-publication-card,
    .single-publicacion-related .home-featured-card {
        height: 730px;
        min-height: 730px;
    }

    .single-publicacion-related .archive-publication-card__image,
    .single-publicacion-related .home-featured-card__image {
        flex: 0 0 400px;
        height: 400px;
        background: #f3f0ed;
    }

    .single-publicacion-related .archive-publication-card__image img,
    .single-publicacion-related .home-featured-card__image img {
        width: 100%;
        height: 400px;
        object-fit: cover;
        object-position: center center;
        display: block;
    }

    .single-publicacion-related .archive-publication-card__content,
    .single-publicacion-related .home-featured-card__content {
        height: 320px;
        padding: 18px 16px 20px;
    }
}

/* =========================
   TABLET/MOBILE RESPONSIVIDAD
========================= */

@media (max-width: 1199px) and (min-width: 768px) {
    .archive-publicaciones .filter-topbar {
        flex-direction: column;
        align-items: center;
        justify-content: center;
        text-align: center;
    }

    .archive-publicaciones .filter-topbar .filter-results-summary {
        text-align: center;
        white-space: normal;
    }

    .archive-publicaciones .filter-heading-toggle {
        text-align: center;
    }

    .archive-publicaciones .full-proylist.publicaciones-grid {
        margin-left: -18px;
        margin-right: -18px;
    }

    .archive-publicaciones .publication-grid-item {
        padding-left: 20px;
        padding-right: 20px;
        margin-bottom: 44px;
    }

    .archive-publicaciones:not(.archive-germinando):not(.archive-publicaciones-list) .archive-publication-card {
        height: auto;
    }

    .archive-publicaciones:not(.archive-germinando):not(.archive-publicaciones-list) .archive-publication-card__image {
        flex: 0 0 auto;
        height: auto;
        min-height: 450px;
    }

    .archive-publicaciones:not(.archive-germinando):not(.archive-publicaciones-list) .archive-publication-card__image img {
        width: 100%;
        height: 450px;
        object-fit: cover;
        object-position: center center;
    }

    .archive-publicaciones:not(.archive-germinando):not(.archive-publicaciones-list) .archive-publication-card__image.is-contain img {
        object-fit: contain;
        object-position: center center;
    }

    .archive-publicaciones:not(.archive-germinando):not(.archive-publicaciones-list) .archive-publication-card__content {
        height: auto;
        min-height: 260px;
        padding: 16px 14px 18px;
    }

    .archive-publicaciones:not(.archive-germinando):not(.archive-publicaciones-list) .archive-publication-card__title {
        font-size: 16px;
        min-height: auto;
        -webkit-line-clamp: 3;
    }

    .archive-publicaciones:not(.archive-germinando):not(.archive-publicaciones-list) .archive-publication-card__excerpt {
        font-size: 13px;
        min-height: auto;
        display: -webkit-box;
        -webkit-line-clamp: 4;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }

    /* =========================
       RELATED EN SINGLE — TABLET: card más chica + portada más chica (350px)
    ========================= */

    .single-publicacion-related .archive-publication-card,
    .single-publicacion-related .home-featured-card {
        height: auto;
        min-height: 0;
    }

    .single-publicacion-related .archive-publication-card__image,
    .single-publicacion-related .home-featured-card__image {
        flex: 0 0 350px;
        height: 350px;
        background: #f3f0ed;
    }

    .single-publicacion-related .archive-publication-card__image img,
    .single-publicacion-related .home-featured-card__image img {
        width: 100%;
        height: 350px;
        object-fit: cover;
        object-position: center center;
    }

    .single-publicacion-related .archive-publication-card__content,
    .single-publicacion-related .home-featured-card__content {
        height: auto;
        min-height: 200px;
        padding: 16px 14px 18px;
    }
}

@media (max-width: 767px) {
    .archive-publicaciones .filter-topbar {
        flex-direction: column;
        align-items: center;
        justify-content: center;
        text-align: center;
    }
    .archive-publicaciones .filter-topbar .filter-results-summary {
        text-align: center;
        white-space: normal;
    }

    .archive-publicaciones .filter-heading-toggle {
        text-align: center;
    }

    .archive-publicaciones .publication-grid-item {
        padding-left: 10px;
        padding-right: 10px;
        margin-bottom: 24px;
    }

    /* Alinear visualmente el row del filtro (col-xs-12 con padding 15px de Bootstrap)
       con el row de las cards (margin -28 / padding 10 = -18 net offset).
       Solo afecta al row del filtro, no al de las cards. */
    .archive-publicaciones .full-proylist.publicaciones-grid {
        margin-left: -10px;
        margin-right: -10px;
    }

    .archive-publicaciones:not(.archive-germinando):not(.archive-publicaciones-list) .archive-publication-card {
        height: auto;
    }

    .archive-publicaciones:not(.archive-germinando):not(.archive-publicaciones-list) .archive-publication-card__image {
        flex: 0 0 auto;
        height: auto;
        min-height: 450px;
    }

    .archive-publicaciones:not(.archive-germinando):not(.archive-publicaciones-list) .archive-publication-card__image img {
        width: 100%;
        height: 500px;
        object-fit: cover;
        object-position: center center;
    }

    .archive-publicaciones:not(.archive-germinando):not(.archive-publicaciones-list) .archive-publication-card__image.is-contain img {
        object-fit: contain;
        object-position: center center;
    }

    .archive-publicaciones:not(.archive-germinando):not(.archive-publicaciones-list) .archive-publication-card__content {
        height: auto;
        min-height: 200px;
        padding: 14px 12px 16px;
    }

    .archive-publicaciones:not(.archive-germinando):not(.archive-publicaciones-list) .archive-publication-card__title {
        font-size: 15px;
        min-height: 60px; /* aprox 3 líneas a 15px × 1.28 = ~58px */
        -webkit-line-clamp: 3;
        margin-bottom: 8px;
    }

    .archive-publicaciones:not(.archive-germinando):not(.archive-publicaciones-list) .archive-publication-card__excerpt {
        font-size: 12px;
        min-height: auto;
        display: -webkit-box;
        -webkit-line-clamp: 4;
        -webkit-box-orient: vertical;
        overflow: hidden;
        margin-bottom: 10px;
    }

    .archive-publicaciones:not(.archive-germinando):not(.archive-publicaciones-list) .archive-publication-card__meta {
        margin-bottom: 6px;
    }
}
/* =========================
   FILTRO CATEGORÍA JERÁRQUICO (buscador)
========================= */

.categoria-options-panel--jerarquico {
    width: 220px;
    min-width: 220px;
}

.archive-publicaciones .categoria-options--jerarquico {
    max-height: 360px;
}

.categoria-options--jerarquico .categoria-chips-row {
    display: block;
}

/* Padre: negrita */
.categoria-options--jerarquico .categoria-option--padre span {
    font-weight: 700;
    color: #333;
}

/* Hijo: indentado, texto normal */
.categoria-options--jerarquico .categoria-option--hijo span {
    padding-left: 22px;
    font-weight: 400;
    color: #666;
    font-size: 13px;
}

.categoria-group-label {
    display: block;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #bbb;
    margin: 10px 0 2px;
    padding: 8px 10px 0;
    border-top: 1px solid #eee;
}

/* =========================
   ERROR 404 — Página no encontrada
========================= */

.error-404 {
    padding: 80px 0 100px;
    background: #f7f5f3;
}

.error-404 > .container {
    width: 100%;
    max-width: 720px;
    padding-left: 20px;
    padding-right: 20px;
    margin-left: auto;
    margin-right: auto;
}

.error-404__inner {
    text-align: center;
    max-width: 560px;
    margin: 0 auto;
}

.error-404__eyebrow {
    display: inline-block;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #c13946;
    margin-bottom: 14px;
}

.error-404__title {
    font-size: clamp(34px, 4vw, 52px);
    line-height: 1.1;
    font-weight: 800;
    color: #c13946;
    margin: 0 0 16px;
    letter-spacing: -0.01em;
}

.error-404__lead {
    font-size: 17px;
    line-height: 1.65;
    color: #4b4b4b;
    margin: 0 auto 32px;
    max-width: 480px;
}

/* Buscador centrado: el form viene del get_search_form() de WP, le forzamos
   layout flex con anchos controlados para que quede perfectamente centrado. */
.error-404__search {
    width: 100%;
    max-width: 460px;
    margin: 0 auto 32px;
}

.error-404__search form {
    display: flex !important;
    flex-direction: row;
    gap: 8px;
    align-items: stretch;
    margin: 0;
    padding: 0;
}

.error-404__search label {
    flex: 1 1 auto;
    margin: 0;
    padding: 0;
    display: block;
}

.error-404__search input[type="search"],
.error-404__search input[type="text"] {
    width: 100%;
    height: 46px;
    padding: 0 18px;
    border: 1px solid #d8cec3;
    border-radius: 999px;
    background: #fff;
    font-size: 15px;
    color: #333;
    box-sizing: border-box;
}

.error-404__search input[type="search"]:focus,
.error-404__search input[type="text"]:focus {
    outline: none;
    border-color: #c13946;
}

.error-404__search button,
.error-404__search input[type="submit"] {
    flex: 0 0 auto;
    height: 46px;
    padding: 0 24px;
    border: 0;
    border-radius: 999px;
    background: #c13946;
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    transition: background 0.2s ease;
    white-space: nowrap;
}

.error-404__search button:hover,
.error-404__search input[type="submit"]:hover {
    background: #8a232d;
}

.error-404__or {
    font-size: 13px;
    color: #8e8179;
    margin: 0 0 18px;
    letter-spacing: 0.04em;
}

.error-404__shortcuts {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
}

.error-404__shortcut {
    display: inline-flex;
    align-items: center;
    min-height: 40px;
    padding: 0 18px;
    border: 2px solid #c13946;
    border-radius: 999px;
    background: transparent;
    color: #c13946;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
    transition: all 0.2s ease;
}

.error-404__shortcut:hover,
.error-404__shortcut:focus {
    background: #c13946;
    color: #fff;
    text-decoration: none;
}

@media (max-width: 767px) {
    .error-404 {
        padding: 50px 0 70px;
    }

    .error-404__search form {
        flex-direction: column;
    }

    .error-404__search button,
    .error-404__search input[type="submit"] {
        width: 100%;
    }

    .error-404__shortcut {
        font-size: 12px;
        padding: 0 14px;
    }
}
