/* Fluid dimensions rather than clipping overflow or fixing text heights. */
.main-article .main-article-data-card { height: auto; min-height: 333px; gap: 20px; }
.main-article .main-article-title { font-size: clamp(28px, 3.4vw, 44px); line-height: 1.18; margin-bottom: 22px; overflow-wrap: break-word; }
.main-article .main-article-image { height: auto; aspect-ratio: 1.62; object-fit: cover; }
.main-article .main-article-button { flex-shrink: 0; align-self: flex-start; }
.main-article > div:has(> div.d-block.d-lg-none) { display: none; }
.last-news-container, .last-news-container.small { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; margin: 0; }
.last-news-container .last-new-card, .last-news-container .last-new-card.small { width: 100%; min-width: 0 !important; max-width: none !important; min-height: 0 !important; max-height: none !important; margin: 0; }
.last-news-container .last-new-card .last-new-card-image, .last-news-container .last-new-card .last-new-card-image.small { width: 100%; min-width: 0 !important; max-width: 100% !important; height: auto; min-height: 0 !important; max-height: none !important; aspect-ratio: 1.5; object-fit: cover; }
.last-news-container .last-new-card .last-new-card-title { height: auto; min-height: 2.4em; line-height: 1.2; }
.last-news-container .last-new-card .last-new-card-excerpt { height: auto; font-size: 14px; line-height: 1.5; }
.last-news-container > .last-new-card:not(.hoverable) { display: none !important; }
.recent-popular-news .recent-popular-new-card { max-height: none; gap: 12px; }
.recent-popular-news .recent-popular-new-card > * { min-width: 0; }
.recent-popular-news .recent-popular-new-card-image-container { flex: 0 0 30%; width: 30%; max-width: 112px; margin: 0; }
.recent-popular-news .recent-popular-new-card .recent-popular-new-card-image { width: 100%; min-width: 0; max-width: 100%; height: 72px; object-fit: cover; }
.recent-popular-news .recent-popular-new-card > div:last-child { flex: 1; }
.infographics-container .infographic-card, .infographics-container .infographic-card img { min-width: 0 !important; max-width: 100% !important; min-height: 0 !important; max-height: none !important; }
.infographics-container .infographic-card img { width: 100%; height: auto; aspect-ratio: 272 / 343; object-fit: contain; }
.infographics-container .slick-slide { padding: 0 12px; }
.infographics-container .slick-list { box-sizing: border-box; }
.infographics-container .slick-prev { left: 0; z-index: 1; }
.infographics-container .slick-next { right: 0; z-index: 1; }
.colaborators-container .colaborator-card .avatar { max-width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; }
@media (max-width: 991px) {
 .main-article .main-article-data-card { min-height: 0; }
 .main-article > div:has(> div.d-block.d-lg-none) { display: block; }
 .home .content-section.row > .col-md-8, .home .content-section.row > .col-md-4 { width: 100%; max-width: 100%; flex: 0 0 100%; }
 .home .recent-popular-news { margin-top: 32px; }
}
@media (max-width: 575px) {
 .last-news-container, .last-news-container.small { grid-template-columns: minmax(0,1fr); }
 .main-article .main-article-excerpt { font-size: 16px; line-height: 1.6; }
 .content-section { margin-top: 32px; }
 .genoteca-footer .social-media-container { display: flex; flex-wrap: wrap; gap: 18px; }
 .genoteca-footer .social-media-container a { margin: 0; }
}

/* Shared mobile footer spacing across home, archives and articles. */
@media (max-width: 766px) {
    .genoteca-footer-mobile.container {
        padding: 28px 24px 24px;
        margin-top: 24px;
        border-top: 1px solid var(--night-rule, #c9d2cc);
    }
    .genoteca-footer-mobile > .row:first-child {
        display: grid;
        grid-template-columns: repeat(5, minmax(44px, 1fr));
        gap: 8px;
        margin: 0 0 24px;
        padding-bottom: 20px;
        border-bottom: 1px solid var(--night-rule, #c9d2cc);
    }
    .genoteca-footer-mobile > .row:first-child > .col-1 {
        width: auto;
        max-width: none;
        padding: 0;
    }
    .genoteca-footer-mobile .footer-social-link {
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: 48px;
        text-decoration: none;
    }
    .genoteca-footer-mobile .x-logo { transform: none; }
    .genoteca-footer-mobile > .row:not(:first-child) { margin: 0; }
    .genoteca-footer-mobile > .row:not(:first-child) > div { padding: 0; }
    .genoteca-footer-mobile .footer-link {
        display: flex;
        align-items: center;
        min-height: 48px;
        padding-block: 8px;
        font-size: 16px;
        line-height: 1.5;
    }
    .genoteca-footer-mobile .genoteca-footer-brand {
        margin: 24px 0 0;
        padding-top: 20px;
        border-top: 1px solid var(--night-rule, #c9d2cc);
        font-size: 11px;
        line-height: 1.8;
    }
}

/* Compact author credits at the end of an article. */
.single-article-author-card:not(.large) {
    padding: 20px 18px;
}
.single-article-author-card:not(.large) + .single-article-author-card:not(.large) {
    border-top: 1px solid var(--night-rule, #d8e1dd);
}
.single-article-author-card:not(.large) .single-article-author-content {
    justify-content: space-between;
    gap: 16px;
    padding-bottom: 0;
}
.single-article-author-card:not(.large) .single-article-author-content .avatar {
    width: 56px;
    height: 56px;
    margin-right: 16px;
    flex-shrink: 0;
}
.single-article-author-card:not(.large) .single-article-author-content .single-article-author-name-p {
    font-size: 20px;
    line-height: 1.4;
}
.single-article-author-card:not(.large) .single-article-author-content .single-article-author-name-degree {
    font-size: 14px;
}
.single-article-author-card:not(.large) .bio {
    margin: 12px 0 0;
    font-size: 16px;
    line-height: 1.6;
}
.single-article-author-card:not(.large) .bio:empty { display: none; }
@media (max-width: 480px) {
    .single-article-author-card:not(.large) .single-article-author-content {
        flex-wrap: wrap;
        justify-content: flex-start;
        gap: 12px;
    }
    .single-article-author-card:not(.large) .single-article-author-content > a {
        margin-left: 72px;
    }
}

.single-article-author-card:not(.large) .single-article-author-name { min-width: 0; overflow-wrap: anywhere; }

/* Compact desktop footer: rows no longer stretch across a fixed 175px height. */
@media(min-width:767px) {
 .genoteca-footer { min-height:0; padding-top:24px; padding-bottom:24px; gap:24px; }
 .genoteca-footer .links-container { justify-content:flex-start; gap:24px; }
 .genoteca-footer .genoteca-footer-brand { margin:0; }
}
