/* Public Theme - Iselin Logística */
:root {
    --primary-orange: #FF8C42;
    /* Company Orange */
    --primary-orange-hover: #e57a36;
    --primary-dark: #333333;
    /* Company Gray/Black */
    --primary-gray: #6c757d;
    --light-bg: #F8F9FA;
    --dark-text: #2C3E50;
    --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
    --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
}

body {
    font-family: 'Inter', sans-serif;
    color: var(--dark-text);
}

h1, h2, h3, h4, h5, h6,
.navbar-brand {
    font-family: 'Poppins', sans-serif;
    user-select: none;
    cursor: default;
}

/* Cualquier texto estático no interactivo no debe mostrar cursor de texto */
p, span, small, label, div, li,
.badge, .card-header, th, td {
    cursor: default;
}

/* Las tarjetas de turnos y todo su contenido */
.turno-card-public,
.turno-card-public * {
    cursor: default;
    user-select: none;
}

/* Restaurar cursor correcto en elementos interactivos */
a, button, input, select, textarea,
a *, button * {
    cursor: pointer !important;
    user-select: auto;
}

input, select, textarea {
    cursor: text !important;
    user-select: text;
}

/* --- Bootstrap Overrides --- */

/* Primary Button (Orange) */
.btn-primary {
    background-color: var(--primary-orange);
    border-color: var(--primary-orange);
    color: white;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
    background-color: var(--primary-orange-hover) !important;
    border-color: var(--primary-orange-hover) !important;
    color: white !important;
}

/* Outline Primary (Orange Text) */
.btn-outline-primary {
    color: var(--primary-orange);
    border-color: var(--primary-orange);
}

.btn-outline-primary:hover {
    background-color: var(--primary-orange);
    border-color: var(--primary-orange);
    color: white;
}

/* Links */
a {
    color: var(--primary-orange);
    text-decoration: none;
}

a:hover {
    color: var(--primary-orange-hover);
}

/* Text Colors - Neutralize Bootstrap Colors */
.text-primary,
.text-success,
.text-info,
.text-warning {
    color: var(--primary-orange) !important;
}

.text-dark,
.text-secondary {
    color: var(--primary-dark) !important;
}

.text-muted {
    color: var(--primary-gray) !important;
}

/* Backgrounds - Neutralize Bootstrap Colors */
.bg-primary,
.bg-success,
.bg-warning {
    background-color: var(--primary-orange) !important;
    color: white !important;
}

.bg-dark,
.bg-secondary,
.bg-info {
    background-color: var(--primary-dark) !important;
    color: white !important;
}

.bg-white {
    background-color: #ffffff !important;
    color: var(--dark-text) !important;
}

/* Badges */
.badge.bg-primary,
.badge.bg-success,
.badge.bg-warning {
    background-color: var(--primary-orange) !important;
    color: white !important;
}

.badge.bg-secondary,
.badge.bg-info,
.badge.bg-dark {
    background-color: var(--primary-dark) !important;
    color: white !important;
}

/* Alerts - Theme Consistent */
.alert-info,
.alert-primary,
.alert-success,
.alert-warning {
    background-color: rgba(255, 140, 66, 0.1) !important;
    /* Light Orange */
    border-color: var(--primary-orange) !important;
    color: var(--primary-dark) !important;
}

/* Borders */
.border-primary,
.border-success,
.border-warning,
.border-info {
    border-color: var(--primary-orange) !important;
}

.border-secondary,
.border-dark {
    border-color: var(--primary-dark) !important;
}

/* --- Components --- */

/* Navbar */
.navbar-brand .fa-bus {
    color: var(--primary-orange) !important;
}

.navbar-brand span {
    color: var(--primary-orange);
}

.nav-link {
    color: var(--primary-dark) !important;
    font-weight: 500;
}

.nav-link:hover,
.nav-link.active {
    color: var(--primary-orange) !important;
}

.nav-link.active {
    border-bottom: 2px solid var(--primary-orange);
}

/* Footer */
footer {
    background-color: var(--primary-dark) !important;
    color: white !important;
}

footer a.text-white:hover {
    color: var(--primary-orange) !important;
}

/* Cards */
.card {
    border: none;
    box-shadow: var(--shadow-sm);
    transition: transform 0.2s;
}

.card:hover {
    box-shadow: var(--shadow-md);
}

.card-header {
    background-color: var(--primary-dark) !important;
    color: white !important;
}

/* ===================================== */
/* PREMIUM DARK MODE SUPPORT */
/* ===================================== */
[data-theme="dark"] {
    --primary-orange: #FF9E64; /* Brighter orange for better contrast */
    --primary-orange-hover: #ffb38a;
    --primary-dark: #f8f9fa; /* Inverted for light text */
    --primary-gray: #a0a0a0;
    --light-bg: #121212;
    --dark-text: #e2e8f0;
    
    background-color: #121212 !important;
    color: #e2e8f0 !important;
}

