@charset "UTF-8";
/* ============================================================================
   ARTICLES "CLASSEMENT" ET "SORTIES DU MOIS" : cartes .sdm-* et classement .t10-*
   Charge par functions.php (inc/theme.php, wpd_article_extra_needed) apres article.css, seulement pour les articles
   des categories de classement (top du mois, top de l'annee DVD / Blu-ray, top cinema de l'annee) et ceux dont le
   contenu contient ces blocs (outil wp-dvd, "Sorties du mois"). Markup : parts/single-top.php, wp-dvd-sorties.php.
   ========================================================================== */

/* ============================================================
   Article " Sorties DVD & Blu-ray du mois "  -  v1
   Composant autonome : selection de la redaction (cartes) +
   tableau complet des sorties. Prefixe .sdm-, aucune regle
   globale, rien qui deborde sur le reste du theme.
   Police heritee du theme : Source Serif 4, fallback Georgia.
   Source : design_handoff_sorties_du_mois/a-integrer/sorties-style.css

   Tous les selecteurs sont prefixes par ".entry " (le conteneur reel de
   the_content(), cf. hssahifa/single.php) : le theme PARENT Sahifa
   definit ses propres regles ".entry table", ".entry table td/th",
   ".entry table tr:nth-child(even)", ".entry img", ".entry h1..h6"
   (voir sahifa/style.css ~L3080-3204) avec une specificite egale ou
   superieure a de simples classes ".sdm-*" (ex: ".entry table td" = 1
   classe + 2 elements, contre ".sdm-table tbody td" = 1 classe + 2
   elements aussi -> egalite, l'ordre de chargement decidait alors, de
   facon peu fiable). Ajouter ".entry " devant chaque regle .sdm- porte
   sa specificite a 2 classes, superieure dans tous les cas aux regles
   Sahifa correspondantes, sans dependre de l'ordre parent/enfant.
   ============================================================ */

.entry .sdm { display: flex; flex-direction: column; gap: 0; color: #1A2530; }

/* --- Titre de section --- */
.entry .sdm-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
  margin: 0 0 18px;
  padding-bottom: 10px;
  border-bottom: 1px solid #E3E9F1;
}

/* .entry h2 (Sahifa) impose font-family: Helvetica + font-weight: normal +
   font-size: 30px sur tout titre h2 du corps d'article : reaffirme
   explicitement les 3 pour ne pas en heriter un par erreur. */
.entry .sdm-head h2 {
  margin: 0;
  font-family: 'Source Serif 4', Georgia, serif;
  font-size: 24px;
  line-height: 1.2;
  font-weight: 600;
  color: #042A57;
}

.entry .sdm-count {
  flex: none;
  font-size: 11px;
  letter-spacing: .13em;
  text-transform: uppercase;
  font-weight: 600;
  color: #42536A;
}

/* --- Badges de format : identiques dans les cartes et le tableau --- */
.entry .sdm-fmt {
  display: inline-block;
  padding: 3px 10px 4px;
  border-radius: 999px;
  font-size: 11px;
  line-height: 1.3;
  letter-spacing: .09em;
  text-transform: uppercase;
  font-weight: 600;
  white-space: nowrap;
}

