/* --- Variables globales et styles de base --- */
        :root {
            --primary-blue: #003366;
            --accent-red: #cc0000;
            --text-dark: #333333;
            --bg-light: #f8f9fa;
            --white: #ffffff;
        }

        * {
            box-sizing: border-box;
            margin: 0;
            padding: 0;
            font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
        }

        body {
            color: var(--text-dark);
            background-color: var(--bg-light);
            line-height: 1.6;
            padding-bottom: 70px;
        }

        header {
            background-color: var(--white);
            box-shadow: 0 2px 5px rgba(0,0,0,0.1);
            position: relative;
            z-index: 1000;
        }

        .header-container {
            max-width: 1300px;
            margin: 0 auto;
            padding: 10px 20px;
            display: flex;
            justify-content: space-between;
            align-items: center;
        }

        .logo-area img {
            height: 65px;
            width: auto;
            display: block;
        }

        nav {
            flex: 1;
            display: flex;
            justify-content: center;
        }

        nav ul {
            display: flex;
            list-style: none;
            gap: 15px;
            align-items: center;
        }

        nav > ul > li {
            position: relative;
        }

        nav a {
            text-decoration: none;
            color: var(--text-dark);
            font-weight: 600;
            font-size: 14px;
            transition: color 0.3s;
            padding: 10px 0;
            display: block;
        }

        nav a:hover {
            color: var(--accent-red);
        }

        nav ul.submenu {
            position: absolute;
            top: 100%;
            left: 0;
            background-color: var(--white);
            box-shadow: 0 8px 20px rgba(0,0,0,0.15);
            border-radius: 4px;
            min-width: 260px;
            flex-direction: column;
            gap: 0;
            padding: 8px 0;
            display: none;
            border-top: 3px solid var(--accent-red);
            z-index: 1100;
        }

        nav ul.submenu li {
            width: 100%;
        }

        nav ul.submenu a {
            padding: 8px 16px;
            font-size: 13px;
            font-weight: 500;
            color: var(--text-dark);
            white-space: nowrap;
        }

        nav ul.submenu a:hover {
            background-color: var(--bg-light);
            color: var(--accent-red);
            padding-left: 20px;
        }

        nav > ul > li:hover ul.submenu {
            display: flex;
        }

        .header-badge-container {
            position: relative;
        }

        .header-badge {
            background: linear-gradient(90deg, #e6f0ff 0%, #ffffff 50%, #ffe6e6 100%);
            border: 1px solid rgba(0, 51, 102, 0.2);
            color: var(--primary-blue);
            font-weight: 700;
            font-size: 18px;
            padding: 8px 14px;
            border-radius: 4px;
            box-shadow: 0 2px 8px rgba(0,0,0,0.08);
            white-space: nowrap;
            display: block;
            text-decoration: none;
            cursor: pointer;
        }

        /* Dropdown pour le header-badge */
        .header-badge-container ul.submenu {
            position: absolute;
            top: 100%;
            right: 0;
            left: auto;
            background-color: var(--white);
            box-shadow: 0 8px 20px rgba(0,0,0,0.15);
            border-radius: 4px;
            min-width: 260px;
            flex-direction: column;
            gap: 0;
            padding: 8px 0;
            display: none;
            border-top: 3px solid var(--accent-red);
            z-index: 1100;
            list-style: none;
        }

        .header-badge-container ul.submenu li {
            width: 100%;
        }

        .header-badge-container ul.submenu a {
            padding: 8px 16px;
            font-size: 13px;
            font-weight: 500;
            color: var(--text-dark);
            white-space: nowrap;
            text-decoration: none;
            display: block;
            transition: all 0.2s;
        }

        .header-badge-container ul.submenu a:hover {
            background-color: var(--bg-light);
            color: var(--accent-red);
            padding-left: 20px;
        }

        .header-badge-container:hover ul.submenu {
            display: flex;
        }

        /* Bouton Menu Hamburger (Masqué par défaut sur Desktop) */
        .menu-toggle {
            display: none;
            background: none;
            border: none;
            font-size: 24px;
            color: var(--primary-blue);
            cursor: pointer;
            padding: 5px;
        }

        /* Breadcrumb Styles */
        .breadcrumb-bar {
            background-color: #f1f3f5;
            border-bottom: 1px solid #e2e8f0;
            padding: 10px 0;
            font-size: 13px;
        }

        .breadcrumb-container {
            max-width: 1200px;
            margin: 0 auto;
            padding: 0 20px;
            display: flex;
            align-items: center;
            gap: 8px;
            color: #666;
        }

        .breadcrumb-container a {
            color: var(--primary-blue);
            text-decoration: none;
            font-weight: 600;
        }

        .breadcrumb-container a:hover {
            text-decoration: underline;
        }

        .breadcrumb-container span {
            color: #888;
        }

        .bottom-action-bar {
            position: fixed;
            bottom: 0;
            left: 0;
            width: 100%;
            background-color: var(--white);
            box-shadow: 0 -2px 10px rgba(0,0,0,0.15);
            display: flex;
            justify-content: center;
            align-items: center;
            gap: 15px;
            padding: 12px 20px;
            z-index: 1000;
        }

        .bottom-action-bar .action-btn {
    padding: 12px 25px;
    border-radius: 4px;
    text-decoration: none;
    font-weight: bold;
    font-size: 15px;
    display: flex;
    align-items: center;
    gap: 8px;
    transition: transform 0.2s, background-color 0.2s;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
    white-space: nowrap; /* 🔥 Empêche le texte du bouton de passer à la ligne */
}


        .bottom-action-bar .phone-btn {
            background-color: var(--accent-red);
            color: var(--white);
        }

        .bottom-action-bar .phone-btn:hover {
            background-color: #b30000;
            transform: translateY(-2px);
        }

        .bottom-action-bar .quote-btn {
            background-color: var(--primary-blue);
            color: var(--white);
        }

        .bottom-action-bar .quote-btn:hover {
            background-color: #002244;
            transform: translateY(-2px);
        }

        /* Reduced Hero Banner Height */
        .hero {
            background: linear-gradient(rgba(0, 51, 102, 0.85), rgba(0, 31, 63, 0.9)), url('images/ban.jpg') no-repeat center center/cover;
            color: var(--white);
            padding: 90px 20px 180px 20px;
            text-align: center;
            position: relative;
        }
		.quick-contact-section {
    max-width: 850px;
    margin: -140px auto 40px auto; 
    padding: 0 20px;
    position: relative;
    z-index: 1; /* Force le conteneur à passer devant les lignes de séparation techniques */
}


        .hero h2 {
            font-size: 32px;
            margin-bottom: 10px;
            font-weight: 700;
        }

        .hero p {
            font-size: 16px;
            max-width: 800px;
            margin: 0 auto;
            opacity: 0.95;
        }

        .tech-bg-section {
            position: relative;
            background-color: #f8f9fa;
            background-image: linear-gradient(rgba(248, 249, 250, 0.92), rgba(248, 249, 250, 0.95)), url('images/08.jpg');
            background-repeat: no-repeat;
            background-position: center center;
            background-size: cover;
            color: var(--text-dark);
        }

        .tech-bg-section::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            height: 3px;
            background: linear-gradient(90deg, transparent, var(--primary-blue), transparent);
        }

        .tech-container-inner {
            position: relative;
            z-index: 1;
        }

        .container {
            max-width: 1200px;
            margin: 0 auto;
            padding: 40px 20px;
        }

        /* Two-Column Layout (2/3 - 1/3) */
        .layout-grid {
            display: grid;
            grid-template-columns: 2fr 1fr;
            gap: 30px;
            align-items: start;
        }

        /* Specific Content Styles for VGP Hayon Élévateur */
        .content-article {
            background: var(--white);
            padding: 40px;
            border-radius: 8px;
            box-shadow: 0 6px 20px rgba(0,0,0,0.06);
            border-top: 4px solid var(--accent-red);
        }

        .content-article h3 {
            color: var(--primary-blue);
            font-size: 22px;
            margin-bottom: 15px;
            margin-top: 25px;
        }

        .content-article h3:first-of-type {
            margin-top: 0;
        }

        .content-article p {
            font-size: 15px;
            color: #444;
            margin-bottom: 20px;
            line-height: 1.7;
            text-align: justify;
        }

        .whatsapp-btn {
            display: inline-block;
            background: #25D366;
            color: #fff;
            padding: 10px 15px;
            border-radius: 4px;
            text-decoration: none;
            font-weight: bold;
            text-align: center;
            width: 100%;
            box-sizing: border-box;
        }
        .contact-block {
            flex: 1;
            min-width: 280px;
            background: #f9f9f9;
            border: 1px solid #e0e0e0;
            border-radius: 8px;
            padding: 20px;
            box-shadow: 0 2px 4px rgba(0,0,0,0.05);
        }

        /* Inline Media Block for side-by-side Image and Text */
        .inline-media-block {
            display: flex;
            gap: 25px;
            align-items: center;
            margin: 25px 0;
        }

        .inline-media-block.reverse {
            flex-direction: row-reverse;
        }

        .inline-media-img {
            flex: 0 0 42%;
            text-align: center;
        }

        .inline-media-img img {
            width: 100%;
            height: auto;
            max-height: 240px;
            object-fit: cover;
            border-radius: 6px;
            box-shadow: 0 4px 15px rgba(0,0,0,0.1);
            border: 1px solid rgba(0, 51, 102, 0.15);
            display: block;
        }

        .inline-media-caption {
            font-size: 12px;
            color: #666;
            margin-top: 6px;
            font-style: italic;
        }

        .inline-media-text {
            flex: 1;
        }

        .inline-media-text p {
            margin-bottom: 0;
            text-align: justify;
        }

        

        .contact-form-container {
            background: var(--white);
            padding: 30px;
            border-radius: 8px;
            box-shadow: 0 6px 20px rgba(0, 0, 0, 0.06);
            border-top: 4px solid var(--accent-red);
        }

        .contact-form-container h3 {
            color: var(--primary-blue);
            margin-bottom: 20px;
            text-align: center;
            font-size: 20px;
        }

        .form-group {
            margin-bottom: 15px;
        }

        .form-group input, 
        .form-group select, 
        .form-group textarea {
            width: 100%;
            padding: 12px;
            border: 1px solid #ccc;
            border-radius: 4px;
            font-size: 14px;
        }

        .form-group textarea {
            resize: vertical;
            height: 90px;
        }

        .form-submit-btn {
            background-color: var(--accent-red);
            color: var(--white);
            border: none;
            padding: 12px 25px;
            font-size: 15px;
            font-weight: bold;
            border-radius: 4px;
            cursor: pointer;
            width: 100%;
            transition: background 0.3s;
        }

        .form-submit-btn:hover {
            background-color: #b30000;
        }

        /* Style pour le bouton WhatsApp Business */
        .whatsapp-btn {
            background-color: #25d366;
            color: var(--white);
            border: none;
            padding: 12px 25px;
            font-size: 15px;
            font-weight: bold;
            border-radius: 4px;
            cursor: pointer;
            width: 100%;
            text-decoration: none;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 8px;
            transition: background 0.3s, transform 0.2s;
            box-shadow: 0 4px 10px rgba(37, 211, 102, 0.2);
        }

        .whatsapp-btn:hover {
            background-color: #1ebe5d;
            transform: translateY(-2px);
            color: var(--white);
        }

        /* Quick Links Section for the sidebar */
        .quick-links-box {
            background: var(--white);
            border-radius: 8px;
            box-shadow: 0 6px 20px rgba(0,0,0,0.06);
            border-top: 4px solid var(--primary-blue);
            padding: 25px;
        }

        .quick-links-box h4 {
            color: var(--primary-blue);
            font-size: 17px;
            margin-bottom: 15px;
        }

        .quick-links-list {
            display: flex;
            flex-direction: column;
            gap: 10px;
        }

        .quick-links-list a {
            background: var(--bg-light);
            padding: 10px 14px;
            border-radius: 4px;
            text-decoration: none;
            color: var(--primary-blue);
            font-weight: 600;
            font-size: 13px;
            box-shadow: 0 1px 3px rgba(0,0,0,0.05);
            transition: all 0.2s;
            display: flex;
            align-items: center;
            gap: 8px;
            border-left: 3px solid var(--accent-red);
        }

        .quick-links-list a:hover {
            background: var(--primary-blue);
            color: var(--white);
            transform: translateX(3px);
        }
		 /* Galerie Photos sur 2 lignes */
        .container {
            max-width: 1200px;
            margin: 0 auto;
            padding: 40px 20px;
        }

        .section-title {
            text-align: center;
            margin-bottom: 35px;
        }

        .section-title h3 {
            font-size: 28px;
            color: var(--primary-blue);
            margin-bottom: 8px;
        }

        .section-title p {
            color: #555;
            font-size: 15px;
        }

        .photo-gallery {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 20px;
            margin-bottom: 60px;
        }

        .gallery-item {
            position: relative;
            overflow: hidden;
            border-radius: 6px;
            box-shadow: 0 4px 15px rgba(0,0,0,0.1);
            height: 200px;
            background-color: #ddd;
            border: 1px solid rgba(0, 51, 102, 0.15);
        }

        .gallery-item img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: transform 0.3s ease;
        }

        .gallery-item:hover img {
            transform: scale(1.05);
        }

        .gallery-caption {
            position: absolute;
            bottom: 0;
            left: 0;
            right: 0;
            background: rgba(0, 51, 102, 0.9);
            color: var(--white);
            padding: 8px 12px;
            font-size: 13px;
            font-weight: 600;
            text-align: center;
            border-top: 2px solid var(--accent-red);
        }

        /* Domaines d'intervention (Services Grid) */
        .services-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
            gap: 25px;
        }

        .service-card {
            background: var(--white);
            padding: 25px;
            border-radius: 8px;
            box-shadow: 0 6px 20px rgba(0,0,0,0.06);
            border-top: 4px solid var(--accent-red);
            border-left: 1px solid rgba(0, 51, 102, 0.1);
            border-right: 1px solid rgba(0, 51, 102, 0.1);
            transition: transform 0.3s, box-shadow 0.3s;
        }

        .service-card:hover {
            transform: translateY(-5px);
            box-shadow: 0 10px 25px rgba(0, 51, 102, 0.12);
        }

        .service-card-image {
            width: 100%;
            height: 150px;
            object-fit: cover;
            border-radius: 6px;
            margin-bottom: 15px;
        }

        .service-card h4 {
            color: var(--primary-blue);
            font-size: 18px;
            margin-bottom: 12px;
        }

        .service-card p {
            color: #555;
            font-size: 14px;
            margin-bottom: 15px;
        }
