        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        :root {
            --primary-blue: #1e3a5f;
            --light-blue: #2c5282;
            --orange: #f56500;
            --light-orange: #ff7f39;
            --white: #ffffff;
            --light-gray: #f8fafc;
            --dark-gray: #4a5568;
            --text-dark: #2d3748;
			--dark: #1e3a5f;
        }

        body {
            font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
            line-height: 1.6;
            color: var(--text-dark);
        }

        .container {
            max-width: 1200px;
            margin: 0 auto;
            padding: 0 20px;
        }

        /* Header */
        header {
            background: var(--white);
            box-shadow: 0 2px 10px rgba(0,0,0,0.1);
            position: fixed;
            top: 0;
            width: 100%;
            z-index: 1000;
        }

        nav {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 1rem 0;
        }

        /* Navigation Logo - styles améliorés */
.logo a {
    color: var(--primary-blue) !important;
    text-decoration: none !important;
    transition: color 0.3s ease;
    font-size: inherit;
    font-weight: inherit;
}

.logo a:hover {
    color: var(--orange) !important;
    text-decoration: none !important;
}

.logo a:visited {
    color: var(--primary-blue) !important;
    text-decoration: none !important;
}

.logo a:focus {
    color: var(--primary-blue) !important;
    text-decoration: none !important;
    outline: 2px solid var(--orange);
}

/* S'assurer que le logo garde son style */
.logo {
    font-size: 1.8rem;
    font-weight: bold;
    color: var(--primary-blue);
}

/* Supprimer le contour de focus par défaut et le remplacer par un style personnalisé */
.logo a:focus {
    outline: none !important;
    box-shadow: 0 0 0 2px var(--orange) !important;
    border-radius: 4px;
    color: var(--primary-blue) !important;
    text-decoration: none !important;
}

/* Alternative plus subtile */
.logo a:focus-visible {
    outline: 2px solid var(--orange);
    outline-offset: 2px;
    border-radius: 4px;
}

/* Supprimer tous les contours de focus indésirables sur le logo */
.logo a,
.logo a:active,
.logo a:focus {
    outline: none !important;
    border: none !important;
}

/* Style au clic (active) */
.logo a:active {
    transform: scale(0.98);
    transition: transform 0.1s ease;
}

        .nav-links {
            display: flex;
            list-style: none;
            gap: 2rem;
        }

        .nav-links a {
            text-decoration: none;
            color: var(--primary-blue);
            font-weight: 500;
            transition: color 0.3s ease;
        }

        .nav-links a:hover {
            color: var(--orange);
        }

        .cta-nav {
            background: var(--orange);
            color: white !important;
            padding: 0.7rem 1.5rem;
            border-radius: 5px;
            transition: background 0.3s ease;
        }

        .cta-nav:hover {
            background: var(--light-orange);
            color: white !important;
        }

        /* Hero Section */
        .hero {
            background: linear-gradient(135deg, var(--primary-blue) 0%, var(--light-blue) 100%);
            color: white;
            padding: 120px 0 80px;
            text-align: center;
        }

        .hero h1 {
            font-size: 3.2rem;
            margin-bottom: 1rem;
            font-weight: bold;
        }

        .hero p {
            font-size: 1.3rem;
            margin-bottom: 2rem;
            opacity: 0.9;
        }

        .hero-buttons {
            display: flex;
            gap: 1rem;
            justify-content: center;
            flex-wrap: wrap;
        }

        .btn {
            display: inline-block;
            padding: 1rem 2rem;
            border-radius: 8px;
            text-decoration: none;
            font-weight: 600;
            transition: all 0.3s ease;
            border: none;
            cursor: pointer;
            font-size: 1.1rem;
        }

        .btn-primary {
            background: var(--orange);
            color: white;
        }

        .btn-primary:hover {
            background: var(--light-orange);
            transform: translateY(-2px);
        }

        .btn-secondary {
            background: transparent;
            color: white;
            border: 2px solid white;
        }

        .btn-secondary:hover {
            background: white;
            color: var(--primary-blue);
        }

        /* Section Styling */
        .section {
            padding: 40px 0;
        }

        .section-title {
            text-align: center;
            font-size: 2.5rem;
            color: var(--primary-blue);
            margin-bottom: 1rem;
        }

        .section-subtitle {
            text-align: center;
            font-size: 1.2rem;
            color: var(--dark-gray);
            margin-bottom: 3rem;
            max-width: 600px;
            margin-left: auto;
            margin-right: auto;
        }

        /* Spécialités */
        .specialties-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
            gap: 2rem;
            margin-top: 3rem;
        }

        .specialty-card {
            background: white;
            padding: 2rem;
            border-radius: 12px;
            box-shadow: 0 5px 20px rgba(0,0,0,0.1);
            text-align: center;
            transition: transform 0.3s ease, box-shadow 0.3s ease;
        }

        .specialty-card:hover {
            transform: translateY(-5px);
            box-shadow: 0 10px 30px rgba(0,0,0,0.15);
        }

        .specialty-icon {
            font-size: 3rem;
            color: var(--orange);
            margin-bottom: 1rem;
        }

        .specialty-card h3 {
            color: var(--primary-blue);
            margin-bottom: 1rem;
            font-size: 1.3rem;
        }

        /* Avantages */
        .advantages {
            background: var(--light-gray);
        }

        .advantages-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
            gap: 3rem;
            margin-top: 3rem;
        }

        .advantage-item {
            background: white;
            padding: 2.5rem;
            border-radius: 12px;
            box-shadow: 0 5px 15px rgba(0,0,0,0.08);
        }

        .advantage-icon {
            font-size: 2.5rem;
            color: var(--orange);
            margin-bottom: 1.5rem;
        }

        .advantage-item h3 {
            color: var(--primary-blue);
            margin-bottom: 1rem;
            font-size: 1.4rem;
        }

        /* Réalisations */
        .realizations-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
            gap: 2rem;
            margin-top: 3rem;
        }

        .realization-card {
            background: white;
            border-radius: 12px;
            overflow: hidden;
            box-shadow: 0 5px 20px rgba(0,0,0,0.1);
            transition: transform 0.3s ease;
        }

        .realization-card:hover {
            transform: translateY(-3px);
        }

        .realization-image {
            height: 200px;
            background: linear-gradient(45deg, var(--light-blue), var(--primary-blue));
            display: flex;
            align-items: center;
            justify-content: center;
            color: white;
            font-size: 3rem;
        }

        .realization-content {
            padding: 1.5rem;
        }

        .realization-content h4 {
            color: var(--primary-blue);
            margin-bottom: 0.5rem;
        }

        /* Avis clients */
        .testimonials {
            background: var(--primary-blue);
            color: white;
        }

        .testimonials-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
            gap: 2rem;
            margin-top: 3rem;
        }

        .testimonial-card {
            background: rgba(255,255,255,0.1);
            padding: 2rem;
            border-radius: 12px;
            backdrop-filter: blur(10px);
        }

        .testimonial-rating {
            color: var(--orange);
            margin-bottom: 1rem;
            font-size: 1.2rem;
        }

        .testimonial-text {
            font-style: italic;
            margin-bottom: 1rem;
            line-height: 1.8;
        }

        .testimonial-author {
            font-weight: bold;
        }

        /* Formulaire de contact */
        .contact-form {
            background: white;
            padding: 3rem;
            border-radius: 12px;
            box-shadow: 0 10px 30px rgba(0,0,0,0.1);
            max-width: 600px;
            margin: 0 auto;
        }

        .form-group {
            margin-bottom: 1.5rem;
        }

        .form-group label {
            display: block;
            margin-bottom: 0.5rem;
            color: var(--primary-blue);
            font-weight: 600;
        }

        .form-group input,
        .form-group select,
        .form-group textarea {
            width: 100%;
            padding: 0.8rem;
            border: 2px solid #e2e8f0;
            border-radius: 8px;
            font-size: 1rem;
            transition: border-color 0.3s ease;
        }

        .form-group input:focus,
        .form-group select:focus,
        .form-group textarea:focus {
            outline: none;
            border-color: var(--orange);
        }

        /* Villes couvertes */
        .coverage-area {
            background: var(--light-gray);
        }

        .cities-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
            gap: 1.5rem;
            margin-top: 3rem;
        }

        .city-item {
            background: white;
            padding: 1.5rem;
            border-radius: 8px;
            text-align: center;
            box-shadow: 0 3px 10px rgba(0,0,0,0.05);
        }

        .city-item i {
            color: var(--orange);
            margin-bottom: 0.5rem;
        }

        /* Actualités */
        .news-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
            gap: 2rem;
            margin-top: 3rem;
        }

        .news-card {
            background: white;
            border-radius: 12px;
            overflow: hidden;
            box-shadow: 0 5px 15px rgba(0,0,0,0.1);
        }

        .news-date {
            background: var(--orange);
            color: white;
            padding: 0.5rem 1rem;
            font-size: 0.9rem;
            font-weight: 600;
        }

        .news-content {
            padding: 1.5rem;
        }

        .news-content h4 {
            color: var(--primary-blue);
            margin-bottom: 0.5rem;
        }

        /* Footer */
        footer {
            background: var(--primary-blue);
            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-section h4 {
            color: var(--orange);
            margin-bottom: 1rem;
        }

        .footer-section ul {
            list-style: none;
        }

        .footer-section ul li {
            margin-bottom: 0.5rem;
        }

        .footer-section ul li a {
            color: white;
            text-decoration: none;
            transition: color 0.3s ease;
        }

        .footer-section ul li a:hover {
            color: var(--orange);
        }

        .footer-bottom {
            border-top: 1px solid rgba(255,255,255,0.2);
            padding-top: 1rem;
            text-align: center;
            opacity: 0.8;
        }

        /* Mobile Menu */
        .mobile-menu-toggle {
            display: none;
            background: none;
            border: none;
            font-size: 1.5rem;
            color: var(--primary-blue);
            cursor: pointer;
        }

        /* Responsive Design */
        @media (max-width: 768px) {
            .mobile-menu-toggle {
                display: block;
            }

            .nav-links {
                display: none;
            }

            .hero h1 {
                font-size: 2.2rem;
            }

            .hero p {
                font-size: 1.1rem;
            }

            .hero-buttons {
                flex-direction: column;
                align-items: center;
            }

            .section-title {
                font-size: 2rem;
            }

            .specialties-grid {
                grid-template-columns: 1fr;
            }

            .advantages-grid {
                grid-template-columns: 1fr;
            }

            .contact-form {
                margin: 0 1rem;
            }

            .cities-grid {
                grid-template-columns: repeat(2, 1fr);
            }
        }

        @media (max-width: 480px) {
            .container {
                padding: 0 15px;
            }

            .hero {
                padding: 100px 0 60px;
            }

            .section {
                padding: 60px 0;
            }
        }
		
		/* ========================================
   ARTICLE STYLES
   ======================================== */

/* Article Hero */
.article-hero {
    background: linear-gradient(135deg, var(--primary-blue) 0%, var(--light-blue) 100%);
    color: white;
    padding: 120px 0 60px;
}

.article-breadcrumb {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 2rem;
    font-size: 0.9rem;
}

.article-breadcrumb a {
    color: rgba(255,255,255,0.8);
    text-decoration: none;
    transition: color 0.3s ease;
}

.article-breadcrumb a:hover {
    color: white;
}

.article-breadcrumb span:not(.article-breadcrumb > span:last-child) {
    color: rgba(255,255,255,0.5);
}

.article-title {
    font-size: 3rem;
    margin-bottom: 1.5rem;
    line-height: 1.2;
}

.article-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 1.5rem;
    font-size: 0.95rem;
    opacity: 0.9;
    align-items: baseline; /* Alignement sur la ligne de base du texte */
    margin-top: 1rem;
}

