/* ==========================================================================
   MSD SARL — Actualités dynamiques : article à la une, cartes, catégories,
   pagination (shortcodes de la page Actualités), archives et article seul.
   Mêmes valeurs que les blocs statiques msd-nw-* (msd-actualites.css).
   Dans la page Elementor, « p { margin: 0 } » s'applique : les paragraphes
   sont espacés par padding.
   ========================================================================== */

.msd-news { --msd-news-gutter: calc(55 * var(--msd-s)); font-family: var(--msd-font-sans); color: var(--msd-ink-soft); }
.msd-news *, .msd-news *::before, .msd-news *::after { box-sizing: border-box; }
.msd-news p { margin: 0; }
.msd-news a { text-decoration: none; }

/* ---------- Éléments communs ---------- */

.msd-news .msd-news-badge {
  display: inline-block; padding: 5px 10px;
  background: var(--msd-deep-forest); color: var(--msd-warm-ivory);
  font-family: var(--msd-font-mono); font-size: 11.5px; letter-spacing: .12em; text-transform: uppercase; line-height: 1.2;
}
.msd-news .msd-news-date {
  font-family: var(--msd-font-mono); font-size: 12px; letter-spacing: .08em; text-transform: uppercase; line-height: 1.6;
  color: #6f6b62;
}

.msd-news .msd-news-cta {
  display: inline-flex; align-items: center; justify-content: center;
  height: calc(36 * var(--msd-s)); min-width: calc(228 * var(--msd-s)); padding: 0 calc(20 * var(--msd-s));
  border: 1.5px solid var(--msd-muted-gold); border-radius: 2px;
  background: var(--msd-muted-gold); color: var(--msd-forest-black);
  font-weight: 500; font-size: calc(14.5 * var(--msd-s)); line-height: 1;
  transition: background-color .2s;
}
.msd-news .msd-news-cta:hover, .msd-news .msd-news-cta:focus { background: #bfa062; color: var(--msd-forest-black); }
.msd-news .msd-news-cta::after, .msd-news .msd-news-more::after, .msd-news .msd-news-back::before {
  content: ""; flex: none; background: currentColor;
  width: calc(15 * var(--msd-s)); height: calc(10 * var(--msd-s)); margin-left: calc(14 * var(--msd-s));
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 12'%3E%3Cpath d='M1 6H18M13 1L18 6L13 11' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center / contain;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 12'%3E%3Cpath d='M1 6H18M13 1L18 6L13 11' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center / contain;
}
.msd-news .msd-news-cta--back::after { display: none; }

.msd-news .msd-news-more {
  display: inline-flex; align-items: center;
  font-size: 14.5px; font-weight: 500; line-height: 1.6; color: var(--msd-deep-forest);
  text-decoration: underline; text-decoration-color: var(--msd-muted-gold); text-underline-offset: 5px;
}
.msd-news .msd-news-more::after { width: 16px; height: 10px; margin-left: 10px; background: var(--msd-muted-gold); }
.msd-news .msd-news-more:hover { color: var(--msd-muted-gold); }

.msd-news .msd-news-empty { padding: 8px 0; font-size: 16px; line-height: 1.6; color: var(--msd-ink-soft); }

/* Article sans image mise en avant : aplat neutre aux couleurs du site, aucune image de substitution. */
.msd-news .msd-news-card__media--empty, .msd-news .msd-news-featured__media--empty {
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 300' preserveAspectRatio='none'%3E%3Cg fill='none' stroke='%23a88a4a' stroke-width='1' vector-effect='non-scaling-stroke'%3E%3Cpath d='M60 0c50 40-10 80 50 120s110 30 90 90 60 70 110 90'/%3E%3Cpath d='M80 0c50 40-10 80 50 120s110 30 90 90 60 70 110 90'/%3E%3Cpath d='M100 0c50 40-10 80 50 120s110 30 90 90 60 70 110 90'/%3E%3Cpath d='M120 0c50 40-10 80 50 120s110 30 90 90 60 70 110 90'/%3E%3C/g%3E%3C/svg%3E") no-repeat center / 100% 100%,
    var(--msd-deep-forest);
}

/* ---------- Article à la une ---------- */

.msd-news .msd-news-featured {
  display: grid; grid-template-columns: minmax(0, 55fr) minmax(0, 45fr);
  background: #f8f6f0; border: 1px solid rgba(184, 180, 169, .7);
}
.msd-news .msd-news-featured__media { position: relative; min-height: 360px; overflow: hidden; }
.msd-news .msd-news-featured__media img {
  position: absolute; inset: 0; display: block; width: 100%; height: 100%; max-width: none; object-fit: cover;
}
.msd-news .msd-news-featured__body {
  display: flex; flex-direction: column; justify-content: center; align-items: flex-start;
  padding: clamp(28px, 3.4vw, 56px);
}
.msd-news .msd-news-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; }
.msd-news .msd-news-featured__title {
  margin: 18px 0 0; padding: 0;
  font-family: var(--msd-font-serif); font-weight: 400; font-size: clamp(30px, 2.8vw, 44px); line-height: 1.06;
  overflow-wrap: anywhere;
}
.msd-news .msd-news-featured__title a, .msd-news .msd-news-card__title a { color: var(--msd-forest-black); }
.msd-news .msd-news-featured__title a:hover, .msd-news .msd-news-card__title a:hover { color: var(--msd-deep-forest); }
.msd-news .msd-news-featured__excerpt { padding-top: 16px; font-size: 16px; line-height: 1.65; }
.msd-news .msd-news-featured__body .msd-news-cta { margin-top: 26px; }

