.site-news-carousel {
    max-width: var(--max-width);
    margin: 40px auto 56px;
    padding: 0 24px;
    scroll-margin-top: 150px;
}
.site-news-carousel__heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 20px;
}
.site-news-carousel__heading h2 { margin: 0; font-size: clamp(24px, 3vw, 32px); }
.site-news-carousel__heading a { color: var(--akcent-dark-gray); white-space: nowrap; }
.site-news-carousel__track {
    display: flex;
    gap: 16px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    border-radius: 16px;
}
.site-news-carousel__track::-webkit-scrollbar { display: none; }
.site-news-carousel__slide {
    flex: 0 0 100%;
    min-width: 0;
    scroll-snap-align: start;
    scroll-snap-stop: always;
}
.site-news-carousel__card {
    display: block;
    overflow: hidden;
    border-radius: 16px;
    background: var(--akcent-black);
    color: var(--akcent-white);
    text-decoration: none;
    transition: var(--transition);
}
.site-news-carousel img, .news-article__banner, .news-card img {
    display: block;
    width: 100%;
    height: auto;
}
.site-news-carousel__caption {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    padding: 18px 24px;
    font-size: 15px;
}
.site-news-carousel__caption h3 { margin: 0; color: var(--akcent-white); font-size: 20px; }
.site-news-carousel__caption > span { flex-shrink: 0; }
.site-news-carousel__card:hover, .site-news-carousel__card:focus-visible {
    color: var(--akcent-white);
}
.site-news-carousel__controls {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    margin-top: 18px;
}
.site-news-carousel__controls[hidden] { display: none; }
.site-news-carousel__controls button { border: var(--border); border-radius: 50%; background: var(--akcent-white); color: var(--akcent-black); width: 42px; height: 42px; cursor: pointer; transition: var(--transition); }
.site-news-carousel__dots { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
.site-news-carousel__dots button { width: 12px; height: 12px; padding: 0; background: var(--akcent-gray); }
.site-news-carousel__dots button[aria-current="true"] { background: var(--akcent-black); border-color: var(--akcent-black); }
.site-news-carousel__controls .site-news-carousel__pause { width: auto; padding: 0 14px; border-radius: 24px; font-size: 13px; }
.site-news-carousel :focus-visible { outline: 3px solid var(--akcent-black); outline-offset: -3px; }
.site-news-carousel__card:focus-visible { outline-color: var(--akcent-white); }
.news-page {
    max-width: var(--max-width);
    margin: 0 auto;
    padding: 32px 24px 72px;
    color: var(--akcent-black);
}
.news-breadcrumbs {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 24px;
    font-size: 14px;
    color: var(--akcent-dark-gray);
}
.news-breadcrumbs a, .news-back-link { color: var(--akcent-dark-gray); }
.news-page h1 { font-size: clamp(26px, 3vw, 42px); margin: 0 0 24px; }
.news-article, .news-card {
    overflow: hidden;
    border: var(--border);
    border-radius: 18px;
    background: var(--akcent-white);
}
.news-article__content {
    max-width: 980px;
    margin: auto;
    padding: 36px;
    font-size: 18px;
    line-height: 1.75;
}
.news-page time { display: block; color: var(--akcent-dark-gray); font-size: 14px; margin-bottom: 12px; }
.news-article__content li { margin-bottom: 12px; }
.news-article__content ul { padding-left: 24px; margin: 20px 0 28px; }
.news-back-link { display: inline-block; margin-top: 16px; font-weight: 600; }
.news-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 440px), 1fr)); gap: 24px; }
.news-card a { display: block; color: inherit; text-decoration: none; }
.news-card a:hover h2 { color: var(--akcent-dark-gray); }
.news-card__content { padding: 24px; }
.news-card h2 { font-size: 24px; }
.news-card p { line-height: 1.6; }
@media (max-width: 640px) {
    .site-news-carousel { margin: 28px auto 36px; padding: 0 12px; }
    .site-news-carousel { scroll-margin-top: 145px; }
    .site-news-carousel__heading { gap: 10px; margin-bottom: 14px; }
    .site-news-carousel__heading a { font-size: 13px; }
    .site-news-carousel__caption { align-items: flex-start; flex-direction: column; padding: 16px; gap: 8px; }
    .site-news-carousel__caption h3 { font-size: 18px; }
    .news-page { padding: 20px 12px 40px; }
    .news-article__content { padding: 24px 18px; font-size: 16px; }
}