.entry .sdm-fmt--dvd { background: #EDF0F4; color: #45525F; border: 1px solid #DCE3EB; }
.entry .sdm-fmt--br  { background: #E1EBF8; color: #0B4FA8; border: 1px solid #C5D9F2; }
.entry .sdm-fmt--4k  { background: #042A57; color: #FFFFFF; border: 1px solid #042A57; }

.entry .sdm-fmts { display: flex; flex-wrap: wrap; gap: 6px; }

/* ============================================================
   "Sorties du mois" v2 (06/11/2026) - valeurs de la maquette
   "Sorties du mois - maquette v2". Balisage produit par
   wp_dvd_sorties_build_draft() (wp-dvd) ; les articles plus anciens
   sont convertis a l'affichage par le filtre the_content de
   inc/theme.php (wpd_sdm_upgrade_content).
   En-tetes : regles sous ".entry .sdm" pour ne pas toucher aux
   .sdm-head / .sdm-count du classement TOP 10 (.t10).
   ============================================================ */
.entry .sdm-intro { margin: 0 0 40px; }

.entry .sdm-selection,
.entry .sdm-toutes { display: flex; flex-direction: column; gap: 18px; margin: 0; padding: 0; background: none; border: none; }

/* En-tete de section : filet, surtitre, titre + nombre de titres */
.entry .sdm .sdm-head {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-start;
  gap: 6px;
  margin: 0;
  padding: 22px 0 0;
  border: none;
  border-top: 2px solid #042A57;
}
.entry .sdm .sdm-kicker {
  font-size: 11px;
  letter-spacing: .16em;
  text-transform: uppercase;
  font-weight: 600;
  color: #42536A;
}
.entry .sdm .sdm-head-row {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 4px 16px;
}
.entry .sdm .sdm-head h2 { font-size: 26px; }
.entry .sdm .sdm-count {
  font-size: 14px;
  letter-spacing: 0;
  text-transform: none;
  font-weight: 400;
  color: #5A6B7D;
  white-space: nowrap;
}

/* Separateur entre les deux parties : filet - trois etoiles - filet */
.entry .sdm-divider {
  display: flex;
  align-items: center;
  gap: 16px;
  margin: 56px 0 40px;
  color: #8494A6;
}
.entry .sdm-divider::before,
.entry .sdm-divider::after { content: ''; flex: 1; height: 1px; background: #C3CDDA; }
.entry .sdm-divider span { font-size: 16px; letter-spacing: 6px; }

/* ============================================================
   Partie 1 - La selection de la redaction
   ============================================================ */
.entry .sdm-cards { display: flex; flex-direction: column; gap: 18px; }

.entry .sdm-card {
  display: flex;
  gap: 22px;
  padding: 22px;
  margin: 0;
  background: #fff;
  border: none;
  border-radius: 0;
  box-shadow: 0 1px 3px rgba(4,42,87,.07), 0 8px 24px rgba(4,42,87,.05);
}

/* Bandeau de date + jaquette : un seul bloc, qui ne s'etire pas */
.entry .sdm-card-visual {
  flex: none;
  width: 132px;
  align-self: flex-start;
  display: flex;
  flex-direction: column;
  border-radius: 4px;
  overflow: hidden;
  box-shadow: 0 2px 10px rgba(4,42,87,.18);
}
.entry .sdm-card-date {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 6px;
  padding: 8px 6px 9px;
  background: #042A57;
  color: #fff;
  line-height: 1;
}
.entry .sdm-card-date__wday {
  font-size: 11px;
  letter-spacing: .12em;
  text-transform: uppercase;
  font-weight: 600;
  color: #B9C8DB;
}
.entry .sdm-card-date__day {
  font-size: 24px;
  line-height: 1;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  color: #fff;
}
.entry .sdm-card-date__month {
  font-size: 11px;
  letter-spacing: .12em;
  text-transform: uppercase;
  font-weight: 600;
  color: #fff;
}
.entry .sdm-sr {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

.entry .sdm-card-poster { flex: none; width: 132px; }
.entry .sdm-card-visual .sdm-card-poster { width: 100%; }

/* .entry img (Sahifa) : max-width/height seulement ; border, rayon et
   ombre reaffirmes (l'ombre est portee par .sdm-card-visual). */
.entry .sdm-card-poster img,
.entry .sdm-card-poster .sdm-poster-ph {
  display: block;
  width: 100%;
  height: auto;
  margin: 0;
  aspect-ratio: 2 / 3;
  object-fit: cover;
  border: none;
  border-radius: 0;
  box-shadow: none;
}
.entry .sdm-poster-ph { background: repeating-linear-gradient(135deg, #E9EEF5 0 6px, #E2E8F1 6px 12px); }

.entry .sdm-card-body {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

/* .entry h3 (Sahifa) impose font-family: Helvetica + font-weight: normal +
   font-size: 24px : reaffirme explicitement la serif et le poids voulus. */
.entry .sdm-card-title {
  margin: 0;
  font-family: 'Source Serif 4', Georgia, serif;
  font-size: 22px;
  line-height: 1.25;
  font-weight: 600;
  text-wrap: pretty;
}
.entry .sdm-card-title a { color: #1D5FA8; text-decoration: none; }
.entry .sdm-card-title a:hover { color: #042A57; text-decoration: underline; }

.entry .sdm-card-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.entry .sdm-card-director { font-size: 15px; color: #101C29; }

/* Notes de la carte : une ligne entre deux filets, notes separees par un
   filet vertical, "4/5" apres les etoiles */
.entry .sdm-card-body .sdm-notes {
  display: flex;
  flex-wrap: wrap;
  margin: 0;
  padding: 0;
  border-top: 1px solid #E3E9F1;
  border-bottom: 1px solid #E3E9F1;
}
.entry .sdm-card-body .sdm-note {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 20px 0 0;
  padding: 9px 20px 9px 0;
  border-right: 1px solid #E3E9F1;
  white-space: nowrap;
}
.entry .sdm-card-body .sdm-note:last-child { border-right: none; }

.entry .sdm-note__label {
  min-width: 40px;
  font-size: 11px;
  letter-spacing: .14em;
  text-transform: uppercase;
  font-weight: 600;
  color: #42536A;
}
.entry .sdm-note__stars { font-size: 18px; line-height: 1; letter-spacing: 2px; white-space: nowrap; }
.entry .sdm-note__on  { color: #1D5FA8; }
.entry .sdm-note__off { color: #D3DCE7; }
.entry .sdm-note__val { font-size: 13px; color: #5A6B7D; font-variant-numeric: tabular-nums; }

/* Encadre avis / commentaire de la redaction */
.entry .sdm-avis {
  margin: 0;
  padding: 14px 18px;
  background: #F5F8FC;
  border: none;
  border-left: 3px solid #1D5FA8;
}
.entry .sdm-avis-label {
  margin-bottom: 6px;
  font-size: 11px;
  letter-spacing: .16em;
  text-transform: uppercase;
  font-weight: 600;
  color: #42536A;
}
.entry .sdm-avis p {
  margin: 0;
  font-size: 16px;
  line-height: 1.6;
  color: #1A2530;
  text-wrap: pretty;
}
.entry .sdm-avis p + p { margin-top: 10px; }

/* Avis limite a 4 lignes (06/11/2026), coupure seulement visuelle : le texte
   complet reste dans la page. Paragraphes enchaines sans marge pour que la
   limite compte des lignes de texte. Puis lien vers la critique complete. */
.entry .sdm-avis-text {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  line-clamp: 4;
  overflow: hidden;
}
.entry .sdm-avis-text p,
.entry .sdm-avis-text p + p { margin: 0; }
.entry .sdm-avis-more {
  display: inline-block;
  margin-top: 10px;
  font-size: 14px;
  font-weight: 600;
  color: #1D5FA8;
  text-decoration: none;
}
.entry .sdm-avis-more:hover { color: #042A57; text-decoration: underline; }

/* ============================================================
   Partie 2 - Toutes les sorties du mois
   ============================================================ */
.entry .sdm-table-wrap {
  background: #fff;
  padding: 6px 22px 10px;
  border-radius: 0;
  box-shadow: 0 1px 3px rgba(4,42,87,.07), 0 8px 24px rgba(4,42,87,.05);
}

/* .entry table (Sahifa) impose border + border-collapse: separate +
   margin-bottom : annules ici. */
.entry .sdm-table {
  width: 100%;
  margin: 0;
  border-collapse: collapse;
  background: none;
  border: none;
}
/* .entry table td/th (Sahifa) : padding, border-right dotted, fond gris
   des en-tetes : reinitialises avant les valeurs .sdm. */
.entry .sdm-table th,
.entry .sdm-table td {
  border: none;
  background: none;
  text-align: left;
}
.entry .sdm-table thead th {
  padding: 14px 14px 10px;
  font-size: 11px;
  letter-spacing: .13em;
  text-transform: uppercase;
  font-weight: 600;
  color: #42536A;
  border-bottom: 1px solid #C9D4E2;
  white-space: nowrap;
  vertical-align: bottom;
}
.entry .sdm-table tbody td {
  padding: 13px 14px;
  vertical-align: top;
  border-bottom: 1px solid #E3E9F1;
  font-size: 16px;
  line-height: 1.35;
}
.entry .sdm-table th:first-child,
.entry .sdm-table td:first-child { padding-left: 0; }
.entry .sdm-table th:last-child,
.entry .sdm-table td:last-child  { padding-right: 0; border-right: none; }

.entry .sdm-table tbody tr { background: none; transition: background .12s ease; }
/* zebra Sahifa (.entry table tr:nth-child(even)) : 3e classe pour trancher */
.entry .sdm-table-wrap tbody tr:nth-child(even) { background: none; }
.entry .sdm-table tbody tr:hover { background: #F5F8FC; }

.entry .sdm-col-date {
  white-space: nowrap;
  font-size: 15px;
  color: #5A6B7D;
  font-variant-numeric: tabular-nums;
}
.entry .sdm-col-title a { color: #1D5FA8; text-decoration: none; }
.entry .sdm-col-title a:hover { color: #042A57; text-decoration: underline; }
.entry .sdm-film-title { color: #101C29; }
.entry .sdm-col-director { font-size: 15px; color: #101C29; }

/* Badges de format du tableau sur une seule ligne (06/11/2026) ; retour a
   la ligne autorise sur mobile (voir Responsive). */
.entry .sdm-table .sdm-fmts { flex-wrap: nowrap; gap: 6px; white-space: nowrap; }

/* Titre puis notes sur une ligne en dessous */
.entry .sdm-film { display: flex; flex-direction: column; align-items: flex-start; gap: 5px; }
.entry .sdm-col-title .sdm-notes { display: flex; flex-wrap: wrap; gap: 4px 14px; margin: 0; padding: 0; }
.entry .sdm-col-title .sdm-note { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; }
.entry .sdm-col-title .sdm-note__label { min-width: 0; font-size: 10px; letter-spacing: .13em; color: #5A6B7D; }
.entry .sdm-col-title .sdm-note__stars { font-size: 13px; letter-spacing: 1px; }
.entry .sdm-col-title .sdm-note__val { display: none; }

/* ============================================================
   Responsive
   ============================================================ */
@media (max-width: 620px) {
  .entry .sdm .sdm-head h2 { font-size: 23px; }
  .entry .sdm-divider { margin: 44px 0 32px; }

  .entry .sdm-card { flex-direction: column; gap: 16px; padding: 18px; }
  .entry .sdm-card-title { font-size: 20px; }
  .entry .sdm-avis { padding: 13px 15px; }
  /* Notes : peuvent passer sur deux lignes, sans debordement */
  .entry .sdm-card-body .sdm-note { margin-right: 14px; padding-right: 14px; }

  /* Le tableau se replie en fiches : l'en-tete est masque, chaque
     cellule porte son libelle via data-label. */
  .entry .sdm-table-wrap { padding: 4px 18px 8px; }
  .entry .sdm-table thead {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
    border: 0;
  }
  .entry .sdm-table tbody tr {
    display: block;
    padding: 16px 0;
    border-bottom: 1px solid #E3E9F1;
  }
  .entry .sdm-table tbody tr:last-child { border-bottom: none; }
  .entry .sdm-table tbody td {
    display: flex;
    gap: 12px;
    padding: 3px 0;
    border-bottom: none;
  }
  .entry .sdm-table tbody td::before {
    content: attr(data-label);
    flex: none;
    width: 92px;
    padding-top: 4px;
    font-size: 11px;
    letter-spacing: .13em;
    text-transform: uppercase;
    font-weight: 600;
    color: #42536A;
  }
  .entry .sdm-table tbody td.sdm-col-title { font-size: 17px; }
  .entry .sdm-table .sdm-fmts { flex-wrap: wrap; white-space: normal; }
}

/* ============================================================
   Cartes de la selection - maquette v3 (06/11/2026)
   Colonne gauche (.sdm-card-aside, 150px) : bandeau de date +
   jaquette, badges courts 4K / BR / DVD, notes une ligne par note.
   Colonne droite : titre, realisation, avis (7 lignes), lien vers
   la critique colle en bas de la carte. Regles placees apres les
   precedentes : a specificite egale, elles l'emportent.
   ============================================================ */
.entry .sdm-card { gap: 24px; }

.entry .sdm-card-aside {
  flex: none;
  width: 150px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.entry .sdm-card-aside .sdm-card-visual { width: 100%; align-self: stretch; }

.entry .sdm-card-fmts { display: flex; flex-wrap: wrap; gap: 4px; }
.entry .sdm-card-fmts .sdm-fmt {
  flex: 1 1 0;
  text-align: center;
  padding: 3px 4px 4px;
  font-size: 10px;
  letter-spacing: .08em;
}

.entry .sdm-card-aside ~ .sdm-card-body { gap: 10px; }

/* Ligne de notes sous la realisation (maquette v4) : libelle + etoiles,
   notes separees par un filet vertical, pas de "4/5". */
.entry .sdm-card-aside ~ .sdm-card-body .sdm-notes {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 0;
  margin: 0;
  padding: 0;
  border: none;
}
.entry .sdm-card-aside ~ .sdm-card-body .sdm-note {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 18px 0 0;
  padding: 0 18px 0 0;
  border: none;
  border-right: 1px solid #E3E9F1;
  white-space: nowrap;
}
.entry .sdm-card-aside ~ .sdm-card-body .sdm-note:last-child { margin-right: 0; padding-right: 0; border-right: none; }
.entry .sdm-card-aside ~ .sdm-card-body .sdm-note__label { min-width: 0; font-size: 11px; letter-spacing: .14em; color: #42536A; }
.entry .sdm-card-aside ~ .sdm-card-body .sdm-note__stars { font-size: 17px; letter-spacing: 2px; }
.entry .sdm-card-aside ~ .sdm-card-body .sdm-note__val { display: none; }
.entry .sdm-card-aside ~ .sdm-card-body .sdm-card-director { font-size: 15px; color: #5A6B7D; }
.entry .sdm-card-director__name { color: #101C29; }

.entry .sdm-card-aside ~ .sdm-card-body .sdm-avis {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin: 8px 0 0;
  padding: 0 0 0 16px;
  background: none;
  border: none;
  border-left: 3px solid #1D5FA8;
}
.entry .sdm-card-aside ~ .sdm-card-body .sdm-avis-label { margin: 0; }
.entry .sdm-card-aside ~ .sdm-card-body .sdm-avis-text { -webkit-line-clamp: 6; line-clamp: 6; }
.entry .sdm-card-aside ~ .sdm-card-body > .sdm-avis-more {
  align-self: flex-start;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: auto;
  padding-top: 6px;
}

@media (max-width: 620px) {
  /* Meme structure en deux colonnes, colonne gauche reduite a 110px. */
  .entry .sdm-card { flex-direction: row; gap: 14px; padding: 16px; }
  .entry .sdm-card-aside { width: 110px; gap: 10px; }
  .entry .sdm-card-aside .sdm-card-date { gap: 4px; padding: 7px 4px 8px; }
  .entry .sdm-card-aside .sdm-card-date__day { font-size: 20px; }
  .entry .sdm-card-aside .sdm-card-date__wday,
  .entry .sdm-card-aside .sdm-card-date__month { font-size: 10px; letter-spacing: .08em; }
  .entry .sdm-card-fmts .sdm-fmt { padding: 2px 2px 3px; font-size: 9px; letter-spacing: .04em; }
  /* Colonne etroite : une note par ligne, sans filet vertical. */
  .entry .sdm-card-aside ~ .sdm-card-body .sdm-notes { flex-direction: column; gap: 4px; }
  .entry .sdm-card-aside ~ .sdm-card-body .sdm-note { gap: 8px; margin-right: 0; padding-right: 0; border-right: none; }
  .entry .sdm-card-aside ~ .sdm-card-body .sdm-note__stars { font-size: 15px; letter-spacing: 1px; }
  .entry .sdm-card-title { font-size: 19px; }
  .entry .sdm-card-aside ~ .sdm-card-body .sdm-avis { padding-left: 12px; }
  .entry .sdm-card-aside ~ .sdm-card-body .sdm-avis-text { -webkit-line-clamp: 5; line-clamp: 5; }
}

@media (max-width: 479px) {
  /* Petits ecrans (06/11/2026) : colonne gauche 104px, avis plus compact. */
  .entry .sdm-card { gap: 14px; padding: 16px; }
  .entry .sdm-card-aside { width: 104px; }
  .entry .sdm-card-aside ~ .sdm-card-body .sdm-avis-text p { font-size: 15px; line-height: 1.55; }
  .entry .sdm-card-aside ~ .sdm-card-body .sdm-avis-text { -webkit-line-clamp: 5; line-clamp: 5; }
}

/* ============================================================
   Tableau "Toutes les sorties du mois" - maquette v5 (06/11/2026)
   Colonnes Film | Realisation | Format, un <tbody> par date ouvert
   par un intertitre, badges courts. Mobile : meme tableau, colonne
   Realisation masquee, realisateur repete sous le titre.
   ============================================================ */
.entry .sdm-table--days tbody td { padding: 12px 14px; }
.entry .sdm-table--days tbody td:first-child { padding-left: 0; }
.entry .sdm-table--days tbody td:last-child { padding-right: 0; }
.entry .sdm-table--days tbody tr:last-child td { border-bottom: 1px solid #E3E9F1; }
.entry .sdm-table--days tbody:last-child tr:last-child td { border-bottom: none; }

/* Intertitre de date en bandeau (maquette v6) */
.entry .sdm-table--days tr.sdm-day td {
  padding: 24px 0 0;
  border-bottom: none;
}
.entry .sdm-table--days tr.sdm-day:hover { background: none; }
.entry .sdm-day__bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 8px 12px;
  background: #EEF3F9;
  border-left: 3px solid #042A57;
}
.entry .sdm-day__date { display: inline-flex; align-items: baseline; gap: 8px; color: #042A57; }
.entry .sdm-day__wday,
.entry .sdm-day__month { font-size: 11px; letter-spacing: .14em; text-transform: uppercase; font-weight: 600; }
.entry .sdm-day__num { font-size: 22px; line-height: 1; font-weight: 700; font-variant-numeric: tabular-nums; }
.entry .sdm-day__count { font-size: 13px; color: #42536A; white-space: nowrap; }

/* Cartes : plus de libelle "Avis de la redaction" (maquette v6). Masque en
   CSS seulement : l'apercu de l'outil wp-dvd s'en sert pour placer le
   bouton "Puiser dans la critique". */
.entry .sdm-card-aside ~ .sdm-card-body .sdm-avis-label { display: none; }

.entry .sdm-table--days .sdm-col-format { width: 1%; white-space: nowrap; }
.entry .sdm-table--days .sdm-fmts { display: flex; flex-wrap: nowrap; gap: 4px; white-space: nowrap; }
.entry .sdm-table--days .sdm-fmt {
  min-width: 30px;
  text-align: center;
  padding: 3px 7px 4px;
  font-size: 10px;
  letter-spacing: .08em;
}
.entry .sdm-film-director { display: none; }

@media (max-width: 620px) {
  /* Le tableau reste un tableau (le repli en fiches ne s'applique pas ici). */
  .entry .sdm-table--days thead {
    position: static;
    width: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    clip: auto;
    white-space: normal;
  }
  .entry .sdm-table--days tbody tr { display: table-row; padding: 0; border-bottom: none; }
  .entry .sdm-table--days tbody td {
    display: table-cell;
    padding: 12px 10px 12px 0;
    border-bottom: 1px solid #E3E9F1;
  }
  .entry .sdm-table--days tbody td::before { content: none; }
  .entry .sdm-table--days tbody td.sdm-col-title { font-size: 16px; }
  .entry .sdm-table--days tbody td.sdm-col-format { padding-right: 0; }
  .entry .sdm-table--days tr.sdm-day td { padding: 20px 0 0; border-bottom: none; }
  .entry .sdm-table--days .sdm-col-director { display: none; }
  .entry .sdm-table--days .sdm-film-director { display: block; font-size: 14px; color: #5A6B7D; }
}

/* ============================================================
   TOP 10 du mois / annee (single_top.php) - design_handoff_classement_top10
   (v1, 27/09/2026), remplace l'ancien systeme de cartes .sdm-top10-* qui
   reprenait telles quelles les cartes "Sorties du mois". Prefixe propre
   .t10- ; reutilise sans les redefinir .sdm-head/.sdm-count/.sdm-fmt(--dvd|
   --br|--4k) du bloc "Sorties du mois" ci-dessus.
   ============================================================ */

/* Legende ".single-post-caption" du theme parent Sahifa (a cote de la
   vignette, HORS de .entry) : lit post_excerpt directement (pas via
   get_the_excerpt(), donc pas filtrable en PHP - voir
   wpd_top10_hide_excerpt_on_single() dans functions.php, insuffisant ici) -
   fait doublon avec notre propre bloc "Prologue" (.t10-intro) qui affiche
   deja top10_intro. Masquee uniquement sur les 3 categories de classement
   (classe deja posee par WordPress sur l'<article>, cf. post_class()). */
.category-top-du-mois-dvd-bluray .single-post-caption,
.category-le-top-dvd-blu-ray-de-lannee .single-post-caption,
.category-le-top-cinema-de-lannee .single-post-caption { display: none; }

.entry .t10 { display: flex; flex-direction: column; gap: 40px; color: #1A2530; }

.entry .t10 .sdm-head { margin-bottom: 14px; border-bottom-color: #C9D4E2; }
/* Un peu plus grand qu'a l'origine (11px, cf. "Sorties du mois") - retour
   utilisateur du 27/09/2026 : trop petit ici a cote du grand H2. Change
   uniquement dans ce contexte .t10 pour ne pas toucher "Sorties du mois".
   Meme taille que .t10-intro-label ci-dessous (14px) : les 2 seuls libelles
   en petites capitales de la page, coherence voulue entre eux. */
.entry .t10 .sdm-count { font-size: 14px; }

/* ---------- Bloc 1 : le mot du mois ---------- */
.entry .t10-intro-label {
  display: block;
  margin-bottom: 10px;
  font-size: 14px;
  letter-spacing: .16em;
  text-transform: uppercase;
  font-weight: 600;
  color: #42536A;
}
.entry .t10-intro p { margin: 0; font-size: 18px; line-height: 1.6; text-wrap: pretty; }
.entry .t10-intro p + p { margin-top: 12px; }

/* ---------- Bloc 2 : classement ---------- */
.entry .t10-list { display: flex; flex-direction: column; gap: 14px; margin: 0; padding: 0; list-style: none; }

.entry .t10-item {
  display: flex;
  gap: 16px;
  padding: 20px 20px 20px 14px;
  background: #fff;
  box-shadow: 0 1px 3px rgba(4,42,87,.07), 0 8px 24px rgba(4,42,87,.05);
}

.entry .t10-rank {
  flex: none;
  width: 46px;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  font-size: 54px;
  line-height: .85;
  font-weight: 600;
  font-variant-numeric: lining-nums;
  color: #8494A6;
}
.entry .t10-rank sup { font-size: 17px; line-height: 1; margin: 2px 0 0 1px; vertical-align: baseline; position: static; }
.entry .t10-item--1 .t10-rank { color: #9A7424; } /* or     */
.entry .t10-item--2 .t10-rank { color: #6B7785; } /* argent */
.entry .t10-item--3 .t10-rank { color: #8A5A36; } /* bronze */

.entry .t10-poster { flex: none; width: 124px; }
.entry .t10-poster > a { display: block; }
.entry .t10-poster img,
.entry .t10-poster .t10-poster-ph {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 2 / 3 !important;
  object-fit: cover !important;
  object-position: center !important;
  border-radius: 4px;
  box-shadow: 0 2px 10px rgba(4,42,87,.18);
}
.entry .t10-poster-ph { background: #E9EEF5; }

.entry .t10-body { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 10px; padding-top: 2px; }

.entry .t10-title { margin: 0; font-size: 20px; line-height: 1.28; font-weight: 600; text-wrap: pretty; }
.entry .t10-title a { color: #1D5FA8; text-decoration: none; }
.entry .t10-title a:hover { color: #042A57; text-decoration: underline; }

.entry .t10-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; }
.entry .t10-date { font-size: 14px; color: #5A6B7D; font-variant-numeric: tabular-nums; }
.entry .t10-sep { width: 3px; height: 3px; border-radius: 50%; background: #C3CDDA; }

/* Notes : 0, 1 ou 2 lignes (single_top.php ne rend le <dl> que s'il y a au
   moins une note). */
.entry .t10-notes { display: flex; flex-direction: column; gap: 5px; margin: 4px 0 0; padding-top: 10px; border-top: 1px solid #E3E9F1; }
.entry .t10-note { display: flex; align-items: center; gap: 12px; margin: 0; }
.entry .t10-note dt {
  flex: none;
  width: 82px;
  white-space: nowrap;
  font-size: 11px;
  letter-spacing: .13em;
  text-transform: uppercase;
  font-weight: 600;
  color: #42536A;
}
.entry .t10-note dd { margin: 0; }

.entry .t10-stars { font-size: 16px; line-height: 1; letter-spacing: .08em; white-space: nowrap; }
.entry .t10-stars .on  { color: #1D5FA8; }
.entry .t10-stars .off { color: #D2DBE7; }

/* ---------- Rangs 4 et suivants : format compact, cartes fusionnees ----------
   Retour utilisateur du 27/09/2026 : blocs un peu trop tasses, jaquette trop
   petite pour bien la voir - agrandi (poster 64->86px, padding/gap et tailles
   de texte revus en consequence). */
.entry .t10-list--compact { gap: 0; background: #fff; box-shadow: 0 1px 3px rgba(4,42,87,.07), 0 8px 24px rgba(4,42,87,.05); }
.entry .t10-list--compact .t10-item { gap: 18px; padding: 18px 20px 18px 16px; background: none; box-shadow: none; border-bottom: 1px solid #E3E9F1; }
.entry .t10-list--compact .t10-item:last-child { border-bottom: none; }
.entry .t10-list--compact .t10-rank { font-size: 34px; line-height: .9; }
.entry .t10-list--compact .t10-rank sup { font-size: 13px; margin-top: 1px; }
.entry .t10-list--compact .t10-poster { width: 86px; }
.entry .t10-list--compact .t10-poster img,
.entry .t10-list--compact .t10-poster .t10-poster-ph { border-radius: 3px; box-shadow: 0 1px 6px rgba(4,42,87,.16); }
.entry .t10-list--compact .t10-body { gap: 9px; padding-top: 2px; }
.entry .t10-list--compact .t10-title { font-size: 18px; line-height: 1.3; }
.entry .t10-list--compact .t10-date { font-size: 13px; }
.entry .t10-list--compact .t10-sep { display: none; }
.entry .t10-list--compact .t10-notes { flex-direction: row; flex-wrap: wrap; gap: 5px 20px; margin: 0; padding: 0; border: none; }
.entry .t10-list--compact .t10-note { gap: 8px; }
.entry .t10-list--compact .t10-note dt { width: auto; font-size: 10.5px; }
.entry .t10-list--compact .t10-stars { font-size: 15px; }

/* ---------- Bloc 3 : les mois precedents ---------- */
.entry .t10-prev-intro { margin: 0 0 14px; font-size: 16px; line-height: 1.55; }
.entry .t10-prev-intro a { color: #1D5FA8; text-decoration: none; }
.entry .t10-prev-intro a:hover { color: #042A57; text-decoration: underline; }

.entry .t10-prev { margin: 0; padding: 4px 12px; list-style: none; background: #fff; box-shadow: 0 1px 3px rgba(4,42,87,.07), 0 8px 24px rgba(4,42,87,.05); }
.entry .t10-prev li:last-child { border-bottom: none; }
.entry .t10-prev li { display: flex; flex-direction: column; gap: 4px; margin: 0; padding: 13px 10px; border-bottom: 1px solid #E3E9F1; transition: background .12s ease; }
.entry .t10-prev li::before { content: none; } /* neutralise les puces du theme */
.entry .t10-prev li:hover { background: #F5F8FC; }

.entry .t10-prev-month { font-size: 12px; letter-spacing: .14em; text-transform: uppercase; font-weight: 600; color: #1D5FA8; text-decoration: none; }
.entry .t10-prev-month:hover { color: #042A57; text-decoration: underline; }
.entry .t10-prev-text { font-size: 15px; line-height: 1.5; text-wrap: pretty; }

/* Vieux articles anterieurs a la meta-box (filet de securite de
   single_top.php : contenu ecrit a la main, jamais retouche) - pas de
   classes .t10-prev/.t10-prev-month ici, seulement des balises generiques
   <ul>/<li>/<strong>/<a>. On rapproche visuellement du meme traitement que
   ci-dessus SANS toucher au contenu, via des selecteurs generiques
   (:not(.t10-prev) evite de re-styler une 2e fois les nouveaux articles).

   Retour utilisateur du 27/09/2026 : rendu correct sur les classements
   MENSUELS (contenu homogene, "Mois Annee : commentaire" repete a
   l'identique d'un article a l'autre), mais casse plutot qu'il n'ameliore
   sur les classements ANNUELS (contenu beaucoup plus libre - parfois une
   phrase continue truffee de liens plutot qu'une liste, parfois une image
   inseree en plein milieu) : borde/encadre des fragments qui n'ont jamais
   ete concus pour ca. Restreint donc a .category-top-du-mois-dvd-bluray
   uniquement (classe posee par WordPress sur l'<article>, meme mecanisme
   que le masquage de .single-post-caption plus haut) - les 2 classements
   annuels retombent sur le rendu par defaut, plus sobre mais sans ces
   effets de bord. */
.category-top-du-mois-dvd-bluray .entry .t10-precedents > p:first-of-type { margin: 0 0 14px; font-size: 16px; line-height: 1.55; }
.category-top-du-mois-dvd-bluray .entry .t10-precedents > p:first-of-type a { color: #1D5FA8; text-decoration: none; }
.category-top-du-mois-dvd-bluray .entry .t10-precedents > p:first-of-type a:hover { color: #042A57; text-decoration: underline; }

.category-top-du-mois-dvd-bluray .entry .t10-precedents ul:not(.t10-prev) {
  margin: 0;
  padding: 4px 12px;
  list-style: none;
  background: #fff;
  box-shadow: 0 1px 3px rgba(4,42,87,.07), 0 8px 24px rgba(4,42,87,.05);
}
.category-top-du-mois-dvd-bluray .entry .t10-precedents ul:not(.t10-prev) li {
  display: block;
  margin: 0;
  padding: 13px 10px;
  border-bottom: 1px solid #E3E9F1;
  font-size: 15px;
  line-height: 1.5;
  transition: background .12s ease;
}
.category-top-du-mois-dvd-bluray .entry .t10-precedents ul:not(.t10-prev) li:last-child { border-bottom: none; }
.category-top-du-mois-dvd-bluray .entry .t10-precedents ul:not(.t10-prev) li:hover { background: #F5F8FC; }

/* Repere heuristique : la plupart de ces vieilles puces commencent par
   "<strong><a>Mois Annee</a></strong> : commentaire" - le mois passe en
   petites capitales sur sa propre ligne (display:block), le commentaire qui
   suit (simple texte, hors de ce <strong>) garde le style de base du <li>
   ci-dessus. Si un vieil article n'a pas exactement cette forme, le <li>
   garde quand meme son habillage carte/separateur, degradation minime. */
.category-top-du-mois-dvd-bluray .entry .t10-precedents ul:not(.t10-prev) li > strong:first-child,
.category-top-du-mois-dvd-bluray .entry .t10-precedents ul:not(.t10-prev) li > a:first-child {
  display: block;
  margin-bottom: 4px;
  font-size: 12px;
  letter-spacing: .14em;
  text-transform: uppercase;
  font-weight: 600;
}
.category-top-du-mois-dvd-bluray .entry .t10-precedents ul:not(.t10-prev) li a { color: #1D5FA8; text-decoration: none; }
.category-top-du-mois-dvd-bluray .entry .t10-precedents ul:not(.t10-prev) li a:hover { color: #042A57; text-decoration: underline; }

/* Garde-fou global (toutes categories) : une image embarquee a la main
   dans le vieux contenu libre (ex. capture 2, "retro des precedentes
   editions") ne doit jamais deborder a sa taille native. */
.entry .t10-precedents img { max-width: 100%; height: auto; }

/* ---------- Responsive ---------- */
@media (max-width: 480px) {
  .entry .t10 { gap: 32px; }
  .entry .t10-item { gap: 12px; padding: 16px 16px 16px 10px; }
  .entry .t10-rank { width: 34px; font-size: 42px; }
  .entry .t10-rank sup { font-size: 14px; }
  .entry .t10-poster { width: 96px; }
  .entry .t10-title { font-size: 18px; }
  .entry .t10-note dt { width: 76px; }

  .entry .t10-list--compact .t10-item { gap: 14px; padding: 15px 16px 15px 10px; }
  .entry .t10-list--compact .t10-rank { width: 34px; font-size: 30px; }
  .entry .t10-list--compact .t10-poster { width: 72px; }
  .entry .t10-list--compact .t10-title { font-size: 17px; }
}


