/* RB Simulateur de devis — tout est rangé sous .rbsd pour ne pas toucher au reste du site DIVI. */
.rbsd{
  --rbsd-accent:#E3A21A;
  --rbsd-bg:#F1F2EE; --rbsd-surface:#FFFFFF; --rbsd-ink:#1B2220; --rbsd-muted:#5D6762; --rbsd-line:#D5D9D2;
  --rbsd-soft:color-mix(in srgb,var(--rbsd-accent) 18%,#fff);
  --rbsd-blue:#2E5F8C; --rbsd-ok:#2F7A55; --rbsd-err:#B3261E;
  --rbsd-sticky-top:110px; /* hauteur du menu fixe DIVI */
  color:var(--rbsd-ink);font-size:15px;line-height:1.5;text-align:left;
  max-width:1120px;margin:0 auto;
}
.rbsd *,.rbsd *::before,.rbsd *::after{box-sizing:border-box}
.rbsd h1,.rbsd h2,.rbsd h3{color:var(--rbsd-ink);padding:0;font-weight:800;letter-spacing:-.01em;text-wrap:balance}
.rbsd button{text-transform:none;letter-spacing:normal;font-family:inherit;line-height:1.3}
.rbsd p{padding:0}

.rbsd .rbsd-top{margin-bottom:20px}
.rbsd .rbsd-brand{font-weight:800;font-size:14px;letter-spacing:.08em;text-transform:uppercase;color:var(--rbsd-muted)}
.rbsd .rbsd-h1{font-size:clamp(28px,4.4vw,44px);line-height:1.05;margin:4px 0 0}

/* Mètre ruban = progression */
.rbsd .rbsd-ruban{position:relative;height:34px;border-radius:6px;background:var(--rbsd-accent);overflow:hidden;margin-bottom:8px}
.rbsd .rbsd-ticks{position:absolute;inset:0;background:
  repeating-linear-gradient(90deg,rgba(0,0,0,.55) 0 1px,transparent 1px 10px) bottom/100% 7px no-repeat,
  repeating-linear-gradient(90deg,rgba(0,0,0,.6) 0 2px,transparent 2px 50px) bottom/100% 13px no-repeat}
.rbsd .rbsd-fill{position:absolute;top:0;bottom:0;left:0;background:var(--rbsd-ink);opacity:.14;transition:width .45s cubic-bezier(.3,.7,.2,1)}
.rbsd .rbsd-cursor{position:absolute;top:0;bottom:0;width:3px;background:#C0261C;transition:left .45s cubic-bezier(.3,.7,.2,1)}
.rbsd .rbsd-steps{display:flex;gap:4px 14px;flex-wrap:wrap;font-size:12.5px;color:var(--rbsd-muted);margin-bottom:22px}
.rbsd .rbsd-steps .on{color:var(--rbsd-ink);font-weight:600}
.rbsd .rbsd-steps .done{color:var(--rbsd-ok)}
.rbsd .rbsd-num{font-variant-numeric:tabular-nums}

.rbsd .rbsd-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px;align-items:start}
@media (max-width:860px){.rbsd .rbsd-grid{grid-template-columns:minmax(0,1fr)}}

.rbsd .rbsd-panel{background:var(--rbsd-surface);border:1px solid var(--rbsd-line);border-radius:14px;padding:22px}
.rbsd .rbsd-eyebrow{font-size:12px;color:var(--rbsd-muted);letter-spacing:.04em;text-transform:uppercase}
.rbsd h2.rbsd-h2{font-size:24px;margin:2px 0 4px;line-height:1.2}
.rbsd .rbsd-lead{color:var(--rbsd-muted);margin:0 0 16px;max-width:62ch}

/* Cartes */
.rbsd .rbsd-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px}
.rbsd .rbsd-card{position:relative;display:flex;flex-direction:column;text-align:left;color:inherit;background:var(--rbsd-surface);border:1.5px solid var(--rbsd-line);border-radius:12px;padding:0;margin:0;cursor:pointer;overflow:hidden;transition:transform .15s,border-color .15s,box-shadow .15s;font-size:15px}
.rbsd .rbsd-card:hover{transform:translateY(-2px);border-color:var(--rbsd-muted)}
.rbsd .rbsd-card:focus-visible,.rbsd .rbsd-choice:focus-visible,.rbsd .rbsd-btn:focus-visible{outline:3px solid var(--rbsd-blue);outline-offset:2px}
.rbsd .rbsd-card.sel{border-color:var(--rbsd-accent);box-shadow:0 0 0 3px var(--rbsd-soft)}
.rbsd .rbsd-sw{display:block;height:86px;width:100%}
.rbsd .rbsd-card .txt{padding:10px 12px 12px}
.rbsd .rbsd-card .t{font-weight:600;line-height:1.25;display:block}
.rbsd .rbsd-card .d{font-size:12.5px;color:var(--rbsd-muted);margin-top:3px;display:block}
.rbsd .rbsd-check{position:absolute;top:8px;right:8px;width:26px;height:26px;border-radius:50%;background:var(--rbsd-surface);border:1.5px solid var(--rbsd-line);display:grid;place-items:center;color:var(--rbsd-ink);transition:all .2s}
.rbsd .rbsd-card.sel .rbsd-check{background:var(--rbsd-accent);border-color:var(--rbsd-accent);transform:scale(1.08)}
.rbsd .rbsd-check svg{opacity:0;transition:opacity .15s}
.rbsd .rbsd-card.sel .rbsd-check svg{opacity:1}

