/**
 * Phase 6: Mahiru visual finish on locked NTRXXX structure.
 * Tokens, mapping, newest=4, and side visibility stay in renewal-shell.css.
 * This file only tunes readability and TOP/catalog spacing.
 */

.mh-section--featured {
    margin: 0 0 2.5rem;
}

.mh-section--catalog {
    margin-top: 0;
}

.mh-section--catalog .mh-section-head {
    max-width: none;
    margin-bottom: 16px;
}

.mh-side .widget,
.mh-side .mh-side-widget {
    padding: 14px 12px;
    overflow: hidden;
    max-width: 100%;
}

.mh-side .widget-title,
.mh-side .widgettitle,
.mh-side .mh-side-title {
    font-size: 0.95rem;
    line-height: 1.45;
    margin: 0 0 12px;
    overflow-wrap: break-word;
    word-break: normal;
}

.mh-side .entry-card-title,
.mh-side .widget-entry-card-title,
.mh-side .new-entry-card-title,
.mh-side .popular-entry-card-title,
.mh-side .related-entry-card-title,
.mh-side .recent-entry-card-title,
.mh-side .card-title,
.mh-side .post-title,
.mh-side .entry-title,
.mh-side .item-title {
    font-size: 0.8rem;
    line-height: 1.45;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.mh-side .a-wrap,
.mh-side .new-entry-card-link,
.mh-side .popular-entry-card-link,
.mh-side .related-entry-card-link,
.mh-side .widget-entry-card-link,
.mh-side .recent-entry-card-link {
    margin: 0 0 12px;
    gap: 8px;
}

.mh-side .card-thumb,
.mh-side .widget-entry-card-thumb,
.mh-side .new-entry-card-thumb,
.mh-side .popular-entry-card-thumb,
.mh-side .item-thumbnail,
.mh-side .item-thumb {
    aspect-ratio: 16 / 9;
    overflow: hidden;
    border-radius: 8px;
}

.mh-side .card-thumb img,
.mh-side .widget-entry-card-thumb img,
.mh-side .new-entry-card-thumb img,
.mh-side .popular-entry-card-thumb img,
.mh-side .item-thumbnail img,
.mh-side .item-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.mh-side .entry-card-snippet,
.mh-side .card-snippet,
.mh-side .widget-entry-card-snippet,
.mh-side .entry-card-meta,
.mh-side .post-date,
.mh-side .entry-card-info {
    font-size: 0.7rem;
    line-height: 1.4;
    color: var(--mh-muted);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.mh-side .widget li {
    margin: 0 0 10px;
}

@media (min-width: 901px) {
    @container mh-main (min-width: 821px) {
        .mh-section--featured > .mh-featured-layout--with-newest {
            align-items: stretch;
        }

        .mh-section--featured > .mh-featured-layout--with-newest > .mh-featured-primary,
        .mh-section--featured > .mh-featured-layout--with-newest > .mh-newest-rail {
            height: 100%;
            align-self: stretch;
        }

        .mh-section--featured > .mh-featured-layout--with-newest > .mh-newest-rail {
            grid-auto-rows: 1fr;
            align-content: stretch;
        }

        .mh-section--featured > .mh-featured-layout--with-newest > .mh-featured-primary > .mh-card--featured,
        .mh-section--featured > .mh-featured-layout--with-newest > .mh-newest-rail > .mh-card--mini {
            display: flex;
            flex-direction: column;
            height: 100%;
        }

        .mh-section--featured > .mh-featured-layout--with-newest > .mh-featured-primary > .mh-card--featured > .mh-card-media,
        .mh-section--featured > .mh-featured-layout--with-newest > .mh-newest-rail > .mh-card--mini > .mh-card-media {
            flex: 1 1 auto;
            min-height: 0;
        }

        .mh-section--featured > .mh-featured-layout--with-newest > .mh-newest-rail > .mh-card--mini .mh-card-title {
            line-height: 1.4;
        }

        .mh-section--featured > .mh-featured-layout--with-newest > .mh-newest-rail > .mh-card--mini > .mh-card-body {
            padding: 8px 10px 10px;
        }
    }
}

@media (max-width: 900px) {
    .mh-side,
    .mh-side--left,
    .mh-side--right {
        display: flex;
        visibility: visible;
    }
}

@media (max-width: 768px) {
    .mh-side,
    .mh-side--left,
    .mh-side--right {
        display: flex;
        visibility: visible;
    }
}

@media (max-width: 640px) {
    .mh-side,
    .mh-side--left,
    .mh-side--right {
        display: flex;
        visibility: visible;
    }
}

@media (max-width: 480px) {
    .mh-section--featured > .mh-featured-layout--with-newest > .mh-newest-rail {
        grid-template-columns: minmax(0, 1fr);
        width: 100%;
        max-width: none;
    }

    .mh-section--featured > .mh-featured-layout--with-newest > .mh-newest-rail > .mh-card--mini .mh-card-title {
        font-size: 16px;
        line-height: 1.45;
        overflow-wrap: break-word;
        word-break: normal;
    }
}
