/* ============================================
   WAVE LIGHT - Light Theme Override
   Attivato tramite [data-theme="light"] su <html>
   ============================================ */

/* ---- VARIABILI LIGHT ---- */
[data-theme="light"] {
    --color-primary-900: #f8fafc;
    --color-primary-800: #f1f5f9;
    --color-primary-700: #e2e8f0;
    --color-primary-600: #cbd5e1;
    --color-primary-500: #94a3b8;

    --color-accent-primary: #0d9373;
    --color-accent-secondary: #0284c7;
    --color-accent-tertiary: #7c3aed;
    --color-accent-glow: rgba(13, 147, 115, 0.1);

    --color-white: #0f172a;
    --color-gray-100: #1e293b;
    --color-gray-200: #334155;
    --color-gray-300: #475569;
    --color-gray-400: #64748b;
    --color-gray-500: #94a3b8;
    --color-gray-600: #cbd5e1;

    --gradient-accent: linear-gradient(135deg, var(--color-accent-primary) 0%, var(--color-accent-secondary) 100%);
    --gradient-text: linear-gradient(135deg, var(--color-accent-primary) 0%, var(--color-accent-secondary) 50%, var(--color-accent-tertiary) 100%);

    --shadow-glow: 0 4px 24px rgba(13, 147, 115, 0.15);
    --shadow-glow-sm: 0 2px 12px rgba(13, 147, 115, 0.1);
}

/* ---- BODY & SELECTION ---- */
[data-theme="light"] body {
    color: #475569;
    background-color: #f8fafc;
}

[data-theme="light"] ::selection {
    background-color: #0d9373;
    color: #ffffff;
}

/* ============================================
   GLOBAL: Override hardcoded rgba(255,255,255,...) e "color: white"
   Copre TUTTI gli elementi con colori trasparenti bianchi
   ============================================ */

/* Headings globali — il var(--color-white) li gestisce già,
   ma se un inline style o specifico CSS usa "color: white" hardcoded,
   questi override li catturano. */
[data-theme="light"] h1,
[data-theme="light"] h2,
[data-theme="light"] h3,
[data-theme="light"] h4,
[data-theme="light"] h5,
[data-theme="light"] h6 {
    color: #0f172a;
}

/* ---- NAVBAR ---- */
[data-theme="light"] .navbar.scrolled {
    background: rgba(248, 250, 252, 0.95);
    border-bottom: 1px solid rgba(13, 147, 115, 0.12);
}

[data-theme="light"] .logo {
    color: #0f172a;
}

[data-theme="light"] .logo-icon::before {
    background: #f8fafc;
}

[data-theme="light"] .nav-links li a {
    color: #475569;
}

[data-theme="light"] .nav-links li a:not(.btn):hover {
    color: #0f172a;
}

[data-theme="light"] .menu-toggle span {
    background: #0f172a;
}

/* Mobile menu */
@media (max-width: 968px) {
    [data-theme="light"] .nav-links {
        background: #f8fafc;
        box-shadow: -4px 0 24px rgba(0, 0, 0, 0.1);
    }
    [data-theme="light"] .nav-links li a {
        color: #334155;
        font-size: 1.1rem;
    }
    [data-theme="light"] .nav-links li a:hover {
        color: #0d9373;
    }
}

/* ---- BUTTONS ---- */
[data-theme="light"] .btn-primary {
    color: #ffffff;
    box-shadow: 0 2px 12px rgba(13, 147, 115, 0.2);
}

[data-theme="light"] .btn-primary:hover {
    box-shadow: 0 4px 24px rgba(13, 147, 115, 0.3);
}

[data-theme="light"] .btn-secondary {
    color: #0d9373;
    border-color: #0d9373;
}

[data-theme="light"] .btn-secondary:hover {
    background: rgba(13, 147, 115, 0.08);
}

