/* ================================
   20 - DARK THEME OVERRIDES
   Override mirati per colori hardcoded che non usano variabili CSS.
   Tutte le regole prefissate con [data-theme="dark"].
   Le variabili semantiche in 00-variables.css coprono il 70% del lavoro;
   questo file corregge gli elementi che usano hex fissi.
   ================================ */

/* ---------------------------------------------------
   GLOBALI — body, input, select, scrollbar
   --------------------------------------------------- */
[data-theme="dark"] body {
    background-color: var(--bg-primary);
    color: var(--text-primary);
}

[data-theme="dark"] input,
[data-theme="dark"] textarea,
[data-theme="dark"] select {
    background: var(--surface);
    color: var(--text-primary);
    border-color: var(--border-light);
}

[data-theme="dark"] input::placeholder,
[data-theme="dark"] textarea::placeholder {
    color: var(--text-muted);
}

[data-theme="dark"] ::-webkit-scrollbar-track {
    background: var(--surface);
}
[data-theme="dark"] ::-webkit-scrollbar-thumb {
    background: var(--border-light);
    border-radius: 4px;
}
[data-theme="dark"] ::-webkit-scrollbar-thumb:hover {
    background: #475569;
}

/* ---------------------------------------------------
   19-lab.css — Pannello sinistro e workspace
   --------------------------------------------------- */
[data-theme="dark"] .lab-left-panel {
    background: var(--surface-card);
    border-right-color: var(--border-light);
}

[data-theme="dark"] .lab-panel-header {
    background: var(--surface);
    border-bottom: 1px solid var(--border-light);
}

[data-theme="dark"] .lab-title h2,
[data-theme="dark"] .lab-title {
    color: var(--text-primary);
}

[data-theme="dark"] .new-chat-btn {
    background: var(--surface);
    border-color: var(--border-light);
    color: var(--text-secondary);
}

[data-theme="dark"] .lab-right-workspace {
    background: var(--bg-primary);
}

/* workspace-map-area: 19-lab.css riga 442 imposta background: #f1f5f9 (light gray)
   che sovrascrive il dark blue di 16-map.css. Override esplicito necessario. */
[data-theme="dark"] .workspace-map-area {
    background: var(--bg-primary);
    border-bottom-color: var(--border-light);
}

/* map-placeholder: 19-lab.css riga 467 imposta background: #f8fafc */
[data-theme="dark"] .map-placeholder {
    background: var(--bg-primary);
    color: var(--text-muted);
}

[data-theme="dark"] .workspace-table-area {
    background: var(--surface-card);
    border-top-color: var(--border-light);
}

[data-theme="dark"] .workspace-table-header {
    background: var(--surface);
    border-bottom-color: var(--border-light);
}

[data-theme="dark"] .workspace-table-header h3 {
    color: var(--text-primary);
}

[data-theme="dark"] .table-action-btn {
    background: var(--surface-card);
    border-color: var(--border-light);
    color: var(--text-secondary);
}

[data-theme="dark"] .table-action-btn:hover {
    background: var(--surface);
}

/* Suggestion pills nella welcome screen */
[data-theme="dark"] .lab-welcome .suggestion-pill {
    background: var(--surface-card);
    border-color: var(--border-light);
}

[data-theme="dark"] .lab-welcome .suggestion-pill:hover {
    background: var(--surface);
    border-color: rgba(0, 168, 232, 0.4);
}

[data-theme="dark"] .lab-welcome .pill-text {
    color: var(--text-primary);
}

[data-theme="dark"] .lab-welcome .pill-text small {
    color: var(--text-muted);
}

/* Welcome input bar nel lab */
[data-theme="dark"] .lab-welcome .welcome-input-bar {
    background: var(--surface-card);
    border-color: var(--border-light);
}

[data-theme="dark"] .lab-welcome .welcome-input-bar:focus-within {
    border-color: var(--primary-sky);
}

/* Itinerary matrix / table */
[data-theme="dark"] .itinerary-matrix-container {
    background: var(--surface-card);
}

