/* =========================================================================
   Le guide privatiser.ma, version « magazine » : grand titre de journal, une, rubriques en colonnes,
   articles centrés avec lettrine. Couleurs et police du site (bleu nuit, corail, Poppins),
   titres en Fraunces. Chargée par les pages du guide et par l'aperçu de son administration.
   ========================================================================= */

.gd {
  --gd-navy: #1d2a50;
  --gd-texte: #48516f;
  --gd-gris: #7a8199;
  --gd-trait: #e8eaf0;
  --gd-sable: #faf7f2;
  --gd-sable-trait: #ece5da;
  --gd-corail: #e8504a;
  --gd-corail-fonce: #d9433d;
  --gd-serif: "Fraunces", Georgia, "Times New Roman", serif;
  --gd-sans: Poppins, system-ui, -apple-system, "Segoe UI", sans-serif;
  font-family: var(--gd-sans);
  color: var(--gd-texte);
  -webkit-font-smoothing: antialiased;
  padding-bottom: 72px;
}
.gd *,
.gd *::before,
.gd *::after { box-sizing: border-box; }
.gd a { color: inherit; text-decoration: none; }
.gd h1, .gd h2, .gd h3, .gd h4 { color: var(--gd-navy); margin: 0; font-family: inherit; line-height: 1.2; text-wrap: balance; }
.gd p { margin: 0; }
.gd img { display: block; max-width: 100%; height: auto; }
.gd ol, .gd ul { margin: 0; padding: 0; }
.gd svg { width: 1em; height: 1em; flex: none; }
.gd a:focus-visible,
.gd button:focus-visible,
.gd summary:focus-visible,
.gd input:focus-visible { outline: 2px solid var(--gd-corail); outline-offset: 3px; border-radius: 4px; }

.gd-serif { font-family: var(--gd-serif) !important; font-weight: 600 !important; letter-spacing: -0.015em; }
.gd-rubl { display: inline-block; font-size: 12px; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(--gd-corail); }
.gd-meta { font-size: 13.5px; color: var(--gd-gris); }
.gd-bouton {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 46px; padding: 0 24px;
  border: 0; border-radius: 999px; background: var(--gd-corail); color: #fff !important;
  font: 600 15px/1 var(--gd-sans); white-space: nowrap; cursor: pointer; text-decoration: none !important;
}
.gd-bouton:hover { background: var(--gd-corail-fonce); }
.gd-defile { overflow-x: auto; scrollbar-width: none; }
.gd-defile::-webkit-scrollbar { display: none; }
.gd-vide { padding: 72px 0; text-align: center; font-size: 17px; }
.gd-vide a { color: var(--gd-corail); font-weight: 600; margin-left: 6px; }

/* ---------- Grand titre du guide ---------- */
.gd-tete { padding: 26px 0 0; text-align: center; }
.gd-tete__haut { display: flex; justify-content: space-between; align-items: center; font-size: 13px; color: var(--gd-gris); }
.gd-tete__haut a { display: flex; align-items: center; gap: 8px; color: var(--gd-navy); font-weight: 500; }
.gd-tete__haut svg { font-size: 16px; }
.gd-tete__titre { margin: 6px 0 2px !important; font-family: var(--gd-serif) !important; font-weight: 600 !important; font-size: 76px !important; line-height: 1 !important; letter-spacing: -0.03em; }
.gd-tete__titre a { color: var(--gd-navy); }
.gd-tete__titre small { display: block; font-family: var(--gd-sans); font-size: 12.5px; font-weight: 600; letter-spacing: 0.3em; text-transform: uppercase; color: var(--gd-corail); margin-bottom: 10px; }
.gd-tete__devise { font-family: var(--gd-serif); font-style: italic; font-weight: 500; font-size: 18px; margin: 10px 0 22px !important; }
.gd-tete__rubriques {
  display: flex; justify-content: center; gap: 40px; border-top: 1px solid var(--gd-navy); border-bottom: 1px solid var(--gd-navy);
  box-shadow: 0 3px 0 -2px #fff, 0 4px 0 -2px var(--gd-navy);
}
.gd-tete__rubriques a { padding: 14px 0; font-size: 13px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--gd-navy); white-space: nowrap; }
.gd-tete__rubriques a:hover,
.gd-tete__rubriques a.on { color: var(--gd-corail); }

