/*
 * rapybus-dark.css
 * Dark mode overrides for all RapyBus web (booking) pages.
 * Activated via html[data-theme="dark"]; respects prefers-color-scheme by default.
 * Include after rapybus-tokens.css.
 */

/* ── Theme toggle button (light + dark states) ───────────── */

.theme-toggle-btn {
    background: rgba(255, 255, 255, 0.12);
    border: 1.5px solid rgba(255, 255, 255, 0.22);
    color: #fff;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background 0.2s;
    font-size: 0.85rem;
    flex-shrink: 0;
    padding: 0;
    margin-left: 10px;
    line-height: 1;
}

.theme-toggle-btn:hover {
    background: rgba(255, 255, 255, 0.22);
}

/* ── Dark: design tokens ─────────────────────────────────── */

[data-theme="dark"] {
    /* main.css Arsha template variables — override so var() references go dark */
    --background-color:             #111827;
    --surface-color:                #1c2a40;
    --default-color:                #cbd5e1;
    --heading-color:                #e2e8f0;
    --nav-mobile-background-color:  #141f30;
    --nav-dropdown-background-color:#1c2a40;
    --nav-dropdown-color:           #94a3b8;

    /* RapyBus tokens */
    --rb-surface:    #1c2a40;
    --rb-text-muted: #94a3b8;
    --rb-text-body:  #cbd5e1;
    --rb-border:     #253352;
    --rb-bg-soft:    #1c2a40;
    color-scheme: dark;
}

/* ── Dark: body ──────────────────────────────────────────── */

[data-theme="dark"] body {
    background-color: #111827;
    color: #cbd5e1;
}

/* ── Dark: sections with hardcoded white/light backgrounds ── */

[data-theme="dark"] #partners,
[data-theme="dark"] #why-rapybus,
[data-theme="dark"] #destinations {
    background: #141f30;
}

[data-theme="dark"] #partners {
    border-bottom-color: #253352;
}

[data-theme="dark"] #results-section {
    background: #0e1628;
}

[data-theme="dark"] .why-features-bg {
    background: #111827;
}

/* ── Dark: calendar date bar ─────────────────────────────── */

[data-theme="dark"] .date-bar-wrapper {
    background: #141f30;
    border-bottom-color: #253352;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
}

/* ── Dark: search card & inputs ──────────────────────────── */

[data-theme="dark"] .search-card {
    background: #1c2a40;
    border-color: #253352;
    box-shadow: 0 24px 80px rgba(0, 0, 0, 0.4), 0 4px 20px rgba(0, 0, 0, 0.25);
}

[data-theme="dark"] .search-input {
    background: #0e1628;
    border-color: #253352;
    color: #e2e8f0;
}

[data-theme="dark"] .search-input::placeholder {
    color: #3d5275;
}

[data-theme="dark"] .search-input:focus {
    border-color: var(--rb-blue);
    box-shadow: 0 0 0 3px rgba(9, 73, 207, 0.2);
}

[data-theme="dark"] .search-input--date {
    color-scheme: dark;
}

[data-theme="dark"] .search-dropdown {
    background: #1c2a40;
    border-color: #253352;
    box-shadow: 0 16px 48px rgba(0, 0, 0, 0.35);
}

[data-theme="dark"] .search-dropdown-item {
    border-bottom-color: #253352;
}

[data-theme="dark"] .search-dropdown-item:hover,
[data-theme="dark"] .search-dropdown-item.is-active {
    background: rgba(9, 73, 207, 0.15);
}

[data-theme="dark"] .passenger-stepper {
    background: #0e1628;
    border-color: #253352;
}

/* ── Dark: trip cards ────────────────────────────────────── */

[data-theme="dark"] .trip-card {
    background: #1c2a40;
    border-color: #253352;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
}

[data-theme="dark"] .trip-action {
    border-left-color: #253352;
    border-top-color: #253352;
}

[data-theme="dark"] .trip-details-btn {
    background: #253352;
    border-color: #2e3e66;
    color: #e2e8f0;
}

[data-theme="dark"] .trip-details-btn:hover {
    border-color: var(--rb-blue);
    color: #90aef5;
    background: rgba(9, 73, 207, 0.15);
}