.article-meta span {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    line-height: 1.2;
}

/* Icônes avec alignement fixe */
.article-meta span i {
    width: 14px;
    height: 14px;
    text-align: center;
    font-size: 14px;
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* Couleurs des icônes */
.article-date i {
    color: var(--orange);
}

.article-meta-category i {
    color: var(--orange);
}

.article-reading-time i {
    color: var(--orange);
}

/* Article Layout */
.article-content {
    padding: 80px 0;
}

.article-layout {
    display: grid;
    grid-template-columns: 1fr 350px;
    gap: 4rem;
}

.article-main {
    max-width: 800px;
}

/* Article Lead (Chapeau) */
.article-lead {
    font-size: 1.25rem;
    line-height: 1.8;
    color: var(--dark-gray);
    margin-bottom: 3rem;
    padding: 2rem;
    background: var(--light-gray);
    border-left: 4px solid var(--orange);
    border-radius: 0 8px 8px 0;
}

/* Content Blocks */
.content-block {
    margin-bottom: 3rem;
}

.content-block h2 {
    color: var(--primary-blue);
    font-size: 2rem;
    margin-bottom: 1.5rem;
}

.content-block h3 {
    color: var(--primary-blue);
    font-size: 1.5rem;
    margin-bottom: 1rem;
}

.content-block p {
    line-height: 1.8;
    margin-bottom: 1.5rem;
    color: var(--text-dark);
}

/* Block: Image Right */
.block-image-right {
    display: grid;
    grid-template-columns: 1fr 300px;
    gap: 3rem;
    align-items: start;
}

/* Block: Image Left */
.block-image-left {
    display: grid;
    grid-template-columns: 300px 1fr;
    gap: 3rem;
    align-items: start;
}

/* Block Images */
.block-image .placeholder-image {
    width: 100%;
    height: 250px;
    background: linear-gradient(135deg, var(--primary-blue), var(--light-blue));
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 4rem;
}

.image-caption {
    margin-top: 0.5rem;
    font-size: 0.9rem;
    color: var(--dark-gray);
    font-style: italic;
    text-align: center;
}

/* Content List */
.content-list {
    list-style: none;
    padding-left: 0;
}

.content-list li {
    margin-bottom: 1rem;
    display: flex;
    align-items: start;
    gap: 1rem;
}

.content-list li i {
    color: var(--orange);
    margin-top: 0.3rem;
}

/* Simple List */
.simple-list {
    list-style: none;
    padding-left: 0;
}

.simple-list li {
    padding: 0.5rem 0;
    border-bottom: 1px solid #e2e8f0;
}

.simple-list li:last-child {
    border-bottom: none;
}

/* Highlight Box */
.highlight-box {
    background: #fff3e0;
    border: 2px solid var(--orange);
    border-radius: 12px;
    padding: 2rem;
    display: flex;
    gap: 1.5rem;
    align-items: start;
}

.highlight-box i {
    font-size: 2rem;
    color: var(--orange);
    flex-shrink: 0;
}

.highlight-box h3 {
    margin-top: 0;
    margin-bottom: 0.5rem;
}

.highlight-box p {
    margin-bottom: 0;
}

/* Block: Two Columns */
.block-two-columns {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3rem;
    background: var(--light-gray);
    padding: 2.5rem;
    border-radius: 12px;
}

.block-two-columns .column h3 {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    color: var(--primary-blue);
    margin-bottom: 1rem;
}

.block-two-columns .column h3 i {
    color: var(--orange);
}

/* Block: Three Columns */
.block-three-columns {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
}

.mini-card {
    background: white;
    padding: 2rem;
    border-radius: 12px;
    box-shadow: 0 3px 15px rgba(0,0,0,0.08);
    text-align: center;
    transition: transform 0.3s ease;
}

.mini-card:hover {
    transform: translateY(-5px);
}

.mini-card-icon {
    width: 60px;
    height: 60px;
    background: var(--orange);
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.8rem;
    margin: 0 auto 1rem;
}

.mini-card h4 {
    color: var(--primary-blue);
    margin-bottom: 0.75rem;
}

.mini-card p {
    font-size: 0.95rem;
    margin-bottom: 0;
}

/* Block: Quote */
.block-quote {
    margin: 3rem 0;
}

.article-quote {
    background: var(--primary-blue);
    color: white;
    padding: 3rem;
    border-radius: 12px;
    position: relative;
}

.article-quote i {
    font-size: 3rem;
    color: var(--orange);
    opacity: 0.3;
    position: absolute;
    top: 1.5rem;
    left: 2rem;
}

.article-quote p {
    font-size: 1.3rem;
    line-height: 1.8;
    font-style: italic;
    margin-bottom: 1rem;
    padding-left: 3rem;
    color: white;
}

.article-quote cite {
    display: block;
    text-align: right;
    font-size: 1.1rem;
    font-style: normal;
    color: var(--orange);
}

/* Block: CTA */
.article-cta {
    background: linear-gradient(135deg, var(--primary-blue), var(--light-blue));
    color: white;
    padding: 3rem;
    border-radius: 12px;
    text-align: center;
}

.article-cta h3 {
    color: white;
    font-size: 2rem;
    margin-bottom: 1rem;
}

.article-cta p {
    font-size: 1.1rem;
    margin-bottom: 2rem;
    color: rgba(255,255,255,0.9);
}

/* Article Share */
.article-share {
    margin-top: 3rem;
    padding-top: 2rem;
    border-top: 2px solid var(--light-gray);
}

.article-share h4 {
    color: var(--primary-blue);
    margin-bottom: 1rem;
}

.share-buttons {
    display: flex;
    gap: 1rem;
}

.share-btn {
    width: 45px;
    height: 45px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    text-decoration: none;
    transition: transform 0.3s ease;
}

.share-btn:hover {
    transform: translateY(-3px);
}

.share-btn.facebook {
    background: #1877f2;
}

.share-btn.twitter {
    background: #1da1f2;
}

.share-btn.linkedin {
    background: #0a66c2;
}

.share-btn.email {
    background: var(--orange);
}

/* Sidebar Widgets */
.article-sidebar {
    position: sticky;
    top: 100px;
}

.sidebar-widget {
    background: white;
    padding: 2rem;
    border-radius: 12px;
    box-shadow: 0 3px 15px rgba(0,0,0,0.08);
    margin-bottom: 2rem;
}

.sidebar-widget h3 {
    color: var(--primary-blue);
    font-size: 1.3rem;
    margin-bottom: 1.5rem;
}

/* Widget Contact */
.widget-contact p {
    margin-bottom: 1.5rem;
    color: var(--dark-gray);
}

.btn-block {
    width: 100%;
    text-align: center;
}

/* Widget Related Articles */
.related-article {
    padding: 1rem 0;
    border-bottom: 1px solid #e2e8f0;
}

.related-article:last-child {
    border-bottom: none;
}

.related-date {
    font-size: 0.85rem;
    color: var(--orange);
    font-weight: 600;
    margin-bottom: 0.5rem;
}

.related-article h4 {
    font-size: 1rem;
    margin: 0;
}

.related-article h4 a {
    color: var(--primary-blue);
    text-decoration: none;
    transition: color 0.3s ease;
}

.related-article h4 a:hover {
    color: var(--orange);
}

/* Widget Links */
.widget-links ul {
    list-style: none;
    padding: 0;
}

.widget-links ul li {
    margin-bottom: 1rem;
}

.widget-links ul li a {
    color: var(--primary-blue);
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    transition: color 0.3s ease;
}

.widget-links ul li a:hover {
    color: var(--orange);
}

.widget-links ul li a i {
    font-size: 0.8rem;
    opacity: 0.7;
}

/* Responsive Article */
@media (max-width: 1024px) {
    .article-layout {
        grid-template-columns: 1fr;
    }

    .article-sidebar {
        position: static;
    }

    .block-image-right,
    .block-image-left {
        grid-template-columns: 1fr;
    }

    .block-two-columns {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    .block-three-columns {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .article-title {
        font-size: 2rem;
    }

    .article-meta {
        gap: 1rem;
        font-size: 0.85rem;
    }
    
    .article-meta span i {
        width: 12px;
        height: 12px;
        font-size: 12px;
    }

    .article-lead {
        font-size: 1.1rem;
        padding: 1.5rem;
    }

    .content-block h2 {
        font-size: 1.6rem;
    }

    .article-quote p {
        font-size: 1.1rem;
        padding-left: 2rem;
    }

    .block-image .placeholder-image {
        height: 200px;
        font-size: 3rem;
    }

    .highlight-box {
        flex-direction: column;
        gap: 1rem;
    }

    .article-cta {
        padding: 2rem;
    }
}

.news-content h4 a {
    color: var(--primary-blue);
    text-decoration: none;
    transition: color 0.3s ease;
}

.news-content h4 a:hover {
    color: var(--orange);
}

/* ========================================
   SPECIALTY PAGE STYLES
   ======================================== */

/* Specialty Hero */
.specialty-hero {
    background: linear-gradient(135deg, var(--primary-blue) 0%, var(--light-blue) 100%);
    color: white;
    padding: 120px 0 60px;
}

.specialty-hero-content {
    display: flex;
    align-items: center;
    gap: 2rem;
    margin-top: 2rem;
}

.specialty-hero-icon {
    width: 100px;
    height: 100px;
    background: rgba(255, 255, 255, 0.2);
    border-radius: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 3rem;
    flex-shrink: 0;
}

.specialty-hero h1 {
    font-size: 3rem;
    margin-bottom: 1rem;
}

.specialty-hero-subtitle {
    font-size: 1.2rem;
    opacity: 0.9;
}

/* Interventions Grid */
.interventions-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
    gap: 2rem;
    margin-top: 3rem;
}

.intervention-card {
    background: white;
    padding: 2rem;
    border-radius: 12px;
    box-shadow: 0 5px 20px rgba(0,0,0,0.1);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.intervention-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 30px rgba(0,0,0,0.15);
}

.intervention-icon {
    width: 70px;
    height: 70px;
    background: var(--orange);
    color: white;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2rem;
    margin-bottom: 1.5rem;
}

.intervention-card h3 {
    color: var(--primary-blue);
    margin-bottom: 1rem;
    font-size: 1.3rem;
}

.intervention-list {
    list-style: none;
    padding: 0;
}

.intervention-list li {
    padding: 0.6rem 0;
    padding-left: 1.5rem;
    position: relative;
    color: var(--text-dark);
}

.intervention-list li::before {
    content: "•";
    color: var(--orange);
    font-weight: bold;
    position: absolute;
    left: 0;
}

/* Featured Company */
.featured-company {
    background: var(--light-gray);
}

.company-card {
    background: white;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 10px 40px rgba(0,0,0,0.1);
}

.company-header {
    background: linear-gradient(135deg, var(--primary-blue), var(--light-blue));
    color: white;
    padding: 3rem;
    display: flex;
    align-items: center;
    gap: 2rem;
}

.company-logo {
    width: 100px;
    height: 100px;
    background: rgba(255, 255, 255, 0.2);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 3rem;
    flex-shrink: 0;
}

.company-info h3 {
    font-size: 2.5rem;
    margin-bottom: 0.5rem;
}

.company-rating {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 1rem;
}

.company-rating i {
    color: var(--orange);
}

.company-rating span {
    margin-left: 0.5rem;
    opacity: 0.9;
}

.company-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-top: 1rem;
}

.badge {
    background: rgba(255, 255, 255, 0.2);
    padding: 0.4rem 1rem;
    border-radius: 20px;
    font-size: 0.9rem;
    font-weight: 500;
}

.company-content {
    display: grid;
    grid-template-columns: 1fr 350px;
    gap: 3rem;
    padding: 3rem;
}

.company-description h4 {
    color: var(--primary-blue);
    font-size: 1.5rem;
    margin-bottom: 1rem;
    margin-top: 2rem;
}

.company-description h4:first-child {
    margin-top: 0;
}

.company-description p {
    line-height: 1.8;
    margin-bottom: 1.5rem;
    color: var(--text-dark);
}

.company-strengths {
    list-style: none;
    padding: 0;
}

.company-strengths li {
    padding: 0.75rem 0;
    display: flex;
    align-items: center;
    gap: 1rem;
}

.company-strengths li i {
    color: var(--orange);
    font-size: 1.2rem;
}

.company-contact-box {
    background: var(--light-gray);
    padding: 2rem;
    border-radius: 12px;
    margin-bottom: 2rem;
}

.company-contact-box h4 {
    color: var(--primary-blue);
    margin-bottom: 1.5rem;
}

.contact-item {
    display: flex;
    align-items: start;
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.contact-item:last-child {
    margin-bottom: 0;
}

.contact-item i {
    color: var(--orange);
    font-size: 1.3rem;
    margin-top: 0.2rem;
}

.contact-item strong {
    display: block;
    color: var(--primary-blue);
    margin-bottom: 0.25rem;
}

.contact-item a {
    color: var(--text-dark);
    text-decoration: none;
    transition: color 0.3s ease;
}

.contact-item a:hover {
    color: var(--orange);
}

.company-map {
    background: white;
    border: 2px solid var(--light-gray);
    border-radius: 12px;
    padding: 2rem;
}

.company-map h4 {
    color: var(--primary-blue);
    margin-bottom: 1.5rem;
}

.map-placeholder {
    background: linear-gradient(135deg, var(--primary-blue), var(--light-blue));
    color: white;
    height: 200px;
    border-radius: 8px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    margin-bottom: 1rem;
	padding: 0px 20px;
    text-align: center;
}

.map-placeholder i {
    font-size: 3rem;
    margin-bottom: 1rem;
}

.map-placeholder p {
    font-size: 1.1rem;
    font-weight: 600;
}

.coverage-list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.coverage-list span {
    background: var(--light-gray);
    padding: 0.5rem 1rem;
    border-radius: 20px;
    font-size: 0.9rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.coverage-list span i {
    color: var(--orange);
}

/* Reviews */
.reviews-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
    gap: 2rem;
    margin-top: 3rem;
}

.review-card {
    background: white;
    padding: 2rem;
    border-radius: 12px;
    box-shadow: 0 5px 20px rgba(0,0,0,0.08);
}

.review-header {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.review-avatar {
    width: 50px;
    height: 50px;
    background: var(--orange);
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    font-size: 1.1rem;
    flex-shrink: 0;
}

.review-header h4 {
    color: var(--primary-blue);
    margin-bottom: 0.25rem;
}

.review-rating {
    display: flex;
    gap: 0.25rem;
    margin-bottom: 0.25rem;
}

.review-rating i {
    color: var(--orange);
    font-size: 0.9rem;
}

.review-date {
    font-size: 0.85rem;
    color: var(--dark-gray);
}

.review-text {
    line-height: 1.7;
    color: var(--text-dark);
    margin-bottom: 1rem;
}

.review-service {
    display: inline-block;
    background: var(--light-gray);
    color: var(--primary-blue);
    padding: 0.4rem 1rem;
    border-radius: 20px;
    font-size: 0.85rem;
    font-weight: 600;
}

.reviews-summary {
    display: grid;
    grid-template-columns: 250px 1fr;
    gap: 4rem;
    margin-top: 4rem;
    padding: 3rem;
    background: white;
    border-radius: 12px;
    box-shadow: 0 5px 20px rgba(0,0,0,0.08);
}

.summary-score {
    text-align: center;
}

.score-number {
    font-size: 4rem;
    font-weight: bold;
    color: var(--primary-blue);
    line-height: 1;
}

.score-number span {
    font-size: 2rem;
    color: var(--dark-gray);
}

.score-stars {
    margin: 1rem 0;
    font-size: 1.5rem;
}

.score-stars i {
    color: var(--orange);
}

.score-count {
    color: var(--dark-gray);
    font-size: 0.95rem;
}

.bar-item {
    display: grid;
    grid-template-columns: 80px 1fr 40px;
    align-items: center;
    gap: 1rem;
    margin-bottom: 0.75rem;
}

.bar-item span:first-child {
    font-size: 0.9rem;
    color: var(--text-dark);
}

.bar-container {
    height: 8px;
    background: var(--light-gray);
    border-radius: 10px;
    overflow: hidden;
}

.bar-fill {
    height: 100%;
    background: var(--orange);
    transition: width 0.3s ease;
}

.bar-count {
    text-align: right;
    font-size: 0.9rem;
    color: var(--dark-gray);
}

/* References */
.references-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
    gap: 2rem;
    margin-top: 3rem;
}

.reference-card {
    background: white;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 5px 20px rgba(0,0,0,0.1);
    text-decoration: none;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    display: block;
}

.reference-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 30px rgba(0,0,0,0.15);
}

.reference-image {
    height: 200px;
    background: linear-gradient(135deg, var(--light-blue), var(--primary-blue));
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 4rem;
    position: relative;
}

.reference-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(245, 101, 0, 0.95);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.reference-card:hover .reference-overlay {
    opacity: 1;
}

.reference-view {
    color: white;
    font-weight: 600;
    font-size: 1.1rem;
}

.reference-content {
    padding: 1.5rem;
}

.reference-content h4 {
    color: var(--primary-blue);
    margin-bottom: 0.75rem;
    font-size: 1.2rem;
}

.reference-location {
    color: var(--orange);
    font-size: 0.9rem;
    margin-bottom: 1rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.reference-description {
    color: var(--text-dark);
    line-height: 1.6;
    margin-bottom: 1rem;
}

.reference-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.reference-tags span {
    background: var(--light-gray);
    color: var(--primary-blue);
    padding: 0.3rem 0.8rem;
    border-radius: 15px;
    font-size: 0.85rem;
}

/* Form Enhancements */
.form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.5rem;
}

.radio-group {
    display: flex;
    gap: 1.5rem;
    flex-wrap: wrap;
}

.radio-label {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    cursor: pointer;
}

.radio-label input[type="radio"] {
    width: auto;
    cursor: pointer;
}

.checkbox-label {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    cursor: pointer;
    font-weight: normal;
}

.checkbox-label input[type="checkbox"] {
    width: auto;
    cursor: pointer;
}

.form-notice {
    text-align: center;
    font-size: 0.9rem;
    color: var(--dark-gray);
    margin-top: 1rem;
}

.form-notice i {
    color: var(--orange);
    margin-right: 0.5rem;
}

/* CTA Banner */
.cta-banner {
    background: linear-gradient(135deg, var(--primary-blue), var(--light-blue));
    padding: 3rem 0;
}

.cta-banner-content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
}