/* ---------- Accueil : la une ---------- */
.gd-une { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); padding: 44px 0 56px; }
.gd-une__principale { padding-right: 44px; border-right: 1px solid var(--gd-trait); }
.gd-une__principale img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 4px; margin-bottom: 22px; }
.gd-une__principale h2 { font-size: 42px; line-height: 1.1; margin: 12px 0 14px; }
.gd-une__principale:hover h2 { color: var(--gd-corail); }
.gd-une__chapo { font-size: 18px; line-height: 1.65; margin-bottom: 14px !important; }
.gd-une__liste { padding-left: 36px; }
.gd-une__liste-titre { font-size: 12px; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(--gd-navy); padding-bottom: 12px; border-bottom: 2px solid var(--gd-navy); }
.gd-court { display: grid; grid-template-columns: minmax(0, 1fr) 92px; gap: 16px; padding: 20px 0; border-bottom: 1px solid var(--gd-trait); }
.gd-court h3 { font-size: 19px; line-height: 1.28; margin: 6px 0 8px; }
.gd-court:hover h3 { color: var(--gd-corail); }
.gd-court img { width: 92px; height: 92px; object-fit: cover; border-radius: 4px; }

/* ---------- Accueil : le conseil de la semaine ---------- */
.gd-citation { border-top: 1px solid var(--gd-navy); border-bottom: 1px solid var(--gd-navy); padding: 52px 0; text-align: center; }
.gd-citation blockquote { max-width: 880px; margin: 14px auto 18px; font-family: var(--gd-serif); font-style: italic; font-weight: 500; font-size: 31px; line-height: 1.4; color: var(--gd-navy); }
.gd-citation cite { font-style: normal; font-size: 14px; }
.gd-citation cite a { color: var(--gd-navy); font-weight: 600; border-bottom: 1px solid var(--gd-corail); }

/* ---------- Colonnes par rubrique (accueil) et « À lire ensuite » ---------- */
.gd-colonnes { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 32px; padding: 56px 0 24px; }
.gd-colonne { display: flex; flex-direction: column; }
.gd-colonne__titre { display: block; padding-top: 12px; border-top: 3px solid var(--gd-navy); margin-bottom: 18px; }
.gd-colonne__lien { display: block; padding: 14px 0 0; margin-top: 14px; border-top: 1px solid var(--gd-trait); font-size: 16.5px; line-height: 1.32; color: var(--gd-navy) !important; }
.gd-colonne__lien:hover { color: var(--gd-corail) !important; }
.gd-carte { display: block; }
.gd-carte img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 4px; margin-bottom: 14px; }
.gd-carte .gd-rubl { margin-bottom: 6px; }
.gd-carte h3 { font-size: 19px; line-height: 1.3; margin-bottom: 8px; }
.gd-carte:hover h3 { color: var(--gd-corail); }
.gd-carte__chapo { font-size: 15px; line-height: 1.6; margin-bottom: 10px !important; }
.gd-lies { padding-top: 64px; }
.gd-lies > h2 { font-size: 30px; text-align: center; padding-bottom: 18px; border-bottom: 1px solid var(--gd-navy); }
.gd-colonnes--lies { grid-template-columns: repeat(4, minmax(0, 1fr)); padding-top: 32px; }

