/* =========================================================
   DNC theme overrides — mode CLAIR (par defaut) / mode SOMBRE
   ========================================================= */

/* ---------- MODE CLAIR (par defaut a l'arrivee) ---------- */
[data-theme="light"] body {
  background-color: #ffffff !important;
  color: #0a0a0a !important;
}

/* === Backgrounds === */
[data-theme="light"] .bg-ink-950,
[data-theme="light"] .bg-ink-900,
[data-theme="light"] .bg-ink-800,
[data-theme="light"] .bg-ink-700 { background-color: #ffffff !important; }
[data-theme="light"] .bg-surface-100,
[data-theme="light"] .bg-surface-200 { background-color: #f7f7f8 !important; }
[data-theme="light"] .bg-ink-600 { background-color: #f0f0f1 !important; }
[data-theme="light"] .bg-white\/5,
[data-theme="light"] .bg-white\/10,
[data-theme="light"] .bg-white\/\[0\.025\],
[data-theme="light"] .bg-white\/\[0\.04\],
[data-theme="light"] .bg-white\/\[0\.06\] { background-color: rgba(10, 10, 10, 0.04) !important; }

/* === Cards info (cyan transparent) -> BLANC pur en mode clair === */
[data-theme="light"] .bg-cyan-500\/5,
[data-theme="light"] .bg-cyan-500\/10,
[data-theme="light"] .bg-cyan-500\/15,
[data-theme="light"] .bg-cyan-500\/20,
[data-theme="light"] .bg-cyan-700\/5,
[data-theme="light"] .bg-cyan-700\/10 { background-color: #ffffff !important; }

/* === Halos decoratifs (blur) : masques en mode clair (taches bizarres sinon) === */
[data-theme="light"] .blur-3xl[class*="bg-cyan"],
[data-theme="light"] .blur-\[80px\][class*="bg-cyan"],
[data-theme="light"] .blur-\[100px\][class*="bg-cyan"] {
  display: none !important;
}

/* === Cyan/lime borders === */
[data-theme="light"] .border-cyan-500\/10,
[data-theme="light"] .border-cyan-500\/15,
[data-theme="light"] .border-cyan-500\/20,
[data-theme="light"] .border-cyan-500\/25,
[data-theme="light"] .border-cyan-500\/30,
[data-theme="light"] .border-cyan-500\/40,
[data-theme="light"] .border-cyan-500\/50 { border-color: rgba(234, 88, 12, 0.55) !important; }

/* === Gradients : forcer les vars Tailwind === */
[data-theme="light"] .from-cyan-300,
[data-theme="light"] .from-cyan-400,
[data-theme="light"] .from-cyan-500 {
  --tw-gradient-from: #ea580c var(--tw-gradient-from-position) !important;
  --tw-gradient-to: rgba(234, 88, 12, 0) var(--tw-gradient-to-position) !important;
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to) !important;
}
[data-theme="light"] .from-cyan-600,
[data-theme="light"] .from-cyan-700 {
  --tw-gradient-from: #c2410c var(--tw-gradient-from-position) !important;
}
[data-theme="light"] .to-cyan-300,
[data-theme="light"] .to-cyan-400,
[data-theme="light"] .to-cyan-500 {
  --tw-gradient-to: #ea580c var(--tw-gradient-to-position) !important;
}
[data-theme="light"] .to-cyan-600 { --tw-gradient-to: #c2410c var(--tw-gradient-to-position) !important; }
[data-theme="light"] .to-cyan-700 { --tw-gradient-to: #9a3412 var(--tw-gradient-to-position) !important; }
[data-theme="light"] .from-surface-100,
[data-theme="light"] .from-surface-200 { --tw-gradient-from: #ffffff var(--tw-gradient-from-position) !important; --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to) !important; }
[data-theme="light"] .to-surface-100,
[data-theme="light"] .to-surface-200 { --tw-gradient-to: #f5f5f5 var(--tw-gradient-to-position) !important; }
[data-theme="light"] .to-cyan-500\/5,
[data-theme="light"] .to-cyan-700\/5,
[data-theme="light"] .to-cyan-700\/15 { --tw-gradient-to: rgba(234, 88, 12, 0.05) var(--tw-gradient-to-position) !important; }
[data-theme="light"] .from-cyan-500\/10,
[data-theme="light"] .from-cyan-500\/15,
[data-theme="light"] .from-cyan-700\/10 { --tw-gradient-from: rgba(234, 88, 12, 0.08) var(--tw-gradient-from-position) !important; --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to) !important; }

/* === Cards CTA / surface gradients sombres (force fond blanc + ombre douce) === */
[data-theme="light"] .bg-gradient-to-br.from-surface-100,
[data-theme="light"] .bg-gradient-to-br.from-surface-200,
[data-theme="light"] [class*="from-surface"] {
  background-image: none !important;
  background-color: #ffffff !important;
  border-color: rgba(10, 10, 10, 0.08) !important;
  box-shadow: 0 18px 48px -22px rgba(234, 88, 12, 0.18), inset 0 0 0 1px rgba(10, 10, 10, 0.02) !important;
}

/* === Gradients cyan complets (cards "Besoin d'un devis" etc.) -> fond BLANC pur === */
[data-theme="light"] .bg-gradient-to-br[class*="from-cyan"][class*="to-cyan"],
[data-theme="light"] .bg-gradient-to-r[class*="from-cyan"][class*="to-cyan"]:not(.bg-clip-text) {
  background-image: none !important;
  background-color: #ffffff !important;
}

/* === Couleurs de texte === */
[data-theme="light"] .text-white,
[data-theme="light"] .text-white\/95,
[data-theme="light"] .text-white\/90,
[data-theme="light"] .text-slate-100,
[data-theme="light"] .text-slate-200 { color: #0a0a0a !important; }
[data-theme="light"] .text-white\/80,
[data-theme="light"] .text-white\/70,
[data-theme="light"] .text-white\/65,
[data-theme="light"] .text-white\/55 { color: #1f1f1f !important; }
[data-theme="light"] .text-white\/60,
[data-theme="light"] .text-white\/50,
[data-theme="light"] .text-white\/45,
[data-theme="light"] .text-white\/40 { color: #525252 !important; }
[data-theme="light"] .text-white\/30,
[data-theme="light"] .text-white\/25,
[data-theme="light"] .text-white\/20 { color: #737373 !important; }

/* Cyan -> Orange */
[data-theme="light"] .text-cyan-300,
[data-theme="light"] .text-cyan-400,
[data-theme="light"] .text-cyan-500,
[data-theme="light"] .text-cyan-600,
[data-theme="light"] .text-cyan-700 { color: #ea580c !important; }
[data-theme="light"] .hover\:text-cyan-300:hover,
[data-theme="light"] .hover\:text-cyan-400:hover { color: #c2410c !important; }
[data-theme="light"] .bg-cyan-300,
[data-theme="light"] .bg-cyan-400,
[data-theme="light"] .bg-cyan-500,
[data-theme="light"] .bg-cyan-600,
[data-theme="light"] .bg-cyan-700 { background-color: #ea580c !important; color: #ffffff !important; }
[data-theme="light"] .border-cyan-300,
[data-theme="light"] .border-cyan-400,
[data-theme="light"] .border-cyan-500,
[data-theme="light"] .border-cyan-600 { border-color: #ea580c !important; }

/* Lime -> Orange softer */
[data-theme="light"] .text-lime-400,
[data-theme="light"] .text-lime-500 { color: #f97316 !important; }
[data-theme="light"] .bg-lime-400,
[data-theme="light"] .bg-lime-500 { background-color: #f97316 !important; color: #ffffff !important; }

/* === Lien de menu actif (page courante) === */
[data-theme="light"] [aria-current="page"],
[data-theme="light"] a[aria-current="page"]:hover { color: #ea580c !important; font-weight: 700 !important; }
[data-theme="dark"] [aria-current="page"] { color: #67e8f9 !important; }

/* === Borders blanches === */
[data-theme="light"] .border-white\/5,
[data-theme="light"] .border-white\/8,
[data-theme="light"] .border-white\/10,
[data-theme="light"] .border-white\/12,
[data-theme="light"] .border-white\/15,
[data-theme="light"] .border-white\/20,
[data-theme="light"] .border-white\/\[0\.06\] { border-color: rgba(10, 10, 10, 0.10) !important; }

/* === Composants custom DNC === */
[data-theme="light"] .nav-glass {
  background: rgba(255, 255, 255, 0.92) !important;
  backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(10, 10, 10, 0.08) !important;
}

[data-theme="light"] .grid-bg {
  background-image:
    linear-gradient(rgba(234, 88, 12, 0.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(234, 88, 12, 0.05) 1px, transparent 1px) !important;
}

[data-theme="light"] .hero-drone {
  background-color: #ffffff !important;
}
[data-theme="light"] .hero-drone::before {
  background-image:
    linear-gradient(rgba(234, 88, 12, 0.07) 1px, transparent 1px),
    linear-gradient(90deg, rgba(234, 88, 12, 0.07) 1px, transparent 1px) !important;
}
[data-theme="light"] .hero-video-overlay {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.55) 0%, rgba(255, 255, 255, 0.85) 100%) !important;
}

[data-theme="light"] .glow-cyan {
  background: radial-gradient(circle, rgba(234, 88, 12, 0.18) 0%, transparent 70%) !important;
}

[data-theme="light"] .btn-cyan {
  background: linear-gradient(135deg, #ea580c 0%, #c2410c 100%) !important;
  color: #ffffff !important;
  box-shadow: 0 8px 24px -8px rgba(234, 88, 12, 0.5) !important;
}
[data-theme="light"] .btn-cyan:hover {
  box-shadow: 0 12px 30px -6px rgba(234, 88, 12, 0.6) !important;
}

[data-theme="light"] .btn-ghost {
  background: rgba(10, 10, 10, 0.04) !important;
  color: #0a0a0a !important;
  border: 1px solid rgba(10, 10, 10, 0.15) !important;
}
[data-theme="light"] .btn-ghost:hover {
  background: rgba(10, 10, 10, 0.06) !important;
  border-color: rgba(234, 88, 12, 0.45) !important;
  color: #c2410c !important;
}

[data-theme="light"] .tech-card {
  background: #ffffff !important;
  border: 1px solid rgba(10, 10, 10, 0.08) !important;
  box-shadow: 0 1px 3px rgba(10, 10, 10, 0.04);
}
[data-theme="light"] .tech-card:hover {
  background: #fafafa !important;
  border-color: rgba(234, 88, 12, 0.35) !important;
  box-shadow: 0 18px 40px -22px rgba(234, 88, 12, 0.25);
}
[data-theme="light"] .tech-card::before {
  background: linear-gradient(90deg, transparent, rgba(234, 88, 12, 0.6), transparent) !important;
}

[data-theme="light"] .hud-badge {
  background: rgba(234, 88, 12, 0.10) !important;
  border: 1px solid rgba(234, 88, 12, 0.30) !important;
  color: #c2410c !important;
}
[data-theme="light"] .hud-badge::before {
  background: #ea580c !important;
  box-shadow: 0 0 8px #ea580c !important;
}

[data-theme="light"] .step-num { color: #ea580c !important; }

/* === Zone tags : orange + bg blanc === */
[data-theme="light"] .zone-tag {
  background: rgba(234, 88, 12, 0.06) !important;
  border: 1px solid rgba(234, 88, 12, 0.30) !important;
  color: #c2410c !important;
}

/* === Offer cards (nos-offres.html) === */
[data-theme="light"] .offer-card {
  background: #ffffff !important;
  border: 1px solid rgba(10, 10, 10, 0.12) !important;
}
[data-theme="light"] .offer-card:hover {
  border-color: rgba(234, 88, 12, 0.55) !important;
  background: #ffffff !important;
  box-shadow: 0 24px 48px -22px rgba(234, 88, 12, 0.28) !important;
}

/* === Feature pill (nos-offres.html) : passe en NOIR sur fond clair === */
[data-theme="light"] .feature-pill {
  background: rgba(10, 10, 10, 0.04) !important;
  border: 1px solid rgba(10, 10, 10, 0.12) !important;
  color: #0a0a0a !important;
  font-weight: 600 !important;
}

/* === Form (contact.html) === */
[data-theme="light"] .form-input {
  background: #ffffff !important;
  border: 1.5px solid rgba(10, 10, 10, 0.15) !important;
  color: #0a0a0a !important;
}
[data-theme="light"] .form-input::placeholder { color: rgba(10, 10, 10, 0.35) !important; }
[data-theme="light"] .form-input:focus {
  border-color: #ea580c !important;
  background: #ffffff !important;
  box-shadow: 0 0 0 3px rgba(234, 88, 12, 0.15) !important;
}
[data-theme="light"] .form-label {
  color: rgba(10, 10, 10, 0.65) !important;
}

/* === FAQ (faq.html) === */
[data-theme="light"] details.faq-item {
  background: #ffffff !important;
  border: 1px solid rgba(10, 10, 10, 0.10) !important;
}
[data-theme="light"] details.faq-item[open] {
  background: #fafafa !important;
  border-color: rgba(234, 88, 12, 0.40) !important;
  box-shadow: 0 8px 24px -16px rgba(234, 88, 12, 0.25);
}
[data-theme="light"] details.faq-item .faq-num { color: #ea580c !important; }
[data-theme="light"] details.faq-item .faq-q { color: #0a0a0a !important; }
[data-theme="light"] details.faq-item .faq-a { color: rgba(10, 10, 10, 0.7) !important; }
[data-theme="light"] details.faq-item .faq-icon { color: #ea580c !important; }

/* FAQ filter tabs */
[data-theme="light"] .faq-filter {
  background: rgba(10, 10, 10, 0.04) !important;
  border: 1px solid rgba(10, 10, 10, 0.12) !important;
  color: rgba(10, 10, 10, 0.6) !important;
}
[data-theme="light"] .faq-filter:hover { color: #0a0a0a !important; border-color: rgba(234, 88, 12, 0.45) !important; }
[data-theme="light"] .faq-filter.active,
[data-theme="light"] .faq-filter[aria-pressed="true"] {
  background: #ea580c !important; color: #ffffff !important; border-color: #ea580c !important;
}

/* === Devis en ligne (devis-en-ligne.html) === */
[data-theme="light"] .service-option label {
  background: #ffffff !important;
  border: 1.5px solid rgba(10, 10, 10, 0.12) !important;
  color: rgba(10, 10, 10, 0.85) !important;
}
[data-theme="light"] .service-option label:hover {
  border-color: rgba(234, 88, 12, 0.40) !important;
  background: #fafafa !important;
}
[data-theme="light"] .service-option input:checked + label {
  background: rgba(234, 88, 12, 0.08) !important;
  border-color: #ea580c !important;
  color: #0a0a0a !important;
}
[data-theme="light"] .service-option input:checked + label .check-mark {
  background: #ea580c !important;
  border-color: #ea580c !important;
}
[data-theme="light"] .service-option input:checked + label .check-mark::after {
  border-color: #ffffff !important;
  border-top: 0 !important;
  border-right: 0 !important;
}
[data-theme="light"] .check-mark {
  border: 2px solid rgba(10, 10, 10, 0.25) !important;
}
[data-theme="light"] .file-upload-zone {
  border: 2px dashed rgba(234, 88, 12, 0.35) !important;
  background: rgba(234, 88, 12, 0.04) !important;
}
[data-theme="light"] .file-upload-zone:hover {
  border-color: #ea580c !important;
  background: rgba(234, 88, 12, 0.07) !important;
}
[data-theme="light"] .step-marker { color: #ea580c !important; }

/* === Image overlays avec texte (preserver le fond sombre + texte blanc) === */
[data-theme="light"] .image-overlay-bg {
  background: linear-gradient(to top, rgba(6, 8, 21, 0.85), transparent) !important;
}
[data-theme="light"] .image-overlay-text .text-white,
[data-theme="light"] .image-overlay-text .text-white\/95,
[data-theme="light"] .image-overlay-text .text-white\/90 { color: #ffffff !important; }
[data-theme="light"] .image-overlay-text .text-white\/60,
[data-theme="light"] .image-overlay-text .text-white\/50,
[data-theme="light"] .image-overlay-text .text-white\/40 { color: rgba(255, 255, 255, 0.75) !important; }
[data-theme="light"] .image-overlay-text .text-cyan-400,
[data-theme="light"] .image-overlay-text .text-cyan-300 { color: #fb923c !important; }

/* === Blur halos (decorations) === */
[data-theme="light"] .blur-\[80px\],
[data-theme="light"] .blur-\[100px\],
[data-theme="light"] .blur-3xl {
  opacity: 0.7;
}

/* === Menu overlay mobile === */
[data-theme="light"] #menu-overlay.active {
  background: rgba(10, 10, 10, 0.45) !important;
}

/* ---------- TAILLES DE TEXTES — bumpees globalement ---------- */
body { font-size: 17px; }
@media (min-width: 768px) { body { font-size: 18px; } }

/* ---------- BOUTON TOGGLE THEME ---------- */
.theme-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 999px;
  background: rgba(10, 10, 10, 0.05);
  border: 1px solid rgba(10, 10, 10, 0.12);
  color: #0a0a0a;
  cursor: pointer;
  transition: all 0.3s ease;
  flex-shrink: 0;
}
.theme-toggle:hover {
  background: rgba(234, 88, 12, 0.1);
  border-color: rgba(234, 88, 12, 0.4);
  color: #ea580c;
}
[data-theme="dark"] .theme-toggle {
  background: rgba(255, 255, 255, 0.05);
  border-color: rgba(255, 255, 255, 0.12);
  color: #f1f5f9;
}
[data-theme="dark"] .theme-toggle:hover {
  background: rgba(6, 182, 212, 0.12);
  border-color: rgba(6, 182, 212, 0.4);
  color: #22d3ee;
}
.theme-toggle .icon-sun { display: block; }
.theme-toggle .icon-moon { display: none; }
[data-theme="dark"] .theme-toggle .icon-sun { display: none; }
[data-theme="dark"] .theme-toggle .icon-moon { display: block; }

/* ---------- LOGO CLIENT (image PNG) ---------- */
.brand-logo {
  height: 44px;
  width: auto;
  display: block;
  flex-shrink: 0;
}
@media (min-width: 768px) { .brand-logo { height: 52px; } }

/* Switch light/dark : on affiche la bonne version selon le theme */
.brand-logo-dark { display: none; }
[data-theme="dark"] .brand-logo-light { display: none; }
[data-theme="dark"] .brand-logo-dark { display: block; }

/* Petit glow autour du logo en mode sombre pour le pop */
[data-theme="dark"] .brand-logo-dark { filter: drop-shadow(0 0 6px rgba(6, 182, 212, 0.25)); }
[data-theme="dark"] a:hover .brand-logo-dark { filter: drop-shadow(0 0 10px rgba(6, 182, 212, 0.45)); }
