/* Additional Dark Mode Overrides not covered entirely by variables */
[data-theme="dark"] img {
    opacity: 0.9;
}

[data-theme="dark"] img:hover {
    opacity: 1;
}

[data-theme="dark"] .method-card .method-num-bg {
    opacity: 0.1;
}

[data-theme="dark"] .ai-summary-bar {
    background-color: rgba(255, 255, 255, 0.03);
}

[data-theme="dark"] blockquote {
    background-color: rgba(255, 255, 255, 0.03);
}

.theme-toggle-btn {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 1px solid var(--color-border);
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--color-bg);
    color: var(--color-text);
    font-size: 20px;
}

.theme-toggle-btn:hover {
    background-color: var(--color-bg-alt);
}

.theme-toggle-btn .ph-moon {
    display: block;
}

.theme-toggle-btn .ph-sun {
    display: none;
}

[data-theme="dark"] .theme-toggle-btn .ph-moon {
    display: none;
}

[data-theme="dark"] .theme-toggle-btn .ph-sun {
    display: block;
}

[data-theme="dark"] .theme-toggle-btn {
    background-color: var(--color-slate-800);
}

[data-theme="dark"] .theme-toggle-btn:hover {
    background-color: var(--color-slate-700);
}

/* ─── FAQ dark mode — forcer la lisibilité du texte ─────────── */
[data-theme="dark"] .faq-item {
    background-color: var(--color-bg);
    border-color: rgba(255, 255, 255, 0.08);
}

[data-theme="dark"] .faq-question {
    color: var(--color-text);
}

[data-theme="dark"] .faq-answer,
[data-theme="dark"] .faq-answer p,
[data-theme="dark"] .faq-answer li {
    color: #cbd5e1;
}


/* ═══════════════════════════════════════════════════════════════
   LOGO SLIDER — Couleurs selon thème
   Dark mode  : logos blancs (brightness 0 + invert)
   Light mode : logos gris subtils (grayscale + opacity)
═══════════════════════════════════════════════════════════════ */

/* -- Images réelles (logo-slide-img) -- */

/* Light mode : gris 60% opacité */
:root:not([data-theme="dark"]) .logo-slide-img {
    filter: grayscale(100%);
    opacity: 0.55;
    transition: filter 0.35s ease, opacity 0.35s ease;
}

:root:not([data-theme="dark"]) .logo-slide-img:hover,
:root:not([data-theme="dark"]) .logo-slide a:hover .logo-slide-img {
    filter: grayscale(0%);
    opacity: 1;
}

/* Dark mode : blanc pur */
[data-theme="dark"] .logo-slide-img {
    filter: brightness(0) invert(1);
    opacity: 0.7;
    transition: filter 0.35s ease, opacity 0.35s ease;
}

[data-theme="dark"] .logo-slide-img:hover,
[data-theme="dark"] .logo-slide a:hover .logo-slide-img {
    filter: brightness(0) invert(1);
    opacity: 1;
}

/* Filter client logos (generic class used elsewhere) */
:root:not([data-theme="dark"]) .client-logo-img {
    filter: grayscale(100%);
    opacity: 0.55;
    transition: filter 0.3s, opacity 0.3s;
}

:root:not([data-theme="dark"]) .client-logo-img:hover {
    filter: grayscale(0%);
    opacity: 1;
}

[data-theme="dark"] .client-logo-img {
    filter: brightness(0) invert(1) opacity(0.8);
}

[data-theme="dark"] .client-logo-img:hover {
    filter: brightness(0) invert(1) opacity(1);
}

/* -- Marquee items (icon + text pills) -- */

/* Light : gris sobre */
:root:not([data-theme="dark"]) .marquee-item {
    color: #64748b;
    border: 1px solid rgba(100, 116, 139, 0.15);
    background: rgba(100, 116, 139, 0.04);
    border-radius: 9999px;
    padding: 6px 16px;
    font-size: var(--text-sm);
    font-weight: 600;
    transition: color 0.25s, background 0.25s;
}

:root:not([data-theme="dark"]) .marquee-item:hover {
    color: var(--color-primary);
    background: rgba(0, 174, 239, 0.06);
    border-color: rgba(0, 174, 239, 0.2);
}

:root:not([data-theme="dark"]) .marquee-item .text-primary {
    color: #94a3b8;
}

/* Dark : blanc lumineux légèrement opaque */
[data-theme="dark"] .marquee-item {
    color: rgba(255, 255, 255, 0.65);
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(255, 255, 255, 0.04);
    border-radius: 9999px;
    padding: 6px 16px;
    font-size: var(--text-sm);
    font-weight: 600;
    transition: color 0.25s, background 0.25s;
}

[data-theme="dark"] .marquee-item:hover {
    color: rgba(255, 255, 255, 0.95);
    background: rgba(0, 174, 239, 0.12);
    border-color: rgba(0, 174, 239, 0.3);
}

[data-theme="dark"] .marquee-item .text-primary {
    color: var(--color-primary);
}


/* ═══════════════════════════════════════════════════════════════
   PREMIUM SCROLLBAR
═══════════════════════════════════════════════════════════════ */

::-webkit-scrollbar {
    width: 5px;
    height: 5px;
}

::-webkit-scrollbar-track {
    background: transparent;
}

::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg, var(--color-primary), var(--color-teal-500));
    border-radius: 999px;
}

::-webkit-scrollbar-thumb:hover {
    background: var(--color-primary);
}


/* ═══════════════════════════════════════════════════════════════
   SELECTION COLORS
═══════════════════════════════════════════════════════════════ */

::selection {
    background: rgba(0, 174, 239, 0.25);
    color: var(--color-text);
}

::-moz-selection {
    background: rgba(0, 174, 239, 0.25);
    color: var(--color-text);
}