/* =============================================================================
   MIRROIR — PRESSE. Portage FIDÈLE du composant card de la revue de presse de
   TousEnsembles (.feed-article-card et satellites, cf. public/packages/base.css)
   pour que la vitrine publique soit visuellement indistinguable du fil que voit
   un membre. Complète mirroir.css (chargé avant) : réutilise ses variables de
   charte (--bg-surface, --gray-*, --text-*, --border-radius, --primary-dark, etc.).

   Les couleurs de marque des sources et des pastilles sont reprises À
   L'IDENTIQUE de base.css et déclarées ici en variables : aucune couleur en dur
   hors de ce :root (règle CSS impérative du projet).
   ============================================================================= */
:root {
    /* Couleurs de marque des sources (fond du badge + placeholder lettre). */
    --s-mediapart: #E76F00;
    --s-reporterre: #4A8C3F;
    --s-blast: #1A1A2E;
    --s-le-monde: #1A3B5C;
    --s-sud-ouest: #C62828;
    --s-ouest-france: #D32F2F;
    --s-brut: #000000;
    --s-vakita: #6D28D9;
    --s-fakir: #B91C1C;
    --s-le-canard-enchaine: #F59E0B;
    --s-lhumanite: #DC2626;
    --s-arret-sur-images: #0369A1;
    --s-basta: #065F46;
    --s-60-millions: #0284C7;
    --s-alternatives-economiques: #7C3AED;
    --s-disclose: #0F172A;
    --s-la-bas-si-jy-suis: #92400E;
    --s-le-media: #BE123C;
    --s-le-monde-diplomatique: #1E3A5F;
    --s-natura-sciences: #15803D;
    --s-observatoire-des-multinationales: #7F1D1D;
    --s-politis: #B91C1C;
    --s-rural: #65A30D;
    --s-sciences-critiques: #4338CA;
    --s-silence: #047857;

    /* Pastilles — propriété (presse) et financement (nouveaux médias),
       reprises de base.css .feed-ownership-dot--*. --dot-ink = encre sombre. */
    --od-independant: #F28C28;
    --od-milliardaire: #1a1a1a;
    --od-groupe_prive: #85B7EB;
    --od-a_classer: #C7CCD1;
    --od-dons: #4A8C3F;
    --od-abonnements: #2E7D8A;
    --od-sponsoring_marques: #C77D1A;
    --od-investisseurs_prives: #1a1a1a;
    --od-groupe: #85B7EB;
    --od-public: #6D5BBF;
    --od-mixte: #9C7BB0;
    --od-ink: #1a1a1a;
}

/* --- Encart de transparence en tête de l'aperçu --- */
.presse-transparence {
    background: var(--primary-light);
    border-left: 4px solid var(--primary-dark);
    border-radius: var(--border-radius);
    padding: 1rem 1.25rem;
    margin: 0 0 1.75rem;
}

.presse-transparence p {
    margin: 0;
    color: var(--primary-darker);
    font-weight: 600;
    max-width: 70ch;
}

/* --- Grille d'articles (responsive ; sur TE = 3 colonnes fixes dans le fil de
   760px, ici colonnes fluides pour la vitrine, cards identiques). --- */
.feed-articles-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 14px;
}

/* --- La card (portée de base.css .feed-article-card), servie en <a> ici. --- */
.feed-article-card {
    display: block;
    background: var(--bg-surface);
    border: 1px solid var(--gray-200);
    border-radius: var(--border-radius);
    overflow: hidden;
    text-decoration: none;
    color: inherit;
    cursor: pointer;
    transition: transform 0.15s, box-shadow 0.15s;
}

.feed-article-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(37, 102, 99, 0.14);
}

.feed-article-card__img {
    height: 120px;
    background: var(--gray-100);
    overflow: hidden;
}

.feed-article-card__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.feed-article-card__img-placeholder {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    font-weight: 800;
    color: var(--white);
    background: linear-gradient(135deg, var(--gray-100), var(--gray-200));
}

.feed-article-card__logo-placeholder {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--gray-50);
}

.feed-article-card__logo-placeholder img {
    width: 32px;
    height: 32px;
    object-fit: contain;
}

.feed-article-card__body {
    padding: 8px 10px 10px;
}

