/* Contrastes accessibles (01/10/2026, objectif 100 % Lighthouse) : l'orange vif #b4531a sous un texte blanc ou en texte
   sur fond clair ne donne que 2,8:1 (minimum 4,5:1). Les boutons et textes orange passent en orange fonce #B4531A (5:1) ;
   l'orange vif reste pour les fonds decoratifs, icones et bordures. Charge apres design.css. */
:root { --if-orange-texte: #B4531A; --if-orange-texte-survol: #963F10; }
.if-btn-principal:not(#if):not(#contraste) { background-color: var(--if-orange-texte); border-color: var(--if-orange-texte); }
.if-btn-principal:not(#if):not(#contraste):hover { background-color: var(--if-orange-texte-survol); border-color: var(--if-orange-texte-survol); }
.if-pied-fox:not(#if):not(#contraste) { background: var(--if-orange-texte); }
.if-pied-fox:not(#if):not(#contraste):hover { background: var(--if-orange-texte-survol); }
.if-pied-conseils-tete h2 span { color: var(--if-orange-texte); }

/* Texte blanc sur orange vif (2,8:1) -> orange fonce (5:1). Liste generee depuis design.css / minisites.css / design-formulaires.css. */
#popup_chat_bot .cb-send-btn:not(#if):not(#contraste),
#popup_chat_bot .cb-tab.cb-tab-active:not(#if):not(#contraste),
.if-btn-principal:not(#if):not(#contraste),
.if-entete-liens a.if-entete-etude:not(#if):not(#contraste),
.if-etapes li.active .numero:not(#contraste),
.if-int .filtre .form input[type=submit]:not(#if):not(#contraste),
.if-int .pagination a.active:not(#if):not(#contraste),
.if-int .reprise-lemoine>ul.nav>li>span:not(#if):not(#contraste),
.if-int :is(.devenir-parain,.faq-parrainage .container)>p>a.bg-orange:not(#if):not(#contraste),
.if-pied-fox:not(#if):not(#contraste),
.if-produit .ajout_credit a:not(#if):not(#contraste),
.if-produit a.btp_valider:not(#if):not(#contraste),
.if-recrut .BtProfil:not(#if):not(#contraste),
.if-saisie-complete .formEtape1>.titreBloc .etape1Bc:not(#if):not(#contraste),
.if-saisie-complete .nextEtape>a:not(#if):not(#contraste),
.if-saisie-detaillee .wizard-content .wizard>.actions>ul>li>a:not(#if):not(#contraste),
.rc-v4 .btn-primary:not(#if):not(#contraste),
.rc-v4 .rc-sous-nav .dropdown-item.active:not(#if):not(#contraste),
.rc-v4 .search-submit.btn:not(#if):not(#contraste),
.spe-aaa-label-titre b:not(#contraste),
.spe-aaa-piliers b:not(#contraste),
.spe-num:not(#contraste),
.spe-page .spe-appel-actions .if-btn-principal:not(#if):not(#contraste),
.spe-page form .if-btn-principal:not(#if):not(#contraste),
:is(#appel_immediat,#veux_ce_taux) .modal-footer .btn-primary:not(#if):not(#contraste),
:is(.if-int,.if-int~section) .depot-avis input[type=submit]:not(#if):not(#contraste),
form .if-ligne-bouton>:is(input[type=submit],input[type=button],button):not(#if):not(#contraste),
form button[type=reset]:not(#if):not(#contraste),
form button[type=submit]:not(#if):not(#contraste) { background-color: var(--if-orange-texte); border-color: var(--if-orange-texte); }
#popup_chat_bot .cb-send-btn:not(#if):not(#contraste):hover,
#popup_chat_bot .cb-tab.cb-tab-active:not(#if):not(#contraste):hover,
.if-btn-principal:not(#if):not(#contraste):hover,
.if-entete-liens a.if-entete-etude:not(#if):not(#contraste):hover,
.if-etapes li.active .numero:not(#contraste):hover,
.if-int .filtre .form input[type=submit]:not(#if):not(#contraste):hover,
.if-int .pagination a.active:not(#if):not(#contraste):hover,
.if-int .reprise-lemoine>ul.nav>li>span:not(#if):not(#contraste):hover,
.if-int :is(.devenir-parain,.faq-parrainage .container)>p>a.bg-orange:not(#if):not(#contraste):hover,
.if-pied-fox:not(#if):not(#contraste):hover,
.if-produit .ajout_credit a:not(#if):not(#contraste):hover,
.if-produit a.btp_valider:not(#if):not(#contraste):hover,
.if-recrut .BtProfil:not(#if):not(#contraste):hover,
.if-saisie-complete .formEtape1>.titreBloc .etape1Bc:not(#if):not(#contraste):hover,
.if-saisie-complete .nextEtape>a:not(#if):not(#contraste):hover,
.if-saisie-detaillee .wizard-content .wizard>.actions>ul>li>a:not(#if):not(#contraste):hover,
.rc-v4 .btn-primary:not(#if):not(#contraste):hover,
.rc-v4 .rc-sous-nav .dropdown-item.active:not(#if):not(#contraste):hover,
.rc-v4 .search-submit.btn:not(#if):not(#contraste):hover,
.spe-aaa-label-titre b:not(#contraste):hover,
.spe-aaa-piliers b:not(#contraste):hover,
.spe-num:not(#contraste):hover,
.spe-page .spe-appel-actions .if-btn-principal:not(#if):not(#contraste):hover,
.spe-page form .if-btn-principal:not(#if):not(#contraste):hover,
:is(#appel_immediat,#veux_ce_taux) .modal-footer .btn-primary:not(#if):not(#contraste):hover,
:is(.if-int,.if-int~section) .depot-avis input[type=submit]:not(#if):not(#contraste):hover,
form .if-ligne-bouton>:is(input[type=submit],input[type=button],button):not(#if):not(#contraste):hover,
form button[type=reset]:not(#if):not(#contraste):hover,
form button[type=submit]:not(#if):not(#contraste):hover { background-color: var(--if-orange-texte-survol); border-color: var(--if-orange-texte-survol); }

/* Police de secours aux dimensions de Hanken Grotesk (01/10/2026) : le texte ne bouge plus quand la police web arrive
   (decalage de mise en page CLS 0,19 sur l'accueil mobile). Mesures : largeur 99,6 % d'Arial, ascendante 1,00 em, descendante 0,30 em. */
@font-face { font-family: "Hanken Fallback"; src: local("Arial"), local("ArialMT"), local("Helvetica"); size-adjust: 99.6%; ascent-override: 100.4%; descent-override: 30.1%; line-gap-override: 0%; font-weight: 100 500; }
@font-face { font-family: "Hanken Fallback"; src: local("Arial Bold"), local("Arial-BoldMT"), local("Helvetica Bold"); size-adjust: 95.6%; ascent-override: 104.6%; descent-override: 31.4%; line-gap-override: 0%; font-weight: 600 900; }

/* Contenu decale sous l'en-tete fixe des le premier affichage (la hauteur reelle est publiee par le script place apres l'en-tete) */
body > header.fixed-top + :not(svg):not(script):not(style):not(link):not(.modal),
body > header.fixed-top + :is(svg, script, style, link) + :not(svg):not(script):not(style):not(link):not(.modal),
body > header.fixed-top + :is(svg, script, style, link) + :is(svg, script, style, link) + :not(svg):not(script):not(style):not(link):not(.modal) { margin-top: var(--if-entete, 0px); }