/* ---------- Pages rubrique et recherche ---------- */
.gd-page-tete { max-width: 820px; margin: 0 auto; padding: 44px 0 36px; text-align: center; }
.gd-page-tete h1 { font-size: 50px; line-height: 1.08; margin: 10px 0 14px; }
.gd-page-tete__chapo { font-family: var(--gd-serif); font-style: italic; font-weight: 500; font-size: 19px; line-height: 1.55; }
.gd-page-tete .gd-meta { margin-top: 16px; }
.gd-rubrique-une { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 44px; align-items: center; padding: 28px 0 48px; border-top: 1px solid var(--gd-navy); }
.gd-rubrique-une img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; border-radius: 4px; }
.gd-rubrique-une h2 { font-size: 34px; line-height: 1.15; margin: 12px 0 14px; }
.gd-rubrique-une:hover h2 { color: var(--gd-corail); }
.gd-rubrique-une__chapo { font-size: 17px; line-height: 1.65; margin-bottom: 14px !important; }
.gd-cartes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px 32px; padding-top: 36px; border-top: 1px solid var(--gd-trait); }
.gd-cartes--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.gd-recherche { display: flex; gap: 10px; max-width: 620px; margin: 26px auto 0; }
.gd-recherche input { flex: 1; min-width: 0; height: 50px; padding: 0 20px; border: 1px solid #d5d9e4; border-radius: 999px; font: 400 16px var(--gd-sans); color: var(--gd-navy); background: #fff; }
.gd-recherche .gd-bouton { height: 50px; }
.gd-resultats { max-width: 880px; margin: 0 auto; border-top: 1px solid var(--gd-navy); }
.gd-resultat { display: grid; grid-template-columns: 200px minmax(0, 1fr); gap: 26px; align-items: center; padding: 26px 0; border-bottom: 1px solid var(--gd-trait); }
.gd-resultat img { width: 200px; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 4px; }
.gd-resultat h2 { font-size: 23px; line-height: 1.25; margin: 6px 0 8px; }
.gd-resultat:hover h2 { color: var(--gd-corail); }
.gd-resultat__chapo { font-size: 15px; line-height: 1.6; }
.gd-suggestions { text-align: center; padding: 8px 0 24px; }
.gd-suggestions div { display: flex; justify-content: center; flex-wrap: wrap; gap: 10px; margin-top: 16px; }
.gd-suggestions a { display: flex; align-items: center; height: 38px; padding: 0 18px; border: 1px solid var(--gd-trait); border-radius: 999px; font-size: 14px; font-weight: 500; color: var(--gd-navy); }
.gd-suggestions a:hover { border-color: var(--gd-corail); color: var(--gd-corail); }

/* ---------- Article ---------- */
.gd-apercu { margin: 24px 0 0 !important; padding: 12px 18px; border-radius: 8px; background: var(--gd-sable); border: 1px solid var(--gd-sable-trait); font-size: 14px; color: var(--gd-navy); text-align: center; }
.gd-fil { display: flex; justify-content: center; flex-wrap: wrap; gap: 8px; padding-top: 30px; font-size: 13px; color: var(--gd-gris); }
.gd-fil a:hover { color: var(--gd-corail); }
.gd-article__tete { max-width: 880px; margin: 0 auto; text-align: center; padding: 22px 0 32px; }
.gd-article__tete h1 { font-size: 54px; line-height: 1.08; margin: 14px 0 18px; }
.gd-article__chapo { font-family: var(--gd-serif); font-style: italic; font-weight: 500; font-size: 21px; line-height: 1.55; max-width: 760px; margin: 0 auto 24px !important; }
.gd-article__meta { display: flex; justify-content: center; flex-wrap: wrap; gap: 6px 22px; padding: 14px 0; border-top: 1px solid var(--gd-trait); border-bottom: 1px solid var(--gd-trait); font-size: 13.5px; color: var(--gd-gris); }
.gd-article__meta b { color: var(--gd-navy); font-weight: 600; }
.gd-article__couv { width: 100%; height: 520px; object-fit: cover; border-radius: 4px; }
.gd-article__texte { max-width: 720px; margin: 0 auto; padding: 44px 0 8px; }
.gd-sommaire { border: 1px solid var(--gd-navy); padding: 24px 28px; margin-bottom: 40px; }
.gd-sommaire p { font-size: 12px; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(--gd-navy); margin-bottom: 12px !important; }
.gd-sommaire ol { columns: 2; column-gap: 36px; list-style: none; }
.gd-sommaire li { break-inside: avoid; display: flex; gap: 10px; padding: 6px 0; font-size: 14.5px; line-height: 1.45; }
.gd-sommaire li span { flex: none; min-width: 1.1em; font-family: var(--gd-serif); font-weight: 600; color: var(--gd-corail); }
.gd-sommaire a:hover { color: var(--gd-corail); }
.gd-article__fin { max-width: 720px; margin: 0 auto; }

/* Texte de l'article (page publique et aperçu de l'administration) */
.gd-prose { font-size: 17px; line-height: 1.75; color: #3d4562; }
.gd-prose > *:first-child { margin-top: 0; }
.gd-prose > p:first-child::first-letter { float: left; font-family: var(--gd-serif); font-weight: 600; font-size: 76px; line-height: 0.82; color: var(--gd-corail); margin: 8px 12px 0 0; }
.gd-prose h2 { font-family: var(--gd-serif); font-weight: 600; font-size: 32px; line-height: 1.2; letter-spacing: -0.01em; margin: 52px 0 16px; scroll-margin-top: 110px; }
.gd-prose h3 { font-size: 20px; line-height: 1.35; margin: 32px 0 10px; }
.gd-prose h4 { font-size: 17px; margin: 24px 0 8px; }
.gd-prose p { margin: 0 0 18px; }
.gd-prose ul,
.gd-prose ol { margin: 0 0 20px; padding-left: 22px; }
.gd-prose li { margin: 7px 0; padding-left: 4px; }
.gd-prose li::marker { color: var(--gd-corail); }
.gd-prose strong { color: var(--gd-navy); font-weight: 600; }
.gd-prose a:not(.gd-bouton) { color: var(--gd-corail); text-decoration: underline; text-underline-offset: 3px; }
.gd-prose blockquote { margin: 28px 0; padding: 4px 0 4px 24px; border-left: 3px solid var(--gd-corail); font-family: var(--gd-serif); font-style: italic; font-size: 19px; line-height: 1.6; color: var(--gd-navy); }
.gd-prose blockquote p:last-child { margin-bottom: 0; }
.gd-prose figure { margin: 32px 0; }
.gd-prose figure img { width: 100%; border-radius: 4px; }
.gd-prose figcaption { font-size: 13.5px; color: var(--gd-gris); margin-top: 8px; }
.gd-prose hr { border: 0; border-top: 1px solid var(--gd-trait); margin: 40px 0; }
.gd-prose code { font-size: 0.9em; background: var(--gd-sable); padding: 1px 6px; border-radius: 4px; }
.gd-prose .table-wrap { overflow-x: auto; margin: 8px 0 26px; border: 1px solid var(--gd-trait); border-radius: 8px; }
.gd-prose table { width: 100%; border-collapse: collapse; font-size: 15px; line-height: 1.5; }
.gd-prose th { background: var(--gd-navy); color: #fff; text-align: left; padding: 12px 14px; font-weight: 500; }
.gd-prose td { padding: 12px 14px; border-top: 1px solid var(--gd-trait); vertical-align: top; }
.gd-prose .callout { display: flex; gap: 14px; margin: 28px 0; padding: 20px 22px; border-radius: 8px; background: var(--gd-sable); border: 1px solid var(--gd-sable-trait); font-size: 16px; line-height: 1.65; }
.gd-prose .callout-icon { flex: none; display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: #fff; border: 1px solid var(--gd-sable-trait); color: var(--gd-corail); font-weight: 700; font-size: 14px; line-height: 1; }
.gd-prose .callout-title { display: block; color: var(--gd-navy); font-weight: 600; margin-bottom: 4px; }
.gd-prose .callout p:last-child,
.gd-prose .callout ul:last-child { margin-bottom: 0; }
.gd-appel { display: flex; align-items: center; gap: 24px; margin: 44px 0; padding: 28px 0; border-top: 3px solid var(--gd-navy); border-bottom: 1px solid var(--gd-navy); }
.gd-appel p { margin: 0 !important; font-size: 15px; line-height: 1.55; }
.gd-appel .gd-appel__titre { font-family: var(--gd-serif); font-weight: 600; font-size: 24px; line-height: 1.25; color: var(--gd-navy); margin-bottom: 6px !important; }
.gd-appel .gd-bouton { margin-left: auto; }

.gd-partage { display: flex; justify-content: center; align-items: center; gap: 10px; padding: 26px 0; margin-top: 24px; border-top: 1px solid var(--gd-trait); border-bottom: 1px solid var(--gd-trait); }
.gd-partage > span { font-size: 12px; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(--gd-navy); margin-right: 6px; }
.gd-partage a,
.gd-partage button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 40px; min-width: 40px; padding: 0 12px; border: 1px solid var(--gd-trait); border-radius: 999px; background: #fff; color: var(--gd-navy); font: 500 13.5px var(--gd-sans); cursor: pointer; }
.gd-partage a:hover,
.gd-partage button:hover { border-color: var(--gd-corail); color: var(--gd-corail); }
.gd-partage svg { font-size: 16px; }
.gd-faq { margin-top: 44px; }
.gd-faq h2 { font-size: 30px; margin-bottom: 8px; }
.gd-faq details { border-bottom: 1px solid var(--gd-trait); }
.gd-faq summary { list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 20px 0; font-weight: 500; font-size: 17px; color: var(--gd-navy); cursor: pointer; }
.gd-faq summary::-webkit-details-marker { display: none; }
.gd-faq summary svg { font-size: 20px; color: var(--gd-corail); transition: transform 0.2s; }
.gd-faq details[open] summary svg { transform: rotate(45deg); }
.gd-faq details div { padding: 0 0 20px; line-height: 1.7; }
.gd-signature { display: flex; gap: 16px; align-items: flex-start; margin-top: 44px; padding-top: 28px; border-top: 3px solid var(--gd-navy); }
.gd-signature__initiale { display: grid; place-items: center; flex: none; width: 46px; height: 46px; border-radius: 50%; background: var(--gd-navy); color: #fff; font-weight: 600; }
.gd-signature b { color: var(--gd-navy); }
.gd-signature p { font-size: 15px; line-height: 1.6; margin-top: 4px !important; }

/* ---------- Écrans moyens ---------- */
@media (max-width: 1199px) {
  .gd-colonnes { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px 28px; }
  .gd-colonnes--lies { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* ---------- Tablette et téléphone ---------- */
@media (max-width: 991px) {
  .gd-tete__titre { font-size: 52px !important; }
  .gd-tete__devise { font-size: 16px; }
  .gd-tete__rubriques { justify-content: flex-start; gap: 26px; padding: 0 4px; }
  .gd-une { grid-template-columns: minmax(0, 1fr); padding: 28px 0 40px; }
  .gd-une__principale { padding-right: 0; border-right: 0; padding-bottom: 12px; }
  .gd-une__principale h2 { font-size: 29px; }
  .gd-une__chapo { font-size: 16.5px; }
  .gd-une__liste { padding-left: 0; margin-top: 28px; }
  .gd-court h3 { font-size: 18px; }
  .gd-citation { padding: 40px 0; }
  .gd-citation blockquote { font-size: 23px; }
  .gd-page-tete { padding: 30px 0 28px; }
  .gd-page-tete h1 { font-size: 36px; }
  .gd-page-tete__chapo { font-size: 17px; }
  .gd-rubrique-une { grid-template-columns: minmax(0, 1fr); gap: 20px; padding-bottom: 36px; }
  .gd-rubrique-une h2 { font-size: 27px; }
  .gd-cartes { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gd-article__tete { padding: 16px 0 24px; }
  .gd-article__tete h1 { font-size: 34px; }
  .gd-article__chapo { font-size: 18px; }
  .gd-article__couv { height: 260px; }
  .gd-article__texte { padding-top: 32px; }
  .gd-sommaire { padding: 20px 22px; }
  .gd-sommaire ol { columns: 1; }
  .gd-prose h2 { font-size: 26px; }
  .gd-appel { flex-wrap: wrap; }
  .gd-appel .gd-bouton { margin-left: 0; }
}

@media (max-width: 575px) {
  .gd .container { padding-left: 20px; padding-right: 20px; }
  .gd-tete__haut span { display: none; }
  .gd-tete__haut { justify-content: flex-end; }
  .gd-tete__titre { font-size: 46px !important; }
  .gd-colonnes,
  .gd-colonnes--lies,
  .gd-cartes { grid-template-columns: minmax(0, 1fr); gap: 36px; padding-top: 40px; }
  .gd-recherche { flex-direction: column; }
  .gd-resultat { grid-template-columns: 96px minmax(0, 1fr); gap: 16px; align-items: start; }
  .gd-resultat img { width: 96px; aspect-ratio: 1; }
  .gd-resultat h2 { font-size: 18px; }
  .gd-resultat__chapo { display: none; }
  .gd-article__couv { height: 220px; }
  .gd-prose { font-size: 16.5px; }
  .gd-prose > p:first-child::first-letter { font-size: 62px; }
  .gd-partage { flex-wrap: wrap; }
  .gd-partage > span { flex-basis: 100%; text-align: center; margin: 0 0 4px; }
}

@media (prefers-reduced-motion: reduce) {
  .gd-faq summary svg { transition: none; }
}
