: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; }


/* CONTENT */
.section-title { font-size: clamp(1.8rem, 4vw, 2.2rem); font-weight: 800; color: #1a1a1a; margin-bottom: 40px; border-bottom: 3px solid #1b548f; padding-bottom: 15px; display: inline-block; }
.service-card { background: white; border: none; border-radius: 10px; margin-bottom: 20px; box-shadow: 0 2px 8px rgba(0,0,0,0.08); border-left: 5px solid #1b548f; }
.service-card .card-body { padding: 25px; }
.service-card h5 { font-weight: 700; color: #1a1a1a; margin-bottom: 10px; }
.service-icon { color: #1b548f; margin-right: 15px; font-size: 1.3rem; }
.feature-card { background: #f8fbfc; padding: 25px; border-radius: 10px; border-left: 4px solid #1b548f; margin-bottom: 20px; height: 100%; }
.feature-card h5 { color: #1b548f; font-weight: 700; margin-bottom: 10px; }
.cta-box { background: linear-gradient(135deg, #1b548f 0%, #133a5f 100%); color: white; padding: 50px 30px; border-radius: 10px; text-align: center; margin: 60px 0; }
.sidebar-box { background: #f8fbfc; padding: 30px; border-radius: 10px; position: sticky; top: 80px; border: 2px solid #1b548f; }
.sidebar-box h4 { color: #1b548f; font-weight: 700; margin-bottom: 15px; }

/* Mentions Légales */
.content-section { margin-bottom: 40px; }
.content-section h2 { font-size: 1.5rem; font-weight: 800; color: #1b548f; margin-bottom: 20px; padding-bottom: 10px; border-bottom: 2px solid #e9ecef; }
.content-section h3 { font-size: 1.1rem; font-weight: 700; margin-top: 20px; margin-bottom: 15px; }

[id] {
  scroll-margin-top: 80px; /* Ajustez cette valeur selon la hauteur de votre navbar */
}

/* PRIVACY */

.content-section-privacy { margin-bottom: 50px; }
.content-section-privacy h2 { font-size: 1.6rem; font-weight: 800; color: #1b548f; margin-bottom: 25px; padding-bottom: 15px; border-bottom: 3px solid #1b548f; }
.content-section-privacy h3 { font-size: 1.2rem; font-weight: 700; color: #1a1a1a; margin-top: 30px; margin-bottom: 15px; }
.content-section-privacy h4 { font-size: 1.05rem; font-weight: 700; color: #333; margin-top: 20px; margin-bottom: 10px; }
.content-section-privacy p { color: #555; margin-bottom: 15px; }
.content-section-privacy ul, .content-section-privacy ol { color: #555; margin-bottom: 15px; }
       
.info-box { background: #f8fbfc; padding: 20px; border-left: 4px solid #1b548f; border-radius: 8px; margin: 20px 0; }
.warning-box { background: #fff3cd; padding: 20px; border-left: 4px solid #ff9800; border-radius: 8px; margin: 20px 0; }
.table-responsive { margin: 20px 0; }
table { font-size: 0.95rem; }
th { background-color: #1b548f; color: white; font-weight: 700; }
.toc { background: white; padding: 25px; border-left: 4px solid #1b548f; border-radius: 8px; position: sticky; top: 80px; }
.toc h5 { color: #1b548f; font-weight: 700; margin-bottom: 15px; }
.toc ul { list-style: none; padding: 0; margin: 0; }
        
.toc a { color: #1b548f; text-decoration: none; font-weight: 500; }
.toc a:hover { text-decoration: underline; }
.last-update { color: #999; font-size: 0.9rem; font-style: italic; }

/* AUDIT */
.audit-card { background: white; border: none; border-left: 5px solid #1b548f; border-radius: 10px; padding: 25px; margin-bottom: 20px; box-shadow: 0 2px 8px rgba(0,0,0,0.08); }
.audit-card h3 { color: #1a1a1a; font-weight: 700; margin-bottom: 20px; }
.check-list { list-style: none; padding: 0; margin: 0; }
.check-list li { padding: 10px 0; color: #666; border-bottom: 1px solid #e9ecef; }
.check-list i { color: #1b548f; margin-right: 10px; font-weight: bold; }
.tech-card { background: white; padding: 20px; border-radius: 10px; border: 1px solid #e9ecef; text-align: center; margin-bottom: 20px; }
.tech-card i { font-size: 2.5rem; color: #1b548f; margin-bottom: 15px; }

/* 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;}

        