:root { --bg-color: #000; --accent-color: #c5a059; }
* { margin: 0; padding: 0; box-sizing: border-box; }
body { background-color: #000; color: #fff; font-family: sans-serif; overflow-x: hidden; }

/* Background fixe */
.fixed-background { 
    position: fixed; top: 0; left: 0; width: 100vw; height: 100vh; 
    background-image: url('/images/background.webp'); 
    background-size: cover; background-position: center; z-index: -1; 
}

/* Colonne centrale : min-height auto pour coller le contenu */
.main-column { 
    width: 48vw; min-width: 360px; margin: 0 auto; background: #000; 
    min-height: auto; display: flex; flex-direction: column; 
}

@media (max-width: 1150px) { 
    .fixed-background { display: none; } 
    .main-column { width: 100%; } 
}

/* Logo */
.logo-container { text-align: center; padding: 40px 20px; }
.logo-img { max-width: 320px; width: 100%; height: auto; display: block; margin: 0 auto; }

/* Menu */
nav { display: flex; justify-content: center; gap: 40px; padding: 20px; border-top: 1px solid #222; border-bottom: 1px solid #222; margin-bottom: 40px; }
nav a { color: #888; text-transform: uppercase; font-size: 0.8rem; letter-spacing: 3px; text-decoration: none; }

/* Header */
.hero-container { position: relative; width: 100%; margin-bottom: 40px; }
.hero-image { width: 100%; display: block; }
.hero-overlay { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); text-align: center; width: 90%; }
.hero-overlay h1 { color: #fff; font-size: 2rem; }

/* Carrousel */
.carousel { display: flex; overflow-x: auto; width: 100%; padding-bottom: 20px; scroll-snap-type: x mandatory; }
.carousel-item { flex: 0 0 100%; scroll-snap-align: start; }
.carousel-item img { width: 100%; height: 500px; object-fit: contain; }

/* Intro & Services */
#intro-box { max-width: 800px; margin: 40px auto; text-align: center; padding: 40px; border: 1px solid #333; }
#intro-box h2 { color: var(--accent-color); margin-bottom: 20px; text-transform: uppercase; }

#services { padding: 40px; text-align: center; }
#services h2 { margin-bottom: 40px; }
.services-container { display: flex; flex-wrap: wrap; justify-content: center; gap: 30px; }
.service-card { flex: 1; min-width: 280px; padding: 30px; border: 1px solid #222; }
.service-card h3 { color: var(--accent-color); margin-bottom: 15px; text-transform: uppercase; letter-spacing: 1px; }

/* Contact & Footer */
.contact-btn { 
    display: block; width: 200px; margin: 40px auto; padding: 15px; 
    border: 1px solid var(--accent-color); color: var(--accent-color); 
    text-align: center; text-decoration: none; text-transform: uppercase; letter-spacing: 2px;
}
footer { text-align: center; padding: 40px 0; color: #444; font-size: 0.7rem; margin-top: auto; }

/* Cache le menu burger */
.burger-menu, #mobile-nav { display: none !important; }