/* Unifie la page d’actualités avec l’identité sauge et turquoise de SGL-TECH. */
.announcements-page {
    --news-ink: #173747;
    --news-muted: #58717b;
    --news-accent: #087b78;
    --news-line: #dce8e8;
    --news-surface: #ffffff;
    background: radial-gradient(ellipse at 93% 5%, rgba(194, 229, 219, .24), transparent 30rem), #f3f7f7;
    color: var(--news-ink);
}
.announcements-page .announcements-hero {
    position: relative;
    isolation: isolate;
    border: 1px solid rgba(194, 227, 216, .48);
    border-radius: 26px;
    background: radial-gradient(ellipse at 88% 9%, rgba(155, 231, 200, .24), transparent 37%), linear-gradient(125deg, #123247, #14585c 58%, #198777);
    box-shadow: 0 22px 56px rgba(15, 78, 75, .17);
}
.announcements-page .announcements-hero::after {
    z-index: -1;
    background: radial-gradient(circle at 86% 30%, transparent 0 63px, rgba(226, 255, 243, .12) 64px 65px, transparent 66px 93px, rgba(226, 255, 243, .08) 94px 95px, transparent 96px), linear-gradient(100deg, rgba(8, 35, 47, .16), transparent 68%);
}
.announcements-page .announcements-hero .about-kicker { color: #b5e9d6; font-size: .69rem; letter-spacing: .15em; }
.announcements-page .announcements-hero h1 { max-width: 720px; color: #fff; font-size: clamp(2rem, 4.6vw, 3.6rem); line-height: 1.07; letter-spacing: -.05em; }
.announcements-page .announcements-hero p:not(.about-kicker) { color: #d7e8e9; font-size: .96rem; line-height: 1.75; }
.announcements-page .announcements-section { max-width: 1200px; padding: 0 8px 25px; }
.announcement-section-heading {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    margin: 0 0 19px;
}
.announcement-section-heading .about-kicker { margin: 0 0 7px; color: var(--news-accent); font-size: .68rem; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.announcement-section-heading h2 { margin: 0; color: var(--news-ink); font-size: clamp(1.55rem, 3.4vw, 2.25rem); line-height: 1.15; letter-spacing: -.04em; }
.announcement-section-heading p:last-child { margin: 9px 0 0; color: var(--news-muted); font-size: .87rem; line-height: 1.65; }
.announcement-section-mark { display: grid; width: 49px; height: 49px; flex: 0 0 49px; place-items: center; border: 1px solid #d5e9e3; border-radius: 16px; background: #eaf5f1; color: #0b8179; font-size: 1.45rem; }
.announcements-page .announcement-grid { gap: 15px; }
.announcements-page .announcement-card {
    display: flex;
    min-width: 0;
    min-height: 245px;
    flex-direction: column;
    align-items: flex-start;
    padding: 22px;
    border: 1px solid var(--news-line);
    border-radius: 18px;
    background: var(--news-surface);
    box-shadow: 0 8px 24px rgba(16, 46, 67, .05);
    transition: transform .22s, box-shadow .22s, border-color .22s;
}
.announcements-page .announcement-card::before { width: 3px; background: linear-gradient(#1c9987, #a8d8be); }
.announcement-category { display: inline-flex; align-items: center; gap: 7px; margin: 0 0 16px; color: #54716f; font-size: .59rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.announcement-category i { width: 7px; height: 7px; border-radius: 50%; background: #12877e; box-shadow: 0 0 0 4px #12877e15; }
.announcements-page .announcement-card h2 { margin: 0 0 9px; color: #193e4b; font-size: 1.12rem; line-height: 1.3; letter-spacing: -.025em; }
.announcements-page .announcement-card .announcement-date { display: inline-flex !important; align-items: center; min-height: 28px; margin: 0 0 12px !important; padding: 5px 9px; border: 1px solid #dcebe6; border-radius: 999px; background: #f0f8f4; color: #317260 !important; font-size: .66rem; }
.announcements-page .announcement-card .announcement-date-upcoming { border-color: #e7e0c7; background: #faf6e9; color: #836b2f !important; }
.announcements-page .announcement-card > p:last-of-type { margin: 0; color: #617982; font-size: .82rem; line-height: 1.7; }
.announcement-card-index { align-self: flex-end; margin-top: auto; padding-top: 12px; color: #a8bdb9; font-size: .62rem; font-weight: 850; letter-spacing: .11em; }
.announcements-page .gallery-section { border-top: 1px solid #dce8e7; }
@media (hover: hover) and (pointer: fine) {
    .announcements-page .announcement-card:hover { transform: translateY(-4px); border-color: #b9d7cf; box-shadow: 0 17px 38px rgba(16, 46, 67, .1); }
}
@media (max-width: 860px) {
    .announcements-page .announcements-section { padding-inline: 0; }
}
@media (max-width: 620px) {
    .announcements-page { padding: 16px 15px 44px; }
    .announcements-page .announcements-hero { border-radius: 21px; }
    .announcements-page .announcements-section { margin-top: 23px; }
    .announcement-section-heading { align-items: flex-start; gap: 11px; }
    .announcement-section-heading h2 { font-size: 1.55rem; }
    .announcement-section-heading p:last-child { font-size: .79rem; }
    .announcement-section-mark { width: 40px; height: 40px; flex-basis: 40px; border-radius: 13px; font-size: 1.15rem; }
    .announcements-page .announcement-grid { grid-template-columns: minmax(0, 1fr); gap: 10px; }
    .announcements-page .announcement-card { min-height: 0; padding: 19px; border-radius: 15px; }
    .announcement-category { margin-bottom: 11px; }
    .announcement-card-index { padding-top: 9px; }
}
@media (prefers-color-scheme: dark) {
    .announcements-page { --news-ink: #e7f0f0; --news-muted: #b4c4cc; --news-line: #354953; --news-surface: #17262e; background: radial-gradient(ellipse at 93% 5%, rgba(36,95,88,.22), transparent 30rem), #101a20; color: #edf4f5; }
    .announcements-page .announcements-hero { border-color: #345754; background: radial-gradient(ellipse at 88% 9%,rgba(111,208,178,.16),transparent 37%),linear-gradient(125deg,#102b3a,#124b50 58%,#176960); }
    .announcement-section-heading h2 { color: #e7f0f0; }
    .announcement-section-mark { border-color: #355954; background: #1d393a; color: #a8eee2; }
    .announcements-page .announcement-card { border-color: #354953; background: #17262e; }
    .announcements-page .announcement-card h2 { color: #e1eeee; }
    .announcements-page .announcement-card > p:last-of-type { color: #b4c4cc; }
    .announcement-category { color: #b5ccc8; }
    .announcement-category i { background: #72cec3; }
    .announcements-page .announcement-card .announcement-date { border-color: #35564d; background: #20372e; color: #bde6ca !important; }
    .announcements-page .announcement-card .announcement-date-upcoming { border-color: #5b5133; background: #353020; color: #ebd99d !important; }
    .announcement-card-index { color: #7f9b9d; }
    .announcements-page .gallery-section { border-color: #354953; }
}