/* Innomove — paleta extraída da logo (inn azul-petróleo · o laranja · ve âmbar) */
:root {
    --inn-primary: #224e66;
    --inn-primary-rgb: 34, 78, 102;
    --inn-primary-dark: #1a3d52;
    --inn-primary-light: #3a6d85;
    --inn-primary-soft: #e8f0f4;

    --inn-accent: #e57338;
    --inn-accent-rgb: 229, 115, 56;
    --inn-accent-light: #e89a4d;
    --inn-accent-dark: #c45f2a;
    --inn-accent-soft: #fdf0e8;

    --inn-surface: #f7f9fb;
    --inn-surface-warm: #faf8f5;
    --inn-border: #d4e0e8;
    --inn-text: #3d4f5c;
    --inn-text-muted: #6b7d8a;

    /* Bootstrap */
    --bs-primary: var(--inn-primary);
    --bs-primary-rgb: var(--inn-primary-rgb);
    --bs-secondary: #5a7a8f;
    --bs-secondary-rgb: 90, 122, 143;
    --bs-success: #2a9d6e;
    --bs-success-rgb: 42, 157, 110;
    --bs-info: var(--inn-primary-light);
    --bs-info-rgb: 58, 109, 133;
    --bs-warning: var(--inn-accent-light);
    --bs-warning-rgb: 232, 154, 77;
    --bs-danger: #c94a4a;
    --bs-danger-rgb: 201, 74, 74;
    --bs-light: var(--inn-surface);
    --bs-dark: var(--inn-primary-dark);
    --bs-body-color: var(--inn-text);
    --bs-link-color: var(--inn-primary);
    --bs-link-hover-color: var(--inn-accent-dark);
    --bs-border-color: var(--inn-border);
    --bs-focus-ring-color: rgba(var(--inn-accent-rgb), 0.35);
}

/* —— Botões —— */
.btn-primary {
    background-color: var(--inn-primary);
    border-color: var(--inn-primary);
    color: #fff;
    transition: transform 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}

.btn-primary:hover,
.btn-primary:focus {
    background-color: var(--inn-primary-dark);
    border-color: var(--inn-primary-dark);
    color: #fff;
    transform: translateY(-1px);
    box-shadow: 0 4px 14px rgba(var(--inn-primary-rgb), 0.35);
}

.btn-outline-primary {
    color: var(--inn-primary);
    border-color: var(--inn-primary);
}

.btn-outline-primary:hover {
    background-color: var(--inn-primary);
    border-color: var(--inn-primary);
    color: #fff;
}

.btn-accent,
.btn-innomove-accent {
    background-color: var(--inn-accent);
    border-color: var(--inn-accent);
    color: #fff;
    transition: transform 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}

.btn-accent:hover,
.btn-innomove-accent:hover {
    background-color: var(--inn-accent-dark);
    border-color: var(--inn-accent-dark);
    color: #fff;
    transform: translateY(-1px);
    box-shadow: 0 4px 14px rgba(var(--inn-accent-rgb), 0.35);
}

.btn-success {
    background-color: var(--bs-success);
    border-color: var(--bs-success);
}

.btn-warning {
    background-color: var(--inn-accent-soft);
    border-color: var(--inn-accent-light);
    color: var(--inn-accent-dark);
}

.btn-warning:hover {
    background-color: var(--inn-accent-light);
    border-color: var(--inn-accent);
    color: #fff;
}

/* —— Badges —— */
.badge.bg-primary,
.bg-primary {
    background-color: var(--inn-primary) !important;
}

.badge.bg-info {
    background-color: var(--inn-primary-light) !important;
    color: #fff !important;
}

.badge.bg-success {
    background-color: var(--bs-success) !important;
}

.badge-innomove-accent {
    background-color: var(--inn-accent) !important;
    color: #fff !important;
}

/* —— Texto e links —— */
.text-primary {
    color: var(--inn-primary) !important;
}

.text-accent,
.text-innomove-accent {
    color: var(--inn-accent) !important;
}

a:not(.btn):hover {
    color: var(--inn-accent-dark);
}

/* —— Navbar —— */
.navbar.site-navbar,
.navbar {
    background-color: #fff !important;
    border-bottom: 2px solid var(--inn-border) !important;
    z-index: 1030;
}

.navbar .nav-link {
    color: var(--inn-text);
    border-bottom: 2px solid transparent;
    transition: color 0.2s ease, border-color 0.2s ease, background-color 0.2s ease;
}