/* ---- HERO ---- */
[data-theme="light"] .hero-bg::before {
    background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 50%, #e2e8f0 100%);
}

[data-theme="light"] .orb-1 {
    background: rgba(13, 147, 115, 0.08);
}

[data-theme="light"] .orb-2 {
    background: rgba(2, 132, 199, 0.06);
}

[data-theme="light"] .orb-3 {
    background: rgba(124, 58, 237, 0.05);
}

[data-theme="light"] .grid-pattern {
    background-image:
        linear-gradient(rgba(13, 147, 115, 0.04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(13, 147, 115, 0.04) 1px, transparent 1px);
}

[data-theme="light"] .hero-badge {
    background: rgba(13, 147, 115, 0.08);
    border-color: rgba(13, 147, 115, 0.18);
}

[data-theme="light"] .hero-badge::before {
    background: #0d9373;
}

[data-theme="light"] .hero h1,
[data-theme="light"] .hero-subtitle {
    color: #0f172a;
}

[data-theme="light"] .hero-subtitle {
    color: #475569;
}

/* ---- CARDS & SURFACES ---- */
[data-theme="light"] .service-card,
[data-theme="light"] .feature-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
}

[data-theme="light"] .service-card:hover,
[data-theme="light"] .feature-card:hover {
    border-color: rgba(13, 147, 115, 0.3);
    box-shadow: 0 4px 16px rgba(13, 147, 115, 0.08);
}

[data-theme="light"] .service-card::before,
[data-theme="light"] .feature-card::before {
    background: radial-gradient(ellipse at top left, rgba(13, 147, 115, 0.06) 0%, transparent 60%);
}

[data-theme="light"] .service-icon,
[data-theme="light"] .feature-icon {
    background: rgba(13, 147, 115, 0.08);
}

[data-theme="light"] .service-card h3,
[data-theme="light"] .feature-card h4,
[data-theme="light"] .feature-text h4 {
    color: #0f172a;
}

[data-theme="light"] .service-card p,
[data-theme="light"] .feature-card p,
[data-theme="light"] .feature-text p {
    color: #475569;
}

/* ---- STATS ---- */
[data-theme="light"] .hero-stat {
    background: #ffffff;
    border: 1px solid #e2e8f0;
}

[data-theme="light"] .hero-stat:hover {
    border-color: rgba(13, 147, 115, 0.3);
}

/* ---- PRICING ---- */
[data-theme="light"] .pricing-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
}

[data-theme="light"] .pricing-card:hover {
    border-color: rgba(13, 147, 115, 0.3);
}

[data-theme="light"] .pricing-card.featured {
    background: #ffffff;
    border-color: #0d9373;
}

[data-theme="light"] .pricing-card .price {
    color: #0f172a;
}

[data-theme="light"] .pricing-popular {
    background: var(--gradient-accent);
    color: #ffffff;
}

[data-theme="light"] .pricing-features li {
    color: #475569;
}

[data-theme="light"] .pricing-features li::before {
    color: #0d9373;
}

/* ---- PROCESS / TIMELINE ---- */
[data-theme="light"] .process-timeline::before {
    background: linear-gradient(to bottom, transparent, #0d9373, transparent);
}

[data-theme="light"] .process-step h3 {
    color: #0f172a;
}

[data-theme="light"] .process-step p {
    color: #475569;
}

[data-theme="light"] .step-number {
    background: #f1f5f9;
    border-color: rgba(13, 147, 115, 0.3);
    color: #0d9373;
}

[data-theme="light"] .process-step:hover .step-number {
    background: #0d9373;
    color: #ffffff;
}

/* ---- PORTFOLIO ---- */
[data-theme="light"] .portfolio-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
}

[data-theme="light"] .portfolio-card:hover {
    border-color: rgba(13, 147, 115, 0.3);
}

[data-theme="light"] .portfolio-overlay {
    background: linear-gradient(to top, rgba(15, 23, 42, 0.9), transparent);
}

