/* ═══════════════════════════════════════════════════════════════════════
   Configurateur ROSA — « Configurez votre projet. »
   Charte : noir #0B0C0E, corail #FF3B5C (texte corail lisible : --coral-fonce
   sur blanc, --coral-clair sur noir). Préfixe cf- : aucun effet hors de la page.
   ═══════════════════════════════════════════════════════════════════════ */

/* Sans JavaScript : message et lien vers le formulaire de devis, l'application est masquée. */
.cf-sans-js{display:none}
.sans-js .cf-sans-js{display:block;margin:24px 0 0;max-width:62ch;color:var(--ink-inv-2,#d6d8dc)}
.sans-js .cf-sans-js a{color:var(--coral-clair,#FF6B84)!important;text-decoration:underline}
.sans-js .cf-app{display:none}

.cf-app{background:#F6F7F9;padding-block:clamp(40px,6vw,80px);outline:none}
.cf-app .contenu{max-width:1320px}
.cf-app [hidden]{display:none!important}
.cf-app h2{font-family:var(--display);font-weight:800;font-size:clamp(1.5rem,3vw,2.1rem);line-height:1.12;
  letter-spacing:-.025em;color:var(--obsidian);margin:0 0 10px}
.cf-app h3{font-family:var(--display);font-weight:700;color:var(--obsidian);letter-spacing:-.015em}
.cf-app p{margin:0}
.cf-info{color:#3A3F47;background:#fff;border:1px solid var(--line,#E3E5E9);border-radius:12px;padding:14px 16px}
.cf-note{color:#5A5F68;font-size:.88rem;margin-top:16px!important}

/* ── États (chargement, indisponible) ─────────────────────────────────── */
.cf-etat{margin-bottom:24px}
.cf-chargement{color:#3A3F47;display:flex;align-items:center;gap:10px}
.cf-chargement::before{content:"";width:16px;height:16px;border-radius:50%;border:2px solid var(--line-forte,#C9CDD4);
  border-top-color:var(--coral-fonce,#E11D3C);animation:cf-tourne 1s linear infinite}
@keyframes cf-tourne{to{transform:rotate(360deg)}}
.cf-indisponible{background:var(--obsidian);color:#fff;border-radius:18px;padding:clamp(24px,4vw,40px);max-width:760px}
.cf-indisponible h2{color:#fff!important}
.cf-indisponible p{color:#D6D8DC;margin-bottom:12px!important;max-width:60ch}
.cf-indisponible .cf-btn{margin-top:10px}

/* ── Boutons ──────────────────────────────────────────────────────────── */
.cf-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:11px 22px;
  border-radius:999px;font-family:var(--display);font-weight:600;font-size:.97rem;line-height:1.2;text-align:center;
  text-decoration:none!important;cursor:pointer;border:2px solid transparent;
  transition:background .2s,border-color .2s,color .2s,transform .2s}
.cf-btn:hover{transform:translateY(-1px)}
.cf-btn:disabled{opacity:.55;cursor:not-allowed;transform:none}
.cf-btn-principal{background:var(--coral,#FF3B5C);border-color:var(--coral,#FF3B5C);color:var(--obsidian)!important}
.cf-btn-principal:hover{background:var(--coral-clair,#FF6B84);border-color:var(--coral-clair,#FF6B84)}
.cf-btn-sombre{background:var(--obsidian);border-color:var(--obsidian);color:#fff!important}
.cf-btn-sombre:hover{background:#262A30;border-color:#262A30}
.cf-btn-contour{background:#fff;border-color:var(--line-forte,#C9CDD4);color:var(--obsidian)!important}
.cf-btn-contour:hover{border-color:var(--obsidian)}
.cf-btn-lien{background:transparent;border-color:transparent;color:var(--obsidian)!important;text-decoration:underline!important;
  text-underline-offset:3px;padding-inline:8px}
.cf-btn:focus-visible,.cf-app a:focus-visible,.cf-app button:focus-visible,.cf-app input:focus-visible,
.cf-app select:focus-visible,.cf-app textarea:focus-visible{outline:3px solid var(--coral,#FF3B5C)!important;outline-offset:3px}

/* ── Accueil : grandes cartes des familles ────────────────────────────── */
.cf-intro{max-width:760px;margin-bottom:28px}
.cf-intro p:last-child{color:#3A3F47;font-size:1.05rem;line-height:1.6}
.cf-familles{list-style:none;margin:0;padding:0;display:grid;gap:20px;
  grid-template-columns:repeat(auto-fill,minmax(min(100%,270px),1fr))}
.cf-famille article{height:100%;display:flex;flex-direction:column;background:#fff;border:1px solid var(--line,#E3E5E9);
  border-radius:18px;overflow:hidden;box-shadow:0 1px 2px rgba(11,12,14,.04),0 10px 30px rgba(11,12,14,.06);
  transition:transform .25s,box-shadow .25s}
.cf-famille article:hover{transform:translateY(-3px);box-shadow:0 2px 6px rgba(11,12,14,.07),0 18px 44px rgba(11,12,14,.12)}
.cf-famille-corps{display:flex;flex-direction:column;gap:8px;padding:18px 20px 20px;flex:1}
.cf-famille-corps h3{font-size:1.22rem;margin:0}
.cf-famille-corps p{color:#3A3F47;font-size:.95rem;line-height:1.55}
.cf-famille-corps .cf-personnaliser{margin-top:auto;align-self:flex-start}
.cf-a-partir{font-family:var(--display);font-weight:600;color:var(--obsidian)!important}
.cf-visuel{position:relative;aspect-ratio:16/9;background:#1A1C20;overflow:hidden}
.cf-visuel img{display:block;width:100%;height:100%;object-fit:cover}
.cf-visuel-neutre{display:flex;align-items:center;justify-content:center;
  background:radial-gradient(circle at 70% 20%,rgba(255,59,92,.35),transparent 55%),var(--obsidian)}
.cf-visuel-neutre span{font-family:var(--display);font-weight:800;font-size:2rem;color:#fff;letter-spacing:-.03em}
.cf-etiquette{position:absolute;left:10px;bottom:10px;background:rgba(11,12,14,.86);color:#fff;font-size:.74rem;
  font-weight:600;letter-spacing:.02em;padding:5px 10px;border-radius:999px;max-width:calc(100% - 20px)}

/* ── Avancement ───────────────────────────────────────────────────────── */
.cf-avancement{margin-bottom:24px}
.cf-avancement-texte{font-family:var(--display);font-weight:700;color:var(--obsidian);margin-bottom:10px!important}
.cf-barre{height:6px;background:#E3E5E9;border-radius:999px;overflow:hidden;margin-bottom:14px}
.cf-barre-remplie{display:block;height:100%;width:0;background:var(--coral,#FF3B5C);border-radius:inherit;transition:width .35s}
.cf-etapes{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.cf-etape-bouton{width:100%;display:flex;align-items:center;gap:8px;background:transparent;border:1px solid transparent;
  border-radius:10px;padding:8px;cursor:pointer;color:#3A3F47;font:inherit;font-size:.86rem;text-align:left;min-height:44px}
.cf-etape-bouton:hover{background:#fff;border-color:var(--line,#E3E5E9)}
.cf-etape-num{flex:0 0 26px;height:26px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;
  background:#fff;border:2px solid var(--line-forte,#C9CDD4);font-weight:700;font-size:.8rem;color:var(--obsidian)}
.cf-faite .cf-etape-num{background:var(--obsidian);border-color:var(--obsidian);color:#fff}
.cf-courante .cf-etape-bouton{background:#fff;border-color:var(--obsidian);color:var(--obsidian);font-weight:600}
.cf-courante .cf-etape-num{background:var(--coral,#FF3B5C);border-color:var(--coral,#FF3B5C);color:var(--obsidian)}
.cf-etape-nom{overflow-wrap:anywhere;line-height:1.2}

/* ── Grille parcours + panneau ────────────────────────────────────────── */
.cf-grille{display:grid;gap:28px;grid-template-columns:minmax(0,1fr)}
.cf-principal{min-width:0}
.cf-etape{background:#fff;border:1px solid var(--line,#E3E5E9);border-radius:18px;padding:clamp(18px,3vw,32px)}
.cf-etape h2{outline:none}
.cf-aide{color:#3A3F47;margin-bottom:20px!important;max-width:70ch}
.cf-groupe{border:0;margin:0 0 22px;padding:0;min-width:0}
.cf-legende{font-family:var(--display);font-weight:700;font-size:1.05rem;color:var(--obsidian);margin-bottom:12px;padding:0}

/* Cartes de choix : la case native reste visible (accessibilité), toute la carte est son libellé. */
.cf-cartes{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr))}
.cf-carte{position:relative;display:flex;flex-direction:column;gap:8px;background:#fff;border:2px solid var(--line,#E3E5E9);
  border-radius:14px;padding:14px 14px 14px 46px;transition:border-color .2s,box-shadow .2s,background .2s;min-width:0}
.cf-carte:hover{border-color:#9AA0A8}
.cf-carte:focus-within{border-color:var(--obsidian)}
.cf-carte.cf-choisie{border-color:var(--obsidian);box-shadow:0 0 0 1px var(--obsidian),0 10px 24px rgba(11,12,14,.08)}
.cf-carte.cf-bloquee{background:#F3F4F6;border-style:dashed}
.cf-carte.cf-bloquee .cf-carte-label{cursor:not-allowed}
.cf-carte.cf-a-revoir{border-color:#A56800;box-shadow:0 0 0 1px #A56800}
.cf-carte-input{position:absolute;left:14px;top:16px;width:20px;height:20px;margin:0;accent-color:var(--obsidian);cursor:pointer}
.cf-carte-input:disabled{cursor:not-allowed}
.cf-carte-label{display:flex;flex-direction:column;gap:6px;cursor:pointer;color:var(--obsidian);margin:0;font-weight:400}
.cf-carte-tete{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 12px;align-items:baseline}
.cf-carte-titre{font-family:var(--display);font-weight:700;font-size:1.02rem;line-height:1.25}
.cf-carte-prix{font-family:var(--display);font-weight:600;font-size:.92rem;color:var(--obsidian);white-space:nowrap}
.cf-carte-prix.cf-sur-devis,.cf-sur-devis{color:#7A4D00;font-weight:600}
.cf-carte-benefice{color:#3A3F47;font-size:.93rem;line-height:1.5}
.cf-carte-description{color:#5A5F68;font-size:.86rem;line-height:1.5}
.cf-carte-frais{color:#5A5F68;font-size:.84rem;line-height:1.45;border-left:3px solid var(--line-forte,#C9CDD4);padding-left:8px}
.cf-carte-etat{font-size:.85rem;line-height:1.45;color:#8A1428;font-weight:600}
.cf-carte-etat:empty{display:none}
.cf-a-revoir .cf-carte-etat{color:#7A4D00}
.cf-badges{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.cf-badges li{font-size:.76rem;line-height:1.3;background:#F1F2F4;color:#2C3036;border-radius:999px;padding:4px 9px}
.cf-quantite{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:.9rem}
.cf-quantite label{font-weight:600;color:var(--obsidian);margin:0}
.cf-quantite-champ{width:84px;min-height:40px;padding:6px 10px;border:1px solid #8A9099;border-radius:8px;font:inherit;background:#fff;color:var(--obsidian)}
.cf-quantite-borne{color:#5A5F68;font-size:.82rem}
.cf-exemples{list-style:none;margin:4px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.cf-exemples img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;border-radius:8px;background:#E3E5E9}
.cf-exemple-legende{display:block;font-size:.76rem;color:#5A5F68;margin-top:4px;line-height:1.35}
.cf-cartes-familles .cf-carte{padding-left:46px}

/* Maquettes de style (illustratives, signalées comme telles) */
.cf-maquette{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:10px 14px 10px 1fr;gap:6px;aspect-ratio:16/9;
  border-radius:10px;padding:10px;margin-bottom:6px;background:#fff;border:1px solid #E3E5E9;overflow:hidden}
.cf-maquette span{display:block;border-radius:3px}
.cf-maquette-barre{grid-column:1/3;background:#E3E5E9}
.cf-maquette-titre{grid-column:1/2;background:#0B0C0E}
.cf-maquette-texte{grid-column:1/2;background:#C9CDD4}
.cf-maquette-image{grid-column:2/3;grid-row:2/5;background:#D6D8DC}
.cf-maquette-bouton{grid-column:1/2;width:60%;height:14px;align-self:start;background:#FF3B5C;border-radius:999px!important}
.cf-maquette-moderne{background:#fff}
.cf-maquette-moderne .cf-maquette-image{background:linear-gradient(135deg,#0B0C0E,#3A3F47)}
.cf-maquette-minimaliste{background:#FAFAFA;gap:10px}
.cf-maquette-minimaliste .cf-maquette-image{background:#EDEDED}
.cf-maquette-minimaliste .cf-maquette-bouton{background:#0B0C0E}
.cf-maquette-premium{background:#0B0C0E;border-color:#0B0C0E}
.cf-maquette-premium .cf-maquette-barre{background:#2A2D33}
.cf-maquette-premium .cf-maquette-titre{background:#C9A86A}
.cf-maquette-premium .cf-maquette-texte{background:#55595F}
.cf-maquette-premium .cf-maquette-image{background:linear-gradient(160deg,#3A3324,#0B0C0E)}
.cf-maquette-premium .cf-maquette-bouton{background:#C9A86A}
.cf-maquette-creatif{background:#FFF4E8}
.cf-maquette-creatif .cf-maquette-image{background:conic-gradient(from 30deg,#FF3B5C,#FFB347,#6C63FF,#FF3B5C);border-radius:50%}
.cf-maquette-creatif .cf-maquette-titre{transform:rotate(-3deg)}
.cf-maquette-futuriste{background:#07080B;border-color:#07080B}
.cf-maquette-futuriste .cf-maquette-barre{background:#1B1F2A}
.cf-maquette-futuriste .cf-maquette-titre{background:#5CE1E6}
.cf-maquette-futuriste .cf-maquette-texte{background:#2B3242}
.cf-maquette-futuriste .cf-maquette-image{background:linear-gradient(135deg,#5CE1E6,#6C63FF 60%,#07080B)}
.cf-maquette-corporate{background:#F4F7FB}
.cf-maquette-corporate .cf-maquette-titre{background:#1D3A6B}
.cf-maquette-corporate .cf-maquette-image{background:#C8D6EA}
.cf-maquette-corporate .cf-maquette-bouton{background:#1D3A6B}
.cf-maquette-elegant{background:#F7F3EE}
.cf-maquette-elegant .cf-maquette-titre{background:#3B2F2A;height:8px;align-self:center}
.cf-maquette-elegant .cf-maquette-image{background:linear-gradient(180deg,#E9DCCD,#CDB8A3)}
.cf-maquette-elegant .cf-maquette-bouton{background:#3B2F2A}
.cf-maquette-colore{background:#FFFDF2}
.cf-maquette-colore .cf-maquette-barre{background:#FFD23F}
.cf-maquette-colore .cf-maquette-titre{background:#3BCEAC}
.cf-maquette-colore .cf-maquette-image{background:linear-gradient(135deg,#EE4266,#540D6E)}
.cf-maquette-immersif{background:#0B0C0E;border-color:#0B0C0E;grid-template-rows:1fr}
.cf-maquette-immersif .cf-maquette-image{grid-column:1/3;grid-row:1/2;background:radial-gradient(circle at 40% 40%,#FF3B5C,#2A0A12 70%)}
.cf-maquette-immersif .cf-maquette-barre,.cf-maquette-immersif .cf-maquette-texte{display:none}
.cf-maquette-immersif .cf-maquette-titre,.cf-maquette-immersif .cf-maquette-bouton{grid-row:1/2;align-self:end;z-index:1}
.cf-maquette-dynamique .cf-maquette-image{background:repeating-linear-gradient(115deg,#FF3B5C 0 12px,#0B0C0E 12px 24px)}
.cf-maquette-sur-mesure{background:#fff;border-style:dashed;border-color:#8A9099}
.cf-maquette-sur-mesure span{background:transparent!important;border:1px dashed #8A9099}

/* Configurations de départ, engagement */
.cf-departs{background:#F6F7F9;border-radius:14px;padding:14px;margin-bottom:18px}
.cf-departs-titre{font-weight:600;margin-bottom:10px!important}
.cf-departs-liste{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.cf-departs-liste li{display:flex;flex-direction:column;gap:4px}
.cf-departs-desc{font-size:.84rem;color:#5A5F68;max-width:30ch}
.cf-bloc-engagement{background:#F6F7F9;border-radius:14px;padding:16px;margin-top:8px}
.cf-radios{display:flex;flex-wrap:wrap;gap:10px 22px;margin-bottom:12px}
.cf-radio{display:inline-flex;align-items:flex-start;gap:10px;min-height:44px;padding-block:4px}
.cf-radio input{width:20px;height:20px;margin:2px 0 0;flex:0 0 20px;accent-color:var(--obsidian)}
.cf-radio label{margin:0;color:var(--obsidian);font-weight:500;cursor:pointer;line-height:1.4}
.cf-case{display:flex}

/* ── Personnalisation et coordonnées ──────────────────────────────────── */
.cf-champs{display:grid;gap:16px 20px;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr))}
.cf-champ{display:flex;flex-direction:column;gap:6px;min-width:0}
.cf-champ-large{grid-column:1/-1}
.cf-champ label{font-weight:600;color:var(--obsidian);margin:0}
.cf-precision{font-weight:400;color:#5A5F68}
.cf-champ input,.cf-champ select,.cf-champ textarea{width:100%;min-height:46px;padding:10px 12px;border:1px solid #8A9099!important;
  border-radius:10px;font:inherit;font-size:1rem;color:var(--obsidian);background:#fff!important;box-shadow:none}
.cf-champ textarea{min-height:96px;resize:vertical}
.cf-champ input[type=file]{padding:8px}
.cf-champ [aria-invalid=true]{border-color:#C32218!important;box-shadow:0 0 0 1px #C32218}
.cf-aide-champ{font-size:.84rem;color:#5A5F68;line-height:1.45}
.cf-erreur-champ{font-size:.88rem;color:#A3141B;font-weight:600}
.cf-rgpd{font-size:.88rem;color:#3A3F47;margin:16px 0!important}
.cf-rgpd a{color:var(--obsidian)!important;text-decoration:underline}
.cf-actions-finales{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}

/* Retours (succès, erreur), lien de reprise */
.cf-retour{margin-top:16px}
.cf-retour p{padding:12px 14px;border-radius:12px;margin-bottom:10px!important;line-height:1.5}
.cf-retour-succes{background:#E7F6EE;color:#0B5A39;border:1px solid #A8DCC0}
.cf-retour-erreur{background:#FDECEC;color:#8A1414;border:1px solid #F3B4B4}
.cf-retour-info{background:#F1F2F4;color:#2C3036}
.cf-jeton{background:var(--obsidian);color:#fff;border-radius:14px;padding:18px;margin-top:6px}
.cf-jeton p{background:none!important;border:0!important;color:#D6D8DC!important;padding:0!important;margin-bottom:10px!important}
.cf-jeton .cf-jeton-titre{color:#fff!important;font-family:var(--display);font-weight:700}
.cf-jeton label{display:block;color:#fff;font-weight:600;margin-bottom:6px}
.cf-jeton code{color:var(--coral-clair,#FF6B84);overflow-wrap:anywhere;font-size:.9rem}
.cf-ligne{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.cf-ligne input{flex:1 1 220px;min-width:0;min-height:46px;padding:10px 12px;border-radius:10px;border:1px solid #8A9099;font:inherit;background:#fff;color:var(--obsidian)}

/* Navigation Précédent / Suivant */
.cf-navigation{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-top:18px}
.cf-message-etape{flex:1 1 220px;color:#8A1428;font-weight:600;font-size:.92rem;text-align:center}
.cf-message-etape:empty{visibility:hidden}

/* ── Récapitulatif inclus / non inclus ────────────────────────────────── */
.cf-synthese-bloc{border-top:1px solid var(--line,#E3E5E9);padding-top:18px;margin-top:18px}
.cf-synthese-bloc:first-child{border-top:0;padding-top:0;margin-top:0}
.cf-synthese-bloc h3{font-size:1.1rem;margin:0 0 10px}
.cf-inclus > h3::before{content:"✓ ";color:#0F7B4F}
.cf-non-inclus > h3::before{content:"— ";color:#8A1428}
.cf-synthese-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.cf-synthese-totaux{margin-top:12px}

/* ── Panneau récapitulatif ────────────────────────────────────────────── */
.cf-recap{background:var(--obsidian);color:#fff;border-radius:18px;min-width:0}
.cf-recap h2{color:#fff!important;font-size:1.3rem!important;margin-bottom:14px!important}
.cf-recap-barre{display:none}
.cf-recap-corps{padding:22px}
.cf-recap-choix{margin:0 0 14px;display:grid;gap:8px}
.cf-recap-choix div{display:grid;grid-template-columns:minmax(90px,auto) 1fr;gap:10px}
.cf-recap-choix dt{color:#A9AEB6;font-size:.86rem}
.cf-recap-choix dd{margin:0;font-weight:600;overflow-wrap:anywhere}
.cf-synthese .cf-recap-choix dt{color:#5A5F68}
.cf-synthese .cf-recap-choix dd{color:var(--obsidian)}
.cf-recap-sous-titre{font-size:.82rem!important;text-transform:uppercase;letter-spacing:.12em;color:var(--coral-clair,#FF6B84)!important;
  margin:14px 0 6px!important;font-weight:700}
.cf-synthese .cf-recap-sous-titre{color:#A3142C!important}
.cf-lignes,.cf-notes,.cf-alertes{list-style:none;margin:0;padding:0}
.cf-lignes li{display:flex;justify-content:space-between;gap:12px;padding:6px 0;border-bottom:1px solid rgba(255,255,255,.1);font-size:.93rem}
.cf-synthese .cf-lignes li{border-bottom-color:var(--line,#E3E5E9);color:var(--obsidian)}
.cf-ligne-libelle{overflow-wrap:anywhere;min-width:0}
.cf-montant{white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:600}
.cf-recap .cf-sur-devis{color:#FFC566}
.cf-sans-incidence{color:#5A5F68;font-size:.86rem;white-space:nowrap}
.cf-totaux{margin:14px 0 0;display:grid;gap:6px}
.cf-total{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.cf-total dt{color:#D6D8DC;font-size:.92rem}
.cf-total dd{margin:0;text-align:right}
.cf-total-principal{border-top:1px solid rgba(255,255,255,.18);padding-top:12px;margin-top:4px}
.cf-total-principal dt{color:#fff;font-weight:700}
.cf-total-principal .cf-montant{font-family:var(--display);font-size:1.45rem;font-weight:800;color:#fff}
.cf-total-offre dd{color:#9FE3C1;font-weight:600}
.cf-synthese .cf-total dt{color:#3A3F47}
.cf-synthese .cf-total dd,.cf-synthese .cf-total-principal .cf-montant{color:var(--obsidian)}
.cf-synthese .cf-total-offre dd{color:#0B5A39}
.cf-synthese .cf-total-principal{border-top-color:var(--line,#E3E5E9)}
.cf-notes li{font-size:.86rem;color:#D6D8DC;padding:4px 0;line-height:1.45}
.cf-synthese .cf-notes li{color:#3A3F47}
.cf-alertes{margin-top:12px}
.cf-alertes li{font-size:.82rem;color:#FFC566;padding:3px 0;line-height:1.45}
.cf-synthese .cf-alertes li{color:#7A4D00}
.cf-mention-fiscale{font-size:.82rem;color:#A9AEB6;margin-top:10px!important}
.cf-synthese .cf-mention-fiscale{color:#5A5F68}
.cf-mention{font-size:.82rem;color:#D6D8DC;line-height:1.5;margin-top:14px!important;border-top:1px solid rgba(255,255,255,.12);padding-top:12px}
.cf-recap-statut{min-height:1.4em;font-size:.86rem;color:#FFC566;margin-top:8px!important}
.cf-recap-vide{color:#D6D8DC}
.cf-recap-erreur{background:rgba(255,59,92,.12);border:1px solid rgba(255,107,132,.5);border-radius:12px;padding:12px}
.cf-recap-erreur-titre{font-weight:700;color:#fff;margin-bottom:6px!important}
.cf-recap-erreur ul{margin:0;padding-left:18px;color:#FFD7DE;font-size:.88rem}
.cf-recap .cf-btn-lien{color:#fff!important}
.cf-en-calcul .cf-recap-contenu{opacity:.55;transition:opacity .2s}
.cf-recap-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.cf-recap-actions .cf-btn{flex:1 1 auto}
.cf-recap .cf-btn-contour{background:transparent;color:#fff!important;border-color:rgba(255,255,255,.4)}
.cf-recap .cf-btn-contour:hover{border-color:#fff}

/* ── Comparaison ──────────────────────────────────────────────────────── */
.cf-comparer{margin-top:40px;background:#fff;border:1px solid var(--line,#E3E5E9);border-radius:18px;padding:clamp(18px,3vw,32px)}
.cf-comparer-liste{border:0;padding:0;margin:0 0 16px;min-width:0}
.cf-comparer-liste legend{font-weight:700;margin-bottom:8px;padding:0}
.cf-comparer-liste .cf-case{display:flex}
.cf-comparer-ajout{margin-bottom:16px;max-width:640px}
.cf-comparer-ajout label{display:block;font-weight:600;margin-bottom:6px}
.cf-table-cadre{overflow-x:auto;margin-top:16px;border:1px solid var(--line,#E3E5E9);border-radius:12px;max-width:100%}
.cf-table{width:100%;border-collapse:collapse;font-size:.92rem;min-width:520px}
.cf-table caption{text-align:left;padding:10px 12px;color:#3A3F47;font-size:.86rem}
.cf-table th,.cf-table td{padding:10px 12px;border-top:1px solid var(--line,#E3E5E9);text-align:left;vertical-align:top}
.cf-table thead th{background:#F6F7F9;font-family:var(--display)}
.cf-table tbody th{color:#3A3F47;font-weight:600;width:26%}

/* ── Ordinateur : panneau permanent à droite ──────────────────────────── */
@media (min-width:1024px){
  .cf-grille{grid-template-columns:minmax(0,1fr) 360px;align-items:start}
  .cf-recap{position:sticky;top:96px;max-height:calc(100vh - 112px);overflow:auto}
}
@media (min-width:1600px){
  .cf-grille{grid-template-columns:minmax(0,1fr) 400px}
}

/* ── Tablette et mobile : étapes compactes, panneau compact en bas ────── */
@media (max-width:1023.98px){
  .cf-etapes{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
  .cf-etape-bouton{flex-direction:column;justify-content:center;gap:4px;padding:6px 2px;font-size:.72rem;text-align:center}
  .cf-etape-nom{display:none}
  .cf-courante .cf-etape-nom{display:none}
  .cf-parcours{padding-bottom:84px}
  .cf-recap{position:fixed;left:0;right:0;bottom:0;z-index:90;border-radius:18px 18px 0 0;
    box-shadow:0 -10px 30px rgba(11,12,14,.25);max-height:80vh;display:flex;flex-direction:column}
  .cf-recap-barre{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;min-height:64px}
  .cf-recap-resume{display:flex;flex-direction:column;min-width:0}
  .cf-recap-resume-libelle{font-size:.78rem;color:#A9AEB6}
  .cf-recap-resume strong{font-family:var(--display);font-size:1.05rem;color:#fff;overflow-wrap:anywhere}
  .cf-recap-bascule{flex:0 0 auto;min-height:44px;padding:8px 18px;border-radius:999px;background:var(--coral,#FF3B5C);
    color:var(--obsidian);border:0;font-family:var(--display);font-weight:700;cursor:pointer}
  .cf-recap-corps{display:none;overflow:auto;padding:4px 16px 18px;border-top:1px solid rgba(255,255,255,.12)}
  .cf-recap.cf-recap-ouvert .cf-recap-corps{display:block}
}
@media (max-width:560px){
  .cf-navigation .cf-btn{flex:1 1 40%}
  .cf-message-etape{order:3;flex-basis:100%}
  .cf-actions-finales .cf-btn,.cf-synthese-actions .cf-btn{width:100%}
  .cf-carte{padding:12px 12px 12px 42px}
  .cf-carte-input{left:12px;top:14px}
}
@media (max-width:360px){
  .cf-etape-num{flex-basis:22px;height:22px;font-size:.72rem}
}

@media (prefers-reduced-motion:reduce){
  .cf-app *,.cf-app *::before,.cf-app *::after{transition:none!important;animation:none!important}
  .cf-famille article:hover,.cf-btn:hover{transform:none}
}

/* Le formulaire porte les étapes : aucune décoration héritée des formulaires du site. */
.cf-app .cf-formulaire{background:none!important;border:0!important;padding:0!important;margin:0!important;
  box-shadow:none!important;max-width:none!important;border-radius:0!important}
.cf-lignes .cf-ligne-libelle{flex:1 1 auto;min-width:0}
.cf-lignes .cf-montant,.cf-lignes .cf-sur-devis{flex:0 1 auto;text-align:right;white-space:normal;min-width:7.5em}
.cf-total dd .cf-montant{white-space:normal}
.cf-ancre{display:block;height:0;overflow:hidden}

/* ── Panier multi-prestations (une prestation par bloc, sous-total par prestation, retrait) ── */
.cf-recap-famille{margin:0 0 12px;padding:0 0 10px;border-bottom:1px solid rgba(255,255,255,.12)}
.cf-recap-famille-tete{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px}
.cf-recap-famille-titre{font-size:.98rem!important;margin:0!important;color:#fff!important}
.cf-synthese .cf-recap-famille{border-bottom-color:var(--line,#E3E5E9)}
.cf-synthese .cf-recap-famille-titre{color:var(--obsidian)!important}
.cf-retirer{min-height:36px;padding:4px 8px;font-size:.88rem}
.cf-sous-total{font-weight:700;border-bottom:0!important;padding-top:8px!important}
.cf-carte-deja{display:block;margin-top:6px;color:#0B5A39;font-size:.88rem;font-weight:600}
/* 20/10/2026 : paiement de l'abonnement par mois ou à l'année (montants et dates du serveur) */
.cf-paiement{margin-top:8px}
.cf-paiement-abonnement dd{overflow-wrap:anywhere}

/* 29/10/2026 — parcours simplifié : acheter ou louer, recommandations, projets sur devis repliés, confiance */
.cf-cartes-mode{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.cf-cartes-mode .cf-carte-titre{font-size:1.08rem}
.cf-groupe-reco{border:1px solid var(--coral-fonce);border-radius:14px;padding:14px 16px;background:#fff7f8}
.cf-groupe-reco .cf-legende::after{content:" · le plus souvent choisi";font-weight:400;color:var(--muted)}
.cf-plus{margin-top:14px}
.cf-plus>summary{cursor:pointer;font-weight:600;color:var(--ink-2);padding:8px 0}
.cf-plus>.cf-cartes{margin-top:10px}
.cf-inclus-note{border-left:3px solid var(--coral-fonce);padding-left:10px}
.cf-confiance ul{margin:0;padding-left:1.1em}
.cf-confiance li{margin:.25em 0}
