/* IMMIMAX - le monde « Recueil de lois », 21 août 2026.
   L'accueil et les pages claires se lisent comme une disposition de loi
   annotée : l'article énonce, les notes marginales prouvent. Literata porte
   les dispositions (la police de lecture du thème, auto-hébergée), Manrope
   porte l'apparatus : numéros, notes, menu, boutons. Le chat garde son monde
   sombre ; seule la typographie des réponses le rejoint.
   Refusé : cartes ombrées, tuiles d'icônes, dégradés, bordures colorées épaisses,
   étiquettes au-dessus des titres. */

@font-face{font-family:"Literata";font-style:normal;font-weight:400;font-display:swap;
  src:url("/wp-content/themes/twentytwentyfive/assets/fonts/literata/Literata72pt-Regular.woff2") format("woff2");}
@font-face{font-family:"Literata";font-style:italic;font-weight:400;font-display:swap;
  src:url("/wp-content/themes/twentytwentyfive/assets/fonts/literata/Literata72pt-RegularItalic.woff2") format("woff2");}
@font-face{font-family:"Literata";font-style:normal;font-weight:600;font-display:swap;
  src:url("/wp-content/themes/twentytwentyfive/assets/fonts/literata/Literata72pt-SemiBold.woff2") format("woff2");}

:root{
  --immimax-serif:"Literata",Georgia,"Times New Roman",serif;
  --immimax-sans:"Manrope",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --immimax-verifie:#1f4e9c;
  --immimax-verifie-fond:#e8ecf7;
  --immimax-accent-fonce:#25306f;
  --immimax-mesure:68ch;
}

/* ------------------------------------------------------------------
   Surfaces du navigateur : ce qu'on n'a pas dessiné porte aussi le monde
   ---------------------------------------------------------------- */
body:not(.immimax-plein) ::selection{background:var(--immimax-verifie-fond);color:var(--immimax-encre);}
body:not(.immimax-plein) :focus-visible{outline:2px solid var(--immimax-accent);outline-offset:2px;border-radius:2px;}
body:not(.immimax-plein) a{text-underline-offset:3px;text-decoration-thickness:1px;}
body:not(.immimax-plein) a:hover{color:var(--immimax-accent-fonce);}

/* ------------------------------------------------------------------
   Monde clair : pages de contenu (tarifs, connexion, compte, légales)
   ---------------------------------------------------------------- */
body:not(.immimax-plein){font-family:var(--immimax-sans);}
body:not(.immimax-plein) .entry-content{
  max-width:var(--immimax-mesure);margin-inline:auto;
  font-family:var(--immimax-serif);font-size:17px;line-height:1.6;
}
body:not(.immimax-plein) .entry-content p,
body:not(.immimax-plein) .entry-content li{font-family:var(--immimax-serif);}
body:not(.immimax-plein) .entry-content h2,
body:not(.immimax-plein) .entry-content h3,
body:not(.immimax-plein) .entry-content h4{font-family:var(--immimax-sans);letter-spacing:-0.01em;}
body:not(.immimax-plein) .entry-content h2{font-size:22px;font-weight:700;margin:2.2em 0 .6em;}
body:not(.immimax-plein) .entry-content h3{font-size:18px;font-weight:700;margin:1.8em 0 .5em;}
body:not(.immimax-plein) .entry-content > p[style*="font-size:19px"]{font-size:19px;line-height:1.55;}

/* Le titre de page s'aligne sur la mesure du texte, au lieu de flotter à gauche. */
body:not(.immimax-plein) .wp-block-post-title,
body:not(.immimax-plein) h1.wp-block-post-title{
  font-family:var(--immimax-sans);font-weight:700;font-size:clamp(30px,4vw,40px);
  letter-spacing:-0.02em;line-height:1.1;
  max-width:var(--immimax-mesure);margin:40px auto 18px;
}
body:not(.immimax-plein) main{padding-bottom:56px;}

