/* =========================================================
   NEWS LIST (sans Bootstrap)
========================================================= */

.home .news {
    min-width: 0;
    max-width: none;
    margin: 0;
    padding: 0;
    border: 0;
}

.news-header {
    display: flex;
    align-items: center;
    justify-content: center;
}

.news-title {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin: 0;
    font-size: 1.6rem;
    font-weight: 700;
}

.news-pagination {
    display: flex;
    justify-content: center;
}

/* =========================================================
   CARD
========================================================= */

.news,
.news-card,
.news-card-header,
.news-card-title,
.news-body,
.news-content {
    min-width: 0;
    max-width: 100%;
}

.news-card {
    overflow: hidden;
    border: 1px solid var(--border-color);
    border-radius: var(--radius-lg);
    background: var(--surface);
    box-shadow: var(--shadow);
}

.news-card+.news-card {
    margin-top: 8px;
}

.news-card-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
    padding: 10px 12px;
    border-bottom: 1px solid var(--divider-color);
    background: rgba(25, 135, 84, 0.18);
}

.news-card-title {
    flex: 1 1 0;
    font-size: 1.1rem;
    font-weight: 700;
    line-height: 1.2;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.news-meta {
    padding: 6px 12px 0;
    color: var(--muted);
    font-size: 0.625rem;
    font-style: italic;
    text-align: right;
}

.news-body {
    padding: 10px 12px 12px;
}

/* =========================================================
   ACTIONS
========================================================= */

.news-actions {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    flex: 0 0 auto;
    margin: 0;
    padding: 0;
    list-style: none;
}

.news-validate-btn,
.news-edit-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 6px;
    border-radius: 10px;
    color: inherit;
}

.news-validate-btn {
    border: 0;
    background: transparent;
    cursor: pointer;
}

.news-edit-link {
    text-decoration: none;
}

.news-validate-btn:hover,
.news-edit-link:hover {
    background: rgba(0, 0, 0, 0.06);
}

:root[data-theme="dark"] .news-validate-btn:hover,
:root[data-theme="dark"] .news-edit-link:hover {
    background: rgba(255, 255, 255, 0.08);
}

.news .fa-minus-circle {
    color: red;
}

.news .fa-check {
    color: green;
}

.news .fa-pencil-alt {
    color: darkblue;
}

/* =========================================================
   CONTENT SAFETY
========================================================= */

.news-content {
    line-height: 1.55;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.news-content p,
.news-content div,
.news-content span,
.news-content a,
.news-content strong,
.news-content em,
.news-content u,
.news-content s {
    overflow-wrap: anywhere;
    word-break: break-word;
}

/* médias */
.news-content img,
.news-content iframe,
.news-content video,
.news-content canvas,
.news-content svg {
    display: block;
    box-sizing: border-box;
    max-width: 100% !important;
    height: auto !important;
}

.news-content p img {
    margin-inline: auto;
}

/* tableaux */
.news-content table {
    display: block;
    max-width: 100%;
    overflow-x: auto;
}

/* code */
.news-content pre {
    display: block;
    box-sizing: border-box;
    max-width: 100%;
    overflow-x: auto;
    white-space: pre-wrap !important;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.news-content code {
    white-space: pre-wrap !important;
    overflow-wrap: anywhere;
    word-break: break-word;
}

/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 575.98px) {
    .news-card-header {
        flex-wrap: wrap;
        align-items: flex-start;
        gap: 6px;
    }

    .news-actions {
        width: 100%;
        justify-content: flex-end;
    }

    .news-title,
    .news-card-title {
        font-size: 1rem;
    }

    .news-content img {
        width: auto !important;
        margin-inline: auto;
    }
}

/* Administration - News */
.table-news-list-container {
    overflow-x: auto;
}

TABLE.newslist {
    margin: 10px auto 10px auto;
    border-bottom: 2px solid #364c12;
    border-collapse: collapse;
    width: 100%;
}

.newslist TD,
.newslist TH {
    height: 20px;
    padding-left: 5px;
    padding-right: 5px;
}

.newslist tr:nth-child(even) {
    background-color: #f2f2f2;
}

.newslist tr:hover {
    background-color: #ddd;
}

.newslist TH {
    border-bottom: 2px solid #364c12;
}

.newslist td:last-of-type {
    text-align: center;
}

.fa-edit {
    color: blue;
}

.fa-clone {
    color: black;
}

.fa-trash-alt {
    color: red;
}

.fa-minus-circle {
    color: red;
}

.fa-check {
    color: green;
}

.fa-pencil-alt {
    color: darkblue;
}

.icon-btn {
    background: none;
    border: 0;
    padding: 0;
    font: inherit;
    color: inherit;
    cursor: pointer;
}

.icon-btn i {
    font-size: 1.8rem;
    /* ajuste à ton goût */
}

.news-page-list {
    max-width: var(--wrap);
    margin: 0 auto;

}

.news-page-list-title {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 20px auto;
    text-align: center;
}

.news-title h1 {
    margin: 0;
}