/* ==========================================================================
   Dark mode — site-wide contrast & legacy content fixes
   Loaded after theme CSS; uses tokens from main.css
   ========================================================================== */

/* Article / Elementor migrated content with inline colors */
[data-theme="dark"] .entry-content p[style*="color"],
[data-theme="dark"] .entry-content li[style*="color"],
[data-theme="dark"] .entry-content td[style*="color"],
[data-theme="dark"] .entry-content th[style*="color"],
[data-theme="dark"] .entry-content h1[style*="color"],
[data-theme="dark"] .entry-content h2[style*="color"],
[data-theme="dark"] .entry-content h3[style*="color"],
[data-theme="dark"] .entry-content h4[style*="color"],
[data-theme="dark"] .entry-content h5[style*="color"],
[data-theme="dark"] .entry-content h6[style*="color"],
[data-theme="dark"] .entry-content div[style*="color"]:not(.elementor-button-wrapper),
[data-theme="dark"] .entry-content span[style*="color"]:not(.elementor-button-text) {
    color: var(--color-text) !important;
}

[data-theme="dark"] .entry-content [style*="background: white"],
[data-theme="dark"] .entry-content [style*="background:#fff"],
[data-theme="dark"] .entry-content [style*="background: #fff"],
[data-theme="dark"] .entry-content [style*="background-color: white"],
[data-theme="dark"] .entry-content [style*="background-color:#fff"],
[data-theme="dark"] .entry-content [style*="background-color: #fff"],
[data-theme="dark"] .entry-content [style*="background: #f8fafc"],
[data-theme="dark"] .entry-content [style*="background: #f0f9ff"],
[data-theme="dark"] .entry-content [style*="background: #e0f2fe"] {
    background: var(--color-surface-2) !important;
    color: var(--color-text) !important;
}

[data-theme="dark"] .entry-content [style*="background: linear-gradient"][style*="f0f9ff"],
[data-theme="dark"] .entry-content [style*="background: linear-gradient"][style*="e0f2fe"] {
    background: var(--color-surface-2) !important;
    border-color: var(--color-border) !important;
}

/* Shared status / alert surfaces */
[data-theme="dark"] .app-toast.error,
[data-theme="dark"] .ts-tool .lac-error,
[data-theme="dark"] .ts-tool .suc-error,
[data-theme="dark"] .ts-tool .adj-error,
[data-theme="dark"] .ts-tool .fmb-error,
[data-theme="dark"] .ts-tool .cac-error,
[data-theme="dark"] #appView.ts-notice-tool .generation-error {
    background: var(--color-error-bg) !important;
    border-color: var(--color-error-border) !important;
    color: var(--color-error) !important;
}

[data-theme="dark"] .app-toast.success,
[data-theme="dark"] #appView.ts-notice-tool .success-message {
    background: var(--color-success-bg) !important;
    border-color: var(--color-success-border) !important;
    color: var(--color-success) !important;
}

[data-theme="dark"] .app-toast.warning {
    background: var(--color-warning-bg) !important;
    border-color: var(--color-warning-border) !important;
    color: var(--color-warning) !important;
}

[data-theme="dark"] .app-toast.info {
    background: var(--color-info-bg) !important;
    border-color: var(--color-info-border) !important;
    color: var(--color-info) !important;
}

[data-theme="dark"] .ts-tool-disclaimer,
[data-theme="dark"] .ts-tool .pbc-disclaimer {
    background: var(--color-warning-bg) !important;
    border-color: var(--color-warning-border) !important;
    color: var(--color-text) !important;
}

[data-theme="dark"] .ts-tool-disclaimer__title,
[data-theme="dark"] .ts-tool-disclaimer__clear,
[data-theme="dark"] .ts-tool .pbc-disclaimer__title {
    color: var(--color-warning) !important;
}

[data-theme="dark"] .ts-tool-disclaimer__clear {
    background: var(--color-surface) !important;
    border-color: var(--color-warning-border) !important;
}

[data-theme="dark"] .ts-tool-disclaimer__clear:hover {
    background: var(--color-surface-2) !important;
}

/* Report form feedback */
[data-theme="dark"] .ts-report__status.is-success,
[data-theme="dark"] .ts-report__email-verified .fa-check-circle,
[data-theme="dark"] .contact-report-notice--success {
    color: var(--color-success) !important;
}

[data-theme="dark"] .ts-report__status.is-error,
[data-theme="dark"] .ts-report__required,
[data-theme="dark"] .contact-report-notice--error {
    color: var(--color-error) !important;
}

[data-theme="dark"] .ts-report__email-verified,
[data-theme="dark"] .contact-report-notice--success {
    background: var(--color-success-bg) !important;
    border-color: var(--color-success-border) !important;
}

[data-theme="dark"] .contact-report-notice--error {
    background: var(--color-error-bg) !important;
    border-color: var(--color-error-border) !important;
}

[data-theme="dark"] .ts-tool .survey-result-error,
[data-theme="dark"] .ts-tool .fmb-btn--danger:hover,
[data-theme="dark"] .ts-tool .calc-btn--danger:hover,
[data-theme="dark"] .ts-tool .adj-btn--danger:hover,
[data-theme="dark"] .ts-tool .delete-button:hover {
    background: var(--color-error-bg) !important;
    color: var(--color-error) !important;
    border-color: var(--color-error-border) !important;
}