.cta-banner-icon {
    width: 80px;
    height: 80px;
    background: rgba(255, 255, 255, 0.2);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2.5rem;
    color: white;
    flex-shrink: 0;
}

.cta-banner-text {
    flex-grow: 1;
    color: white;
}

.cta-banner-text h3 {
    font-size: 2rem;
    margin-bottom: 0.5rem;
}

.cta-banner-text p {
    font-size: 1.1rem;
    opacity: 0.9;
}

.btn-large {
    font-size: 1.3rem;
    padding: 1.2rem 2.5rem;
}

/* Responsive Specialty Page */
@media (max-width: 1024px) {
    .company-content {
        grid-template-columns: 1fr;
    }

    .reviews-summary {
        grid-template-columns: 1fr;
        gap: 2rem;
    }
}

@media (max-width: 768px) {
    .specialty-hero-content {
        flex-direction: column;
        text-align: center;
    }

    .specialty-hero h1 {
        font-size: 2.2rem;
    }

    .interventions-grid {
        grid-template-columns: 1fr;
    }

    .company-header {
        flex-direction: column;
        text-align: center;
    }

    .company-info h3 {
        font-size: 2rem;
    }

    .company-badges {
        justify-content: center;
    }

    .form-row {
        grid-template-columns: 1fr;
    }

    .radio-group {
        flex-direction: column;
        gap: 1rem;
    }

    .cta-banner-content {
        flex-direction: column;
        text-align: center;
    }

    .references-grid {
        grid-template-columns: 1fr;
    }
}

.specialty-card {
    text-decoration: none;
    color: inherit;
}

/* ========================================
   REFERENCE PAGE STYLES
   ======================================== */

/* Reference Hero */
.reference-hero {
    background: linear-gradient(135deg, var(--primary-blue) 0%, var(--light-blue) 100%);
    color: white;
    padding: 120px 0 60px;
}

.reference-hero-content {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 3rem;
    align-items: start;
    margin-top: 2rem;
}

.reference-hero-main h1 {
    font-size: 3rem;
    margin-bottom: 1.5rem;
    line-height: 1.2;
}

.reference-hero-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 2rem;
    margin-bottom: 1.5rem;
}

.meta-item {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 1rem;
    opacity: 0.95;
}

.reference-hero-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.ref-tag {
    background: rgba(255, 255, 255, 0.2);
    padding: 0.5rem 1rem;
    border-radius: 20px;
    font-size: 0.9rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.reference-hero-stats {
    display: flex;
    gap: 1.5rem;
}

.stat-item {
    background: rgba(255, 255, 255, 0.15);
    padding: 1.5rem;
    border-radius: 12px;
    text-align: center;
    min-width: 120px;
}

.stat-icon {
    font-size: 2rem;
    margin-bottom: 0.75rem;
}

.stat-value {
    font-size: 2rem;
    font-weight: bold;
    margin-bottom: 0.25rem;
}

.stat-label {
    font-size: 0.9rem;
    opacity: 0.9;
}

/* Project Overview */
.project-overview {
    display: grid;
    grid-template-columns: 1fr 400px;
    gap: 4rem;
}

.overview-content h2 {
    color: var(--primary-blue);
    font-size: 2.5rem;
    margin-bottom: 1.5rem;
}

.overview-content h3 {
    color: var(--primary-blue);
    font-size: 2rem;
    margin-top: 3rem;
    margin-bottom: 1.5rem;
}

.lead-text {
    font-size: 1.25rem;
    line-height: 1.8;
    color: var(--dark-gray);
    margin-bottom: 1.5rem;
}

.overview-content p {
    line-height: 1.8;
    margin-bottom: 1.5rem;
    color: var(--text-dark);
}

/* Actions Grid */
.actions-grid {
    display: grid;
    gap: 2rem;
    margin-top: 2rem;
}

.action-item {
    display: flex;
    gap: 2rem;
    align-items: start;
}

.action-number {
    width: 60px;
    height: 60px;
    background: var(--orange);
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    font-weight: bold;
    flex-shrink: 0;
}

.action-content h4 {
    color: var(--primary-blue);
    font-size: 1.2rem;
    margin-bottom: 0.5rem;
}

.action-content p {
    margin: 0;
    line-height: 1.6;
}

/* Project Details Box */
.project-details-box {
    background: var(--light-gray);
    padding: 2rem;
    border-radius: 12px;
    position: sticky;
    top: 100px;
}

.project-details-box h3 {
    color: var(--primary-blue);
    font-size: 1.5rem;
    margin-bottom: 1.5rem;
}

.detail-group {
    margin-bottom: 2rem;
}

.detail-group:last-child {
    margin-bottom: 0;
}

.detail-group h4 {
    color: var(--primary-blue);
    font-size: 1.1rem;
    margin-bottom: 1rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.detail-group h4 i {
    color: var(--orange);
}

.detail-list {
    list-style: none;
    padding: 0;
}

.detail-list li {
    padding: 0.5rem 0;
    padding-left: 1.5rem;
    position: relative;
    color: var(--text-dark);
}

.detail-list li::before {
    content: "•";
    color: var(--orange);
    position: absolute;
    left: 0;
    font-weight: bold;
}

.detail-list li strong {
    color: var(--primary-blue);
}

/* Before After Section */
.before-after-section {
    background: var(--light-gray);
}

.before-after-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(500px, 1fr));
    gap: 3rem;
    margin-top: 3rem;
}