.navbar .nav-link:hover {
    color: var(--inn-accent) !important;
}

.navbar .nav-link.active {
    color: var(--inn-primary) !important;
    font-weight: 600;
    border-bottom-color: var(--inn-accent);
}

.navbar .btn-primary {
    background-color: var(--inn-accent);
    border-color: var(--inn-accent);
}

.navbar .btn-primary:hover {
    background-color: var(--inn-accent-dark);
    border-color: var(--inn-accent-dark);
}

.navbar .navbar-toggler {
    border-color: var(--inn-border);
}

.navbar .navbar-toggler:focus {
    box-shadow: 0 0 0 0.2rem rgba(var(--inn-accent-rgb), 0.25);
}

/* Menu mobile — fundo sólido e links legíveis */
@media (max-width: 991.98px) {
    .site-navbar .navbar-collapse {
        background-color: #fff;
        margin-top: 0.5rem;
        padding: 0.75rem 0.25rem 1rem;
        border-top: 1px solid var(--inn-border);
        border-radius: 0 0 0.5rem 0.5rem;
        box-shadow: 0 12px 24px rgba(var(--inn-primary-rgb), 0.12);
    }

    .site-navbar .navbar-collapse.show,
    .site-navbar .navbar-collapse.collapsing {
        position: relative;
        z-index: 2;
    }

    .site-navbar .navbar-nav .nav-link {
        color: var(--inn-text) !important;
        padding: 0.65rem 0.5rem;
        border-bottom: 1px solid var(--inn-primary-soft);
        border-radius: 0.25rem;
    }

    .site-navbar .navbar-nav .nav-link:last-child {
        border-bottom: none;
    }

    .site-navbar .navbar-nav .nav-link.active {
        color: var(--inn-primary) !important;
        background-color: var(--inn-primary-soft);
        border-bottom-color: transparent;
    }

    .site-navbar .site-nav-search {
        width: 100%;
        margin-top: 0.75rem;
        flex-direction: column;
        gap: 0.5rem;
    }

    .site-navbar .site-nav-search .form-control {
        width: 100%;
        margin: 0 !important;
        background-color: #fff;
        border-color: var(--inn-border);
        color: var(--inn-text);
    }

    .site-navbar .site-nav-search .btn {
        width: 100%;
    }

    .site-navbar .site-nav-actions {
        width: 100%;
    }

    .site-navbar .site-nav-actions .btn {
        width: 100%;
    }
}

/* —— Cards —— */
.card {
    border: 1px solid var(--inn-border);
    border-radius: 0.75rem;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.card:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 28px rgba(var(--inn-primary-rgb), 0.12);
    border-color: rgba(var(--inn-accent-rgb), 0.35);
}

.card:hover .card-title {
    color: var(--inn-primary);
}

/* —— Formulários —— */
.form-control:focus,
.form-select:focus {
    border-color: var(--inn-accent);
    box-shadow: 0 0 0 0.2rem rgba(var(--inn-accent-rgb), 0.2);
}

/* —— Alertas —— */
.alert-info {
    background-color: var(--inn-primary-soft);
    border-color: var(--inn-primary-light);
    color: var(--inn-primary-dark);
}

.alert-success {
    background-color: rgba(42, 157, 110, 0.1);
    border-color: var(--bs-success);
    color: #1a5c40;
}

.alert-warning {
    background-color: var(--inn-accent-soft);
    border-color: var(--inn-accent-light);
    color: var(--inn-accent-dark);
}

/* —— Paginação —— */
.page-link {
    color: var(--inn-primary);
}

.page-link:hover {
    color: var(--inn-accent-dark);
    background-color: var(--inn-accent-soft);
}

.page-item.active .page-link {
    background-color: var(--inn-primary);
    border-color: var(--inn-primary);
}

/* —— Utilitários —— */
.bg-innomove-primary {
    background-color: var(--inn-primary);
}

.bg-innomove-accent {
    background-color: var(--inn-accent);
}

.shadow-primary {
    box-shadow: 0 4px 18px rgba(var(--inn-primary-rgb), 0.2);
}

.shadow-accent {
    box-shadow: 0 4px 18px rgba(var(--inn-accent-rgb), 0.25);
}

.border-accent {
    border-color: var(--inn-accent) !important;
}

/* Ícones decorativos */
.fa-primary,
.text-primary i {
    color: var(--inn-primary);
}

.fa-accent {
    color: var(--inn-accent);
}
