/* ═══════════════════════════════════════════════════════════════════
   THEME TOGGLE BUTTON
   ═══════════════════════════════════════════════════════════════════ */
.theme-toggle {
  width: 36px;
  height: 36px;
  border-radius: var(--radius-s);
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--bg-2);
  border: 1px solid var(--border-1);
  color: var(--text-2);
  font-size: 1rem;
  cursor: pointer;
  transition: all var(--t) var(--ease);
  flex-shrink: 0;
}

.theme-toggle:hover {
  border-color: var(--border-a);
  color: var(--blue-light);
  background: var(--blue-glow);
}
.ti-sun  { display: block; }
.ti-moon { display: none; }


/* ═══════════════════════════════════════════════════════════════════
   LIGHT THEME  [data-theme="light"]
   ═══════════════════════════════════════════════════════════════════ */

html[data-theme="light"] {
  --bg-0: #FFFFFF;
  --bg-1: #F5F7FC;
  --bg-2: #EDF0F8;
  --bg-3: #E2E7F2;
  --bg-4: #D4DBEE;

  --border-0: rgba(0,0,0,0.04);
  --border-1: rgba(0,0,0,0.09);
  --border-2: rgba(0,0,0,0.16);
  --border-a: rgba(37,99,235,0.24);

  --text-1: #0F172A;
  --text-2: #475569;
  --text-3: #94A3B8;
  --text-inv: #FFFFFF;

  --blue:        #2563EB;
  --blue-light:  #3B82F6;
  --blue-dark:   #1D4ED8;
  --blue-glow:   rgba(37,99,235,0.07);
  --blue-glow-s: rgba(37,99,235,0.14);
  --blue-glow-l: rgba(37,99,235,0.04);

  --shadow-s: 0 1px 4px rgba(0,0,0,0.07);
  --shadow-m: 0 4px 20px rgba(0,0,0,0.09);
  --shadow-l: 0 8px 40px rgba(0,0,0,0.12);
  --shadow-a: 0 4px 24px rgba(37,99,235,0.13);
}

/* Toggle icons inversés en light */
html[data-theme="light"] .ti-sun  { display: none; }
html[data-theme="light"] .ti-moon { display: block; }

/* ── Navigation light ── */
html[data-theme="light"] .nav.scrolled {
  background: rgba(255,255,255,0.97);
  box-shadow: 0 1px 0 rgba(0,0,0,0.08), 0 4px 20px rgba(0,0,0,0.06);
}
html[data-theme="light"] .nav-logo {
  background: transparent;
  border: 1px solid rgba(0,0,0,0.09);
  box-shadow: none;
}
html[data-theme="light"] .mobile-menu {
  background: rgba(255,255,255,0.98);
  border-bottom-color: rgba(0,0,0,0.08);
}
html[data-theme="light"] .hamburger span { background: var(--text-2); }

