/* Dashboard/auth overrides. No frontend template rules are loaded here. */
body { background: var(--sib-ivory); color: var(--sib-black); }
a { color: var(--sib-black); }
a:hover, a:focus { color: var(--sib-charcoal); text-decoration-color: var(--sib-gold); }
a:hover { text-decoration: underline; }
h1, h2, h3, h4, h5, h6, .page-title, .card-title { color: var(--sib-black); }
.header, .card, .card .card-header, .card-footer, .modal-content, .dropdown-menu,
.list-group-item, .user-header { background-color: var(--sib-white); border-color: var(--sib-gray-light); }
.header .user-menu.nav > li > a, .mobile_btn, #toggle_btn { color: var(--sib-black); }
.sidebar { background-color: var(--sib-charcoal); }
.sidebar-menu li a { color: var(--sib-gray-light); }
.sidebar-menu > ul > li > a:hover, .sidebar-menu li a:hover {
    background-color: var(--sib-black); color: var(--sib-gold);
}
.sidebar-menu li.active > a, .sidebar-menu > ul > li.active > a:hover,
.sidebar-menu ul ul a.active { background-color: var(--sib-gold); color: var(--sib-black); }
.menu-title { color: var(--sib-gray-light); }
.sidebar-menu li.menu-title a { color: var(--sib-gold); }
.text-muted, .text-secondary, .breadcrumb, .breadcrumb-item, .breadcrumb-item a,
.breadcrumb-item.active, .form-text { color: var(--sib-text-muted) !important; }
.text-primary, .text-info, .text-purple { color: var(--sib-black) !important; }
.text-success { color: var(--sib-success) !important; }
.text-danger, .invalid-feedback { color: var(--sib-danger) !important; }
.text-warning { color: var(--sib-charcoal) !important; }
.border-primary, .border-info { border-color: var(--sib-gold) !important; }
.border-success { border-color: var(--sib-success) !important; }
.border-warning { border-color: var(--sib-warning) !important; }
.border-danger { border-color: var(--sib-danger) !important; }
.bg-primary, .badge-primary, .bg-info, .badge-info, .bg-purple, .badge-purple {
    background-color: var(--sib-gold) !important; color: var(--sib-black) !important;
}
.bg-success, .badge-success { background-color: var(--sib-success) !important; color: var(--sib-white) !important; }
.bg-warning, .badge-warning { background-color: var(--sib-warning) !important; color: var(--sib-black) !important; }
.bg-danger, .badge-danger { background-color: var(--sib-danger) !important; color: var(--sib-white) !important; }
.bg-secondary, .badge-secondary { background-color: var(--sib-charcoal) !important; color: var(--sib-white) !important; }
.bg-light, .badge-light { background-color: var(--sib-ivory) !important; color: var(--sib-black) !important; }
.bg-primary-light, .bg-info-light, .bg-purple-light, .bg-warning-light {
    background-color: var(--sib-gold-soft) !important; color: var(--sib-black) !important;
}
.bg-success-light { background-color: var(--sib-success-soft) !important; color: var(--sib-charcoal) !important; }
.bg-danger-light { background-color: var(--sib-danger-soft) !important; color: var(--sib-charcoal) !important; }