[data-theme="light"] .filter-btn {
    background: #f1f5f9;
    color: #475569;
    border: 1px solid #e2e8f0;
}

[data-theme="light"] .filter-btn:hover,
[data-theme="light"] .filter-btn.active {
    background: var(--gradient-accent);
    color: #ffffff;
    border-color: transparent;
}

/* ---- TESTIMONIALS ---- */
[data-theme="light"] .testimonial-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
}

/* ---- FAQ ---- */
[data-theme="light"] .faq-item {
    border-color: #e2e8f0;
}

[data-theme="light"] .faq-item summary {
    color: #0f172a;
}

[data-theme="light"] .faq-item p {
    color: #475569;
}

[data-theme="light"] .faq-item[open] {
    background: rgba(13, 147, 115, 0.03);
}

/* ---- CTA SECTION (resta dark) ---- */
[data-theme="light"] .cta-section {
    background: linear-gradient(135deg, #0f172a, #1e293b);
}

[data-theme="light"] .cta-section h2,
[data-theme="light"] .cta-section p,
[data-theme="light"] .cta-section .text-gradient {
    color: #f1f5f9;
}

[data-theme="light"] .cta-section .btn-primary {
    color: #0f172a;
}

/* ---- CONTACT FORM ---- */
[data-theme="light"] .contact-form-wrapper {
    background: #ffffff;
    border: 1px solid #e2e8f0;
}

[data-theme="light"] .form-group input,
[data-theme="light"] .form-group textarea,
[data-theme="light"] .form-group select {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    color: #0f172a;
}

[data-theme="light"] .form-group input:focus,
[data-theme="light"] .form-group textarea:focus,
[data-theme="light"] .form-group select:focus {
    border-color: #0d9373;
    box-shadow: 0 0 0 3px rgba(13, 147, 115, 0.1);
}

[data-theme="light"] .form-group input::placeholder,
[data-theme="light"] .form-group textarea::placeholder {
    color: #94a3b8;
}

[data-theme="light"] .form-group label {
    color: #334155;
}

/* ============================================
   PREVENTIVO PAGE — Inline <style> overrides
   Tutti i colori hardcoded white/rgba
   ============================================ */

[data-theme="light"] .quote-cta-card {
    background: linear-gradient(135deg, rgba(13, 147, 115, 0.06), rgba(2, 132, 199, 0.04));
    border: 1px solid rgba(13, 147, 115, 0.15);
}

[data-theme="light"] .quote-cta-title {
    color: #0f172a !important;
}

[data-theme="light"] .quote-cta-description {
    color: #475569 !important;
}

[data-theme="light"] .benefit-item {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
}

[data-theme="light"] .benefit-text {
    color: #334155 !important;
}

[data-theme="light"] .benefit-icon {
    color: #0d9373;
}

[data-theme="light"] .already-client {
    border-top-color: #e2e8f0 !important;
    color: #64748b !important;
}

[data-theme="light"] .already-client a {
    color: #0d9373 !important;
}

/* How It Works (preventivo) */
[data-theme="light"] .how-it-works {
    background: rgba(13, 147, 115, 0.02) !important;
}

[data-theme="light"] .step-card {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
}

[data-theme="light"] .step-title {
    color: #0f172a !important;
}

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

/* Contact section (preventivo) */
[data-theme="light"] .contact-method {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
}

[data-theme="light"] .contact-method:hover {
    background: #f8fafc !important;
    border-color: rgba(13, 147, 115, 0.3) !important;
}

[data-theme="light"] .contact-method h4 {
    color: #0f172a !important;
}

[data-theme="light"] .contact-method p {
    color: #475569 !important;
}

[data-theme="light"] .contact-method a {
    color: #0d9373 !important;
}

[data-theme="light"] .contact-method-icon {
    background: linear-gradient(135deg, rgba(13, 147, 115, 0.12), rgba(2, 132, 199, 0.08)) !important;
}

/* ============================================
   SECTION HEADERS — testo in chiaro
   ============================================ */

[data-theme="light"] .section-header h2 {
    color: #0f172a;
}

[data-theme="light"] .section-header p {
    color: #64748b;
}

[data-theme="light"] .section-label {
    color: #0d9373;
}

[data-theme="light"] .section-label::before,
[data-theme="light"] .section-label::after {
    background: #0d9373;
}

/* ---- PAGE HEADER (Portfolio, Preventivo) ---- */
[data-theme="light"] .page-header {
    background: linear-gradient(135deg, #f1f5f9 0%, #e2e8f0 100%);
}

[data-theme="light"] .page-header h1 {
    color: #0f172a;
}

[data-theme="light"] .page-header p {
    color: #475569;
}

/* ============================================
   CLIENT AREA — Override completi
   ============================================ */

[data-theme="light"] .auth-section {
    background: #f8fafc;
}

[data-theme="light"] .auth-tabs {
    background: #f1f5f9;
    border: 1px solid #e2e8f0;
}

[data-theme="light"] .auth-tab {
    color: #64748b;
}

[data-theme="light"] .auth-tab:hover {
    color: #0f172a;
    background: rgba(0, 0, 0, 0.03);
}

[data-theme="light"] .auth-tab.active {
    background: var(--gradient-accent);
    color: #ffffff;
    box-shadow: 0 2px 8px rgba(13, 147, 115, 0.25);
}

[data-theme="light"] .auth-panel {
    background: transparent;
    border: none;
}

[data-theme="light"] .auth-header h2 {
    color: #0f172a;
}

[data-theme="light"] .auth-header p {
    color: #64748b;
}

/* Auth form — complete light mode override */
[data-theme="light"] .auth-form {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06);
}

[data-theme="light"] .auth-form label {
    color: #334155;
}

[data-theme="light"] .auth-form input[type="text"],
[data-theme="light"] .auth-form input[type="email"],
[data-theme="light"] .auth-form input[type="password"],
[data-theme="light"] .auth-form input[type="tel"] {
    background: #ffffff;
    border: 1.5px solid #cbd5e1;
    color: #0f172a;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}

[data-theme="light"] .auth-form input::placeholder {
    color: #94a3b8;
}

[data-theme="light"] .auth-form input:focus {
    border-color: #0d9373;
    box-shadow: 0 0 0 3px rgba(13, 147, 115, 0.1);
}

[data-theme="light"] .input-icon svg {
    color: #94a3b8;
}

[data-theme="light"] .toggle-password {
    color: #94a3b8;
}

[data-theme="light"] .toggle-password:hover {
    color: #0d9373;
}

[data-theme="light"] .checkbox-label {
    color: #475569;
}

[data-theme="light"] .checkbox-label input[type="checkbox"] {
    accent-color: #0d9373;
}

[data-theme="light"] .forgot-password {
    color: #0d9373;
}

[data-theme="light"] .strength-bar {
    background: #e2e8f0;
}

[data-theme="light"] .strength-text {
    color: #64748b;
}

[data-theme="light"] .form-message.error {
    background: rgba(239, 68, 68, 0.06);
    border: 1px solid rgba(239, 68, 68, 0.2);
    color: #dc2626;
}

[data-theme="light"] .form-message.success {
    background: rgba(16, 185, 129, 0.06);
    border: 1px solid rgba(16, 185, 129, 0.2);
    color: #059669;
}

/* Dashboard in light mode */
[data-theme="light"] .welcome-text h2 {
    color: #0f172a;
}

[data-theme="light"] .welcome-text p {
    color: #64748b;
}

[data-theme="light"] .stat-number {
    color: #0f172a;
}

[data-theme="light"] .stat-label {
    color: #64748b;
}

[data-theme="light"] .dash-tab:hover {
    color: #0f172a;
    background: rgba(13, 147, 115, 0.04);
}

[data-theme="light"] .empty-state {
    color: #64748b;
}

[data-theme="light"] .empty-state p {
    color: #64748b;
}

[data-theme="light"] .empty-state svg {
    color: #cbd5e1;
}

/* Toast notifications */
[data-theme="light"] .toast-notification {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    color: #334155;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
}

/* Panel header */
[data-theme="light"] .panel-header h3 {
    color: #0f172a;
}

/* Profile form in light mode */
[data-theme="light"] .profile-form input {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    color: #0f172a;
}

[data-theme="light"] .profile-form input:focus {
    border-color: #0d9373;
}

[data-theme="light"] .profile-form h4 {
    color: #0f172a;
}

[data-theme="light"] .profile-form small {
    color: #94a3b8;
}

/* Client dashboard cards */
[data-theme="light"] .stat-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);
}