.before-after-item {
    background: white;
    border-radius: 12px;
    padding: 2rem;
    box-shadow: 0 5px 20px rgba(0,0,0,0.08);
}

.ba-images {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.5rem;
}

.ba-image {
    position: relative;
}

.ba-placeholder {
    height: 250px;
    background: linear-gradient(135deg, var(--primary-blue), var(--light-blue));
    border-radius: 8px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 3rem;
    position: relative;
    overflow: hidden;
}

.ba-label {
    position: absolute;
    top: 1rem;
    left: 1rem;
    background: rgba(0, 0, 0, 0.6);
    color: white;
    padding: 0.4rem 1rem;
    border-radius: 20px;
    font-size: 0.8rem;
    font-weight: bold;
    letter-spacing: 1px;
}

.ba-label-after {
    background: var(--orange);
}

.ba-caption {
    margin-top: 0.75rem;
    font-size: 0.9rem;
    color: var(--dark-gray);
    text-align: center;
}

/* Comparison Highlight */
.comparison-highlight {
    margin-top: 4rem;
    background: white;
    padding: 3rem;
    border-radius: 12px;
    box-shadow: 0 5px 20px rgba(0,0,0,0.08);
}

.comparison-highlight h3 {
    color: var(--primary-blue);
    font-size: 2rem;
    margin-bottom: 2rem;
    text-align: center;
}

.comparison-points {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 2rem;
}

.comparison-point {
    display: flex;
    gap: 1.5rem;
    align-items: start;
}

.point-icon {
    width: 50px;
    height: 50px;
    background: var(--orange);
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.3rem;
    flex-shrink: 0;
}

.point-content h4 {
    color: var(--primary-blue);
    margin-bottom: 0.5rem;
}

.point-content p {
    color: var(--text-dark);
    line-height: 1.6;
    margin: 0;
}

/* Testimonial Section */
.testimonial-section {
    background: var(--primary-blue);
    color: white;
}

.testimonial-section .section-title,
.testimonial-section .section-subtitle {
    color: white;
}

.testimonial-featured {
    background: rgba(255, 255, 255, 0.1);
    border-radius: 16px;
    padding: 4rem;
    backdrop-filter: blur(10px);
    position: relative;
}

.testimonial-quote-icon {
    position: absolute;
    top: 2rem;
    left: 3rem;
    font-size: 5rem;
    color: var(--orange);
    opacity: 0.3;
}

.testimonial-text-large {
    font-size: 1.5rem;
    line-height: 1.9;
    font-style: italic;
    margin-bottom: 2rem;
    padding-left: 4rem;
}

.testimonial-author-featured {
    display: flex;
    align-items: center;
    gap: 2rem;
    padding-left: 4rem;
}

.author-avatar-large {
    width: 80px;
    height: 80px;
    background: var(--orange);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.8rem;
    font-weight: bold;
    flex-shrink: 0;
}

.author-info h4 {
    font-size: 1.5rem;
    margin-bottom: 0.25rem;
}

.author-location {
    font-size: 1rem;
    opacity: 0.9;
    margin-bottom: 0.5rem;
}

.author-rating {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.author-rating i {
    color: var(--orange);
}

.author-rating span {
    margin-left: 0.5rem;
    font-weight: bold;
}

/* Feedback Points */
.feedback-points {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 2rem;
    margin-top: 3rem;
}

.feedback-item {
    display: flex;
    align-items: start;
    gap: 1.5rem;
    background: rgba(255, 255, 255, 0.1);
    padding: 1.5rem;
    border-radius: 12px;
}

.feedback-icon {
    width: 50px;
    height: 50px;
    background: var(--orange);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    flex-shrink: 0;
}

.feedback-text {
    line-height: 1.6;
}

.feedback-text strong {
    display: block;
    margin-bottom: 0.25rem;
    color: var(--orange);
}

/* Project CTA Section */
.project-cta-section {
    background: var(--light-gray);
}

.project-cta-card {
    display: grid;
    grid-template-columns: 1.5fr 1fr;
    gap: 3rem;
    background: white;
    padding: 3rem;
    border-radius: 16px;
    box-shadow: 0 10px 40px rgba(0,0,0,0.1);
}

.project-cta-content h2 {
    color: var(--primary-blue);
    font-size: 2.5rem;
    margin-bottom: 1rem;
}

.project-cta-content > p {
    font-size: 1.1rem;
    line-height: 1.8;
    color: var(--text-dark);
    margin-bottom: 2rem;
}

.cta-advantages {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
    margin-bottom: 2rem;
}

.cta-advantage {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    color: var(--text-dark);
}

.cta-advantage i {
    color: var(--orange);
    font-size: 1.2rem;
}

.cta-buttons {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
}

/* Company Card Compact */
.company-card-compact {
    background: var(--light-gray);
    padding: 2rem;
    border-radius: 12px;
    height: 100%;
}

.company-logo-compact {
    width: 80px;
    height: 80px;
    background: var(--orange);
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2.5rem;
    margin: 0 auto 1.5rem;
}

.company-info-compact {
    text-align: center;
}

.company-info-compact h3 {
    color: var(--primary-blue);
    font-size: 1.8rem;
    margin-bottom: 0.75rem;
}

.company-rating-compact {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.3rem;
    margin-bottom: 0.75rem;
}

.company-rating-compact i {
    color: var(--orange);
}

.company-rating-compact span {
    margin-left: 0.5rem;
    font-weight: bold;
    color: var(--primary-blue);
}

.company-info-compact > p {
    color: var(--dark-gray);
    margin-bottom: 1.5rem;
}

.company-contact-compact {
    text-align: left;
    background: white;
    padding: 1.5rem;
    border-radius: 8px;
    margin-top: 1rem;
}

.company-contact-compact p {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 0.75rem;
    color: var(--text-dark);
    font-size: 0.95rem;
}

.company-contact-compact p:last-child {
    margin-bottom: 0;
}

.company-contact-compact i {
    color: var(--orange);
    width: 20px;
}

/* Related Projects */
.related-projects-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 2rem;
    margin-top: 3rem;
}