/* Section Contact / Carte de visite */
        .contact-section {
            position: relative;
            background-color: #00264d;
            background-image: linear-gradient(rgba(0, 38, 77, 0.92), rgba(0, 51, 102, 0.95)), url('images/08.jpg');
            background-repeat: no-repeat;
            background-position: center center;
            background-size: cover;
            color: var(--white);
            padding: 60px 20px;
            overflow: hidden;
        }

        .contact-section::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            height: 3px;
            background: linear-gradient(90deg, transparent, var(--accent-red), transparent);
        }
        
        .contact-section-container {
            max-width: 900px;
            margin: 0 auto;
        }

        .contact-box {
            background: rgba(255, 255, 255, 0.08);
            padding: 40px;
            border-radius: 16px;
            backdrop-filter: blur(5px);
            border: 1px solid rgba(255, 255, 255, 0.15);
            box-shadow: 0 8px 25px rgba(0, 0, 0, 0.2);
            position: relative;
            display: flex;
            align-items: stretch;
            justify-content: space-between;
            gap: 30px;
            flex-wrap: wrap;
        }

        .contact-box::after {
            content: '';
            position: absolute;
            bottom: 0;
            left: 10%;
            right: 10%;
            height: 4px;
            background: linear-gradient(90deg, var(--primary-blue), #ffffff, var(--accent-red));
            border-radius: 2px;
        }

        .contact-content-area {
            flex: 1;
            min-width: 280px;
            text-align: center;
        }

        .contact-box h3 {
            font-size: 24px;
            margin-bottom: 10px;
        }

        .contact-box .verifier-name {
            font-size: 18px;
            color: var(--primary-blue);
            font-weight: bold;
            background: linear-gradient(90deg, #e6f0ff 0%, #ffffff 50%, #ffe6e6 100%);
            display: inline-block;
            padding: 10px 24px;
            border-radius: 4px;
            margin-bottom: 25px;
            box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15);
            border: 1px solid rgba(0, 51, 102, 0.2);
        }

        .contact-details {
            display: flex;
            flex-direction: column;
            gap: 12px;
            align-items: center;
            font-size: 16px;
            margin-bottom: 20px;
        }

        .contact-details a {
            color: var(--white);
            text-decoration: none;
            transition: color 0.2s;
        }

        .contact-details a:hover {
            color: #ffcccc;
        }
        /* Section Contact / Carte de visite */
        .contact-section {
            position: relative;
            background-color: #00264d;
            background-image: linear-gradient(rgba(0, 38, 77, 0.92), rgba(0, 51, 102, 0.95)), url('images/08.jpg');
            background-repeat: no-repeat;
            background-position: center center;
            background-size: cover;
            color: var(--white);
            padding: 60px 20px;
            overflow: hidden;
        }

        .contact-section::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            height: 3px;
            background: linear-gradient(90deg, transparent, var(--accent-red), transparent);
        }
        
        .contact-section-container {
            max-width: 900px;
            margin: 0 auto;
        }

        .contact-box {
            background: rgba(255, 255, 255, 0.08);
            padding: 40px;
            border-radius: 16px;
            backdrop-filter: blur(5px);
            border: 1px solid rgba(255, 255, 255, 0.15);
            box-shadow: 0 8px 25px rgba(0, 0, 0, 0.2);
            position: relative;
            display: flex;
            align-items: stretch;
            justify-content: space-between;
            gap: 30px;
            flex-wrap: wrap;
        }

        .contact-box::after {
            content: '';
            position: absolute;
            bottom: 0;
            left: 10%;
            right: 10%;
            height: 4px;
            background: linear-gradient(90deg, var(--primary-blue), #ffffff, var(--accent-red));
            border-radius: 2px;
        }

        .contact-content-area {
            flex: 1;
            min-width: 280px;
            text-align: center;
        }

        .contact-box h3 {
            font-size: 24px;
            margin-bottom: 10px;
        }

        .contact-box .verifier-name {
            font-size: 18px;
            color: var(--primary-blue);
            font-weight: bold;
            background: linear-gradient(90deg, #e6f0ff 0%, #ffffff 50%, #ffe6e6 100%);
            display: inline-block;
            padding: 10px 24px;
            border-radius: 4px;
            margin-bottom: 25px;
            box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15);
            border: 1px solid rgba(0, 51, 102, 0.2);
        }

        .contact-details {
            display: flex;
            flex-direction: column;
            gap: 12px;
            align-items: center;
            font-size: 16px;
            margin-bottom: 20px;
        }

        .contact-details a {
            color: var(--white);
            text-decoration: none;
            transition: color 0.2s;
        }

        .contact-details a:hover {
            color: #ffcccc;
        }

        .departments-wrapper {
            flex: 0 0 340px;
            max-width: 100%;
            background: rgba(0, 20, 40, 0.4);
            border: 1px solid rgba(255, 255, 255, 0.2);
            border-radius: 12px;
            padding: 20px 15px;
            box-shadow: 0 6px 20px rgba(0, 0, 0, 0.3);
            margin: 0 auto;
            display: flex;
            flex-direction: column;
            justify-content: center;
        }

        .departments-wrapper h4 {
            font-size: 15px;
            text-align: center;
            margin-bottom: 15px;
            color: #ffcccc;
            text-transform: uppercase;
            letter-spacing: 0.5px;
            border-bottom: 1px solid rgba(255, 255, 255, 0.15);
            padding-bottom: 8px;
        }

        .departments-grid {
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: 10px;
        }

        .dept-item {
            display: flex;
            align-items: center;
            gap: 8px;
            font-size: 13px;
            font-weight: 600;
            color: var(--white);
        }

        .dept-thumb {
            width: 32px;
            height: 32px;
            border-radius: 50%;
            object-fit: cover;
            border: 1.5px solid rgba(255, 255, 255, 0.3);
            flex-shrink: 0;
            box-shadow: 0 2px 5px rgba(0,0,0,0.2);
            transition: transform 0.2s;
        }

        .dept-item:hover .dept-thumb {
            transform: scale(1.1);
        }

        footer {
            background-color: #001a33;
            color: #ccc;
            padding: 50px 20px 20px 20px;
            font-size: 14px;
        }

        .footer-container {
            max-width: 1200px;
            margin: 0 auto;
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 30px;
            align-items: start;
            margin-bottom: 30px;
        }

        .footer-col h4 {
            color: var(--white);
            font-size: 16px;
            margin-bottom: 15px;
            border-bottom: 2px solid var(--accent-red);
            padding-bottom: 5px;
            display: inline-block;
        }

        .footer-col p {
            font-size: 13px;
            color: #aaa;
            margin-top: 10px;
        }

        .footer-col ul {
            list-style: none;
            padding: 0;
        }

        .footer-col ul li {
            margin-bottom: 8px;
        }

        .footer-col ul li a {
            color: #ccc;
            text-decoration: none;
            font-size: 13px;
            transition: color 0.2s;
        }

        .footer-col ul li a:hover {
            color: var(--accent-red);
        }

        .footer-col img {
            width: 100%;
            height: auto;
            border-radius: 8px;
            box-shadow: 0 4px 15px rgba(0,0,0,0.3);
        }

        .footer-bottom {
            max-width: 1200px;
            margin: 0 auto;
            text-align: center;
            border-top: 1px solid rgba(255, 255, 255, 0.1);
            padding-top: 20px;
            font-size: 13px;
            color: #888;
        }

        @media(max-width: 992px) {
            .footer-container {
                grid-template-columns: repeat(2, 1fr);
            }
            .header-badge-container {
                display: none;
            }
        }

        @media(max-width: 768px) {
            /* Affichage du bouton hamburger sur mobile */
            .menu-toggle {
                display: block;
            }

            /* Menu principal masqué par défaut sur mobile, affiché si activé */
            nav {
                display: none;
                position: absolute;
                top: 100%;
                left: 0;
                width: 100%;
                background-color: var(--white);
                box-shadow: 0 10px 15px rgba(0,0,0,0.1);
                flex-direction: column;
                padding: 20px;
                z-index: 1200;
            }

            nav.active {
                display: flex;
            }

            nav ul {
                flex-direction: column;
                width: 100%;
                gap: 0;
                align-items: flex-start;
            }

            nav > ul > li {
                width: 100%;
                border-bottom: 1px solid #eee;
            }

            nav a {
                padding: 12px 0;
                width: 100%;
            }

            /* Adaptation des sous-menus au clic sur mobile */
            nav ul.submenu {
                position: static;
                box-shadow: none;
                border-top: none;
                padding-left: 15px;
                background-color: #f8f9fa;
                border-radius: 0;
                width: 90%;
            }

            nav > ul > li:hover ul.submenu {
                display: none; /* Désactive le hover sur mobile */
            }

            nav > ul > li.open ul.submenu {
                display: flex; /* S'ouvre au clic de la classe .open */
            }

            .hero {
                padding: 40px 20px 25px 20px;
            }
            .inline-media-block,
            .inline-media-block.reverse {
                flex-direction: column;
            }
            .inline-media-img {
                width: 100%;
            }
            .footer-container {
                grid-template-columns: 1fr;
            }
            .contact-box {
                flex-direction: column;
                text-align: center;
            }
            .departments-wrapper {
                width: 100%;
            }
            .google-reviews-grid {
                grid-template-columns: 1fr !important;
            }
        }
		@media(max-width: 768px) {
    /* Forcer le contenu principal et la sidebar sur une seule colonne à 100% de largeur */
    .layout-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    /* Optionnel : Ajuster les marges intérieures du contenu article sur mobile pour maximiser la largeur */
    .content-article {
        padding: 20px 15px;
    }

    /* Le reste de vos règles media queries existantes... */
    .menu-toggle {
        display: block;
    }
    
}
  @media(min-width: 769px) {
    .dept-br { display: none; }
}
@media(max-width: 768px) {
    #vgp-ile-de-france .dept-item span {
        text-align: center;
        display: block;
        line-height: 1.2;
        flex: 1; /* Permet au span de s'étendre pour que le text-align: center fonctionne sur toute la largeur disponible */
    }
    .dept-br { display: block; }
}
/* Masqué par défaut sur desktop, affiché en gras et plus grand sur mobile */
.mobile-only-zones {
    display: none;
}
@media (max-width: 768px) {
 .quick-contact-section {
            margin: -50px auto 40px auto;
 }

/* --- 2. CONFIGURATION UNIQUEMENT POUR SMARTPHONES (MOBILE) --- */
@media (max-width: 768px) {
    .mobile-only-zones {
        display: block;
    }
    .mobile-only-zones a {
        font-weight: 700;
        font-size: 16px;
    }

    /* Aligne la galerie de photos sur 1 seule colonne */
    .photo-gallery {
        grid-template-columns: 1fr !important;
        gap: 15px; 
    }

    /* Optimisation mobile pour la barre du bas */
    .bottom-action-bar {
        padding: 10px 10px; 
        gap: 8px;           
    }

    /* C'est ICI et SEULEMENT ICI que les boutons prennent toute la largeur à 50/50 */
    .bottom-action-bar .action-btn {
        padding: 10px 12px; 
        font-size: 13px;    
        flex: 1;            /* Les boutons prennent 50% de la largeur chacun sur mobile uniquement */
        justify-content: center; 
    }
} 

/* ==========================================================================
   ADDITIONS ISSUES DE STYLE00.CSS (SPÉCIFIQUES PAGE ACCUEIL / INDEX)
   ========================================================================== */

 /* Conteneur du formulaire ancré/chevauchant le bas de la bannière */
        .quick-contact-section {
            max-width: 850px;
            margin: 0px auto 40px auto;
            padding: 0 20px;
            position: relative;
            z-index: 1;
        }

        .contact-form-container {
            background: var(--white);
            padding: 35px;
            border-radius: 10px;
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
            border-top: 4px solid var(--accent-red);
        }

        .contact-form-container h3 {
            color: var(--primary-blue);
            margin-bottom: 20px;
            text-align: center;
            font-size: 24px;
        }

        .form-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 15px;
        }

        .form-group {
            margin-bottom: 15px;
        }

        .form-group.full-width {
            grid-column: span 2;
        }

        .form-group input, 
        .form-group select, 
        .form-group textarea {
            width: 100%;
            padding: 12px;
            border: 1px solid #ccc;
            border-radius: 4px;
            font-size: 14px;
        }

        .form-group textarea {
            resize: vertical;
            height: 100px;
        }

        .form-submit-btn {
            background-color: var(--accent-red);
            color: var(--white);
            border: none;
            padding: 12px 25px;
            font-size: 16px;
            font-weight: bold;
            border-radius: 4px;
            cursor: pointer;
            width: 100%;
            transition: background 0.3s;
        }

        .form-submit-btn:hover {
            background-color: #b30000;
        }

