
:root { --bs-primary: #1b548f; --bs-primary-rgb: 27, 84, 143; --bs-primary-dark: #133a5f; }
.btn-primary { --bs-btn-bg: #1b548f; --bs-btn-border-color: #1b548f; --bs-btn-hover-bg: #133a5f; --bs-btn-hover-border-color: #133a5f; }

@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;}

[id] {scroll-margin-top: 80px; /* Ajustez cette valeur selon la hauteur de votre navbar */ }

.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 { 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; }
.page-header .badge-zone { background: rgba(255,255,255,.15); border: 1px solid rgba(255,255,255,.35); padding: 6px 14px; border-radius: 999px; font-size: .85rem; display: inline-block; margin-bottom: 18px; }
.page-header .badge-zone .bi { margin-right: 6px; }
.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-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-card .card-body > .bi { font-size: 2.5rem; color: #1b548f; margin-bottom: 15px; display: block; }
.contexte-section { padding: 70px 0; background: white; }
.contexte-section h2 { font-weight: 800; margin-bottom: 25px; }
.contexte-section p { color: #444; line-height: 1.75; font-size: 1.05rem; }
.contexte-chiffres { display: flex; flex-wrap: wrap; gap: 20px; margin-top: 30px; }
.contexte-chiffres .chip { background: #f8fbfc; border: 1px solid #e9ecef; border-radius: 10px; padding: 14px 20px; font-size: .92rem; color: #1b548f; font-weight: 600; }
.contexte-chiffres .chip .bi { margin-right: 6px; }
.processus-section { padding: 80px 0; background: #f8fbfc; }
.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 { 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-item > .bi { 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 { 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-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); }
.zones-section { padding: 70px 0; background: white; }
.zones-grid { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 25px; }
.zone-pill { border: 1px solid #e9ecef; background: #f8fbfc; color: #1b548f; text-decoration: none; padding: 10px 18px; border-radius: 999px; font-weight: 600; font-size: .92rem; transition: all .2s ease; }
.zone-pill:hover { background: #1b548f; color: white; border-color: #1b548f; }
.city-card { transition: transform .15s ease, box-shadow .15s ease; cursor: pointer; }
.city-card:hover { transform: translateY(-2px); box-shadow: 0 4px 12px rgba(0,0,0,.1) !important; }
.city-card .bi { flex-shrink: 0; color: #1b548f; font-size: 1rem; }
.sticky-nav { position: sticky; top: 56px; z-index: 100; background: #fff; border-bottom: 1px solid #dee2e6; }
.sticky-nav .bi { margin-right: 6px; }
.dept-icon-badge { width: 56px; height: 56px; background: rgba(27,84,143,.1); border: 2px solid #1b548f; border-radius: .75rem; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.dept-icon-badge .bi { font-size: 1.5rem; color: #1b548f; }
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; }

