/* ==========================================================================
   LEVEL CORNER — Wiadomości page styles
   Scoped to .wiadomosci-main and page-owned components only.
   ========================================================================== */

.wiadomosci-main {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
}

/* ---------- Section vertical rhythm ---------- */
.news-hero,
.news-filters,
.news-layout,
.news-search,
.news-standards {
    margin-block-end: var(--space-3xl);
}

@media (max-width: 767px) {
    .news-hero,
    .news-filters,
    .news-layout,
    .news-search,
    .news-standards {
        margin-block-end: var(--space-2xl);
    }
}

/* ---------- Hero / Wyróżniony artykuł ---------- */
.news-hero {
    width: 100%;
    background-color: var(--color-background);
}

.news-hero__media {
    position: relative;
    width: 100%;
    max-width: var(--container-max);
    margin-inline: auto;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background-color: var(--color-surface-alt);
}

.news-hero__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: filter var(--transition-fast);
}

.news-hero__media:hover img {
    filter: brightness(0.85);
}

.news-hero__overlay {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: flex-end;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.75) 0%, rgba(0, 0, 0, 0.35) 40%, rgba(0, 0, 0, 0) 100%);
    padding: var(--space-lg);
}

.news-hero__content {
    width: 100%;
    max-width: 720px;
    color: var(--color-surface);
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
    align-items: flex-start;
    text-align: left;
}

.news-hero__title {
    font-size: clamp(1.375rem, 2.8vw, 2.25rem);
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: -0.01em;
    color: var(--color-surface);
    margin: 0;
    text-wrap: balance;
}

.news-hero__lead {
    font-size: var(--text-body-large-size);
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.92);
    margin: 0;
    max-width: 680px;
}

.news-hero__meta {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-sm) var(--space-lg);
    list-style: none;
    padding: 0;
    margin: var(--space-xs) 0 0;
    font-size: var(--text-caption-size);
    line-height: var(--text-caption-line-height);
    font-weight: var(--text-caption-weight);
    letter-spacing: var(--text-caption-letter-spacing);
    color: rgba(255, 255, 255, 0.85);
}

.news-hero__meta li {
    color: inherit;
    font-size: inherit;
    line-height: inherit;
}

@media (max-width: 767px) {
    .news-hero__overlay {
        padding: var(--space-md);
    }

    .news-hero__title {
        font-size: 1.375rem;
    }

    .news-hero__lead {
        font-size: var(--text-body-small-size);
        line-height: 1.5;
    }

    .news-hero__meta {
        gap: var(--space-xs) var(--space-md);
        font-size: 0.6875rem;
    }
}

/* ---------- Etykiety wiarygodności ---------- */
.news-label {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--radius-small);
    padding: var(--space-2xs) var(--space-xs);
    font-size: var(--text-overline-size);
    font-weight: var(--text-overline-weight);
    letter-spacing: var(--text-overline-letter-spacing);
    text-transform: var(--text-overline-transform);
    line-height: var(--text-overline-line-height);
    min-height: 1.5rem;
}

.news-label--official {
    background-color: var(--color-accent-lime);
    color: var(--color-text-primary);
}

.news-label--rumor,
.news-label--leak {
    background-color: var(--color-accent-orange);
    color: var(--color-surface);
}

.news-label--unconfirmed {
    background-color: var(--color-text-secondary);
    color: var(--color-surface);
}

.news-category {
    display: inline-block;
    font-size: var(--text-caption-size);
    font-weight: var(--text-caption-weight);
    letter-spacing: var(--text-caption-letter-spacing);
    line-height: var(--text-caption-line-height);
    color: var(--color-text-secondary);
}

/* ---------- Filtry wiadomości ---------- */
.news-filters {
    width: 100%;
    background-color: var(--color-surface-alt);
    padding-block: var(--space-sm);
}

.news-filters__container {
    width: 100%;
    max-width: var(--container-max);
    margin-inline: auto;
    padding-inline: var(--container-padding);
    display: flex;
    flex-wrap: nowrap;
    gap: var(--space-xs);
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    scrollbar-color: var(--color-border) transparent;
}

.news-filters__container .platform-filter {
    flex-shrink: 0;
    min-width: 80px;
    min-height: 44px;
    padding: 0 var(--space-md);
    white-space: nowrap;
}

@media (min-width: 1024px) {
    .news-filters__container {
        justify-content: center;
        overflow-x: visible;
        flex-wrap: wrap;
    }
}

/* ---------- Główny układ: lista + sidebar ---------- */
.news-layout {
    width: 100%;
    max-width: var(--container-max);
    margin-inline: auto;
    padding-inline: var(--container-padding);
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-xl);
    align-items: start;
}

