/* Elecomm® — Styles principaux */
/* Séparé de index.html — Juin 2026 */

* { margin: 0; padding: 0; box-sizing: border-box; }        body { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; line-height: 1.6; color: #333; }        .container { max-width: 1200px; margin: 0 auto; padding: 0 20px; }        .header { background: white; box-shadow: 0 2px 10px rgba(0,0,0,0.1); position: fixed; top: 0; left: 0; right: 0; z-index: 1000; }        .nav { display: flex; justify-content: space-between; align-items: center; padding: 1rem 0; }        .logo { font-size: 1.5rem; font-weight: bold; color: #1e40af; text-decoration: none; display: flex; align-items: center; gap: 0.5rem; }        .logo-icon { width: 32px; height: 32px; display: flex; align-items: center; justify-content: center; }        .logo-icon img { width: 32px; height: 32px; object-fit: contain; }        .nav-menu { display: flex; list-style: none; gap: 2rem; }        .nav-link { text-decoration: none; color: #333; font-weight: 500; transition: color 0.3s; }        .nav-link:hover { color: #1e40af; }        .cta-button { background: #1e40af; color: white; padding: 0.75rem 1.5rem; border-radius: 5px; text-decoration: none; font-weight: 600; transition: background 0.3s; }        .cta-button:hover { background: #1d4ed8; }        .hamburger { display: none; } .hero { background: linear-gradient(135deg, #1e40af 0%, #1e3a8a 100%); color: white; padding: 8rem 0 4rem; margin-top: 80px; text-align: center; position: relative; overflow: hidden; }        .hero::before { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: linear-gradient(135deg, rgba(30,64,175,0.95) 0%, rgba(30,58,138,0.95) 100%); z-index: 1; }        .hero > * { position: relative; z-index: 2; }        .hero-badge { background: rgba(245,158,11,0.9); color: white; padding: 0.5rem 1.5rem; border-radius: 50px; font-weight: 600; font-size: 0.9rem; display: inline-block; margin-bottom: 1.5rem; animation: pulse 2s infinite; }        @keyframes pulse { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.05); } }        .hero h1 { font-size: 3.2rem; margin-bottom: 1rem; font-weight: 700; }        .hero-subtitle { font-size: 1.4rem; margin-bottom: 1rem; opacity: 0.95; font-weight: 500; }        .hero p { font-size: 1.1rem; margin-bottom: 2rem; opacity: 0.85; max-width: 700px; margin-left: auto; margin-right: auto; }        .hero-cta { display: flex; gap: 1rem; justify-content: center; flex-wrap: wrap; }        .btn-secondary { background: transparent; border: 2px solid white; color: white; padding: 0.75rem 1.5rem; border-radius: 5px; text-decoration: none; font-weight: 600; transition: all 0.3s; }        .btn-secondary:hover { background: white; color: #1e40af; }        .section { padding: 4rem 0; }        .section-title { text-align: center; font-size: 2.5rem; margin-bottom: 1rem; color: #333; }        .section-subtitle { text-align: center; font-size: 1.125rem; color: #666; margin-bottom: 3rem; max-width: 700px; margin-left: auto; margin-right: auto; }        .multi-specialist-badge { background: linear-gradient(135deg, #f59e0b, #d97706); color: white; padding: 0.75rem 2rem; border-radius: 50px; font-weight: 600; font-size: 1.1rem; display: inline-block; margin-bottom: 2rem; box-shadow: 0 4px 15px rgba(245,158,11,0.3); }        .services-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 2rem; margin-top: 3rem; justify-items: center; }        .service-card { background: white; padding: 2rem; border-radius: 10px; box-shadow: 0 5px 15px rgba(0,0,0,0.1); text-align: center; transition: transform 0.3s; position: relative; border-top: 4px solid transparent; }        .service-card:hover { transform: translateY(-5px); }        .service-card.electricite { border-top-color: #1e40af; }        .service-card.securite { border-top-color: #dc2626; }        .service-card.telecom { border-top-color: #16a34a; }        .service-card.incendie { border-top-color: #ea580c; }        .service-icon { font-size: 3rem; margin-bottom: 1rem; }        .service-badge { position: absolute; top: -10px; right: 10px; background: #f59e0b; color: white; padding: 0.25rem 0.75rem; border-radius: 15px; font-size: 0.75rem; font-weight: 600; }        .security-modern { width: 60px; height: 60px; margin: 0 auto 1rem; background: linear-gradient(135deg, #dc2626, #ef4444); border-radius: 8px; display: flex; align-items: center; justify-content: center; position: relative; box-shadow: 0 4px 8px rgba(220,38,38,0.3); }        .security-modern::before { content: '🔒'; font-size: 1.5rem; position: absolute; z-index: 1; }        .security-modern::after { content: '📷'; font-size: 1rem; position: absolute; top: 5px; right: 5px; z-index: 2; }        .network-icon { width: 60px; height: 60px; margin: 0 auto 1rem; background: linear-gradient(135deg, #16a34a, #22c55e); border-radius: 8px; display: flex; align-items: center; justify-content: center; position: relative; box-shadow: 0 4px 8px rgba(22,163,74,0.3); }        .network-icon::before { content: '●'; color: white; font-size: 1.2rem; position: absolute; top: 8px; left: 8px; }        .network-icon::after { content: '●──●──●'; color: white; font-size: 0.8rem; position: absolute; bottom: 8px; right: 8px; letter-spacing: -2px; }        .service-title { font-size: 1.25rem; font-weight: 600; margin-bottom: 1rem; color: #333; }        .service-description { color: #666; margin-bottom: 1.5rem; }        .zones-intervention { padding: 4rem 0; background: #f8f9fa; }        .zones-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(350px, 1fr)); gap: 2.5rem; margin-top: 2rem; justify-items: center; }        .zone-card { background: white; padding: 2.5rem; border-radius: 10px; box-shadow: 0 5px 15px rgba(0,0,0,0.1); text-align: center; transition: transform 0.3s; max-width: 450px; width: 100%; }        .zone-card:hover { transform: translateY(-5px); }        .zone-icon { font-size: 3.5rem; margin-bottom: 1.5rem; }        .zone-title { font-size: 1.5rem; font-weight: 600; margin-bottom: 1.5rem; color: #333; }        .zone-description { color: #666; margin-bottom: 2rem; font-size: 1.1rem; line-height: 1.6; }        .zone-cta { background: #1e40af; color: white; padding: 1rem 2rem; text-decoration: none; border-radius: 5px; font-weight: 600; font-size: 1.1rem; transition: background 0.3s; display: inline-block; }        .zone-cta:hover { background: #1d4ed8; }        .zone-cta.bruxelles { background: #f59e0b; } .zone-cta.bruxelles:hover { background: #d97706; }        .zone-cta.ixelles { background: #16a34a; } .zone-cta.ixelles:hover { background: #15803d; }        .zone-cta.laeken { background: #ec4899; } .zone-cta.laeken:hover { background: #be185d; }        .zone-cta.jette { background: #7c3aed; } .zone-cta.jette:hover { background: #5b21b6; }        .zone-cta.wemmel { background: #0d9488; } .zone-cta.wemmel:hover { background: #0f766e; }        .zone-cta.noh { background: #ef4444; } .zone-cta.noh:hover { background: #dc2626; }        .zone-cta.strombeek-bever { background: #eab308; } .zone-cta.strombeek-bever:hover { background: #ca8a04; }        .zone-cta.zaventem { background: #0891b2; } .zone-cta.zaventem:hover { background: #0e7490; }        .zone-cta.urgence { background: #f59e0b; } .zone-cta.urgence:hover { background: #d97706; }        .differentiation { background: linear-gradient(135deg, #1e40af 0%, #1e3a8a 100%); color: white; padding: 4rem 0; text-align: center; }        .differentiation h2 { font-size: 2.5rem; margin-bottom: 2rem; }        .competitor-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 2rem; margin-top: 3rem; }        .competitor-card { background: rgba(255,255,255,0.1); padding: 1.5rem; border-radius: 10px; backdrop-filter: blur(10px); }        .competitor-card.elecomm { background: rgba(245,158,11,0.2); border: 2px solid #f59e0b; }        .competitor-title { font-weight: 600; margin-bottom: 1rem; }        .competitor-services { list-style: none; text-align: left; }        .competitor-services li { padding: 0.25rem 0; opacity: 0.8; }        .competitor-services li.yes { opacity: 1; color: #10b981; }        .competitor-services li.no { opacity: 0.4; text-decoration: line-through; }        .contact { background: #f8f9fa; }        .contact-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 2rem; margin-bottom: 3rem; }        .contact-form { background: white; padding: 2rem; border-radius: 10px; box-shadow: 0 5px 15px rgba(0,0,0,0.1); grid-column: 1 / -1; max-width: 600px; margin: 0 auto; }        .form-group { margin-bottom: 1.5rem; }        .form-group label { display: block; margin-bottom: 0.5rem; font-weight: 600; color: #333; }        .required { color: #dc2626; }        .form-group input, .form-group textarea { width: 100%; padding: 0.75rem; border: 2px solid #e5e7eb; border-radius: 5px; font-size: 1rem; transition: border-color 0.3s; }        .form-group input:focus, .form-group textarea:focus { outline: none; border-color: #1e40af; }        .form-group textarea { resize: vertical; min-height: 120px; }        .form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }        .captcha-group { display: flex; align-items: center; gap: 1rem; }        .captcha-display { display: flex; align-items: center; justify-content: center; background: #f3f4f6; padding: 0.5rem 1rem; border-radius: 5px; font-family: monospace; font-size: 1.25rem; font-weight: bold; letter-spacing: 3px; color: #1e40af; border: 2px solid #d1d5db; user-select: none; width: 120px; height: 48px; text-align: center; }        .captcha-input { flex: 1; max-width: 150px; }        .form-submit { background: #1e40af; color: white; padding: 0.75rem 2rem; border: none; border-radius: 5px; font-size: 1rem; font-weight: 600; cursor: pointer; transition: background 0.3s; width: 100%; }        .form-submit:hover { background: #1d4ed8; }        .form-submit:disabled { background: #9ca3af; cursor: not-allowed; }        .error-message { color: #dc2626; font-size: 0.875rem; margin-top: 0.25rem; }        .success-message { color: #059669; font-size: 0.875rem; margin-top: 0.25rem; }        .contact-card { background: white; padding: 2rem; border-radius: 10px; text-align: center; margin-top: 10px; }        .contact-icon { font-size: 2rem; margin-bottom: 1rem; color: #1e40af; }        .footer { background: #333; color: white; padding: 3rem 0 1rem; }        .footer-content { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 2rem; margin-bottom: 2rem; }        .footer h3 { margin-bottom: 1rem; color: #f59e0b; }        .footer ul { list-style: none; }        .footer li { margin-bottom: 0.5rem; }        .footer a { color: #ccc; text-decoration: none; }        .footer a:hover { color: #f59e0b; }        .footer-bottom { text-align: center; padding-top: 1rem; border-top: 1px solid #555; color: #999; }        @media (max-width: 768px) {            .nav-menu { display: none; }            .hero h1 { font-size: 2rem; }            .hero-cta { flex-direction: column; align-items: center; }            .section-title { font-size: 2rem; }            .zones-grid { grid-template-columns: 1fr; gap: 2rem; }            .competitor-grid { grid-template-columns: 1fr; }            .btn-db-hosting { display: none; }        .hamburger { display: flex; flex-direction: column; justify-content: center; gap: 5px; background: none; border: none; cursor: pointer; padding: 0.5rem; margin-right: 0.5rem; }        .hamburger span { display: block; width: 24px; height: 2px; background: #333; border-radius: 2px; transition: all 0.3s ease; }        .hamburger.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }        .hamburger.open span:nth-child(2) { opacity: 0; }        .hamburger.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }        .nav-menu.open { display: flex !important; flex-direction: column; position: absolute; top: 70px; left: 0; right: 0; background: white; padding: 1rem 0; box-shadow: 0 4px 10px rgba(0,0,0,0.1); z-index: 999; gap: 0; }        .nav-menu.open .nav-link { display: block; padding: 0.85rem 1.5rem; border-bottom: 1px solid #f0f0f0; font-size: 1rem; }        .nav-menu.open .nav-link:hover { background: #f8f9fa; color: #1e40af; }        }

/* ========================================
   SEO EXPERTISE SECTION (replaces zones-grid)
   ======================================== */
.expertise-belgique {
    padding: 4rem 0;
    background: #f8f9fa;
}
.expertise-belgique .section-title {
    text-align: center;
    font-size: 2rem;
    color: #1e293b;
    margin-bottom: 0.5rem;
}
.expertise-belgique .section-subtitle {
    text-align: center;
    color: #64748b;
    font-size: 1.1rem;
    margin-bottom: 2.5rem;
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
}
.expertise-content {
    max-width: 960px;
    margin: 0 auto;
    line-height: 1.9;
    color: #334155;
    font-size: 1.05rem;
}
.expertise-content h3 {
    color: #0d9488;
    font-size: 1.35rem;
    margin: 2rem 0 0.8rem;
    border-left: 4px solid #0d9488;
    padding-left: 12px;
}
.expertise-content p {
    margin-bottom: 1rem;
}
.expertise-content strong {
    color: #1e293b;
}
.expertise-content .keyword {
    color: #0d9488;
    font-weight: 600;
}
.expertise-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin: 1.5rem 0;
    justify-content: center;
}
.expertise-badge {
    background: white;
    border: 2px solid #0d9488;
    color: #0d9488;
    padding: 0.5rem 1.2rem;
    border-radius: 25px;
    font-weight: 600;
    font-size: 0.9rem;
    transition: all 0.3s;
}
.expertise-badge:hover {
    background: #0d9488;
    color: white;
}
.partner-box {
    background: white;
    border: 2px solid #1e40af;
    border-radius: 12px;
    padding: 1.5rem 2rem;
    margin: 2rem 0;
    text-align: center;
}
.partner-box h4 {
    color: #1e40af;
    font-size: 1.2rem;
    margin-bottom: 0.5rem;
}
.expertise-cta {
    text-align: center;
    margin-top: 2.5rem;
}
.expertise-cta a {
    display: inline-block;
    background: #0d9488;
    color: white;
    padding: 1rem 2.5rem;
    border-radius: 8px;
    text-decoration: none;
    font-weight: 700;
    font-size: 1.1rem;
    transition: all 0.3s;
    box-shadow: 0 4px 15px rgba(13, 148, 136, 0.3);
}
.expertise-cta a:hover {
    background: #0f766e;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(13, 148, 136, 0.4);
}
@media (max-width: 768px) {
    .expertise-content {
        padding: 0 1rem;
        font-size: 1rem;
    }
    .expertise-content h3 {
        font-size: 1.2rem;
    }
}