[data-theme="dark"] .results-sort-btn {
    background: #1c2a40;
    border-color: #253352;
    color: #94a3b8;
}

[data-theme="dark"] .results-sort-btn:hover {
    border-color: var(--rb-blue);
    color: #90aef5;
}

[data-theme="dark"] .trip-book-btn:disabled {
    background: #253352;
    color: #4b6280;
}

/* ── Dark: trip info drawer ──────────────────────────────── */

[data-theme="dark"] .tid-drawer {
    background: #1c2a40;
    box-shadow: -6px 0 32px rgba(0, 0, 0, 0.4);
}

[data-theme="dark"] .tid-header {
    border-bottom-color: #253352;
}

[data-theme="dark"] .tid-close {
    background: #253352;
    color: #94a3b8;
}

[data-theme="dark"] .tid-close:hover {
    background: #1e3054;
    color: #e2e8f0;
}

[data-theme="dark"] .tid-refund-row {
    border-bottom-color: #253352;
}

/* ── Dark: feature cards ─────────────────────────────────── */

[data-theme="dark"] .feature-card {
    background: #1c2a40;
    border-color: #253352;
}

[data-theme="dark"] .feature-card:hover {
    box-shadow: 0 16px 48px rgba(9, 73, 207, 0.15);
    border-color: rgba(9, 73, 207, 0.3);
}

/* ── Dark: benefit list ──────────────────────────────────── */

[data-theme="dark"] .benefit-list li {
    border-bottom-color: #253352;
    color: #cbd5e1;
}

/* ── Dark: destination modal ─────────────────────────────── */

[data-theme="dark"] .dest-modal-card {
    background: #1c2a40;
}

[data-theme="dark"] .dest-modal-card h3 {
    color: #e2e8f0 !important;
}

[data-theme="dark"] .dest-modal-card p {
    color: #94a3b8 !important;
}

[data-theme="dark"] .dest-modal-body p {
    color: #94a3b8;
}

[data-theme="dark"] .dest-modal-country {
    color: #64748b;
}

/* ── Dark: contact modal ─────────────────────────────────── */

[data-theme="dark"] .contact-modal-card {
    background: #1c2a40;
    box-shadow: 0 28px 72px rgba(0, 0, 0, 0.55);
}

[data-theme="dark"] .contact-modal-header {
    border-bottom-color: #253352;
}

[data-theme="dark"] .contact-modal-title {
    color: #e2e8f0;
}

[data-theme="dark"] .contact-modal-close {
    color: #94a3b8;
}

[data-theme="dark"] .contact-modal-close:hover {
    background: #253352;
    color: #e2e8f0;
}

[data-theme="dark"] .contact-label {
    color: #94a3b8;
}

[data-theme="dark"] .contact-input {
    background: #0e1628;
    border-color: #253352;
    color: #e2e8f0;
}

[data-theme="dark"] .contact-input::placeholder {
    color: #3d5275;
}

[data-theme="dark"] .contact-phone-row {
    background: rgba(9, 73, 207, 0.15);
    color: #90aef5;
}

[data-theme="dark"] .contact-phone-row:hover {
    background: rgba(9, 73, 207, 0.25);
    color: #b8ccff;
}

[data-theme="dark"] .contact-phone-row--wa {
    background: rgba(22, 163, 74, 0.12);
    color: #6ee7b7;
}

[data-theme="dark"] .contact-phone-row--wa:hover {
    background: rgba(22, 163, 74, 0.22);
    color: #a7f3d0;
}

[data-theme="dark"] .contact-section-divider {
    color: #4b6280;
}

[data-theme="dark"] .contact-section-divider::before,
[data-theme="dark"] .contact-section-divider::after {
    border-top-color: #253352;
}

[data-theme="dark"] .contact-success h3 {
    color: #e2e8f0;
}

[data-theme="dark"] .contact-success p {
    color: #94a3b8;
}

/* ── Dark: booking error ─────────────────────────────────── */

[data-theme="dark"] .results-booking-error {
    background: rgba(220, 38, 38, 0.1);
    border-color: rgba(220, 38, 38, 0.3);
}

[data-theme="dark"] .results-report-missing {
    border-top-color: #253352;
}