[data-theme="light"] .stat-card:hover {
    border-color: rgba(13, 147, 115, 0.3);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
}

[data-theme="light"] .stat-icon {
    background: rgba(13, 147, 115, 0.08);
}

[data-theme="light"] .dash-tabs {
    border-bottom-color: #e2e8f0;
}

[data-theme="light"] .dash-tab {
    color: #64748b;
}

[data-theme="light"] .dash-tab:hover {
    color: #0f172a;
    background: rgba(13, 147, 115, 0.04);
}

[data-theme="light"] .dash-tab.active {
    color: #0d9373;
    border-bottom-color: #0d9373;
}

[data-theme="light"] .empty-state {
    background: #ffffff;
    border: 1px dashed #cbd5e1;
}

/* Chat */
[data-theme="light"] .client-chat-section {
    border-color: #e2e8f0;
}

[data-theme="light"] .client-chat-header {
    border-bottom-color: #e2e8f0;
}

[data-theme="light"] .chat-bubble.received {
    background: #f1f5f9;
    color: #334155;
}

[data-theme="light"] .chat-bubble-time {
    color: #94a3b8;
}

[data-theme="light"] .chat-input-bar {
    border-top-color: #e2e8f0;
}

[data-theme="light"] .chat-input-bar input {
    background: #f8fafc;
    border-color: #e2e8f0;
    color: #0f172a;
}

