/*
 * Bultmeyer-Logistik – NOVA Child Theme
 *
 * Diese Datei wird nach dem kompilierten NOVA-Theme geladen. Sie enthält
 * ausschließlich die Bultmeyer-Design-Overrides und verändert keine NOVA-Datei.
 */

:root {
    --bultmeyer-bg: #06131d;
    --bultmeyer-bg-deep: #040d14;
    --bultmeyer-panel: #071925;
    --bultmeyer-panel-alt: #0b2333;
    --bultmeyer-accent: #15a7bc;
    --bultmeyer-accent-light: #5de7f2;
    --bultmeyer-text: #ffffff;
    --bultmeyer-muted: #cfd9e3;
    --bultmeyer-soft: #8ca0b4;
    --bultmeyer-line: rgba(255, 255, 255, .12);
    --bultmeyer-shadow: 0 18px 48px rgba(0, 0, 0, .24);
}

/* Grundfläche und Typografie */
body.is-nova {
    background: var(--bultmeyer-bg);
    color: var(--bultmeyer-text);
    font-family: Arial, Helvetica, sans-serif;
}

body.is-nova #main-wrapper,
body.is-nova #content-wrapper,
body.is-nova #content {
    background: var(--bultmeyer-bg);
}

body.is-nova .container-fluid-xl {
    max-width: 1510px;
}

body.is-nova h1,
body.is-nova h2,
body.is-nova h3,
body.is-nova h4,
body.is-nova h5,
body.is-nova h6,
body.is-nova .h1,
body.is-nova .h2,
body.is-nova .h3,
body.is-nova .h4,
body.is-nova .h5,
body.is-nova .h6 {
    color: var(--bultmeyer-text);
    font-family: Arial, Helvetica, sans-serif;
    font-weight: 700;
}

body.is-nova a {
    color: var(--bultmeyer-accent-light);
}

body.is-nova a:hover,
body.is-nova a:focus {
    color: var(--bultmeyer-text);
}

body.is-nova .text-dark,
body.is-nova .text-body,
body.is-nova .text-muted {
    color: var(--bultmeyer-muted) !important;
}

body.is-nova .bg-white,
body.is-nova .bg-light {
    background-color: var(--bultmeyer-panel) !important;
}

/* Kopfbereich */
body.is-nova #header-top-bar,
body.is-nova .topbar-wrapper {
    background: #06111a;
    border-bottom: 1px solid var(--bultmeyer-line);
    color: #e7eef6;
}

body.is-nova #header-top-bar .nav-link,
body.is-nova .topbar-wrapper .nav-link {
    color: #e7eef6;
    font-size: .82rem;
}

body.is-nova #header-top-bar .nav-link:hover,
body.is-nova .topbar-wrapper .nav-link:hover {
    color: var(--bultmeyer-accent-light);
}

body.is-nova #jtl-nav-wrapper {
    background: linear-gradient(90deg, #071928 0%, #081521 100%);
    border-bottom: 1px solid var(--bultmeyer-line);
    box-shadow: 0 8px 26px rgba(0, 0, 0, .18);
}

body.is-nova #jtl-nav-wrapper > .container-fluid,
body.is-nova #jtl-nav-wrapper .container-fluid-xl {
    max-width: 1510px;
}

body.is-nova #jtl-nav-wrapper .navbar-brand {
    padding-top: .65rem;
    padding-bottom: .65rem;
}

body.is-nova #jtl-nav-wrapper #shop-logo {
    max-height: 62px;
    width: auto;
    object-fit: contain;
}

body.is-nova #jtl-nav-wrapper .nav-link,
body.is-nova #jtl-nav-wrapper .nav-icons .nav-link {
    color: #f5fbff;
    font-weight: 700;
    transition: color .2s ease, background-color .2s ease;
}

body.is-nova #jtl-nav-wrapper .nav-link:hover,
body.is-nova #jtl-nav-wrapper .nav-link:focus,
body.is-nova #jtl-nav-wrapper .nav-item.show > .nav-link {
    color: var(--bultmeyer-accent-light);
}