/* ── Hero light ── */
html[data-theme="light"] .hero {
  background: linear-gradient(155deg, #EEF3FF 0%, #FFFFFF 55%);
}
html[data-theme="light"] .grid-bg {
  background-image:
    linear-gradient(rgba(0,0,0,0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0,0,0,0.04) 1px, transparent 1px);
}
html[data-theme="light"] .glow-orb-1 {
  background: radial-gradient(ellipse, rgba(37,99,235,0.14) 0%, transparent 70%);
  opacity: 0.6;
}
html[data-theme="light"] .glow-orb-2 { opacity: 0.2; }

/* gradient-text inversé pour fond clair */
html[data-theme="light"] .gradient-text {
  background: linear-gradient(135deg, #0F172A 0%, #2563EB 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* ── Page hero light ── */
html[data-theme="light"] .page-hero {
  background: linear-gradient(155deg, #EEF3FF 0%, #FFFFFF 65%);
}

/* ── Badge & eyebrow light ── */
html[data-theme="light"] .badge-new {
  background: rgba(37,99,235,0.08);
  border-color: rgba(37,99,235,0.22);
  color: #1D4ED8;
}

/* ── Trust bar light ── */
html[data-theme="light"] .trust-bar {
  background: var(--bg-1);
  border-color: rgba(0,0,0,0.07);
}

/* ── Stats section light ── */
html[data-theme="light"] .stats-section {
  background: #EEF3FF;
  border-color: rgba(0,0,0,0.07);
}
html[data-theme="light"] .stat-block { border-right-color: rgba(0,0,0,0.07); }

/* ── CTA section light ── */
html[data-theme="light"] .cta-section {
  background: #EEF3FF;
  border-color: rgba(0,0,0,0.07);
}

/* ── Cards light ── */
html[data-theme="light"] .service-card,
html[data-theme="light"] .feature-card,
html[data-theme="light"] .card,
html[data-theme="light"] .team-card,
html[data-theme="light"] .value-item,
html[data-theme="light"] .cert-item,
html[data-theme="light"] .contact-detail,
html[data-theme="light"] .faq-item {
  box-shadow: var(--shadow-s);
}

/* ── Photo strips — texte forcé blanc (overlay dark sur photo) ── */
html[data-theme="light"] .photo-strip-content,
html[data-theme="light"] .photo-strip-content h2,
html[data-theme="light"] .photo-strip-content p { color: #FFFFFF !important; }
html[data-theme="light"] .photo-strip-content .eyebrow { color: #93C5FD !important; }
html[data-theme="light"] .photo-strip-content .btn-primary { background: #2563EB; }
html[data-theme="light"] .photo-strip-content .btn-outline {
  color: #FFFFFF !important;
  border-color: rgba(255,255,255,0.4) !important;
}

/* ── Contact form light ── */
html[data-theme="light"] .contact-form {
  background: #FFFFFF;
  box-shadow: 0 4px 40px rgba(0,0,0,0.09);
}
html[data-theme="light"] .form-group input,
html[data-theme="light"] .form-group textarea,
html[data-theme="light"] .form-group select {
  background: var(--bg-1);
  color: var(--text-1);
  border-color: rgba(0,0,0,0.12);
}
html[data-theme="light"] .form-group input::placeholder,
html[data-theme="light"] .form-group textarea::placeholder { color: var(--text-3); }

/* ── Footer — toujours dark (contraste volontaire) ── */
html[data-theme="light"] .footer {
  background: #0D1526;
  border-top-color: rgba(255,255,255,0.06);
}
html[data-theme="light"] .footer p,
html[data-theme="light"] .footer-brand p,
html[data-theme="light"] .footer-col h4,
html[data-theme="light"] .footer-col a,
html[data-theme="light"] .footer-bottom p,
html[data-theme="light"] .footer-bottom-links a,
html[data-theme="light"] .footer-badge { color: rgba(255,255,255,0.45) !important; }
html[data-theme="light"] .footer-col a:hover,
html[data-theme="light"] .footer-bottom-links a:hover { color: #60A5FA !important; }
html[data-theme="light"] .footer-badge span { color: #60A5FA !important; }
html[data-theme="light"] .footer .nav-logo {
  background: rgba(255,255,255,0.06);
  border-color: rgba(255,255,255,0.1);
}

html[data-theme="light"] .footer .logo-img-sm {
  filter: brightness(0) invert(1) opacity(0.65);
}
html[data-theme="light"] .footer-bottom { border-top-color: rgba(255,255,255,0.06) !important; }

/* ── Comparison table light ── */
html[data-theme="light"] table thead tr { border-bottom-color: rgba(0,0,0,0.09); }
html[data-theme="light"] table tbody tr { border-bottom-color: rgba(0,0,0,0.05); }

/* ── Process section light ── */
html[data-theme="light"] .process-step::after { color: var(--text-3); }
html[data-theme="light"] .footer-badge {
  color: black !important;
}

/* ═══════════════════════════════════════════════════════════════════
   LEGAL PAGES (terms.php / privacy.php)
   ═══════════════════════════════════════════════════════════════════ */
.legal-wrap {
  max-width: 820px;
  margin: 0 auto;
  padding: 48px 24px 100px;
}
.legal-wrap > h1 { margin-bottom: 8px; }
.legal-meta {
  font-size: 0.85rem;
  color: var(--text-3);
  margin-bottom: 48px;
  padding-bottom: 32px;
  border-bottom: 1px solid var(--border-1);
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}
.legal-meta span {
  display: flex;
  align-items: center;
  gap: 6px;
}
.legal-section { margin-bottom: 44px; }
.legal-section h2 {
  font-size: 1.05rem;
  font-weight: 700;
  letter-spacing: -0.01em;
  margin-bottom: 14px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--border-1);
  color: var(--text-1);
  counter-increment: section;
}
.legal-section p {
  font-size: 0.93rem;
  color: var(--text-2);
  line-height: 1.85;
  margin-bottom: 12px;
}
.legal-section ul {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 14px;
}
.legal-section ul li {
  display: flex;
  gap: 10px;
  font-size: 0.93rem;
  color: var(--text-2);
  line-height: 1.75;
}
.legal-section ul li::before {
  content: "–";
  color: var(--blue-light);
  flex-shrink: 0;
  font-weight: 700;
}
.legal-highlight {
  background: var(--bg-2);
  border: 1px solid var(--border-1);
  border-left: 3px solid var(--blue);
  border-radius: 0 var(--radius-s) var(--radius-s) 0;
  padding: 16px 20px;
  margin: 18px 0;
}
.legal-highlight p { margin: 0; font-size: 0.9rem; }
.legal-contact-box {
  background: var(--bg-2);
  border: 1px solid var(--border-1);
  border-radius: var(--radius-m);
  padding: 24px;
  margin-top: 16px;
}
.legal-contact-box p { margin-bottom: 6px; }
.legal-contact-box p:last-child { margin-bottom: 0; }
