/* 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;
}

/* --- 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;
}