/* Titres de sections spécifiques à la page d'accueil */
.section-title {
    text-align: center;
    margin-bottom: 35px;
}

.section-title h3 {
    font-size: 28px;
    color: var(--primary-blue);
    margin-bottom: 8px;
}

.section-title p {
    color: #555;
    font-size: 15px;
}

/* Domaines d'intervention sous forme de grille (Homepage Services) */
.services-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 25px;
}

.service-card {
    background: var(--white);
    padding: 25px;
    border-radius: 8px;
    box-shadow: 0 6px 20px rgba(0,0,0,0.06);
    border-top: 4px solid var(--accent-red);
    border-left: 1px solid rgba(0, 51, 102, 0.1);
    border-right: 1px solid rgba(0, 51, 102, 0.1);
    transition: transform 0.3s, box-shadow 0.3s;
}

.service-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 25px rgba(0, 51, 102, 0.12);
}

.service-card-image {
    width: 100%;
    height: 150px;
    object-fit: cover;
    border-radius: 6px;
    margin-bottom: 15px;
}

.service-card h4 {
    color: var(--primary-blue);
    font-size: 18px;
    margin-bottom: 12px;
}

.service-card p {
    color: #555;
    font-size: 14px;
    margin-bottom: 15px;
}

/* Section Parallax VMS / VRS (Présente uniquement sur l'accueil) */
.parallax-vms-vrs {
    background: linear-gradient(rgba(0, 38, 77, 0.45), rgba(0, 51, 102, 0.5)), url('images/ban.jpg') no-repeat center center fixed;
    background-size: cover;
    color: var(--white);
    padding: 80px 20px;
    margin-top: 0;
}

