/* Kingdom theme: royal gold, deep blue, white */

:root {
    --kingdom-blue: #0b1f3a;
    --kingdom-blue-2: #143a66;
    --kingdom-gold: #d4af37;
    --kingdom-white: #ffffff;
}

/* AdminLTE / Bootstrap 4 core colors overrides */
.bg-primary,
.badge-primary,
.btn-primary {
    background-color: var(--kingdom-blue) !important;
    border-color: var(--kingdom-blue) !important;
}

.text-primary {
    color: var(--kingdom-blue) !important;
}

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

/* Gold accents */
.badge-warning,
.bg-warning {
    background-color: var(--kingdom-gold) !important;
    border-color: var(--kingdom-gold) !important;
    color: var(--kingdom-blue) !important;
}

.text-warning {
    color: var(--kingdom-gold) !important;
}

a {
    color: var(--kingdom-blue-2);
}

a:hover {
    color: var(--kingdom-blue);
}

/* Sidebar */
.main-sidebar.sidebar-dark-primary {
    background-color: var(--kingdom-blue) !important;
}

.sidebar-dark-primary .nav-sidebar > .nav-item > .nav-link.active,
.sidebar-dark-primary .nav-sidebar > .nav-item > .nav-link.active:focus,
.sidebar-dark-primary .nav-sidebar > .nav-item > .nav-link.active:hover {
    background-color: var(--kingdom-gold) !important;
    color: var(--kingdom-blue) !important;
}

.sidebar-dark-primary .nav-sidebar > .nav-item > .nav-link.active i,
.sidebar-dark-primary .nav-sidebar > .nav-item > .nav-link.active p {
    color: var(--kingdom-blue) !important;
}

.sidebar-dark-primary .nav-sidebar > .nav-item > .nav-link {
    color: rgba(255, 255, 255, 0.9);
}

.sidebar-dark-primary .nav-sidebar > .nav-item > .nav-link:hover {
    background-color: rgba(255, 255, 255, 0.08);
    color: var(--kingdom-white);
}

/* Navbar */
.navbar-white {
    background-color: var(--kingdom-white) !important;
}

.navbar-light .navbar-nav .nav-link {
    color: var(--kingdom-blue) !important;
}

.navbar-light .navbar-nav .nav-link:hover,
.navbar-light .navbar-nav .nav-link:focus {
    color: var(--kingdom-blue-2) !important;
}

/* Cards (subtle gold outline) */
.card.card-outline.card-primary {
    border-top: 3px solid var(--kingdom-gold) !important;
}

/* Form focus */
.form-control:focus {
    border-color: rgba(212, 175, 55, 0.55) !important;
    box-shadow: 0 0 0 0.2rem rgba(212, 175, 55, 0.25) !important;
}

/* Pagination */
.page-item.active .page-link {
    background-color: var(--kingdom-blue) !important;
    border-color: var(--kingdom-blue) !important;
}

.page-link {
    color: var(--kingdom-blue-2);
}

.page-link:hover {
    color: var(--kingdom-blue);
}

/* Brand */
.brand-link {
    background-color: var(--kingdom-blue) !important;
    color: var(--kingdom-white) !important;
    border-bottom: 2px solid var(--kingdom-gold) !important;
}

.brand-link .brand-text {
    color: var(--kingdom-white) !important;
    font-weight: 600;
}

/* Content header */
.content-header h1 {
    color: var(--kingdom-blue);
}

/* Breadcrumb */
.breadcrumb-item a {
    color: var(--kingdom-blue-2);
}

.breadcrumb-item.active {
    color: var(--kingdom-gold);
}

/* Cards */
.card-primary:not(.card-outline) > .card-header {
    background-color: var(--kingdom-blue) !important;
    border-color: var(--kingdom-blue) !important;
    color: var(--kingdom-white) !important;
}

.card-outline.card-primary {
    border-top: 3px solid var(--kingdom-gold) !important;
}

.card-outline.card-primary > .card-header .card-title {
    color: var(--kingdom-blue) !important;
}

/* Tables */
.table thead th {
    background-color: var(--kingdom-blue) !important;
    color: var(--kingdom-white) !important;
    border-color: var(--kingdom-blue) !important;
}

/* Small info boxes / stat widgets */
.small-box.bg-primary,
.small-box.bg-info {
    background-color: var(--kingdom-blue) !important;
    color: var(--kingdom-white) !important;
}

.small-box.bg-warning {
    background-color: var(--kingdom-gold) !important;
    color: var(--kingdom-blue) !important;
}

.small-box .icon > i {
    color: rgba(255, 255, 255, 0.25);
}

/* Buttons secondary -> gold outline */
.btn-outline-primary {
    color: var(--kingdom-blue) !important;
    border-color: var(--kingdom-blue) !important;
}