/* En-tête et pied : l'apparatus, en Manrope, sans soulignement au repos. */
header.wp-block-template-part p,header.wp-block-template-part a{font-family:var(--immimax-sans);}
body:not(.immimax-plein) header.wp-block-template-part a{text-decoration:none;font-weight:500;}
body:not(.immimax-plein) header.wp-block-template-part a:hover{text-decoration:underline;}
body:not(.immimax-plein) header.wp-block-template-part p:first-child a{font-weight:800;letter-spacing:-0.02em;}
footer.wp-block-template-part p{font-family:var(--immimax-sans);}
footer.wp-block-template-part a{text-decoration:underline;}

/* ------------------------------------------------------------------
   L'accueil du visiteur non connecté : le recueil
   ---------------------------------------------------------------- */
body.immimax-recueil .wp-block-post-title,
body.immimax-recueil .entry-header{display:none;}
body.immimax-recueil .entry-content{max-width:none;font-family:var(--immimax-sans);font-size:16px;}

.recueil{max-width:1080px;margin:0 auto;padding:0 20px 64px;}

.recueil-bandeau{padding:44px 0 22px;border-bottom:1px solid var(--immimax-trait);}
.recueil-bandeau-titre{
  font-family:var(--immimax-sans);font-weight:800;font-size:clamp(26px,3.2vw,32px);
  letter-spacing:-0.02em;line-height:1;margin:0 0 10px;color:var(--immimax-encre);
}
.recueil-bandeau-sous{
  font-family:var(--immimax-serif);font-size:clamp(18px,2vw,21px);line-height:1.45;
  max-width:52ch;margin:0 0 10px;color:var(--immimax-encre);
}
.recueil-bandeau-version{font-family:var(--immimax-sans);font-size:13px;color:var(--immimax-attenue);margin:0;}

.recueil-article{
  display:grid;grid-template-columns:220px minmax(0,var(--immimax-mesure));column-gap:44px;
  padding:40px 0 44px;border-bottom:1px solid var(--immimax-trait);align-items:start;
}
.recueil-article:last-child{border-bottom:0;}

/* Notes marginales : elles suivent la lecture sur ordinateur. */
.recueil-marge{position:sticky;top:calc(var(--immimax-entete) + 28px);}
.recueil-note{font-family:var(--immimax-sans);font-weight:700;font-size:14px;line-height:1.35;margin:6px 0 0;color:var(--immimax-encre);}
.recueil-note-sous{font-family:var(--immimax-sans);font-size:13px;line-height:1.5;margin:8px 0 0;color:var(--immimax-attenue);}

.recueil-titre{
  font-family:var(--immimax-sans);font-weight:700;font-size:22px;letter-spacing:-0.01em;
  line-height:1.25;margin:0 0 18px;color:var(--immimax-encre);
}
.recueil-titre .recueil-num{color:var(--immimax-accent);margin-right:.45em;font-variant-numeric:tabular-nums;}

/* Un alinéa de recueil : le numéro en retrait, le texte aligné. */
.recueil-al{
  font-family:var(--immimax-serif);font-size:18px;line-height:1.6;color:var(--immimax-encre);
  margin:0 0 14px;padding-left:2.8em;text-indent:-2.8em;
}
.recueil-al .recueil-num{
  display:inline-block;width:2.8em;text-indent:0;
  font-family:var(--immimax-sans);font-weight:600;font-size:15px;color:var(--immimax-accent);
  font-variant-numeric:tabular-nums;
}
.recueil-al strong{font-weight:600;}

/* La note d'entrée en vigueur : l'action. */
.recueil-vigueur{
  margin-top:26px;padding-top:22px;border-top:1px solid var(--immimax-trait);
  display:flex;align-items:center;gap:22px;flex-wrap:wrap;
}
.recueil-bouton,
.immimax-tarifs a.pmpro_btn,
body:not(.immimax-plein) a.pmpro_btn{
  display:inline-flex;align-items:center;justify-content:center;min-height:46px;
  padding:12px 24px;border-radius:6px;
  background:var(--immimax-accent)!important;color:#fff!important;
  font-family:var(--immimax-sans);font-weight:600;font-size:15px;line-height:1;text-decoration:none!important;
  border:0;transition:background-color .18s ease,transform .18s cubic-bezier(.22,1,.36,1);
}
.recueil-bouton:hover,.immimax-tarifs a.pmpro_btn:hover,body:not(.immimax-plein) a.pmpro_btn:hover{
  background:var(--immimax-accent-fonce)!important;color:#fff!important;
}
.recueil-bouton:active{transform:translateY(1px);}
.recueil-lien{font-family:var(--immimax-sans);font-weight:500;font-size:15px;color:var(--immimax-accent);}
.recueil-vigueur-note{flex-basis:100%;font-family:var(--immimax-sans);font-size:14px;line-height:1.5;color:var(--immimax-attenue);margin:4px 0 0;}