/* ── Dark: passengers page ───────────────────────────────── */

[data-theme="dark"] .passenger-card {
    background: #1c2a40;
    border-color: #253352;
}

[data-theme="dark"] .passenger-card-header {
    background: rgba(9, 73, 207, 0.15);
}

[data-theme="dark"] .psg-input,
[data-theme="dark"] .psg-select {
    background: #0e1628;
    border-color: #253352;
    color: #e2e8f0;
}

[data-theme="dark"] .psg-summary-panel {
    background: #1c2a40;
    border-color: #253352;
}

[data-theme="dark"] .psg-summary-trip,
[data-theme="dark"] .psg-summary-seats,
[data-theme="dark"] .psg-summary-price {
    border-bottom-color: #253352;
}

/* ── Dark: payment page ──────────────────────────────────── */

[data-theme="dark"] .wp-section {
    background: #0e1628;
}

[data-theme="dark"] .wp-card {
    background: #1c2a40;
    box-shadow: 0 2px 20px rgba(0, 0, 0, 0.3);
}

[data-theme="dark"] .wp-trip-summary {
    background: #253352;
}

[data-theme="dark"] .wp-trip-meta {
    border-top-color: rgba(255, 255, 255, 0.06);
}

[data-theme="dark"] .wp-calendar-dropdown {
    background: #1c2a40;
    border-color: #253352;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.35);
}

[data-theme="dark"] .wp-cal-option {
    color: #cbd5e1;
}

[data-theme="dark"] .wp-cal-option:hover {
    background: #253352;
    color: #e2e8f0;
}

[data-theme="dark"] .wp-cal-option + .wp-cal-option {
    border-top-color: #253352;
}

/* ── Dark: summary page ──────────────────────────────────── */

[data-theme="dark"] .summary-card {
    background: #1c2a40;
    border-color: #253352;
}

[data-theme="dark"] .summary-payment-panel {
    background: #1c2a40;
    border-color: #253352;
}

[data-theme="dark"] .pm-option {
    background: #141f30;
    border-color: #253352;
}

[data-theme="dark"] .pm-option:hover {
    background: #1c2a40;
    border-color: var(--rb-blue);
}

[data-theme="dark"] .pm-option.is-selected {
    background: #1c2a40;
    border-color: var(--rb-blue);
}

[data-theme="dark"] .cc-country-select,
[data-theme="dark"] .spp-payer-email-input,
[data-theme="dark"] .sc-voucher-input {
    background: #0e1628;
    border-color: #253352;
    color: #e2e8f0;
}

[data-theme="dark"] .cc-country-select::placeholder,
[data-theme="dark"] .spp-payer-email-input::placeholder,
[data-theme="dark"] .sc-voucher-input::placeholder {
    color: #3d5275;
}

[data-theme="dark"] .reservation-countdown-bar {
    background: #1e1a0a;
    border-bottom-color: #5c4a00;
}

[data-theme="dark"] .price-info-modal {
    background: #1c2a40;
    border-color: #253352;
    box-shadow: 0 16px 48px rgba(0, 0, 0, 0.45);
}

[data-theme="dark"] .price-info-modal-overlay {
    background: rgba(0, 0, 0, 0.6);
}

[data-theme="dark"] .pim-row {
    border-bottom-color: #253352;
}

[data-theme="dark"] .sc-rainforest-hint {
    background: rgba(0, 100, 50, 0.15);
    color: #6ee7b7;
    border-color: rgba(0, 150, 80, 0.3);
}

[data-theme="dark"] .sc-whatsapp-hint {
    background: rgba(37, 211, 102, 0.08);
    border-color: rgba(37, 211, 102, 0.25);
    color: #6ee7b7;
}

[data-theme="dark"] .summary-checkout-error {
    background: rgba(220, 38, 38, 0.1);
    border-color: rgba(220, 38, 38, 0.3);
    color: #fca5a5;
}

[data-theme="dark"] .sc-passenger-summary {
    border-bottom-color: #253352;
}

[data-theme="dark"] .sc-price-row {
    border-bottom-color: #253352;
}

