/* KrosGear red/black theme
   Theme Patch 1: brand override only.
   Safe rollback: remove this file link from HTML.
*/

:root{
    --kg-brand-red: #E30613;
    --kg-brand-red-dark: #B0000B;
    --kg-brand-red-deep: #7A0008;
    --kg-dark: #0B0B0D;
    --kg-dark-2: #171A1D;
    --kg-text: #242A30;
    --kg-muted: #6F7780;
    --kg-page: #F4F5F7;
    --kg-card: #FFFFFF;
    --kg-border: #D9DEE3;
    --kg-red-soft: #FDE8EA;
    --kg-red-soft-2: #F8C8CC;
}

/* Base */
body{
    background-color: var(--kg-page);
    color: var(--kg-text);
}

a{
    color: var(--kg-brand-red);
}

a:hover,
a:focus{
    color: var(--kg-brand-red-dark);
}

/* Main template color replacements */
.bg-primary{
    background-color: var(--kg-brand-red) !important;
}

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

.text-primary{
    color: var(--kg-brand-red) !important;
}

.text-secondary,
.text-muted{
    color: var(--kg-muted) !important;
}

.border-primary{
    border-color: var(--kg-brand-red) !important;
}

.border-secondary{
    border-color: var(--kg-dark-2) !important;
}