/* ---------- Catégories ---------- */

.msd-news .msd-news-cats ul { display: flex; flex-wrap: wrap; gap: 10px; margin: 0; padding: 0; list-style: none; }
.msd-news .msd-news-cats li { margin: 0; padding: 0; }
.msd-news .msd-news-cats a {
  display: block; padding: 9px 16px;
  border: 1px solid rgba(184, 180, 169, .9); background: #f8f6f0;
  font-size: 14px; line-height: 1.6; color: var(--msd-ink-soft);
  transition: border-color .2s;
}
.msd-news .msd-news-cats a:hover { border-color: var(--msd-deep-forest); color: var(--msd-ink-soft); }
.msd-news .msd-news-cats a[aria-current="page"] {
  background: var(--msd-deep-forest); border-color: var(--msd-deep-forest); color: var(--msd-warm-ivory);
}

/* ---------- Grille et cartes ---------- */

.msd-news .msd-news-grid {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(16px, 1.8vw, 28px);
  margin-top: clamp(24px, 2.4vw, 36px);
}
.msd-news .msd-news-card { display: flex; flex-direction: column; min-width: 0; background: #f8f6f0; border: 1px solid rgba(184, 180, 169, .7); }
.msd-news .msd-news-card__media { position: relative; aspect-ratio: 16 / 10; overflow: hidden; }
.msd-news .msd-news-card__media img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; }
.msd-news .msd-news-card__media .msd-news-badge { position: absolute; left: 14px; bottom: 14px; max-width: calc(100% - 28px); }
.msd-news .msd-news-card__body { display: flex; flex-direction: column; align-items: flex-start; flex: 1; padding: 18px 20px 22px; }
.msd-news .msd-news-card__title {
  margin: 10px 0 0; padding: 0;
  font-family: var(--msd-font-serif); font-weight: 400; font-size: clamp(22px, 1.75vw, 26px); line-height: 1.12;
  overflow-wrap: anywhere;
}
.msd-news .msd-news-card__excerpt { padding-top: 10px; font-size: 14.5px; line-height: 1.55; }
.msd-news .msd-news-card .msd-news-more { margin-top: auto; padding-top: 14px; }

/* ---------- Pagination ---------- */