/* Responsive Reference Page */
@media (max-width: 1200px) {
    .project-overview {
        grid-template-columns: 1fr;
    }

    .project-details-box {
        position: static;
    }

    .project-cta-card {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .reference-hero-content {
        grid-template-columns: 1fr;
    }

    .reference-hero-main h1 {
        font-size: 2rem;
    }

    .reference-hero-stats {
        flex-wrap: wrap;
    }

    .before-after-grid {
        grid-template-columns: 1fr;
    }

    .ba-images {
        grid-template-columns: 1fr;
    }

    .testimonial-featured {
        padding: 2rem;
    }

    .testimonial-text-large {
        font-size: 1.2rem;
        padding-left: 0;
    }

    .testimonial-author-featured {
        padding-left: 0;
        flex-direction: column;
        text-align: center;
    }

    .comparison-points {
        grid-template-columns: 1fr;
    }

    .cta-advantages {
        grid-template-columns: 1fr;
    }

    .action-item {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }
}

/* ========================================
   ADVANTAGES PAGE STYLES
   ======================================== */

/* Advantages Introduction */
.advantages-intro {
    display: grid;
    grid-template-columns: 1.5fr 1fr;
    gap: 4rem;
    align-items: start;
}

.intro-visual {
    position: sticky;
    top: 100px;
}

.value-proposition-card {
    background: linear-gradient(135deg, var(--primary-blue), var(--light-blue));
    color: white;
    padding: 2.5rem;
    border-radius: 16px;
    box-shadow: 0 10px 40px rgba(0,0,0,0.15);
}

.vp-icon {
    width: 80px;
    height: 80px;
    background: rgba(255, 255, 255, 0.2);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2.5rem;
    margin: 0 auto 1.5rem;
}

.value-proposition-card h3 {
    text-align: center;
    font-size: 1.8rem;
    margin-bottom: 1.5rem;
}

.vp-list {
    list-style: none;
    padding: 0;
}

.vp-list li {
    padding: 0.75rem 0;
    display: flex;
    align-items: center;
    gap: 1rem;
    font-size: 1.05rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}

.vp-list li:last-child {
    border-bottom: none;
}

.vp-list li i {
    color: var(--orange);
    font-size: 1.2rem;
}

/* Process Timeline */
.process-timeline {
    display: grid;
    gap: 3rem;
    margin-top: 3rem;
    position: relative;
}

.process-timeline::before {
    content: '';
    position: absolute;
    left: 30px;
    top: 40px;
    bottom: 40px;
    width: 3px;
    background: var(--orange);
}

.process-step {
    display: grid;
    grid-template-columns: 60px 1fr;
    gap: 2rem;
    position: relative;
}

.process-number {
    width: 60px;
    height: 60px;
    background: var(--orange);
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.8rem;
    font-weight: bold;
    position: relative;
    z-index: 1;
    box-shadow: 0 4px 15px rgba(245, 101, 0, 0.3);
}

.process-content {
    background: white;
    padding: 2rem;
    border-radius: 12px;
    box-shadow: 0 5px 20px rgba(0,0,0,0.08);
}

.process-content h3 {
    color: var(--primary-blue);
    font-size: 1.5rem;
    margin-bottom: 1rem;
}

.process-content p {
    line-height: 1.7;
    color: var(--text-dark);
    margin-bottom: 1rem;
}

.process-highlight {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    background: var(--light-gray);
    color: var(--primary-blue);
    padding: 0.5rem 1rem;
    border-radius: 20px;
    font-size: 0.9rem;
    font-weight: 600;
}

.process-highlight i {
    color: var(--orange);
}

/* Advantage Details */
.advantage-details {
    list-style: none;
    padding: 0;
    margin-top: 1.5rem;
}

.advantage-details li {
    padding: 0.75rem 0;
    display: flex;
    align-items: center;
    gap: 1rem;
    color: var(--text-dark);
    border-bottom: 1px solid var(--light-gray);
}

.advantage-details li:last-child {
    border-bottom: none;
}

.advantage-details li i {
    color: var(--orange);
    font-size: 1.1rem;
}

/* Transparency Section */
/* Transparency Section - Version améliorée */
.transparency-section {
    background: linear-gradient(135deg, var(--primary-blue), var(--light-blue));
    color: white;
    position: relative;
    overflow: hidden;
}

.transparency-section::before {
    content: '';
    position: absolute;
    top: -50%;
    right: -10%;
    width: 500px;
    height: 500px;
    background: rgba(245, 101, 0, 0.1);
    border-radius: 50%;
}

.transparency-hero {
    text-align: center;
    max-width: 900px;
    margin: 0 auto 4rem;
    position: relative;
    z-index: 1;
}

.transparency-badge {
    width: 140px;
    height: 140px;
    background: var(--orange);
    border-radius: 50%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    margin: 0 auto 2rem;
    box-shadow: 0 10px 40px rgba(245, 101, 0, 0.4);
    position: relative;
}

.transparency-badge::after {
    content: '';
    position: absolute;
    width: 160px;
    height: 160px;
    border: 3px solid rgba(245, 101, 0, 0.3);
    border-radius: 50%;
    animation: pulse 2s infinite;
}

@keyframes pulse {
    0%, 100% {
        transform: scale(1);
        opacity: 1;
    }
    50% {
        transform: scale(1.1);
        opacity: 0.5;
    }
}

.transparency-badge i {
    font-size: 2.5rem;
    margin-bottom: 0.25rem;
}

.transparency-badge span {
    font-size: 2.5rem;
    font-weight: bold;
    line-height: 1;
}

.transparency-hero h2 {
    color: white;
    font-size: 3rem;
    margin-bottom: 1.5rem;
}

.transparency-lead {
    font-size: 1.4rem;
    line-height: 1.8;
    color: white;
    margin: 0;
}

.transparency-lead strong {
    color: var(--orange);
    font-size: 1.5rem;
}

.transparency-cards {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 2rem;
    margin-bottom: 3rem;
    position: relative;
    z-index: 1;
}

.transparency-card {
    background: white;
    color: var(--text-dark);
    padding: 2.5rem 2rem;
    border-radius: 12px;
    text-align: center;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.transparency-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 40px rgba(0,0,0,0.2);
}

.tcard-icon {
    width: 70px;
    height: 70px;
    background: var(--orange);
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2rem;
    margin: 0 auto 1.5rem;
}

.transparency-card h3 {
    color: var(--primary-blue);
    font-size: 1.3rem;
    margin-bottom: 1rem;
}

.transparency-card p {
    color: var(--text-dark);
    line-height: 1.6;
    margin: 0;
}

.transparency-highlight-box {
    background: rgba(255, 255, 255, 0.15);
    backdrop-filter: blur(10px);
    border: 2px solid rgba(255, 255, 255, 0.3);
    border-radius: 12px;
    padding: 2rem;
    display: flex;
    gap: 1.5rem;
    align-items: start;
    max-width: 800px;
    margin: 0 auto;
    position: relative;
    z-index: 1;
}

.transparency-highlight-box i {
    font-size: 2.5rem;
    color: var(--orange);
    flex-shrink: 0;
}

.transparency-highlight-box strong {
    display: block;
    font-size: 1.3rem;
    margin-bottom: 0.5rem;
    color: white;
}

.transparency-highlight-box p {
    margin: 0;
    line-height: 1.7;
    color: rgba(255, 255, 255, 0.95);
}

/* Responsive Transparency */
@media (max-width: 1024px) {
    .transparency-cards {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .transparency-hero h2 {
        font-size: 2rem;
    }

    .transparency-lead {
        font-size: 1.2rem;
    }

    .transparency-badge {
        width: 110px;
        height: 110px;
    }

    .transparency-badge i,
    .transparency-badge span {
        font-size: 2rem;
    }

    .transparency-cards {
        grid-template-columns: 1fr;
    }

    .transparency-highlight-box {
        flex-direction: column;
        text-align: center;
    }

    .transparency-highlight-box i {
        margin: 0 auto;
    }
}

/* Quality Features */
.quality-features {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
    margin-top: 3rem;
}

.quality-card {
    background: white;
    padding: 2.5rem;
    border-radius: 12px;
    box-shadow: 0 5px 20px rgba(0,0,0,0.08);
    text-align: center;
}

.quality-icon {
    width: 80px;
    height: 80px;
    background: var(--orange);
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2.5rem;
    margin: 0 auto 1.5rem;
}

.quality-card h3 {
    color: var(--primary-blue);
    font-size: 1.4rem;
    margin-bottom: 1rem;
}

.quality-card p {
    line-height: 1.7;
    color: var(--text-dark);
    margin-bottom: 1.5rem;
}

.quality-stats {
    display: flex;
    justify-content: center;
    gap: 2rem;
}

.stat-mini {
    text-align: center;
}

.stat-mini strong {
    display: block;
    font-size: 2rem;
    color: var(--orange);
    margin-bottom: 0.25rem;
}

.stat-mini span {
    font-size: 0.9rem;
    color: var(--dark-gray);
}

/* Services Included */
.services-included {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem;
    margin-top: 3rem;
}

.service-block {
    display: flex;
    gap: 2rem;
    background: white;
    padding: 2rem;
    border-radius: 12px;
    box-shadow: 0 5px 20px rgba(0,0,0,0.08);
    transition: transform 0.3s ease;
}

.service-block:hover {
    transform: translateY(-3px);
}

.service-number {
    width: 50px;
    height: 50px;
    background: var(--light-gray);
    color: var(--primary-blue);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    font-weight: bold;
    flex-shrink: 0;
}

.service-content h3 {
    color: var(--primary-blue);
    font-size: 1.2rem;
    margin-bottom: 0.75rem;
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.service-content h3 i {
    color: var(--orange);
}

.service-content p {
    line-height: 1.7;
    color: var(--text-dark);
    margin: 0;
}

/* Comparison Section */
.comparison-section {
    background: var(--light-gray);
}

.comparison-table-wrapper {
    overflow-x: auto;
    margin-top: 3rem;
    border-radius: 12px;
    box-shadow: 0 5px 20px rgba(0,0,0,0.08);
}

.comparison-table {
    width: 100%;
    background: white;
    border-collapse: collapse;
}

.comparison-table thead {
    background: var(--primary-blue);
    color: white;
}

.comparison-table th {
    padding: 1.5rem;
    text-align: left;
    font-size: 1.1rem;
}

.comparison-table th.highlight-col {
    background: var(--orange);
}

.comparison-table th i {
    margin-right: 0.5rem;
}

.comparison-table td {
    padding: 1.25rem 1.5rem;
    border-bottom: 1px solid var(--light-gray);
}

.comparison-table td.highlight-col {
    background: #fff3e0;
    font-weight: 600;
}

.comparison-table tbody tr:hover {
    background: var(--light-gray);
}

.comparison-table i.fa-check-circle {
    color: #4caf50;
    margin-right: 0.5rem;
}

.comparison-table i.fa-times-circle {
    color: #f44336;
    margin-right: 0.5rem;
}

.comparison-table i.fa-exclamation-circle {
    color: #ff9800;
    margin-right: 0.5rem;
}

/* Final CTA */
.final-cta {
    background: linear-gradient(135deg, var(--primary-blue), var(--light-blue));
    color: white;
    padding: 4rem;
    border-radius: 16px;
    text-align: center;
}

.final-cta-content h2 {
    color: white;
    font-size: 3rem;
    margin-bottom: 1rem;
}

.final-cta-content > p {
    font-size: 1.3rem;
    margin-bottom: 2rem;
    opacity: 0.95;
}

.cta-features-mini {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 2rem;
    margin-bottom: 2.5rem;
}

.cta-features-mini span {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 1.05rem;
}

.cta-features-mini i {
    color: var(--orange);
}

/* Responsive Advantages Page */
@media (max-width: 1024px) {
    .advantages-intro {
        grid-template-columns: 1fr;
    }

    .intro-visual {
        position: static;
    }

    .transparency-content {
        grid-template-columns: 1fr;
    }

    .transparency-grid {
        grid-template-columns: 1fr;
    }

    .quality-features {
        grid-template-columns: 1fr;
    }

    .services-included {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .process-timeline::before {
        left: 20px;
    }

    .process-step {
        grid-template-columns: 40px 1fr;
        gap: 1.5rem;
    }

    .process-number {
        width: 40px;
        height: 40px;
        font-size: 1.2rem;
    }

    .comparison-table th,
    .comparison-table td {
        padding: 1rem;
        font-size: 0.9rem;
    }

    .final-cta {
        padding: 2.5rem 1.5rem;
    }

    .final-cta-content h2 {
        font-size: 2rem;
    }

    .cta-features-mini {
        flex-direction: column;
        gap: 1rem;
    }
}

/* ========================================
   LOCAL/CITY PAGE STYLES
   ======================================== */

/* Local Hero */
.local-hero {
    background: linear-gradient(135deg, var(--primary-blue) 0%, var(--light-blue) 100%);
    color: white;
    padding: 120px 0 60px;
}

.local-hero-content {
    display: grid;
    grid-template-columns: 1.5fr 1fr;
    gap: 4rem;
    margin-top: 2rem;
}

.local-hero-main h1 {
    font-size: 3rem;
    margin-bottom: 1.5rem;
    line-height: 1.2;
}

.local-hero-subtitle {
    font-size: 1.2rem;
    line-height: 1.8;
    opacity: 0.95;
    margin-bottom: 2rem;
}

.local-hero-features {
    display: flex;
    flex-wrap: wrap;
    gap: 1.5rem;
    margin-bottom: 2.5rem;
}

.local-hero-features span {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 1rem;
}

.local-hero-features i {
    color: var(--orange);
}

.local-hero-cta {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
}

.local-hero-map {
    background: rgba(255, 255, 255, 0.1);
    padding: 2rem;
    border-radius: 12px;
    backdrop-filter: blur(10px);
}

.map-visual {
    background: rgba(255, 255, 255, 0.15);
    border-radius: 12px;
    padding: 2rem;
    text-align: center;
    margin-bottom: 1.5rem;
}

.map-visual i {
    font-size: 4rem;
    margin-bottom: 1rem;
}

.map-info h3 {
    font-size: 1.5rem;
    margin-bottom: 0.5rem;
}

.nearby-cities h4 {
    margin-bottom: 1rem;
    font-size: 1.1rem;
}

.nearby-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.nearby-tags span {
    background: rgba(255, 255, 255, 0.2);
    padding: 0.4rem 0.8rem;
    border-radius: 15px;
    font-size: 0.9rem;
}

/* Local Services Grid */
.local-services-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 2rem;
    margin-top: 3rem;
}

.local-service-card {
    background: white;
    padding: 2rem;
    border-radius: 12px;
    box-shadow: 0 5px 20px rgba(0,0,0,0.08);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.local-service-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 30px rgba(0,0,0,0.15);
}

.service-icon-local {
    width: 70px;
    height: 70px;
    background: var(--orange);
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2rem;
    margin-bottom: 1.5rem;
}

.local-service-card h3 {
    color: var(--primary-blue);
    font-size: 1.4rem;
    margin-bottom: 1rem;
}

.local-service-card > p {
    line-height: 1.7;
    color: var(--text-dark);
    margin-bottom: 1.5rem;
}

.service-list-local {
    list-style: none;
    padding: 0;
    margin-bottom: 1.5rem;
}

.service-list-local li {
    padding: 0.5rem 0;
    padding-left: 1.5rem;
    position: relative;
    color: var(--text-dark);
    font-size: 0.95rem;
}

.service-list-local li::before {
    content: "→";
    color: var(--orange);
    position: absolute;
    left: 0;
    font-weight: bold;
}

.service-link {
    color: var(--orange);
    text-decoration: none;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    transition: gap 0.3s ease;
}

.service-link:hover {
    gap: 0.75rem;
}

/* Quartiers Grid */
.quartiers-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 2rem;
    margin-top: 3rem;
}

.quartier-card {
    background: white;
    padding: 2rem;
    border-radius: 12px;
    box-shadow: 0 5px 20px rgba(0,0,0,0.08);
}

.quartier-card h3 {
    color: var(--primary-blue);
    font-size: 1.2rem;
    margin-bottom: 1rem;
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.quartier-card h3 i {
    color: var(--orange);
}

.quartier-card p {
    line-height: 1.7;
    color: var(--text-dark);
    margin: 0;
}

/* Local Advantages */
.local-advantages {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 2rem;
    margin-top: 3rem;
}

.local-advantage-item {
    background: white;
    padding: 2.5rem;
    border-radius: 12px;
    box-shadow: 0 5px 20px rgba(0,0,0,0.08);
    text-align: center;
}

.local-adv-icon {
    width: 80px;
    height: 80px;
    background: var(--orange);
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2.5rem;
    margin: 0 auto 1.5rem;
}

.local-advantage-item h3 {
    color: var(--primary-blue);
    font-size: 1.3rem;
    margin-bottom: 1rem;
}

.local-advantage-item p {
    line-height: 1.7;
    color: var(--text-dark);
    margin: 0;
}

/* Local Réalisations */
.local-realisations-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 2rem;
    margin-top: 3rem;
}

.local-real-card {
    background: white;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 5px 20px rgba(0,0,0,0.1);
    transition: transform 0.3s ease;
}

.local-real-card:hover {
    transform: translateY(-3px);
}

.local-real-image {
    height: 180px;
    background: linear-gradient(135deg, var(--light-blue), var(--primary-blue));
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 3.5rem;
}

.local-real-content {
    padding: 1.5rem;
}

.local-real-content h4 {
    color: var(--primary-blue);
    font-size: 1.2rem;
    margin-bottom: 0.5rem;
}

.local-real-area {
    color: var(--orange);
    font-size: 0.9rem;
    margin-bottom: 1rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.local-real-content p {
    line-height: 1.6;
    color: var(--text-dark);
    margin-bottom: 1rem;
}

.local-real-link {
    color: var(--orange);
    text-decoration: none;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    transition: gap 0.3s ease;
}

.local-real-link:hover {
    gap: 0.75rem;
}

/* Local Reviews */
.local-reviews-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 2rem;
    margin-top: 3rem;
}

.local-review-card {
    background: white;
    padding: 2rem;
    border-radius: 12px;
    box-shadow: 0 5px 20px rgba(0,0,0,0.08);
}

.local-review-header {
    display: flex;
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.local-review-avatar {
    width: 50px;
    height: 50px;
    background: var(--orange);
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    font-size: 1.1rem;
    flex-shrink: 0;
}

.local-review-header h4 {
    color: var(--primary-blue);
    margin-bottom: 0.25rem;
}

.local-review-location {
    font-size: 0.9rem;
    color: var(--dark-gray);
    margin-bottom: 0.5rem;
}

.local-review-rating {
    display: flex;
    gap: 0.25rem;
}

.local-review-rating i {
    color: var(--orange);
    font-size: 0.9rem;
}

.local-review-text {
    line-height: 1.7;
    color: var(--text-dark);
    margin-bottom: 1rem;
}

.local-review-service {
    display: inline-block;
    background: var(--light-gray);
    color: var(--primary-blue);
    padding: 0.4rem 1rem;
    border-radius: 20px;
    font-size: 0.85rem;
    font-weight: 600;
}

/* FAQ Local */
.faq-local {
    max-width: 900px;
    margin: 3rem auto 0;
}

.faq-item-local {
    background: white;
    padding: 2rem;
    border-radius: 12px;
    margin-bottom: 1.5rem;
    box-shadow: 0 3px 15px rgba(0,0,0,0.08);
}

.faq-item-local h3 {
    color: var(--primary-blue);
    font-size: 1.2rem;
    margin-bottom: 1rem;
    display: flex;
    align-items: start;
    gap: 1rem;
}

.faq-item-local h3 i {
    color: var(--orange);
    margin-top: 0.25rem;
    flex-shrink: 0;
}

.faq-item-local p {
    line-height: 1.7;
    color: var(--text-dark);
    margin: 0;
}

/* Other Cities */
.other-cities-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 1.5rem;
    margin-top: 3rem;
}

.other-city-card {
    background: white;
    padding: 2rem;
    border-radius: 12px;
    box-shadow: 0 3px 15px rgba(0,0,0,0.08);
    text-decoration: none;
    text-align: center;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.other-city-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 25px rgba(0,0,0,0.12);
}

.other-city-card i {
    font-size: 2.5rem;
    color: var(--orange);
    margin-bottom: 1rem;
}

.other-city-card h3 {
    color: var(--primary-blue);
    font-size: 1.1rem;
    margin-bottom: 0.5rem;
}

.other-city-card p {
    color: var(--dark-gray);
    font-size: 0.9rem;
    margin: 0;
}

/* Location Intro */
.location-intro {
    max-width: 900px;
    margin: 0 auto;
    text-align: center;
}

.location-intro h2 {
    color: var(--primary-blue);
    font-size: 2.5rem;
    margin-bottom: 1.5rem;
}

.intro-stats {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 2rem;
    margin-top: 3rem;
}

.stat-box {
    background: var(--light-gray);
    padding: 2rem;
    border-radius: 12px;
}

.stat-number {
    font-size: 2.5rem;
    font-weight: bold;
    color: var(--orange);
    margin-bottom: 0.5rem;
}

.stat-label {
    color: var(--primary-blue);
    font-weight: 600;
}

/* Responsive Local Page */
@media (max-width: 1024px) {
    .local-hero-content {
        grid-template-columns: 1fr;
    }

    .intro-stats {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .local-hero-main h1 {
        font-size: 2.2rem;
    }

    .local-hero-subtitle {
        font-size: 1.1rem;
    }

    .local-hero-features {
        flex-direction: column;
        gap: 1rem;
    }

    .local-hero-cta {
        flex-direction: column;
    }

    .intro-stats {
        grid-template-columns: 1fr;
        gap: 1rem;
    }

    .local-services-grid {
        grid-template-columns: 1fr;
    }

    .other-cities-grid {
        grid-template-columns: 1fr;
    }
}

/* ========================================
   SPECIALTIES PAGE STYLES
   ======================================== */

/* Specialties Introduction */
.specialties-intro {
    display: grid;
    grid-template-columns: 1.5fr 1fr;
    gap: 4rem;
    align-items: start;
}

.intro-text h2 {
    color: var(--primary-blue);
    font-size: 2.5rem;
    margin-bottom: 1.5rem;
}

.intro-key-points {
    display: grid;
    gap: 1.5rem;
    margin-top: 2rem;
}

.key-point {
    display: flex;
    gap: 1.5rem;
    align-items: start;
    background: var(--light-gray);
    padding: 1.5rem;
    border-radius: 12px;
}

.key-point-icon {
    width: 60px;
    height: 60px;
    background: var(--orange);
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.8rem;
    flex-shrink: 0;
}

.key-point h3 {
    color: var(--primary-blue);
    font-size: 1.2rem;
    margin-bottom: 0.5rem;
}

.key-point p {
    color: var(--text-dark);
    margin: 0;
}

/* Specialties Count Card */
.intro-visual-specialties {
    position: sticky;
    top: 100px;
}

.specialties-count-card {
    background: linear-gradient(135deg, var(--primary-blue), var(--light-blue));
    color: white;
    padding: 3rem;
    border-radius: 16px;
    text-align: center;
    box-shadow: 0 10px 40px rgba(0,0,0,0.15);
}

.count-number {
    font-size: 6rem;
    font-weight: bold;
    line-height: 1;
    margin-bottom: 1rem;
    background: linear-gradient(135deg, white, var(--orange));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.specialties-count-card h3 {
    font-size: 2rem;
    margin-bottom: 0.75rem;
}

.specialties-count-card > p {
    font-size: 1.1rem;
    opacity: 0.95;
    margin-bottom: 2rem;
}

.specialties-mini-list {
    list-style: none;
    padding: 0;
    text-align: left;
    margin-bottom: 2rem;
}

.specialties-mini-list li {
    padding: 0.75rem 0;
    display: flex;
    align-items: center;
    gap: 1rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}

.specialties-mini-list li:last-child {
    border-bottom: none;
}

.specialties-mini-list i {
    color: var(--orange);
}

/* Specialty Link in Cards */
.specialty-link {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    color: var(--orange);
    font-weight: 600;
    margin-top: 1rem;
    transition: gap 0.3s ease;
}

.specialty-card:hover .specialty-link {
    gap: 0.75rem;
}

/* Project Types Grid */
.project-types-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
    gap: 2rem;
    margin-top: 3rem;
}

.project-type-card {
    background: white;
    padding: 2.5rem;
    border-radius: 12px;
    box-shadow: 0 5px 20px rgba(0,0,0,0.08);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.project-type-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 30px rgba(0,0,0,0.15);
}

.project-type-icon {
    width: 80px;
    height: 80px;
    background: var(--light-gray);
    color: var(--orange);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2.5rem;
    margin-bottom: 1.5rem;
}

.project-type-card h3 {
    color: var(--primary-blue);
    font-size: 1.4rem;
    margin-bottom: 1rem;
}

.project-type-card > p {
    line-height: 1.7;
    color: var(--text-dark);
    margin-bottom: 1.5rem;
}

.project-examples {
    list-style: none;
    padding: 0;
    background: var(--light-gray);
    padding: 1.5rem;
    border-radius: 8px;
}

.project-examples li {
    padding: 0.5rem 0;
    padding-left: 1.5rem;
    position: relative;
    color: var(--text-dark);
}

.project-examples li::before {
    content: "✓";
    color: var(--orange);
    position: absolute;
    left: 0;
    font-weight: bold;
}

/* Realization Link */
.realization-link {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    color: var(--orange);
    text-decoration: none;
    font-weight: 600;
    margin-top: 0.5rem;
    transition: gap 0.3s ease;
}

.realization-link:hover {
    gap: 0.75rem;
}

/* Responsive Specialties Page */
@media (max-width: 1024px) {
    .specialties-intro {
        grid-template-columns: 1fr;
    }

    .intro-visual-specialties {
        position: static;
    }

    .project-types-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .intro-text h2 {
        font-size: 2rem;
    }

    .count-number {
        font-size: 4rem;
    }

    .specialties-count-card h3 {
        font-size: 1.5rem;
    }

    .key-point {
        flex-direction: column;
        text-align: center;
    }

    .key-point-icon {
        margin: 0 auto;
    }
}

/* ========================================
   REALISATIONS PAGE STYLES
   ======================================== */

/* Realisations Intro */
.realisations-intro {
    max-width: 1000px;
    margin: 0 auto;
    text-align: center;
}

.realisations-intro h2 {
    color: var(--primary-blue);
    font-size: 2.5rem;
    margin-bottom: 1.5rem;
}

.realisations-stats {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 2rem;
    margin-top: 3rem;
}

.real-stat {
    background: var(--light-gray);
    padding: 2rem;
    border-radius: 12px;
}

.real-stat-number {
    font-size: 3rem;
    font-weight: bold;
    color: var(--orange);
    margin-bottom: 0.5rem;
}

.real-stat-label {
    color: var(--primary-blue);
    font-weight: 600;
}


/* Realisations Grid */
.realisations-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
}

/* Pagination */
.pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1rem;
    margin-top: 4rem;
}

.pagination-btn {
    background: white;
    color: var(--primary-blue);
    border: 2px solid var(--primary-blue);
    padding: 0.75rem 1.5rem;
    border-radius: 8px;
    font-weight: 600;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    transition: all 0.3s ease;
}

.pagination-btn:hover:not(:disabled) {
    background: var(--primary-blue);
    color: white;
}

.pagination-btn:disabled {
    opacity: 0.4;
    cursor: not-allowed;
}

.pagination-numbers {
    display: flex;
    gap: 0.5rem;
    align-items: center;
}

.pagination-number {
    background: white;
    color: var(--primary-blue);
    border: 2px solid var(--light-gray);
    width: 45px;
    height: 45px;
    border-radius: 8px;
    font-weight: 600;
    text-decoration: none; /* Ajout important */
    display: flex; /* Changement de cursor à flex */
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
}

.pagination-number:hover {
    background: var(--light-blue);
    color: white;
    border-color: var(--light-blue);
    text-decoration: none; /* Évite le soulignement au hover */
}

.pagination-number.active {
    background: var(--orange);
    color: white;
    border-color: var(--orange);
}

.pagination-number.active:hover {
    background: var(--light-orange); /* Pour un hover même sur l'actif */
    border-color: var(--light-orange);
    color: white;
}

/* S'assurer que les liens de pagination ne sont jamais soulignés */
.pagination a {
    text-decoration: none;
}

.pagination a:hover,
.pagination a:focus,
.pagination a:active {
    text-decoration: none;
}

/* Section Entreprises Partenaires */
.partners {
    background-color: #f8f9fa;
}

.partners-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 2rem;
    margin-top: 3rem;
}

