/* System Page v2.dc.html: exact desktop dimensions from the validated export.
   Mobile remains governed by the existing System Page Mobile transcription. */
.page-systeme { min-width: 0; }
@media (min-width: 1100px) {
  .page-systeme .section-titre { max-width:1520px; margin:0 auto; padding:44px 40px 8px; gap:16px; }
  .page-systeme h1 { font-size:104px; line-height:.92; max-width:70%; }
  .page-systeme .numero { font-size:30px; }
  .page-systeme .intro { max-width:none; }
  .page-systeme .confiance { flex-direction:row; align-items:center; gap:14px; flex-wrap:wrap; }
  .page-systeme .illustration { height:360px; margin-top:32px; clip-path:polygon(0 0,100% 0,100% 96.5%,96% 98.5%,91% 96%,85% 99%,79% 96.5%,72% 98.5%,65% 96%,58% 99%,51% 97%,44% 99%,37% 96.5%,30% 98.5%,23% 96%,16% 99%,9% 96.5%,4% 98.5%,0 96.5%); }
  .bloc-systeme { max-width:1520px; margin:0 auto; padding:56px 40px 8px; display:grid; grid-template-columns:150px minmax(0,1fr) 400px; column-gap:44px; row-gap:16px; align-items:start; }
  .bloc-systeme > * { min-width:0; }
  .bloc-systeme .fantome { position:static; grid-column:1; grid-row:1 / span 4; font-size:170px; line-height:.8; color:rgba(199,154,107,.32); }
  .bloc-systeme .bloc-entete { grid-column:2; grid-row:1; gap:14px; padding-top:14px; }
  .bloc-systeme .prose { grid-column:2; grid-row:2; font-size:15px; line-height:1.7; max-width:64ch; }
  .bloc-systeme h2 { font-size:24px; letter-spacing:.08em; }
  .bloc-systeme .tuile { width:44px; height:44px; border-radius:9px; }
  .bloc-systeme .losange-petit { width:8px; height:8px; }
  .bloc-systeme .resume, .bloc-systeme .source, .bloc-systeme .trancherait { grid-column:3; grid-row:1 / span 4; margin-top:14px; max-width:none; }
  .bloc-systeme .resume, .bloc-systeme .trancherait { padding:22px 24px; border-radius:8px; }
  .bloc-systeme .questions { grid-column:2; grid-row:3; }
  .bloc-systeme .lies { grid-column:2 / 4; grid-row:3; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; max-width:none; }
  .bloc-systeme[data-bloc="3"] .prose { grid-column:2 / 4; max-width:70ch; }
  /* Without optional side content, the real prose uses the available reading area. */
  .bloc-systeme:not(:has(.resume,.source,.trancherait)) .bloc-entete,
  .bloc-systeme:not(:has(.resume,.source,.trancherait)) .prose { grid-column:2 / 4; }
  .page-systeme .arrete-zone { max-width:1520px; margin:0 auto; padding:32px 40px 56px; }
}
@media (min-width:1100px) and (max-width:1350px) {
  /* Adapt the same grid before its 150+400px rails crowd the real text. */
  .bloc-systeme { grid-template-columns:100px minmax(0,1fr) 340px; column-gap:30px; }
  .bloc-systeme .fantome { font-size:140px; }
}