body.is-nova #mainNavigation .nav-scrollbar-item > .nav-link {
    text-transform: uppercase;
    letter-spacing: .03em;
}

body.is-nova #jtl-nav-wrapper .navbar-toggler,
body.is-nova #burger-menu {
    border-color: var(--bultmeyer-accent);
    color: var(--bultmeyer-accent-light);
}

body.is-nova #jtl-nav-wrapper .navbar-toggler-icon,
body.is-nova #burger-menu .navbar-toggler-icon {
    filter: invert(1) sepia(1) saturate(4) hue-rotate(145deg);
}

body.is-nova #jtl-nav-wrapper .search-wrapper .form-control {
    min-height: 42px;
}

/* Dropdowns und Mega-Menü */
body.is-nova .dropdown-menu,
body.is-nova .subcategory-wrapper {
    background: var(--bultmeyer-panel);
    border: 1px solid var(--bultmeyer-line);
    box-shadow: var(--bultmeyer-shadow);
}

body.is-nova .dropdown-item,
body.is-nova .subcategory-wrapper a,
body.is-nova .submenu-headline {
    color: var(--bultmeyer-muted);
}

body.is-nova .dropdown-item:hover,
body.is-nova .dropdown-item:focus,
body.is-nova .subcategory-wrapper a:hover,
body.is-nova .submenu-headline:hover {
    background: var(--bultmeyer-panel-alt);
    color: var(--bultmeyer-accent-light);
}

/* Breadcrumbs und Inhaltsbereich */
body.is-nova .breadcrumb-container {
    background: rgba(4, 13, 20, .72);
    border-bottom: 1px solid var(--bultmeyer-line);
}

body.is-nova .breadcrumb {
    background: transparent;
    color: var(--bultmeyer-soft);
}

body.is-nova .breadcrumb-item.active,
body.is-nova .breadcrumb-item + .breadcrumb-item::before {
    color: var(--bultmeyer-muted);
}

body.is-nova #content-wrapper {
    min-height: 42vh;
}

body.is-nova #content-wrapper.has-fluid {
    max-width: none;
}