/* Projects & Documents */
[data-theme="light"] .project-item {
    background: #ffffff;
    border: 1px solid #e2e8f0;
}

[data-theme="light"] .project-info h4 {
    color: #0f172a;
}

[data-theme="light"] .status-badge {
    background: rgba(13, 147, 115, 0.08);
    color: #0d9373;
}

[data-theme="light"] .progress-bar {
    background: #e2e8f0;
}

[data-theme="light"] .doc-tab {
    border-color: #e2e8f0;
    color: #64748b;
}

[data-theme="light"] .doc-tab:hover {
    border-color: #cbd5e1;
    color: #0f172a;
}

[data-theme="light"] .doc-tab.active {
    border-color: #0d9373;
    color: #0d9373;
}

[data-theme="light"] .doc-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
}

[data-theme="light"] .doc-card:hover {
    border-color: rgba(13, 147, 115, 0.3);
    background: #f8fafc;
}

[data-theme="light"] .doc-card-info strong {
    color: #0f172a;
}

/* Profile form */
[data-theme="light"] .profile-form input {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    color: #0f172a;
}

[data-theme="light"] .form-divider {
    border-top-color: #e2e8f0;
}

/* Privacy notice */
[data-theme="light"] .privacy-notice {
    background: rgba(13, 147, 115, 0.04);
    border-color: rgba(13, 147, 115, 0.12);
    border-left-color: rgba(13, 147, 115, 0.4);
}

[data-theme="light"] .privacy-notice p {
    color: #475569;
}

[data-theme="light"] .privacy-notice svg {
    color: #0d9373;
}