.partner-card {
    background: white;
    border-radius: 12px;
    padding: 1.5rem;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    border: 1px solid #e9ecef;
	text-decoration:none;
}

.partner-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 25px rgba(0,0,0,0.15);
}

.partner-logo {
    text-align: center;
    margin-bottom: 1rem;
    height: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.partner-logo img {
    max-width: 100%;
    max-height: 80px;
    object-fit: contain;
}

.partner-logo-placeholder {
    width: 80px;
    height: 80px;
    background: linear-gradient(135deg, var(--orange), var(--orange-dark));
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto;
}

.partner-logo-placeholder i {
    font-size: 2rem;
    color: white;
}

.partner-info h3 {
    font-size: 1.3rem;
    color: var(--dark);
    margin-bottom: 0.5rem;
    text-align: center;
}

.partner-location {
    color: #666;
    font-size: 0.9rem;
    margin-bottom: 1rem;
    text-align: center;
}

.partner-location i {
    margin-right: 0.5rem;
    color: var(--orange);
}

.partner-specialties {
    margin-bottom: 1rem;
}

.specialty-tag {
    display: inline-block;
    background: #e3f2fd;
    color: #1976d2;
    padding: 0.25rem 0.75rem;
    border-radius: 20px;
    font-size: 0.8rem;
    margin: 0.25rem 0.25rem 0.25rem 0;
    border: 1px solid #bbdefb;
}

.partner-rating {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    margin-bottom: 1rem;
}

.rating-stars {
    display: flex;
    gap: 0.2rem;
}

.rating-stars i {
    color: #ffc107;
    font-size: 0.9rem;
}

.rating-text {
    font-size: 0.85rem;
    color: #666;
}

.partner-contact {
    display: block;
    text-align: center;
    background: var(--orange);
    color: white;
    padding: 0.75rem;
    border-radius: 8px;
    text-decoration: none;
    transition: background-color 0.3s ease;
    font-weight: 500;
}

.partner-contact:hover {
    background: var(--dark);
    color: white !important; /* Force la couleur blanche au hover */
    text-decoration: none;
}

.partner-contact:visited {
    color: white;
}

.partner-contact:focus {
    color: white;
    outline: 2px solid rgba(255,255,255,0.5);
}

.partner-contact i {
    margin-right: 0.5rem;
}

.no-partners {
    text-align: center;
    padding: 3rem;
    color: #666;
}

/* Responsive */
@media (max-width: 768px) {
    .partners-grid {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }
    
    .partner-card {
        padding: 1.25rem;
    }
}

.pagination-ellipsis {
    color: var(--dark-gray);
    padding: 0 0.5rem;
}

/* No Results */
.no-results {
    text-align: center;
    padding: 4rem 2rem;
}

.no-results-icon {
    width: 100px;
    height: 100px;
    background: var(--light-gray);
    color: var(--dark-gray);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 3rem;
    margin: 0 auto 2rem;
}

.no-results h3 {
    color: var(--primary-blue);
    font-size: 2rem;
    margin-bottom: 1rem;
}

.no-results p {
    color: var(--dark-gray);
    font-size: 1.1rem;
    margin-bottom: 2rem;
}

/* Responsive Realisations */
@media (max-width: 1200px) {
    .realisations-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .realisations-stats {
        grid-template-columns: repeat(2, 1fr);
    }

    .realisations-grid {
        grid-template-columns: 1fr;
    }

    .pagination {
        flex-wrap: wrap;
    }

    .pagination-numbers {
        order: -1;
        width: 100%;
        justify-content: center;
        margin-bottom: 1rem;
    }
}

@media (max-width: 480px) {
    .real-stat-number {
        font-size: 2rem;
    }

    .pagination-number {
        width: 40px;
        height: 40px;
    }
}

/* Liens des villes - supprimer le style de lien par défaut */
.city-item {
    text-decoration: none;
    color: inherit;
}

.city-item:hover {
    text-decoration: none;
    color: inherit;
}

.city-item:visited {
    color: inherit;
}

/* Liens des réalisations - supprimer le style de lien par défaut */
.realization-card {
    text-decoration: none;
    color: inherit;
}

.realization-card:hover {
    text-decoration: none;
    color: inherit;
}

.realization-card:visited {
    color: inherit;
}

/* ===== PAGE ACTUALITÉS ===== */

/* Filtres par catégorie */
.category-filters {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1rem;
    margin-bottom: 2rem;
}

/* Filtres - styles améliorés pour nos-realisations */
.filters-section {
    background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
    border-bottom: 1px solid #e0e0e0;
}

.filters-container {
    background: white;
    border-radius: 12px;
    padding: 2rem;
    box-shadow: 0 4px 20px rgba(0,0,0,0.1);
}

.filters-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1.5rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid #e9ecef;
}

