/*
Theme Name: Hello Elementor Child
Theme URI: https://elementor.com/hello-theme/?utm_source=wp-themes&utm_campaign=theme-uri&utm_medium=wp-dash
Template: hello-elementor
Author: Elementor Team
Author URI: https://elementor.com/?utm_source=wp-themes&utm_campaign=author-uri&utm_medium=wp-dash
Description: Hello Elementor is a lightweight and minimalist WordPress theme that was built specifically to work seamlessly with the Elementor site builder plugin. The theme is free, open-source, and designed for users who want a flexible, easy-to-use, and customizable website. The theme, which is optimized for performance, provides a solid foundation for users to build their own unique designs using the Elementor drag-and-drop site builder. Its simplicity and flexibility make it a great choice for both beginners and experienced Web Creators.
Tags: accessibility-ready,flexible-header,custom-colors,custom-menu,custom-logo,featured-images,rtl-language-support,threaded-comments,translation-ready
Version: 3.5.1.1791098688
Updated: 2026-10-04 07:24:48

*/

/* ==========================================================================
   PROUD CHECK — CSS PARTAGÉ DES 3 FORMULAIRES (desktop + mobile)
   À coller UNE fois : Apparence > Personnaliser > CSS additionnel
   (ou Elementor > Réglages du site > CSS personnalisé).
   Chaque formulaire définit son image et la couleur de son étiquette
   via --pf-img et --pf-tag sur <div class="pf" style="...">.
   ========================================================================== */
.pf{--navy:#003781;--blue:#0a74e6;--gold:#f0b030;--ice:#edf2fb;--ink:#0b1f3f;--line:#8ec1f5;
  font-family:'Nunito Sans',Arial,sans-serif;color:var(--ink);background:var(--ice);min-height:100vh;min-height:100dvh;padding:28px;display:flex;align-items:center;justify-content:center}