[data-theme="light"] .privacy-notice a {
    color: #0d9373;
}

/* ============================================
   LEGAL PAGES
   ============================================ */

[data-theme="light"] .legal-page {
    background: #f8fafc;
}

[data-theme="light"] .legal-header h1 {
    color: #0f172a;
}

[data-theme="light"] .legal-subtitle {
    color: #64748b;
}

[data-theme="light"] .legal-section {
    background: #ffffff;
    border: 1px solid #e2e8f0;
}

[data-theme="light"] .legal-section h2 {
    color: #0f172a;
}

[data-theme="light"] .legal-section h3 {
    color: #1e293b;
}

[data-theme="light"] .legal-section p,
[data-theme="light"] .legal-section li {
    color: #475569;
}

[data-theme="light"] .legal-table th {
    background: #f1f5f9;
    color: #0f172a;
}

[data-theme="light"] .legal-table td {
    border-color: #e2e8f0;
    color: #475569;
}

[data-theme="light"] .legal-info-box {
    background: rgba(13, 147, 115, 0.04);
    border-color: rgba(13, 147, 115, 0.15);
}

/* "Torna al sito" button su pagine legali */
[data-theme="light"] .btn-back-home {
    color: #0d9373;
}

/* ============================================
   COOKIE BANNER
   ============================================ */

[data-theme="light"] .cookie-banner {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    box-shadow: 0 -4px 24px rgba(0, 0, 0, 0.1);
}

[data-theme="light"] .cookie-banner h3,
[data-theme="light"] .cookie-banner-text h3 {
    color: #0f172a;
}

[data-theme="light"] .cookie-banner p,
[data-theme="light"] .cookie-banner-text p {
    color: #475569;
}

[data-theme="light"] .cookie-banner a,
[data-theme="light"] .cookie-banner-text a {
    color: #0d9373;
}

[data-theme="light"] .cookie-banner-close {
    color: #64748b;
}

[data-theme="light"] .cookie-banner-close:hover {
    color: #0f172a;
    background: rgba(0, 0, 0, 0.05);
}

/* Cookie buttons */
[data-theme="light"] .cookie-btn-accept {
    background: #0d9373;
    color: #ffffff;
}

[data-theme="light"] .cookie-btn-accept:hover {
    background: #0b7d63;
}

[data-theme="light"] .cookie-btn-reject {
    background: transparent;
    color: #334155;
    border: 1px solid #cbd5e1;
}

[data-theme="light"] .cookie-btn-reject:hover {
    background: #f1f5f9;
    border-color: #94a3b8;
}

[data-theme="light"] .cookie-btn-settings {
    color: #64748b;
}

[data-theme="light"] .cookie-btn-settings:hover {
    color: #0f172a;
}

/* Cookie settings panel */
[data-theme="light"] .cookie-settings-panel {
    border-top: 1px solid #e2e8f0;
}

[data-theme="light"] .cookie-category {
    border-bottom-color: #e2e8f0;
}

[data-theme="light"] .cookie-category-info h4 {
    color: #0f172a;
}

[data-theme="light"] .cookie-category-info p {
    color: #64748b;
}

/* Cookie toggle switch */
[data-theme="light"] .cookie-toggle-slider {
    background: #cbd5e1;
}

[data-theme="light"] .cookie-toggle-slider::before {
    background: #ffffff;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);
}

[data-theme="light"] .cookie-toggle input:checked + .cookie-toggle-slider {
    background: #0d9373;
}

[data-theme="light"] .cookie-toggle input:disabled:checked + .cookie-toggle-slider {
    background: #0d9373;
    opacity: 0.6;
}

[data-theme="light"] .cookie-save-row {
    border-top-color: #e2e8f0;
}

/* ============================================
   CLIENT AREA — Chat WhatsApp-style
   In light mode: sfondo chiaro, bolle adattate
   ============================================ */

