/* =====================================================
   PAGE CONTACT
===================================================== */
.ct-page { background: #ffffff; flex: 1; }
.ct-hero { background: linear-gradient(160deg, #eef4fd 0%, #fefefe 55%); padding: 4rem 0 3rem; }
.ct-hero-inner { max-width: 1160px; margin: 0 auto; padding: 0 2rem; display: flex; align-items: center; gap: 3rem; }
.ct-hero-left { flex: 1; display: flex; flex-direction: column; align-items: flex-start; gap: 1.25rem; }
.ct-badge { display: inline-block; background: #dbeafe; color: #1d4ed8; font-size: 0.72rem; font-weight: 700; letter-spacing: 0.08em; padding: 0.35rem 0.85rem; border-radius: 20px; }
.ct-title { font-family: 'Inter', sans-serif; font-size: clamp(2rem, 4vw, 3rem); font-weight: 800; color: #0f172a; line-height: 1.1; margin: 0; letter-spacing: -0.5px; }
.ct-desc { font-size: 1.05rem; color: #475569; line-height: 1.65; margin: 0; }
.ct-email-btn {
  display: inline-flex; align-items: center; gap: 0.65rem; background: #f0f6ff; color: #1d4ed8;
  font-family: 'Inter', sans-serif; font-size: 1rem; font-weight: 600; padding: 0.85rem 1.4rem;
  border-radius: 10px; border: 1.5px solid #bfdbfe; text-decoration: none; transition: background 0.18s, border-color 0.18s;
}
.ct-email-btn:hover { background: #dbeafe; border-color: #93c5fd; }
.ct-hero-right { flex: 1; display: flex; justify-content: center; }
.ct-hero-right img { width: 100%; max-width: 460px; height: auto; object-fit: contain; }

.ct-info { padding: 3rem 0 0; background: #fefefe; }
.ct-info-inner { max-width: 1160px; margin: 0 auto; padding: 0 2rem; display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.25rem; }
.ct-card { display: flex; align-items: flex-start; gap: 1rem; background: #ffffff; border: 1.5px solid #e2e8f0; border-radius: 14px; padding: 1.5rem; }
.ct-card-icon { flex-shrink: 0; width: 48px; height: 48px; background: #eff6ff; color: #2563eb; border-radius: 50%; display: flex; align-items: center; justify-content: center; }
.ct-card-body { display: flex; flex-direction: column; gap: 0.3rem; }
.ct-card-label { font-family: 'Inter', sans-serif; font-size: 0.7rem; font-weight: 700; letter-spacing: 0.09em; color: #94a3b8; text-transform: uppercase; }
.ct-card-title { font-family: 'Inter', sans-serif; font-size: 1rem; font-weight: 700; color: #0f172a; line-height: 1.35; }
.ct-card-desc { font-family: 'Inter', sans-serif; font-size: 0.875rem; color: #64748b; line-height: 1.55; margin: 0; }

@media (max-width: 900px) {
  .ct-hero-inner { flex-direction: column-reverse; text-align: center; }
  .ct-hero-left { align-items: center; }
  .ct-hero-right img { max-width: 320px; }
  .ct-info-inner { grid-template-columns: 1fr; }
  .ct-info { padding-bottom: 2rem; }
}
@media (max-width: 600px) {
  .ct-hero { padding: 2.5rem 0 2rem; }
  .ct-hero-right img { max-width: 240px; }
}

/* =====================================================
   PAGES LÉGALES (mentions légales / confidentialité)
===================================================== */
.legal-page { background: #F5F5F5; min-height: 100vh; padding: 48px 0 80px; }
.legal-container { max-width: 780px; margin: 0 auto; padding: 0 24px; }
.legal-header { margin-bottom: 24px; }
.legal-breadcrumb { font-size: 13px; color: #888; margin: 0 0 16px; }
.legal-breadcrumb a { color: var(--color-primary); text-decoration: none; }
.legal-breadcrumb a:hover { text-decoration: underline; }
.legal-header h1 { font-family: 'Inter', sans-serif; font-size: clamp(28px, 5vw, 40px); font-weight: 800; color: #111111; margin: 0 0 8px; letter-spacing: -0.5px; }
.legal-update { font-size: 13px; color: #999; margin: 0; }

.legal-intro-box { background: #EBF3FF; border-left: 4px solid var(--color-primary); padding: 16px 20px; margin-bottom: 24px; }
.legal-intro-box p { font-family: 'Inter', sans-serif; font-size: 14px; line-height: 1.7; color: #1a3a5c; margin: 0; }

.legal-body { background: #ffffff; border: 1px solid #e5e5e5; padding: 40px 48px; display: flex; flex-direction: column; gap: 0; }
@media (max-width: 640px) { .legal-body { padding: 28px 20px; } }

.legal-section { padding: 28px 0; border-bottom: 1px solid #f0f0f0; }
.legal-section:first-child { padding-top: 0; }
.legal-section:last-child { border-bottom: none; padding-bottom: 0; }
.legal-section h2 { font-family: 'Inter', sans-serif; font-size: 16px; font-weight: 700; color: #111111; margin: 0 0 14px; padding-left: 12px; border-left: 3px solid var(--color-primary); }
.legal-section h3 { font-family: 'Inter', sans-serif; font-size: 14px; font-weight: 600; color: #333333; margin: 20px 0 8px; }
.legal-section h3:first-of-type { margin-top: 8px; }
.legal-section p { font-family: 'Inter', sans-serif; font-size: 14px; line-height: 1.75; color: #444444; margin: 0 0 12px; }
.legal-section p:last-child { margin-bottom: 0; }
.legal-section a { color: var(--color-primary); text-decoration: none; }
.legal-section a:hover { text-decoration: underline; }

.legal-list { list-style: none; padding: 0; margin: 0 0 12px; display: flex; flex-direction: column; gap: 6px; }
.legal-list li { font-family: 'Inter', sans-serif; font-size: 14px; line-height: 1.7; color: #444444; padding-left: 16px; position: relative; }
.legal-list li::before { content: '–'; position: absolute; left: 0; color: var(--color-primary); }

.legal-table { width: 100%; border-collapse: collapse; font-family: 'Inter', sans-serif; font-size: 13px; margin: 12px 0; }
.legal-table th { background: #f5f5f5; color: #111; font-weight: 600; text-align: left; padding: 10px 12px; border: 1px solid #e5e5e5; }
.legal-table td { padding: 9px 12px; border: 1px solid #e5e5e5; color: #444; vertical-align: top; }
.legal-table tr:nth-child(even) td { background: #fafafa; }
.legal-table code { font-size: 12px; background: #f0f0f0; padding: 1px 5px; border-radius: 3px; font-family: monospace; }
