/* Page agenda — cartes horizontales alignées maquette (coins arrondis, CTA terracotta) */

.page-agenda .events-list {
    --home-thumb-w: clamp(200px, 32%, 300px);
    display: flex;
    flex-direction: column;
    gap: 1.15rem;
    max-width: 1040px;
    margin-inline: auto;
    scroll-margin-top: calc(var(--current-anchor-offset, var(--current-header-bottom, var(--header-offset, 120px))) + 7rem);
}

.page-agenda .events-list .home-feed-card--agenda {
    animation: csh-fade-in-up 0.4s cubic-bezier(0.16, 1, 0.3, 1) both;
    content-visibility: auto;
    contain-intrinsic-size: auto 15rem;
}

/* Maquette : pas de barre latérale, carte blanche arrondie */
.page-agenda .home-feed-card--agenda {
    grid-template-columns: var(--home-thumb-w) minmax(0, 1fr);
    gap: 0;
    border-radius: 16px;
    overflow: hidden;
    background: #fff;
    border: 1px solid rgba(10, 69, 72, 0.1);
    box-shadow: 0 10px 28px rgba(10, 69, 72, 0.08);
}

.page-agenda .home-feed-card--agenda::before {
    display: none;
}

.page-agenda .home-feed-card--agenda:hover {
    transform: translateY(-2px);
    border-color: rgba(10, 69, 72, 0.14);
    box-shadow: 0 16px 36px rgba(10, 69, 72, 0.12);
}

.page-agenda .home-feed-card--agenda.is-past {
    opacity: 0.78;
}

.page-agenda .home-feed-card--agenda.is-past .home-feed-card__media img {
    filter: grayscale(0.35) saturate(0.85);
}

.page-agenda .home-feed-card--agenda .home-feed-card__media {
    min-height: 100%;
    align-self: stretch;
    border-radius: 16px 0 0 16px;
    overflow: hidden;
}

.page-agenda .home-feed-card--agenda .home-feed-card__media::after {
    background: linear-gradient(180deg, rgba(10, 27, 29, 0.04) 0%, rgba(10, 27, 29, 0.22) 100%);
}

.page-agenda .home-feed-card--agenda .home-feed-card__media img {
    min-height: 13.5rem;
}

.page-agenda .home-feed-card--agenda .home-feed-card__body {
    min-height: 13.5rem;
    padding: clamp(1.15rem, 2.2vw, 1.5rem);
    gap: 0.65rem;
    background: #fff;
}

.page-agenda .home-feed-card--agenda .home-feed-card__category {
    background: #eef2f4;
    color: var(--color-primary-dark);
    border: none;
    letter-spacing: 0.08em;
}

.page-agenda .home-feed-card--agenda .home-feed-card__title {
    color: var(--color-primary-dark);
}

.page-agenda .home-feed-card--agenda .home-feed-card__fact {
    background: #f1f5f4;
    border-color: rgba(10, 69, 72, 0.06);
}

.page-agenda .home-feed-card--agenda .home-feed-card__status--soon {
    background: #15803d;
}