.parallax-container {
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: center;
}

.parallax-content-col {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.vms-vrs-card {
    background: rgba(0, 35, 70, 0.88);
    padding: 30px;
    border-radius: 8px;
    backdrop-filter: blur(8px);
    border: 1px solid rgba(255, 255, 255, 0.25);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.35);
    border-left: 4px solid var(--accent-red);
}

.vms-vrs-card h3 {
    font-size: 22px;
    color: var(--white);
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.vms-vrs-card h3 i {
    color: var(--accent-red);
}

.vms-vrs-card p {
    font-size: 14px;
    opacity: 0.95;
    margin-bottom: 15px;
}

.vms-vrs-card ul {
    list-style: none;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 20px;
}

.vms-vrs-card ul li a {
    color: #ffcccc;
    text-decoration: none;
    font-weight: 600;
    font-size: 14px;
    transition: color 0.2s, padding-left 0.2s;
    display: inline-block;
}

.vms-vrs-card ul li a:hover {
    color: var(--white);
    padding-left: 5px;
}

.vms-vrs-btn {
    display: inline-block;
    background-color: var(--accent-red);
    color: var(--white);
    padding: 10px 20px;
    border-radius: 4px;
    text-decoration: none;
    font-weight: bold;
    font-size: 14px;
    transition: background-color 0.3s, transform 0.2s;
    box-shadow: 0 4px 10px rgba(0,0,0,0.2);
}

.vms-vrs-btn:hover {
    background-color: #b30000;
    transform: translateY(-2px);
}

.parallax-image-col {
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.4);
    border: 2px solid rgba(255, 255, 255, 0.2);
    height: 100%;
    min-height: 450px;
}

