/* Theme Switcher Button */
.theme-toggle {
  position: fixed;
  top: 20px;
  right: 20px;
  z-index: 1001;
}

.theme-btn {
  background: rgba(255, 255, 255, 0.9);
  border: 2px solid rgba(33, 150, 243, 0.3);
  border-radius: 50%;
  width: 50px;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.3s ease;
  backdrop-filter: blur(10px);
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}

.theme-btn:hover {
  background: rgba(33, 150, 243, 0.1);
  border-color: #2196F3;
  transform: scale(1.1);
}

.theme-icon {
  font-size: 24px;
  color: #2196F3;
  transition: all 0.3s ease;
}

.dark-icon {
  display: none;
}

/* Dark Theme Variables */
.dark-theme {
  --bg-primary: #121212;
  --bg-secondary: #1e1e1e;
  --bg-tertiary: #2d2d2d;
  --text-primary: #ffffff;
  --text-secondary: #b3b3b3;
  --text-muted: #888888;
  --border-color: #404040;
  --accent-color: #64b5f6;
  --accent-hover: #42a5f5;
  --card-bg: #1e1e1e;
  --input-bg: #2d2d2d;
  --input-border: #404040;
}

/* Dark Theme Styles */
.dark-theme body {
  background-color: var(--bg-primary);
  color: var(--text-primary);
}

/* Header Dark Theme */
.dark-theme #header {
  background: rgba(18, 18, 18, 0.95);
  border-bottom: 1px solid var(--border-color);
}

.dark-theme #header .logo h1 a {
  color: var(--text-primary);
}

.dark-theme .navbar a {
  color: var(--text-secondary);
}

.dark-theme .navbar a:hover,
.dark-theme .navbar .active {
  color: var(--accent-color);
}

/* Hero Section Dark Theme */
.dark-theme #hero {
  background: linear-gradient(135deg, #1a1a1a 0%, #2d2d2d 100%);
}

.dark-theme #hero h1 {
  color: var(--text-primary);
}

.dark-theme #hero h2 {
  color: var(--text-secondary);
}

/* Sections Dark Theme */
.dark-theme .section-bg {
  background: var(--bg-secondary);
  border: 1px solid var(--border-color);
}

.dark-theme .section-title h2 {
  color: var(--text-primary);
}

.dark-theme .section-title p {
  color: var(--text-secondary);
}

/* Cards Dark Theme */
.dark-theme .icon-box {
  background: var(--card-bg);
  border: 1px solid var(--border-color);
  transition: all 0.3s ease;
}

.dark-theme .icon-box:hover {
  border-color: var(--accent-color);
  box-shadow: 0 8px 25px rgba(100, 181, 246, 0.1);
}

.dark-theme .icon-box h4 a {
  color: var(--text-primary);
}

.dark-theme .icon-box p {
  color: var(--text-secondary);
}

/* Pricing Cards Dark Theme */
.dark-theme .pricing-card {
  background: var(--card-bg);
  border-color: var(--border-color);
}

.dark-theme .pricing-card h3 {
  color: var(--text-primary);
}

.dark-theme .pricing-card .price {
  color: var(--accent-color);
}

/* Form Dark Theme */
.dark-theme .form-control {
  background-color: var(--input-bg);
  border-color: var(--input-border);
  color: var(--text-primary);
}

.dark-theme .form-control:focus {
  background-color: var(--input-bg);
  border-color: var(--accent-color);
  color: var(--text-primary);
  box-shadow: 0 0 0 0.2rem rgba(100, 181, 246, 0.25);
}

.dark-theme .form-control::placeholder {
  color: var(--text-muted);
}

.dark-theme label {
  color: var(--text-primary);
}

/* Buttons Dark Theme */
.dark-theme .btn-main {
  background-color: var(--accent-color);
  border-color: var(--accent-color);
}

.dark-theme .btn-main:hover {
  background-color: var(--accent-hover);
  border-color: var(--accent-hover);
}

.dark-theme .btn-return {
  background-color: var(--accent-color);
}

