/* Page « Inscription newsletter » (page-newsletter.php), 2026-11-15. D'après la maquette validée par Ben :
   docs/inscriptions/inscription-newsletter-maquette.html. Chargée sur ce gabarit seulement. */
.fd-insc { --fd-bleu: #33416f; --fd-rouge: #a41b1f; --fd-texte: #222; --fd-gris: #6a6f7d; --fd-fond: #f4f5f9; --fd-blanc: #fff; --fd-trait: #e3e5ec; --fd-choix: #eef1fa; color: var(--fd-texte) }
.fd-insc *, .fd-insc *::before, .fd-insc *::after { box-sizing: border-box }

/* En-tête de cette page (Ben, 15/11) : sans les liens du haut, logo centré (la zone publicitaire est vide ici). */
body.page-template-page-newsletter .top-bar-container { display: none !important }
body.page-template-page-newsletter #headermain { display: none !important }
@media (min-width: 1024px) {
	body.page-template-page-newsletter .header-main-area .site-branding { left: 0 !important; right: 0 !important; float: none !important; width: 100% !important; max-width: none !important; margin: 0 !important; text-align: center !important; display: flex; flex-direction: column; align-items: center }
}
.fd-insc-corps { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 28px; padding: 16px 0 32px; align-items: start }
.fd-insc-carte { background: var(--fd-blanc); border-radius: 6px; padding: 30px 32px 28px; display: grid; gap: 22px; margin: 0 }
.fd-insc-carte h1 { margin: 0; font-size: 30px; line-height: 1.18; color: var(--fd-bleu); font-weight: 900 }
.fd-insc-chapo { margin: 0; font-size: 16.5px; line-height: 1.55; color: #3a3f4d; max-width: 56ch }
.fd-insc-champ { display: grid; gap: 6px }
.fd-insc-champ label, .fd-insc-groupe-titre { font-weight: 700; font-size: 14.5px; margin: 0 }
.fd-insc-saisie { display: flex; gap: 10px }
.fd-insc-saisie input { flex: 1; min-width: 0; font: inherit; font-size: 16px; line-height: 1.3; height: auto; padding: 12px 14px; border: 1px solid #cfd3de; border-radius: 6px; background: var(--fd-blanc); color: var(--fd-texte); box-shadow: none }
.fd-insc-saisie input:focus { outline: 2px solid var(--fd-bleu); outline-offset: 0; border-color: var(--fd-bleu) }
.fd-insc-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; opacity: 0 }
.fd-insc-groupe { display: grid; gap: 10px; border: 0; padding: 0; margin: 0; min-width: 0 }
.fd-insc-groupe-titre { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding: 0; width: 100%; border: 0 }
.fd-insc-groupe-titre small { font-weight: 400; color: var(--fd-gris); font-size: 13px }
.fd-insc-editions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px }
.fd-insc-ed { position: relative; display: flex; align-items: center; gap: 10px; padding: 7px 10px 7px 7px; margin: 0; border: 1.5px solid var(--fd-trait); border-radius: 8px; background: var(--fd-blanc); cursor: pointer; transition: border-color .15s, background .15s; min-width: 0; font-weight: 400 }
.fd-insc-ed:hover { border-color: #b9c0d6 }
.fd-insc-ed input { position: absolute; opacity: 0; pointer-events: none; margin: 0 }
.fd-insc-ed img { width: 46px; height: 46px; border-radius: 5px; object-fit: cover; flex: none; margin: 0 }
.fd-insc-ed span { font-size: 14px; font-weight: 700; line-height: 1.2; min-width: 0 }
.fd-insc-ed::after { content: ""; margin-left: auto; flex: none; width: 20px; height: 20px; border-radius: 50%; border: 1.5px solid #c3c8d6; background: var(--fd-blanc) }
.fd-insc-ed:has(input:checked) { border-color: var(--fd-bleu); background: var(--fd-choix) }
.fd-insc-ed:has(input:checked)::after { border-color: var(--fd-bleu); background: var(--fd-bleu) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 10.5l3.2 3L15 7' fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/16px no-repeat }
.fd-insc-ed:has(input:focus-visible) { outline: 2px solid var(--fd-bleu); outline-offset: 2px }
.fd-insc-nationale { display: flex; gap: 10px; align-items: flex-start; font-size: 14px; color: #3a3f4d; background: var(--fd-fond); border-radius: 6px; padding: 10px 12px; margin: 0 }
.fd-insc-nationale svg { flex: none; margin-top: 2px }
.fd-insc-envoi { display: grid; gap: 10px; justify-items: start }
.fd-insc-bouton { font: inherit; font-weight: 900; font-size: 16px; line-height: 1.2; color: #fff; background: var(--fd-rouge); border: 0; border-radius: 6px; padding: 13px 30px; cursor: pointer; text-transform: none; letter-spacing: 0 }
.fd-insc-bouton:hover { background: #8c1519; color: #fff }
.fd-insc-bouton:focus-visible { outline: 2px solid var(--fd-bleu); outline-offset: 2px }
.fd-insc-bouton[disabled] { opacity: .6; cursor: wait }
.fd-insc-rassure { font-size: 12.5px; color: var(--fd-gris); margin: 0 }
.fd-insc-rassure a { color: var(--fd-gris); text-decoration: underline }
.fd-insc-merci { display: none; gap: 6px; background: #eaf5ec; border: 1px solid #b9dcc0; color: #1e5a2b; border-radius: 6px; padding: 14px 16px; font-size: 15px }
.fd-insc-merci.on { display: grid }
.fd-insc-carte.fini > .fd-insc-chapo, .fd-insc-carte.fini > .fd-insc-champ, .fd-insc-carte.fini > .fd-insc-groupe, .fd-insc-carte.fini > .fd-insc-nationale, .fd-insc-carte.fini > .fd-insc-envoi { display: none }
.fd-insc-etape2 { display: none; gap: 18px; border-top: 1px solid var(--fd-trait); padding-top: 18px }
.fd-insc-etape2.on { display: grid }
.fd-insc-etape2-titre { margin: 0; font-size: 18px; font-weight: 900; color: var(--fd-bleu); display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap }
.fd-insc-etape2-titre small { font-size: 12.5px; font-weight: 700; color: var(--fd-gris); text-transform: uppercase; letter-spacing: .06em }
.fd-insc-etape2 .fd-insc-etape2-chapo { margin: -10px 0 0 }
.fd-insc-pills { display: flex; flex-wrap: wrap; gap: 8px }
.fd-insc-pill { position: relative; cursor: pointer; margin: 0; font-weight: 400 }
.fd-insc-pill input { position: absolute; opacity: 0; pointer-events: none; margin: 0 }
.fd-insc-pill span { display: inline-block; padding: 8px 14px; border: 1.5px solid var(--fd-trait); border-radius: 999px; background: var(--fd-blanc); font-size: 14px; font-weight: 700; line-height: 1.2; transition: border-color .15s, background .15s }
.fd-insc-pill:hover span { border-color: #b9c0d6 }
.fd-insc-pill input:checked + span { border-color: var(--fd-bleu); background: #eef1f8; color: var(--fd-bleu) }
.fd-insc-pill input:focus-visible + span { outline: 2px solid var(--fd-bleu); outline-offset: 2px }
.fd-insc-duo { display: grid; grid-template-columns: 1fr 1fr; gap: 14px }
.fd-insc-pro { display: flex; gap: 10px; align-items: flex-start; font-size: 14.5px; font-weight: 400; cursor: pointer; margin: 0 }
.fd-insc-pro input { margin: 3px 0 0; width: 17px; height: 17px; accent-color: var(--fd-bleu); flex: none }
.fd-insc-lien-bouton { font: inherit; font-size: 14.5px; font-weight: 700; color: var(--fd-gris); background: none; border: 0; padding: 4px 2px; cursor: pointer; text-decoration: underline; text-transform: none; letter-spacing: 0 }
.fd-insc-lien-bouton:hover { color: var(--fd-texte); background: none }
.fd-insc-etape2 .fd-insc-envoi2 { display: flex; gap: 16px; align-items: center; flex-wrap: wrap }
.fd-insc-suite { display: none; gap: 14px; border-top: 1px solid var(--fd-trait); padding-top: 18px }
.fd-insc-suite.on { display: grid }
.fd-insc-suite-intro { margin: 0; font-size: 13px; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; color: var(--fd-gris) }
.fd-insc-suite-bloc { display: grid; gap: 12px }
.fd-insc-suite-titre { margin: 0; font-size: 20px; font-weight: 900; color: var(--fd-bleu); display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap }
.fd-insc-suite-titre small { font-size: 15px; font-weight: 700; color: var(--fd-gris) }
.fd-insc .fd-insc-ag { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px }
.fd-insc-partenaire { background: var(--fd-fond); border-radius: 6px; padding: 14px 16px }
.fd-insc .fd-insc-partenaire .fd-insc-ag { grid-template-columns: minmax(0, 1fr) }
.fd-insc-partenaire .fd-agc { flex-direction: row; align-items: center; gap: 16px }
.fd-insc-partenaire .fd-agc-img { flex: 0 0 38%; max-width: 240px }
.fd-insc-partenaire .fd-agc-titre { margin-top: 0; font-size: 17px }
.fd-insc-partenaire-qui { margin: 0; font-size: 13px; color: var(--fd-gris) }
.fd-insc-affil { display: flex; align-items: center; gap: 14px 18px; flex-wrap: wrap; border: 1px solid var(--fd-trait); border-radius: 6px; padding: 14px 16px }
.fd-insc-affil-etiquette { flex: none; font-size: 11px; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; color: var(--fd-gris); border: 1px solid var(--fd-trait); border-radius: 3px; padding: 2px 6px }
.fd-insc-affil-texte { flex: 1 1 260px; margin: 0; font-size: 14.5px; line-height: 1.45 }
.fd-insc-affil-texte b { color: var(--fd-bleu) }
.fd-insc-affil-bouton { flex: none; font-weight: 900; font-size: 14px; color: #fff; background: var(--fd-bleu); border-radius: 6px; padding: 10px 16px; text-decoration: none }
.fd-insc-affil-bouton:hover { color: #fff; background: #26315a }
.fd-insc-suite-tout { margin: 0; text-align: right }
.fd-insc-suite-tout a { font-weight: 700; color: var(--fd-rouge); text-decoration: none }
.fd-insc-erreur { color: var(--fd-rouge); font-size: 13.5px; margin: 0; display: none }
.fd-insc-erreur.on { display: block }

.fd-insc-aside { display: grid; gap: 14px }
.fd-insc-bloc { background: var(--fd-blanc); border-radius: 6px; padding: 20px 22px; display: grid; gap: 12px }
.fd-insc-bloc h2 { margin: 0; font-size: 15px; text-transform: uppercase; letter-spacing: .06em; color: var(--fd-bleu); font-weight: 900 }
.fd-insc-bloc ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px }
.fd-insc-bloc li { display: grid; grid-template-columns: 26px 1fr; gap: 8px; font-size: 14px; line-height: 1.4; margin: 0; padding: 0 }
.fd-insc-bloc li::before { content: none }
.fd-insc-bloc li b { display: block; font-size: 14.5px }
.fd-insc-puce { width: 26px; height: 26px; border-radius: 50%; background: var(--fd-choix); color: var(--fd-bleu); display: grid; place-items: center }
.fd-insc-lien { font-size: 13.5px; color: var(--fd-rouge); font-weight: 700; text-decoration: none }

@media (max-width: 760px) {
	.fd-insc-corps { grid-template-columns: minmax(0, 1fr); padding: 12px 0 24px; gap: 14px }
	.fd-insc-carte { padding: 22px 18px; gap: 18px }
	.fd-insc-carte h1 { font-size: 24px }
	.fd-insc-chapo { font-size: 15.5px }
	.fd-insc-saisie { flex-direction: column }
	.fd-insc-editions { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px }
	.fd-insc-ed img { width: 38px; height: 38px }
	.fd-insc-ed span { font-size: 13.5px }
	.fd-insc-envoi { justify-items: stretch }
	.fd-insc-bouton { width: 100% }
	.fd-insc-duo { grid-template-columns: minmax(0, 1fr) }
	.fd-insc .fd-insc-ag { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px }
	.fd-insc-etape2 .fd-insc-envoi2 { flex-direction: column; align-items: stretch }
}
