/* News listing & article styles */

/* === Listing page === */
.news { padding: 40px var(--section-px) 80px; }
.news__title { font: 700 36px/1.2 var(--heading-font); text-transform: uppercase; margin: 0 0 40px; }

.news__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 24px;
}

.news-card {
    display: flex;
    flex-direction: column;
    text-decoration: none;
    color: inherit;
    background: #fff;
    border: 1px solid #eee;
    transition: box-shadow .25s, transform .25s;
}
.news-card:hover {
    box-shadow: 0 8px 30px rgba(0,0,0,.08);
    transform: translateY(-2px);
}

.news-card__image-wrap {
    position: relative;
    width: 100%;
    padding-top: 56.25%; /* 16:9 */
    overflow: hidden;
    background: #f5f5f5;
}
.news-card__image {
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 100%;
    object-fit: cover;
    transition: transform .4s;
}
.news-card:hover .news-card__image { transform: scale(1.03); }
.news-card__image--placeholder {
    background: linear-gradient(135deg, #f0f0f0 0%, #e0e0e0 100%);
}

.news-card__content { padding: 20px; display: flex; flex-direction: column; flex: 1; }

.news-card__date {
    font: 400 12px/1 var(--text-font);
    color: #999;
    text-transform: lowercase;
    margin: 0 0 10px;
}

.news-card__heading {
    font: 600 16px/1.35 var(--heading-font);
    margin: 0 0 10px;
    text-transform: uppercase;
}

.news-card__excerpt {
    font: 400 14px/1.6 var(--text-font);
    color: #666;
    margin: 0 0 16px;
    flex: 1;
}

.news-card__more {
    font: 500 13px/1 var(--text-font);
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--dark-color);
    border-bottom: 1px solid currentColor;
    align-self: flex-start;
    transition: color .2s;
}
.news-card:hover .news-card__more { color: var(--yellow-color); }

/* === Article page === */
.news-article { padding: 20px var(--section-px) 80px; }

.news-article__breadcrumbs {
    font: 400 13px/1 var(--text-font);
    margin: 0 0 30px;
    color: #999;
}
.news-article__breadcrumb-link { color: #999; text-decoration: none; transition: color .2s; }
.news-article__breadcrumb-link:hover { color: var(--dark-color); }
.news-article__breadcrumb-sep { margin: 0 6px; }
.news-article__breadcrumb-current { color: var(--dark-color); }

.news-article__hero {
    margin: 0 0 30px;
    max-height: 500px;
    overflow: hidden;
}
.news-article__hero-img {
    width: 100%;
    height: auto;
    object-fit: cover;
    max-height: 500px;
}

.news-article__header { margin: 0 0 30px; }
.news-article__date {
    display: block;
    font: 400 13px/1 var(--text-font);
    color: #999;
    margin: 0 0 12px;
}
.news-article__title {
    font: 700 28px/1.25 var(--heading-font);
    text-transform: uppercase;
    margin: 0;
}

.news-article__content {
    font: 400 15px/1.75 var(--text-font);
    color: #333;
    margin: 0 0 50px;
}
.news-article__content p { margin: 0 0 20px; }
.news-article__content img { max-width: 100%; height: auto; margin: 20px 0; }
.news-article__content h2, .news-article__content h3 {
    font-family: var(--heading-font);
    text-transform: uppercase;
    margin: 30px 0 15px;
}
.news-article__content a { color: var(--dark-color); border-bottom: 1px solid currentColor; text-decoration: none; }
.news-article__content a:hover { color: var(--yellow-color); }

.news-article__nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    padding: 30px 0 0;
    border-top: 1px solid #eee;
}
.news-article__nav-link {
    text-decoration: none;
    color: var(--dark-color);
    font: 500 13px/1.3 var(--text-font);
    transition: color .2s;
    display: flex;
    align-items: center;
    gap: 8px;
}
.news-article__nav-link:hover { color: var(--yellow-color); }
.news-article__nav-link--prev { text-align: left; max-width: 35%; }
.news-article__nav-link--next { text-align: right; max-width: 35%; flex-direction: row; }
.news-article__nav-link--all {
    text-transform: uppercase;
    letter-spacing: 1px;
    white-space: nowrap;
}
.news-article__nav-arrow { font-size: 18px; flex-shrink: 0; }
.news-article__nav-text { display: none; }

/* Bottom loader */
.bottom-loader { height: 1px; }
