/**
 * Light theme — attivato con body.active (toggle header).
 * Il tema scuro di default non viene modificato.
 */

body.active,
html.theme-light-pending body {
    --surface-page: #f4f4f6;
    --surface-card: #ffffff;
    --surface-muted: #ebebef;
    --surface-elevated: #ffffff;
    --text-primary: #141418;
    --text-secondary: #3d3d46;
    --text-muted: #666670;
    --text-on-dark: #ffffff;
    --border-subtle: rgba(20, 20, 24, 0.1);
    --border-strong: rgba(20, 20, 24, 0.16);
    --input-bg: #f7f7fa;
    --input-text: #141418;
    --input-border: rgba(20, 20, 24, 0.18);
    --input-placeholder: #868690;
    --accent: #9a0000;
    --accent-glow: rgba(154, 0, 0, 0.22);
    --sfondo-intero: var(--surface-page);
    --primary-color: var(--text-primary);
    --sfondo-intero_2: var(--surface-page);
    --primary-color_2: var(--text-primary);
    background-color: var(--surface-page);
    color: var(--text-primary);
}

html.theme-light-pending .main-navigation {
    background-color: var(--surface-page);
    color: var(--text-primary);
    border-bottom-color: var(--border-subtle);
}

/* Header e navigazione */
body.active .main-navigation {
    background-color: var(--surface-page);
    color: var(--text-primary);
    border-bottom-color: var(--border-subtle);
}

body.active .skip-link {
    background-color: var(--text-primary);
    color: var(--surface-page);
    border-color: var(--border-strong);
}

/* Footer */
body.active .site-footer {
    background: linear-gradient(180deg, #ececee 0%, #e2e2e6 100%);
    color: var(--text-primary);
    border-top-color: var(--border-subtle);
}

body.active .site-footer__bar {
    background-color: #d8d8dc;
    border-top-color: var(--border-subtle);
    color: var(--text-primary);
}

body.active .site-footer__social-link {
    border-color: var(--border-subtle);
    background: rgba(255, 255, 255, 0.72);
}

body.active .site-footer__social-link:hover {
    background: #ffffff;
}

/* CTA — restano scuri con testo chiaro (buon contrasto su sfondo chiaro) */
body.active .cta,
body.active button.cta {
    background-color: #141418;
    color: #ffffff;
    border-color: rgba(20, 20, 24, 0.2);
}

body.active .cta:hover,
body.active button.cta:hover {
    background-color: #ffffff;
    color: #141418;
    border-color: var(--accent);
}

/* Homepage — schede e tabelle */
body.active .contenitore_terzo .contenitore-tabelle .tabella {
    background-color: var(--surface-card);
    color: var(--text-primary);
    border-color: var(--border-subtle);
    box-shadow: 0 8px 28px rgba(20, 20, 24, 0.08);
}

body.active .contenitore_dei_servizi .contenitore_primario .contenitore-schede .spostamento .contenitore-scheda {
    background-color: var(--surface-card);
    border: 1px solid var(--border-subtle);
    box-shadow: 0 6px 24px rgba(20, 20, 24, 0.06);
}

body.active .contenitore_dei_servizi .contenitore_primario .contenitore-schede .spostamento .contenitore-scheda .contenitore-scheda-svg,
body.active .contenitore_dei_servizi .contenitore_primario .contenitore-schede .spostamento .contenitore-scheda img.contenitore-scheda-svg {
    fill: #141418;
}

/* Servizi */
body.active main .contenitore-servizi .contenitore-servizi_figlio {
    background-color: var(--surface-card);
    color: var(--text-primary);
    border-color: var(--border-subtle);
}

body.active main .contenitore-servizi .contenitore-servizi_figlio:hover {
    background-color: var(--surface-muted);
    color: var(--text-primary);
}

body.active .servizi-metriche__card {
    background-color: var(--surface-card);
    color: var(--text-primary);
    border-color: var(--border-subtle);
}

/* Portfolio cards */
body.active .portfolio-card {
    background-color: var(--surface-card);
    border-color: var(--border-subtle);
}

body.active .portfolio-card__title {
    color: var(--text-primary);
}

body.active .portfolio-card__tipo {
    color: var(--text-secondary);
}

body.active .portfolio-card__date {
    color: var(--text-secondary);
}

body.active .portfolio-card__tags li {
    color: var(--text-secondary);
}

body.active .tema-card {
    background-color: var(--surface-card);
    border-color: var(--border-subtle);
}

body.active .tema-card__title,
body.active .tema-card__price {
    color: var(--text-primary);
}

body.active .tema-card__description {
    color: var(--text-secondary);
}

body.active .tema-card__features li {
    color: var(--text-secondary);
}

/* Pagine legali */
body.active .legal-page__hero {
    border-bottom-color: var(--border-subtle);
}

body.active .legal-page__toc {
    background-color: var(--surface-card);
    border-color: var(--border-subtle);
    color: var(--text-primary);
}

body.active .legal-table-wrap {
    border-color: var(--border-subtle);
    background: var(--surface-card);
}

body.active .legal-table th,
body.active .legal-table td {
    color: var(--text-primary);
    border-bottom-color: var(--border-subtle);
}

/* ------------------------------------------------------------------
   Form contatti — fix contrasto (testo hero bianco su card bianca)
   ------------------------------------------------------------------ */
body.active .page-hero__aside .contatti-form {
    color: var(--text-primary);
    background-color: var(--surface-elevated);
    border: 1px solid var(--border-strong);
    box-shadow: 0 16px 40px rgba(20, 20, 24, 0.12);
}

body.active .page-hero__aside .contatti-form__intro,
body.active .page-hero__aside .mio-contact-form__field label,
body.active .page-hero__aside .mio-contact-form__checkbox-label {
    color: var(--text-primary);
}

body.active .mio-contact-form__field input[type="text"],
body.active .mio-contact-form__field input[type="email"],
body.active .mio-contact-form__field input[type="tel"],
body.active .mio-contact-form__field textarea,
body.active .page-hero__aside .mio-contact-form__field input[type="text"],
body.active .page-hero__aside .mio-contact-form__field input[type="email"],
body.active .page-hero__aside .mio-contact-form__field input[type="tel"],
body.active .page-hero__aside .mio-contact-form__field textarea {
    background-color: var(--input-bg);
    color: var(--input-text);
    border-color: var(--input-border);
}

body.active .mio-contact-form__field input::placeholder,
body.active .mio-contact-form__field textarea::placeholder {
    color: var(--input-placeholder);
    opacity: 1;
}

body.active .mio-contact-form__checkbox-label input[type="checkbox"] {
    border-color: var(--input-border);
    background-color: var(--input-bg);
}

body.active .contatti-form__notice--success {
    color: #5c0000;
    background: rgba(154, 0, 0, 0.08);
    border-color: rgba(154, 0, 0, 0.28);
}

body.active .contatti-form__notice--error {
    color: #7a1010;
    background: rgba(180, 40, 40, 0.08);
    border-color: rgba(180, 40, 40, 0.28);
}

body.active .mio-contact-form__checkbox-label a {
    color: var(--accent);
}