.msd-news .msd-news-pagination { margin-top: clamp(28px, 3vw, 44px); }
.msd-news .msd-news-pagination ul { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin: 0; padding: 0; list-style: none; }
.msd-news .msd-news-pagination li { margin: 0; padding: 0; }
.msd-news .msd-news-pagination .page-numbers:not(ul) {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 44px; height: 44px; padding: 0 14px;
  border: 1px solid rgba(184, 180, 169, .9); background: #f8f6f0;
  font-size: 14.5px; font-weight: 500; line-height: 1; color: var(--msd-ink-soft);
}
.msd-news .msd-news-pagination a.page-numbers:hover { border-color: var(--msd-deep-forest); color: var(--msd-ink-soft); }
.msd-news .msd-news-pagination .page-numbers.current { background: var(--msd-deep-forest); border-color: var(--msd-deep-forest); color: var(--msd-warm-ivory); }
.msd-news .msd-news-pagination .page-numbers.dots { border-color: transparent; background: none; }

/* ---------- En-tête (article seul et archives) ---------- */

.msd-news .msd-news-head {
  padding: calc(76 * var(--msd-s) + clamp(36px, 4vw, 64px)) var(--msd-news-gutter) clamp(36px, 4vw, 60px);
  background: var(--msd-forest-black); border-bottom: 1px solid var(--msd-muted-gold);
  color: var(--msd-warm-ivory);
}
.msd-news .msd-news-head__inner { max-width: 1100px; margin-inline: auto; }
.msd-news .msd-news-back {
  display: inline-flex; align-items: center;
  font-family: var(--msd-font-mono); font-weight: 500; font-size: 12.5px; letter-spacing: .16em; line-height: 1.3; text-transform: uppercase;
  color: #B29250;
}
.msd-news .msd-news-back::before { width: 16px; height: 10px; margin: 0 12px 0 0; transform: scaleX(-1); }
.msd-news .msd-news-back:hover { color: var(--msd-warm-ivory); }
.msd-news .msd-news-head__title {
  margin: 18px 0 0; padding: 0; max-width: 22ch;
  font-family: var(--msd-font-serif); font-weight: 400;
  font-size: clamp(36px, 4.3vw, 64px); line-height: 1.03; letter-spacing: -.01em; color: var(--msd-warm-ivory);
  overflow-wrap: anywhere;
}
.msd-news .msd-news-head__meta {
  display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; padding-top: 22px;
  font-family: var(--msd-font-mono); font-size: 12.5px; letter-spacing: .08em; text-transform: uppercase; line-height: 1.6;
  color: var(--msd-text-on-dark);
}
.msd-news .msd-news-badge--gold { background: var(--msd-muted-gold); color: var(--msd-forest-black); }
.msd-news a.msd-news-badge--gold:hover { background: #bfa062; color: var(--msd-forest-black); }
.msd-news .msd-news-head__text { max-width: 60ch; padding-top: 18px; font-size: 16px; line-height: 1.6; color: rgba(243, 240, 232, .88); }

/* ---------- Archives ---------- */

.msd-news .msd-news-archive__body { padding: clamp(32px, 3vw, 48px) var(--msd-news-gutter) clamp(48px, 4.6vw, 76px); background: var(--msd-warm-ivory); }

/* ---------- Article seul ---------- */

.msd-news.msd-news-single { background: var(--msd-warm-ivory); }
.msd-news .msd-news-single__figure { max-width: calc(1100px + 2 * var(--msd-news-gutter)); margin: 0 auto; padding: clamp(28px, 3.4vw, 52px) var(--msd-news-gutter) 0; }
.msd-news .msd-news-single__figure img {
  display: block; width: 100%; height: auto; max-height: 640px; object-fit: cover;
  border: 1px solid rgba(184, 180, 169, .7);
}
.msd-news .msd-news-single__content {
  max-width: calc(720px + 2 * var(--msd-news-gutter)); margin-inline: auto;
  padding: clamp(28px, 3.4vw, 52px) var(--msd-news-gutter) clamp(36px, 4vw, 60px);
  font-size: 17px; line-height: 1.7; overflow-wrap: break-word;
}
.msd-news .msd-news-single__content > * { margin-block: 0 1.15em; }
.msd-news .msd-news-single__content > :last-child { margin-bottom: 0; }
.msd-news .msd-news-single__content :is(h2, h3, h4) { margin-top: 1.5em; margin-bottom: .55em; font-family: var(--msd-font-serif); font-weight: 400; line-height: 1.12; color: var(--msd-forest-black); }
.msd-news .msd-news-single__content h2 { font-size: clamp(28px, 2.6vw, 38px); }
.msd-news .msd-news-single__content h3 { font-size: clamp(23px, 2vw, 28px); }
.msd-news .msd-news-single__content h4 { font-size: 21px; }
.msd-news .msd-news-single__content a { color: var(--msd-deep-forest); text-decoration: underline; text-decoration-color: var(--msd-muted-gold); text-underline-offset: 4px; }
.msd-news .msd-news-single__content a:hover { color: #7d6632; }
.msd-news .msd-news-single__content :is(ul, ol) { padding-left: 1.3em; }
.msd-news .msd-news-single__content li + li { margin-top: .35em; }
.msd-news .msd-news-single__content img { max-width: 100%; height: auto; }
.msd-news .msd-news-single__content figure { margin-inline: 0; }
.msd-news .msd-news-single__content figcaption { margin-top: 8px; font-size: 13.5px; line-height: 1.5; color: #6f6b62; }
.msd-news .msd-news-single__content blockquote {
  margin-inline: 0; padding: 4px 0 4px 22px; border-left: 2px solid var(--msd-muted-gold);
  font-family: var(--msd-font-serif); font-size: 23px; line-height: 1.35; color: var(--msd-forest-black);
}
.msd-news .msd-news-single__content table { width: 100%; border-collapse: collapse; font-size: 15px; }
.msd-news .msd-news-single__content :is(th, td) { padding: 8px 10px; border: 1px solid rgba(184, 180, 169, .7); text-align: left; }
.msd-news .msd-news-single__content :is(pre, .wp-block-table) { overflow-x: auto; }
.msd-news .msd-news-single__foot {
  max-width: calc(720px + 2 * var(--msd-news-gutter)); margin-inline: auto;
  padding: 0 var(--msd-news-gutter) clamp(48px, 4.6vw, 76px);
}
.msd-news .msd-news-single__foot::before { content: ""; display: block; height: 1px; margin-bottom: clamp(24px, 2.6vw, 36px); background: rgba(184, 180, 169, .7); }

/* ==========================================================================
   Responsive (mêmes points de rupture que msd-actualites.css)
   ========================================================================== */

@media (max-width: 1279px) {
  .msd-news .msd-news-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 1023px) {
  .msd-news { --msd-news-gutter: 32px; }
  .msd-news .msd-news-head { padding-top: calc(72px + 44px); }
  .msd-news .msd-news-featured { grid-template-columns: 1fr; }
  .msd-news .msd-news-featured__media { min-height: 0; aspect-ratio: 16 / 9; }
}

@media (max-width: 767px) {
  .msd-news { --msd-news-gutter: 16px; }
  .msd-news .msd-news-cta { height: 46px; width: 100%; min-width: 0; }
  .msd-news .msd-news-grid { grid-template-columns: 1fr; }

  /* catégories : défilement horizontal plutôt qu'un mur de pastilles */
  .msd-news .msd-news-cats ul { flex-wrap: nowrap; overflow-x: auto; margin-right: calc(-1 * var(--msd-news-gutter)); padding: 4px var(--msd-news-gutter) 6px 4px; margin-left: -4px; }
  .msd-news .msd-news-cats li { flex: none; }

  .msd-news .msd-news-single__content { font-size: 16.5px; }
  .msd-news .msd-news-single__content blockquote { font-size: 21px; }
}

@media (prefers-reduced-motion: reduce) {
  .msd-news .msd-news-cta, .msd-news .msd-news-cats a { transition: none; }
}
