/* ══════════════════════════════════════════════════════════════
   QUATRE — ARTICLE DETAIL
   Structure éditoriale : header → hero → corps colonne centrée
   ═════════════════════════════════════════════════════════════ */

html, body { background: var(--bg); }

/* ═══════════════════════════════════════
   PAGE HEADER — même grille que expertise-detail
   ═══════════════════════════════════════ */
.art-page-header {
  padding: calc(var(--nav-h) + clamp(48px,5vw,80px)) var(--pad-x) clamp(28px,3vw,44px);
}

.art-page-header-inner {
  max-width: var(--max-width);
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  column-gap: 24px;
  align-items: center;
}

/* Col 1–2 : Retour */
.art-ph-back {
  grid-column: 1 / 3;
}
.art-ph-back .cs-back {
  margin-bottom: 0;
  align-self: auto;
}

/* Col 3–5 : label "Insights · Catégorie" */
.art-ph-label {
  grid-column: 3 / 6;
}

/* Col 6–13 : titre */
.art-ph-title {
  grid-column: 6 / 13;
}

.art-page-label {
  font-family: "GTFlexaMono", monospace;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.13em;
  color: var(--muted);
}

.art-page-title {
  font-family: "Spectral", Georgia, serif;
  font-size: var(--headline-xl-size);
  line-height: var(--headline-xl-lh);
  font-weight: 400;
  color: var(--text-dark);
}

/* ─── Meta row : date · auteur · temps de lecture ─── */
.art-meta-row {
  max-width: var(--max-width);
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  column-gap: 24px;
  padding-top: 18px;
  border-top: 1px solid rgba(0,0,0,0.06);
  margin-top: clamp(20px,2.5vw,36px);
}

.art-meta-content {
  grid-column: 6 / 13;
  display: flex;
  align-items: center;
  gap: 24px;
  flex-wrap: wrap;
}

.art-meta-item {
  display: flex;
  align-items: center;
  gap: 7px;
  font-family: "GTFlexaMono", monospace;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.11em;
  color: var(--muted);
}

.art-meta-dot {
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: rgba(0,0,0,0.2);
  flex-shrink: 0;
}

.art-author-avatar {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  object-fit: cover;
  background: rgba(0,0,0,0.08);
  flex-shrink: 0;
}

/* ═══════════════════════════════════════
   HERO IMAGE
   ═══════════════════════════════════════ */
.art-hero-wrap {
  padding: clamp(32px,3.5vw,56px) var(--pad-x);
}

.art-hero {
  max-width: var(--max-width);
  margin: 0 auto;
  border-radius: var(--radius);
  overflow: hidden;
  clip-path: inset(0 round var(--radius));
  aspect-ratio: 16 / 7;
  background: #111;
}

.art-hero img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* ═══════════════════════════════════════
   CORPS DE L'ARTICLE
   Colonne éditoriale centrée — cols 4/10
   sur grille 12 col
   ═══════════════════════════════════════ */
.art-body {
  padding: 0 var(--pad-x) clamp(64px,6vw,112px);
}

.art-body-grid {
  max-width: var(--max-width);
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  column-gap: 24px;
}

/* Tous les enfants directs centrent sur cols 4→10 par défaut */
.art-body-grid > * {
  grid-column: 4 / 10;
}

/* Chapeau d'intro — légèrement plus grand */
.art-lead {
  font-family: "Spectral", Georgia, serif;
  font-size: clamp(20px,1.5vw,26px);
  line-height: clamp(32px,2.2vw,40px);
  font-weight: 400;
  color: var(--text-dark);
  margin-bottom: clamp(32px,3vw,48px);
  padding-bottom: clamp(32px,3vw,48px);
  border-bottom: 1px solid rgba(0,0,0,0.07);
}

/* Paragraphes courants */
.art-body-grid p {
  font-family: "Spectral", Georgia, serif;
  font-size: clamp(17px,1.2vw,20px);
  line-height: clamp(28px,1.9vw,34px);
  font-weight: 400;
  color: var(--text-dark);
  margin-bottom: clamp(20px,1.8vw,28px);
}

/* Titres de section */
.art-body-grid h2 {
  font-family: "Spectral", Georgia, serif;
  font-size: clamp(22px,1.6vw,30px);
  line-height: clamp(32px,2.2vw,42px);
  font-weight: 400;
  color: var(--text-dark);
  margin-top: clamp(40px,4vw,64px);
  margin-bottom: clamp(14px,1.5vw,20px);
}

.art-body-grid h3 {
  font-family: "GTFlexa", sans-serif;
  font-size: clamp(14px,1vw,17px);
  font-weight: 500;
  letter-spacing: 0.01em;
  color: var(--text-dark);
  margin-top: clamp(28px,2.5vw,40px);
  margin-bottom: 10px;
}