/* La démonstration : la question d'un confrère, puis la réponse. */
.recueil-question{
  font-family:var(--immimax-serif);font-style:italic;font-size:20px;line-height:1.5;
  color:var(--immimax-encre);margin:0 0 18px;
}
.recueil-reponse{
  border-top:1px solid var(--immimax-trait);padding-top:18px;
  font-family:var(--immimax-serif);font-size:17.5px;line-height:1.6;color:var(--immimax-encre);
  animation:recueil-promulguer .6s cubic-bezier(.22,1,.36,1) .25s both;
}
.recueil-reponse p{margin:0 0 14px;}
.recueil-reponse strong{font-weight:600;}
@keyframes recueil-promulguer{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:none;}}
@media (prefers-reduced-motion:reduce){.recueil-reponse{animation:none;}}

.recueil-sources{
  margin-top:20px;padding:16px 20px 14px;background:var(--immimax-surface);
  border:1px solid var(--immimax-trait);border-radius:4px;
}
.recueil-sources-titre{
  font-family:var(--immimax-sans);font-weight:700;font-size:12.5px;letter-spacing:.04em;text-transform:uppercase;
  color:var(--immimax-attenue);margin:0 0 8px;
}
.recueil-sources ol{margin:0;padding-left:1.4em;font-family:var(--immimax-sans);font-size:15px;line-height:1.5;}
.recueil-sources li{margin:0 0 10px;}
.recueil-sources li:last-child{margin-bottom:0;}
.recueil-sources a{font-weight:500;}
.recueil-adresse{display:block;font-size:12.5px;color:var(--immimax-attenue);word-break:break-all;margin-top:2px;}

/* Le tampon : l'état vérifié est une marque, pas un gris. */
.recueil-verifie{
  display:inline-block;margin:18px 0 0;padding:7px 11px;border-radius:4px;
  font-family:var(--immimax-sans);font-weight:700;font-size:13px;letter-spacing:.01em;
  color:var(--immimax-verifie);background:var(--immimax-verifie-fond);
}
.recueil-non-verifie{font-family:var(--immimax-sans);font-size:14px;line-height:1.5;color:var(--immimax-attenue);margin:12px 0 0;}

/* ------------------------------------------------------------------
   Tarifs : deux dispositions côte à côte, un filet entre elles.
   (Vaut pour la page /tarifs/ et pour l'article 4 de l'accueil.)
   ---------------------------------------------------------------- */
.immimax-tarifs{
  display:grid;grid-template-columns:1fr 1fr;gap:0;
  border-top:1px solid var(--immimax-trait);border-bottom:1px solid var(--immimax-trait);
  margin:8px 0 0;
}
.immimax-tarifs .immimax-tarif{
  background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0!important;
  padding:26px 32px 28px 0!important;margin:0!important;
}
.immimax-tarifs .immimax-tarif + .immimax-tarif{padding-left:32px!important;border-left:1px solid var(--immimax-trait)!important;}
.immimax-tarifs .immimax-tarif.est-actuel{background:var(--immimax-surface)!important;}
.immimax-tarif-nom{
  font-family:var(--immimax-sans)!important;font-weight:700!important;font-size:15px!important;
  letter-spacing:0!important;margin:0 0 6px!important;color:var(--immimax-attenue)!important;
}
.immimax-tarif-prix{
  font-family:var(--immimax-serif)!important;font-weight:600!important;font-size:34px!important;
  line-height:1.1!important;margin:0 0 16px!important;color:var(--immimax-encre)!important;letter-spacing:-0.01em;
}
.immimax-tarif-detail ul{margin:0 0 22px!important;padding-left:1.15em!important;}
.immimax-tarif-detail li{font-family:var(--immimax-serif);font-size:16.5px;line-height:1.5;margin:0 0 7px;}
.immimax-tarif p:last-child{margin-bottom:0!important;}
.immimax-tarif-actuel{font-family:var(--immimax-sans);font-weight:600;color:var(--immimax-accent);}