.pf *{box-sizing:border-box}.pf h1,.pf h2,.pf p{margin:0}
.pf-panel{width:min(1400px,100%);min-height:min(760px,calc(100vh - 56px));border-radius:22px;overflow:hidden;display:grid;grid-template-columns:1.05fr .95fr;gap:0;
  background:#00338a var(--pf-img) left bottom/cover no-repeat}
.pf-left{padding:56px 0 0 56px;color:#fff;position:relative}
.pf-tag{display:inline-block;background:var(--pf-tag,#e30613);color:#fff;font-weight:700;font-size:14px;padding:3px 12px;border-radius:4px 14px 0 0}
.pf-left h1{font-size:clamp(28px,3vw,44px);font-weight:700;line-height:1.15;margin-top:6px;max-width:640px}
.pf-left h1 em{font-style:normal;color:var(--gold)}
.pf-left p{margin-top:16px;font-size:16px;max-width:520px;font-weight:600}
/* Si l'image de couverture contient déjà les textes, ajoutez la classe pf-notext sur .pf-left */
.pf-left.pf-notext>*{display:none}

.pf-right{padding:28px 28px 28px 0;display:flex}
.pf-card{background:var(--ice);border-radius:18px;width:100%;padding:34px 72px;display:flex;flex-direction:column;align-items:center;justify-content:center;justify-content:safe center;max-height:calc(100vh - 56px);overflow-y:auto}
.pf-logo{height:34px !important ;margin-bottom:4px}
.pf-brand{color:var(--blue);font-weight:800;font-size:14px;margin-bottom:8px}
.pf-prog{width:100%;max-width:600px;text-align:center;margin-bottom:6px}
.pf-bar{height:5px;background:#b9c6d8;border-radius:9px;overflow:hidden}
.pf-bar i{display:block;height:100%;background:var(--blue);width:0;transition:width .4s}
.pf-prog small{display:block;font-size:12px;margin-top:6px}
.pf-back{align-self:flex-start;background:none;border:0;font:inherit;font-size:14px;color:var(--ink);cursor:pointer;padding:6px 12px;margin:2px 0 0 -12px;border-radius:8px;transition:.15s}
.pf-back:hover{background:#DDEDFC;color:#057EE4}
.pf-scr{min-width:0;width:100%;max-width:600px;display:none;flex-direction:column;align-items:center;text-align:center;margin:0}
.pf-scr.on{display:flex;animation:pfin .35s}
@keyframes pfin{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.pf-scr h2{font-size:clamp(22px,2vw,28px);font-weight:800;line-height:1.25;margin-bottom:10px}
.pf-sub{font-size:15px;margin-bottom:16px;color:#33476b}
.pf-opts{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;width:100%;text-align:left;margin-top:10px}
.pf-opt{white-space:normal;overflow-wrap:anywhere;min-width:0;max-width:100%;display:flex;justify-content:space-between;align-items:center;gap:16px;width:100%;background:transparent;border:1.5px solid var(--line);border-radius:14px;padding:16px 20px;font:inherit;font-size:15px;color:var(--ink);cursor:pointer;text-align:left;transition:.15s}
.pf-opt:after{content:"";flex:none;width:18px;height:18px;border:1.5px solid var(--line);border-radius:50%;background:#fff}
.pf-opt:hover,.pf-opt.sel{color:#057EE4;background:#DDEDFC;border-color:#057EE4}
.pf-opt.sel:after{border:5px solid #057EE4}
.pf-opt:hover:after{border-color:#057EE4}
.pf-cta{display:inline-flex;align-items:center;gap:10px;background:var(--navy);color:#fff;border:0;border-radius:12px;font:inherit;font-weight:800;font-size:16px;padding:16px 34px;cursor:pointer;transition:.2s;text-decoration:none;margin-top:40px; margin-bottom: 10px}
.pf-cta:hover{background:#057EE4;color:#fff}
.pf-cta.blue{background:var(--blue);width:100%;justify-content:center;margin-top:34px;margin-bottom:10px}
.pf-note{font-size:12.5px;color:#6b7a94;margin-top:16px}
/* score */
.pf-ring{position:relative;width:150px;height:150px;margin-bottom:18px}
.pf-ring svg{transform:rotate(-90deg)}
.pf-ring b{position:absolute;inset:0;display:grid;place-content:center;font-size:26px;line-height:1.1}
.pf-ring b small{font-size:11px;font-weight:600}
/* formulaire */
.pf-form{width:100%;text-align:left;display:grid;gap:14px;margin-top:6px}
.pf-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.pf-form label{font-size:13px;font-weight:700;display:block;margin-bottom:5px}
.pf-form select,.pf-form input[type=text],.pf-form input[type=tel],.pf-form input[type=email]{width:100%;background:#e6ecf6;border:1.5px solid #cfd8e6;border-radius:12px;padding:14px 16px;font:inherit;font-size:15px;color:var(--ink)}
.pf-form select:focus,.pf-form input:focus{outline:2px solid var(--blue);background:#fff}
.pf-form select{appearance:auto;cursor:pointer}
.pf-civ{display:flex;gap:26px;font-size:15px}.pf-civ label{font-weight:600;display:flex;gap:8px;align-items:center;margin:0}
.pf-legal{font-size:11.5px;color:#4a5b78;line-height:1.5}
.pf-chk{display:flex;gap:10px;align-items:flex-start;font-size:13px;font-weight:600}
.pf-chk input{margin-top:3px;width:17px;height:17px}
.pf-err{color:#c0152b;font-size:13px;font-weight:700;min-height:18px}
.pf-hp{position:absolute;left:-9999px}
/* merci */
.pf-more{display:grid;gap:12px;width:100%;margin:6px 0 0;text-align:left}
.pf-mc{display:grid;grid-template-columns:48px 1fr auto;gap:14px;align-items:center;background:#f6f9fe;border:1px solid #cfd8e6;border-radius:14px;padding:14px 16px}
.pf-mc img{width:48px;height:48px;object-fit:contain}
.pf-mc strong{display:block;font-size:15px;color:var(--navy)}.pf-mc span{font-size:12.5px;color:#33476b}
.pf-mc a{border:1.5px solid var(--blue);color:var(--blue);background:#fff;border-radius:8px;font-weight:700;font-size:13px;padding:8px 18px;text-decoration:none}
.pf-mc a:hover{background:var(--gold);border-color:var(--gold);color:var(--navy)}
.pf-soc{display:flex;gap:10px;margin-top:14px}.pf-soc img{width:26px;height:26px;display:block}
.pf button:focus-visible,.pf a:focus-visible{outline:3px solid var(--gold);outline-offset:2px}

/* ---------- Tablette ---------- */
@media(max-width:1200px){
 .pf-card{padding:34px 40px}
 .pf-left{padding:44px 0 0 40px}
}

/* ---------- Mobile / petite tablette ---------- */
@media(max-width:900px){
 .pf{padding:0;display:block;background:#00338a}
 .pf-panel{display:block;border-radius:0;min-height:100vh;min-height:100dvh;background:#00338a}
 /* bloc visuel du haut : image en bas, textes au-dessus (réglez la position avec --pf-m-pos) */
 .pf-left{padding:26px 22px 0;min-height:400px;background:#00338a var(--pf-img) var(--pf-m-pos,left bottom)/auto 300px no-repeat}
 .pf-left h1{font-size:26px;max-width:none}
 .pf-left p{font-size:14.5px;margin-top:10px}
 /* card blanche qui chevauche le visuel */
 .pf-right{padding:0;margin-top:-26px;position:relative}
 .pf-card{border-radius:24px 24px 0 0;padding:28px 22px calc(44px + env(safe-area-inset-bottom));max-height:none;min-height:62vh;justify-content:flex-start;overflow:visible}
 .pf-scr h2{font-size:21px}
 .pf-sub{font-size:14.5px}
 .pf-opts{gap:12px}
 .pf-opt{padding:15px 16px;font-size:15px;min-height:52px}
 .pf-cta{width:100%;justify-content:center;margin-top:28px;padding:16px 20px}
 .pf-cta.blue{margin-top:28px}
 /* champs : 16px pour éviter le zoom automatique sur iPhone */
 .pf-form input[type=text],.pf-form input[type=tel],.pf-form input[type=email],.pf-form select{font-size:16px;padding:14px}
 .pf-row{grid-template-columns:1fr}
 .pf-chk{font-size:13.5px}
 /* page de remerciement */
 .pf-mc{grid-template-columns:44px 1fr;gap:12px}
 .pf-mc img{width:44px;height:44px}
 .pf-mc a{grid-column:2;justify-self:start;margin-top:4px}
 .pf-soc img{width:30px;height:30px}
}

/* ---------- Très petits écrans ---------- */
@media(max-width:380px){
 .pf-left{padding:22px 16px 0;min-height:370px}
 .pf-left h1{font-size:23px}
 .pf-card{padding:24px 16px 40px}
 .pf-scr h2{font-size:19px}
}