/* ==========================================================================
   Cartes éditoriales (template-parts/card.php)
   hero    : image plein cadre, titre en capitales en surimpression (une, tête d'archive)
   feature : image avec titre en surimpression (sujets forts, tête de rubrique)
   default : carte sombre, image 16:9 au-dessus (grilles)
   compact : vignette carrée à gauche (listes de rubrique)
   row     : sans image (listes denses)
   Toute la carte est cliquable via le lien du titre (pseudo-élément), les liens
   secondaires (rubrique, auteur) restent au-dessus.
   ========================================================================== */

.pa-card { position: relative; min-width: 0; color: var(--pa-ink-1); }
.pa-card__title { font-family: var(--pa-font-text); font-weight: 700; color: var(--pa-ink); text-transform: none; letter-spacing: 0; }
.pa-card__title a::after { content: ""; position: absolute; inset: 0; z-index: 2; }
.pa-card__title a:hover { color: var(--pa-ink); }
.pa-card .pa-badge, .pa-card__author { position: relative; z-index: 3; }
.pa-card__meta { display: flex; flex-wrap: wrap; align-items: center; gap: .2em .7em; margin: 0; font-size: .8rem; color: var(--pa-ink-3); }
.pa-card__meta > * + *::before { content: "·"; margin-inline-end: .7em; color: var(--pa-line-strong); }
.pa-card__author { color: var(--pa-ink-2); font-weight: 600; }
.pa-card__author:hover { color: var(--pa-ink); }
.pa-card__lead { color: var(--pa-ink-2); }
.pa-card__visual { display: block; }
.pa-card__visual img:not(.pa-ratio__blur) { transition: transform .5s var(--pa-ease); }
.pa-card:hover .pa-card__visual img:not(.pa-ratio__blur) { transform: scale(1.035); }
.pa-card:focus-within { outline: 2px solid var(--pa-focus); outline-offset: 3px; border-radius: var(--pa-radius); }
.pa-card:focus-within .pa-card__title a:focus-visible { outline: 0; }

/* Carte par défaut ------------------------------------------------------- */
.pa-card--default {
  display: flex; flex-direction: column;
  background: var(--pa-surface); border: 1px solid var(--pa-line); border-radius: var(--pa-radius);
  overflow: hidden; transition: border-color var(--pa-dur) var(--pa-ease), background var(--pa-dur) var(--pa-ease);
}
.pa-card--default:hover { border-color: var(--pa-line-strong); background: var(--pa-surface-2); }
.pa-card--default .pa-card__visual { --ratio: 16 / 10; }
.pa-card--default .pa-card__body { display: flex; flex-direction: column; align-items: flex-start; gap: .55rem; flex: 1; padding: .85rem 1rem 1rem; }
.pa-card--default .pa-card__title { font-size: 1.02rem; line-height: 1.35; }
.pa-card--default .pa-card__meta { margin-top: auto; }
.pa-card--default .pa-card__lead { font-size: var(--pa-text-sm); }
.pa-card--default.pa-card--text .pa-card__body { border-top: 3px solid var(--pa-cat, var(--pa-red)); }