/* ------------------------------------------------------------------
   Pages PMPro (connexion, compte, abonnement) : même papier, même encre.
   ---------------------------------------------------------------- */
body:not(.immimax-plein) .pmpro_card,
body:not(.immimax-plein) .pmpro_login_wrap .pmpro_card{
  background:var(--immimax-surface);border:1px solid var(--immimax-trait);border-radius:6px;box-shadow:none;
}
body:not(.immimax-plein) .pmpro_card_title,
body:not(.immimax-plein) .pmpro_section_title,
body:not(.immimax-plein) .pmpro_font-large{font-family:var(--immimax-sans);letter-spacing:-0.01em;}
body:not(.immimax-plein) .pmpro_form_input,
body:not(.immimax-plein) .pmpro_form_input-text,
body:not(.immimax-plein) input[type=text],
body:not(.immimax-plein) input[type=email],
body:not(.immimax-plein) input[type=password],
body:not(.immimax-plein) input[type=tel],
body:not(.immimax-plein) textarea,
body:not(.immimax-plein) select{
  font-family:var(--immimax-sans);font-size:16px;border:1px solid var(--immimax-trait);border-radius:6px;
  background:#fff;color:var(--immimax-encre);min-height:44px;
}
body:not(.immimax-plein) input:focus,body:not(.immimax-plein) textarea:focus,body:not(.immimax-plein) select:focus{
  border-color:var(--immimax-accent);box-shadow:0 0 0 3px var(--immimax-verifie-fond);outline:none;
}
body:not(.immimax-plein) label{font-family:var(--immimax-sans);font-weight:600;}

/* ------------------------------------------------------------------
   Le chat garde son monde sombre ; ses réponses prennent la police de lecture.
   ---------------------------------------------------------------- */
.mwai-chatgpt-theme .mwai-reply.mwai-ai .mwai-text{
  font-family:var(--immimax-serif);font-size:16.5px;line-height:1.6;
}
.mwai-chatgpt-theme .mwai-reply.mwai-ai .mwai-text h1,
.mwai-chatgpt-theme .mwai-reply.mwai-ai .mwai-text h2,
.mwai-chatgpt-theme .mwai-reply.mwai-ai .mwai-text h3,
.mwai-chatgpt-theme .mwai-reply.mwai-ai .mwai-text strong{font-family:var(--immimax-sans);}
.mwai-chatgpt-theme .mwai-reply.mwai-ai .mwai-text a{text-decoration:underline;text-underline-offset:3px;}
.mwai-chatgpt-theme .mwai-reply.mwai-ai .mwai-text p.immimax-verifie{
  display:inline-block;margin-top:6px;padding:6px 10px;border-radius:4px;
  font-family:var(--immimax-sans);font-weight:700;font-size:13px;color:#b9c7ef;background:#262c44;
}

/* ------------------------------------------------------------------
   Téléphone : les notes marginales passent au-dessus des paragraphes
   ---------------------------------------------------------------- */
@media (max-width:900px){
  .recueil{padding:0 18px 48px;}
  .recueil-bandeau{padding:30px 0 18px;}
  .recueil-bandeau-sous{font-size:18px;}
  .recueil-article{grid-template-columns:1fr;row-gap:10px;padding:30px 0 34px;}
  .recueil-marge{position:static;}
  .recueil-note{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--immimax-attenue);margin:0;}
  .recueil-note-sous{margin-top:6px;}
  .recueil-titre{font-size:20px;margin-bottom:14px;}
  .recueil-al{font-size:17px;padding-left:2.4em;text-indent:-2.4em;}
  .recueil-al .recueil-num{width:2.4em;font-size:14px;}
  .recueil-question{font-size:18.5px;}
  .recueil-reponse{font-size:17px;}
  .recueil-vigueur{gap:14px;}
  .recueil-bouton{width:100%;}
  .recueil-lien{width:100%;text-align:center;}
  .immimax-tarifs{grid-template-columns:1fr;}
  .immimax-tarifs .immimax-tarif{padding:24px 0!important;}
  .immimax-tarifs .immimax-tarif + .immimax-tarif{padding-left:0!important;border-left:0!important;border-top:1px solid var(--immimax-trait)!important;}
  body:not(.immimax-plein) .wp-block-post-title,
  body:not(.immimax-plein) h1.wp-block-post-title{margin:28px auto 14px;padding:0 18px;}
  body:not(.immimax-plein) .entry-content{padding:0 18px;font-size:16.5px;}
}

