/* Pages d'information Signature (refonte 2026, maquettes page-signature.css et consultation-info-signature.css) : documents
   (pages CMS, documents légaux) et centre des documents légaux. Bandeau et fil d'Ariane : socle (signature.css). */

.ip-heading p{max-width:65ch}

/* Sommaire à gauche, texte de lecture (740 px) à droite */
.ip-layout{display:grid;grid-template-columns:245px minmax(0,740px);justify-content:space-between;gap:64px;max-width:1160px;margin:48px auto 0}
.ip-layout-single{grid-template-columns:minmax(0,740px);justify-content:center}
.ip-sidebar{align-self:start;position:sticky;top:115px}
.ip-index{border-top:1px solid #cdbfd1}
.ip-index summary{padding:18px 0;font:500 13px/1.5 'Work Sans',sans-serif;color:#4c3855;list-style:none;cursor:pointer}
.ip-index summary::-webkit-details-marker{display:none}
.ip-index summary>span{display:none}
.ip-index nav{display:flex;flex-direction:column;gap:3px;padding:0 0 16px}
.ip-index nav a{border-left:2px solid transparent;padding:7px 12px;font:400 12px/1.5 'Work Sans',sans-serif;color:#746778;transition:background .15s,color .15s}
.ip-index nav a:hover,.ip-index nav a[aria-current]{border-left-color:var(--cv-purple);background:var(--cv-lilac);color:#51395c}
.ip-index nav .ip-index-part{margin-top:12px;font-weight:500;color:#4c3855}
.ip-index nav .ip-index-part:first-child{margin-top:0}
.ip-back{display:inline-block;margin-top:20px;font-size:12px;color:var(--cv-purple)}
.ip-sidebar .cv-button{margin-top:20px}
.ip-sidebar :is(a,button,summary):focus-visible{outline:2px solid var(--cv-purple);outline-offset:4px}

/* Texte du document : HTML de l'administration ou du gabarit, présenté sans le modifier */
.ip-content{min-width:0;color:#5e5361;font:400 14px/1.95 'Work Sans',sans-serif;overflow-wrap:anywhere}
.ip-content h2{margin:36px 0 20px;padding-top:30px;border-top:1px solid var(--cv-line);font:400 27px/1.35 'Lora',serif;letter-spacing:-.015em;color:#48354f}
.ip-content h2:first-child{margin-top:0}
.ip-content h2.ip-part{margin-top:56px;padding-top:40px;border-top:2px solid #cdbfd1;font-size:34px;color:#3e4b39}
.ip-content h3{margin:23px 0 12px;font:500 15px/1.5 'Work Sans',sans-serif;color:#48354f}
.ip-content p{margin:0 0 17px}
.ip-content :is(b,strong){font-weight:500;color:#48354f}
.ip-content a{color:var(--cv-purple);text-decoration:underline;text-underline-offset:3px}
.ip-content a:focus-visible{outline:2px solid var(--cv-purple);outline-offset:4px}
.ip-content :is(ul,ol){margin:0 0 17px;padding-left:22px}
.ip-content li{margin-bottom:8px}
.ip-content img{display:block;max-width:100%;height:auto;margin:20px auto}
.ip-content table{width:100%;table-layout:fixed;border-collapse:collapse;margin:20px 0;font-size:12px}
.ip-content :is(td,th){padding:10px;border:1px solid var(--cv-line);vertical-align:top}
.ip-content td img{margin:0 auto}
.ip-content blockquote{margin:0 0 17px;padding:10px 20px;border-left:2px solid #ad95b4;background:var(--cv-lilac)}
/* Intertitres des documents légaux, écrits en italique souligné dans un paragraphe */
.ip-content p:has(>i:only-child>u:only-child){margin-top:23px;font-weight:500;color:#48354f}
.ip-content p>i:only-child>u:only-child{text-decoration:none}
/* Tableau des finalités de la charte de confidentialité : catégories de données (pictogramme et nom) */
.ip-table{margin:20px 0}
.ip-data-categories>div{display:grid;justify-items:center;gap:6px;margin-bottom:12px;text-align:center}
.ip-data-categories>div:last-child{margin-bottom:0}
.ip-data-categories img{width:56px;height:auto;margin:0}

/* Contenus CMS écrits pour l'ancien thème (Bootstrap) : grille, centrage, boutons et pictogrammes des pages garanties et
   recrutement, sans charger Bootstrap */
.ip-content .row{display:flex;flex-wrap:wrap;gap:0 28px}
.ip-content .row>[class*="col-"]{flex:1 1 0;min-width:min(100%,200px)}
.ip-content .row>:is(.col-12,.col-lg-12,.col-md-12){flex-basis:100%}
.ip-content .text-center{text-align:center}
.ip-content .btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:12px 18px;border:1px solid var(--cv-purple);background:var(--cv-purple);color:#fff;font:500 12px/1.6 'Work Sans',sans-serif;text-decoration:none}
.ip-content .btn:hover{background:#503658;border-color:#503658;color:#fff}
.ip-content .contact-job-container{margin-bottom:28px;text-align:center}
.ip-content .contact-job-icone-inner{display:grid;place-items:center;width:72px;height:72px;margin:0 auto 14px;border-radius:50%;background:var(--cv-purple)}
.ip-content .contact-job-icone-inner svg{width:32px;height:32px}
.ip-content .contact-job-reassurance-title{display:block;margin-bottom:8px;font:400 21px/1.4 'Lora',serif;color:#48354f}
.ip-content h2 svg{width:15px;height:auto;margin-right:6px;fill:var(--cv-purple)}

/* Centre des documents légaux */
.ip-legal-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;max-width:1160px;margin:40px auto 0}
.ip-legal-card{display:flex;justify-content:space-between;gap:25px;min-width:0;padding:32px;border:1px solid var(--cv-line);color:inherit;text-decoration:none;transition:background .2s}
.ip-legal-card:hover{background:var(--cv-lilac)}
.ip-legal-card:focus-visible{outline:2px solid var(--cv-purple);outline-offset:4px}
.ip-legal-card h2{margin:0 0 13px;font:400 25px/1.35 'Lora',serif;color:#48354f}
.ip-legal-card p{margin:0;font-size:13px;line-height:1.9;color:#5e5361}
.ip-legal-card>span{color:#82688c;font-size:25px}

/* Foire aux questions : recherche, rubriques, étapes repliables et captures (maquette ci-faq-*) */
.ip-faq-search{display:flex;align-items:center;gap:25px;max-width:1160px;margin:32px auto 0}
.ip-faq-search[hidden]{display:none}
.ip-faq-search label{display:flex;align-items:center;gap:15px;width:100%;max-width:590px;border-bottom:1px solid #b6a6bc;color:#64466e}
.ip-faq-search .cv-icon{width:20px;height:20px;flex:none}
.ip-faq-search input{width:100%;min-width:0;padding:16px 0;border:0;background:transparent;color:var(--cv-ink);font:400 14px/1.6 'Work Sans',sans-serif}
.ip-faq-search input:focus{outline:none}
.ip-faq-search input::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none;width:14px;height:14px;cursor:pointer;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M2 2l10 10M12 2 2 12' stroke='%2364466e' stroke-width='1.5'/%3E%3C/svg%3E") center/14px no-repeat}
.ip-faq-search label:focus-within{border-bottom-color:var(--cv-purple);box-shadow:0 1px 0 var(--cv-purple)}
.ip-faq-search>span{font-size:12px;color:#796983}
.ip-faq-intro{margin-bottom:22px}
.ip-faq-step{border-top:1px solid var(--cv-line)}
.ip-faq-step:last-child{border-bottom:1px solid var(--cv-line)}
.ip-faq-step summary{display:flex;justify-content:space-between;gap:20px;padding:19px 0;font-size:14px;font-weight:500;line-height:1.6;color:#513c5b;list-style:none;cursor:pointer}
.ip-faq-step summary::-webkit-details-marker{display:none}
.ip-faq-step summary::after{content:'+';flex:none;font-size:21px;line-height:1}
.ip-faq-step[open] summary::after{content:'\2212'}
.ip-faq-step summary:focus-visible{outline:2px solid var(--cv-purple);outline-offset:4px}
.ip-faq-step>div{padding:0 0 24px}
.ip-faq-capture img{max-width:100%;height:auto;margin:12px auto;border:1px solid var(--cv-line)}
.ip-faq-empty{padding:24px;background:var(--cv-sage)}
.ip-faq-empty-title{font:400 24px/1.4 'Lora',serif;color:#48354f}

/* Contact : introduction à gauche, formulaire lilas à droite (maquette ci-contact-*, ci-form-panel, ci-fields) */
.ip-contact{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;max-width:1160px;margin:42px auto 20px}
.ip-contact-intro h1{margin:0 0 27px;font:400 48px/1.15 'Lora',serif;letter-spacing:-.02em;color:#3e4b39}
.ip-contact-intro .ip-contact-lead{margin:0 0 24px;font:400 29px/1.45 'Lora',serif;color:var(--cv-ink)}
.ip-contact-intro>p:not(.ip-contact-lead){max-width:40ch;margin:0 0 12px;font-size:14px;line-height:1.95;color:#5e5361}
.ip-contact-intro aside{margin:38px 0;padding:28px 0;border-block:1px solid var(--cv-line)}
.ip-contact-intro aside h2{margin:0 0 14px;font:400 23px/1.4 'Lora',serif;color:#48354f}
.ip-contact-intro aside p{margin:0 0 18px;font-size:13px;color:#5e5361}
.ip-contact-panel{min-width:0;padding:36px;background:var(--cv-lilac)}
/* Devenir affilié : comment ça marche ; bouton vers le formulaire seulement en une colonne */
.ip-affiliate-cta{display:none}
.ip-affiliate-how{margin:38px 0 0}
.ip-contact-intro .ip-affiliate-how h2{margin:0 0 16px;font:400 23px/1.4 'Lora',serif;color:#48354f}
.ip-affiliate-steps{margin:0;padding:0;list-style:none;counter-reset:affiliate-step}
.ip-affiliate-steps li{counter-increment:affiliate-step;display:grid;grid-template-columns:30px minmax(0,1fr);column-gap:14px;padding:16px 0;border-top:1px solid var(--cv-line)}
.ip-affiliate-steps li:before{content:counter(affiliate-step);grid-row:span 2;font:400 22px/1.3 'Lora',serif;color:#9b7fa6}
.ip-contact-intro .ip-affiliate-steps h3{margin:0 0 6px;font:500 14px/1.55 'Work Sans',sans-serif;color:var(--cv-ink)}
.ip-contact-intro .ip-affiliate-steps p{margin:0;font-size:13px;line-height:1.85;color:#5e5361}
.ip-contact-panel h2{margin:0 0 14px;font:400 29px/1.35 'Lora',serif;color:#48354f}
.ip-contact-panel>p{margin:0 0 24px;font-size:12px;color:#6c606f}
.ip-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px 18px;margin:25px 0}
.ip-field{display:flex;flex-direction:column;gap:8px;min-width:0}
.ip-field label{font-size:12px;font-weight:500;color:var(--cv-ink)}
.ip-wide{grid-column:1/-1}
.ip-field :is(input,select,textarea){width:100%;min-width:0;min-height:46px;padding:12px;border:1px solid #cfc3d3;border-radius:0;background:var(--cv-paper);color:var(--cv-ink);font:400 14px/1.6 'Work Sans',sans-serif}
.ip-field textarea{resize:vertical}
.ip-field :is(input,select,textarea):focus{outline:2px solid #9473a0;outline-offset:2px}
.ip-field .is-invalid{border-color:#9d3548}
.ip-field small{font-size:11px;color:#75677b;line-height:1.7}
.ip-field .invalid-feedback,.ip-captcha .invalid-feedback{display:block;font-size:12px;color:#9d3548}
.ip-captcha{margin:0 0 24px}
.ip-captcha .iconcaptcha-widget{border-radius:0}
.ip-captcha .iconcaptcha-widget.is-invalid{border-color:#9d3548}
.ip-captcha .invalid-feedback{margin-top:8px}
.ip-contact-panel button[type=submit]{min-width:200px}

/* Candidature : progression et aide à gauche, formulaire à droite, récapitulatif (maquette ci-application-*, ci-progress) */
.ip-apply-heading{padding:28px 0 40px;border-bottom:1px solid var(--cv-line)}
.ip-apply-heading h1{margin:0 0 18px;font:400 48px/1.15 'Lora',serif;letter-spacing:-.02em;color:#3e4b39}
.ip-apply-heading>p:last-child{max-width:62ch;margin:0;font-size:14px;line-height:1.9;color:#5e5361}
.ip-apply{display:grid;grid-template-columns:290px minmax(0,720px);justify-content:space-between;gap:65px;max-width:1160px;margin:40px auto 0}
.ip-apply-aside{align-self:start;position:sticky;top:115px}
.ip-progress{list-style:none;margin:0;padding:0}
.ip-progress li{display:flex;align-items:start;gap:18px;padding:22px 0;border-bottom:1px solid var(--cv-line);color:#8b7f8e;font-size:14px}
.ip-progress li>span{font:400 24px/1.3 'Lora',serif}
.ip-progress small{display:block;margin-top:5px;font-size:11px}
.ip-progress [aria-current]{color:var(--cv-purple)}
.ip-progress [aria-current]>span{border-bottom:2px solid #9473a0}
.ip-apply-help{margin-top:35px;padding:24px;background:var(--cv-sage)}
.ip-apply-help h2{margin:0 0 15px;font:400 23px/1.4 'Lora',serif;color:#3e4b39}
.ip-apply-help p{margin:0 0 20px;font-size:12px;color:#5e5361}
.ip-apply-panel .step>h2{margin:0 0 14px}
.ip-apply-panel .step>h2:focus{outline:none}
.ip-apply-required{margin:0 0 20px;font-size:12px;color:#6c606f}
.ip-optional{font-weight:400;color:#75677b}
.ip-field>legend{float:left;width:100%;margin:0 0 8px;padding:0;font-size:12px;font-weight:500;color:var(--cv-ink)}
fieldset.ip-field{margin:0;padding:0;border:0}
.ip-radios>div{display:flex;flex-wrap:wrap;gap:25px;font-size:13px}
.ip-radios label{display:flex;align-items:center;gap:8px;font-weight:400}
.ip-radios input{width:auto;min-height:0;accent-color:var(--cv-purple)}
.ip-date>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;clear:both}
.ip-field .iti,.ip-field .country-select{display:block;width:100%}
.ip-field .iti input[type=tel],.ip-field .country-select input{padding-left:52px}
.ip-field .iti__search-input{min-height:0;padding:8px}
.ip-upload-title{margin:0;font-size:12px;font-weight:500;color:var(--cv-ink)}
.ip-upload .custom-file-container .label-container{min-height:26px;margin:0}
.ip-upload .custom-file-container .label-container label{display:none}
.ip-upload .custom-file-container .clear-button{margin-left:auto;color:var(--cv-purple)}
.ip-upload .custom-file-container .input-visible{border:1px solid #cfc3d3;border-radius:0;background:var(--cv-paper);color:var(--cv-ink);font-size:13px;height:46px;padding:12px}
.ip-upload .custom-file-container .input-container,.ip-upload .custom-file-container .input-hidden{height:46px;min-width:0}
.ip-upload .custom-file-container .browse-button{height:44px;padding:12px;border-left:1px solid #cfc3d3;background:#e4dce8;color:#51395c}
.ip-upload .custom-file-container .image-preview{height:auto;min-height:110px;border-radius:0;background-color:var(--cv-paper);border:1px dashed #b7a2c0}
.ip-upload .custom-file-container.is-invalid .input-visible{border-color:#9d3548}
.ip-availability{margin:28px 0 0;padding:0;border:0}
.ip-availability legend{font:400 23px/1.4 'Lora',serif;color:#48354f}
.ip-availability>div{display:grid;grid-template-columns:1fr 1fr;gap:12px 24px;margin-top:14px}
.ip-availability label{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px}
.ip-availability input{width:64px;padding:9px 5px;border:1px solid #cfc3d3;background:var(--cv-paper);color:var(--cv-ink);font:inherit}
#apply-hours-total{margin:18px 0 0;padding-top:18px;border-top:1px solid #d3c7d8;font-size:12px;color:var(--cv-purple)}
.ip-review-block{margin-top:24px;padding-top:22px;border-top:1px solid #d3c7d8}
.ip-review-block h3{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:0 0 12px;font:400 21px/1.4 'Lora',serif;color:#48354f}
.ip-review-edit{border:0;background:transparent;color:var(--cv-purple);font:500 12px/1.5 'Work Sans',sans-serif;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.ip-review-block dl{display:grid;grid-template-columns:1fr 1.5fr;gap:10px 20px;margin:0;font-size:12px;overflow-wrap:anywhere}
.ip-review-block dt{color:#796b7e}
.ip-review-block dd{margin:0;white-space:pre-wrap;color:var(--cv-ink)}
.ip-form-actions{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:28px;padding-top:24px;border-top:1px solid #d3c7d8}
.ip-form-actions .next-step,.ip-form-actions .review-step,.ip-form-actions #submitBtn{margin-left:auto}

@media(prefers-reduced-motion:no-preference){html:has(body.cv-info){scroll-behavior:smooth}}
@media(min-width:901px){
	.ip-index summary{pointer-events:none}
	.ip-index nav{max-height:calc(100vh - 230px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:#b8a6c1 transparent}
}
@media(max-width:1100px){.ip-layout{gap:38px;grid-template-columns:220px minmax(0,1fr)}.ip-layout-single{grid-template-columns:minmax(0,740px)}}
@media(max-width:1000px){.ip-contact{gap:35px}.ip-contact-panel{padding:28px}.ip-apply{grid-template-columns:240px minmax(0,1fr);gap:30px}}
@media(max-width:900px){
	.ip-layout{display:block;margin-top:28px}
	.ip-sidebar{position:static;margin-bottom:32px}
	.ip-index{border-bottom:1px solid #cdbfd1}
	.ip-index summary{display:flex;justify-content:space-between;align-items:center}
	.ip-index summary>span{display:block;font-size:23px;font-weight:400;line-height:1;transition:transform .2s}
	.ip-index[open] summary>span{transform:rotate(45deg)}
}
@media(max-width:760px){.ip-affiliate-cta{display:inline-flex;margin:0 0 4px}.ip-affiliate-how{margin-top:28px}.ip-legal-grid{gap:15px}.ip-legal-card{padding:23px}.ip-legal-card h2{font-size:23px}.ip-contact{grid-template-columns:1fr;gap:28px;margin-top:25px}.ip-contact-intro aside{margin:22px 0;padding:20px 0}.ip-apply{grid-template-columns:1fr;gap:28px;margin-top:25px}.ip-apply-aside{position:static}.ip-apply-help{display:none}.ip-progress{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.ip-progress li{display:block;padding:12px 0;font-size:12px}.ip-progress li>span{display:inline-block;margin-bottom:9px;font-size:22px}.ip-progress small{display:none}.ip-apply-heading{padding:16px 0 27px}.ip-apply-heading h1{font-size:39px}}
@media(max-width:580px){
	.ip-content{font-size:13px;line-height:1.9}
	.ip-content h2{margin-top:28px;padding-top:25px;font-size:24px;margin-bottom:17px}
	.ip-content h2.ip-part{font-size:28px}
	.ip-legal-grid{grid-template-columns:1fr;margin-top:25px}
	.ip-legal-card{padding:25px}
	.ip-faq-search{display:block;margin-top:20px}
	.ip-faq-search>span{display:block;margin-top:8px}
	.ip-faq-search input{font-size:16px}
	.ip-faq-step summary{font-size:13px}
	.ip-contact-intro h1{font-size:36px;margin-bottom:20px}
	.ip-contact-intro .ip-contact-lead{font-size:25px}
	.ip-contact-panel{padding:24px 20px}
	.ip-contact-panel h2{font-size:26px}
	.ip-fields{grid-template-columns:minmax(0,1fr);gap:20px}
	.ip-field :is(input,select,textarea){font-size:16px}
	.ip-contact-panel button[type=submit]{width:100%}
	.ip-apply-heading h1{font-size:33px}
	.ip-availability>div{grid-template-columns:1fr}
	.ip-availability input{font-size:16px;width:70px}
	.ip-review-block dl{grid-template-columns:1fr;gap:4px}
	.ip-review-block dd{margin-bottom:10px}
	.ip-form-actions{gap:10px}
	.ip-form-actions .cv-button{padding:11px 13px;gap:6px}
	.ip-date>div{gap:6px}
}