.news-layout__main {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: var(--space-3xl);
}

@media (min-width: 1024px) {
    .news-layout {
        grid-template-columns: minmax(0, 1fr) 320px;
        gap: var(--space-2xl);
    }

    .news-layout__main {
        gap: var(--space-3xl);
    }
}

@media (max-width: 767px) {
    .news-layout {
        gap: var(--space-xl);
    }

    .news-layout__main {
        gap: var(--space-2xl);
    }
}

/* ---------- Lista najnowszych wiadomości ---------- */
.news-list {
    min-width: 0;
}

.news-list__heading {
    font-size: var(--text-h2-size);
    line-height: var(--text-h2-line-height);
    font-weight: var(--text-h2-weight);
    letter-spacing: var(--text-h2-letter-spacing);
    color: var(--color-text-primary);
    margin-block-end: var(--space-lg);
}

.news-list__items {
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
}

.news-card {
    display: flex;
    flex-direction: column;
    background-color: var(--color-surface);
    border: var(--border-default);
    border-radius: var(--radius-medium);
    overflow: hidden;
    transition: border-color var(--transition-fast);
    min-width: 0;
}

.news-card:hover {
    border-color: var(--color-nav-bg);
}

.news-card__media {
    width: 100%;
    aspect-ratio: 3 / 2;
    overflow: hidden;
    background-color: var(--color-surface-alt);
    flex-shrink: 0;
}

.news-card__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.news-card__body {
    padding: var(--space-md);
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
    min-width: 0;
    flex: 1;
}

.news-card__labels {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-xs);
}

.news-card__title {
    font-size: var(--text-h3-size);
    line-height: var(--text-h3-line-height);
    font-weight: var(--text-h3-weight);
    letter-spacing: var(--text-h3-letter-spacing);
    color: var(--color-text-primary);
    margin: 0;
    text-wrap: balance;
}

.news-card__lead {
    font-size: var(--text-body-size);
    line-height: var(--text-body-line-height);
    color: var(--color-text-primary);
    margin: 0;
    max-width: 600px;
}

.news-card__meta {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-xs) var(--space-md);
    list-style: none;
    padding: 0;
    margin: var(--space-xs) 0 0;
    font-size: var(--text-caption-size);
    line-height: var(--text-caption-line-height);
    font-weight: var(--text-caption-weight);
    letter-spacing: var(--text-caption-letter-spacing);
    color: var(--color-text-secondary);
}

.news-card__meta li {
    color: inherit;
    font-size: inherit;
    line-height: inherit;
}

@media (min-width: 768px) {
    .news-card {
        flex-direction: row;
    }

    .news-card__media {
        width: 200px;
        min-width: 200px;
        aspect-ratio: 3 / 2;
    }

    .news-card__body {
        padding: var(--space-lg);
    }
}

@media (max-width: 767px) {
    .news-card__body {
        padding: var(--space-md);
    }

    .news-card__lead {
        font-size: var(--text-body-small-size);
        line-height: 1.5;
    }
}

/* ---------- Paginacja ---------- */
.news-pagination {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: var(--space-xs);
    margin-block-start: var(--space-xl);
}

.news-pagination__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 44px;
    padding: 0 var(--space-sm);
    border: var(--border-default);
    border-radius: var(--radius-medium);
    background-color: var(--color-surface);
    color: var(--color-text-primary);
    font-size: var(--text-body-small-size);
    font-weight: 600;
    line-height: 1.5;
    cursor: pointer;
    transition:
        background-color var(--transition-fast),
        color var(--transition-fast),
        border-color var(--transition-fast);
}

.news-pagination__btn:hover:not(:disabled) {
    border-color: var(--color-nav-bg);
    color: var(--color-accent-orange);
}

.news-pagination__btn.is-active {
    background-color: var(--color-nav-bg);
    color: var(--color-nav-text);
    border-color: var(--color-nav-bg);
}

.news-pagination__btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

@media (max-width: 767px) {
    .news-pagination {
        flex-wrap: nowrap;
        overflow-x: auto;
        justify-content: flex-start;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: thin;
        scrollbar-color: var(--color-border) transparent;
        padding-block-end: var(--space-xs);
    }

    .news-pagination__btn {
        flex-shrink: 0;
    }
}

/* ---------- Wyszukiwarka wiadomości ---------- */
.news-search {
    width: 100%;
    background-color: var(--color-surface-alt);
    border-radius: var(--radius-large);
    padding: var(--space-xl);
}