/* Buttons */
body.is-nova .btn-primary,
body.is-nova .btn-primary:not(:disabled):not(.disabled):active,
body.is-nova .btn-primary:not(:disabled):not(.disabled).active {
    background: linear-gradient(135deg, var(--bultmeyer-accent), #0f8798);
    border-color: var(--bultmeyer-accent);
    color: #031518;
    font-weight: 800;
}

body.is-nova .btn-primary:hover,
body.is-nova .btn-primary:focus {
    background: linear-gradient(135deg, #5de7f2, var(--bultmeyer-accent));
    border-color: var(--bultmeyer-accent-light);
    color: #031518;
    box-shadow: 0 0 0 .2rem rgba(21, 167, 188, .22);
}

body.is-nova .btn-secondary {
    background: var(--bultmeyer-panel-alt);
    border-color: var(--bultmeyer-accent);
    color: var(--bultmeyer-text);
}

body.is-nova .btn-secondary:hover,
body.is-nova .btn-secondary:focus,
body.is-nova .btn-outline-primary:hover {
    background: var(--bultmeyer-accent);
    border-color: var(--bultmeyer-accent);
    color: #031518;
}

body.is-nova .btn-outline-primary {
    border-color: var(--bultmeyer-accent);
    color: var(--bultmeyer-accent-light);
}

/* Formulare */
body.is-nova .form-control,
body.is-nova .custom-select,
body.is-nova select,
body.is-nova textarea {
    background-color: #071722;
    border-color: var(--bultmeyer-line);
    color: var(--bultmeyer-text);
}

body.is-nova .form-control::placeholder {
    color: var(--bultmeyer-soft);
    opacity: 1;
}

body.is-nova .form-control:focus,
body.is-nova .custom-select:focus,
body.is-nova select:focus,
body.is-nova textarea:focus {
    background-color: #092235;
    border-color: var(--bultmeyer-accent);
    color: var(--bultmeyer-text);
    box-shadow: 0 0 0 .2rem rgba(21, 167, 188, .18);
}

body.is-nova label,
body.is-nova legend,
body.is-nova .col-form-label {
    color: var(--bultmeyer-muted);
}

/* Karten, Boxen und Produkte */
body.is-nova .card,
body.is-nova .box-normal,
body.is-nova .box-nav-item,
body.is-nova .box-link-wrapper,
body.is-nova .product-wrapper,
body.is-nova .productlist-filter,
body.is-nova .modal-content {
    background: linear-gradient(180deg, var(--bultmeyer-panel-alt), var(--bultmeyer-panel));
    border-color: var(--bultmeyer-line);
    color: var(--bultmeyer-muted);
}

body.is-nova .card-header,
body.is-nova .card-footer,
body.is-nova .box-normal-hr,
body.is-nova .box-filter-hr {
    background: transparent;
    border-color: var(--bultmeyer-line);
}

body.is-nova .card-title,
body.is-nova .product-wrapper .product-title,
body.is-nova .product-wrapper .product-title a {
    color: var(--bultmeyer-text);
}

body.is-nova .product-wrapper:hover {
    border-color: rgba(21, 167, 188, .55);
    box-shadow: var(--bultmeyer-shadow);
}

body.is-nova .badge-primary,
body.is-nova .badge-secondary {
    background: var(--bultmeyer-accent);
    color: #031518;
}

body.is-nova .table {
    color: var(--bultmeyer-muted);
}

body.is-nova .table thead th,
body.is-nova .table th,
body.is-nova .table td {
    border-color: var(--bultmeyer-line);
}

body.is-nova .table-striped tbody tr:nth-of-type(odd),
body.is-nova .table-hover tbody tr:hover {
    background: rgba(255, 255, 255, .04);
}

body.is-nova .alert {
    background: var(--bultmeyer-panel-alt);
    border-color: var(--bultmeyer-line);
    color: var(--bultmeyer-muted);
}

/* Footer */
body.is-nova #footer {
    background: var(--bultmeyer-bg-deep);
    border-top: 1px solid var(--bultmeyer-line);
    color: var(--bultmeyer-muted);
}

body.is-nova #footer .card,
body.is-nova #footer .box-normal {
    background: transparent;
    border-color: var(--bultmeyer-line);
}

body.is-nova #footer a:not(.btn),
body.is-nova #footer .nav-link {
    color: var(--bultmeyer-muted);
}

body.is-nova #footer a:not(.btn):hover,
body.is-nova #footer .nav-link:hover {
    color: var(--bultmeyer-accent-light);
}

body.is-nova #footer .newsletter-footer,
body.is-nova #footer .footer-social-media {
    border-color: var(--bultmeyer-line);
}

body.is-nova #copyright {
    background: #02080d;
    border-top: 1px solid var(--bultmeyer-line);
    color: var(--bultmeyer-soft);
}

body.is-nova #copyright a {
    color: var(--bultmeyer-accent-light);
}

/* Consent-Manager und modale Bereiche */
body.is-nova .consent-modal,
body.is-nova .consent-modal-content,
body.is-nova .modal-content {
    background: var(--bultmeyer-panel);
    color: var(--bultmeyer-muted);
}

body.is-nova .modal-header,
body.is-nova .modal-footer {
    border-color: var(--bultmeyer-line);
}

/* Mobile Anpassungen */
@media (max-width: 991.98px) {
    body.is-nova #mainNavigation {
        background: var(--bultmeyer-bg-deep);
        border-top: 1px solid var(--bultmeyer-line);
        margin-top: .5rem;
        padding: .5rem;
    }

    body.is-nova #mainNavigation .nav-link {
        border-bottom: 1px solid var(--bultmeyer-line);
    }

    body.is-nova .subcategory-wrapper {
        box-shadow: none;
    }
}

@media (max-width: 575.98px) {
    body.is-nova #jtl-nav-wrapper #shop-logo {
        max-height: 50px;
        max-width: 210px;
    }

    body.is-nova .breadcrumb-container {
        display: none;
    }
}
