* { margin:0; padding:0; box-sizing:border-box; }
body { font-family:'Roboto',sans-serif; line-height:1.6; color:#333; transition:0.3s; }
.container { max-width:1200px; margin:0 auto; padding:0 20px; }
section { padding:80px 0; }
.bg-light { background:#f8f9fa; }
h1,h2,h3 { margin-bottom:20px; }
.btn { display:inline-block; padding:12px 30px; background:#e63946; color:white; text-decoration:none; border-radius:5px; font-weight:bold; transition:0.3s; }
.btn:hover { background:#d00000; }

:root { --bg:#f8f9fa; --text:#333; --primary:#1d3557; --accent:#e63946; }
body.dark-mode { --bg:#121212; --text:#e0e0e0; --primary:#1f1f1f; --accent:#ff4d4d; }
body { background:var(--bg); color:var(--text); }
.bg-light { background:color-mix(in srgb, var(--bg), #000 5%); }
.navbar, footer { background:var(--primary); color:white; }
.btn { background:var(--accent); }

.topbar { background:var(--primary); color:white; padding:8px 0; font-size:0.9rem; display:flex; justify-content:flex-end; }
.lang-switch button { background:none; border:none; color:white; margin:0 5px; cursor:pointer; }
.lang-switch button.active { text-decoration:underline; font-weight:bold; }
#theme-toggle { background:none; border:none; font-size:1.2rem; cursor:pointer; }

.navbar { padding:1rem 0; position:sticky; top:0; z-index:100; }
.navbar .container { display:flex; justify-content:space-between; align-items:center; }
.logo { display:flex; align-items:center; gap:10px; font-weight:bold; }
.logo img { height:40px; }
.nav-links { display:flex; gap:2rem; list-style:none; }
.nav-links a { color:white; text-decoration:none; }
.hamburger { display:none; font-size:1.8rem; cursor:pointer; }

.hero { background:url('assets/img/hero.jpg') center/cover no-repeat; color:white; text-align:center; padding:150px 0; }
.hero h1 { font-size:3rem; }
.hero p { font-size:1.3rem; margin:20px 0; }

.services { display:grid; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); gap:20px; }
.service { background:white; padding:25px; border-radius:10px; box-shadow:0 5px 15px rgba(0,0,0,0.1); text-align:center; }

.price-table { width:100%; border-collapse:collapse; margin:20px 0; }
.price-table th, .price-table td { border:1px solid #ddd; padding:12px; text-align:left; }
.price-table th { background:var(--primary); color:white; }

.gallery { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:15px; }
.gallery img { width:100%; height:200px; object-fit:cover; border-radius:10px; }

.offer-form label { display:block; margin:15px 0; }
.offer-form input, .offer-form select, .offer-form textarea { width:100%; padding:12px; border:1px solid #ddd; border-radius:5px; }
.file-upload-label { cursor:pointer; }
.file-upload-label input { margin-top:8px; }
.checkbox-label { display:flex; align-items:flex-start; gap:8px; font-size:0.9rem; }
.inline-link { color:var(--accent); text-decoration:underline; }

.modal { display:none; position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(0,0,0,0.8); z-index:1000; justify-content:center; align-items:center; }
.modal-content { background:var(--bg); color:var(--text); padding:30px; max-width:600px; border-radius:10px; position:relative; }
.close { position:absolute; top:10px; right:15px; font-size:1.5rem; cursor:pointer; }

footer { background:var(--primary); color:white; text-align:center; padding:30px 0; }

@media (max-width:768px) {
    .hamburger { display:block; }
    .nav-links { display:none; flex-direction:column; position:absolute; top:100%; left:0; width:100%; background:var(--primary); }
    .nav-links.active { display:flex; }
    .nav-links a { padding:15px; text-align:center; }
    .hero h1 { font-size:2.2rem; }
}