/* Bootstrap 4 and the legacy template hardcode button states, including !important. */
.btn-primary, .btn-info { background-color: var(--sib-gold); border-color: var(--sib-gold); color: var(--sib-black); }
.btn-primary:hover, .btn-primary:focus, .btn-primary:active, .btn-primary.active,
.btn-primary:not(:disabled):not(.disabled):active, .show > .btn-primary.dropdown-toggle,
.btn-info:hover, .btn-info:focus, .btn-info:not(:disabled):not(.disabled):active {
    background-color: var(--sib-gold-dark) !important; border-color: var(--sib-gold-dark) !important; color: var(--sib-black) !important;
}
.btn-primary:disabled, .btn-primary.disabled { background-color: var(--sib-gold); border-color: var(--sib-gold); color: var(--sib-black); }
.btn-outline-primary, .btn-outline-info, .btn-outline-secondary { background-color: transparent; border-color: var(--sib-black); color: var(--sib-black); }
.btn-outline-primary:hover, .btn-outline-primary:focus, .btn-outline-primary:not(:disabled):not(.disabled):active,
.btn-outline-info:hover, .btn-outline-info:focus, .btn-outline-info:not(:disabled):not(.disabled):active,
.btn-outline-secondary:hover, .btn-outline-secondary:focus, .btn-outline-secondary:not(:disabled):not(.disabled):active {
    background-color: var(--sib-black); border-color: var(--sib-black); color: var(--sib-white);
}
.btn-secondary, .btn-secondary:hover { background-color: var(--sib-charcoal); border-color: var(--sib-charcoal); color: var(--sib-white); }
.btn-light { background-color: var(--sib-ivory); border-color: var(--sib-gray-light); color: var(--sib-black); }
.btn-success, .btn-success:hover, .btn-success:focus, .btn-success:not(:disabled):not(.disabled):active,
.btn-outline-success:hover, .btn-outline-success:focus, .btn-outline-success:not(:disabled):not(.disabled):active {
    background-color: var(--sib-success); border-color: var(--sib-success); color: var(--sib-white);
}
.btn-danger, .btn-danger:hover, .btn-danger:focus, .btn-danger:not(:disabled):not(.disabled):active,
.btn-outline-danger:hover, .btn-outline-danger:focus, .btn-outline-danger:not(:disabled):not(.disabled):active {
    background-color: var(--sib-danger); border-color: var(--sib-danger); color: var(--sib-white);
}
.btn-warning, .btn-warning:hover, .btn-warning:focus, .btn-warning:not(:disabled):not(.disabled):active,
.btn-outline-warning:hover, .btn-outline-warning:focus, .btn-outline-warning:not(:disabled):not(.disabled):active {
    background-color: var(--sib-warning); border-color: var(--sib-warning); color: var(--sib-black);
}
.btn-outline-success { color: var(--sib-success); border-color: var(--sib-success); }
.btn-outline-danger { color: var(--sib-danger); border-color: var(--sib-danger); }
.btn-outline-warning { color: var(--sib-charcoal); border-color: var(--sib-warning); }
.btn:focus, .btn.focus, .btn:not(:disabled):not(.disabled):active:focus { box-shadow: 0 0 0 .2rem var(--sib-gold-soft) !important; }

.table { color: var(--sib-black); }
.table th, .table td, .table thead th, .table-bordered { border-color: var(--sib-gray-light); }
.table thead th, .table .thead-light th { background-color: var(--sib-ivory); color: var(--sib-black); border-color: var(--sib-gray-light); }
.table-hover tbody tr:hover, .table-striped tbody tr:nth-of-type(odd) { background-color: var(--sib-ivory); }
.page-link, .pagination > li > a, .pagination > li > span { background-color: var(--sib-white); border-color: var(--sib-gray-light); color: var(--sib-black); }
.page-link:hover { background-color: var(--sib-gold-soft); color: var(--sib-black); border-color: var(--sib-gold); }
.page-item.active .page-link, .pagination > .active > a, .pagination > .active > span,
.pagination > .active > a:hover, .pagination > .active > span:hover {
    background-color: var(--sib-black); border-color: var(--sib-black); color: var(--sib-white);
}
.page-link:focus { box-shadow: 0 0 0 .2rem var(--sib-gold-soft); }
.nav-tabs .nav-link.active, .nav-tabs.nav-tabs-solid > li > a.active,
.nav-tabs.nav-tabs-solid > li > a.active:hover, .nav-pills .nav-link.active {
    background-color: var(--sib-gold-soft); color: var(--sib-black); border-color: var(--sib-gold);
}
.nav-tabs.nav-tabs-top > li > a.active, .nav-tabs.nav-tabs-bottom > li > a.active { border-color: var(--sib-gold); }
.dropdown-item:hover, .dropdown-item:focus, .dropdown-item.active, .dropdown-item:active { background-color: var(--sib-gold-soft); color: var(--sib-black); }