.feed-article-card__title {
    font-size: 0.82rem;
    font-weight: 600;
    line-height: 1.3;
    color: var(--text-primary);
    margin: 4px 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.feed-article-card__meta {
    font-size: 0.68rem;
    color: var(--text-muted);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* --- Badge source (couleur de marque) --- */
.feed-press-source {
    display: inline-block;
    font-size: 0.6rem;
    font-weight: 700;
    padding: 1px 6px;
    border-radius: 3px;
    margin-bottom: 4px;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    background: var(--gray-700);
    color: var(--bg-surface);
}

.feed-press-source--mediapart { background: var(--s-mediapart); }
.feed-press-source--reporterre { background: var(--s-reporterre); }
.feed-press-source--blast { background: var(--s-blast); }
.feed-press-source--le-monde { background: var(--s-le-monde); }
.feed-press-source--sud-ouest { background: var(--s-sud-ouest); }
.feed-press-source--ouest-france { background: var(--s-ouest-france); }
.feed-press-source--brut { background: var(--s-brut); }
.feed-press-source--vakita { background: var(--s-vakita); }
.feed-press-source--fakir { background: var(--s-fakir); }
.feed-press-source--le-canard-enchaine { background: var(--s-le-canard-enchaine); color: var(--text-primary); }
.feed-press-source--lhumanite { background: var(--s-lhumanite); }
.feed-press-source--arret-sur-images { background: var(--s-arret-sur-images); }
.feed-press-source--basta { background: var(--s-basta); }
.feed-press-source--60-millions { background: var(--s-60-millions); }
.feed-press-source--alternatives-economiques { background: var(--s-alternatives-economiques); }
.feed-press-source--disclose { background: var(--s-disclose); }
.feed-press-source--la-bas-si-jy-suis { background: var(--s-la-bas-si-jy-suis); }
.feed-press-source--le-media { background: var(--s-le-media); }
.feed-press-source--le-monde-diplomatique { background: var(--s-le-monde-diplomatique); }
.feed-press-source--natura-sciences { background: var(--s-natura-sciences); }
.feed-press-source--observatoire-des-multinationales { background: var(--s-observatoire-des-multinationales); }
.feed-press-source--politis { background: var(--s-politis); }
.feed-press-source--rural { background: var(--s-rural); }
.feed-press-source--sciences-critiques { background: var(--s-sciences-critiques); }
.feed-press-source--silence { background: var(--s-silence); }

/* Placeholder lettre coloré (article sans image) */
.feed-press-placeholder--mediapart { background: var(--s-mediapart); }
.feed-press-placeholder--reporterre { background: var(--s-reporterre); }
.feed-press-placeholder--blast { background: var(--s-blast); }
.feed-press-placeholder--le-monde { background: var(--s-le-monde); }
.feed-press-placeholder--sud-ouest { background: var(--s-sud-ouest); }
.feed-press-placeholder--ouest-france { background: var(--s-ouest-france); }
.feed-press-placeholder--brut { background: var(--s-brut); }
.feed-press-placeholder--vakita { background: var(--s-vakita); }
.feed-press-placeholder--fakir { background: var(--s-fakir); }
.feed-press-placeholder--le-canard-enchaine { background: var(--s-le-canard-enchaine); color: var(--text-primary); }
.feed-press-placeholder--lhumanite { background: var(--s-lhumanite); }
.feed-press-placeholder--arret-sur-images { background: var(--s-arret-sur-images); }
.feed-press-placeholder--basta { background: var(--s-basta); }

/* --- Pastille de propriété / financement --- */
.feed-ownership-dot {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    font-size: 0.6rem;
    font-weight: 800;
    color: var(--white);
    margin-left: 4px;
    vertical-align: middle;
    cursor: help;
    flex-shrink: 0;
    line-height: 1;
}

.feed-ownership-dot--independant { background: var(--od-independant); }
.feed-ownership-dot--milliardaire { background: var(--od-milliardaire); }
.feed-ownership-dot--groupe_prive { background: var(--od-groupe_prive); color: var(--od-ink); }
.feed-ownership-dot--a_classer { background: var(--od-a_classer); color: var(--od-ink); }
.feed-ownership-dot--non_verifie { background: var(--text-muted); }
.feed-ownership-dot--dons { background: var(--od-dons); }
.feed-ownership-dot--abonnements { background: var(--od-abonnements); }
.feed-ownership-dot--sponsoring_marques { background: var(--od-sponsoring_marques); color: var(--od-ink); }
.feed-ownership-dot--investisseurs_prives { background: var(--od-investisseurs_prives); }
.feed-ownership-dot--groupe { background: var(--od-groupe); color: var(--od-ink); }
.feed-ownership-dot--public { background: var(--od-public); }
.feed-ownership-dot--mixte { background: var(--od-mixte); }

/* --- Légende des pastilles (portée de base.css) --- */
.feed-press-legend {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
    margin-top: 20px;
    padding-top: 12px;
    border-top: 1px solid var(--gray-200);
    font-size: 0.72rem;
    color: var(--text-muted);
}

.feed-press-legend__item {
    display: flex;
    align-items: center;
    gap: 4px;
}

/* Mention de fraîcheur sous l'aperçu */
.presse-maj {
    margin: 1.25rem 0 0;
    font-size: 0.85rem;
    color: var(--text-muted);
}