[data-theme="dark"] .matrix-day-col {
    background: var(--surface);
    border-color: var(--border-light);
}

[data-theme="dark"] .matrix-day-header {
    background: var(--surface);
    border-bottom-color: var(--border-light);
    color: var(--text-primary);
}

[data-theme="dark"] .matrix-cell {
    background: var(--surface-card);
    border-color: var(--border-light);
}

[data-theme="dark"] .matrix-cell:hover {
    background: var(--surface);
}

[data-theme="dark"] .activity-card {
    background: var(--surface-card);
    border-color: var(--border-light);
    color: var(--text-primary);
}

[data-theme="dark"] .activity-card:hover {
    background: var(--surface);
}

/* Map placeholder */
[data-theme="dark"] .map-placeholder {
    background: var(--surface);
    color: var(--text-muted);
}

/* ---------------------------------------------------
   05-chat.css — Messaggi e container chat
   --------------------------------------------------- */
[data-theme="dark"] .chat-section {
    background: linear-gradient(to bottom, var(--bg-primary), var(--surface-card));
}

[data-theme="dark"] .chat-container {
    background: var(--surface-card);
    border-color: var(--border-light);
}

[data-theme="dark"] .chat-header {
    background: var(--surface);
    border-bottom-color: var(--border-light);
}

[data-theme="dark"] .ai-message .message-content,
[data-theme="dark"] .lab-left-panel .ai-message .message-content {
    background: var(--surface);
    border-color: var(--border-light);
    color: var(--text-primary);
}

/* Welcome screen dentro chat.html */
[data-theme="dark"] .welcome-screen {
    background: transparent;
}

[data-theme="dark"] .suggestion-pill {
    background: var(--surface-card);
    border-color: var(--border-light);
    color: var(--text-primary);
}

[data-theme="dark"] .suggestion-pill:hover {
    background: var(--surface);
    border-color: rgba(0, 168, 232, 0.4);
}

[data-theme="dark"] .welcome-input-bar {
    background: var(--surface-card);
    border-color: var(--border-light);
}

[data-theme="dark"] .welcome-input-bar:focus-within {
    border-color: var(--primary-sky);
}

/* Chat input area */
[data-theme="dark"] .chat-input-area,
[data-theme="dark"] .chat-input-wrapper {
    background: var(--surface-card);
    border-top-color: var(--border-light);
}

/* ---------------------------------------------------
   13-trips.css — Schede viaggi
   --------------------------------------------------- */
[data-theme="dark"] .trip-card {
    background: var(--surface-card);
    border: 1px solid var(--border-light);
}

[data-theme="dark"] .trip-card-body {
    background: var(--surface-card);
}

[data-theme="dark"] .trip-card-destination {
    color: var(--text-primary);
}

[data-theme="dark"] .trip-card-dates {
    color: var(--text-muted);
}

[data-theme="dark"] .trip-card-actions {
    background: var(--surface);
    border-top-color: var(--border-light);
}

[data-theme="dark"] .trips-empty-state {
    color: var(--text-muted);
}

/* ---------------------------------------------------
   18-landing.css — Sezioni landing page
   --------------------------------------------------- */

/* Step/process cards con background bianco */
[data-theme="dark"] .step-card,
[data-theme="dark"] .step-content {
    background: var(--surface-card);
    border-color: var(--border-light);
}

[data-theme="dark"] .step-number {
    background: var(--surface);
    color: var(--text-muted);
    border-color: var(--border-light);
}

/* Timeline items */
[data-theme="dark"] .timeline-item-content,
[data-theme="dark"] .mmc-card {
    background: var(--surface-card);
    border-color: var(--border-light);
}