.parallax-image-col img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.5s ease;
}

.parallax-image-col:hover img {
    transform: scale(1.03);
}
@media (max-width: 768px) {
    /* Ajustement de l'ancrage du formulaire de contact sur la bannière mobile */
    .quick-contact-section {
        margin: 20px auto 40px auto;
    }

    /* Passage de la section Parallax de l'accueil sur une seule colonne */
    .parallax-container {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .parallax-image-col {
        min-height: 300px;
    }
}
/* ==========================================================================
   GRILLE ET ENCADRÉS ÉLÉGANTS POUR INDEXX (3 COLONNES)
   ========================================================================== */
.categories-grid-3col {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    margin-top: 20px;
}

.elegant-card-box {
    background: var(--white);
    padding: 30px 25px;
    border-radius: 10px;
    box-shadow: 0 8px 25px rgba(0, 51, 102, 0.05);
    border-top: 4px solid var(--accent-red); /* Bordure rouge haut identique à votre charte */
    border-left: 1px solid #eef2f6;
    border-right: 1px solid #eef2f6;
    border-bottom: 1px solid #eef2f6;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.elegant-card-box:hover {
    transform: translateY(-5px);
    box-shadow: 0 12px 30px rgba(0, 51, 102, 0.12);
}

.elegant-card-icon {
    font-size: 28px;
    color: var(--primary-blue);
    margin-bottom: 15px;
}

.elegant-card-box h4 {
    color: var(--primary-blue);
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 12px;
}

.elegant-card-box p {
    color: #555;
    font-size: 14px;
    line-height: 1.6;
    margin-bottom: 20px;
    text-align: justify;
    flex-grow: 1; /* Aligne les liens du bas même si les textes n'ont pas la même longueur */
}

.elegant-card-link {
    color: var(--accent-red);
    text-decoration: none;
    font-weight: 700;
    font-size: 14px;
    transition: color 0.2s ease;
}

.elegant-card-link:hover {
    color: var(--primary-blue);
    text-decoration: underline;
}

/* ==========================================================================
   RESPONSIVE MOBILE POUR LA GRILLE
   ========================================================================== */
@media (max-width: 992px) {
    .categories-grid-3col {
        grid-template-columns: repeat(2, 1fr); /* 2 colonnes sur tablettes */
    }
}

@media (max-width: 768px) {
    .categories-grid-3col {
        grid-template-columns: 1fr; /* 1 seule colonne sur mobile (Style col-xs-12) */
        gap: 20px;
    }
    .elegant-card-box {
        padding: 25px 20px;
    }
}