.news-search__heading {
    font-size: var(--text-h2-size);
    line-height: var(--text-h2-line-height);
    font-weight: var(--text-h2-weight);
    letter-spacing: var(--text-h2-letter-spacing);
    color: var(--color-text-primary);
    margin-block-end: var(--space-md);
    text-align: center;
}

.news-search__form {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
    max-width: 720px;
    margin-inline: auto;
}

.news-search__input {
    width: 100%;
    min-height: 48px;
    background-color: var(--color-surface);
    border: var(--border-default);
    border-radius: var(--radius-medium);
    padding: var(--space-sm) var(--space-md);
    font-size: var(--text-body-size);
    color: var(--color-text-primary);
}

.news-search__btn {
    width: 100%;
    min-height: 48px;
    flex-shrink: 0;
}

.news-search__status {
    margin-block-start: var(--space-sm);
    font-size: var(--text-body-small-size);
    line-height: var(--text-body-small-line-height);
    color: var(--color-text-secondary);
    text-align: center;
    min-height: 1.5em;
}

@media (min-width: 768px) {
    .news-search__form {
        flex-direction: row;
        align-items: stretch;
    }

    .news-search__input {
        flex: 1;
        min-width: 0;
    }

    .news-search__btn {
        width: 120px;
    }
}

@media (max-width: 767px) {
    .news-search {
        padding: var(--space-lg);
    }
}

/* ---------- Standardy redakcyjne i oznaczenia ---------- */
.news-standards {
    width: 100%;
}

.news-standards__heading {
    font-size: var(--text-h2-size);
    line-height: var(--text-h2-line-height);
    font-weight: var(--text-h2-weight);
    letter-spacing: var(--text-h2-letter-spacing);
    color: var(--color-text-primary);
    margin-block-end: var(--space-lg);
}

.news-standards__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-md);
}

.news-standard {
    background-color: var(--color-surface);
    border: var(--border-default);
    border-radius: var(--radius-medium);
    padding: var(--space-lg);
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
    align-items: flex-start;
    min-width: 0;
}

.news-standard p {
    margin: 0;
    font-size: var(--text-body-size);
    line-height: var(--text-body-line-height);
    color: var(--color-text-primary);
    max-width: 680px;
}

@media (min-width: 768px) {
    .news-standards__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: var(--space-lg);
    }
}

/* ---------- Sidebar z modułami ---------- */
.news-sidebar {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
}

@media (min-width: 1024px) {
    .news-sidebar {
        position: sticky;
        top: var(--space-lg);
    }
}

.news-sidebar__module {
    background-color: var(--color-surface);
    border: var(--border-default);
    border-radius: var(--radius-medium);
    padding: var(--space-lg);
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
    min-width: 0;
}

.news-sidebar__title {
    font-size: var(--text-h4-size);
    line-height: var(--text-h4-line-height);
    font-weight: var(--text-h4-weight);
    letter-spacing: var(--text-h4-letter-spacing);
    color: var(--color-text-primary);
    margin: 0;
}

.news-sidebar__list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
}

.news-sidebar__list li {
    display: flex;
    flex-direction: column;
    gap: var(--space-2xs);
    font-size: var(--text-body-small-size);
    line-height: var(--text-body-small-line-height);
    color: var(--color-text-primary);
}

.news-sidebar__list a {
    color: var(--color-text-primary);
    font-weight: 600;
    transition: color var(--transition-fast);
}

.news-sidebar__list a:hover {
    color: var(--color-accent-orange);
}

.news-sidebar__views,
.news-sidebar__date {
    font-size: var(--text-caption-size);
    line-height: var(--text-caption-line-height);
    font-weight: var(--text-caption-weight);
    letter-spacing: var(--text-caption-letter-spacing);
    color: var(--color-text-secondary);
}

.news-sidebar__text {
    margin: 0;
    font-size: var(--text-body-small-size);
    line-height: var(--text-body-small-line-height);
    color: var(--color-text-primary);
}

.news-sidebar__form {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
    min-width: 0;
}

.news-sidebar__input {
    width: 100%;
    min-height: 48px;
    background-color: var(--color-surface);
    border: var(--border-default);
    border-radius: var(--radius-medium);
    padding: var(--space-sm) var(--space-md);
    font-size: var(--text-body-size);
    color: var(--color-text-primary);
}

.news-sidebar__consent {
    align-items: flex-start;
    gap: var(--space-xs);
}

.news-sidebar__consent label {
    font-size: var(--text-caption-size);
    line-height: var(--text-caption-line-height);
    font-weight: 400;
    color: var(--color-text-secondary);
}

.news-sidebar__btn {
    width: 100%;
    min-height: 48px;
}