/* Une (hero) ------------------------------------------------------------- */
.pa-card--hero {
  display: grid; align-items: end;
  min-height: clamp(440px, 70vh, 660px);
  background: var(--pa-media-frame); overflow: hidden;
}
.pa-card--hero > * { grid-area: 1 / 1; }
.pa-card--hero .pa-card__visual { height: 100%; aspect-ratio: auto; }
.pa-card--hero .pa-card__visual::after {
  content: ""; position: absolute; inset: 0; z-index: 1;
  background:
    linear-gradient(0deg, rgb(0 0 0 / .94) 0%, rgb(0 0 0 / .72) 30%, rgb(0 0 0 / .12) 62%, rgb(0 0 0 / 0) 80%),
    linear-gradient(90deg, rgb(0 0 0 / .55) 0%, rgb(0 0 0 / 0) 60%);
}
.pa-card--hero .pa-card__body {
  position: relative; z-index: 2;
  display: grid; justify-items: start; gap: .8rem;
  width: min(100% - 2 * var(--pa-gutter), var(--pa-max)); margin-inline: auto;
  padding-block: var(--pa-space-16) clamp(1.5rem, 1rem + 2.4vw, 3rem);
}
.pa-card--hero .pa-card__title {
  max-width: 22ch;
  font-family: var(--pa-font-display); font-size: var(--pa-text-hero); font-weight: 700;
  line-height: 1.02; letter-spacing: .005em; text-transform: uppercase;
  text-shadow: 0 2px 18px rgb(0 0 0 / .45);
}
.pa-card--hero .pa-card__lead { max-width: 62ch; font-size: clamp(.95rem, .9rem + .3vw, 1.1rem); color: var(--pa-ink-1); }
.pa-card--hero .pa-card__meta { color: var(--pa-ink-2); font-size: var(--pa-text-sm); }
.pa-card--hero .pa-card__author { color: #fff; }
.pa-card--hero .pa-badge { font-size: .8rem; }
.pa-card--hero.pa-card--text { min-height: 0; background: var(--pa-surface); border-top: 4px solid var(--pa-red); }
.pa-card--hero.pa-card--text .pa-card__body { padding-block: var(--pa-space-10); }
/* Photo verticale : image entière décalée à droite sur ordinateur, fond flouté d'elle-même. */
@media (min-width: 900px) {
  .pa-card--hero.pa-card--fit .pa-ratio--fit > img:not(.pa-ratio__blur) { object-position: 82% center; }
}
@media (max-width: 899px) {
  .pa-card--hero { min-height: clamp(460px, 82vh, 620px); }
  .pa-card--hero.pa-card--fit .pa-ratio--fit > img:not(.pa-ratio__blur) { object-position: center 18%; }
  .pa-card--hero .pa-card__lead { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
}

/* Sujet fort / tête de rubrique (feature) --------------------------------- */
.pa-card--feature {
  display: grid; align-items: end;
  border-radius: var(--pa-radius); overflow: hidden; background: var(--pa-surface-2);
  isolation: isolate;
}
.pa-card--feature > * { grid-area: 1 / 1; }
.pa-card--feature .pa-card__visual { --ratio: 16 / 10; height: 100%; }
.pa-card--feature .pa-card__visual::after {
  content: ""; position: absolute; inset: 0; z-index: 1;
  background: linear-gradient(0deg, rgb(0 0 0 / .92) 0%, rgb(0 0 0 / .6) 38%, rgb(0 0 0 / 0) 72%);
}
.pa-card--feature .pa-card__body { position: relative; z-index: 2; display: grid; justify-items: start; gap: .5rem; padding: 1rem 1.05rem 1.05rem; }
.pa-card--feature .pa-card__title { font-family: var(--pa-font-display); font-size: clamp(1.15rem, 1rem + .5vw, 1.4rem); font-weight: 600; line-height: 1.15; letter-spacing: .01em; }
.pa-card--feature .pa-card__meta { color: var(--pa-ink-2); }
.pa-card--feature .pa-card__author { color: var(--pa-ink-1); }
.pa-card--feature .pa-card__lead { display: none; }
.pa-card--feature.pa-card--text { align-items: stretch; background: var(--pa-surface); border-top: 3px solid var(--pa-cat, var(--pa-red)); }
.pa-card--feature.pa-card--text .pa-card__body { padding: 1.2rem; }

/* Compacte --------------------------------------------------------------- */
.pa-card--compact {
  display: grid; grid-template-columns: 88px minmax(0, 1fr); gap: .85rem; align-items: center;
  padding-block: .8rem; border-bottom: 1px solid var(--pa-line);
}
.pa-card--compact:last-child { border-bottom: 0; }
.pa-card--compact .pa-card__visual { border-radius: 6px; overflow: hidden; }
.pa-card--compact .pa-card__body { display: grid; gap: .3rem; }
.pa-card--compact .pa-badge { display: none; }
.pa-card--compact .pa-card__title { font-size: .95rem; font-weight: 600; line-height: 1.35; }
.pa-card--compact.pa-card--text { grid-template-columns: minmax(0, 1fr); }

/* Ligne ------------------------------------------------------------------ */
.pa-card--row { padding-block: .75rem; border-bottom: 1px solid var(--pa-line); }
.pa-card--row .pa-card__body { display: grid; gap: .25rem; }
.pa-card__when { color: var(--pa-highlight); font-size: .8rem; font-weight: 700; }
.pa-card--row .pa-badge { justify-self: start; }
.pa-card--row .pa-card__title { font-size: .98rem; font-weight: 600; line-height: 1.35; }

/* Grilles de cartes ------------------------------------------------------ */
.pa-grid, .pa-archive__grid, .pa-videos-page__articles {
  display: grid; gap: var(--pa-space-5);
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr));
}
@media (max-width: 599px) {
  .pa-grid, .pa-archive__grid, .pa-videos-page__articles, .pa-article__related-grid { gap: var(--pa-space-3); }
  .pa-grid .pa-card--default:not(.pa-card--text),
  .pa-archive__grid .pa-card--default:not(.pa-card--text),
  .pa-videos-page__articles .pa-card--default:not(.pa-card--text),
  .pa-article__related-grid .pa-card--default:not(.pa-card--text) {
    display: grid; grid-template-columns: 116px minmax(0, 1fr); align-items: stretch;
  }
  .pa-grid .pa-card--default .pa-card__visual,
  .pa-archive__grid .pa-card--default .pa-card__visual,
  .pa-videos-page__articles .pa-card--default .pa-card__visual,
  .pa-article__related-grid .pa-card--default .pa-card__visual { --ratio: auto; aspect-ratio: auto; min-height: 116px; height: 100%; }
  .pa-grid .pa-card--default .pa-card__body,
  .pa-archive__grid .pa-card--default .pa-card__body,
  .pa-videos-page__articles .pa-card--default .pa-card__body,
  .pa-article__related-grid .pa-card--default .pa-card__body { padding: .7rem .8rem; gap: .4rem; }
  .pa-grid .pa-card--default .pa-card__title,
  .pa-archive__grid .pa-card--default .pa-card__title,
  .pa-videos-page__articles .pa-card--default .pa-card__title,
  .pa-article__related-grid .pa-card--default .pa-card__title { font-size: .95rem; }
}