.filters-header h3 {
    margin: 0;
    color: #2c3e50;
    font-size: 1.25rem;
}

.reset-filters {
    background: #dc3545;
    color: white;
    border: none;
    padding: 0.5rem 1rem;
    border-radius: 6px;
    cursor: pointer;
    font-size: 0.9rem;
    transition: background 0.3s ease;
}

.reset-filters:hover {
    background: #c82333;
}

.filter-group {
    margin-bottom: 1.5rem;
}

.filter-label {
    display: block;
    font-weight: 600;
    color: #495057;
    margin-bottom: 1rem;
    font-size: 1rem;
}

.filter-options {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}

/* Boutons de filtre - style gélule pour réalisations */
.filter-options .filter-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem 1.25rem;
    background: #f8f9fa;
    color: #495057;
    text-decoration: none;
    border: 2px solid #e9ecef;
    border-radius: 25px;
    font-size: 0.9rem;
    font-weight: 500;
    transition: all 0.3s ease;
    white-space: nowrap;
}

.filter-options .filter-btn:hover {
    background: #e9ecef;
    color: #2c3e50;
    text-decoration: none;
    border-color: #dee2e6;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

/* Bouton actif pour réalisations */
.filter-options .filter-btn.active {
    background: #3498db;
    color: white;
    border-color: #3498db;
    box-shadow: 0 4px 15px rgba(52, 152, 219, 0.3);
}

.filter-options .filter-btn.active:hover {
    background: #2980b9;
    border-color: #2980b9;
    color: white;
}

.filter-options .filter-btn i {
    font-size: 0.9rem;
}

/* Compteur de résultats */
.results-count {
    background: linear-gradient(135deg, #e8f4fd 0%, #d1ecf1 100%);
    padding: 1rem 1.5rem;
    border-radius: 8px;
    font-weight: 500;
    color: #0c5460;
    border-left: 4px solid #3498db;
    margin-top: 1rem;
}

.results-count span {
    font-weight: 700;
    color: #3498db;
    font-size: 1.1rem;
}

/* Garde les styles pour actualités avec sélecteur plus spécifique */
.category-filters .filter-btn {
    background: white;
    border: 2px solid var(--light-gray);
    color: var(--text-dark);
    padding: 0.75rem 1.5rem;
    border-radius: 50px;
    cursor: pointer;
    transition: all 0.3s ease;
    font-weight: 500;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.category-filters .filter-btn:hover {
    border-color: var(--primary-blue);
    color: var(--primary-blue);
    transform: translateY(-2px);
}

.category-filters .filter-btn.active {
    background: var(--primary-blue);
    border-color: var(--primary-blue);
    color: white;
}

/* Responsive pour filtres réalisations */
@media (max-width: 768px) {
    .filters-header {
        flex-direction: column;
        gap: 1rem;
        align-items: flex-start;
    }
    
    .filter-options {
        gap: 0.5rem;
    }
    
    .filter-options .filter-btn {
        padding: 0.6rem 1rem;
        font-size: 0.85rem;
    }
    
    .filters-container {
        padding: 1.5rem;
    }
}

@media (max-width: 480px) {
    .filter-options {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 0.5rem;
    }
    
    .filter-options .filter-btn {
        justify-content: center;
        text-align: center;
    }
}

/* Scroll fluide vers les résultats */
html {
    scroll-behavior: smooth;
}

#resultats {
    scroll-margin-top: 100px; /* Ajuste selon la hauteur de votre header fixe */
}

/* Articles mis en avant */
.featured-articles {
    display: grid;
    gap: 2rem;
    margin-bottom: 3rem;
}

.featured-article {
    background: white;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0,0,0,0.1);
    display: grid;
    grid-template-columns: 1fr 300px;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.featured-article:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 30px rgba(0,0,0,0.15);
}

.featured-article-content {
    padding: 2rem;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.featured-article-image {
    position: relative;
    overflow: hidden;
}

.featured-article-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.featured-article-image .placeholder-image {
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 3rem;
}

.article-meta-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1rem;
    flex-wrap: wrap;
    gap: 1rem;
}

.featured-article h2 {
    margin: 0 0 1rem 0;
    font-size: 1.5rem;
    line-height: 1.3;
}

.featured-article h2 a {
    color: var(--text-color);
    text-decoration: none;
    transition: color 0.3s ease;
}

.featured-article h2 a:hover {
    color: var(--primary-color);
}

.article-excerpt {
    color: var(--text-light);
    margin-bottom: 1.5rem;
    line-height: 1.6;
}

.article-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 1rem;
}

.reading-time {
    color: var(--text-light);
    font-size: 0.9rem;
}

.read-more-btn {
    color: var(--primary-color);
    text-decoration: none;
    font-weight: 500;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    transition: all 0.3s ease;
}

.read-more-btn:hover {
    color: var(--secondary-color);
    transform: translateX(5px);
}

/* Grille d'articles */
.articles-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
    gap: 2rem;
}

.article-card {
    background: white;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 15px rgba(0,0,0,0.08);
    transition: all 0.3s ease;
}

.article-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 25px rgba(0,0,0,0.15);
}

.article-card-image {
    position: relative;
    height: 200px;
    overflow: hidden;
}

.article-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.article-card:hover .article-card-image img {
    transform: scale(1.05);
}

.article-card-image .placeholder-image {
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 2.5rem;
}

.article-card-content {
    padding: 1.5rem;
}