/* ------------------------------------------------------------------
   Spécificité et gabarit du thème : ce que le premier rendu a révélé
   (21 août 2026). La règle générale des pages mettait tous les <p> en
   Literata, y compris le titre du bandeau ; et le thème empile marge de
   main, rembourrage du groupe et rembourrage du contenu, soit 66 px de
   marge gauche sur 375 px et plus de 100 px de vide au-dessus du bandeau.
   ---------------------------------------------------------------- */
body.immimax-recueil main{margin-top:0!important;}
body.immimax-recueil main > .wp-block-group{padding-top:0!important;}
body.immimax-recueil .entry-content{padding:0!important;margin-top:0!important;}
.recueil{padding:0 0 64px;}

/* Le chat ne doit rien laisser traîner sur la présentation. */
body.immimax-recueil .immimax-bouton-liste,
body.immimax-recueil .immimax-colonne,
body.immimax-recueil .immimax-deplier{display:none!important;}

/* Polices : l'apparatus en Manrope, les dispositions en Literata, quoi que dise la règle des pages. */
body.immimax-recueil .entry-content p,
body.immimax-recueil .entry-content li{font-family:var(--immimax-sans);}
body.immimax-recueil .entry-content .recueil-bandeau-sous,
body.immimax-recueil .entry-content .recueil-al,
body.immimax-recueil .entry-content .recueil-question,
body.immimax-recueil .entry-content .recueil-reponse p,
body.immimax-recueil .entry-content .immimax-tarif-detail li,
body.immimax-recueil .entry-content .immimax-tarif-prix{font-family:var(--immimax-serif);}
body.immimax-recueil .entry-content .recueil-al .recueil-num,
body.immimax-recueil .entry-content .recueil-titre .recueil-num{font-family:var(--immimax-sans);}
body.immimax-recueil .entry-content .recueil-bandeau-titre{font-family:var(--immimax-sans);}

/* Le bandeau colle un peu plus à l'en-tête : le premier écran doit montrer l'article. */
.recueil-bandeau{padding-top:34px;}
@media (max-width:900px){
  .recueil{padding:0 0 48px;}
  .recueil-bandeau{padding-top:22px;}
}

/* Deuxième passe : la règle des pages posait 2,2 em au-dessus de chaque h2,
   donc 48 px de vide entre la note marginale et le titre de l'article ; et
   68 ch de Literata font 92 caractères réels, la mesure redescend à 60 ch. */
body.immimax-recueil .entry-content .recueil-titre{margin:0 0 18px;}
:root{--immimax-mesure:60ch;}

/* Troisième passe : le tampon tombait en Literata (règle des pages), et les
   boutons PMPro des tarifs gardaient 66 px de haut, leur rembourrage propre
   s'ajoutant au nôtre. */
body.immimax-recueil .entry-content .recueil-verifie,
body.immimax-recueil .entry-content .recueil-non-verifie,
body.immimax-recueil .entry-content .recueil-sources li,
body.immimax-recueil .entry-content .recueil-vigueur-note{font-family:var(--immimax-sans);}
.immimax-tarifs a.pmpro_btn,
body:not(.immimax-plein) a.pmpro_btn{padding:12px 24px!important;line-height:1!important;min-height:46px!important;height:auto!important;}

/* Quatrième passe, pages de contenu : le thème pose 70 px de marge sur main
   et 70 px de rembourrage sur son groupe, soit 140 px de vide avant le titre ;
   le titre de page garde la largeur « wide » du thème et ne s'aligne pas sur
   le texte. La mesure passe en rem pour que titre et texte partagent la même. */
