:root { --bs-primary: #1b548f; --bs-primary-rgb: 27, 84, 143; }
.btn-primary { --bs-btn-bg: #1b548f;}

@font-face {font-family: 'Inter'; font-style: normal; font-weight: 700; font-display: fallback;  src: url(../fonts/inter.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}

body{font-family: 'Inter', sans-serif;}

.navbar { box-shadow: 0 2px 4px rgba(0,0,0,0.08); }
.navbar-brand { font-weight: 700; font-size: 1.5rem; }

.breadcrumb { background-color: #f8fbfc; padding: 5px 5px; }
.breadcrumb-item a { color: #1b548f; text-decoration: none; }


/* PAGE HEADER */
.page-header { background: linear-gradient(135deg, #1b548f 0%, #133a5f 100%); color: white; padding: 60px 0; margin-bottom: 60px; }
.page-header h1 { font-size: clamp(2rem, 4vw, 2.5rem); font-weight: 800; margin-bottom: 15px; }

/* Hero Section */
        .hero { background: linear-gradient(135deg, #f8fbfc 0%, #ffffff 100%); padding: 120px 0; }
        .hero h1 { font-size: clamp(2rem, 5vw, 3.5rem); font-weight: 800; margin-bottom: 20px; color: #1a1a1a;}
        .hero p { font-size: 1.2rem; color: #555; margin-bottom: 30px; }
        
/* Domaines Cards */
        .domaines-section { background-color: #f8fbfc; padding: 80px 0; }
        .section-title { font-size: clamp(1.8rem, 4vw, 2.5rem); font-weight: 800; text-align: center; margin-bottom: 60px; color: #1a1a1a; }
        .domaine-card { border: none; border-radius: 12px; transition: all 0.3s ease; height: 100%; box-shadow: 0 2px 8px rgba(0,0,0,0.08); overflow: hidden; }
        
        .domaine-card:hover { transform: translateY(-8px); box-shadow: 0 15px 40px rgba(27, 84, 143, 0.2); }
        .domaine-card .card-img-top { height: 200px; object-fit: cover; background-color: #e9ecef; }
        .domaine-card .card-body { padding: 30px; }
        .domaine-card .card-title { font-weight: 700; color: #1a1a1a; margin-bottom: 15px; font-size: 1.3rem; }
        .domaine-card .card-text {color: #666; margin-bottom: 20px; }
        .domaine-card .btn-link { padding: 0; text-decoration: none; font-weight: 600; color: #1b548f; }
        .domaine-card .btn-link:hover { color: #133a5f;}
        .domaine-icon {font-size: 2.5rem; color: #1b548f; margin-bottom: 15px;}

        
        /* Processus Section */
        .processus-section { padding: 80px 0; background: white; }
        .step-item { text-align: center; margin-bottom: 40px; }
        .step-number { width: 70px; height: 70px; background-color: #1b548f; color: white; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 2rem; font-weight: 700; margin: 0 auto 20px; }
        .step-item h4 { font-weight: 700; margin-bottom: 10px; color: #1a1a1a; }
        .step-item p { color: #666; font-size: 0.95rem; }
        
        /* Avantages Section */
        .avantages-section {background: linear-gradient(135deg, #1b548f 0%, #133a5f 100%); color: white; padding: 80px 0; }
        .avantages-section h2 { font-size: clamp(1.8rem, 4vw, 2.5rem); font-weight: 800; margin-bottom: 50px; text-align: center; }
        .avantage-item { display: flex; gap: 20px; margin-bottom: 30px; align-items: flex-start; }
        .avantage-icon { font-size: 2rem; flex-shrink: 0; width: 50px; display: flex; align-items: center; justify-content: center; }
        .avantage-content h4 { font-weight: 700; margin-bottom: 8px; }
        .avantage-content p { margin: 0; opacity: 0.95; }
        
        /* CTA Section */
        .cta-section { background-color: #f8fbfc; padding: 80px 0; text-align: center; }
        .cta-section h2 { font-size: clamp(1.8rem, 4vw, 2.5rem); font-weight: 800; color: #1a1a1a; margin-bottom: 30px; }
        .cta-section p { font-size: 1.1rem; color: #666; margin-bottom: 40px; }




















/* FAQ */
	.faq-section { background-color: #f8fbfc; padding: 60px 0; }
        .faq-item { background: white; border-radius: 8px; margin-bottom: 15px; border: 1px solid #e9ecef; }
        .faq-question { padding: 20px; cursor: pointer; display: flex; justify-content: space-between; align-items: center; font-weight: 600; color: #1a1a1a; border-left: 4px solid #1b548f; }
        .faq-answer { padding: 20px; background-color: #fafafa; display: none; color: #555; }
        .faq-answer.active { display: block; }
        .faq-toggle { color: #1b548f; font-weight: bold; transition: transform 0.3s; }
        .faq-toggle.active { transform: rotate(45deg); }


/* Footer */
        footer {
            background-color: #1a1a1a;
            color: white;
            padding: 50px 0 20px;
        }
        
        footer h5 {
            font-weight: 700;
            margin-bottom: 20px;
            color: #1b548f;
        }
        
        footer a {
            color: #ccc;
            text-decoration: none;
            transition: color 0.3s ease;
        }
        
        footer a:hover {
            color: #1b548f;
        }
        
        .footer-bottom {
            border-top: 1px solid #444;
            padding-top: 30px;
            margin-top: 30px;
            text-align: center;
            color: #999;
        }
        