/* ===== Page d'accueil publique ===== */
:root{
  --p:#14506b;--p-fonce:#0b3446;--p-tres-fonce:#072634;--p-clair:#e8f1f5;
  --menthe:#5dcaa5;--menthe-clair:#9fe1cb;--texte:#1d2a33;--gris:#5b6b76;--bord:#e3e8ec;--fond:#f5f8fa;
}
body.v{font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--texte);background:#fff;font-size:1rem;-webkit-font-smoothing:antialiased}
.v a{text-decoration:none}

/* Bandeau supérieur */
.v-topbar{background:var(--p-tres-fonce);color:#b9d3df;font-size:.82rem;padding:.45rem 0}
.v-topbar a{color:#d8e8ef}.v-topbar a:hover{color:#fff}

/* En-tête */
.v-header{background:#fff;box-shadow:0 1px 0 var(--bord);position:sticky;top:0;z-index:1030}
.v-header .navbar{padding:.85rem 12px}
.v-brand{display:flex;align-items:center;gap:.6rem;color:var(--p)!important;font-size:1.1rem}
.v-brand img{height:38px;width:auto}
.v-brand span{display:flex;flex-direction:column;line-height:1.05;font-weight:500;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:var(--gris)}
.v-brand strong{font-size:1.25rem;letter-spacing:0;text-transform:none;color:var(--p);font-weight:700}
.v-header .nav-link{color:#34444e!important;font-weight:500;font-size:.95rem;padding:.5rem .9rem!important;border-radius:8px}
.v-header .nav-link:hover{color:var(--p)!important;background:var(--p-clair)}
.navbar-toggler{border:0;font-size:1.6rem;color:var(--p)}
.navbar-toggler:focus{box-shadow:none}

/* Boutons */
.v-btn-primary{background:var(--p);color:#fff;border:0;border-radius:10px;font-weight:600;padding:.6rem 1.15rem}
.v-btn-primary:hover{background:var(--p-fonce);color:#fff}
.v-btn-ghost{background:transparent;color:var(--p);border:1.5px solid var(--p);border-radius:10px;font-weight:600;padding:.55rem 1.1rem}
.v-btn-ghost:hover{background:var(--p);color:#fff}
.v-btn-light{background:#fff;color:var(--p);border:0;border-radius:12px;font-weight:600;padding:.85rem 1.5rem}
.v-btn-light:hover{background:var(--menthe-clair);color:var(--p-tres-fonce)}
.v-btn-outline-light{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.55);border-radius:12px;font-weight:600;padding:.8rem 1.45rem}
.v-btn-outline-light:hover{background:rgba(255,255,255,.12);color:#fff;border-color:#fff}

/* Carrousel */
.v-hero{position:relative}
.v-slide{min-height:600px;padding:5.5rem 0 6.5rem;color:#fff;overflow:hidden}
.v-slide-1{background:radial-gradient(circle at 85% 20%,#1f6f91 0,transparent 45%),linear-gradient(135deg,#0b3446 0%,#14506b 60%,#1a6283 100%)}
.v-slide-2{background:radial-gradient(circle at 15% 80%,#1b7a6a 0,transparent 45%),linear-gradient(135deg,#072634 0%,#0f4a5c 55%,#14506b 100%)}
.v-slide-3{background:radial-gradient(circle at 80% 85%,#2a5f8a 0,transparent 45%),linear-gradient(135deg,#0b3446 0%,#163f63 60%,#14506b 100%)}
.v-slide::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.07) 1px,transparent 1px);background-size:26px 26px;pointer-events:none}
.v-slide .container{position:relative}
.v-slide h1{font-size:clamp(2rem,4vw,3.1rem);font-weight:700;line-height:1.1;letter-spacing:-.02em;margin:1.1rem 0 1.25rem}
.v-slide p{font-size:1.15rem;color:#cfe3ec;max-width:560px;margin-bottom:2rem}
.v-badge{display:inline-flex;align-items:center;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);color:var(--menthe-clair);border-radius:30px;padding:.35rem .9rem;font-size:.85rem;font-weight:500}
.v-hero .carousel-indicators{margin-bottom:2rem}
.v-hero .carousel-indicators [data-bs-target]{width:34px;height:4px;border-radius:2px;border:0;background:#fff;opacity:.35}
.v-hero .carousel-indicators .active{opacity:1;background:var(--menthe)}
.v-hero .carousel-control-prev,.v-hero .carousel-control-next{width:5%;opacity:.5}
.v-hero .carousel-control-prev:hover,.v-hero .carousel-control-next:hover{opacity:1}

/* Maquette de rapport (diapositive 1) */
.v-mock{background:#fff;color:var(--texte);border-radius:16px;box-shadow:0 30px 80px rgba(0,0,0,.35);overflow:hidden;transform:rotate(-1.5deg)}
.v-mock-head{background:#f1f5f8;padding:.7rem 1rem;display:flex;align-items:center;gap:.4rem;border-bottom:1px solid var(--bord)}
.v-mock-head span{width:10px;height:10px;border-radius:50%;background:#d5dde3}
.v-mock-head em{font-style:normal;font-size:.8rem;color:var(--gris);margin-left:.6rem}
.v-mock-body{padding:1.5rem 1.6rem}
.v-mock-score{font-size:2.4rem;font-weight:700;color:var(--p);line-height:1}
.v-mock-score small{font-size:1.1rem}
.v-mock-bar{height:10px;background:#edf2f5;border-radius:6px;margin-bottom:1.25rem;overflow:hidden}
.v-mock-bar div{height:100%;background:linear-gradient(90deg,var(--menthe),#1d9e75);border-radius:6px}
.v-mock-row{display:flex;align-items:center;gap:.7rem;padding:.75rem 0;border-top:1px solid #eef2f5;font-size:.95rem}
.t-ok{color:#3b9a3f}.t-amel{color:#e19a26}.t-faire{color:#d94a49}
.tag{margin-left:auto;font-size:.72rem;font-weight:600;padding:.25rem .6rem;border-radius:20px}
.tag-ok{background:#eaf3de;color:#27500a}.tag-amel{background:#faeeda;color:#633806}.tag-faire{background:#fcebeb;color:#791f1f}

/* Orbite (diapositive 2) */
.v-orbit{position:relative;height:400px;max-width:460px;margin:auto}
.v-orbit::before{content:"";position:absolute;inset:40px;border:1.5px dashed rgba(255,255,255,.25);border-radius:50%}
.v-orbit-centre{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:130px;height:130px;border-radius:50%;background:#fff;color:var(--p);display:flex;align-items:center;justify-content:center;font-size:3.4rem;box-shadow:0 0 0 18px rgba(255,255,255,.08),0 0 0 36px rgba(255,255,255,.05)}
.v-orbit-item{position:absolute;background:#fff;color:var(--texte);border-radius:12px;padding:.65rem .95rem;font-weight:600;font-size:.88rem;box-shadow:0 12px 30px rgba(0,0,0,.25);display:flex;align-items:center;gap:.5rem;white-space:nowrap}
.v-orbit-item i{color:var(--p);font-size:1.15rem}
.o1{top:6%;left:4%}.o2{top:14%;right:0}.o3{bottom:12%;left:0}.o4{bottom:4%;right:8%}

/* Liste de contrôle (diapositive 3) */
.v-checklist{background:#fff;color:var(--texte);border-radius:16px;padding:1.6rem 1.8rem;box-shadow:0 30px 80px rgba(0,0,0,.35);max-width:440px;margin-left:auto;transform:rotate(1.5deg)}
.v-checklist-titre{font-weight:700;color:var(--p);margin-bottom:.75rem;font-size:1.05rem}
.v-check{display:flex;align-items:center;gap:.7rem;padding:.6rem 0;border-top:1px solid #eef2f5;color:var(--gris)}
.v-check i{font-size:1.15rem;color:#c3ced6}
.v-check.fait{color:var(--texte)}.v-check.fait i{color:#1d9e75}

/* Bandeau chiffres */
.v-chiffres{background:#fff;margin-top:-3.25rem;position:relative;z-index:5}
.v-chiffres .container{background:#fff;border-radius:18px;box-shadow:0 18px 50px rgba(11,52,70,.12);padding:2rem 1.5rem}
.v-chiffre{font-size:2.6rem;font-weight:700;color:var(--p);line-height:1;margin-bottom:.35rem}
.v-chiffres .col-6>div:last-child{color:var(--gris);font-size:.92rem}

/* Sections */
.v-section{padding:6rem 0}
.v-fond{background:var(--fond)}
.v-titre{text-align:center;max-width:680px;margin:0 auto 3.5rem}
.v-surtitre{display:inline-block;color:#1d9e75;font-weight:600;font-size:.82rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:.75rem}
.v-titre h2,.v-section h2{font-size:clamp(1.7rem,3vw,2.4rem);font-weight:700;letter-spacing:-.02em;color:var(--p-tres-fonce);margin-bottom:1rem}
.v-titre p,.v-texte{color:var(--gris);font-size:1.08rem;line-height:1.65}

/* Cartes publics */
.v-card{background:#fff;border:1px solid var(--bord);border-radius:16px;padding:2rem;height:100%;transition:transform .2s,box-shadow .2s,border-color .2s}
.v-card:hover{transform:translateY(-6px);box-shadow:0 20px 45px rgba(11,52,70,.12);border-color:transparent}
.v-card h3{font-size:1.2rem;font-weight:700;margin:1.25rem 0 .5rem}
.v-card p{color:var(--gris);margin:0;line-height:1.6}
.v-icone{width:58px;height:58px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:1.6rem}
.c1{background:#e8f1f5;color:#14506b}.c2{background:#fbeaf0;color:#993556}.c3{background:#e1f5ee;color:#0f6e56}
.c4{background:#eeedfe;color:#534ab7}.c5{background:#faeeda;color:#854f0b}.c6{background:#f1efe8;color:#5f5e5a}

/* Situations (bandeau deux colonnes) */
.v-situations{background:#fff;border-radius:18px;padding:1.5rem;box-shadow:0 18px 50px rgba(11,52,70,.1);display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
.v-situation{display:flex;align-items:center;gap:.65rem;border:1px solid var(--bord);border-radius:12px;padding:.9rem 1rem;font-weight:500;color:var(--gris)}
.v-situation i:first-child{font-size:1.25rem}
.v-situation .bi-toggle-off{font-size:1.5rem;color:#c3ced6}
.v-situation.on{border-color:#9fe1cb;background:#f2fbf7;color:var(--texte)}
.v-situation.on i:first-child{color:var(--p)}
.v-situation.on .bi-toggle-on{font-size:1.5rem;color:#1d9e75}
.v-liste{list-style:none;padding:0;margin:1.5rem 0 0}
.v-liste li{display:flex;gap:.7rem;padding:.45rem 0;font-weight:500}
.v-liste i{color:#fff;background:#1d9e75;border-radius:50%;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;flex:none;font-size:.95rem}

/* Étapes */
.v-etapes{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;position:relative}
.v-etapes::before{content:"";position:absolute;top:44px;left:12%;right:12%;height:2px;background:repeating-linear-gradient(90deg,#c9dbe4 0 10px,transparent 10px 18px)}
.v-etape{text-align:center;position:relative}
.v-etape-rond{width:88px;height:88px;border-radius:50%;background:#fff;border:2px solid var(--p);color:var(--p);display:flex;align-items:center;justify-content:center;font-size:2rem;margin:0 auto 1.25rem;position:relative}
.v-etape-rond span{position:absolute;top:-4px;right:-4px;width:30px;height:30px;border-radius:50%;background:#1d9e75;color:#fff;font-size:.85rem;font-weight:700;display:flex;align-items:center;justify-content:center}
.v-etape h3{font-size:1.15rem;font-weight:700;margin-bottom:.5rem}
.v-etape p{color:var(--gris);font-size:.95rem;margin:0 auto;max-width:240px}

/* Domaines (fond sombre) */
.v-fond-sombre{background:linear-gradient(160deg,#072634,#0b3446 60%,#14506b);color:#fff}
.v-titre-clair h2{color:#fff}
.v-domaine{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:1.8rem;height:100%;transition:background .2s}
.v-domaine:hover{background:rgba(255,255,255,.09)}
.v-domaine i{font-size:1.8rem;color:var(--menthe-clair)}
.v-domaine h3{font-size:1.15rem;font-weight:700;margin:1rem 0 .5rem}
.v-domaine p{color:#b9d3df;margin:0;line-height:1.6}
.v-engagement{display:flex;gap:1rem;align-items:flex-start;margin-top:3rem;padding:1.4rem 1.6rem;border-radius:14px;background:rgba(93,202,165,.1);border:1px solid rgba(93,202,165,.3)}
.v-engagement i{font-size:1.5rem;color:var(--menthe-clair)}
.v-engagement p{margin:0;color:#d8e8ef}

/* FAQ */
.v-faq .accordion-item{border:1px solid var(--bord);border-radius:12px!important;margin-bottom:.75rem;overflow:hidden}
.v-faq .accordion-button{font-weight:600;font-size:1.02rem;padding:1.2rem 1.4rem;color:var(--texte)}
.v-faq .accordion-button:not(.collapsed){background:var(--p-clair);color:var(--p);box-shadow:none}
.v-faq .accordion-button:focus{box-shadow:none}
.v-faq .accordion-body{color:var(--gris);line-height:1.65;padding:1.2rem 1.4rem}

/* Bandeau d'appel */
.v-cta{background:linear-gradient(120deg,#1d9e75,#14506b);color:#fff;padding:4rem 0}
.v-cta h2{font-size:clamp(1.6rem,3vw,2.2rem);font-weight:700;margin-bottom:.5rem;color:#fff}
.v-cta p{color:#d9f2ea;margin:0;font-size:1.08rem}

/* Pied de page */
.v-footer{background:var(--p-tres-fonce);color:#9fbccb;padding:4rem 0 1.5rem;font-size:.93rem}
.v-footer h4{color:#fff;font-size:.95rem;font-weight:600;margin-bottom:1rem}
.v-footer a{display:block;color:#9fbccb;padding:.2rem 0}.v-footer a:hover{color:#fff}
.v-brand-clair strong{color:#fff}.v-brand-clair span{color:#9fbccb}
.v-footer-bas{border-top:1px solid rgba(255,255,255,.1);margin-top:3rem;padding-top:1.5rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:.75rem;font-size:.85rem}
.v-footer-bas a{display:inline;padding:0}

/* Mobile */
@media(max-width:991px){
  .v-slide{min-height:auto;padding:4rem 0 5.5rem}
  .v-etapes{grid-template-columns:1fr 1fr}
  .v-etapes::before{display:none}
  .v-header .navbar-collapse{padding:1rem 0}
}
@media(max-width:575px){
  .v-section{padding:4rem 0}
  .v-etapes,.v-situations{grid-template-columns:1fr}
  .v-chiffre{font-size:2rem}
}
@media(prefers-reduced-motion:reduce){.v-card,.v-domaine{transition:none}}

/* Formulaire de contact */
.v-piege{position:absolute!important;left:-10000px;width:1px;height:1px;overflow:hidden}
.v-form{background:#fff;border-radius:18px;padding:2rem;box-shadow:0 18px 50px rgba(11,52,70,.1)}
.v-form .form-label{font-weight:600;font-size:.88rem;color:#34444e}
.v-form .form-control,.v-form .form-select{border-radius:10px;padding:.7rem .9rem;border-color:#d5dee4}
.v-form .form-control:focus,.v-form .form-select:focus{border-color:var(--p);box-shadow:0 0 0 .2rem rgba(20,80,107,.15)}
.v-contact-infos{margin-top:2rem;display:grid;gap:1.25rem}
.v-contact-infos>div{display:flex;gap:1rem;align-items:flex-start}
.v-contact-infos>div>i{width:46px;height:46px;border-radius:12px;background:#fff;color:var(--p);display:flex;align-items:center;justify-content:center;font-size:1.25rem;box-shadow:0 6px 18px rgba(11,52,70,.08);flex:none}
.v-contact-infos strong{display:block;font-size:.85rem;color:var(--gris);font-weight:600}
.v-contact-infos a,.v-contact-infos span{color:var(--texte);font-weight:600;font-size:1.05rem}

/* Tarifs */
.v-tarif{background:#fff;border:1px solid var(--bord);border-radius:18px;padding:2rem;height:100%;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}
.v-tarif:hover{transform:translateY(-4px);box-shadow:0 20px 45px rgba(11,52,70,.12)}
.v-tarif-type{display:inline-block;align-self:flex-start;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#1d9e75;background:#e1f5ee;border-radius:20px;padding:.25rem .7rem}
.v-tarif-auto .v-tarif-type{color:#534ab7;background:#eeedfe}
.v-tarif h3{font-size:1.2rem;font-weight:700;margin:1rem 0 .25rem}
.v-tarif-taille{color:var(--gris);font-size:.9rem}
.v-tarif-prix{font-size:2.2rem;font-weight:700;color:var(--p);margin:1rem 0}
.v-tarif-prix small{font-size:.95rem;font-weight:500;color:var(--gris)}
.v-tarif p{color:var(--gris);font-size:.95rem}
.v-tarif ul{list-style:none;padding:0;margin:0 0 1.5rem;flex:1}
.v-tarif li{display:flex;gap:.5rem;padding:.25rem 0;font-size:.92rem}
.v-tarif li i{color:#1d9e75}
/* Commande */
.v-recap{background:var(--p);color:#fff;border-radius:18px;padding:1.75rem;position:sticky;top:110px}
.v-recap h3{font-size:1.1rem;font-weight:700}
.v-recap .ligne{display:flex;justify-content:space-between;padding:.45rem 0;border-top:1px solid rgba(255,255,255,.15);font-size:.95rem}
.v-recap .total{font-size:1.25rem;font-weight:700}
.v-recap small{color:#b9d3df}
.v-choix{display:block;border:1.5px solid var(--bord);border-radius:12px;padding:1rem 1.1rem;cursor:pointer;margin-bottom:.6rem;background:#fff}
.v-choix:has(input:checked){border-color:var(--p);background:var(--p-clair)}
.v-choix input{margin-right:.6rem}
.v-cgv{white-space:pre-line;color:#34444e;line-height:1.7}

.v-tarif-badge{font-size:.72rem;font-weight:700;color:#633806;background:#fac775;border-radius:20px;padding:.25rem .65rem;white-space:nowrap}
.v-tarif-barre{font-size:1.1rem;font-weight:500;color:#93a3ad;text-decoration:line-through;margin-right:.4rem}
.v-tarif-fin{font-size:.8rem;font-weight:600;color:#a32d2d;margin-top:.2rem}
.v-tarif-avant{border:2px solid var(--p);box-shadow:0 20px 45px rgba(11,52,70,.14)}
.v-slide p.v-hero-prix{font-size:1rem;color:var(--menthe-clair);margin:-1rem 0 1.75rem}
.v-hero-prix strong{color:#fff;font-size:1.15rem}

/* Secteurs sur devis */
.v-secteurs{margin-top:3rem;background:#fff;border:1px solid var(--bord);border-radius:18px;padding:2rem;display:grid;grid-template-columns:1fr 2fr;gap:2rem;align-items:center}
.v-secteurs h3{font-size:1.25rem;font-weight:700;color:var(--p-tres-fonce)}
.v-secteurs p{color:var(--gris);margin:0}
.v-secteurs-liste{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}
.v-secteur{display:flex;flex-direction:column;gap:.35rem;border:1px solid var(--bord);border-radius:12px;padding:1rem;color:var(--texte);transition:border-color .2s,background .2s}
.v-secteur:hover{border-color:var(--p);background:var(--p-clair);color:var(--texte)}
.v-secteur>i{font-size:1.4rem;color:var(--p)}
.v-secteur span{font-weight:600;font-size:.95rem}
.v-secteur em{font-style:normal;font-size:.8rem;color:#1d9e75;font-weight:600}
@media(max-width:991px){.v-secteurs{grid-template-columns:1fr}.v-secteurs-liste{grid-template-columns:1fr 1fr}}
@media(max-width:575px){.v-secteurs-liste{grid-template-columns:1fr}}

/* Espace client : étapes du diagnostic */
.v-etapes-client{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem}
.v-etapes-client>div{display:flex;flex-direction:column;align-items:center;gap:.4rem;text-align:center;padding:.9rem .5rem;border-radius:12px;background:#f5f8fa;color:#93a3ad;font-size:.85rem;font-weight:600}
.v-etapes-client i{font-size:1.4rem}
.v-etapes-client .fait{background:#eaf3de;color:#27500a}
.v-etapes-client .encours{background:var(--p-clair);color:var(--p);outline:2px solid var(--p)}
@media(max-width:575px){.v-etapes-client{grid-template-columns:1fr 1fr}}

/* Questionnaire */
.q-avancement{min-width:220px;font-size:.85rem;color:var(--gris)}
.q-barre{height:8px;background:#e3eaef;border-radius:6px;overflow:hidden;margin-top:.3rem}
.q-barre div{height:100%;background:linear-gradient(90deg,var(--menthe),#1d9e75);border-radius:6px;transition:width .3s}
.q-etapes{display:flex;flex-wrap:wrap;gap:.4rem}
.q-etapes a{display:inline-flex;align-items:center;gap:.4rem;font-size:.85rem;font-weight:600;padding:.45rem .8rem;border-radius:30px;background:#fff;border:1px solid var(--bord);color:var(--gris)}
.q-etapes a.fait{color:#27500a;border-color:#c0dd97;background:#f4faec}
.q-etapes a.actif{background:var(--p);border-color:var(--p);color:#fff}
.q-profils{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}
.q-contextes{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}
.q-contexte{display:flex;gap:.7rem;align-items:flex-start;border:1px solid var(--bord);border-radius:12px;padding:.85rem 1rem;cursor:pointer;background:#fff}
.q-contexte:has(input:checked){border-color:var(--p);background:var(--p-clair)}
.q-contexte .form-check-input{margin-top:.2rem;flex:none}
.q-contexte strong{display:block;font-size:.95rem}
.q-contexte small{display:block;color:var(--gris);line-height:1.4;margin-top:.15rem}
.q-question{background:#fff;border:1px solid var(--bord);border-radius:14px;padding:1.25rem 1.4rem;margin-bottom:.85rem}
.q-num{width:30px;height:30px;border-radius:50%;background:var(--p-clair);color:var(--p);font-weight:700;display:flex;align-items:center;justify-content:center;flex:none;font-size:.85rem}
.q-texte{font-weight:600;font-size:1.02rem;margin-bottom:.35rem}
.q-oblig{display:inline-block;font-size:.7rem;font-weight:700;color:#fff;background:var(--p);border-radius:4px;padding:.1rem .45rem}
.q-pourquoi,.q-precision{font-size:.85rem;color:var(--gris);margin:.4rem 0}
.q-pourquoi summary,.q-precision summary{cursor:pointer;color:var(--p);font-weight:500}
.q-reponses{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center;margin-top:.6rem}
.q-rep input{position:absolute;opacity:0;pointer-events:none}
.q-rep span{display:inline-block;padding:.45rem .95rem;border:1.5px solid var(--bord);border-radius:30px;font-size:.88rem;font-weight:600;cursor:pointer;color:#34444e;background:#fff}
.q-rep input:focus-visible+span{outline:2px solid var(--p);outline-offset:2px}
.q-rep-oui input:checked+span{background:#eaf3de;border-color:#97c459;color:#27500a}
.q-rep-partiel input:checked+span{background:#faeeda;border-color:#ef9f27;color:#633806}
.q-rep-non input:checked+span{background:#fcebeb;border-color:#f09595;color:#791f1f}
.q-rep-ne_sait_pas input:checked+span,.q-rep-non_concerne input:checked+span{background:#f1efe8;border-color:#b4b2a9;color:#444441}
.q-sauve{font-size:.78rem;color:#1d9e75;margin-left:.3rem}
.q-jauge{--v:0;width:150px;height:150px;border-radius:50%;margin:auto;display:flex;align-items:center;justify-content:center;background:radial-gradient(closest-side,#fff 78%,transparent 79%),conic-gradient(#1d9e75 calc(var(--v)*1%),#e3eaef 0)}
.q-jauge span{font-size:2rem;font-weight:700;color:var(--p)}
.q-chiffre{font-size:1.6rem;font-weight:700;color:var(--p)}
.q-point{border-left:4px solid #b4b2a9;padding:.75rem 1rem;margin-bottom:.6rem;background:#fafbfc;border-radius:0 10px 10px 0}
.q-point.q-a_mettre_en_place{border-left-color:#e24b4a}.q-point.q-a_ameliorer{border-left-color:#ef9f27}
.q-statut{font-size:.75rem;font-weight:700;padding:.15rem .55rem;border-radius:20px;background:#f1efe8;color:#444441;white-space:nowrap}
.q-a_mettre_en_place .q-statut{background:#fcebeb;color:#791f1f}.q-a_ameliorer .q-statut{background:#faeeda;color:#633806}
.q-suite{border:2px solid var(--p-clair)}
@media(max-width:767px){.q-profils,.q-contextes{grid-template-columns:1fr}}

/* Rapport et rendez-vous (espace client) */
.q-action{display:flex;gap:.9rem;align-items:flex-start;border:1px solid var(--bord);border-radius:12px;padding:1rem;background:#fff;height:100%}
.q-action>i{font-size:1.6rem;color:var(--p);line-height:1}
.r-jours{display:flex;gap:.5rem;overflow-x:auto;padding-bottom:.3rem}
.r-jour{flex:0 0 auto;width:64px;border:1.5px solid var(--bord);border-radius:12px;background:#fff;padding:.45rem 0;display:flex;flex-direction:column;align-items:center;line-height:1.15;color:#3b4a54}
.r-jour span{font-size:.72rem;text-transform:uppercase;color:#6b7a84}
.r-jour strong{font-size:1.25rem;color:#072634}
.r-jour.actif{border-color:var(--p);background:var(--p-clair)}
.r-jour:focus-visible{outline:2px solid var(--p);outline-offset:2px}
.r-heures{display:flex;flex-wrap:wrap;gap:.5rem}
.r-heures>div{flex-basis:100%}
.r-heure{cursor:pointer;margin:0}
.r-heure input{position:absolute;opacity:0;pointer-events:none}
.r-heure span{display:inline-block;min-width:76px;text-align:center;padding:.5rem .8rem;border:1.5px solid var(--bord);border-radius:10px;background:#fff;font-weight:600;color:#072634}
.r-heure input:checked+span{background:var(--p);border-color:var(--p);color:#fff}
.r-heure input:focus-visible+span{outline:2px solid var(--p);outline-offset:2px}
.r-date{width:70px;border-radius:12px;background:var(--p);color:#fff;display:flex;flex-direction:column;align-items:center;padding:.45rem 0;line-height:1.1}
.r-date span{font-size:.72rem;text-transform:uppercase;opacity:.85}
.r-date strong{font-size:1.6rem}
.r-page h2.h5,.q-suite h2.h5{font-size:1.15rem;letter-spacing:0;margin-bottom:.75rem}
.r-jour span:last-child{text-transform:none}