.rbsd .rbsd-surf{grid-column:1/-1;background:var(--rbsd-soft);border-radius:12px;padding:14px 16px;display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;animation:rbsd-pop .25s ease-out}
@keyframes rbsd-pop{from{opacity:.4;transform:translateY(-4px)}to{opacity:1;transform:none}}
.rbsd .rbsd-surf label{font-weight:600;flex:1 1 180px;min-width:0;margin:0}
.rbsd .rbsd-surf input[type=range]{flex:2 1 200px;min-width:0;accent-color:var(--rbsd-accent);padding:0;border:0;background:none}
.rbsd .rbsd-numbox{display:flex;align-items:center;gap:6px}
.rbsd .rbsd-numbox input{width:84px;font-size:16px;padding:6px 8px;border:1.5px solid var(--rbsd-line);border-radius:8px;background:var(--rbsd-surface);color:var(--rbsd-ink);text-align:right;margin:0}
.rbsd .rbsd-numbox span{color:var(--rbsd-muted)}
.rbsd .rbsd-hint{flex-basis:100%;font-size:12.5px;color:var(--rbsd-muted)}
.rbsd .rbsd-note{grid-column:1/-1;border-left:3px solid var(--rbsd-blue);padding:10px 14px;background:var(--rbsd-bg);border-radius:0 10px 10px 0;font-size:13.5px}

/* Profil */
.rbsd .rbsd-choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-bottom:18px}
.rbsd .rbsd-choice{text-align:left;color:inherit;background:var(--rbsd-surface);border:1.5px solid var(--rbsd-line);border-radius:12px;padding:16px;margin:0;cursor:pointer;display:flex;gap:12px;align-items:flex-start;font-size:15px}
.rbsd .rbsd-choice.sel{border-color:var(--rbsd-accent);box-shadow:0 0 0 3px var(--rbsd-soft)}
.rbsd .rbsd-choice .ic{flex:none;width:40px;height:40px;border-radius:10px;background:var(--rbsd-bg);display:grid;place-items:center}
.rbsd .rbsd-choice .t{font-weight:600;display:block}
.rbsd .rbsd-choice .d{font-size:13px;color:var(--rbsd-muted);display:block}
.rbsd .rbsd-toggle{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border:1.5px solid var(--rbsd-line);border-radius:12px;cursor:pointer;margin:0}
.rbsd .rbsd-toggle input{width:20px;height:20px;accent-color:var(--rbsd-accent);margin:2px 0 0;flex:none}
.rbsd .rbsd-toggle .t{font-weight:600;display:block}
.rbsd .rbsd-toggle .d{font-size:13px;color:var(--rbsd-muted);display:block}