[data-theme="dark"] .sc-voucher-badge {
    background: rgba(0, 203, 118, 0.12);
    color: #6ee7b7;
}

[data-theme="dark"] .spp-card {
    background: #1c2a40;
    border-color: #253352;
}

[data-theme="dark"] .yape-modal-card {
    background: #1c2a40;
    box-shadow: 0 24px 64px rgba(0, 0, 0, 0.55);
}

[data-theme="dark"] .yape-modal-field-label {
    color: #e2e8f0;
}

[data-theme="dark"] .yape-modal-input {
    background: #0e1628;
    border-color: #253352;
    color: #e2e8f0;
}

[data-theme="dark"] .yape-modal-input::placeholder {
    color: #3d5275;
}

[data-theme="dark"] .yape-modal-error {
    background: rgba(220, 38, 38, 0.12);
    border-color: rgba(220, 38, 38, 0.3);
    color: #fca5a5;
}

/* ── Dark: seat map ──────────────────────────────────────── */

[data-theme="dark"] .seat-map-summary-panel {
    background: #1c2a40;
    border-color: #253352;
}

[data-theme="dark"] .floor-tab {
    background: #1c2a40;
    border-color: #253352;
    color: #94a3b8;
}

[data-theme="dark"] .bus-container {
    background: #141f30;
    border-color: #253352;
}

[data-theme="dark"] .bus-front {
    border-color: #253352;
}

[data-theme="dark"] .driver-seat {
    background: #253352;
    border-color: #1e3054;
    color: #94a3b8;
}

[data-theme="dark"] .seat--free {
    background: #1c2a40;
}

[data-theme="dark"] .seat--reserved {
    background: #253352;
    border-color: #1e3054;
    color: #4b6280;
}

[data-theme="dark"] .seat--driver {
    background: #141f30;
    border-color: #253352;
    color: #4b6280;
}

[data-theme="dark"] .legend-dot--free {
    background: #1c2a40;
}

[data-theme="dark"] .legend-dot--reserved {
    background: #253352;
    border-color: #1e3054;
}

[data-theme="dark"] .no-seat-map-card {
    background: #141f30;
    border-color: #253352;
}

/* ── Dark: alert / price-change popup ────────────────────── */

[data-theme="dark"] .pc-card {
    background: #1c2a40;
    box-shadow: 0 24px 64px rgba(0, 0, 0, 0.55);
}

[data-theme="dark"] .pc-prices {
    background: #253352;
}

/* ── Dark: headings that use var(--rb-dark) as text color ── */

[data-theme="dark"] .section-header h2,
[data-theme="dark"] .search-card-header h2,
[data-theme="dark"] .feature-card h4,
[data-theme="dark"] .company-name-text,
[data-theme="dark"] .trip-time,
[data-theme="dark"] .trip-price-amount,
[data-theme="dark"] .results-state h3,
[data-theme="dark"] .tid-time,
[data-theme="dark"] .tid-info-list dt,
[data-theme="dark"] .tid-company--name,
[data-theme="dark"] .sdi-name,
[data-theme="dark"] .pax-display,
[data-theme="dark"] .dest-modal-body h3,
[data-theme="dark"] .wp-payment-title,
[data-theme="dark"] .wp-card-title,
[data-theme="dark"] .wp-trip-company-name,
[data-theme="dark"] .wp-trip-stop-time,
[data-theme="dark"] .sc-company-name,
[data-theme="dark"] .psg-summary-company,
[data-theme="dark"] .psg-summary-route,
[data-theme="dark"] .sms-counter,
[data-theme="dark"] .sms-price strong,
[data-theme="dark"] .no-seat-map-title,
[data-theme="dark"] .pc-title,
[data-theme="dark"] .sc-time,
[data-theme="dark"] .spp-title,
[data-theme="dark"] .pm-label,
[data-theme="dark"] .pim-title,
[data-theme="dark"] .pim-row--total,
[data-theme="dark"] .sc-section-title,
[data-theme="dark"] .sc-pax-name,
[data-theme="dark"] .sc-price-total,
[data-theme="dark"] .sc-passenger-name,
[data-theme="dark"] .sc-price-row--total,
[data-theme="dark"] .sc-price-amount {
    color: #e2e8f0;
}