[data-theme="light"] .client-chat-layout {
    background: #f0f2f5;
    border: 1px solid #e2e8f0;
}

[data-theme="light"] .client-chat-header {
    background: #ffffff;
    border-bottom: 1px solid #e2e8f0;
}

[data-theme="light"] .chat-header-name {
    color: #0f172a;
}

[data-theme="light"] .chat-header-status {
    color: #64748b;
}

[data-theme="light"] .client-chat-thread {
    background: #efeae2;
}

[data-theme="light"] .client-chat-thread::-webkit-scrollbar-thumb {
    background: rgba(0, 0, 0, 0.15);
}

[data-theme="light"] .chat-bubble.received {
    background: #ffffff;
    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.06);
}

[data-theme="light"] .chat-bubble.sent {
    background: #d9fdd3;
    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.06);
}

[data-theme="light"] .chat-bubble p {
    color: #111b21;
}

[data-theme="light"] .chat-bubble .msg-time {
    color: rgba(0, 0, 0, 0.4);
}

[data-theme="light"] .chat-bubble.sent .msg-time {
    color: rgba(0, 0, 0, 0.45);
}

[data-theme="light"] .chat-bubble-subject {
    color: #0d9373;
}

[data-theme="light"] .chat-date-separator span {
    color: #54656f;
    background: #ffffff;
    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.08);
}

[data-theme="light"] .client-chat-compose {
    background: #ffffff;
    border-top: 1px solid #e2e8f0;
}

[data-theme="light"] .chat-compose-form textarea {
    background: #f0f2f5;
    color: #0f172a;
    border: 1px solid #e2e8f0;
}

[data-theme="light"] .chat-compose-form textarea::placeholder {
    color: #94a3b8;
}

[data-theme="light"] .chat-compose-form textarea:focus {
    border-color: #0d9373;
    box-shadow: 0 0 0 2px rgba(13, 147, 115, 0.1);
}

[data-theme="light"] .chat-send-btn {
    background: #0d9373;
}

[data-theme="light"] .chat-send-btn:hover {
    background: #0b7d63;
}

/* Client area dashboard */
[data-theme="light"] .client-stat-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}

[data-theme="light"] .client-stat-card .stat-icon {
    background: rgba(13, 147, 115, 0.08);
}

[data-theme="light"] .client-sidebar-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
}

[data-theme="light"] .client-nav-item {
    color: #64748b;
}

[data-theme="light"] .client-nav-item:hover {
    background: #f8fafc;
    color: #0f172a;
}

[data-theme="light"] .client-nav-item.active {
    background: rgba(13, 147, 115, 0.08);
    color: #0d9373;
}

/* Client documents and invoices tables */
[data-theme="light"] .client-table th {
    background: #f8fafc;
    color: #64748b;
}

[data-theme="light"] .client-table td {
    border-bottom-color: #f1f5f9;
}

[data-theme="light"] .client-table tr:hover {
    background: #f8fafc;
}

/* Empty state */
[data-theme="light"] .client-empty-state {
    color: #94a3b8;
}

/* ============================================
   STYLE.CSS — Override rgba(255,255,255,...) hardcoded
   Per showcase cards, trust badges, ecc. in style.css
   ============================================ */

[data-theme="light"] .showcase-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
}

[data-theme="light"] .showcase-card:hover {
    border-color: rgba(13, 147, 115, 0.3);
}

[data-theme="light"] .trust-badge {
    background: #ffffff;
    border: 1px solid #e2e8f0;
}

[data-theme="light"] .trust-badge-icon {
    background: rgba(13, 147, 115, 0.08);
}

[data-theme="light"] .contact-info h2 {
    color: #0f172a;
}

[data-theme="light"] .contact-info > p {
    color: #475569;
}

[data-theme="light"] .contact-method-text h4 {
    color: #0f172a;
}

[data-theme="light"] .contact-method-text p,
[data-theme="light"] .contact-method-text a {
    color: #64748b;
}