.rbsd .rbsd-nav{display:flex;justify-content:space-between;gap:12px;margin-top:22px;flex-wrap:wrap}
.rbsd .rbsd-btn{font-weight:600;font-size:15px;border-radius:10px;padding:12px 18px;margin:0;cursor:pointer;border:1.5px solid var(--rbsd-line);background:var(--rbsd-surface);color:var(--rbsd-ink)}
.rbsd .rbsd-btn.primary{background:var(--rbsd-ink);color:#fff;border-color:var(--rbsd-ink)}
.rbsd .rbsd-btn.primary:hover{background:var(--rbsd-accent);color:var(--rbsd-ink);border-color:var(--rbsd-accent)}
.rbsd .rbsd-btn[disabled]{opacity:.45;cursor:not-allowed}

/* Votre chantier */
.rbsd .rbsd-aside{position:sticky;top:var(--rbsd-sticky-top);background:var(--rbsd-surface);border:1px solid var(--rbsd-line);border-radius:14px;padding:18px}
@media (max-width:860px){.rbsd .rbsd-aside{position:static}}
.rbsd h3.rbsd-h3{font-size:18px;margin:0 0 2px;line-height:1.3}
.rbsd .rbsd-meta{font-size:12.5px;color:var(--rbsd-muted);margin-bottom:12px}
.rbsd .rbsd-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.rbsd .rbsd-list li{display:flex;align-items:center;gap:10px;animation:rbsd-pop .3s ease-out;margin:0;padding:0}
.rbsd .rbsd-list .mini{flex:none;width:30px;height:30px;border-radius:7px;border:1px solid var(--rbsd-line)}
.rbsd .rbsd-list .n{flex:1;min-width:0;font-size:13.5px;line-height:1.25}
.rbsd .rbsd-list .m{font-size:13px;color:var(--rbsd-muted);white-space:nowrap}
.rbsd .rbsd-empty{font-size:13.5px;color:var(--rbsd-muted);border:1px dashed var(--rbsd-line);border-radius:10px;padding:14px}
.rbsd .rbsd-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.rbsd .rbsd-tag{font-size:12px;padding:3px 9px;border-radius:99px;background:var(--rbsd-bg);color:var(--rbsd-muted)}
.rbsd .rbsd-lock{margin-top:14px;padding-top:12px;border-top:1px solid var(--rbsd-line);font-size:12.5px;color:var(--rbsd-muted);display:flex;gap:8px}

/* Formulaire */
.rbsd .rbsd-form{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media (max-width:560px){.rbsd .rbsd-form{grid-template-columns:1fr}}
.rbsd .rbsd-f{display:flex;flex-direction:column;gap:5px;min-width:0}
.rbsd .rbsd-f.full{grid-column:1/-1}
.rbsd .rbsd-f label{font-weight:600;font-size:13.5px;margin:0}
.rbsd .rbsd-f input,.rbsd .rbsd-f textarea{font:inherit;font-size:15px;padding:10px 12px;border:1.5px solid var(--rbsd-line);border-radius:9px;background:var(--rbsd-surface);color:var(--rbsd-ink);width:100%;margin:0;box-shadow:none}
.rbsd .rbsd-f input:focus,.rbsd .rbsd-f textarea:focus{outline:none;border-color:var(--rbsd-blue)}
.rbsd .rbsd-f.has-err input{border-color:var(--rbsd-err)}
.rbsd .rbsd-err{font-size:12.5px;color:var(--rbsd-err)}
.rbsd .rbsd-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.rbsd .rbsd-recap{background:var(--rbsd-bg);border-radius:12px;padding:14px 16px;margin-bottom:18px;font-size:14px}
.rbsd .rbsd-small{font-size:12.5px;color:var(--rbsd-muted);margin:12px 0 0}
.rbsd .rbsd-alert{margin-top:14px;padding:12px 14px;border-radius:10px;background:#FBE9E7;color:var(--rbsd-err);font-size:14px}

/* Fin */
.rbsd .rbsd-stamp{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;color:var(--rbsd-ok);border:1.5px solid var(--rbsd-ok);border-radius:99px;padding:4px 12px;margin-bottom:10px}

/* Matières */
.rbsd .s-sol{background:repeating-linear-gradient(45deg,rgba(255,255,255,.45) 0 7px,transparent 7px 16px),linear-gradient(160deg,#a9c1cf,#7f9cae)}
.rbsd .s-leger{background:radial-gradient(circle at 20% 30%,#cdbf9f 0 3px,transparent 4px) 0 0/22px 22px,radial-gradient(circle at 70% 70%,#b9aa8a 0 2px,transparent 3px) 0 0/17px 17px,#e8e0cc}
.rbsd .s-lourd{background:radial-gradient(circle at 30% 40%,#8a8d8a 0 9px,transparent 10px) 0 0/34px 30px,radial-gradient(circle at 70% 70%,#a8a39a 0 7px,transparent 8px) 0 0/26px 24px,radial-gradient(circle at 50% 20%,#6f6b64 0 5px,transparent 6px) 0 0/20px 22px,#c9c3b8}
.rbsd .s-cloison{background:repeating-linear-gradient(90deg,#eceee8 0 46px,#c3c6bd 46px 48px)}
.rbsd .s-plafond{background:repeating-linear-gradient(0deg,#d4d6cf 0 2px,transparent 2px 30px),repeating-linear-gradient(90deg,#d4d6cf 0 2px,transparent 2px 30px),#f4f5f0}
.rbsd .s-doublage{background:repeating-radial-gradient(circle at 0 100%,#f2cf5b 0 6px,#e6b93c 6px 12px)}
.rbsd .s-p-std{background:linear-gradient(180deg,transparent 40%,rgba(255,255,255,.35) 40% 60%,transparent 60%),#9fbcae}
.rbsd .s-p-enduit{background:linear-gradient(135deg,#c7d3cb,#a7b9ad 60%,#bccbc0)}
.rbsd .s-chaux{background:radial-gradient(ellipse at 20% 30%,#e9dcc4 0 18%,transparent 40%),radial-gradient(ellipse at 75% 65%,#d6c3a2 0 20%,transparent 45%),radial-gradient(ellipse at 50% 90%,#e3d3b6 0 15%,transparent 40%),#dccaa9}
.rbsd .s-beton-mur{background:radial-gradient(ellipse at 25% 35%,#a6a7a3 0 15%,transparent 45%),radial-gradient(ellipse at 70% 70%,#8d8f8b 0 18%,transparent 50%),#9b9d99}
.rbsd .s-beton-coule{background:radial-gradient(circle,#7d7f7b 0 1.5px,transparent 2px) 0 0/9px 11px,radial-gradient(circle,#b4b5b0 0 1px,transparent 1.5px) 4px 5px/7px 8px,#9a9b97}
.rbsd .s-beton-sol{background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.35) 45%,transparent 60%),radial-gradient(ellipse at 70% 60%,#6c706e 0 25%,transparent 60%),#7f8381}
.rbsd .s-c60{background:repeating-linear-gradient(0deg,#cfcabe 0 2px,transparent 2px 42px),repeating-linear-gradient(90deg,#cfcabe 0 2px,transparent 2px 42px),#ece7dc}
.rbsd .s-cxl{background:repeating-linear-gradient(0deg,#9fa3a1 0 2px,transparent 2px 86px),repeating-linear-gradient(90deg,#9fa3a1 0 2px,transparent 2px 120px),linear-gradient(120deg,#e9ebe8,#d6d9d5)}
.rbsd .s-c20{background:repeating-linear-gradient(0deg,#f6f3ec 0 2px,transparent 2px 15px),repeating-linear-gradient(90deg,#f6f3ec 0 2px,transparent 2px 15px),repeating-conic-gradient(#2d5a7b 0 25%,#d9cfb8 0 50%) 0 0/30px 30px}
.rbsd .s-zellige{background:repeating-linear-gradient(0deg,#e8e2d2 0 2px,transparent 2px 20px),repeating-linear-gradient(90deg,#e8e2d2 0 2px,transparent 2px 20px),repeating-conic-gradient(#1f6e62 0 25%,#2c8a78 0 50%) 0 0/40px 40px,#2c8a78}
.rbsd .s-strat{background:repeating-linear-gradient(0deg,#7a5a3c 0 1px,transparent 1px 18px),repeating-linear-gradient(90deg,transparent 0 90px,#7a5a3c 90px 91px),linear-gradient(90deg,#c9a77f,#b8936a,#cdab84)}
.rbsd .s-massif{background:repeating-linear-gradient(0deg,#5f3f24 0 2px,transparent 2px 26px),linear-gradient(90deg,#a87445,#94633a 40%,#b07c4c)}
.rbsd .s-hongrie{background:linear-gradient(135deg,#a3713f 25%,transparent 25%) -14px 0/28px 28px,linear-gradient(225deg,#8e5f33 25%,transparent 25%) -14px 0/28px 28px,linear-gradient(315deg,#a3713f 25%,transparent 25%) 0 0/28px 28px,linear-gradient(45deg,#8e5f33 25%,#b9854f 25%) 0 0/28px 28px}
.rbsd .s-sarrasine{background:radial-gradient(ellipse 60% 75% at 50% 100%,#3f4a46 0 60%,transparent 61%),repeating-linear-gradient(0deg,#d8ccb3 0 14px,#c6b897 14px 16px)}

@media (prefers-reduced-motion:reduce){.rbsd *{animation:none!important;transition:none!important}}