.dark-theme .btn-return:hover {
  background-color: var(--accent-hover);
}

/* Accordion Dark Theme */
.dark-theme .accordion-list ul li {
  background: var(--card-bg);
  border: 1px solid var(--border-color);
  margin-bottom: 10px;
  border-radius: 8px;
}

.dark-theme .accordion-list a {
  color: var(--text-primary);
  background: transparent;
}

.dark-theme .accordion-list a:hover {
  color: var(--accent-color);
}

.dark-theme .accordion-list p {
  color: var(--text-secondary);
}

/* FAQ Dark Theme */
.dark-theme .faq {
  background: var(--card-bg);
  border-left-color: var(--accent-color);
}

.dark-theme .faq h4 {
  color: var(--text-primary);
}

.dark-theme .faq p {
  color: var(--text-secondary);
}

/* Footer Dark Theme */
.dark-theme #footer {
  background: var(--bg-secondary);
  border-top: 1px solid var(--border-color);
}

.dark-theme #footer h4 {
  color: var(--text-primary);
}

.dark-theme #footer p,
.dark-theme #footer li {
  color: var(--text-secondary);
}

.dark-theme #footer a {
  color: var(--text-secondary);
}

.dark-theme #footer a:hover {
  color: var(--accent-color);
}

.dark-theme .copyright {
  color: var(--text-secondary);
}

/* Legal Pages Dark Theme */
.dark-theme .page-content {
  background: linear-gradient(135deg, #1a1a1a 0%, #2d2d2d 100%);
}

.dark-theme .legal-content,
.dark-theme .pricing-content {
  background: var(--card-bg);
  border: 1px solid var(--border-color);
}

.dark-theme .legal-content h1,
.dark-theme .pricing-content h1 {
  color: var(--accent-color);
}

.dark-theme .legal-content h2,
.dark-theme .legal-content h3 {
  color: var(--text-primary);
  border-bottom-color: var(--accent-color);
}

.dark-theme .legal-content p,
.dark-theme .legal-content li {
  color: var(--text-secondary);
}

.dark-theme .contact-info,
.dark-theme .pricing-info,
.dark-theme .highlight-box {
  background: var(--bg-tertiary);
  border-left-color: var(--accent-color);
}

.dark-theme .pricing-table th {
  background-color: var(--accent-color);
}

.dark-theme .pricing-table td {
  color: var(--text-secondary);
  border-bottom-color: var(--border-color);
}

.dark-theme .pricing-table tr:nth-child(even) {
  background-color: var(--bg-tertiary);
}

/* Contact CTA Dark Theme */
.dark-theme .contact-cta {
  background: linear-gradient(135deg, var(--accent-color), var(--accent-hover));
}

/* Theme Button Dark Theme */
.dark-theme .theme-btn {
  background: rgba(30, 30, 30, 0.9);
  border-color: rgba(100, 181, 246, 0.3);
}

.dark-theme .theme-btn:hover {
  background: rgba(100, 181, 246, 0.1);
  border-color: var(--accent-color);
}

.dark-theme .theme-icon {
  color: var(--accent-color);
}

/* Mobile Navigation Dark Theme */
.dark-theme .navbar-mobile {
  background: rgba(18, 18, 18, 0.95);
}

.dark-theme .navbar-mobile ul {
  background-color: var(--card-bg);
  border: 1px solid var(--border-color);
}

.dark-theme .navbar-mobile a {
  color: var(--text-primary);
}

.dark-theme .navbar-mobile a:hover,
.dark-theme .navbar-mobile .active {
  background: var(--accent-color);
  color: white;
}

/* Testimonials Dark Theme */
.dark-theme .testimonial {
  background: var(--bg-tertiary);
  border-left-color: var(--accent-color);
  color: var(--text-secondary);
}

/* Transitions pour un changement fluide */
body,
#header,
.section-bg,
.icon-box,
.form-control,
.btn-main,
.accordion-list ul li,
.legal-content,
.pricing-content {
  transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}