/* Déshu Chantier — design « BTP / industriel » (jaune chantier + anthracite) */
:root{
    --primary:#f5b301;        /* jaune chantier */
    --primary-dark:#d99a00;
    --ink:#1c1c1e;            /* anthracite */
    --ink-soft:#2c2c30;
    --bg:#f3f3f1;
    --text:#2a2a2c;
    --muted:#70707a;
    --line:#e2e2dd;
    --radius:6px;
}
*{box-sizing:border-box}
body{margin:0;font-family:"Roboto Condensed",system-ui,"Segoe UI",Roboto,sans-serif;background:var(--bg);color:var(--text);line-height:1.6}
a{color:inherit;text-decoration:none}
h1,h2,h3{color:var(--ink);line-height:1.2}
.ch-wrap{max-width:1140px;margin:0 auto;padding:0 20px}

/* Strip + nav */
.ch-strip{background:var(--ink);color:var(--primary);font-size:.84rem;font-weight:600}
.ch-strip .ch-wrap{padding:9px 20px}
.ch-nav{background:#fff;border-bottom:3px solid var(--primary);position:sticky;top:0;z-index:100}
.ch-nav-inner{display:flex;align-items:center;justify-content:space-between;height:62px}
.ch-nav-links{display:flex;align-items:center;gap:18px;font-weight:700}
.ch-btn{display:inline-block;font-weight:800;cursor:pointer;border:none;border-radius:var(--radius);text-transform:uppercase;letter-spacing:.4px}
.ch-btn-cta{background:var(--primary);color:var(--ink);padding:10px 16px}
.ch-btn-cta:hover{background:var(--primary-dark)}

/* Hero */
.ch-hero{background:var(--ink);color:#fff;padding:46px 0;border-bottom:4px solid var(--primary)}
.ch-hero h1{color:#fff;font-size:2.1rem;text-transform:uppercase;letter-spacing:.5px;margin:.2em 0}
.ch-lead{color:#cfcfd4;font-size:1.05rem;max-width:62ch}
.ch-crumbs{list-style:none;display:flex;gap:8px;flex-wrap:wrap;padding:0;margin:0 0 12px;font-size:.8rem;color:#8a8a92}
.ch-crumbs a{text-decoration:underline}
.ch-hero-home h1{font-size:2.3rem}

/* Specs band */
.ch-specs-band{background:var(--primary);color:var(--ink)}
.ch-specs-grid{display:flex;flex-wrap:wrap;gap:0;padding:0}
.ch-spec{flex:1;min-width:160px;padding:16px 20px;border-right:1px solid rgba(0,0,0,.12);display:flex;flex-direction:column}
.ch-spec:last-child{border-right:none}
.ch-spec-k{font-size:.72rem;text-transform:uppercase;letter-spacing:1px;opacity:.7;font-weight:700}
.ch-spec-v{font-size:1.05rem;font-weight:800}

/* Layout 2 col */
.ch-layout{display:grid;grid-template-columns:1fr 360px;gap:40px;padding:40px 20px;align-items:start}
.ch-content h2{font-size:1.45rem;border-left:5px solid var(--primary);padding-left:12px;margin:30px 0 12px}
.ch-content h2:first-child{margin-top:0}
.ch-info{background:#fff;border:1px dashed var(--primary-dark);border-radius:var(--radius);padding:14px 16px;margin:14px 0;font-size:.92rem}

/* Cases */
.ch-cases{display:flex;flex-direction:column;gap:12px;margin:14px 0}
.ch-case{display:flex;gap:14px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:16px}
.ch-case span{font-size:1.7rem}
.ch-case strong{color:var(--ink)}
.ch-case p{margin:4px 0 0;font-size:.9rem;color:var(--muted)}

/* FAQ */
.ch-faq details{border-bottom:1px solid var(--line);padding:6px 0}
.ch-faq summary{cursor:pointer;font-weight:700;color:var(--ink);padding:10px 0;list-style:none}
.ch-faq summary::-webkit-details-marker{display:none}
.ch-faq summary:before{content:"▸ ";color:var(--primary-dark)}
.ch-faq details[open] summary:before{content:"▾ "}
.ch-faq p{margin:0 0 12px;color:var(--text)}

/* Form (sticky aside) */
.ch-form-wrap{position:sticky;top:80px}
.ch-form-card{background:#fff;border:1px solid var(--line);border-top:5px solid var(--primary);border-radius:var(--radius);padding:22px;box-shadow:0 10px 28px rgba(0,0,0,.08)}
.ch-form-card h3{margin:0;text-transform:uppercase;font-size:1.1rem}
.ch-form-sub{margin:4px 0 14px;font-size:.82rem;color:var(--muted)}
.ch-form-card label{display:block;font-weight:700;font-size:.8rem;margin:10px 0 4px;text-transform:uppercase;letter-spacing:.3px;color:var(--ink)}
.ch-input{width:100%;padding:10px;border:1px solid var(--line);border-radius:var(--radius);font-size:.95rem}
.ch-grid2{display:flex;gap:10px}
.ch-grid2>div{flex:1}
.ch-err{display:none;color:#d33;font-size:.76rem;margin-top:4px}
.ch-btn-submit{width:100%;background:var(--ink);color:var(--primary);padding:14px;margin-top:16px;font-size:1rem}
.ch-btn-submit:hover{background:var(--ink-soft)}
.ch-rgpd{font-size:.7rem;color:var(--muted);text-align:center;margin:10px 0 0}
.ch-msg{margin-top:12px;font-weight:700;text-align:center}

/* Map / near */
.ch-map{padding:10px 20px 0}
.ch-map iframe{border-radius:var(--radius);display:block;margin-top:12px}
.ch-near{padding:30px 20px}
.ch-near-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.ch-near-tags a{background:#fff;border:1px solid var(--line);padding:6px 11px;border-radius:var(--radius);font-size:.84rem}
.ch-near-tags a:hover{border-color:var(--primary-dark);color:var(--ink)}

/* Dept + home grids */
.ch-villes{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;margin-top:14px}
.ch-villes a{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:11px;border-left:4px solid var(--primary)}
.ch-villes a:hover{box-shadow:0 4px 10px rgba(0,0,0,.06)}
.ch-kw{font-size:.72rem;color:var(--muted);margin-top:2px}
.ch-depts{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px;margin-top:14px}
.ch-dept{background:#fff;border:1px solid var(--line);padding:11px;border-radius:var(--radius)}
.ch-dept b{color:var(--primary-dark)}

/* Search */
.ch-search{position:relative;max-width:540px;margin:22px 0 0}
#citySearch{width:100%;padding:15px 18px;border:3px solid var(--primary);border-radius:var(--radius);font-size:1.05rem;outline:none}
.ch-results{position:absolute;top:60px;left:0;right:0;background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:none;text-align:left;z-index:50;box-shadow:0 10px 24px rgba(0,0,0,.12)}
.ch-result{display:block;padding:11px 16px;border-bottom:1px solid var(--line)}
.ch-result:hover{background:#fbf6e6}
.ch-result strong{color:var(--ink)}
.ch-result small{color:var(--muted);float:right}

/* Footer */
.ch-footer{background:var(--ink);color:#c9c9cf;margin-top:40px;padding:34px 0;font-size:.9rem}
.ch-footer-inner{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;align-items:center}
.ch-footer strong{color:var(--primary)}
.ch-footer p{margin:6px 0 0}
.ch-footer-meta{display:flex;flex-direction:column;gap:6px;text-align:right}
.ch-footer a{color:#fff;text-decoration:underline}

@media (max-width:880px){
    .ch-layout{grid-template-columns:1fr}
    .ch-form-wrap{position:static}
    .ch-hero h1{font-size:1.7rem}
}