[data-theme="dark"] .ts-tool .pbc-app .pbc-disclaimer__icon,
[data-theme="dark"] .ts-tool .pbc-app .pbc-disclaimer__text h3 {
    color: var(--color-warning) !important;
}

/* Tool hover / soft fills */
[data-theme="dark"] .off-canvas-nav a:hover,
[data-theme="dark"] .off-canvas-nav .current a {
    background: var(--color-primary-soft);
}

[data-theme="dark"] #appView.ts-notice-tool .upload-zone:hover,
[data-theme="dark"] #appView.ts-notice-tool .upload-zone.dragover,
[data-theme="dark"] #appView.ts-notice-tool .btn-outline:hover:not(:disabled),
[data-theme="dark"] .ts-tool .gis-suite-nav a:hover,
[data-theme="dark"] .ts-tool .gis-help-btn:hover,
[data-theme="dark"] .ts-tool .suc-help-link:hover,
[data-theme="dark"] .ts-tool .adj-help-link:hover,
[data-theme="dark"] .ts-tool .lac-help-link:hover {
    background: var(--color-primary-soft);
}

[data-theme="dark"] .ts-tool input:focus,
[data-theme="dark"] .ts-tool select:focus,
[data-theme="dark"] .ts-tool textarea:focus {
    box-shadow: 0 0 0 3px rgba(63, 184, 164, 0.2);
}

/* Accent highlights in tools */
[data-theme="dark"] .ts-tool .adj-format-tag--child,
[data-theme="dark"] .ts-tool .adj-format-rsr-ref,
[data-theme="dark"] .ts-tool .adj-format-val--child,
[data-theme="dark"] .ts-tool .adj-child-row .adj-format-val,
[data-theme="dark"] .ts-tool .adj-rsr-link {
    color: var(--color-accent);
}

[data-theme="dark"] .ts-tool .adj-format-tag--child,
[data-theme="dark"] .ts-tool .adj-child-panel {
    background: var(--color-accent-soft);
}

[data-theme="dark"] .ts-tool .suc-warn,
[data-theme="dark"] .ts-tool .lac-warn {
    color: var(--color-warning);
}

/* GIS map labels & panels */
[data-theme="dark"] .ts-tool .map-label--dist {
    color: var(--color-text) !important;
    border-color: var(--color-border) !important;
}

[data-theme="dark"] .ts-tool .gis-warn-chip {
    color: var(--color-warning);
}

[data-theme="dark"] .ts-tool .gis-panel-muted,
[data-theme="dark"] .ts-tool .gis-attr-empty {
    color: var(--color-text-muted);
}

/* JS-injected help UI (legacy notice tools) */
[data-theme="dark"] .help-header-bar {
    background: var(--color-surface) !important;
    border-color: var(--color-border) !important;
    box-shadow: var(--shadow-sm) !important;
}

[data-theme="dark"] .help-header-title {
    color: var(--color-text) !important;
}

[data-theme="dark"] .help-static-btn {
    background: linear-gradient(135deg, var(--color-surface-2) 0%, var(--color-surface) 100%) !important;
    color: var(--color-text) !important;
    border: 1px solid var(--color-border) !important;
}

[data-theme="dark"] .help-modal-content {
    background: var(--color-surface) !important;
    color: var(--color-text) !important;
}

[data-theme="dark"] .help-header,
[data-theme="dark"] .help-footer {
    background: var(--color-surface-2) !important;
    border-color: var(--color-divider) !important;
}

[data-theme="dark"] .help-header h3,
[data-theme="dark"] .help-body,
[data-theme="dark"] .help-body strong,
[data-theme="dark"] .help-body p {
    color: var(--color-text) !important;
}

[data-theme="dark"] .close-help-btn {
    color: var(--color-text-muted) !important;
}

[data-theme="dark"] .step-badge {
    background: var(--color-surface) !important;
    border: 1px solid var(--color-border) !important;
    color: var(--color-primary) !important;
}

/* Form-1 memo sheet stays print-white; only chrome around it adapts */
[data-theme="dark"] #previewModal .preview-modal-body:has(#previewMemoContent) {
    background: var(--color-bg);
}

[data-theme="dark"] #appView.ts-notice-tool--form1 .form1-doc-sheet,
[data-theme="dark"] #previewMemoContent .form1-memo-page {
    background: #fff;
    color: #000;
}

/* Landing CTA light buttons on dark hero gradients */
[data-theme="dark"] .ts-home-cta .ts-home-btn--light,
[data-theme="dark"] .ts-tk-btn--light,
[data-theme="dark"] .ts-sv-btn--light,
[data-theme="dark"] .ts-gis-btn--light,
[data-theme="dark"] .ts-xpl-btn--light,
[data-theme="dark"] .ts-rs-btn--light {
    background: var(--color-surface);
    color: var(--color-primary);
}

[data-theme="dark"] .ts-home-cta .ts-home-btn--light:hover,
[data-theme="dark"] .ts-home-cta .ts-home-btn--light:focus-visible,
[data-theme="dark"] .ts-tk-btn--light:hover,
[data-theme="dark"] .ts-sv-btn--light:hover,
[data-theme="dark"] .ts-gis-btn--light:hover,
[data-theme="dark"] .ts-xpl-btn--light:hover,
[data-theme="dark"] .ts-rs-btn--light:hover {
    background: var(--color-surface-2);
    color: var(--color-primary-hover);
}

[data-theme="dark"] .ts-404__btn--primary {
    background: var(--color-surface);
    color: var(--color-primary);
}

