:root {
    color-scheme: dark;
    --way-page: #1E1F27;
    --way-surface: #292B34;
    --way-surface-soft: #333640;
    --way-text: #F7F8F7;
    --way-muted: #B3BAC1;
    --way-border: rgba(255, 255, 255, 0.14);
    --way-accent: #43E456;
}

html[data-theme="light"] {
    color-scheme: light;
    --way-page: #F4F6F3;
    --way-surface: #FFFFFF;
    --way-surface-soft: #E9EEE9;
    --way-text: #202923;
    --way-muted: #536057;
    --way-border: rgba(32, 41, 35, 0.16);
    --way-accent: #19743A;
}

html[data-theme="light"] body,
html[data-theme="light"] .gallery-page {
    background: var(--way-page) !important;
    background-image: none !important;
    color: var(--way-text) !important;
}

html[data-theme="light"] .navbar.scrolled {
    background: rgba(255, 255, 255, 0.94) !important;
    box-shadow: 0 2px 14px rgba(26, 42, 30, 0.12) !important;
}

html[data-theme="light"] .nav-link,
html[data-theme="light"] .menu-toggle {
    color: var(--way-muted) !important;
}

html[data-theme="light"] .nav-link:hover,
html[data-theme="light"] .menu-toggle:hover {
    color: var(--way-accent) !important;
    background: var(--way-surface-soft) !important;
}

html[data-theme="light"] .nav-link.active {
    background: var(--way-accent) !important;
    color: #FFFFFF !important;
    box-shadow: none !important;
}

html[data-theme="light"] h1,
html[data-theme="light"] h2,
html[data-theme="light"] h3,
html[data-theme="light"] h4,
html[data-theme="light"] .hero-title,
html[data-theme="light"] .section-header,
html[data-theme="light"] .card-title-icon,
html[data-theme="light"] .gallery-header h1 {
    color: var(--way-text) !important;
    text-shadow: none !important;
}

html[data-theme="light"] .highlight,
html[data-theme="light"] .heading-green,
html[data-theme="light"] .heading-green-center,
html[data-theme="light"] .gallery-details svg {
    color: var(--way-accent) !important;
    text-shadow: none !important;
}

html[data-theme="light"] p,
html[data-theme="light"] li,
html[data-theme="light"] label,
html[data-theme="light"] .hero-subtitle,
html[data-theme="light"] .section-header p,
html[data-theme="light"] .text-white,
html[data-theme="light"] .text-secondary,
html[data-theme="light"] .gallery-info,
html[data-theme="light"] .gallery-details span,
html[data-theme="light"] .footer-info,
html[data-theme="light"] .footer-contact,
html[data-theme="light"] .project-description {
    color: var(--way-muted) !important;
}

html[data-theme="light"] .card,
html[data-theme="light"] .glassmorphism,
html[data-theme="light"] .project-card,
html[data-theme="light"] .project-filters,
html[data-theme="light"] .info-card,
html[data-theme="light"] .denuncia-form,
html[data-theme="light"] .contact-form-wrapper,
html[data-theme="light"] .contact-info-card,
html[data-theme="light"] .faq-item,
html[data-theme="light"] .map-card,
html[data-theme="light"] .timeline-content,
html[data-theme="light"] .feature-card,
html[data-theme="light"] .service-card,
html[data-theme="light"] .gallery-item {
    background: var(--way-surface) !important;
    color: var(--way-text) !important;
    border-color: var(--way-border) !important;
    box-shadow: 0 4px 18px rgba(28, 44, 32, 0.06) !important;
}

html[data-theme="light"] .faq-question {
    color: var(--way-text) !important;
}

html[data-theme="light"] .faq-question:hover {
    background: var(--way-surface-soft) !important;
}

html[data-theme="light"] .faq-question svg {
    stroke: var(--way-accent) !important;
}

html[data-theme="light"] .footer {
    background: #E9EEE9 !important;
    color: var(--way-text) !important;
}

html[data-theme="light"] .footer a,
html[data-theme="light"] .contact-item-content a {
    color: var(--way-accent) !important;
}

html[data-theme="light"] input,
html[data-theme="light"] textarea,
html[data-theme="light"] select {
    background: #FFFFFF !important;
    color: var(--way-text) !important;
    border-color: var(--way-border) !important;
}

html[data-theme="light"] input::placeholder,
html[data-theme="light"] textarea::placeholder {
    color: #707B73 !important;
}

html[data-theme="light"] .tag,
html[data-theme="light"] .badge {
    background: #E3F2E6 !important;
    color: #185D30 !important;
    border-color: rgba(25, 116, 58, 0.2) !important;
}

html[data-theme="light"] .denuncia-hero {
    background: #E9EEE9 !important;
}

html[data-theme="light"] .denuncia-hero .hero-subtitle,
html[data-theme="light"] .denuncia-hero h1 {
    color: var(--way-text) !important;
}

html[data-theme="light"] .lightbox {
    background: rgba(10, 12, 12, 0.94) !important;
}

.theme-toggle {
    position: relative;
    z-index: 2;
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    flex: 0 0 48px;
    margin: 0 0.5rem;
    border: 1px solid rgba(255, 255, 255, 0.24);
    border-radius: 50%;
    background: #292B34;
    color: #FFFFFF;
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.2);
    cursor: pointer;
    touch-action: manipulation;
}

.nav-container .theme-toggle {
    margin-left: auto;
}

.nav-container .whatsapp-float,
.nav-container .phone-float {
    position: relative;
    inset: auto;
    display: flex !important;
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    margin: 0 0.5rem 0 0;
    box-shadow: none;
    animation: none !important;
}

.nav-container .whatsapp-float svg,
.nav-container .phone-float svg {
    width: 22px;
    height: 22px;
}

.theme-toggle-in-page-nav {
    position: absolute;
    top: 12px;
    right: 12px;
    margin: 0;
}

.page-navigation .whatsapp-nav-action {
    position: absolute;
    top: 12px;
    right: 64px;
    width: 44px;
    height: 44px;
    box-shadow: none;
    animation: none !important;
}

html[data-theme="light"] .theme-toggle {
    background: #FFFFFF;
    color: #26332A;
    border-color: rgba(32, 41, 35, 0.2);
}

.theme-toggle svg {
    width: 22px;
    height: 22px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.theme-toggle:focus-visible {
    outline: 3px solid #43E456;
    outline-offset: 3px;
}

.particles-container {
    display: none !important;
}

.whatsapp-float {
    animation: none !important;
}

.hero-kicker {
    margin-bottom: 1rem;
    color: var(--way-accent);
    font-size: 0.82rem;
    font-weight: 700;
}

.hero-title {
    max-width: 900px;
    margin-inline: auto;
}

.hero-subtitle {
    max-width: 66ch;
    margin-inline: auto;
}

.hero-proof {
    max-width: 68ch;
    margin: 1.25rem auto 0;
    color: var(--way-muted);
    font-size: 0.95rem;
}

.hero-certifications {
    display: inline-block;
    margin-top: 1.5rem;
    padding-top: 0.9rem;
    border-top: 1px solid var(--way-border);
    color: var(--way-muted);
    font-size: 0.8rem;
}

.section-header {
    max-width: 68ch;
    margin-inline: auto;
}

.gallery-info {
    text-align: left !important;
}

.card,
.glassmorphism,
.project-card,
.project-filters,
.info-card,
.faq-item,
.map-card,
.contact-info-card,
.service-card,
.feature-card {
    border-radius: 8px !important;
}

@media (max-width: 600px) {
    .theme-toggle {
        width: 44px;
        height: 44px;
        flex-basis: 44px;
    }
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}