/* Citation / blockquote */
.art-body-grid blockquote {
  grid-column: 3 / 11; /* un peu plus large que le texte */
  border-left: 2px solid var(--brand);
  padding: 12px 0 12px 28px;
  margin: clamp(28px,2.5vw,40px) 0;
  font-family: "Spectral", Georgia, serif;
  font-size: clamp(18px,1.35vw,24px);
  line-height: clamp(28px,2vw,36px);
  font-style: italic;
  color: var(--text-dark);
}

/* ═══════════════════════════════════════
   BLOC PROMO — rupture éditoriale dark
   ═══════════════════════════════════════ */
.art-promo {
  grid-column: 1 / -1;
  margin: clamp(48px,5vw,88px) 0;
}

.art-promo-inner {
  background: var(--text-dark);
  border-radius: var(--radius);
  padding: clamp(48px,5vw,80px) clamp(40px,4vw,72px);
  display: flex;
  flex-direction: column;
}

.art-promo-label {
  font-family: "GTFlexaMono", monospace;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.13em;
  color: rgba(255,255,255,0.4);
  margin-bottom: 20px;
}

.art-promo .art-promo-title {
  font-family: "Spectral", Georgia, serif;
  font-size: clamp(36px,4vw,68px);
  line-height: clamp(44px,4.6vw,78px);
  font-weight: 400;
  color: #ffffff;
  margin-bottom: clamp(36px,4vw,60px);
}

/* Formulaire en ligne sous le titre */
.art-promo-form {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.art-promo-input,
.art-promo-select {
  background: rgba(255,255,255,0.07);
  border: 1px solid rgba(255,255,255,0.15);
  border-radius: 100px;
  padding: 13px 22px;
  font-family: "GTFlexa", sans-serif;
  font-size: 14px;
  color: #ffffff;
  outline: none;
  transition: border-color 0.18s ease, background 0.18s ease;
  appearance: none;
  -webkit-appearance: none;
  flex: 1;
  min-width: 180px;
}

.art-promo-input::placeholder {
  color: rgba(255,255,255,0.35);
}

.art-promo-select option {
  color: var(--text-dark);
  background: #ffffff;
}

.art-promo-input:focus,
.art-promo-select:focus {
  border-color: rgba(255,255,255,0.45);
  background: rgba(255,255,255,0.11);
}

/* Bouton rouge sur fond dark */
.art-promo-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background: var(--brand);
  color: #ffffff;
  font-family: "GTFlexa", sans-serif;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.01em;
  padding: 13px 28px;
  border-radius: 100px;
  border: none;
  cursor: pointer;
  white-space: nowrap;
  transition: opacity 0.18s ease;
  flex-shrink: 0;
}

.art-promo-btn:hover {
  opacity: 0.88;
}

/* ═══════════════════════════════════════
   PARTAGE
   ═══════════════════════════════════════ */
.art-share {
  padding: 0 var(--pad-x) clamp(48px,5vw,80px);
}

.art-share-inner {
  max-width: var(--max-width);
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  column-gap: 24px;
}

.art-share-label {
  grid-column: 4 / 6;
  font-family: "GTFlexaMono", monospace;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.13em;
  color: var(--muted);
  display: flex;
  align-items: center;
}

.art-share-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 18px;
  border-radius: 100px;
  border: 1px solid rgba(0,0,0,0.12);
  font-family: "GTFlexa", sans-serif;
  font-size: 13px;
  font-weight: 500;
  color: var(--text-dark);
  text-decoration: none;
  transition: background 0.15s ease, border-color 0.15s ease;
  align-self: center;
}

.art-share-btn:hover {
  background: rgba(0,0,0,0.04);
  border-color: rgba(0,0,0,0.22);
}

.art-share-btn:first-of-type {
  grid-column: 6 / 8;
}

.art-share-btn:last-of-type {
  grid-column: 8 / 10;
}

/* ═══════════════════════════════════════
   RESPONSIVE
   ═══════════════════════════════════════ */
@media (max-width: 900px) {
  .art-page-header-inner {
    grid-template-columns: 1fr 1fr;
    row-gap: 12px;
  }
  .art-ph-back    { grid-column: 1 / 2; }
  .art-ph-label   { grid-column: 2 / 3; }
  .art-ph-title   { grid-column: 1 / -1; }

  .art-meta-content { grid-column: 1 / -1; }

  .art-body-grid > * { grid-column: 1 / -1; }
  .art-body-grid blockquote { grid-column: 1 / -1; padding-left: 20px; }
  .art-promo-inner { flex-direction: column; align-items: flex-start; }
  .art-share-label,
  .art-share-btn:first-of-type,
  .art-share-btn:last-of-type { grid-column: 1 / -1; }
}

@media (max-width: 600px) {
  .art-page-header-inner { grid-template-columns: 1fr; }
  .art-ph-back, .art-ph-label, .art-ph-title { grid-column: 1 / -1; }
  .art-hero { aspect-ratio: 4 / 3; }
}