.article-date {
    color: var(--text-light);
    font-size: 0.9rem;
    margin-bottom: 0.75rem;
}

.article-card h3 {
    margin: 0 0 1rem 0;
    font-size: 1.2rem;
    line-height: 1.4;
}

.article-card h3 a {
    color: var(--text-color);
    text-decoration: none;
    transition: color 0.3s ease;
}

.article-card h3 a:hover {
    color: var(--primary-color);
}

.article-card p {
    color: var(--text-light);
    margin-bottom: 1.5rem;
    line-height: 1.6;
}

.article-card-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 1rem;
}

.read-more {
    color: var(--primary-color);
    text-decoration: none;
    font-weight: 500;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    transition: all 0.3s ease;
}

.read-more:hover {
    color: var(--secondary-color);
    transform: translateX(3px);
}

/* Catégories */
.article-category {
    position: absolute;
    top: 1rem;
    right: 1rem;
    padding: 0.5rem 1rem;
    border-radius: 20px;
    font-size: 0.8rem;
    font-weight: 500;
    color: white;
    display: flex;
    align-items: center;
    gap: 0.3rem;
}

.category-aide-subvention {
    background: #28a745;
}

.category-conseils {
    background: #ffc107;
    color: #333 !important;
}

.category-actualite-entreprise {
    background: #17a2b8;
}

.category-salon-evenement {
    background: #dc3545;
}

.category-tendances {
    background: #6f42c1;
}

/* Section CTA */
.cta-section {
    text-align: center;
    padding: 3rem 0;
}

.cta-content h2 {
    margin-bottom: 1rem;
    color: var(--text-color);
}

.cta-content p {
    color: var(--text-light);
    margin-bottom: 2rem;
    font-size: 1.1rem;
}

/* Responsive */
@media (max-width: 1024px) {
    .featured-article {
        grid-template-columns: 1fr;
    }
    
    .featured-article-image {
        height: 250px;
        order: -1;
    }
}

@media (max-width: 768px) {
    .category-filters {
        gap: 0.75rem;
    }
    
    .filter-btn {
        padding: 0.5rem 1rem;
        font-size: 0.9rem;
    }
    
    .articles-grid {
        grid-template-columns: 1fr;
    }
    
    .featured-article-content {
        padding: 1.5rem;
    }
    
    .article-meta-top {
        flex-direction: column;
        align-items: flex-start;
    }
    
    .article-footer {
        flex-direction: column;
        align-items: flex-start;
    }
}

@media (max-width: 480px) {
    .filter-btn {
        padding: 0.5rem 0.75rem;
        font-size: 0.8rem;
    }
    
    .article-card-content {
        padding: 1rem;
    }
    
    .featured-article-content {
        padding: 1rem;
    }
    
    .article-category {
        top: 0.5rem;
        right: 0.5rem;
        padding: 0.3rem 0.8rem;
        font-size: 0.7rem;
    }
}

.alert {
    padding: 15px;
    margin: 20px 0;
    border-radius: 8px;
    border: 1px solid;
}

.alert-success {
    background-color: #d4edda;
    border-color: #c3e6cb;
    color: #155724;
}

.alert-error {
    background-color: #f8d7da;
    border-color: #f5c6cb;
    color: #721c24;
}

.alert i {
    margin-right: 8px;
}

.company-header {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    margin-bottom: 2rem;
}

.company-info {
    flex: 1;
}

.company-logo-right {
    margin-left: auto;
    padding: 0.5rem;
    background: rgba(255, 255, 255, 0.9);
    border-radius: 8px;
    border: 1px solid rgba(0, 0, 0, 0.1);
}

.company-logo-right img {
    display: block;
    border-radius: 4px;
}

.galerie-section {
    padding: 3rem 0;
    background: #f8f9fa;
}

.galerie-section .container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 1.5rem;
}

/* Reprendre le style des titres existants */
.galerie-section .section-title {
    font-size: 2.5rem;
    font-weight: 700;
    color: #2c3e50;
    text-align: center;
    margin-bottom: 1rem;
}

.galerie-section .section-subtitle {
    text-align: center;
    color: #666;
    font-size: 1.1rem;
    margin-bottom: 3rem;
}

.galerie-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 2rem;
}

.galerie-item {
    background: white;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0,0,0,0.1);
    transition: all 0.3s ease;
}

.galerie-item:hover {
    transform: translateY(-8px);
    box-shadow: 0 8px 30px rgba(0,0,0,0.15);
}

.photo-container {
    position: relative;
    overflow: hidden;
}

.photo-container img:hover {
    transform: scale(1.05);
    transition: transform 0.3s ease;
}

/* Légende améliorée */
.photo-legende {
    padding: 1rem;
    font-size: 0.9rem;
    color: #666;
    margin: 0;
    line-height: 1.4;
    font-style: italic;
    text-align: center;
}

/* Responsive */
@media (max-width: 768px) {
    .galerie-grid {
        grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
        gap: 1.5rem;
    }
    
    .galerie-section .section-title {
        font-size: 2rem;
    }
}

@media (max-width: 480px) {
    .galerie-grid {
        grid-template-columns: 1fr;
        gap: 1rem;
    }
}

.footer-contact a {
    color: inherit;
    text-decoration: none;
    transition: color 0.3s ease;
}

.footer-contact a:hover {
    color: #3498db;
}

.footer-link-all {
    font-weight: 600;
    color: #3498db !important;
}

.footer-link-all:hover {
    text-decoration: underline;
}

/* Tags communes proches - styles de base */
.nearby-tags span {
    background-color: white;
    color: #333;
    padding: 0.5rem 1rem;
    border-radius: 20px;
    font-size: 0.9rem;
    font-weight: 500;
    border: 1px solid #e0e0e0;
    transition: all 0.3s ease;
    display: inline-block;
    margin: 0.25rem;
}

/* Liens dans les tags */
.nearby-tags span a {
    color: #333;
    text-decoration: none;
    display: block;
    width: 100%;
    height: 100%;
}

/* Hover sur les tags */
.nearby-tags span:hover {
    background-color: #3498db;
    color: white;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(52, 152, 219, 0.3);
    border-color: #3498db;
}

.nearby-tags span:hover a {
    color: white;
    text-decoration: none;
}

/* Tag "plus d'autres" */
.nearby-tags .more-cities {
    background-color: #f8f9fa !important;
    color: #666 !important;
    font-style: italic;
    cursor: default;
}

.nearby-tags .more-cities:hover {
    background-color: #f8f9fa !important;
    color: #666 !important;
    transform: none !important;
    box-shadow: none !important;
}

/* Assurer qu'aucun lien n'est souligné */
.nearby-tags a:hover,
.nearby-tags a:focus,
.nearby-tags a:active {
    text-decoration: none !important;
}

/* Cartes autres villes - correction couleur du code postal */
.other-city-card small {
    color: #666 !important;
    text-decoration: none !important;
}

/* S'assurer que le lien parent n'affecte pas le small */
a.other-city-card small {
    color: #666 !important;
}

/* Au hover de la carte, garder le small en gris clair */
.other-city-card:hover small {
    color: #888 !important;
}

/* Classes manquantes pour les filtres */
.filters-content {
    margin-bottom: 1rem;
}

.filters-section .section {
    padding: 2rem 0;
}

@media (max-width: 480px) {
    .article-meta {
        gap: 1rem;
    }
}

/* ========================================
   AMÉLIORATIONS ACTUALITÉS - LISIBILITÉ
   ======================================== */

/* Espacement des h2 dans le contenu des articles */
.article-body h2 {
    color: var(--primary-blue);
    font-size: 2rem;
    margin-bottom: 1.5rem;
    margin-top: 1.8rem; /* Réduit de 2.5rem à 1.8rem */
    line-height: 1.3;
}

/* Premier h2 sans marge du haut */
.article-body h2:first-child {
    margin-top: 0;
}

/* Espacement des h3 */
.article-body h3 {
    color: var(--primary-blue);
    font-size: 1.5rem;
    margin-bottom: 1rem;
    margin-top: 1.5rem; /* Réduit de 2rem à 1.5rem */
    line-height: 1.4;
}

.article-body h3:first-child {
    margin-top: 0;
}

/* Amélioration des listes - alignement des bullet points */
.article-body ul {
    list-style: none;
    padding-left: 0;
    margin-bottom: 1.2rem; /* Réduit de 1.5rem à 1.2rem */
}

.article-body ul li {
    position: relative;
    padding-left: 1.5rem;
    margin-bottom: 0.5rem; /* Réduit de 0.75rem à 0.5rem */
    line-height: 1.6;
}

.article-body ul li::before {
    content: "•";
    color: var(--orange);
    font-weight: bold;
    position: absolute;
    left: 0;
    top: 0;
}

/* Listes ordonnées */
.article-body ol {
    padding-left: 1.5rem;
    margin-bottom: 1.2rem;
}

.article-body ol li {
    margin-bottom: 0.5rem;
    line-height: 1.6;
}

/* Paragraphes - espacement amélioré */
.article-body p {
    line-height: 1.7; /* Réduit de 1.8 à 1.7 */
    margin-bottom: 1.2rem; /* Réduit de 1.5rem à 1.2rem */
    color: var(--text-dark);
}

/* Derniers éléments sans marge du bas */
.article-body p:last-child,
.article-body ul:last-child,
.article-body ol:last-child {
    margin-bottom: 0;
}

/* Strong dans le contenu */
.article-body strong {
    color: var(--primary-blue);
    font-weight: 600;
}

/* Amélioration des liens dans le contenu */
.article-body a {
    color: var(--orange);
    text-decoration: none;
    font-weight: 500;
    transition: color 0.3s ease;
}

.article-body a:hover {
    color: var(--primary-blue);
    text-decoration: underline;
}

/* Responsive - ajustements mobiles */
@media (max-width: 768px) {
    .article-body h2 {
        font-size: 1.6rem;
        margin-top: 1.5rem;
    }
    
    .article-body h3 {
        font-size: 1.3rem;
        margin-top: 1.2rem;
    }
    
    .article-body ul li {
        padding-left: 1.25rem;
    }


/* Articles mis en avant sans image */
.featured-article.no-image {
    grid-template-columns: 1fr !important;
}

/* Articles de grille sans image */
.article-card.no-image {
    /* Pas de section image, juste le contenu */
}

.article-card.no-image .article-card-content {
    padding-top: 2rem;
}

/* Catégorie en haut pour les articles sans image */
.article-category-top {
    display: inline-block;
    padding: 0.5rem 1rem;
    border-radius: 20px;
    font-size: 0.8rem;
    font-weight: 500;
    color: white;
    margin-bottom: 1rem;
    display: flex;
    align-items: center;
    gap: 0.3rem;
    width: fit-content;
}

/* Placeholder image avec même style que les vraies images */
.article-card-image-placeholder {
    position: relative;
    height: 200px;
    overflow: hidden;
}

.article-card-image-placeholder .placeholder-image {
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, var(--primary-blue), var(--light-blue));
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 2.5rem;
}

/* Supprime la classe article-category-top qui n'est plus utilisée */
.article-category-top {
    display: none;
}

/* Cartes d'artisans cliquables */
.partner-card {
    text-decoration: none;
    color: inherit;
    display: block;
}

.partner-card:hover {
    text-decoration: none;
    color: inherit;
}

.partner-card:visited {
    color: inherit;
}

/* Améliorer l'effet hover */
.partner-card:hover .partner-info h3 {
    color: var(--orange);
    transition: color 0.3s ease;
}

/* Curseur pointer sur toute la carte */
.partner-card {
    cursor: pointer;
}