/* Buttons */
.btn-primary,
.btn-warning{
    color: #fff !important;
    background-color: var(--kg-brand-red) !important;
    border-color: var(--kg-brand-red) !important;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-warning:hover,
.btn-warning:focus,
.btn-warning:active{
    color: #fff !important;
    background-color: var(--kg-brand-red-dark) !important;
    border-color: var(--kg-brand-red-dark) !important;
}

.btn-outline-primary,
.btn-outline-warning{
    color: var(--kg-brand-red) !important;
    border-color: var(--kg-brand-red) !important;
}

.btn-outline-primary:hover,
.btn-outline-primary:focus,
.btn-outline-warning:hover,
.btn-outline-warning:focus{
    color: #fff !important;
    background-color: var(--kg-brand-red) !important;
    border-color: var(--kg-brand-red) !important;
}

.btn-light{
    border-color: var(--kg-border);
}

/* Badges and counters */
.badge-primary,
.badge-warning,
.kg-cart-count,
.kg-fav-count,
.kg-count-badge,
.navbar .badge{
    color: #fff !important;
    background-color: var(--kg-brand-red) !important;
}

/* Header / nav */
.topbar,
.kg-topbar,
.navbar-dark,
.header,
.kg-header{
    background-color: var(--kg-dark) !important;
}

.navbar-dark .navbar-nav .nav-link{
    color: rgba(255,255,255,.88) !important;
}

.navbar-dark .navbar-nav .nav-link:hover,
.navbar-dark .navbar-nav .nav-link.active,
.navbar-dark .navbar-nav .show > .nav-link{
    color: #fff !important;
}

.navbar-dark .navbar-nav .nav-link.active,
.navbar-dark .navbar-nav .nav-item.active > .nav-link{
    color: var(--kg-brand-red) !important;
}

/* Category header / vertical menu */
.navbar-vertical .navbar-nav .nav-link,
.kg-category-link,
.kg-category-row{
    color: var(--kg-text);
}

.navbar-vertical .navbar-nav .nav-link:hover,
.navbar-vertical .navbar-nav .nav-link.active,
.kg-category-link:hover,
.kg-category-link.is-active,
.kg-category-row:hover,
.kg-category-row.is-active{
    color: var(--kg-brand-red-deep) !important;
    background-color: var(--kg-red-soft) !important;
}

.navbar-vertical .navbar-nav .nav-link.active,
.kg-category-link.is-active,
.kg-category-row.is-active{
    border-color: var(--kg-brand-red) !important;
}

/* Chips / active filters */
.kg-chip,
.kg-active-filter,
.kg-filter-chip,
.kg-catalog-chip{
    color: var(--kg-brand-red-deep) !important;
    background-color: var(--kg-red-soft) !important;
    border-color: var(--kg-red-soft-2) !important;
}

/* Product cards */
.product-item,
.kg-card,
.kg-product-card,
.kg-page-box,
.kg-collection-box{
    background-color: var(--kg-card);
}

.product-item .product-title,
.kg-card-title,
.kg-product-title,
.kg-card-name{
    color: var(--kg-text);
}

.product-item .product-title:hover,
.kg-card-title:hover,
.kg-product-title:hover,
.kg-card-name:hover{
    color: var(--kg-brand-red);
}

.product-price,
.kg-price,
.kg-card-price{
    color: var(--kg-dark);
}

/* Product action icons */
.product-action a,
.kg-card-actions a,
.kg-card-actions button,
.kg-product-actions a,
.kg-product-actions button{
    color: var(--kg-dark) !important;
    border-color: var(--kg-border) !important;
    background-color: #fff !important;
}

.product-action a:hover,
.kg-card-actions a:hover,
.kg-card-actions button:hover,
.kg-product-actions a:hover,
.kg-product-actions button:hover{
    color: #fff !important;
    border-color: var(--kg-brand-red) !important;
    background-color: var(--kg-brand-red) !important;
}

/* Forms */
.form-control:focus,
.custom-select:focus{
    border-color: var(--kg-brand-red) !important;
    box-shadow: 0 0 0 .2rem rgba(227, 6, 19, .15) !important;
}

.custom-control-input:checked ~ .custom-control-label::before{
    border-color: var(--kg-brand-red) !important;
    background-color: var(--kg-brand-red) !important;
}

/* Pagination / owl dots / sliders */
.page-item.active .page-link{
    color: #fff !important;
    background-color: var(--kg-brand-red) !important;
    border-color: var(--kg-brand-red) !important;
}

.page-link{
    color: var(--kg-brand-red);
}

.page-link:hover{
    color: var(--kg-brand-red-dark);
}

.owl-dot.active span,
.owl-carousel .owl-nav button:hover,
.kg-rail__nav:hover,
.kg-rail__nav:focus{
    background-color: var(--kg-brand-red) !important;
    border-color: var(--kg-brand-red) !important;
    color: #fff !important;
}

/* Back to top */
.back-to-top,
.kg-back-to-top{
    color: #fff !important;
    background-color: var(--kg-brand-red) !important;
    border-color: var(--kg-brand-red) !important;
}

.back-to-top:hover,
.kg-back-to-top:hover{
    background-color: var(--kg-brand-red-dark) !important;
    border-color: var(--kg-brand-red-dark) !important;
}

/* Tables */
.table thead th,
.cart-table thead th,
.kg-table thead th{
    background-color: var(--kg-dark-2) !important;
    color: #fff !important;
    border-color: var(--kg-dark-2) !important;
}

/* Mobile menu */
@media (max-width: 991.98px){
    .navbar-dark,
    .kg-mobile-nav,
    .kg-header{
        background-color: var(--kg-dark) !important;
    }

    .navbar-toggler{
        border-color: rgba(255,255,255,.28) !important;
    }

    .navbar-toggler:hover,
    .navbar-toggler:focus{
        border-color: var(--kg-brand-red) !important;
        box-shadow: 0 0 0 .18rem rgba(227, 6, 19, .22) !important;
    }
}

/* Do not override success/danger semantic colors intentionally:
   .badge-success / .alert-success / .alert-danger remain Bootstrap-like.
*/

/* KrosGear red theme cleanup v2
   - better contrast on red/dark backgrounds
   - remove remaining yellow hover/active states
*/

/* Red/dark blocks must not contain low-contrast grey text */
.bg-primary,
.btn-primary,
.btn-warning,
.badge-primary,
.badge-warning,
.kg-count-badge,
.kg-cart-count,
.kg-fav-count,
.back-to-top,
.kg-back-to-top{
    color: #fff !important;
}

.bg-primary *,
.btn-primary *,
.btn-warning *,
.badge-primary *,
.badge-warning *{
    color: inherit !important;
}

.bg-primary .text-muted,
.bg-primary .text-secondary,
.btn-primary .text-muted,
.btn-warning .text-muted{
    color: rgba(255,255,255,.88) !important;
}

.bg-primary,
.btn-primary,
.btn-warning{
    text-shadow: 0 1px 1px rgba(0,0,0,.28);
}

/* Old yellow utility classes mapped to brand red */
.bg-warning{
    background-color: var(--kg-brand-red) !important;
    color: #fff !important;
}

.text-warning{
    color: var(--kg-brand-red) !important;
}

.border-warning{
    border-color: var(--kg-brand-red) !important;
}

.alert-warning{
    color: var(--kg-brand-red-deep) !important;
    background-color: var(--kg-red-soft) !important;
    border-color: var(--kg-red-soft-2) !important;
}

/* Category top button and category dropdown */
.navbar-vertical .btn,
.navbar-vertical .btn.bg-primary,
a.btn.bg-primary,
button.btn.bg-primary{
    background-color: var(--kg-brand-red) !important;
    border-color: var(--kg-brand-red) !important;
    color: #fff !important;
}

.navbar-vertical .btn:hover,
.navbar-vertical .btn:focus,
.navbar-vertical .btn.bg-primary:hover,
.navbar-vertical .btn.bg-primary:focus,
a.btn.bg-primary:hover,
a.btn.bg-primary:focus,
button.btn.bg-primary:hover,
button.btn.bg-primary:focus{
    background-color: var(--kg-brand-red-dark) !important;
    border-color: var(--kg-brand-red-dark) !important;
    color: #fff !important;
}

/* Header/nav icons inherit correct link color instead of staying yellow */
.navbar .nav-link i,
.navbar .nav-item i,
.kg-header i,
.kg-topbar i{
    color: inherit !important;
}

.navbar-dark .navbar-nav .nav-link:hover,
.navbar-dark .navbar-nav .nav-link:focus{
    color: #fff !important;
}

.navbar-dark .navbar-nav .nav-link:hover i,
.navbar-dark .navbar-nav .nav-link:focus i{
    color: var(--kg-brand-red) !important;
}

/* User/admin icons */
.fa-user,
.far.fa-user,
.fa-tools,
.fa-wrench{
    color: inherit;
}

/* Product view switch */
.kg-view-switch .btn,
.kg-view-switch button,
.kg-view-switch a,
.kg-view-btn,
[data-kg-view]{
    border-color: var(--kg-border) !important;
    background-color: #fff !important;
    color: var(--kg-text) !important;
}

.kg-view-switch .btn:hover,
.kg-view-switch button:hover,
.kg-view-switch a:hover,
.kg-view-btn:hover,
[data-kg-view]:hover{
    border-color: var(--kg-brand-red) !important;
    color: var(--kg-brand-red) !important;
}

.kg-view-switch .btn.active,
.kg-view-switch button.active,
.kg-view-switch a.active,
.kg-view-btn.active,
.kg-view-btn.is-active,
[data-kg-view].active,
[data-kg-view].is-active{
    background-color: var(--kg-brand-red) !important;
    border-color: var(--kg-brand-red) !important;
    color: #fff !important;
}

/* Category tree yellow leftovers */
.kg-category-tree .kg-tree-toggle:hover,
.kg-category-tree .kg-tree-node.is-ancestor > .kg-tree-toggle{
    background-color: var(--kg-red-soft) !important;
    color: var(--kg-brand-red-deep) !important;
    border-color: var(--kg-red-soft-2) !important;
}

.kg-category-tree .kg-tree-node.is-selected > .kg-tree-toggle,
.kg-category-tree .kg-tree-toggle.active,
.kg-category-tree .kg-tree-toggle.is-active{
    background-color: var(--kg-brand-red) !important;
    color: #fff !important;
    border-color: var(--kg-brand-red) !important;
}

.kg-category-tree .kg-tree-node.is-selected > .kg-tree-toggle *,
.kg-category-tree .kg-tree-toggle.active *,
.kg-category-tree .kg-tree-toggle.is-active *{
    color: #fff !important;
}

.kg-tree-caret,
.kg-tree-toggle:hover .kg-tree-caret{
    color: var(--kg-brand-red) !important;
}

.kg-category-tree .kg-tree-node.is-selected > .kg-tree-toggle .kg-tree-caret{
    color: #fff !important;
}

.kg-tree-count{
    background-color: #fff !important;
    color: var(--kg-muted) !important;
}

.kg-category-tree .kg-tree-node.is-selected > .kg-tree-toggle .kg-tree-count{
    background-color: rgba(255,255,255,.18) !important;
    color: #fff !important;
}

/* Links that still hover to yellow */
a:hover,
a:focus,
.nav-link:hover,
.nav-link:focus,
.dropdown-item:hover,
.dropdown-item:focus{
    color: var(--kg-brand-red) !important;
}

.dropdown-item.active,
.dropdown-item:active{
    background-color: var(--kg-brand-red) !important;
    color: #fff !important;
}

/* Form focus and outline buttons */
.form-control:focus,
.custom-select:focus,
.btn:focus{
    border-color: var(--kg-brand-red) !important;
    box-shadow: 0 0 0 .2rem rgba(227,6,19,.16) !important;
}

/* Active filter chips */
.kg-chip,
.kg-active-filter,
.kg-filter-chip,
.kg-catalog-chip{
    color: var(--kg-brand-red-deep) !important;
    background-color: var(--kg-red-soft) !important;
    border-color: var(--kg-red-soft-2) !important;
}

/* Mobile hamburger focus outline */
.navbar-toggler:hover,
.navbar-toggler:focus{
    border-color: var(--kg-brand-red) !important;
    box-shadow: 0 0 0 .18rem rgba(227,6,19,.22) !important;
}

/* Keep semantic colors intact */
.badge-success,
.alert-success,
.text-success{
    /* intentionally unchanged */
}