[data-theme="dark"] body {
    background-color: #121212 !important;
    color: #e2e8f0 !important;
}

/* Soporte para Logos Claro/Oscuro */
.logo-calidad-light { display: inline-block !important; }
.logo-calidad-dark { display: none !important; }

[data-theme="dark"] .logo-calidad-light { display: none !important; }
[data-theme="dark"] .logo-calidad-dark { display: inline-block !important; }


/* Force dark backgrounds for white elements in dark mode */
[data-theme="dark"] .bg-white {
    background-color: #1e1e1e !important;
    color: #e2e8f0 !important;
}

[data-theme="dark"] .bg-light {
    background-color: #2d2d2d !important;
    color: #e2e8f0 !important;
}

[data-theme="dark"] .navbar {
    background-color: #1e1e1e !important;
    border-bottom-color: var(--primary-orange) !important;
}

[data-theme="dark"] .nav-link {
    color: #e2e8f0 !important;
}

[data-theme="dark"] .nav-link:hover,
[data-theme="dark"] .nav-link.active {
    color: var(--primary-orange) !important;
}

[data-theme="dark"] .card {
    background-color: #1e1e1e !important;
    border-color: #2d2d2d !important;
    color: #e2e8f0 !important;
}

[data-theme="dark"] .card-header {
    background-color: #2d2d2d !important;
    color: #ffffff !important;
}

[data-theme="dark"] .table {
    color: #e2e8f0 !important;
}

[data-theme="dark"] .table-secondary {
    --bs-table-bg: #2d2d2d !important;
    --bs-table-color: #e2e8f0 !important;
    color: #e2e8f0 !important;
}

[data-theme="dark"] tr, [data-theme="dark"] td, [data-theme="dark"] th {
    background-color: transparent !important;
    color: inherit !important;
}

[data-theme="dark"] .text-dark,
[data-theme="dark"] .text-secondary {
    color: #e2e8f0 !important;
}

[data-theme="dark"] .text-muted {
    color: #a0a0a0 !important;
}

[data-theme="dark"] .navbar-brand {
    color: #ffffff !important;
}

[data-theme="dark"] .dropdown-menu {
    background-color: #1e1e1e !important;
    border-color: #2d2d2d !important;
}

[data-theme="dark"] .dropdown-item {
    color: #e2e8f0 !important;
}

[data-theme="dark"] .dropdown-item:hover {
    background-color: #2d2d2d !important;
    color: #ffffff !important;
}

[data-theme="dark"] .public-mobile-theme-group {
    background: rgba(255, 255, 255, 0.1) !important;
}

[data-theme="dark"] .public-mobile-theme-group .btn {
    color: #e2e8f0 !important;
}

[data-theme="dark"] input.form-control {
    background-color: #1e1e1e !important;
    color: #e2e8f0 !important;
    border-color: #3d3d3d !important;
}

[data-theme="dark"] input.form-control::placeholder {
    color: #6c757d !important;
}

[data-theme="dark"] .input-group-text {
    background-color: #2d2d2d !important;
    color: #a0a0a0 !important;
    border-color: #3d3d3d !important;
}

/* Explicit high-priority dark theme badge color overrides to prevent white-on-white text */
[data-theme="dark"] .badge.bg-secondary,
[data-theme="dark"] .badge.bg-dark,
[data-theme="dark"] .badge.bg-info {
    background-color: #373b3e !important;
    color: #e9ecef !important;
}

[data-theme="dark"] .badge.bg-warning {
    background-color: #ffc107 !important;
    color: #212529 !important;
}

/* Explicit high-contrast uniform white coloring for segment headers in dark mode */
[data-theme="dark"] .table-secondary,
[data-theme="dark"] tr.table-secondary,
[data-theme="dark"] tr.table-secondary td {
    --bs-table-bg: #2d2d2d !important;
    background-color: #2d2d2d !important;
    color: #ffffff !important;
}

/* Neutralize Bootstrap table stripes and overlay effects on segment headers in both light and dark themes */
tr.table-secondary,
tr.table-secondary td {
    --bs-table-accent-bg: transparent !important;
    --bs-table-striped-bg: transparent !important;
}

/* Explicit high-priority dark theme overrides for footer and bg-dark elements to avoid white background */
[data-theme="dark"] .bg-dark,
[data-theme="dark"] footer {
    background-color: #1e1e1e !important;
    color: #e2e8f0 !important;
}

[data-theme="dark"] footer .text-white-50,
[data-theme="dark"] footer p.text-white-50 {
    color: #a0a0a0 !important;
}