.btn-outline-primary:hover,
.btn-outline-primary:focus {
    background-color: var(--kingdom-blue) !important;
    color: var(--kingdom-white) !important;
}

.btn-warning {
    background-color: var(--kingdom-gold) !important;
    border-color: var(--kingdom-gold) !important;
    color: var(--kingdom-blue) !important;
}

.btn-warning:hover,
.btn-warning:focus,
.btn-warning:active {
    background-color: #c49f2f !important;
    border-color: #c49f2f !important;
    color: var(--kingdom-blue) !important;
}

/* Alerts */
.alert-primary {
    background-color: rgba(11, 31, 58, 0.08) !important;
    border-color: var(--kingdom-blue) !important;
    color: var(--kingdom-blue) !important;
}

.alert-warning {
    background-color: rgba(212, 175, 55, 0.15) !important;
    border-color: var(--kingdom-gold) !important;
    color: #7a5c00 !important;
}

/* Footer */
.main-footer {
    border-top: 2px solid var(--kingdom-gold) !important;
    color: var(--kingdom-blue);
}

.main-footer a {
    color: var(--kingdom-blue-2);
}

/* Login page */
.login-page,
.register-page {
    background-color: #f3f6fb !important;
}

.login-logo a,
.register-logo a {
    color: var(--kingdom-blue) !important;
    font-weight: 700;
}

.login-box .card,
.register-box .card {
    border-top: 4px solid var(--kingdom-gold) !important;
}

.login-box-msg,
.register-box-msg {
    color: var(--kingdom-blue);
}

.login-box .btn-primary,
.register-box .btn-primary {
    background-color: var(--kingdom-blue) !important;
    border-color: var(--kingdom-blue) !important;
}

/* =========================================================
   COMPACT UI — Tableaux & formulaires de l'admin
   ========================================================= */

/* Tables : cellules plus petites */
.content-wrapper .table > thead > tr > th,
.content-wrapper .table > tbody > tr > th,
.content-wrapper .table > tbody > tr > td,
.content-wrapper .table > tfoot > tr > th,
.content-wrapper .table > tfoot > tr > td {
    padding: 0.35rem 0.5rem;
    font-size: 0.875rem;
    vertical-align: middle;
}

.content-wrapper .table thead th {
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

/* Images miniatures dans les tableaux : petit garde-fou */
.content-wrapper .table img {
    max-height: 44px;
}

/* Boutons d'action dans les tableaux */
.content-wrapper .table .btn-sm,
.content-wrapper .table .btn {
    padding: 0.2rem 0.45rem;
    font-size: 0.8rem;
    line-height: 1.3;
}

/* DataTables : tool bar plus compacte */
.content-wrapper .dataTables_wrapper .dataTables_length select,
.content-wrapper .dataTables_wrapper .dataTables_filter input {
    height: calc(1.5em + 0.5rem + 2px);
    padding: 0.25rem 0.5rem;
    font-size: 0.85rem;
}

.content-wrapper .dataTables_wrapper .dataTables_info,
.content-wrapper .dataTables_wrapper .dataTables_paginate {
    font-size: 0.85rem;
}

/* =========================================================
   Formulaires — équivalent form-control-sm appliqué globalement
   ========================================================= */
.content-wrapper .form-control,
.content-wrapper .custom-select,
.content-wrapper .input-group-text {
    height: calc(1.5em + 0.5rem + 2px);
    padding: 0.25rem 0.5rem;
    font-size: 0.875rem;
    line-height: 1.5;
    border-radius: 0.2rem;
}

/* Les <textarea> et <select multiple> doivent garder leur hauteur naturelle */
.content-wrapper textarea.form-control,
.content-wrapper select[multiple].form-control,
.content-wrapper select[size].form-control {
    height: auto;
}

/* Labels + groupes un poil plus serrés */
.content-wrapper .form-group {
    margin-bottom: 0.75rem;
}
.content-wrapper .form-group > label,
.content-wrapper label.form-label {
    font-size: 0.85rem;
    margin-bottom: 0.25rem;
    font-weight: 600;
}

/* Boutons de formulaire cohérents avec le reste */
.content-wrapper .btn {
    padding: 0.35rem 0.75rem;
    font-size: 0.875rem;
}
.content-wrapper .btn-lg {
    padding: 0.5rem 1rem;
    font-size: 1rem;
}

/* Champs d'upload file */
.content-wrapper input[type="file"].form-control {
    padding: 0.2rem 0.4rem;
}

/* Checkbox / radio alignement */
.content-wrapper .form-check {
    font-size: 0.875rem;
}

/* Card headers un peu moins volumineux */
.content-wrapper .card-header {
    padding: 0.6rem 1rem;
}
.content-wrapper .card-body {
    padding: 1rem;
}