:root{--immimax-mesure:38rem;}
body:not(.immimax-plein) main{margin-top:0!important;}
body:not(.immimax-plein) main > .wp-block-group{padding-top:28px!important;}
body:not(.immimax-plein) main > .wp-block-group .wp-block-post-title,
body:not(.immimax-plein) .wp-block-post-title{
  max-width:var(--immimax-mesure)!important;margin-left:auto!important;margin-right:auto!important;
  margin-top:20px!important;margin-bottom:18px!important;
}
/* La page Tarifs respire plus large que la mesure de lecture ; son intro, non. */
body:not(.immimax-recueil) .entry-content:has(.immimax-tarifs){max-width:54rem;}
body:not(.immimax-recueil) .entry-content:has(.immimax-tarifs) > p{max-width:var(--immimax-mesure);}
.immimax-tarif-prix{white-space:nowrap;font-size:30px!important;}
@media (max-width:900px){
  body:not(.immimax-plein) main > .wp-block-group{padding-top:16px!important;}
  .immimax-tarif-prix{white-space:normal;}
}

/* Cinquième passe : le bouton PMPro est en content-box (46 px + 24 px de
   rembourrage = 70 px) ; et le thème borne chaque enfant direct du contenu à
   sa content-size, ce qui écrase la grille des tarifs à 645 px. */
.recueil-bouton,.immimax-tarifs a.pmpro_btn,body:not(.immimax-plein) a.pmpro_btn{box-sizing:border-box!important;}
body:not(.immimax-recueil) .entry-content:has(.immimax-tarifs) > .immimax-tarifs{max-width:none!important;}
:root{--immimax-mesure:36rem;} /* 87 caractères mesurés à 38 rem ; 36 rem vise 78-80 */

/* Sixième passe, pages PMPro : les liens d'action sous la carte sont de
   l'apparatus (Manrope), et le titre se centre au-dessus d'un formulaire
   plus étroit que la mesure. */
body:not(.immimax-plein) .pmpro_actions_nav,
body:not(.immimax-plein) .pmpro_actions_nav a,
body:not(.immimax-plein) .pmpro_card .pmpro_form_field,
body:not(.immimax-plein) .pmpro_card label,
body:not(.immimax-plein) .pmpro_card p{font-family:var(--immimax-sans);}
body:not(.immimax-plein) .pmpro_login_wrap ~ *,
body.page-id-2427 .wp-block-post-title,
body.page-id-2420 .wp-block-post-title,
body.page-id-2423 .wp-block-post-title{text-align:center;}

/* ==================================================================
   Après la revue de finition (21 août 2026, disposition : fix).
   1. La preuve vit en marge, à côté de la réponse, comme la thèse le dit.
   2. Le premier écran tient à 1280×800.
   3. La feuille de papier blanc promise par OWN-WORLD, posée sur le fond.
   5. L'oeil du mot de passe reprend l'encre du site.
   6. Plus d'étiquette en capitales au-dessus d'un titre sur téléphone.
   7. La preuve se lit : adresses et réserve en encre, pas en gris 12 px.
   8. L'animation joue quand la réponse entre dans l'écran, pas avant.
   ================================================================== */

/* 3. La feuille */
body.immimax-recueil .recueil{
  background:var(--immimax-surface);border:1px solid var(--immimax-trait);border-top:0;
  max-width:1080px;padding:0 44px 56px;
}
body:not(.immimax-recueil) .entry-content:has(.immimax-tarifs){
  background:var(--immimax-surface);border:1px solid var(--immimax-trait);border-radius:4px;
  padding:6px 40px 36px;margin-top:8px;
}

/* Bloc-titre de recueil : la phrase longue est la ligne d'affichage, le mot-symbole reste dans l'en-tête. */
body.immimax-recueil .entry-content .recueil-bandeau-titre{
  font-family:var(--immimax-serif);font-weight:600;font-size:clamp(24px,2.6vw,32px);line-height:1.22;
  letter-spacing:-0.01em;max-width:30ch;margin:0 0 10px;
}
body.immimax-recueil .entry-content .recueil-bandeau-version{font-family:var(--immimax-sans);font-size:14px;color:var(--immimax-attenue);margin:0;}
.recueil-bandeau{padding:26px 0 18px;}

