/* CATP Publicaciones: estilos aislados, sin modificar Astra ni Gutenberg. */
.catp-pub-main{background:#fff;color:#20242d;padding:clamp(2rem,5vw,4rem) 1.25rem 5rem}
.catp-pub-container{max-width:1100px;margin-inline:auto}
.catp-pub-breadcrumb{font-size:.875rem;margin-bottom:1.75rem;color:#525866}
.catp-pub-breadcrumb a,.catp-pub-end a{color:#a91628;text-decoration:underline;text-underline-offset:3px}
.catp-pub-hero{background:#171b24;color:#fff;padding:clamp(1.75rem,5vw,3.5rem);border-radius:12px;margin-bottom:2rem}
.catp-pub-kicker,.catp-pub-eyebrow{font-size:.875rem;font-weight:700;letter-spacing:.055em;text-transform:uppercase;color:#f1a7b1}
.catp-pub-title{color:#fff!important;font-size:clamp(2rem,4.5vw,3.5rem);line-height:1.15;margin:.8rem 0 1rem;overflow-wrap:anywhere}
.catp-pub-date{color:#e1e3e7;font-size:.9rem;margin:0}
.catp-pub-cover{margin:0 0 2rem}.catp-pub-cover img{width:100%;height:auto;border-radius:10px}
.catp-pub-lead{font-size:1.2rem;line-height:1.7;font-weight:500;max-width:780px;margin:0 auto 1.5rem}
.catp-pub-body{max-width:780px;margin:0 auto;line-height:1.8;overflow-wrap:anywhere}
.catp-pub-body h2,.catp-pub-body h3{margin:1.5em 0 .5em}.catp-pub-body a{color:#a91628;text-decoration:underline}
.catp-pub-body img{max-width:100%;height:auto}.catp-pub-end{max-width:780px;margin:3rem auto 0;padding-top:1.5rem;border-top:1px solid #d9dce2}
.catp-pub-archive-head{margin-bottom:2rem}.catp-pub-archive-head h1{font-size:clamp(2rem,4vw,3rem);margin:.35rem 0}.catp-pub-archive-head .catp-pub-eyebrow{color:#a91628}
.catp-pub-filters{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:2rem}.catp-pub-filters a{display:inline-block;border:1px solid #cbd0d8;border-radius:99px;padding:.55rem 1rem;color:#20242d;text-decoration:none;font-weight:600;font-size:.9rem}
.catp-pub-filters a[aria-current="page"]{background:#a91628;border-color:#a91628;color:#fff}
.catp-pub-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}
.catp-pub-card{border:1px solid #e1e3e7;border-radius:12px;overflow:hidden;background:#fff;display:flex;flex-direction:column}
.catp-pub-card-image img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}.catp-pub-card-content{padding:1.35rem;display:flex;flex-direction:column;flex:1}
.catp-pub-card-type{color:#a91628;font-weight:700;font-size:.8rem;text-transform:uppercase}.catp-pub-card h2{font-size:1.3rem;line-height:1.35;margin:.6rem 0}.catp-pub-card h2 a{color:#20242d;text-decoration:none}.catp-pub-card time{font-size:.85rem;color:#596171}.catp-pub-card p{margin:1rem 0;color:#414955;flex:1}.catp-pub-read{font-weight:700;color:#a91628;text-decoration:underline;text-underline-offset:3px}
.catp-pub-pagination{margin-top:2.5rem}.catp-pub-pagination ul{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;padding:0}.catp-pub-pagination a,.catp-pub-pagination span{display:inline-block;padding:.5rem .85rem;border:1px solid #cbd0d8;border-radius:6px}.catp-pub-pagination .current{background:#171b24;color:#fff}
.catp-pub-main a:focus-visible{outline:3px solid #2367ce;outline-offset:3px}
@media(max-width:900px){.catp-pub-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.catp-pub-grid{grid-template-columns:1fr}.catp-pub-main{padding-inline:1rem}.catp-pub-hero{border-radius:8px}}

/* v0.3.1: navegación por teclado, legibilidad y adaptación móvil. */
.catp-pub-main{min-width:0}
.catp-pub-main :where(a,button,input,select,textarea):focus-visible{outline:3px solid #2563eb;outline-offset:3px}
.catp-pub-main a:not([class]):hover,.catp-pub-end a:hover{text-decoration-thickness:2px}
.catp-pub-card h2 a:hover,.catp-pub-read:hover{text-decoration:underline;text-underline-offset:3px}
.catp-pub-filters a:hover:not([aria-current="page"]){border-color:#a91628;background:#fff4f5}
.catp-pub-filters a:focus-visible{outline-offset:4px}
.catp-pub-body :where(p,li){line-height:1.8}
.catp-pub-body :where(iframe,video,embed,object){max-width:100%}
.catp-pub-body :where(pre,table){max-width:100%;overflow-x:auto}
.catp-pub-body :where(blockquote,figure){max-width:100%}
.catp-pub-body :where(a){overflow-wrap:anywhere}
.catp-pub-card{min-width:0}
.catp-pub-card h2{overflow-wrap:anywhere}
.catp-pub-empty a{color:#a91628;text-decoration:underline;text-underline-offset:3px}
@media(max-width:600px){
 .catp-pub-main{padding-block:2rem 3rem}
 .catp-pub-hero{padding:1.5rem 1.25rem;margin-bottom:1.5rem}
 .catp-pub-title{font-size:clamp(1.85rem,8vw,2.6rem);line-height:1.2}
 .catp-pub-breadcrumb{margin-bottom:1rem}
 .catp-pub-archive-head{margin-bottom:1.5rem}
 .catp-pub-filters{gap:.5rem;margin-bottom:1.5rem}
 .catp-pub-filters a{padding:.65rem .85rem;min-height:44px;display:inline-flex;align-items:center}
 .catp-pub-pagination a,.catp-pub-pagination span{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}
 .catp-pub-card-content{padding:1.1rem}
 .catp-pub-lead{font-size:1.1rem}
}
@media(prefers-reduced-motion:reduce){.catp-pub-main *{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}

/* v0.4.0: bloques de publicaciones recientes para Gutenberg/shortcode. */
.catp-home-publicaciones{width:100%;max-width:1200px;margin:0 auto;padding:2rem 0;color:#171b24}
.catp-home-publicaciones__head{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem}
.catp-home-publicaciones__head h2{font-size:clamp(1.6rem,3vw,2.25rem);line-height:1.2;margin:0;color:#171b24}
.catp-home-publicaciones__all,.catp-home-publicaciones__read{color:#a91628;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.catp-home-publicaciones__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}
.catp-home-publicaciones__card{border:1px solid #e1e4e8;border-radius:12px;overflow:hidden;background:#fff;display:flex;flex-direction:column;min-width:0}
.catp-home-publicaciones__image img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;display:block}
.catp-home-publicaciones__content{padding:1.35rem;display:flex;flex:1;flex-direction:column;align-items:flex-start;gap:.65rem}

/* CATP Publicaciones: badge de categoría */

.catp-home-publicaciones__type {
    display: inline-flex;
    align-items: center;
    align-self: flex-start;
    width: fit-content;
    max-width: 100%;
    padding: .4rem .75rem;
    border-radius: 6px;

    background: #FCE8EA;
    color: #A71925;

    font-size: .75rem;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: .025em;
    text-transform: uppercase;
}

.catp-home-publicaciones__content h3{font-size:1.25rem;line-height:1.35;margin:0;overflow-wrap:anywhere}
.catp-home-publicaciones__content h3 a{color:#171b24;text-decoration:none}
.catp-home-publicaciones__content h3 a:hover{text-decoration:underline}
.catp-home-publicaciones__content time{font-size:.85rem;color:#596171}
.catp-home-publicaciones__content p{line-height:1.65;color:#414955;margin:0 0 .5rem;flex:1}
.catp-home-publicaciones :where(a):focus-visible{outline:3px solid #2563eb;outline-offset:4px}
.catp-pub-shortcode-note{font-size:.9rem;color:#596171}
@media(max-width:900px){.catp-home-publicaciones__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.catp-home-publicaciones__grid{grid-template-columns:1fr}.catp-home-publicaciones__head{align-items:flex-start;flex-direction:column}.catp-home-publicaciones__content{padding:1.15rem}}
@media(prefers-reduced-motion:reduce){.catp-home-publicaciones *{transition:none!important}}





/* CATP Publicaciones: corrección del diseño de tarjetas del archivo. */

.catp-pub-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.5rem;
    align-items: stretch;
}

.catp-pub-grid > .catp-pub-card {
    display: flex;
    flex-direction: column;
    width: 100%;
    min-width: 0;
    max-width: none;
    margin: 0;
    padding: 0;
    text-align: left;
}

.catp-pub-card > .catp-pub-card-image {
    display: block;
    width: 100%;
    max-width: none;
    margin: 0;
}

.catp-pub-card-image img {
    display: block;
    width: 100%;
    max-width: none;
    height: auto;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    margin: 0;
}

.catp-pub-card > .catp-pub-card-content {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    max-width: none;
    min-width: 0;
    flex: 1 1 auto;
    padding: 1.35rem;
    margin: 0;
    text-align: left;
}

.catp-pub-card-content > * {
    max-width: 100%;
}

.catp-pub-card-content h2 {
    width: 100%;
    font-size: 1.3rem;
    line-height: 1.4;
    overflow-wrap: break-word;
    word-break: normal;
    hyphens: none;
}

.catp-pub-card-content p {
    width: 100%;
    line-height: 1.65;
}

@media (max-width: 900px) {
    .catp-pub-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 600px) {
    .catp-pub-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .catp-pub-card > .catp-pub-card-content {
        padding: 1.1rem;
    }
}


/* Colores por tipo de publicación */

.catp-home-publicaciones__type--comunicados {
    background: #FCE8EA;
    color: #A71925;
}

.catp-home-publicaciones__type--noticias {
    background: #E8F1FF;
    color: #174EA6;
}

.catp-home-publicaciones__type--boletines {
    background: #E8F5E9;
    color: #256029;
}

.catp-home-publicaciones__type--actividades {
    background: #F3E8FF;
    color: #6B21A8;
}


/* CATP Publicaciones: botón inferior del shortcode */

.catp-home-publicaciones__footer {
    display: flex;
    justify-content: center;
    margin-top: 2.5rem;
}

.catp-home-publicaciones__footer .catp-home-publicaciones__all {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .65rem;

    min-height: 48px;
    padding: .85rem 1.5rem;

    background-color: #C91F2C;
    border: 2px solid #C91F2C;
    border-radius: 8px;

    color: #FFFFFF;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.4;
    text-align: center;
    text-decoration: none;

    transition: background-color .2s ease,
                border-color .2s ease;
}

.catp-home-publicaciones__footer .catp-home-publicaciones__all:hover {
    background-color: #A71925;
    border-color: #A71925;
    color: #FFFFFF;
    text-decoration: none;
}

.catp-home-publicaciones__footer .catp-home-publicaciones__all:focus-visible {
    outline: 3px solid #2563EB;
    outline-offset: 4px;
}

@media (max-width: 600px) {
    .catp-home-publicaciones__footer {
        margin-top: 2rem;
    }

    .catp-home-publicaciones__footer .catp-home-publicaciones__all {
        width: 100%;
        max-width: 360px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .catp-home-publicaciones__footer .catp-home-publicaciones__all {
        transition: none;
    }
}

