* { margin:0; padding:0; box-sizing:border-box; }
body { font-family:'Segoe UI', Arial, sans-serif; color:#333; background:#f4f4f4; line-height:1.65; font-size:15.5px; }
a { color:inherit; }
.topbar { background:#fff; border-bottom:1px solid #e5e5e5; }
.topbar-in { max-width:1180px; margin:0 auto; padding:14px 20px; display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; }
.logo { font-size:27px; font-weight:900; letter-spacing:.5px; color:#111; text-decoration:none; line-height:1.05; }
.logo span { color:#f39c12; }
.logo small { display:block; font-size:11.5px; font-weight:600; color:#777; letter-spacing:2px; }
.top-right { display:flex; align-items:center; gap:18px; flex-wrap:wrap; }
.hours { font-size:13px; color:#666; }
.hours strong { color:#111; display:block; font-size:13.5px; }
.btn-devis { background:#f39c12; color:#fff !important; font-weight:800; padding:11px 20px; border-radius:4px; text-decoration:none; font-size:14px; letter-spacing:.4px; }
.btn-devis:hover { background:#e08e0b; }
nav { background:#ececec; border-bottom:3px solid #f39c12; }
.nav-in { max-width:1180px; margin:0 auto; padding:0 20px; display:flex; flex-wrap:wrap; }
.nav-in > div { position:relative; }
.nav-in a { display:block; padding:13px 16px; text-decoration:none; font-weight:600; font-size:14.5px; color:#222; }
.nav-in a:hover, .nav-in a.active { color:#f39c12; }
.nav-in .drop { display:none; position:absolute; top:100%; left:0; background:#fff; min-width:230px; box-shadow:0 8px 20px rgba(0,0,0,.15); z-index:50; }
.nav-in .drop a { padding:10px 16px; font-weight:500; border-bottom:1px solid #f0f0f0; }
.nav-in div:hover .drop { display:block; }
.hero { position:relative; }
.hero img { width:100%; height:430px; object-fit:cover; display:block; }
.hero-text { position:absolute; inset:0; background:linear-gradient(90deg, rgba(0,0,0,.72) 0%, rgba(0,0,0,.25) 60%, transparent 100%); color:#fff; display:flex; flex-direction:column; justify-content:center; padding:0 6%; }
.hero-text h1 { font-size:38px; line-height:1.2; max-width:600px; }
.hero-text p { margin-top:12px; font-size:17.5px; max-width:520px; opacity:.95; }
.wrap { max-width:1180px; margin:0 auto; padding:48px 20px; }
h2.title { font-size:27px; color:#222; font-weight:800; }
.rule { width:64px; height:4px; background:#f39c12; margin:10px 0 24px; }
.sub { color:#666; margin-bottom:26px; max-width:820px; }
.tiles { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:16px; }
.tile { background:#fff; border-radius:6px; overflow:hidden; box-shadow:0 2px 8px rgba(0,0,0,.07); text-decoration:none; }
.tile img { width:100%; height:140px; object-fit:cover; display:block; }
.tile .cap { padding:12px 14px; font-weight:700; color:#222; font-size:15px; }
.tile:hover .cap { color:#f39c12; }
.split { display:grid; grid-template-columns:1fr 1fr; gap:34px; align-items:center; }
.split img { width:100%; border-radius:6px; }
.stats { background:#1d1d1d; color:#fff; }
.stats .wrap { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:26px; text-align:center; padding-top:38px; padding-bottom:38px; }
.stat .num { font-size:32px; font-weight:900; color:#f39c12; }
.stat .lbl { font-size:13.5px; opacity:.85; }
.cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:20px; }
.card { background:#fff; border-radius:8px; padding:22px; box-shadow:0 2px 8px rgba(0,0,0,.07); }
.card h3 { color:#222; font-size:18px; margin-bottom:6px; }
.card ul { margin:8px 0 0 18px; color:#555; }
.card ul li { margin-bottom:4px; }
.layout { display:grid; grid-template-columns:270px 1fr; gap:30px; align-items:start; }
.sidebar { background:#fff; border-radius:6px; overflow:hidden; box-shadow:0 2px 8px rgba(0,0,0,.07); }
.sidebar h3 { background:#f39c12; color:#fff; padding:13px 18px; font-size:17px; }
.sidebar a { display:block; padding:11px 18px; text-decoration:none; border-bottom:1px solid #f0f0f0; font-size:14.5px; color:#333; }
.sidebar a.sub { padding-left:34px; font-size:14px; color:#555; }
.sidebar a:hover, .sidebar a.active { background:#fdf3e0; color:#e08e0b; font-weight:700; }
.main-col { background:#fff; border-radius:6px; padding:30px; box-shadow:0 2px 8px rgba(0,0,0,.07); }
.main-col h1 { font-size:30px; color:#444; font-weight:800; }
.main-col .bigimg { width:100%; height:320px; object-fit:cover; border-radius:6px; margin:16px 0 20px; }
.main-col h3 { color:#222; margin:20px 0 6px; font-size:18px; }
.main-col p { color:#555; margin-bottom:10px; }
.main-col ul { margin:6px 0 12px 20px; color:#555; }
table.spec { width:100%; border-collapse:collapse; margin:14px 0; font-size:14.5px; }
table.spec th { background:#f39c12; color:#fff; text-align:left; padding:9px 12px; }
table.spec td { padding:9px 12px; border-bottom:1px solid #eee; color:#555; }
table.spec tr:nth-child(even) td { background:#fafafa; }
.dl-box { margin-top:14px; background:#fdf3e0; border:1px solid #f5d9a8; border-radius:6px; padding:14px 18px; font-weight:700; color:#b97a08; }
form.devis { background:#fff; border-radius:8px; padding:28px; box-shadow:0 2px 8px rgba(0,0,0,.07); max-width:760px; }
form.devis label { display:block; font-weight:700; font-size:14px; margin:16px 0 5px; color:#222; }
form.devis input[type=text], form.devis input[type=email], form.devis input[type=tel], form.devis select, form.devis textarea { width:100%; padding:11px 12px; border:1px solid #ccc; border-radius:4px; font-size:15px; font-family:inherit; }
form.devis .checks { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:6px 18px; margin-top:4px; }
form.devis .checks label { font-weight:500; margin:2px 0; display:flex; gap:8px; align-items:center; }
form.devis .group-t { font-weight:800; color:#f39c12; margin-top:16px; font-size:13px; letter-spacing:1px; }
form.devis button { margin-top:24px; background:#f39c12; color:#fff; border:0; font-weight:800; font-size:15px; padding:13px 34px; border-radius:4px; cursor:pointer; letter-spacing:.5px; }
footer { background:#1d1d1d; color:#bbb; margin-top:0; }
.foot-in { max-width:1180px; margin:0 auto; padding:44px 20px 10px; display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:30px; }
footer h4 { color:#fff; font-size:15px; letter-spacing:1px; margin-bottom:14px; }
footer a { display:block; color:#bbb; text-decoration:none; padding:3px 0; font-size:14px; }
footer a:hover { color:#f39c12; }
footer p { font-size:14px; padding:3px 0; }
footer .ic { color:#f39c12; font-weight:700; }
.copy { text-align:center; font-size:13px; color:#888; padding:18px 20px 24px; border-top:1px solid #333; margin-top:30px; }
@media (max-width:820px){ .layout{grid-template-columns:1fr;} .split{grid-template-columns:1fr;} .hero-text h1{font-size:28px;} .hero img{height:340px;} }