/* 1. Deux rangées : la note en haut de la marge, la preuve dessous, collante ; le corps sur les deux. */
.recueil-article{
  grid-template-columns:260px minmax(0,var(--immimax-mesure));grid-template-rows:auto 1fr;
  column-gap:44px;row-gap:0;padding:28px 0 32px;
}
#article-4{grid-template-columns:260px minmax(0,54rem);}
.recueil-marge{grid-column:1;grid-row:1;}
.recueil-corps{grid-column:2;grid-row:1 / span 2;}
.recueil-corps-large{max-width:none;}
.recueil-preuve{
  grid-column:1;grid-row:2;align-self:start;
  position:sticky;top:calc(var(--immimax-entete) + 28px);
  padding-top:14px;
}
.recueil-vigueur{margin-top:18px;padding-top:16px;}

/* 7. La preuve, lisible */
body.immimax-recueil .entry-content .recueil-note-sous{font-family:var(--immimax-sans);font-size:14px;line-height:1.5;color:var(--immimax-encre);margin:0 0 12px;}
body.immimax-recueil .entry-content .recueil-sources-titre{
  font-family:var(--immimax-sans);font-weight:700;font-size:14px;letter-spacing:0;text-transform:none;
  color:var(--immimax-encre);margin:0 0 6px;
}
.recueil-preuve .recueil-sources{margin:0 0 12px;padding-left:1.2em;font-family:var(--immimax-sans);font-size:14.5px;line-height:1.5;background:transparent;border:0;}
.recueil-preuve .recueil-sources li{margin:0 0 10px;}
.recueil-preuve .recueil-sources a{font-weight:600;color:var(--immimax-accent);}
.recueil-preuve .recueil-adresse{display:block;font-size:13.5px;line-height:1.4;color:var(--immimax-accent-fonce);word-break:break-all;margin-top:3px;}
body.immimax-recueil .entry-content .recueil-verifie{
  display:inline-block;margin:0 0 12px;padding:6px 10px;border-radius:3px;
  background:transparent;border:1.5px solid var(--immimax-verifie);
  font-family:var(--immimax-sans);font-weight:700;font-size:12.5px;letter-spacing:.04em;text-transform:uppercase;
  color:var(--immimax-verifie);
}
body.immimax-recueil .entry-content .recueil-non-verifie{font-family:var(--immimax-sans);font-size:15px;line-height:1.5;color:var(--immimax-encre);margin:0;}

/* 8. Motion : visible par défaut ; masquée seulement quand le script est là pour la révéler. */
.recueil-reponse{animation:none;opacity:1;transform:none;}
html.immimax-js .recueil-reponse:not(.est-visible){opacity:0;transform:translateY(10px);}
html.immimax-js .recueil-reponse.est-visible{animation:recueil-promulguer .6s cubic-bezier(.22,1,.36,1) both;}
@media (prefers-reduced-motion:reduce){
  html.immimax-js .recueil-reponse,html.immimax-js .recueil-reponse:not(.est-visible){opacity:1;transform:none;animation:none;}
}

/* 5. Connexion : l'oeil du mot de passe en encre du site, sans bordure ni pointillé. */
body:not(.immimax-plein) .pmpro_form_field-password-toggle,
body:not(.immimax-plein) .pmpro_form_field-password-toggle .pmpro_btn{
  border:0!important;outline:0!important;background:transparent!important;box-shadow:none!important;
  color:var(--immimax-accent)!important;
}
body:not(.immimax-plein) .pmpro_form_field-password-toggle .pmpro_btn svg,
body:not(.immimax-plein) .pmpro_form_field-password-toggle .pmpro_btn svg *{
  fill:currentColor!important;stroke:currentColor!important;color:var(--immimax-accent)!important;
}
body:not(.immimax-plein) .pmpro_form_field-password-toggle .pmpro_btn:focus-visible{outline:2px solid var(--immimax-accent)!important;outline-offset:2px!important;}