/* News Article.dc.html: transcription, with wrapping for the mobile viewport. */
.actualite { max-width:1180px; margin:0 auto; padding:24px 20px 40px; display:grid; grid-template-columns:minmax(0,1fr); gap:36px; align-items:start; }
.actualite article { display:flex; flex-direction:column; gap:26px; max-width:76ch; min-width:0; }
.actu-entete { display:flex; flex-direction:column; gap:12px; }
.actu-meta { display:flex; align-items:center; gap:12px; flex-wrap:wrap; font-size:13px; color:var(--gris-bleu); }
.actu-type { font-family:var(--sous-titre); font-weight:600; font-size:12.5px; letter-spacing:.1em; text-transform:uppercase; color:var(--papier-clair); background:#2D6A6A; border-radius:4px; padding:3px 10px; }
.actu-meta time { font-family:var(--sous-titre); font-weight:700; font-size:16px; letter-spacing:.04em; color:var(--rouille); }
.actualite h1 { font-size:48px; line-height:.98; }
.actu-image { margin:0; border:1px solid rgba(14,26,36,.18); border-radius:10px; overflow:hidden; }
.actu-image img { width:100%; height:240px; object-fit:cover; display:block; }
.actu-image figcaption { padding:8px 12px; font-size:12px; color:var(--texte-attenue); }
.actu-source { border:1px solid rgba(45,106,106,.35); border-radius:6px; background:var(--papier-clair); padding:12px 18px; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:16px; font-size:12.5px; color:var(--texte-attenue); }
.actu-source strong, .actu-source a, .actu-aside h2 { font-family:var(--sous-titre); font-weight:700; font-size:13px; letter-spacing:.1em; text-transform:uppercase; color:var(--petrole); }
.actu-source a { display:inline-flex; align-items:center; min-height:44px; }
.actu-section { display:flex; flex-direction:column; gap:12px; }
.actu-section h2 { display:flex; align-items:baseline; gap:12px; border-bottom:2px solid var(--petrole); padding-bottom:7px; font-size:21px; letter-spacing:.06em; color:var(--ink); }
.actu-section h2 span { font-family:var(--titre); font-size:19px; color:var(--rouille); }
.actu-section p { margin:0; font-size:15px; line-height:1.7; color:var(--texte-corps); }
.actu-citation { border:1px solid var(--petrole); border-radius:8px; background:var(--papier-clair); padding:20px 24px; display:flex; flex-direction:column; gap:10px; }
.actu-citation strong { font-family:var(--sous-titre); font-size:13px; letter-spacing:.12em; text-transform:uppercase; color:var(--rouille); }
.actu-citation blockquote { margin:0; border-left:3px solid var(--rouille); padding:2px 0 2px 16px; font-size:15.5px; line-height:1.6; color:var(--ink); font-style:italic; }
.actu-citation small { color:var(--gris-bleu); font-size:12px; }
.actu-aside { display:flex; flex-direction:column; gap:22px; min-width:0; }
.actu-aside > div { border:1px solid rgba(14,26,36,.16); border-radius:8px; background:var(--papier-clair); padding:18px 20px; display:flex; flex-direction:column; gap:11px; }
.actu-aside p { margin:0; font-size:12px; color:var(--gris-bleu); line-height:1.5; }
.actu-lie { display:flex; align-items:center; justify-content:space-between; gap:10px; border:1px solid rgba(14,26,36,.13); border-radius:6px; padding:9px 12px; color:var(--ink); min-height:44px; font-family:var(--sous-titre); font-weight:700; font-size:14.5px; letter-spacing:.05em; text-transform:uppercase; }
.actu-lie:hover { border-color:var(--rouille); }
.actu-chrono a { font-size:13px; min-height:44px; display:flex; align-items:center; }
@media(min-width:900px) {
 .actualite { box-sizing:content-box; padding:40px 40px 64px; grid-template-columns:minmax(0,1fr) 320px; gap:56px; }
 .actu-source { flex-wrap:nowrap; }
 .actu-source a { flex-shrink:0; white-space:nowrap; }
 .actualite h1 { font-size:58px; }
 .actu-image img { height:320px; }
 .actu-aside { position:sticky; top:24px; }
}

/* Consentement GA4 : contenu local, chargé avant toute mesure tierce. */
.consentement[hidden] { display:none; }
.consentement { position:fixed; inset:0; z-index:100; display:flex; align-items:flex-end; justify-content:center; padding:20px; }
.consentement-voile { position:absolute; inset:0; background:rgba(14,26,36,.62); }
.consentement-boite { position:relative; width:min(100%,560px); padding:24px; border:1px solid rgba(14,26,36,.22); border-radius:10px; background:var(--papier-clair); box-shadow:0 18px 60px rgba(14,26,36,.28); }
.consentement-kicker { margin:0 0 8px; font-family:var(--sous-titre); font-size:12px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--rouille); }
.consentement-boite h2 { margin:0 0 10px; font-family:var(--titre); font-size:30px; font-weight:400; line-height:1; color:var(--ink); }
.consentement-boite p:not(.consentement-kicker) { margin:0; font-size:14px; line-height:1.55; color:var(--texte-corps); }
.consentement-actions { display:flex; justify-content:flex-end; gap:10px; flex-wrap:wrap; margin-top:18px; }
.consentement-actions button { min-height:44px; padding:8px 16px; border-radius:5px; font-family:var(--sous-titre); font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; cursor:pointer; }
.consentement-refuser { border:1px solid rgba(14,26,36,.28); background:transparent; color:var(--ink); }
.consentement-accepter { border:1px solid var(--petrole); background:var(--petrole); color:var(--papier-clair); }
.consentement-actions button:focus-visible { outline:3px solid var(--rouille); outline-offset:3px; }
@media (min-width:900px) { .consentement { align-items:center; } }