.form-control, .custom-select, .input-group-text, .select2-dropdown,
.select2-container--default .select2-selection--single, .select2-container--default .select2-selection--multiple {
    background-color: var(--sib-white); border-color: var(--sib-gray-light); color: var(--sib-black);
}
.select2-container--default .select2-selection--single .select2-selection__rendered { color: var(--sib-black); }
.form-control::placeholder { color: var(--sib-text-muted); opacity: 1; }
.form-control:focus, .custom-select:focus, .select2-container--default.select2-container--focus .select2-selection--multiple,
.select2-container--default.select2-container--open .select2-selection--single,
.shopinbeirut-login-right .form-control:focus {
    border-color: var(--sib-gold); box-shadow: 0 0 0 .2rem var(--sib-gold-soft);
}
.form-control:disabled, .form-control[readonly] { background-color: var(--sib-ivory); color: var(--sib-text-muted); }
.form-control.is-invalid, .was-validated .form-control:invalid { border-color: var(--sib-danger); }
input[type="checkbox"], input[type="radio"], input[type="range"] { accent-color: var(--sib-black); }
.custom-control-input:checked ~ .custom-control-indicator { background-color: var(--sib-black); }
.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option[aria-selected=true],
.select2-container--default .select2-selection--multiple .select2-selection__choice {
    background-color: var(--sib-gold-soft); border-color: var(--sib-gold); color: var(--sib-black);
}
.alert-primary, .alert-info, .alert-warning { background-color: var(--sib-gold-soft); border-color: var(--sib-gold); color: var(--sib-black); }
.alert-success { background-color: var(--sib-success-soft); border-color: var(--sib-success); color: var(--sib-charcoal); }
.alert-danger { background-color: var(--sib-danger-soft); border-color: var(--sib-danger); color: var(--sib-charcoal); }
.alert .alert-link { color: inherit; text-decoration: underline; }
.progress { background-color: var(--sib-gray-light); }
.progress-bar { background-color: var(--sib-gold); color: var(--sib-black); }

/* Auth uses the same palette with a black primary action. */
.auth-marketplace .login-wrapper .loginbox .login-left { background: var(--sib-ivory); color: var(--sib-black); }
.shopinbeirut-login-right .btn-primary { background-color: var(--sib-black); border-color: var(--sib-black); color: var(--sib-white); }
.shopinbeirut-login-right .btn-primary:hover, .shopinbeirut-login-right .btn-primary:focus,
.shopinbeirut-login-right .btn-primary:not(:disabled):not(.disabled):active {
    background-color: var(--sib-gold) !important; border-color: var(--sib-gold) !important; color: var(--sib-black) !important;
}
.auth-brand-logo { object-fit: contain; }
/* Strong keyboard focus survives the template's outline reset. */
body :is(a, button, input, select, textarea, [tabindex]):focus-visible {
    outline: 2px solid var(--sib-black); outline-offset: 2px; box-shadow: 0 0 0 4px var(--sib-gold-soft) !important;
}
.sidebar :focus-visible { outline-color: var(--sib-gold); box-shadow: none !important; }

/* Keep auth surfaces warm even where the original login selectors are stronger. */
.auth-marketplace .login-wrapper .loginbox { background-color: var(--sib-white); box-shadow: 0 0 10px var(--sib-shadow); }
.header .dropdown-menu .user-header { background-color: var(--sib-ivory); }
.select2-search--dropdown .select2-search__field { color: var(--sib-black); background-color: var(--sib-white); border-color: var(--sib-gray-light); }
.select2-search--dropdown .select2-search__field:focus { border-color: var(--sib-gold); }