.page-agenda .home-feed-card--agenda .home-feed-card__cta {
    width: 100%;
    margin-top: auto;
    padding-top: 0.35rem;
    min-height: 50px;
    border-radius: 10px;
    font-size: 0.75rem;
    letter-spacing: 0.08em;
    background-color: var(--color-secondary-brand, #d36b42);
    border: none;
    box-shadow: 0 6px 18px rgba(211, 107, 66, 0.32);
}

.page-agenda .home-feed-card--agenda .home-feed-card__cta:hover {
    background-color: var(--color-secondary, #b85d38);
    box-shadow: 0 8px 22px rgba(211, 107, 66, 0.38);
}

.page-agenda .home-feed-card--draft {
    border: 1.5px dashed rgba(211, 107, 66, 0.5) !important;
    background: rgba(255, 251, 235, 0.92) !important;
}

.page-agenda .home-feed-card__draft-badge {
    display: inline-block;
    width: fit-content;
    margin-bottom: 0.15rem;
    padding: 0.18rem 0.6rem;
    border-radius: 6px;
    background: #fef3c7;
    color: #92400e;
    font-size: 0.65rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.page-agenda:not(.page-agenda-admin) .home-feed-card--draft,
.page-agenda:not(.page-agenda-admin) .home-feed-card__admin {
    display: none !important;
}

/* Calendrier sous le CTA (discret) */
.page-agenda .home-feed-card__calendar-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    margin-top: 0.5rem;
}

.page-agenda .home-feed-card__calendar-row .event-card__calendar-cluster {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
}

.page-agenda .event-card__calendar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    min-height: 40px;
    padding: 0.35rem 0.85rem;
    border-radius: 999px;
    border: 1px solid rgba(10, 69, 72, 0.1);
    background: #f8fafb;
    font-family: var(--font-heading);
    font-size: 0.74rem;
    font-weight: 800;
    color: var(--color-primary-dark);
    cursor: pointer;
}

.page-agenda .event-card__calendar:hover {
    border-color: rgba(10, 69, 72, 0.2);
    background: #fff;
}

.page-agenda .event-card__calendar:focus-visible {
    outline: 3px solid var(--color-accent, #e8b923);
    outline-offset: 2px;
}

.page-agenda .event-card__calendar-links {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 0.35rem;
}

.page-agenda .calendar-link-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    min-height: 40px;
    padding: 0.3rem 0.7rem;
    border-radius: 999px;
    border: 1px solid rgba(10, 69, 72, 0.1);
    background: #f8fafb;
    font-size: 0.7rem;
    font-weight: 700;
    color: var(--color-primary-dark);
    text-decoration: none;
}

.page-agenda .calendar-link-btn:hover {
    background: #fff;
    border-color: rgba(10, 69, 72, 0.2);
}

.page-agenda .home-feed-card__admin,
.page-agenda .event-card__admin {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    grid-column: 1 / -1;
    padding: 0.75rem 1rem;
    border-top: 1px dashed rgba(10, 69, 72, 0.15);
    background: rgba(247, 243, 238, 0.5);
}

.page-agenda .home-feed-card--agenda .home-feed-card__admin {
    grid-row: 2;
}

.page-agenda .event-card__admin-btn {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 0.35rem 0.75rem;
    border: 1px solid rgba(10, 69, 72, 0.18);
    border-radius: 8px;
    background: #fff;
    font-family: var(--font-heading);
    font-size: 0.78rem;
    font-weight: 700;
    color: var(--color-primary-dark);
    cursor: pointer;
}

.page-agenda .event-card__admin-btn--ghost { color: #6b7280; }
.page-agenda .event-card__admin-btn--danger { color: #b91c1c; border-color: #fecaca; }

@media (max-width: 900px) {
    .page-agenda .events-list {
        --home-thumb-w: 220px;
    }
}

@media (max-width: 720px) {
    .page-agenda .events-list {
        --home-thumb-w: 100%;
        gap: 1rem;
        padding-inline: clamp(0.15rem, 2vw, 0.5rem);
    }

    .page-agenda .home-feed-card--agenda {
        grid-template-columns: 1fr;
        border-radius: 18px;
        border-color: rgba(10, 69, 72, 0.12);
        box-shadow:
            0 1px 0 rgba(255, 255, 255, 0.95) inset,
            0 14px 34px rgba(16, 42, 44, 0.1);
    }

    .page-agenda .home-feed-card--agenda::after {
        content: '';
        position: absolute;
        inset: 0;
        border-radius: inherit;
        pointer-events: none;
        box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.55);
    }

    .page-agenda .home-feed-card--agenda .home-feed-card__media {
        width: 100%;
        min-width: 0;
        min-height: clamp(6.75rem, 32vw, 8rem);
        border-radius: 18px 18px 0 0;
        background:
            radial-gradient(circle at 20% 15%, rgba(232, 185, 35, 0.22), transparent 36%),
            linear-gradient(135deg, var(--color-primary-dark), var(--color-primary));
    }

    .page-agenda .home-feed-card--agenda .home-feed-card__media::after {
        background:
            linear-gradient(180deg, rgba(10, 27, 29, 0.04) 0%, rgba(10, 27, 29, 0.34) 100%),
            linear-gradient(90deg, rgba(10, 69, 72, 0.28), transparent 50%);
    }

    .page-agenda .home-feed-card--agenda .home-feed-card__media img {
        min-height: clamp(6.75rem, 32vw, 8rem);
    }

    .page-agenda .home-feed-card--agenda .home-feed-card__date {
        top: 0.55rem;
        bottom: auto;
        left: 0.55rem;
        min-width: 3.35rem;
        padding: 0.36rem 0.5rem 0.32rem;
        border-radius: 12px;
        box-shadow: 0 12px 26px rgba(10, 27, 29, 0.22);
    }

    .page-agenda .home-feed-card--agenda .home-feed-card__date-day {
        font-size: 1.34rem;
    }

    .page-agenda .home-feed-card--agenda .home-feed-card__date-month {
        font-size: 0.6rem;
    }

    .page-agenda .home-feed-card--agenda .home-feed-card__status {
        top: 0.62rem;
        right: 0.62rem;
        padding: 0.32rem 0.62rem;
        font-size: 0.6rem;
        box-shadow: 0 10px 22px rgba(10, 27, 29, 0.18);
    }

    .page-agenda .home-feed-card--agenda .home-feed-card__body {
        display: grid;
        grid-template-columns: minmax(0, 1.45fr) minmax(0, 0.95fr);
        min-height: 0;
        padding: 0.78rem 0.82rem 0.82rem;
        gap: 0.48rem;
        background:
            linear-gradient(180deg, #fff 0%, rgba(247, 243, 238, 0.5) 100%);
    }

    .page-agenda .home-feed-card--agenda .home-feed-card__category,
    .page-agenda .home-feed-card--agenda .home-feed-card__title,
    .page-agenda .home-feed-card--agenda .home-feed-card__excerpt,
    .page-agenda .home-feed-card--agenda .home-feed-card__facts {
        grid-column: 1 / -1;
    }

    .page-agenda .home-feed-card--agenda .home-feed-card__category {
        max-width: 100%;
        padding: 0.26rem 0.62rem;
        background: rgba(10, 69, 72, 0.08);
        color: var(--color-primary);
        font-size: 0.64rem;
        line-height: 1.1;
        white-space: normal;
    }

    .page-agenda .home-feed-card--agenda .home-feed-card__title {
        display: -webkit-box;
        font-size: clamp(1.06rem, 4.8vw, 1.22rem);
        line-height: 1.14;
        letter-spacing: 0;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }

    .page-agenda .home-feed-card--agenda .home-feed-card__excerpt {
        display: -webkit-box;
        color: var(--color-text-muted);
        font-size: 0.88rem;
        line-height: 1.42;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }

    .page-agenda .home-feed-card--agenda .home-feed-card__facts {
        display: grid;
        grid-template-columns: 1fr;
        gap: 0.3rem;
        margin-top: 0;
        padding: 0.46rem;
        border-radius: 12px;
        background: rgba(10, 69, 72, 0.045);
        border: 1px solid rgba(10, 69, 72, 0.08);
    }

    .page-agenda .home-feed-card--agenda .home-feed-card__fact {
        justify-content: flex-start;
        gap: 0.45rem;
        min-height: 30px;
        padding: 0;
        border: 0;
        border-radius: 0;
        background: transparent;
        color: var(--color-text-main);
        font-size: 0.8rem;
        line-height: 1.22;
    }

    .page-agenda .home-feed-card--agenda .home-feed-card__fact-icon {
        display: grid;
        place-items: center;
        width: 1.45rem;
        height: 1.45rem;
        border-radius: 999px;
        background: #fff;
        color: var(--color-primary);
        box-shadow: 0 1px 0 rgba(255, 255, 255, 0.9) inset;
    }

    .page-agenda .home-feed-card--agenda .home-feed-card__fact-text {
        white-space: normal;
        overflow: visible;
        text-overflow: clip;
    }

    .page-agenda .home-feed-card--agenda .home-feed-card__cta {
        grid-column: 1;
        min-height: 42px;
        margin-top: 0.05rem;
        border-radius: 12px;
        padding-inline: 0.45rem;
        font-size: 0.68rem;
        letter-spacing: 0.02em;
        line-height: 1.08;
    }

    .page-agenda .home-feed-card__calendar-row {
        grid-column: 2;
        justify-content: stretch;
        align-self: end;
        margin-top: 0.05rem;
    }

    .page-agenda .home-feed-card__calendar-row .event-card__calendar-cluster,
    .page-agenda .event-card__calendar {
        width: 100%;
    }

    .page-agenda .event-card__calendar {
        min-height: 40px;
        border-radius: 12px;
        background: #fff;
        color: var(--color-primary-dark);
        font-size: 0.72rem;
    }

    .page-agenda .event-card__calendar-links {
        display: none;
    }

    .page-agenda .home-feed-card--agenda .home-feed-card__cta,
    .page-agenda .home-feed-card--agenda .home-feed-card__calendar-row {
        width: 100%;
    }
}

@media (max-width: 420px) {
    .page-agenda .home-feed-card--agenda .home-feed-card__body {
        padding-inline: 0.9rem;
    }

    .page-agenda .home-feed-card--agenda .home-feed-card__title {
        font-size: 1.18rem;
    }

    .page-agenda .home-feed-card--agenda .home-feed-card__excerpt {
        font-size: 0.92rem;
    }
}

/* Vue grille */
.page-agenda .events-list.events-list--grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 1.35rem;
    max-width: 1200px;
    --home-thumb-w: 100%;
}

.page-agenda .events-list--grid .home-feed-card--agenda {
    grid-template-columns: 1fr;
}

.page-agenda .events-list--grid .home-feed-card--agenda::before {
    display: none;
}

.page-agenda .events-list--grid .home-feed-card--agenda .home-feed-card__media {
    width: 100%;
    min-width: 0;
    min-height: 200px;
    border-radius: 16px 16px 0 0;
}

.page-agenda .events-list--grid .home-feed-card--agenda .home-feed-card__media img {
    min-height: 200px;
}

.page-agenda .events-list--grid .home-feed-card--agenda .home-feed-card__admin {
    grid-column: 1;
    grid-row: 3;
}

.page-agenda .events-list--grid .events-group-header {
    grid-column: 1 / -1;
    margin-top: 1.5rem;
}