/* Téléphone : une colonne, la note marginale disparaît (le titre la porte), la preuve suit la réponse. */
@media (max-width:900px){
  body.immimax-recueil .recueil{border:0;padding:0 18px 48px;max-width:none;}
  body:not(.immimax-recueil) .entry-content:has(.immimax-tarifs){padding:4px 18px 24px;}
  .recueil-bandeau{padding:18px 0 16px;}
  body.immimax-recueil .entry-content .recueil-bandeau-titre{font-size:23px;max-width:none;}
  .recueil-article,#article-4{grid-template-columns:1fr;grid-template-rows:auto;padding:24px 0 28px;}
  .recueil-marge{grid-column:1;grid-row:1;}
  .recueil-corps{grid-column:1;grid-row:2;}
  .recueil-preuve{grid-column:1;grid-row:3;position:static;border-top:1px solid var(--immimax-trait);padding-top:14px;margin-top:10px;}
  .recueil-note{display:none;}
  .recueil-preuve-vigueur{display:none;}
}

/* Après recapture : le bloc-titre prenait quatre lignes et repoussait l'Article 2
   sous le pli à 1280×800 ; son interligne 1,22 était sous le plancher de 1,3 ;
   et les adresses de la marge se coupaient lettre à lettre. */
body.immimax-recueil .entry-content .recueil-bandeau-titre{
  font-size:clamp(21px,2.1vw,26px);line-height:1.3;max-width:44ch;margin:0 0 8px;
}
.recueil-bandeau{padding:20px 0 14px;}
.recueil-article{padding:24px 0 28px;}
.recueil-preuve .recueil-adresse{word-break:normal;overflow-wrap:anywhere;}
@media (max-width:900px){
  body.immimax-recueil .entry-content .recueil-bandeau-titre{font-size:21px;line-height:1.3;}
}

/* Toggle du mot de passe, corrigé après recapture : l'oeil PMPro est un trait
   (stroke), pas une surface ; et son libellé « Voir mot de passe » ne doit
   être lu que par les lecteurs d'écran. */
body:not(.immimax-plein) .pmpro_form_field-password-toggle .pmpro_btn svg,
body:not(.immimax-plein) .pmpro_form_field-password-toggle .pmpro_btn svg *{
  fill:none!important;stroke:var(--immimax-accent)!important;
}
body:not(.immimax-plein) .pmpro_form_field-password-toggle .pmpro_icon-eye{display:block;width:20px;height:20px;}
body:not(.immimax-plein) .pmpro_form_field-password-toggle-state{
  position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;
  padding:0!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;
  white-space:nowrap!important;border:0!important;
}
body.immimax-recueil .entry-content .recueil-bandeau-titre{line-height:1.32;} /* 1,30 arrondi sous le plancher par le détecteur */

/* Restes du verdict (21 août 2026) : la mention « Entrée en vigueur » se place
   à hauteur du bouton qu'elle annote ; sur Tarifs, l'intro et le titre
   s'alignent sur le bord gauche de la feuille ; le champ mot de passe prend
   toute la largeur de sa ligne comme l'identifiant. */
.recueil-preuve-vigueur{align-self:end;position:static;padding-top:0;padding-bottom:52px;}
body:not(.immimax-recueil) .entry-content:has(.immimax-tarifs) > p{margin-left:0;margin-right:auto;}
body.page-id-2426 .wp-block-post-title,
body.page-id-2426 main > .wp-block-group .wp-block-post-title{max-width:54rem!important;padding-left:40px;}
.pmpro_login_wrap .login-password{padding:0!important;gap:0 !important;column-gap:0!important;width:100%!important;}
.pmpro_login_wrap .login-password input[type=password],
.pmpro_login_wrap .login-password input[type=text]{width:100%!important;max-width:none!important;margin:0!important;min-width:0!important;}
@media (max-width:900px){
  body.page-id-2426 .wp-block-post-title{padding-left:18px;}
}

/* Tarifs, dernier alignement : le thème force margin auto sur les enfants
   contraints (l'intro restait centrée), et le titre porte déjà le rembourrage
   de la feuille, pas besoin d'en ajouter. */
body:not(.immimax-recueil) .entry-content:has(.immimax-tarifs) > p{margin-left:0!important;margin-right:auto!important;}
body.page-id-2426 .wp-block-post-title,
body.page-id-2426 main > .wp-block-group .wp-block-post-title{padding-left:0;}