[data-theme="dark"] .mmc-time.morning  { background: #2d2415; color: #fbbf24; }
[data-theme="dark"] .mmc-time.afternoon { background: #2d1a0e; color: #fb923c; }
[data-theme="dark"] .mmc-time.evening  { background: #1e1a2e; color: #a78bfa; }

/* Features list items */
[data-theme="dark"] .feature-item,
[data-theme="dark"] .feature-card {
    background: var(--surface-card);
    border-color: var(--border-light);
}

/* Agent cards — usano già var(--surface-card), ma border override */
[data-theme="dark"] .agent-card {
    border-color: var(--border-light);
}

/* Pricing cards */
[data-theme="dark"] .pricing-card {
    background: var(--surface-card);
    border-color: var(--border-light);
}

[data-theme="dark"] .pricing-card.featured {
    border-color: var(--primary-sky);
}

[data-theme="dark"] .pricing-feature {
    color: var(--text-secondary);
    border-bottom-color: var(--border-lighter);
}

/* Testimonials */
[data-theme="dark"] .testimonial-card {
    background: var(--surface-card);
    border-color: var(--border-light);
}

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

/* Stats/numbers */
[data-theme="dark"] .stat-item {
    color: var(--text-primary);
}

/* ---------------------------------------------------
   14-profile.css — Pagina profilo
   --------------------------------------------------- */
[data-theme="dark"] .profile-card {
    background: var(--surface-card);
    border-color: var(--border-light);
}

[data-theme="dark"] .profile-card h2,
[data-theme="dark"] .profile-header h1 {
    color: var(--text-primary);
}

[data-theme="dark"] .profile-header p {
    color: var(--text-secondary);
}

[data-theme="dark"] .profile-field {
    border-bottom-color: var(--border-light);
}

[data-theme="dark"] .profile-field label {
    color: var(--text-muted);
}

[data-theme="dark"] .profile-field span,
[data-theme="dark"] .profile-field input {
    color: var(--text-primary);
}

[data-theme="dark"] .subscription-info,
[data-theme="dark"] .plan-card {
    background: var(--surface);
    border-color: var(--border-light);
}

/* ---------------------------------------------------
   auth.css — Modal autenticazione (già scuro, piccoli fix)
   --------------------------------------------------- */
[data-theme="dark"] .auth-form-group input {
    background: rgba(255, 255, 255, 0.05);
    border-color: rgba(255, 255, 255, 0.12);
    color: #fff;
}

[data-theme="dark"] .auth-form-group input:focus {
    border-color: var(--primary-sky);
    background: rgba(255, 255, 255, 0.08);
}

/* ---------------------------------------------------
   12-chat-input.css — Input area chat
   --------------------------------------------------- */
[data-theme="dark"] .search-form-card,
[data-theme="dark"] .input-section {
    background: var(--surface-card);
    border-color: var(--border-light);
}

[data-theme="dark"] .form-group label {
    color: var(--text-secondary);
}

[data-theme="dark"] .form-control,
[data-theme="dark"] .form-input {
    background: var(--surface);
    border-color: var(--border-light);
    color: var(--text-primary);
}

[data-theme="dark"] .form-control:focus,
[data-theme="dark"] .form-input:focus {
    border-color: var(--primary-sky);
    box-shadow: 0 0 0 3px rgba(0, 168, 232, 0.15);
}

/* ---------------------------------------------------
   18-landing.css — Demo mockup "In 3 passi"
   ROOT CAUSE: .demo-mockup bg:#fff + .mockup-matrix-card bg:#fff
   → var(--text-primary) diventa #f1f5f9 su bianco = testo invisibile.
   --------------------------------------------------- */
[data-theme="dark"] .demo-mockup {
    background: var(--surface-card);
    border-color: var(--border-light);
}

[data-theme="dark"] .demo-mockup .mockup-chat {
    background: var(--surface);
    border-bottom-color: var(--border-light);
}

[data-theme="dark"] .demo-mockup .mockup-chat .msg-bubble {
    background: var(--surface-card);
    border-color: var(--border-light);
    color: var(--text-secondary);
}

[data-theme="dark"] .demo-mockup .mockup-chat .msg-bubble.ai-bubble {
    background: rgba(0, 30, 55, 0.85);
    border-color: rgba(0, 168, 232, 0.25);
    color: var(--text-secondary);
}

[data-theme="dark"] .demo-mockup .mockup-matrix-container {
    background: var(--surface);
    border-top-color: var(--border-light);
}

/* Celle della matrix demo: bg bianco → dark */
[data-theme="dark"] .mockup-matrix-card {
    background: var(--surface-card);
    border-color: var(--border-light);
}

/* Placeholder immagine fallita (onerror hide) o in caricamento */
[data-theme="dark"] .mockup-matrix-card .mmc-img {
    background: var(--surface);
}

/* Strip icona card standard (pasti/trasporti/check-in/out) */
[data-theme="dark"] .mockup-matrix-card .mmc-icon {
    background: linear-gradient(135deg, #1e293b, #0f172a);
    color: #64748b;
}

[data-theme="dark"] .mockup-matrix-card .mmc-body .mmc-title {
    color: var(--text-primary);
}

[data-theme="dark"] .mockup-matrix-card .mmc-body .mmc-time.morning   { background: #2d2415; color: #fbbf24; }
[data-theme="dark"] .mockup-matrix-card .mmc-body .mmc-time.afternoon { background: #2d1a0e; color: #fb923c; }
[data-theme="dark"] .mockup-matrix-card .mmc-body .mmc-time.evening   { background: #1e1a2e; color: #a78bfa; }

/* ---------------------------------------------------
   19-lab.css — UNIFIED WORKSPACE CARD (nuovo layout)
   workspace-card, workspace-empty-view, workspace-*-view
   ROOT CAUSE: tutte queste classi usano bg bianco/grigio chiaro hardcoded.
   --------------------------------------------------- */

/* Contenitore principale workspace */
[data-theme="dark"] .workspace-card {
    background: var(--surface-card);
}

/* Stato 1 — Empty view (visible nel pannello destro quando non c'è itinerario) */
[data-theme="dark"] .workspace-empty-view {
    background: linear-gradient(135deg, #0f172a 0%, #1a2744 50%, #0f172a 100%);
}

[data-theme="dark"] .empty-state h3 {
    color: var(--text-primary);
}

[data-theme="dark"] .empty-state p {
    color: var(--text-muted);
}

/* Stato 2 — Status view durante la generazione */
[data-theme="dark"] .workspace-status-view {
    background: linear-gradient(180deg, var(--bg-primary) 0%, var(--surface-card) 100%);
}

/* Overlay gradient sull'immagine hero: da rgba(255,253,250) a dark navy */
[data-theme="dark"] .status-hero::after {
    background: linear-gradient(
        to bottom,
        rgba(15, 23, 42, 0) 0%,
        rgba(15, 23, 42, 0.2) 40%,
        rgba(15, 23, 42, 0.75) 70%,
        rgba(15, 23, 42, 0.95) 100%
    );
}

[data-theme="dark"] .status-step {
    background: var(--surface);
    border-color: var(--border-light);
}

[data-theme="dark"] .step-icon {
    background: var(--surface-card);
    color: var(--text-muted);
}

/* Stato 3 — Result view dopo la generazione */
[data-theme="dark"] .workspace-result-view {
    background: var(--surface-card);
}

/* Map view e table view nel layout card-inner */
[data-theme="dark"] .workspace-map-view {
    background: var(--bg-primary);
    border-right-color: var(--border-light);
}

[data-theme="dark"] .workspace-map-view .map-placeholder {
    background: var(--bg-primary);
    color: var(--text-muted);
}

[data-theme="dark"] .workspace-table-view {
    background: var(--surface-card);
}

/* Intent pills bar (sopra la lista attività) */
[data-theme="dark"] .intent-pills-bar {
    background: var(--surface);
    border-bottom-color: var(--border-light);
}

[data-theme="dark"] .intent-pill {
    background: var(--surface-card);
    border-color: var(--border-light);
    color: var(--text-secondary);
}

/* Icon button hover */
[data-theme="dark"] .icon-btn:hover {
    background: var(--surface);
}

/* ---------------------------------------------------
   19-lab.css — Banner e notifiche
   --------------------------------------------------- */

/* Info banner popup (info-btn wand) */
[data-theme="dark"] .info-banner {
    background: var(--surface-card);
    border-color: var(--border-light);
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.5);
}

[data-theme="dark"] .info-banner .banner-content h3 {
    color: var(--text-primary);
}

[data-theme="dark"] .info-banner .banner-content ul li {
    color: var(--text-secondary);
}

/* Trip cost banner */
[data-theme="dark"] .trip-cost-banner {
    background: linear-gradient(135deg, rgba(0, 168, 232, 0.08), rgba(61, 220, 132, 0.06));
    border-color: rgba(0, 168, 232, 0.2);
}

/* ---------------------------------------------------
   19-lab.css — Itinerary matrix (in-chat streaming)
   ROOT CAUSE: .matrix-day-column bg:#fff, .matrix-card bg:#f8fafc
   --------------------------------------------------- */
[data-theme="dark"] .matrix-day-column {
    background: var(--surface-card);
    border-color: var(--border-light);
}

[data-theme="dark"] .matrix-card {
    background: var(--surface);
    border-color: var(--border-light);
}

[data-theme="dark"] .matrix-card:hover {
    background: var(--surface-card);
    border-color: rgba(0, 168, 232, 0.3);
}

[data-theme="dark"] .matrix-card h4 {
    color: var(--text-primary);
}

[data-theme="dark"] .matrix-desc {
    color: var(--text-secondary);
}

/* Travel summary (streaming itinerario nel pannello chat) */
[data-theme="dark"] .travel-summary {
    background: var(--surface-card) !important;
    border-color: var(--border-light) !important;
}

[data-theme="dark"] .travel-summary .section-title {
    color: var(--text-primary);
}

/* ---------------------------------------------------
   19-lab.css — Activity booking list (result view)
   ROOT CAUSE: .activity-booking-item bg:#f8fafc, hover:#fff
   --------------------------------------------------- */
[data-theme="dark"] .activity-booking-item {
    background: var(--surface);
    border-color: var(--border-light);
}

[data-theme="dark"] .activity-booking-item:hover {
    background: var(--surface-card);
    border-color: rgba(0, 168, 232, 0.3);
}

/* ---------------------------------------------------
   19-lab.css — Modal "I tuoi viaggi" (trips-modal-*)
   ROOT CAUSE: .trips-modal-card bg:#fff, header bg:#f8fafc,
   item bg:#fafbfc — testo var(--text-primary) invisibile su bianco.
   --------------------------------------------------- */
[data-theme="dark"] .trips-modal-card {
    background: var(--surface-card);
    box-shadow: 0 24px 64px rgba(0, 0, 0, 0.6);
}

[data-theme="dark"] .trips-modal-header {
    background: var(--surface);
    border-bottom-color: var(--border-light);
}

[data-theme="dark"] .trips-modal-header h3 {
    color: var(--text-primary);
}

[data-theme="dark"] .trips-modal-list {
    background: var(--surface-card);
}

[data-theme="dark"] .trips-modal-item {
    background: var(--surface);
    border-color: var(--border-light);
}

[data-theme="dark"] .trips-modal-item:hover {
    background: var(--surface-card);
    border-color: var(--primary-sky);
}

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

[data-theme="dark"] .trips-modal-item-dates {
    color: var(--text-muted);
}

[data-theme="dark"] .trips-modal-item-btn.secondary {
    color: var(--text-secondary);
    border-color: var(--border-light);
}

/* Panel laterale "I tuoi viaggi" (my-trips-panel) */
[data-theme="dark"] .my-trips-panel {
    background: var(--surface-card);
    border-bottom-color: var(--border-light);
}

[data-theme="dark"] .my-trips-panel-header {
    background: var(--surface);
    border-bottom-color: var(--border-light);
    color: var(--text-primary);
}

[data-theme="dark"] .my-trip-item:hover {
    background: var(--surface);
}

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

/* Budget inline card (avviso superamento budget) */
[data-theme="dark"] .budget-inline-card {
    background: var(--surface-card);
    border-color: rgba(251, 191, 36, 0.4);
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4);
}

[data-theme="dark"] .budget-inline-title,
[data-theme="dark"] .budget-inline-message {
    color: var(--text-primary);
}

[data-theme="dark"] .budget-inline-sub {
    color: var(--text-secondary);
}

/* ---------------------------------------------------
   19-lab.css — Status feed items (during generation)
   ROOT CAUSE: .feed-item.working usa rgba(255,255,255,0.75) = quasi bianco
   .status-city-name usa #1e293b = testo scuro invisibile su sfondo scuro
   --------------------------------------------------- */
[data-theme="dark"] .status-city-overlay .status-city-name {
    color: #f1f5f9;
    text-shadow: 0 1px 4px rgba(0, 0, 0, 0.7);
}

[data-theme="dark"] .feed-item.working {
    background: rgba(255, 255, 255, 0.08);
    color: var(--text-primary);
    border-color: rgba(255, 255, 255, 0.12);
}

[data-theme="dark"] .feed-item.found {
    background: rgba(78, 205, 196, 0.15);
    color: #4ecdc4;
    border-color: rgba(78, 205, 196, 0.3);
}

[data-theme="dark"] .feed-item.searching {
    background: rgba(0, 168, 232, 0.15);
    color: #38bdf8;
    border-color: rgba(0, 168, 232, 0.3);
}

[data-theme="dark"] .feed-item.done {
    background: rgba(61, 220, 132, 0.15);
    color: #4ade80;
    border-color: rgba(61, 220, 132, 0.3);
}

/* ---------------------------------------------------
   19-lab.css — Pannello sinistro chat messages area
   ROOT CAUSE: .lab-left-panel .chat-messages bg:#f8fafc
   --------------------------------------------------- */
[data-theme="dark"] .lab-left-panel .chat-messages {
    background: var(--surface-card);
}

[data-theme="dark"] .lab-left-panel .chat-input-area {
    background: var(--surface-card);
    border-top-color: var(--border-light);
}

[data-theme="dark"] .lab-left-panel .chat-input-area textarea {
    background: var(--surface);
    border-color: var(--border-light);
    color: var(--text-primary);
}

/* ---------------------------------------------------
   09-print.css — Stampa: forza sempre light mode
   --------------------------------------------------- */
@media print {
    [data-theme="dark"] body,
    [data-theme="dark"] .chat-container,
    [data-theme="dark"] .trip-card {
        background: #fff !important;
        color: #000 !important;
    }
}

/* ── trip.html dark mode ─────────────────────────────────────── */
[data-theme="dark"] .trip-header          { background: #1e293b; border-color: #334155; }
[data-theme="dark"] .trip-header-title    { color: #f1f5f9; }
[data-theme="dark"] .trip-back-btn        { color: #38bdf8; }
[data-theme="dark"] .trip-dark-toggle     { border-color: #334155; color: #94a3b8; }
[data-theme="dark"] .trip-dark-toggle:hover { background: #334155; }
[data-theme="dark"] .trip-sidebar         { background: #0f172a; border-color: #334155; }
[data-theme="dark"] .trip-budget-widget   { background: #1e293b; border-color: #334155; }
[data-theme="dark"] .budget-total         { color: #f1f5f9; }
[data-theme="dark"] .budget-bar-track     { background: #334155; }
[data-theme="dark"] .budget-breakdown     { border-color: #334155; }
[data-theme="dark"] .budget-breakdown-row { color: #94a3b8; }
[data-theme="dark"] .budget-breakdown-row span:last-child { color: #f1f5f9; }
[data-theme="dark"] .trip-nav-item        { color: #94a3b8; }
[data-theme="dark"] .trip-nav-item:hover  { background: #1e293b; color: #f1f5f9; }
[data-theme="dark"] .trip-nav-item.active { background: #0ea5e920; color: #38bdf8; }
[data-theme="dark"] .trip-chat-bar        { background: #1e293b; border-color: #334155; }
[data-theme="dark"] .trip-chat-input      { background: #0f172a; color: #f1f5f9; border-color: #334155; }
[data-theme="dark"] .trip-msg.ai .trip-msg-bubble { background: #1e293b; border-color: #334155; color: #f1f5f9; }
[data-theme="dark"] .trip-proposal-card { background: #1e293b; border-color: #334155; }
[data-theme="dark"] .trip-proposal-title { color: #f1f5f9; }
[data-theme="dark"] .trip-proposal-desc,
[data-theme="dark"] .trip-proposal-meta,
[data-theme="dark"] .trip-proposals-title { color: #94a3b8; }
[data-theme="dark"] .documents-main       { background: #0f172a; }
[data-theme="dark"] .doc-list li          { background: #1e293b; border-color: #334155; color: #f1f5f9; }
[data-theme="dark"] .documents-copilot    { background: #1e293b; border-color: #334155; }
[data-theme="dark"] .copilot-header       { background: #0f172a; color: #f1f5f9; border-color: #334155; }
[data-theme="dark"] .copilot-msg.ai       { background: #334155; color: #f1f5f9; }
[data-theme="dark"] .copilot-input-wrap   { border-color: #334155; }
[data-theme="dark"] .copilot-input-wrap textarea { background: #0f172a; color: #f1f5f9; border-color: #334155; }
[data-theme="dark"] .trip-bottom-tabs     { background: #1e293b; border-color: #334155; }
[data-theme="dark"] .bottom-tab           { color: #64748b; }
[data-theme="dark"] .bottom-tab.active    { color: #38bdf8; }
[data-theme="dark"] .trip-autosave        { color: #94a3b8; }
/* trip.html — itinerario split (chat sx / matrice dx) + loader */
[data-theme="dark"] .trip-chat-col         { background: #0f172a; border-color: #334155; }
[data-theme="dark"] .trip-matrix-loading   { background: rgba(15,23,42,.72); color: #94a3b8; }
[data-theme="dark"] .trip-matrix-loading i { color: #38bdf8; }

/* trip.html — documenti: nazionalità + voli */
[data-theme="dark"] .doc-nat-line          { color: #94a3b8; }
[data-theme="dark"] .doc-nat-line strong   { color: #f1f5f9; }
[data-theme="dark"] .doc-flight-card       { background: #1e293b; border-color: #334155; }
[data-theme="dark"] .doc-flight-airline    { color: #f1f5f9; }
[data-theme="dark"] .doc-flight-price      { background: #0ea5e920; color: #38bdf8; }
[data-theme="dark"] .doc-flight-leg + .doc-flight-leg { border-color: #334155; }
[data-theme="dark"] .doc-leg-hdr strong    { color: #f1f5f9; }
[data-theme="dark"] .doc-leg-stops         { background: #334155; color: #cbd5e1; }
[data-theme="dark"] .doc-time              { color: #f1f5f9; }
[data-theme="dark"] .doc-leg-dur           { border-color: #334155; }

/* trip.html — tab Trasporti (21-trip.css ha colori hardcoded non-var) */
[data-theme="dark"] .transport-day-trip-row       { background: #1a2d3d; border-left-color: #38bdf8; }
[data-theme="dark"] .transport-day-trip-row:hover { background: #1e3a4d; }
[data-theme="dark"] .transport-day-trip-label     { color: #f1f5f9; }
[data-theme="dark"] .transport-day-trip-detail    { color: #94a3b8; }
[data-theme="dark"] .transport-disclaimer         { background: #1e2a14; border-color: #3d4a1a; color: #a3b88c; }
[data-theme="dark"] .transport-city-text,
[data-theme="dark"] .transport-pass-text          { color: #cbd5e1; }

/* trip.html — tab Audioguide */
[data-theme="dark"] .audioguide-layout            { background: #0f172a; }
[data-theme="dark"] .audioguide-activity-panel,
[data-theme="dark"] .audioguide-chat              { background: #0f172a; border-color: #334155; }
[data-theme="dark"] .audioguide-panel-head,
[data-theme="dark"] .audioguide-chat-head         { background: #1e293b; border-color: #334155; color: #f1f5f9; }
[data-theme="dark"] .audioguide-activity-btn      { background: #1e293b; border-color: #334155; color: #f1f5f9; }
[data-theme="dark"] .audioguide-activity-btn.active { background: #0ea5e920; border-color: #38bdf8; }
[data-theme="dark"] .audioguide-activity-body strong,
[data-theme="dark"] .audioguide-stage-head h3,
[data-theme="dark"] .audioguide-empty h3,
[data-theme="dark"] .audioguide-transcript h4,
[data-theme="dark"] .audioguide-transcript p      { color: #f1f5f9; }
[data-theme="dark"] .audioguide-player-box,
[data-theme="dark"] .audioguide-transcript,
[data-theme="dark"] .audioguide-msg.ai            { background: #1e293b; border-color: #334155; color: #f1f5f9; }
[data-theme="dark"] .audioguide-chat-input        { background: #1e293b; border-color: #334155; }
[data-theme="dark"] .audioguide-chat-input textarea,
[data-theme="dark"] .audioguide-icon-btn          { background: #0f172a; border-color: #334155; color: #f1f5f9; }

/* chat.html — flight selectable cards */
[data-theme="dark"] .info-card.selectable-card {
    background: #1e293b;
    border-color: #334155;
    color: #f1f5f9;
}
[data-theme="dark"] .info-card.selectable-card:hover {
    background: #253347;
    border-color: #38bdf8;
    box-shadow: 0 6px 24px rgba(56, 189, 248, 0.12);
}
[data-theme="dark"] .card-header-row          { border-color: #334155; }
[data-theme="dark"] .airline-col              { border-color: #334155; }
[data-theme="dark"] .airline-col .airline-icon { color: #38bdf8; }
[data-theme="dark"] .airline-name             { color: #f1f5f9; }
[data-theme="dark"] .badge.class-badge        { background: #1e3a5f; color: #93c5fd; border-color: #1d4ed8; }
[data-theme="dark"] .flight-leg + .flight-leg { border-color: #334155; }
[data-theme="dark"] .leg-header               { color: #94a3b8; }
[data-theme="dark"] .leg-header strong        { color: #cbd5e1; }
[data-theme="dark"] .stops-badge.direct       { background: #14532d; color: #86efac; border-color: #166534; }
[data-theme="dark"] .stops-badge.stops        { background: #451a03; color: #fdba74; border-color: #78350f; }
[data-theme="dark"] .time-group .time         { color: #f1f5f9; }
[data-theme="dark"] .time-group .airport-code { color: #64748b; }
[data-theme="dark"] .line-graphic             { background: linear-gradient(90deg, #334155, #475569 50%, #334155); }
[data-theme="dark"] .line-graphic::before     { border-color: #64748b; }
[data-theme="dark"] .card-footer              { border-color: #334155; }
[data-theme="dark"] .price-tag                { color: #f1f5f9; }
[data-theme="dark"] .price-sub                { color: #64748b; }
[data-theme="dark"] .section-title            { color: #cbd5e1; }
[data-theme="dark"] .section-title i          { color: #38bdf8; }
[data-theme="dark"] .btn-outline              { color: #38bdf8; border-color: #334155; }
[data-theme="dark"] .btn-outline:hover        { background: #1e3a5f; border-color: #38bdf8; color: #93c5fd; }
[data-theme="dark"] .btn-buy                  { background: linear-gradient(135deg, #15803d, #166534); box-shadow: 0 2px 6px rgba(22,163,74,0.2); }
[data-theme="dark"] .btn-buy:hover            { background: linear-gradient(135deg, #16a34a, #15803d); }

/* --- /offerte Esplora: il badge "prezzo basso" ha il fondo bianco fisso --- */
[data-theme="dark"] .explore-low-price {
    background: #0f172a;
    color: #4ade80;
}
[data-theme="dark"] .explore-notice.is-error {
    color: #fca5a5;
}
[data-theme="dark"] .explore-updated.is-stale {
    color: #fbbf24;
}