[data-theme="light"] .contact-method-text a:hover {
    color: #0d9373;
}

/* ============================================
   FOOTER (resta SEMPRE dark — design scelta)
   ============================================ */

[data-theme="light"] .footer {
    background: #0f172a;
    border-top: 1px solid rgba(100, 255, 218, 0.1);
}

[data-theme="light"] .footer .logo {
    color: #ffffff;
}

[data-theme="light"] .footer .logo-icon::before {
    background: #0f172a;
}

[data-theme="light"] .footer h4 {
    color: #ffffff;
}

[data-theme="light"] .footer-brand p {
    color: #94a3b8;
}

[data-theme="light"] .footer-column h4 {
    color: #ffffff;
}

[data-theme="light"] .footer-links a {
    color: #94a3b8;
}

[data-theme="light"] .footer-links a:hover {
    color: #64ffda;
}

[data-theme="light"] .footer-bottom p {
    color: #64748b;
}

[data-theme="light"] .footer-legal a {
    color: #64748b;
}

[data-theme="light"] .footer-legal a:hover {
    color: #64ffda;
}

[data-theme="light"] .social-link {
    background: rgba(100, 255, 218, 0.1);
    color: #cbd5e1;
}

[data-theme="light"] .social-link:hover {
    background: #64ffda;
    color: #0f172a;
}

/* ============================================
   SCROLLBAR
   ============================================ */

[data-theme="light"] ::-webkit-scrollbar-track {
    background: #f1f5f9;
}

[data-theme="light"] ::-webkit-scrollbar-thumb {
    background: #cbd5e1;
}

[data-theme="light"] ::-webkit-scrollbar-thumb:hover {
    background: #94a3b8;
}

/* ============================================
   THEME TOGGLE BUTTON
   ============================================ */

.theme-toggle {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: var(--radius-lg);
    background: rgba(100, 255, 218, 0.1);
    border: 1px solid rgba(100, 255, 218, 0.15);
    cursor: pointer;
    transition: all 0.3s ease;
    flex-shrink: 0;
    position: relative;
}

.theme-toggle:hover {
    background: rgba(100, 255, 218, 0.2);
    border-color: rgba(100, 255, 218, 0.3);
    transform: scale(1.05);
}

.theme-toggle svg {
    width: 20px;
    height: 20px;
    transition: all 0.3s ease;
}

.theme-toggle .icon-sun {
    color: #fbbf24;
    display: block;
}

.theme-toggle .icon-moon {
    display: none;
    color: #7c3aed;
}

[data-theme="light"] .theme-toggle {
    background: rgba(124, 58, 237, 0.08);
    border-color: rgba(124, 58, 237, 0.15);
}

[data-theme="light"] .theme-toggle:hover {
    background: rgba(124, 58, 237, 0.15);
    border-color: rgba(124, 58, 237, 0.3);
}

[data-theme="light"] .theme-toggle .icon-sun {
    display: none;
}

[data-theme="light"] .theme-toggle .icon-moon {
    display: block;
}

/* Footer toggle — resta in stile dark */
[data-theme="light"] .footer .theme-toggle {
    background: rgba(100, 255, 218, 0.1);
    border-color: rgba(100, 255, 218, 0.15);
}

/* ============================================
   SMOOTH TRANSITIONS
   ============================================ */

body,
.navbar,
.service-card,
.feature-card,
.pricing-card,
.hero-stat,
.faq-item,
.contact-form-wrapper,
.form-group input,
.form-group textarea,
.form-group select,
.auth-panel,
.auth-tabs,
.legal-section,
.cookie-banner,
.quote-cta-card,
.benefit-item,
.step-card,
.contact-method,
.stat-card,
.project-item,
.doc-card {
    transition: background-color 0.4s ease, color 0.4s ease, border-color 0.4s ease, box-shadow 0.4s ease;
}
