/* Immo refonte 2026 : organisation UI/UX - contenus (lot parallele) */
/* =====================================================================================
   Pages de mon lot (28/09/2026) : simulateurs, dossiers, Loi Lemoine, contrat de confiance, RGPD,
   mentions legales, actualites, simulateur de pret, Triple A, Clic & cheques.
   Portee : main.ux-page (classe posee dans les gabarits de ces pages seulement).
   Arrondis 7 px maximum. Identite Immo : encre #1F2021, texte #55595C, ligne #E6E4E0,
   fond chaud #F7F5F2, orange #EC7B35 / #B4531A, boutons orange a texte BLANC (regle d'Ahmed, 29/09/2026).
   ===================================================================================== */


/* ---------- 2. Pages longues (dossiers, mentions, RGPD...) : sommaire collant + largeur de lecture ----------
   Le sommaire est construit par /js/ux-contenus.js (ancres vers les h2) quand la page a au moins 3 intertitres.
   Ordinateur : <main> en grille, sommaire a gauche (colle sous l'en-tete), blocs a droite (~75 caracteres).
   Tablette / mobile : sommaire replie (menu deroulant) au-dessus du texte. */
.ux-sommaire { font-family: var(--font-sans, "Hanken Grotesk", system-ui, sans-serif); }
.ux-sommaire .ux-sommaire-titre:not(#if) { margin: 0 0 8px; padding: 0 10px; font-size: 13px; font-weight: 700; line-height: 1.3; color: var(--if-texte); }
.ux-sommaire ol:not(#if) { list-style: none; margin: 0; padding: 0; }
.ux-sommaire li:not(#if) { margin: 0; padding: 0; line-height: 1.3; }
.ux-sommaire li::marker { content: none; }
.ux-sommaire a:not(#if) {
  display: block; padding: 6px 10px; border-radius: 5px;
  font-size: 14px; font-weight: 600; line-height: 1.3; color: var(--if-encre); text-decoration: none !important;
  transition: background-color .15s ease;
}
.ux-sommaire a:not(#if):hover { background: var(--if-fond-chaud); color: var(--if-encre); }
.ux-sommaire a.ux-actif:not(#if), .ux-sommaire a.ux-actif:not(#if):hover { background: var(--color-orange, #EC7B35); box-shadow: none; color: var(--if-sur-orange, #fff); }
.ux-sommaire a:focus-visible { outline: 2px solid var(--if-encre); outline-offset: -2px; }
.ux-sommaire-plie { display: none; }
main.ux-doc h2[id] { scroll-margin-top: calc(var(--if-entete, 100px) + 24px); }

@media (min-width: 1101px) {
  main.ux-page.ux-avec-sommaire:not(#if) {
    display: grid; align-content: start;
    grid-template-columns: minmax(24px, 1fr) 260px 28px minmax(0, 1072px) minmax(24px, 1fr);
  }
  main.ux-avec-sommaire > *:not(#if) { grid-column: 4; }
  main.ux-avec-sommaire > :is(.avertisement-versement, h1, .if-hero):not(#if) { grid-column: 1 / -1; }
  main.ux-avec-sommaire > .ux-sommaire:not(#if) {
    grid-column: 2; grid-row: 3 / span 90; align-self: start;
    position: sticky; top: calc(var(--if-entete, 100px) + 20px); margin-top: 32px;
    max-height: calc(100vh - var(--if-entete, 100px) - 40px); overflow: auto; overscroll-behavior: contain; scrollbar-width: thin;
    padding: 14px 8px; background: #fff; border: 1px solid var(--if-ligne); border-radius: 7px;
  }
  main.ux-avec-sommaire > :is(section, div.container, p, div):not(.ux-sommaire):not(#if) { width: auto !important; max-width: none !important; margin-left: 0 !important; margin-right: 0 !important; }
  main.ux-avec-sommaire.if-int-dossier > :is(section, div.container):not(#if) { padding: 36px 44px !important; }
  main.ux-avec-sommaire.if-int-dossier > :is(h1, .if-hero) + :is(section, p, nav + section):not(#if),
  main.ux-avec-sommaire.if-int-dossier > .ux-sommaire + :is(section, p):not(#if) { margin-top: 32px !important; }
}
@media (max-width: 1100px) {
  main.ux-avec-sommaire > .ux-sommaire:not(#if) { width: var(--if-int-lecture); margin: 20px auto 0; }
  .ux-sommaire .ux-sommaire-titre, .ux-sommaire > ol { display: none; }
  .ux-sommaire-plie:not(#if) { display: block; background: #fff; border: 1px solid #BDBEBD; border-radius: 4px; }
  .ux-sommaire-plie > summary:not(#if) {
    display: flex; align-items: center; justify-content: space-between; min-height: 46px; padding: 0 14px;
    font-size: 15px; font-weight: 700; color: var(--if-encre); cursor: pointer; list-style: none;
  }
  .ux-sommaire-plie > summary::-webkit-details-marker { display: none; }
  .ux-sommaire-plie > summary::after { content: ""; width: 8px; height: 8px; border: solid var(--if-encre); border-width: 0 2px 2px 0; transform: rotate(45deg) translateY(-2px); transition: transform .15s; }
  .ux-sommaire-plie[open] > summary::after { transform: rotate(-135deg) translateY(-2px); }
  .ux-sommaire-plie > ol:not(#if) { padding: 4px 6px 8px; border-top: 1px solid var(--if-ligne); }
  main.ux-avec-sommaire.if-int-dossier > .ux-sommaire + :is(section, p):not(#if) { margin-top: 16px !important; }
}

/* ---------- 2 bis. Pages de contenu pleine largeur (29/09/2026) : sommaire | texte | colonne d'actions ----------
   Largeur totale 1360 px (comme l'en-tete et le bandeau). La colonne de droite (.ih-rail, gabarit rail_contenu.tpl)
   remplit le vide a droite du texte ; sans sommaire, le texte prend aussi la colonne du sommaire. */
@media (min-width: 1101px) {
  main.ux-page.if-int-dossier:not(#if):not(#ih) {
    display: grid; align-content: start;
    grid-template-columns: minmax(24px, 1fr) 250px 24px minmax(0, 772px) 24px 290px minmax(24px, 1fr);
  }
  main.ux-page.if-int-dossier > *:not(#if):not(#ih) { grid-column: 4; }
  main.ux-page.if-int-dossier:not(.ux-avec-sommaire) > *:not(#if):not(#ih) { grid-column: 2 / 5; }
  main.ux-page.if-int-dossier > :is(.avertisement-versement, h1, .if-hero, script):not(#if):not(#ih) { grid-column: 1 / -1; }
  main.ux-page.if-int-dossier > .ux-sommaire:not(#if):not(#ih) { grid-column: 2; }
  main.ux-page.if-int-dossier > .ih-rail:not(#if):not(#ih) {
    grid-column: 6; grid-row: 3 / span 90; align-self: start;
    position: sticky; top: calc(var(--if-entete, 100px) + 20px); margin-top: 32px;
  }
  main.ux-page.if-int-dossier > :is(section, div.container, p, div, nav):not(.ux-sommaire):not(#if):not(#ih) { width: auto !important; max-width: none !important; margin-left: 0 !important; margin-right: 0 !important; }
  main.ux-page.if-int-dossier > .ih-rail + :is(section, p, div, nav):not(#if):not(#ih),
  main.ux-page.if-int-dossier > .ux-sommaire + .ih-rail + :is(section, p, div, nav):not(#if):not(#ih) { margin-top: 32px !important; }
  main.ux-page.if-int-dossier > :is(section, div.container):not(#if):not(#ih) { padding: 32px 40px !important; }
}
@media (max-width: 1100px) { main.ux-page .ih-rail:not(#if) { display: none; } }

/* ---------- 3. Arrondis 7 px maximum dans les pages du lot ---------- */
main.ux-page.if-int-dossier > :is(section, div.container):not(#if),
main.ux-page .intro-site-avec-img:not(#if), main.ux-page section.container.bg-blanc:not(#if),
main.ux-page :is(.table, table[border], table.tableau):not(#if) { border-radius: 7px !important; }
main.ux-page section img:not([src$=".svg"]):not(#if), main.ux-page video:not(#if) { border-radius: 7px !important; }

/* ---------- 4. Bouton de l'outil de la page (simulateur, formulaire, etude gratuite) ----------
   Pose par /js/ux-contenus.js en tete du sommaire, ou sous le bandeau quand il n'y a pas de sommaire. */
.ux-outil:not(#if) { margin: 0 0 12px; padding: 0 2px 12px; border-bottom: 1px solid var(--if-ligne); }
.ux-outil a:not(#if) {
  display: flex; align-items: center; justify-content: center; min-height: 44px; padding: 8px 14px; border-radius: 4px;
  font-size: 15px; font-weight: 700; line-height: 1.25; text-align: center; text-decoration: none !important;
  background: #fff; border: 1px solid #BDBEBD; color: var(--if-encre);
  transition: background-color .15s, border-color .15s;
}
.ux-outil a:not(#if):hover { border-color: var(--if-encre); color: var(--if-encre); }
.ux-outil.ux-outil-principal a:not(#if) { background: var(--color-orange, #EC7B35); border-color: var(--color-orange, #EC7B35); color: var(--if-sur-orange, #fff); }
.ux-outil.ux-outil-principal a:not(#if):hover { background: var(--if-orange-survol, #CF5F1C); border-color: var(--if-orange-survol, #CF5F1C); color: var(--if-sur-orange, #fff); }
.ux-outil a:focus-visible { outline: 2px solid var(--if-encre); outline-offset: 2px; }
.ux-outil.ux-outil-seul:not(#if) { width: var(--if-int-lecture); margin: 24px auto 0; padding: 0; border: 0; display: flex; justify-content: flex-start; }
.ux-outil.ux-outil-seul a:not(#if) { display: inline-flex; }
main.ux-doc > .ux-outil-seul + :is(section, div.container, p):not(#if) { margin-top: 16px !important; }
@media (max-width: 1100px) {
  .ux-sommaire .ux-outil:not(#if) { margin: 0 0 10px; padding: 0; border: 0; }
  .ux-sommaire { display: flex; flex-direction: column; }
}
/* sous-titre place apres le titre (PTZ) : le sommaire s'intercale, on reprend le style "h1 + p" du design */
main.ux-doc > :is(.ux-sommaire, .ux-outil-seul) + p:not(#if) {
  width: var(--if-int-lecture); margin: 28px auto 0 !important;
  text-align: left !important; font-size: 20px !important; line-height: 1.4; font-weight: 600 !important; color: var(--if-encre) !important;
}
@media (max-width: 767px) { main.ux-doc > :is(.ux-sommaire, .ux-outil-seul) + p:not(#if) { font-size: 17px !important; margin-top: 18px !important; } }

/* ---------- 5. Actualites (actu/index.php) : recherche + compteur, grille dense ---------- */
.ux-visuel-cache { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.ux-actus-page .ux-actus:not(#if) { width: var(--if-int-largeur); margin: 24px auto 0; padding: 0; }
.ux-actus-outils { display: flex; align-items: center; justify-content: space-between; gap: 12px 20px; flex-wrap: wrap; margin: 0 0 16px; }
.ux-actus-recherche:not(#if) { flex: 1 1 360px; max-width: 520px; margin: 0; }
.ux-actus-recherche input:not(#if) {
  display: block; width: 100%; height: 46px; padding: 0 14px 0 40px; border: 1px solid #BDBEBD; border-radius: 4px;
  background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' fill='none' stroke='%2355595C' stroke-width='2' viewBox='0 0 24 24'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") 13px 50% no-repeat;
  font: 500 15px/1.2 var(--font-sans, "Hanken Grotesk", system-ui, sans-serif); color: var(--if-encre);
}
.ux-actus-recherche input:focus-visible { outline: 2px solid var(--if-encre); outline-offset: 2px; }
.ux-actus-compteur:not(#if) { margin: 0; font-size: 15px; color: var(--if-texte); }
.ux-actus-compteur strong:not(#if) { color: var(--if-encre); }
.ux-actus-grille:not(#if) { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.ux-actu:not(#if) { display: flex; flex-direction: column; gap: 8px; margin: 0; padding: 18px 20px; background: #fff; border: 1px solid var(--if-ligne); border-radius: 7px; box-shadow: var(--if-ombre); }
.ux-actu[hidden] { display: none !important; }
.ux-actu::marker { content: none; }
.ux-actu .ux-actu-date:not(#if) { margin: 0; font-size: 13px; font-weight: 600; color: var(--if-texte); }
.ux-actus .ux-actu-titre:not(#if) { margin: 0; font-size: 17.5px; line-height: 1.3; letter-spacing: -.01em; }
.ux-actu-titre a:not(#if) { color: var(--if-encre); text-decoration: none !important; }
.ux-actu-titre a:not(#if):hover { color: var(--if-orange-fonce); text-decoration: underline !important; text-underline-offset: 3px; }
.ux-actu .ux-actu-texte:not(#if) { margin: 0; font-size: 14.5px; line-height: 1.55; color: var(--if-texte); display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
.ux-actus-vide:not(#if) { margin: 8px 0 0; padding: 18px 20px; background: #fff; border: 1px dashed #BDBEBD; border-radius: 7px; font-size: 15px; color: var(--if-texte); }
@media (max-width: 1100px) { .ux-actus-grille:not(#if) { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px) { .ux-actus-grille:not(#if) { grid-template-columns: 1fr; gap: 12px; } .ux-actus-page .ux-actus:not(#if) { margin-top: 16px; } }

/* ---------- 6. Simulateur de pret (simulation.php) : formulaire + resultat au premier ecran ---------- */
.ux-carte:not(#if) { background: #fff; border: 1px solid var(--if-ligne); border-radius: 7px; box-shadow: var(--if-ombre); padding: 20px 22px; }
.ux-aide:not(#if) { margin: 0 0 10px; font-size: 13.5px; line-height: 1.45; color: var(--if-texte); }
.ux-simulation-page .ux-simulation:not(#if) {
  width: var(--if-int-largeur); margin: 20px auto 0; padding: 0; background: none;
  display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 20px; align-items: start;
}
.ux-simulation-gauche { display: grid; gap: 20px; min-width: 0; }
.ux-simulation .titreBloc:not(#if) { margin: 0 0 14px; padding: 0; background: none; font-size: 20px; font-weight: 700; line-height: 1.25; letter-spacing: -.02em; color: var(--if-encre); text-align: left; }
.ux-simulation .titreBloc span:not(#if) { background: none; padding: 0; color: inherit; }
.ux-simulation form:not(#if) { margin: 0; }
/* champs : 2 par ligne */
.ux-simulation .formToEtapeToo:not(#if) { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 16px; margin: 0; padding: 0; background: none; float: none; width: auto; }
.ux-simulation .contentFormInt:not(#if) { display: flex; flex-direction: column; gap: 6px; margin: 0; padding: 0; width: auto; float: none; background: none; }
.ux-simulation .contentFormInt label:not(#if) { margin: 0; padding: 0; width: auto; float: none; font-size: 14px; font-weight: 700; color: var(--if-encre); text-align: left; }
.ux-simulation .contentFormInt > p:not(#if) { display: flex; align-items: center; gap: 8px; margin: 0; padding: 0; float: none; width: auto; font-size: 15px; color: var(--if-texte); }
.ux-simulation .contentFormInt .inputFormulaire:not(#if) { flex: 1 1 auto; display: block; margin: 0; padding: 0; background: none; border: 0; width: auto; }
.ux-simulation .contentFormInt :is(input[type="text"], select):not(#if) {
  display: block; width: 100%; height: 44px; margin: 0; padding: 0 12px; border: 1px solid #BDBEBD; border-radius: 4px; background: #fff;
  font: 600 16px/1.2 var(--font-sans, "Hanken Grotesk", system-ui, sans-serif); color: var(--if-encre); box-shadow: none;
}
.ux-simulation .contentFormInt :is(input, select):focus-visible { outline: 2px solid var(--if-encre); outline-offset: 1px; border-color: var(--if-encre); }
.ux-simulation .contentFormInt input[readonly]:not(#if) { background: var(--if-fond-chaud); }
.ux-simulation .nextEtapeSimulateur:not(#if) { margin: 18px 0 0; padding: 0; text-align: left; background: none; float: none; }
.ux-simulation .nextEtapeSimulateur a:not(#if) { display: inline-block; padding: 0; margin: 0; box-shadow: none; transform: none; }
.ux-simulation .nextEtapeSimulateur input.bouton:not(#if) {
  display: inline-flex; align-items: center; justify-content: center; min-width: 180px; height: 46px; padding: 0 24px; margin: 0;
  border: 1px solid var(--color-orange, #EC7B35); border-radius: 4px; background: var(--color-orange, #EC7B35); background-image: none;
  font: 700 15px/1 var(--font-sans, "Hanken Grotesk", system-ui, sans-serif); color: var(--if-sur-orange, #fff); text-indent: 0; cursor: pointer;
}
.ux-simulation .nextEtapeSimulateur input.bouton:not(#if):hover { background: var(--if-orange-survol, #CF5F1C); border-color: var(--if-orange-survol, #CF5F1C); color: var(--if-sur-orange, #fff); }
.ux-simulation .champs_error { width: 16px; height: 16px; }
/* resultat : chiffres cles puis tableau d'amortissement defilant */
.ux-simulation-resultat #result_container .formToEtapeToo:not(#if) { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.ux-simulation-resultat .contentFormInt:not(#if) { padding: 12px 14px; background: var(--if-fond-chaud); border-radius: 5px; }
.ux-simulation-resultat .contentFormInt label:not(#if) { font-size: 13px; font-weight: 600; color: var(--if-texte); }
.ux-simulation-resultat .contentFormInt input[readonly]:not(#if) { height: auto; padding: 0; border: 0; background: none; font-size: 19px; font-weight: 700; letter-spacing: -.02em; }
.ux-simulation-resultat .contentFormInt > p:not(#if) { font-size: 15px; font-weight: 700; color: var(--if-encre); }
.ux-simulation-resultat .contentFormInt > p > span:only-child:not(#if) { font-size: 19px; letter-spacing: -.02em; }
.ux-simulation-resultat .refaireSimulForm:not(#if) { grid-column: 1 / -1; display: flex; justify-content: flex-end; margin: 0; padding: 0; background: none; }
.ux-simulation-resultat .refaireSimulForm .right:not(#if) { float: none; }
.ux-simulation-resultat .refaireSimulForm input.bouton:not(#if) {
  height: 38px; padding: 0 16px; border: 1px solid #BDBEBD; border-radius: 4px; background: #fff; background-image: none;
  font: 700 14px/1 var(--font-sans, "Hanken Grotesk", system-ui, sans-serif); color: var(--if-encre); cursor: pointer; text-indent: 0;
}
.ux-simulation-resultat .refaireSimulForm input.bouton:not(#if):hover { border-color: var(--if-encre); }
.ux-simulation-resultat #result_container > br { display: none; }
.ux-simulation .tableauSimulResult:not(#if) { max-height: 420px; overflow: auto; margin: 14px 0 0; border: 1px solid var(--if-ligne); border-radius: 5px; scrollbar-width: thin; }
.ux-simulation .tableauSimulResult table:not(#if) { width: 100%; border: 0; border-collapse: separate; border-spacing: 0; font-size: 14px; }
.ux-simulation .tableauSimulResult tr:first-child:not(#if) { background: none !important; }
.ux-simulation .tableauSimulResult th:not(#if) { position: sticky; top: 0; z-index: 1; padding: 10px 12px; background: var(--if-fond-chaud); border: 0; border-bottom: 1px solid var(--if-ligne); font-size: 13px; font-weight: 700; color: var(--if-encre); text-align: right; }
.ux-simulation .tableauSimulResult td:not(#if) { padding: 7px 12px; border: 0; border-bottom: 1px solid var(--if-ligne); color: var(--if-encre); text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.ux-simulation .tableauSimulResult :is(th, td):first-child:not(#if) { text-align: left; }
.ux-simulation .tableauSimulResult tr.impaire td:not(#if) { background: #FCFBF9; }
/* taux des partenaires */
.ux-simulation-taux .pressBloc:not(#if) { margin: 0 0 10px; font-size: 13.5px; color: var(--if-texte); }
.ux-simulation-taux .pressBloc a:not(#if) { color: var(--if-orange-fonce); font-weight: 700; text-decoration: underline !important; }
.ux-simulation-taux table:not(#if) { width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; }
.ux-simulation-taux th:not(#if) { padding: 7px 6px; border: 0; border-bottom: 1px solid var(--if-ligne); font-weight: 600; color: var(--if-encre); text-align: center; background: none; }
.ux-simulation-taux tr:first-child th:not(:first-child):not(#if) { cursor: pointer; color: var(--if-orange-fonce); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.ux-simulation-taux tr:first-child th:not(:first-child):not(#if):hover { background: #FBEFE7; }
.ux-simulation-taux th:first-child:not(#if) { text-align: left; color: var(--if-texte); font-size: 13px; }
.ux-simulation-taux tfoot td:not(#if) { padding: 10px 0 0; font-size: 12.5px; line-height: 1.45; color: var(--if-texte); }
@media (max-width: 1100px) {
  .ux-simulation-page .ux-simulation:not(#if) { grid-template-columns: minmax(0, 1fr); }
  .ux-simulation-resultat #result_container .formToEtapeToo:not(#if) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  .ux-carte:not(#if) { padding: 16px 14px; }
  .ux-simulation-taux { overflow-x: auto; }
  .ux-simulation .nextEtapeSimulateur input.bouton:not(#if) { width: 100%; }
}

/* ---------- 7. Boutons du lot (orange a texte fonce, 4 px) ---------- */
.ux-btn:not(#if) {
  display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: 10px 22px; border-radius: 4px;
  font: 700 15px/1.2 var(--font-sans, "Hanken Grotesk", system-ui, sans-serif); letter-spacing: normal; text-decoration: none !important; cursor: pointer;
  border: 1px solid #BDBEBD; background: #fff; color: var(--if-encre); transition: background-color .15s, border-color .15s;
}
.ux-btn.ux-btn-principal:not(#if) { background: var(--color-orange, #EC7B35); border-color: var(--color-orange, #EC7B35); color: var(--if-sur-orange, #fff); }
.ux-btn.ux-btn-principal:not(#if):hover { background: var(--if-orange-survol, #CF5F1C); border-color: var(--if-orange-survol, #CF5F1C); color: var(--if-sur-orange, #fff); }
.ux-btn:focus-visible { outline: 2px solid var(--if-encre); outline-offset: 2px; }

/* ---------- 8. Clic & Cheques (clic_et_cheque/index.php et formulaire.php) ---------- */
.ux-cheques-hero-texte { flex: 1 1 auto; min-width: 0; max-width: 780px; }
.ux-cheques-cta:not(#if) { margin: 16px 0 0; }
.ux-cheques-logo:not(#if) { flex: none; display: block; }
.ux-cheques-logo img:not(#if) { display: block; width: 268px; height: auto; border-radius: 7px; }
.ux-cheques:not(#if), .ux-cheques-form:not(#if) { width: var(--if-int-largeur); margin: 20px auto 0; padding: 0; }
.ux-cheques .ux-carte h2:not(#if), .ux-cheques-form .ux-carte h2:not(#if) { margin: 0 0 12px; font-size: 22px; }
.ux-cheques .ux-carte h3:not(#if) { margin: 18px 0 8px; font-size: 18px; }
.ux-cheques .ux-carte p:not(#if) { margin: 0 0 10px; font-size: 16px; line-height: 1.65; max-width: 75ch; }
.ux-cheques .ux-carte ul:not(#if) { margin: 0; padding-left: 1.2em; }
.ux-cheques .ux-carte li:not(#if) { margin: 0 0 8px; font-size: 16px; line-height: 1.6; }
.ux-cheques-intro:not(#if) { margin-bottom: 20px; }
.ux-cheques-cols { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; align-items: start; }
.ux-cheques-note:not(#if) { margin: 16px 0 0; font-size: 13.5px; color: var(--if-texte); }
.ux-cheques-bandeau:not(#if) { margin: 16px 0 0; text-align: center; }
.ux-cheques-bandeau img:not(#if) { max-width: 100%; height: auto; border-radius: 7px; }
/* formulaire devenir parrain */
.ux-cheques-form:not(#if) { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 20px; align-items: start; }
.ux-cheques-form form:not(#if) { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 16px; margin: 0; }
.ux-cheques-form .contentFormInt:not(#if) { display: flex; flex-direction: column; gap: 6px; margin: 0; padding: 0; float: none; width: auto; background: none; }
.ux-cheques-form .contentFormInt:has(.g-recaptcha), .ux-cheques-form .link_to { grid-column: 1 / -1; }
.ux-cheques-form .contentFormInt :is(label, .ux-champ-titre):not(#if) { margin: 0; padding: 0; width: auto; float: none; font-size: 14px; font-weight: 700; color: var(--if-encre); text-align: left; }
.ux-cheques-form .contentFormInt > p:not(#if) { margin: 0; padding: 0; float: none; width: auto; }
.ux-cheques-form .contentFormInt :is(input[type="text"], select):not(#if) {
  display: block; width: 100%; height: 40px; margin: 0; padding: 0 12px; border: 1px solid #BDBEBD; border-radius: 4px; background: #fff;
  font: 500 16px/1.2 var(--font-sans, "Hanken Grotesk", system-ui, sans-serif); color: var(--if-encre);
}
.ux-cheques-form .contentFormInt :is(input, select):focus-visible { outline: 2px solid var(--if-encre); outline-offset: 1px; }
.ux-cheques-form .link_to:not(#if) { margin: 4px 0 0; padding: 0; text-align: left; background: none; }
.ux-cheques-form .link_to input.ux-btn:not(#if) { min-width: 200px; }
.ux-cheques-form-aside:not(#if) { position: sticky; top: calc(var(--if-entete, 100px) + 20px); font-size: 15px; line-height: 1.6; }
.ux-cheques-form-aside p:not(#if) { margin: 0 0 12px; }
.ux-cheques-form-aside p:last-child:not(#if) { margin: 0; color: var(--if-encre); }
@media (max-width: 1100px) {
  .ux-cheques-form:not(#if) { grid-template-columns: minmax(0, 1fr); }
  .ux-cheques-form-aside:not(#if) { position: static; }
  .ux-cheques-logo { display: none !important; }
}
@media (max-width: 767px) {
  .ux-cheques-cols, .ux-cheques-form form:not(#if) { grid-template-columns: minmax(0, 1fr); }
  .ux-cheques-cta .ux-btn:not(#if) { width: 100%; }
}

/* ---------- 9. Anciennes pages de dossiers (dossiers_nouveau.php / cat_nouveau.php) : cadre lisible ----------
   Gabarits historiques (h1.titreBloc + .contentContenuPage) enveloppes dans main.ux-ancien :
   titre en bandeau court, texte dans une carte blanche en largeur de lecture. */
main.ux-ancien:not(#if) { padding-top: 0; }
main.ux-ancien :where(*) { font-family: inherit; }
main.ux-ancien > h1.titreBloc:not(#if), main.ux-ancien > .titreBloc:first-child:not(#if) {
  display: block; width: 100%; margin: 0 !important; padding: 32px max(32px, calc((100% - 1040px) / 2)) 28px !important;
  background: #fff !important; border-bottom: 1px solid var(--if-ligne); text-align: left !important;
  font-size: clamp(28px, 3vw, 40px) !important; line-height: 1.1; letter-spacing: -.035em; font-weight: 700; color: var(--if-encre) !important; text-transform: none !important;
}
main.ux-ancien > h1.titreBloc span:not(#if) { display: inline; padding: 0; background: none !important; color: inherit !important; font: inherit !important; }
main.ux-ancien > :is(.contentContenuPage, section, div):not(#if) {
  width: var(--if-int-lecture); max-width: none; margin: 16px auto 0 !important; float: none; font-size: 16px; line-height: 1.7; color: var(--if-texte);
}
main.ux-ancien > :is(.contentContenuPage, section):not(:has(> .pagination:only-child)):not(#if) {
  margin-top: 24px !important; padding: 36px 44px !important;
  background: #fff !important; border: 1px solid var(--if-ligne); border-radius: 7px; box-shadow: var(--if-ombre);
}
main.ux-ancien > .contentContenuPage:has(> .pagination:only-child):not(#if) { padding: 0 !important; background: none !important; border: 0; box-shadow: none; }
main.ux-ancien .pagination:not(#if) { justify-content: flex-end; margin: 0; padding: 0; border: 0; }
main.ux-ancien > div:not(.contentContenuPage):not(#if) { background: #fff; border: 1px solid var(--if-ligne); border-radius: 7px; padding: 16px 20px !important; }
main.ux-ancien > style + :is(.contentContenuPage, div) { margin-top: 24px !important; }
main.ux-ancien :is(h2, h3):not(#if) { color: var(--if-encre) !important; text-transform: none; }
main.ux-ancien img:not(#if) { max-width: 100%; height: auto; }
main.ux-ancien table:not(#if) { max-width: 100%; }
main.ux-ancien .contentContenuPage :is(p, div, span, td, li):not(#if) { max-width: 100%; }
@media (max-width: 767px) {
  main.ux-ancien > h1.titreBloc:not(#if) { padding: 20px 16px 18px !important; font-size: 26px !important; }
  main.ux-ancien > :is(.contentContenuPage, section):not(:has(> .pagination:only-child)):not(#if) { padding: 22px 16px !important; margin-top: 16px !important; overflow-x: auto; }
}
/* arrondis > 7 px herites du design existant, ramenes a 7 px sur les pages du lot (releves au controle du 28/09) */
main.ux-page :is(.reprise-lemoine .nav-item, .lemoine-detail-1, .left-a-verifier > div, .right-a-verifier, .benefice-tab-right, .benefice-lemoine .nav-tabs button, .d-flex.bg-gris-clair, .sectionRGPD > div):not(#if),
main.ux-page.if-int-dossier section p > a:not(#if),
main.ux-aaa :is(.spe-carte, .spe-aaa-piliers > li, .spe-aaa-photo, .spe-aaa-criteres > li, .spe-aaa-label, .spe-aaa-produits > a):not(#if) { border-radius: 7px !important; }
main.ux-page img.aaa-confiance:not(#if) { width: 110px; top: -44px; }
/* listes (dossier presse, editions speciales, paroles de franchises) : une ligne compacte par element */
main.ux-ancien > .contentContenuPage:has(> table):not(#if) { margin-top: 10px !important; padding: 14px 20px !important; }
main.ux-ancien > .contentContenuPage > table:not(#if) { border: 0 !important; border-radius: 0 !important; overflow: visible; }
main.ux-ancien > .contentContenuPage > table td:not(#if) { padding: 4px 12px 4px 0 !important; border: 0 !important; background: none !important; vertical-align: middle; }
main.ux-ancien > .contentContenuPage > table td.sep:not(#if) { display: none; }
@media (max-width: 1100px) { main.ux-page img.aaa-confiance:not(#if) { position: static; display: block; width: 96px; margin: 0 0 12px auto; } }
