/* Débarras (Cagibi et La Remise) : composants propres, la base est cagibi.css */
.h3{font-size:1.3rem;letter-spacing:-.02em;margin:0}
.sp{margin:32px 0 12px}
.outil{background:#fff;border-radius:var(--r);padding:24px;display:grid;gap:18px;align-self:start}
.outil h2{font-size:1.35rem;letter-spacing:-.02em;margin:0}
.q{font-weight:700;font-size:.95rem;margin:0 0 8px}
.puces .puce{height:auto;min-height:48px;padding:10px 16px;text-align:left;line-height:1.25}
.estim{border-radius:20px;padding:18px 20px;background:var(--ok-t);border-left:6px solid var(--ok)}
.estim .l{font-size:.85rem;font-weight:700;color:var(--ok);margin:0 0 4px}
.gros{font-weight:800;font-size:2.2rem;letter-spacing:-.03em;line-height:1.05;margin:0 0 8px;font-variant-numeric:tabular-nums}
.estim p{margin:0}
.g-champs{display:grid;gap:12px;grid-template-columns:1fr 1fr}
.g-champs label{display:block}
.g-champs .large{grid-column:1/-1}
.g-champs .l{font-size:.85rem;display:block;font-weight:700;margin:0 0 6px}
.outil .btn{width:100%}
select.champ{appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%2322201D' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 16px center;padding-right:40px}
textarea.champ{height:auto;min-height:96px;padding:12px 16px;resize:vertical}
.case{display:flex;gap:12px;align-items:flex-start;font-size:.9rem;line-height:1.45}
.case input{width:22px;height:22px;flex:0 0 22px;margin:1px 0 0;accent-color:var(--acc)}
.err{color:var(--bad);font-weight:700}
[aria-invalid=true]{border-color:var(--bad)!important}
.merci{border-radius:20px;padding:20px;background:var(--ok-t)}
.merci:focus{outline:0}
.texte{max-width:760px}
.texte h2{font-size:clamp(1.5rem,4.6vw,2rem);margin-top:40px}
.texte p,.texte li{font-size:1.05rem}
.texte li{margin-bottom:8px}
.tab{width:100%;border-collapse:collapse;background:#fff;border-radius:var(--r);overflow:hidden;font-variant-numeric:tabular-nums}
.tab th,.tab td{text-align:left;padding:14px 16px;border-top:1px solid var(--line);vertical-align:top}
.tab thead th{border-top:0;font-size:.85rem;color:var(--mute)}
.tab td:last-child{font-weight:800;white-space:nowrap}
.etapes{display:grid;gap:12px}
.etapes .ligne{border-top:0;background:#fff;border-radius:20px}
.pastille svg{width:22px;height:22px}
.ligne.col{flex-wrap:wrap}
.contact{flex:1 0 100%;background:var(--ok-t);border-radius:14px;padding:12px 14px}
.contact a{font-weight:800}
.vide{padding:20px;margin:0}
.chiffre{font-weight:800;font-size:3rem;letter-spacing:-.04em;line-height:1;margin:0 0 6px}
@media (max-width:520px){.g-champs{grid-template-columns:1fr}.outil{padding:20px 16px}.hero .w{gap:24px}}
@media (min-width:960px){.hero .w{align-items:start}}
.hero .photo{margin-top:24px}
@media (max-width:959px){.hero .photo{display:none}}
@media (max-width:520px){.hero .badge{display:none}.hero h1{font-size:2.15rem}.hero .lede{font-size:1.02rem}}
[hidden]{display:none!important}
