/* SuisseFidu · page /calculateur.html
   Prolonge assets/site.css : fond blanc, cartes en verre dépoli (gris Apple translucide + liseré spéculaire),
   un seul bleu de marque, dégradés bleus pour les actions, les sélections et le panneau de résultat.
   Tout est préfixé « cx- » et placé sous .cx pour ne rien modifier ailleurs sur le site. */

.cx{
  --cx-r:clamp(26px,3.4vw,36px);
  --cx-card:rgb(245 245 247/.8);
  --cx-top:inset 0 1px 0 rgb(255 255 255/.95),inset 0 0 0 1px rgb(255 255 255/.7);
  --cx-lift:0 1px 2px rgb(0 0 0/.05),0 24px 56px -34px rgb(0 0 0/.28);
  --cx-tile:rgb(255 255 255/.74);
  --cx-tile-line:inset 0 1px 0 #fff,inset 0 0 0 1px rgb(11 26 48/.07),0 1px 2px rgb(11 26 48/.05);
  --cx-blue:linear-gradient(180deg,rgb(0 112 224),rgb(0 92 188));
  --cx-blue-flow:linear-gradient(90deg,rgb(var(--primary-soft)),rgb(var(--primary)));
  color-scheme:light;
  padding-bottom:clamp(16px,3vw,32px);
}
.cx [hidden]{display:none!important}
:where(.cx) :where(button,input,summary){font:inherit;color:inherit}
.cx button,.cx label,.cx summary{touch-action:manipulation}
.cx button{-webkit-tap-highlight-color:transparent}
.cx svg{display:block}
.cx-sprite{position:absolute;width:0;height:0;overflow:hidden}
.cx-ic{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.cx-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
html:not(.js) .cx-app{display:none}
.cx-noscript{padding:20px 24px;border-radius:22px;background:var(--cx-card);box-shadow:var(--cx-top);color:var(--ink-2)}
.cx-noscript a{color:var(--kick);font-weight:600;text-decoration:underline}

/* ---- boutons du site, adaptés à la page ---- */
.cx .btn .cx-ic{width:20px;height:20px}
.cx .btn:focus-visible{border-radius:999px}
.cx .btn:disabled{cursor:not-allowed;color:var(--ink-3);background:rgb(11 26 48/.06);border-color:transparent;box-shadow:none;transform:none;-webkit-backdrop-filter:none;backdrop-filter:none}
.cx .btn:disabled:hover{transform:none}
.cx-result :focus-visible{outline-color:#8fc6ff}

/* ---- progression ---- */
.cx-progress{margin:0 0 22px}
.cx-prow{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:12px;font-size:14px;font-weight:500;color:var(--ink-2)}
.cx-prow span:last-child{font-weight:600;color:var(--ink)}
.cx-track{position:relative;height:10px;overflow:hidden;border-radius:999px;background:rgb(11 26 48/.08);box-shadow:inset 0 1px 2px rgb(11 26 48/.10)}
.cx-fill{position:absolute;inset:0 auto 0 0;width:6%;border-radius:inherit;background:var(--cx-blue-flow);box-shadow:inset 0 1px 0 rgb(255 255 255/.45);transition:width .7s var(--ease)}

/* ---- étapes : cartes de verre ---- */
.cx-steps{display:flex;flex-direction:column;gap:clamp(14px,2.2vw,20px)}
.cx-step{position:relative;border-radius:var(--cx-r);background:var(--cx-card);box-shadow:var(--cx-top),var(--cx-lift);transition:box-shadow .6s var(--ease),background .4s ease}
.cx-step[data-state="open"]{background:rgb(245 245 247/.94);box-shadow:var(--cx-top),0 0 0 1.5px rgb(var(--primary)/.24),0 1px 2px rgb(0 0 0/.05),0 36px 72px -38px rgb(0 70 160/.5)}
.cx-step[data-state="locked"]{background:rgb(245 245 247/.45);box-shadow:inset 0 0 0 1px rgb(11 26 48/.06)}
.cx-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;padding:20px clamp(18px,3.4vw,30px)}
.cx-step[data-state="open"] .cx-head{padding-bottom:6px}
.cx-badge{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;color:var(--kick);background:rgb(var(--primary)/.10);box-shadow:inset 0 0 0 1px rgb(var(--primary)/.14);transition:background .4s var(--ease),color .4s var(--ease),box-shadow .4s var(--ease)}
.cx-step[data-state="open"] .cx-badge{color:#fff;background:var(--cx-blue);box-shadow:inset 0 1px 0 rgb(255 255 255/.45),0 10px 22px -10px rgb(var(--primary)/.85)}
.cx-step[data-state="locked"] .cx-badge{color:var(--ink-3);background:rgb(11 26 48/.05);box-shadow:none}
.cx-badge .cx-ic{display:none}
.cx-step[data-state="open"] .cx-i-step,.cx-step[data-state="done"] .cx-i-check,.cx-step[data-state="locked"] .cx-i-lock{display:block}
.cx-id{min-width:0}
.cx-kicker{font:600 .75rem/1.2 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--kick)}
.cx-title{margin-top:4px;font:600 clamp(21px,2.6vw,27px)/1.15 var(--f-display-n);letter-spacing:-.028em;outline-offset:6px}
.cx-step[data-state="locked"] .cx-kicker,.cx-step[data-state="locked"] .cx-title{color:var(--ink-3)}
.cx-sum{margin-top:4px;font-size:15px;line-height:1.35;color:var(--ink-2)}
.cx-step:not([data-state="done"]) .cx-sum{display:none}
.cx-edit{display:inline-flex;align-items:center;min-height:44px;padding:0 18px;border:0;border-radius:999px;background:rgb(255 255 255/.85);color:var(--kick);font-size:15px;font-weight:600;cursor:pointer;box-shadow:inset 0 1px 0 #fff,inset 0 0 0 1px rgb(11 26 48/.08),0 6px 16px -10px rgb(11 26 48/.35);transition:transform .35s var(--ease),background .25s ease}
.cx-edit:hover{background:#fff;transform:translateY(-1px)}
.cx-edit:focus-visible{border-radius:999px}
/* Une étape s’ouvre en douceur mais se referme d’un coup : la suivante ne bouge pas pendant le défilement. */
.cx-body{display:grid;grid-template-rows:0fr}
.cx-step[data-state="open"] .cx-body{grid-template-rows:1fr;transition:grid-template-rows .5s var(--ease)}
.cx-body-in{min-height:0;overflow:hidden;overflow:clip;visibility:hidden}
.cx-step[data-state="open"] .cx-body-in{visibility:visible}
.cx-pad{padding:14px clamp(24px,4vw,34px) 38px}
.cx-lead{margin-bottom:20px;font-size:18px;line-height:1.45;letter-spacing:-.012em;color:var(--ink)}
.cx-hint,.cx-notice{display:flex;gap:12px;align-items:flex-start;margin-bottom:22px;padding:14px 16px;border-radius:18px;background:rgb(var(--primary)/.07);box-shadow:inset 0 0 0 1px rgb(var(--primary)/.08);font-size:15px;line-height:1.45;color:var(--ink-2)}
.cx-notice{background:rgb(var(--primary)/.11);color:var(--ink)}
.cx-hint .cx-ic,.cx-notice .cx-ic{width:20px;height:20px;margin-top:1px;color:var(--kick)}

/* ---- volumes ---- */
.cx-vol{display:grid;gap:12px;margin-bottom:28px}
.cx-vhead{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.cx-vlabel{display:flex;align-items:center;gap:12px;font-size:17px;font-weight:600;letter-spacing:-.012em}
.cx-vtag{display:grid;place-items:center;flex:none;width:28px;height:28px;border-radius:50%;font-size:13px;font-weight:600;color:var(--kick);background:rgb(var(--primary)/.10)}
.cx-stepper{display:inline-flex;align-items:center;gap:12px}
.cx-rbtn{display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:#fff;color:var(--kick);cursor:pointer;box-shadow:inset 0 0 0 1px rgb(11 26 48/.08),0 1px 2px rgb(11 26 48/.08),0 8px 18px -10px rgb(11 26 48/.35);transition:transform .3s var(--ease),box-shadow .3s var(--ease)}
.cx-rbtn:hover{transform:translateY(-1px);box-shadow:inset 0 0 0 1px rgb(11 26 48/.1),0 1px 2px rgb(11 26 48/.08),0 12px 22px -10px rgb(11 26 48/.45)}
.cx-rbtn:active{transform:scale(.96)}
.cx-rbtn:disabled{color:var(--ink-3);cursor:not-allowed;transform:none;box-shadow:inset 0 0 0 1px rgb(11 26 48/.08)}
.cx-rbtn:focus-visible{border-radius:50%}
.cx-rbtn .cx-ic{width:20px;height:20px;stroke-width:2.2}
.cx-num{width:88px;height:48px;padding:0 8px;border:0;border-radius:16px;background:#fff;color:var(--ink);box-shadow:inset 0 0 0 1px rgb(11 26 48/.12),inset 0 1px 2px rgb(11 26 48/.06);text-align:center;font-size:22px;font-weight:600;letter-spacing:-.02em;font-variant-numeric:tabular-nums;-moz-appearance:textfield;appearance:textfield}
.cx-num::-webkit-outer-spin-button,.cx-num::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.cx-num:focus-visible{border-radius:16px;outline-offset:2px}
.cx-range{--f:0;-webkit-appearance:none;appearance:none;display:block;width:100%;height:44px;margin:0;background:transparent;cursor:pointer}
.cx-range:focus-visible{outline:none}
.cx-range::-webkit-slider-runnable-track{height:12px;border-radius:999px;background:linear-gradient(90deg,rgb(var(--primary-soft)),rgb(var(--primary))) 0 0/calc(16px + (100% - 32px) * var(--f)) 100% no-repeat,rgb(11 26 48/.10);box-shadow:inset 0 1px 2px rgb(11 26 48/.10)}
.cx-range::-moz-range-track{height:12px;border-radius:999px;background:linear-gradient(90deg,rgb(var(--primary-soft)),rgb(var(--primary))) 0 0/calc(16px + (100% - 32px) * var(--f)) 100% no-repeat,rgb(11 26 48/.10);box-shadow:inset 0 1px 2px rgb(11 26 48/.10)}
.cx-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:32px;height:32px;margin-top:-10px;border:0;border-radius:50%;background:#fff;box-shadow:0 0 0 1px rgb(11 26 48/.10),0 2px 4px rgb(11 26 48/.18),0 8px 18px -6px rgb(11 26 48/.35)}
.cx-range::-moz-range-thumb{width:32px;height:32px;border:0;border-radius:50%;background:#fff;box-shadow:0 0 0 1px rgb(11 26 48/.10),0 2px 4px rgb(11 26 48/.18),0 8px 18px -6px rgb(11 26 48/.35)}
.cx-range:focus-visible::-webkit-slider-thumb{outline:3px solid rgb(var(--primary));outline-offset:3px}
.cx-range:focus-visible::-moz-range-thumb{outline:3px solid rgb(var(--primary));outline-offset:3px}
.cx-scale{display:flex;justify-content:space-between;padding:0 4px;margin-top:-10px;font-size:12.5px;color:var(--ink-2);font-variant-numeric:tabular-nums}
.cx-totals{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin-bottom:22px}
.cx-tot{display:grid;gap:4px;padding:16px 18px;border-radius:18px;background:var(--cx-tile);box-shadow:var(--cx-tile-line)}
.cx-tot-k{font:600 .72rem/1.2 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}
.cx-tot-v{font-size:19px;font-weight:600;letter-spacing:-.018em}
.cx-tot-v b{font-weight:600;font-variant-numeric:tabular-nums}

/* ---- choix : cartes claires, la carte choisie prend le bleu ---- */
.cx-opts{display:grid;gap:14px}
.cx-opts-2{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}
.cx-opt,.cx-tier{position:relative;background:var(--cx-tile);box-shadow:var(--cx-tile-line);cursor:pointer;transition:transform .4s var(--ease),box-shadow .35s var(--ease),background .3s ease}
.cx-opt:hover,.cx-tier:hover{transform:translateY(-2px);box-shadow:inset 0 1px 0 #fff,inset 0 0 0 1px rgb(11 26 48/.09),0 16px 32px -20px rgb(11 26 48/.5)}
.cx-opt{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"ind txt price";align-items:center;gap:14px;padding:17px 18px;border-radius:22px}
.cx-opt input,.cx-tier input{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}
.cx-ind{grid-area:ind;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;color:transparent;background:#fff;box-shadow:inset 0 0 0 1.5px rgb(11 26 48/.24);transition:background .35s var(--ease),color .35s var(--ease),box-shadow .35s var(--ease)}
.cx-ind .cx-ic{width:16px;height:16px;stroke-width:2.8}
.cx-opt[data-checked="true"],.cx-tier[data-checked="true"]{background:linear-gradient(180deg,rgb(var(--primary)/.13),rgb(var(--primary)/.05)),#fff;box-shadow:inset 0 1px 0 #fff,inset 0 0 0 1.5px rgb(var(--primary)/.8),0 16px 32px -20px rgb(var(--primary)/.65)}
.cx-opt[data-checked="true"] .cx-ind,.cx-tier[data-checked="true"] .cx-ind{color:#fff;background:var(--cx-blue);box-shadow:inset 0 1px 0 rgb(255 255 255/.45),0 4px 10px -3px rgb(var(--primary)/.7)}
.cx-otxt{grid-area:txt;display:grid;gap:3px;min-width:0}
.cx-ot{font-size:17px;font-weight:600;line-height:1.3;letter-spacing:-.012em}
.cx-od{font-size:14.5px;line-height:1.4;color:var(--ink-2)}
.cx-op{grid-area:price;text-align:right;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap;letter-spacing:-.01em}
.cx-op small{display:block;font-size:12.5px;font-weight:500;color:var(--ink-2)}
.cx-op:empty{display:none}
.cx-tag{display:inline-block;margin-left:10px;padding:2px 10px;border-radius:999px;background:rgb(var(--primary)/.12);color:var(--kick);font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;vertical-align:middle}
.cx-opt[data-disabled="true"],.cx-tier[data-disabled="true"]{background:transparent;box-shadow:none;cursor:not-allowed;transform:none;outline:1.5px dashed rgb(11 26 48/.22);outline-offset:-1.5px}
.cx-opt[data-disabled="true"] .cx-ot,.cx-opt[data-disabled="true"] .cx-od,.cx-opt[data-disabled="true"] .cx-op,.cx-opt[data-disabled="true"] .cx-op small{color:var(--ink-3)}
.cx-opt[data-disabled="true"] .cx-ind{box-shadow:none;outline:1.5px dashed rgb(11 26 48/.22);outline-offset:-1.5px;background:transparent}
.cx-opt:has(input:focus-visible),.cx-tier:has(input:focus-visible){outline:3px solid rgb(var(--primary));outline-offset:3px}
@supports not selector(:has(*)){
  .cx-opt input:focus-visible+.cx-ind{box-shadow:0 0 0 3px #fff,0 0 0 6px rgb(var(--primary))}
}

/* ---- niveaux ---- */
.cx-tiers{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px}
.cx-tier{display:flex;flex-direction:column;gap:6px;padding:20px;border-radius:24px}
.cx-ttop{display:flex;align-items:center;justify-content:space-between;gap:8px}
.cx-ttag{font:600 .72rem/1.2 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}
.cx-tt{display:flex;align-items:center;flex-wrap:wrap;gap:6px 0;margin:4px 0 10px;font:600 28px/1.1 var(--f-display);letter-spacing:-.03em}
.cx-tlist{display:grid;gap:9px;margin:0 0 14px;padding:0;list-style:none;font-size:15px}
.cx-tli{display:flex;align-items:center;gap:10px}
.cx-tli .cx-ic{width:18px;height:18px;stroke-width:2.4}
.cx-tli[data-in="1"] .cx-ic{color:var(--kick)}
.cx-tli[data-in="0"],.cx-tli[data-in="0"] .cx-ic{color:var(--ink-3)}
.cx-tfoot{margin-top:auto;padding-top:14px;border-top:1px solid rgb(11 26 48/.09);font-size:13.5px;line-height:1.4;color:var(--ink-2)}
.cx-tag.cx-flag{position:absolute;top:-13px;left:20px;margin:0;padding:4px 13px;color:#fff;background:var(--cx-blue);box-shadow:inset 0 1px 0 rgb(255 255 255/.4),0 6px 14px -6px rgb(var(--primary)/.8)}
@media (min-width:720px){.cx-tfoot{min-height:calc(4 * 1.4em + 14px)}}

/* ---- étape 7 : TVA, salaires, domiciliation ---- */
.cx-sub{display:flex;align-items:baseline;justify-content:space-between;gap:4px 14px;flex-wrap:wrap;margin:32px 0 14px}
.cx-sub:first-child{margin-top:0}
.cx-sub h3{font:600 19px/1.25 var(--f-display-n);letter-spacing:-.018em}
.cx-sub p{font-size:14.5px;color:var(--ink-2)}
.cx-sal{display:flex;align-items:center;justify-content:space-between;gap:14px 18px;flex-wrap:wrap;padding:16px 18px;border-radius:22px;background:var(--cx-tile);box-shadow:var(--cx-tile-line)}
.cx-saltxt{display:grid;gap:3px;min-width:0}
.cx-salnote{display:flex;gap:10px;align-items:flex-start;margin-top:14px;font-size:14px;line-height:1.45;color:var(--ink-2)}
.cx-salnote .cx-ic{width:18px;height:18px;margin-top:1px;color:var(--kick)}
.cx-actions{display:flex;justify-content:flex-end;align-items:center;gap:12px 20px;flex-wrap:wrap;margin-top:28px}

/* ---- barre d’estimation : verre flottant, comme l’en-tête du site ---- */
.cx-dock{position:sticky;bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:30;margin-top:clamp(18px,3vw,28px);pointer-events:none}
.cx-dock-in{pointer-events:auto;display:flex;align-items:center;justify-content:space-between;gap:14px;max-width:780px;margin:0 auto;padding:10px 12px 10px 24px;border-radius:26px;background:rgb(255 255 255/.92);-webkit-backdrop-filter:blur(30px) saturate(200%);backdrop-filter:blur(30px) saturate(200%);box-shadow:inset 0 1px 0 rgb(255 255 255/.95),inset 0 0 0 1px rgb(255 255 255/.5),0 0 0 1px rgb(11 26 48/.07),0 14px 40px -14px rgb(11 26 48/.5)}
.cx-dl{min-width:0}
.cx-dk{display:block;font:600 .7rem/1.2 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2);white-space:nowrap}
.cx-dv{display:flex;align-items:baseline;gap:6px;font-variant-numeric:tabular-nums}
.cx-dv b{font-size:30px;font-weight:600;line-height:1.1;letter-spacing:-.03em}
.cx-dv span{font-size:15px;font-weight:500;color:var(--ink-2)}
.cx-dv.is-empty b,.cx-dv.is-empty span{color:var(--ink-3)}
.cx-dv.is-empty b{font-weight:400}
.cx-dside{display:flex;align-items:center;gap:12px;min-width:0}
.cx-donce{font-size:13.5px;font-weight:500;color:var(--ink-2);text-align:right}
.cx-dstep{padding-right:12px;font-size:13.5px;font-weight:500;color:var(--ink-2);white-space:nowrap}
.cx-dock .btn{height:46px;padding:0 22px;font-size:15px}

/* ---- résultat : panneau bleu nuit, comme le bandeau « Parlons de votre projet » ---- */
.cx-after{display:flex;flex-direction:column;gap:clamp(14px,2.2vw,20px);margin-top:clamp(14px,2.2vw,20px)}
.cx-panel{padding:clamp(22px,4vw,38px);border-radius:var(--cx-r);background:var(--cx-card);box-shadow:var(--cx-top),var(--cx-lift)}
.cx-result{position:relative;isolation:isolate;overflow:hidden;overflow:clip;padding:clamp(24px,5vw,48px);border-radius:clamp(28px,4vw,48px);color:var(--on-dark);background:linear-gradient(165deg,#051226 0%,#0a2554 55%,#0d3f86 130%);box-shadow:0 40px 80px -44px rgb(4 14 36/.75)}
.cx-result .aura{width:62%;aspect-ratio:1}
.cx-result .aura.a-blue{right:-18%;top:-46%}
.cx-result .aura.a-deep{left:-22%;bottom:-70%;opacity:.8}
.cx-rkick{font:600 .78rem/1.2 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:#9ccbff;outline-offset:6px}
.cx-rtier{margin-top:8px;font:600 clamp(20px,3.2vw,26px)/1.2 var(--f-display-n);letter-spacing:-.022em;color:#fff}
.cx-rdisp{margin-top:22px;padding:clamp(20px,4vw,32px);border-radius:26px;background:rgb(255 255 255/.07);box-shadow:inset 0 1px 0 rgb(255 255 255/.22),inset 0 0 0 1px rgb(255 255 255/.10)}
.cx-ramt{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 12px;font-variant-numeric:tabular-nums}
.cx-cur{font-size:clamp(20px,3vw,26px);font-weight:600;color:var(--on-dark-2)}
.cx-ramt b{font:600 clamp(56px,12vw,96px)/1 var(--f-display);letter-spacing:-.045em;color:#fff}
.cx-per{font-size:clamp(17px,2.6vw,22px);font-weight:500;color:var(--on-dark-2)}
.cx-rsub{margin-top:14px;font-size:16px;color:var(--on-dark-2)}
.cx-rsub b{font-weight:600;color:#fff}
.cx-gt{margin:28px 0 4px;font:600 .78rem/1.4 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:#9ccbff}
.cx-lines{display:grid}
.cx-line{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:14px 2px;box-shadow:inset 0 -1px 0 rgb(255 255 255/.12)}
.cx-line:last-child{box-shadow:none}
.cx-l{min-width:0;color:var(--on-dark)}
.cx-v{font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums;color:#fff}
.cx-line.is-incl .cx-v,.cx-line.is-devis .cx-v{font-weight:500;color:var(--on-dark-2)}
.cx-line.is-total{padding-top:18px;font-size:19px}
.cx-line.is-total .cx-l{font-weight:600;color:#fff}
.cx-fine{display:grid;gap:8px;margin-top:24px;font-size:14px;line-height:1.5;color:var(--on-dark-2)}
.cx-ractions{display:flex;justify-content:flex-start;margin-top:26px}

/* ---- contact ---- */
.cx-ph2{font:600 clamp(25px,3.6vw,34px)/1.12 var(--f-display-n);letter-spacing:-.028em;outline-offset:6px}
.cx-lead2{margin-top:10px;max-width:36em;font-size:17px;color:var(--ink-2)}
.cx-contact .cx-actions{justify-content:flex-start;margin-top:24px}
.cx-actions .go{min-height:44px}
.cx-note{margin-top:14px;max-width:44em;font-size:13.5px;line-height:1.5;color:var(--ink-2)}
.cx-coords{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px;margin-top:26px}
.cx-coord{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;padding:12px 12px 12px 18px;border-radius:18px;background:var(--cx-tile);box-shadow:var(--cx-tile-line)}
.cx-cmain{display:flex;align-items:center;gap:12px;min-width:0;min-height:44px;color:inherit}
.cx-cmain>.cx-ic{width:20px;height:20px;color:var(--kick)}
.cx-ct{display:grid;min-width:0}
.cx-ck{font:600 .7rem/1.3 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}
.cx-cv{font-weight:600;overflow-wrap:anywhere;color:var(--ink)}
.cx-cmain:hover .cx-cv{color:var(--kick)}
.cx-recap{margin-top:22px}
.cx-recap summary{display:inline-flex;align-items:center;gap:8px;min-height:44px;color:var(--kick);font-weight:600;cursor:pointer;list-style:none}
.cx-recap summary::-webkit-details-marker{display:none}
.cx-recap summary .cx-ic{width:18px;height:18px;transition:transform .3s var(--ease)}
.cx-recap[open] summary .cx-ic{transform:rotate(90deg)}
.cx-recap textarea{display:block;width:100%;min-height:270px;margin-top:10px;padding:16px 18px;border:0;border-radius:18px;background:#fff;box-shadow:inset 0 0 0 1px rgb(11 26 48/.12);font:400 13.5px/1.6 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--ink);resize:vertical}
.cx-recap .cx-actions{justify-content:flex-start;margin-top:14px}

/* ---- services à la carte ---- */
.cx-ctitle{font:600 clamp(22px,3.2vw,28px)/1.15 var(--f-display-n);letter-spacing:-.024em}
.cx-csub{margin-top:6px;font-size:15px;color:var(--ink-2)}
.cx-csub+#carteList{margin-top:26px}
.cx-ccat{margin:26px 0 12px;font:600 .78rem/1.4 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}
.cx-cgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px}
.cx-item{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:4px 14px;padding:15px 18px;border-radius:18px;background:var(--cx-tile);box-shadow:var(--cx-tile-line)}
.cx-il{min-width:0;font-weight:500}
.cx-ip{font-weight:600;font-variant-numeric:tabular-nums;color:var(--kick)}
.cx-foot{margin-top:clamp(22px,3.5vw,36px);font-size:13.5px;line-height:1.55;color:var(--ink-2);text-align:center;text-wrap:balance}

/* ---- petits écrans, repli et mouvement réduit ---- */
@media (max-width:760px){
  /* comme sur le reste du site : moins de flou sur mobile */
  .cx-dock-in{-webkit-backdrop-filter:blur(20px) saturate(190%);backdrop-filter:blur(20px) saturate(190%)}
}
@media (max-width:520px){
  .cx-opt{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"ind txt" ". price";row-gap:8px}
  .cx-op{text-align:left}
  .cx-op small{display:inline;margin-left:6px}
  .cx-head{gap:12px}
  .cx-badge{width:44px;height:44px}
  .cx-actions .btn{flex:1 1 100%}
  .cx-dock-in{padding:9px 10px 9px 18px}
  .cx-dv b{font-size:26px}
  .cx-donce{display:none}
  .cx-cv{font-size:15px}
}
@media (max-width:380px){
  .cx-dstep{display:none}
}
@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){
  .cx-dock-in{background:rgb(255 255 255/.97)}
}
/* Couleurs forcées (contraste élevé de Windows) : les ombres disparaissent, les cadres et le choix retenu doivent rester visibles. */
@media (forced-colors:active){
  .cx-step,.cx-panel,.cx-tot,.cx-sal,.cx-item,.cx-coord,.cx-opt,.cx-tier,.cx-dock-in,.cx-result,.cx-num,.cx-rbtn,.cx-notice,.cx-track{border:1px solid CanvasText}
  .cx-step[data-state="open"]{border:2px solid Highlight}
  .cx-step[data-state="locked"],.cx-opt[data-disabled="true"],.cx-tier[data-disabled="true"]{border-style:dashed}
  .cx-opt[data-checked="true"],.cx-tier[data-checked="true"]{border:3px solid Highlight}
  .cx-ind{border:2px solid CanvasText}
  .cx-ind .cx-ic{visibility:hidden}
  .cx-opt[data-checked="true"] .cx-ind,.cx-tier[data-checked="true"] .cx-ind{forced-color-adjust:none;background:Highlight;border-color:Highlight;color:HighlightText}
  .cx-opt[data-checked="true"] .cx-ind .cx-ic,.cx-tier[data-checked="true"] .cx-ind .cx-ic{visibility:visible}
  .cx-dock-in{background:Canvas;-webkit-backdrop-filter:none;backdrop-filter:none}
  #pgFill{forced-color-adjust:none;background:Highlight}
  .cx-range::-webkit-slider-runnable-track{border:1px solid CanvasText}
  .cx-range::-webkit-slider-thumb{border:2px solid CanvasText;background:Canvas}
}
@media (prefers-reduced-motion:reduce){
  .cx *,.cx *::before,.cx *::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}
  .cx .btn:hover,.cx-opt:hover,.cx-tier:hover,.cx-rbtn:hover,.cx-edit:hover{transform:none}
}

/* La barre d’estimation flotte au bas de l’écran : le défilement automatique (clavier, ancres) laisse un espace libre sous le champ ciblé. */
html{scroll-padding-bottom:112px}

/* ---- Demande envoyée au CRM : formulaire du panneau de contact (champs .field du site) ---- */
.cx-req{margin-top:24px}
.cx-req-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px}
.cx-req-wide{grid-column:1/-1}
.cx-req .field input[aria-invalid="true"]{border-color:rgb(179 38 30/.7);box-shadow:inset 0 1px 0 #fff,0 0 0 3px rgb(179 38 30/.12)}
.cx-req-msg{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;margin-top:16px;font-size:14.5px;line-height:1.5;color:#b3261e}
.cx-req-msg:empty{display:none}
.cx-req-msg .btn{flex:0 0 auto}
.cx-sent{margin-top:24px;padding:18px 22px;border-radius:22px;background:var(--cx-tile);box-shadow:var(--cx-tile-line);outline-offset:4px}
.cx-sent-t{font-weight:600;font-size:17px;color:var(--ink)}
.cx-sent p+p{margin-top:6px;color:var(--ink-2)}
.cx-note a{color:var(--kick);font-weight:600;text-decoration:underline}
@media (max-width:520px){.cx-req-grid{grid-template-columns:1fr}}
@media (forced-colors:active){.cx-sent{border:1px solid CanvasText}.cx-req .field input[aria-invalid="true"]{border:2px solid Highlight}}
