/* Integración V0.1.19: recursos de imagen o SVG definidos por el administrador. */
/* Acciones del Hero: la misma separación y comportamiento que la ficha Documento. */
.catalog-hero .hero-copy > .button,
.subcategory-hero .subcategory-hero-copy > .button {
    vertical-align: top;
    margin: 0 10px 12px 0;
    white-space: nowrap;
}
@media (max-width: 620px) {
    .catalog-hero .hero-copy > .button,
    .subcategory-hero .subcategory-hero-copy > .button {
        display: flex;
        width: 100%;
        margin: 0 0 12px;
        white-space: normal;
    }
}
.catalog-heading { padding-block: 70px 36px; }
.catalog-heading h1 { max-width: 22ch; margin: 0 0 16px; font-size: clamp(2.2rem, 4vw, 3.5rem); line-height: 1.1; }
.catalog-heading > p:last-child { max-width: 68ch; }
.catalog-breadcrumb { font-size: .85rem; padding-block: 16px; }
.catalog-editorial { padding-block: 18px 28px; }
.catalog-editorial > :first-child { margin-top: 0; }
.catalog-type-links { display: flex; gap: 12px; flex-wrap: wrap; margin: 0 0 28px; }
.catalog-type-links a { border: 1px solid var(--line); background: var(--lavender); color: var(--violet-deep); border-radius: 24px; padding: 10px 16px; font-size: .82rem; font-weight: 700; }
.catalog-type-links a:hover, .catalog-type-links a:focus-visible { background: var(--violet); color: white; }
.catalog-card-icon img { max-width: 100%; max-height: 96px; object-fit: contain; }
.catalog-card--no-image { display: block; }
.catalog-card--no-image > div { width: 100%; }
.subcategory-card-icon img { max-width: 100%; max-height: 100%; object-fit: contain; }
.catalog-card-icon > svg.cimma-media-svg,
.subcategory-card-icon > svg.cimma-media-svg { display: block; width: 100%; height: 100%; }
.catalog-hero .hero-media > svg.cimma-media-svg,
.subcategory-hero-media > svg.cimma-media-svg {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 3;
    border: 2px solid var(--night);
    border-radius: 11px;
    box-shadow: var(--shadow);
}
.subcategory-hero-media > svg.cimma-media-svg { aspect-ratio: 16 / 10; }
.subcategory-card:has(> .subcategory-card-copy:first-child) { display: block; }
.subcategory-card:has(> .subcategory-card-copy:first-child) .subcategory-card-copy { min-height: 240px; }
.subcategory-editorial { padding-block: 12px 30px; }
.subcategory-editorial > :first-child { margin-top: 0; }
@media (max-width: 640px) { .catalog-card { padding: 22px; } .catalog-card-icon { width: 84px; height: 84px; } }
@media (max-width: 1080px) {
    .subcategory-hero-media > svg.cimma-media-svg { aspect-ratio: 1.15; }
}
