/**
 * PrestaShop Classic Theme - Premium Dark Mode Customization
 * Colors: Deep Black (#000000), Electric Cyan (#00bcff), Gold/Yellow (#ffcc33)
 */

/* General Resets & Layout */
body, #page, #wrapper, #main {
    background-color: #000000 !important;
}

/* Typography & Links */
h1, h2, h3, h4, h5, h6 {
    color: #ffffff !important;
}

a, .link {
    color: #00bcff !important;
    transition: color 0.2s ease;
}

a:hover, a:focus, .link:hover {
    color: #008ebf !important;
    text-decoration: none !important;
}

.text-muted {
    color: #8c8c8c !important;
}

/* Header & Top Navigation */
.header-nav {
    background-color: #000000 !important;
    border-bottom: 1px solid #141414 !important;
}

.header-nav a, .header-nav span, .header-nav i {
    color: #dcdcdc !important;
}

.header-nav a:hover, .header-nav a:hover i {
    color: #00bcff !important;
}

.header-top {
    background-color: #000000 !important;
    border-bottom: 2px solid #00bcff !important; /* Glow accent separator bar */
    padding-bottom: 15px;
}

.header-top a {
    color: #ffffff !important;
}

#header .header-nav > .container-fluid,
#header .header-top > .container-fluid {
    width: 100%;
    padding-right: 24px;
    padding-left: 24px;
}

/* Keep the wide shop logo and the navigation in separate desktop rows. */
.header-logo-row #_desktop_logo {
    width: 100%;
    text-align: left;
    padding-top: 20px;
    padding-bottom: 10px;
}

.header-logo-row #_desktop_logo h1 {
    margin: 0;
}

.header-logo-row #_desktop_logo .logo {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    margin: 0;
}

.header-menu-row {
    clear: both;
}

.header-menu-row .header-top-right {
    width: 100%;
}

/* Main Navigation Menu (Top Menu) */
#header #top-menu.top-menu[data-depth="0"] {
    background-color: #000000 !important;
    border: 1px solid #00bcff !important; /* Cyan border around the menu bar */
    padding: 0 !important;
    margin: 15px 0 0 0 !important;
    border-radius: 4px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: stretch;
    width: 100%;
    border-left: 1px solid #00bcff !important;
}

#header #_desktop_top_menu {
    float: none;
    width: auto;
}

#header .top-menu[data-depth="0"] > li {
    flex: 0 1 auto;
    border-right: 1px solid #00bcff !important; /* Vertical cyan separator borders */
    margin: 0 !important;
}

#header .top-menu[data-depth="0"] > li:last-child {
    border-right: none !important;
}

#header .top-menu a[data-depth="0"] {
    color: #ffffff !important;
    font-weight: bold;
    padding: 11px 12px !important;
    text-transform: uppercase;
    font-size: 0.8rem;
    display: block;
    transition: all 0.2s ease;
}

@media (max-width: 991px) {
    #header .header-nav > .container-fluid,
    #header .header-top > .container-fluid {
        padding-right: 15px;
        padding-left: 15px;
    }
}

/* Product information tabs live in their own full-width row. */
body#product .product-tabs-row {
    clear: both;
    display: block;
    width: auto !important;
}

body#product .product-tabs-row > .product-tabs-column,
body#product .product-tabs-full-width,
body#product .product-tabs-full-width .tab-content {
    width: 100% !important;
    max-width: none !important;
}

body#product .product-tabs-row > .product-tabs-column {
    float: none !important;
    display: block;
}

body#product .product-tabs-full-width .tab-content,
body#product .product-tabs-full-width .tab-pane {
    min-height: 0 !important;
    height: auto !important;
}

@media (max-width: 767px) {
    body#product .product-tabs-full-width {
        padding: 1rem !important;
    }

    body#product .product-tabs-full-width .nav-tabs {
        display: flex;
        flex-wrap: wrap;
        width: 100%;
    }

body#product .product-tabs-full-width .nav-tabs .nav-item {
        flex: 0 1 auto;
    }
}

/* Final authentication label override. */
#login-form .form-group .form-control-label,
form#login-form label.form-control-label,
.page-authentication .login-form label {
    color: #ffffff !important;
}

/* Authentication form contrast on the dark theme. */
body#authentication .login-form .form-control-label,
body#authentication #login-form .form-control-label,
body#authentication #login-form label {
    color: #dcdcdc !important;
}

body#authentication #login-form .form-control-comment,
body#authentication #login-form .help-block,
body#authentication #login-form small {
    color: #a9a9a9 !important;
}

body#authentication #login-form .forgot-password a,
body#authentication .no-account a {
    color: #00bcff !important;
}

#header .top-menu a[data-depth="0"]:hover {
    background-color: rgba(0, 188, 255, 0.15) !important;
    color: #00bcff !important;
}

/* Submenus (Dropdown Popovers) */
@media (min-width: 768px) {
#header .top-menu[data-depth="0"] > li {
    position: relative;
}

#header .top-menu a[data-depth="0"] .menu-chevron {
    display: inline-block;
    margin-left: 4px;
    font-size: 0.95rem;
    line-height: 0;
    vertical-align: -0.18rem;
    color: #7f8b92 !important;
    transition: color 0.2s ease, transform 0.2s ease;
}

#header .top-menu[data-depth="0"] > li:hover > a .menu-chevron,
#header .top-menu[data-depth="0"] > li:focus-within > a .menu-chevron {
    color: #00bcff !important;
    transform: rotate(180deg);
}

#header .top-menu[data-depth="0"] > li > .popover.sub-menu {
    top: 100% !important;
    right: auto !important;
    left: 0 !important;
    width: max-content !important;
    min-width: 250px !important;
    max-width: 340px !important;
    margin-top: 0 !important;
    background-color: #303030 !important;
    border: 1px solid #00bcff !important;
    border-radius: 0 0 5px 5px;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.8) !important;
    padding: 6px !important;
}

#header .top-menu[data-depth="0"] > li:nth-last-child(-n+3) > .popover.sub-menu {
    right: 0 !important;
    left: auto !important;
}

#header .top-menu .popover.sub-menu ul,
#header .top-menu .popover.sub-menu ul[data-depth="1"] {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

#header .top-menu .popover.sub-menu li,
#header .top-menu .popover.sub-menu ul[data-depth="1"] > li {
    display: block !important;
    float: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}

#header .top-menu .popover.sub-menu a {
    display: block !important;
    width: 100%;
    padding: 10px 12px !important;
    background-color: transparent !important;
    color: #dcdcdc !important;
    font-size: 0.82rem;
    font-weight: 600;
    line-height: 1.25;
    text-align: left;
    white-space: normal;
    border-radius: 3px;
}

#header .top-menu .popover.sub-menu a:hover,
#header .top-menu .popover.sub-menu a:focus {
    color: #00bcff !important;
    background-color: #3b3b3b !important;
}

#header .top-menu .popover.sub-menu ul[data-depth="2"] {
    padding-left: 12px !important;
    border-left: 1px solid rgba(0, 188, 255, 0.3);
}

#header .top-menu .popover .sub-menu {
    background-color: #303030 !important;
}
}

/* Mobile Navigation */
.js-top-menu.mobile {
    background-color: #0a0a0a !important;
    border: 1px solid #222222 !important;
}

.js-top-menu-bottom {
    background-color: #0a0a0a !important;
    border-top: 1px solid #222222 !important;
}

/* Search Widget */
#header .header-menu-row #search_widget {
    float: none;
    clear: none;
    width: 330px;
    min-width: 0;
    margin: 15px 0 0;
}

#search_widget form {
    min-height: 46px;
    background: #080d11 !important;
    border: 1px solid #00bcff !important;
    border-radius: 6px !important;
    display: flex;
    align-items: center;
    overflow: hidden;
    box-shadow: 0 0 0 1px rgba(0, 188, 255, 0.08), 0 8px 24px rgba(0, 0, 0, 0.45);
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

#search_widget form:focus-within {
    border-color: #39ceff !important;
    box-shadow: 0 0 0 3px rgba(0, 188, 255, 0.18), 0 8px 28px rgba(0, 0, 0, 0.55);
}

#search_widget input[type=text] {
    flex: 1 1 auto;
    min-width: 0 !important;
    height: 44px !important;
    background: transparent !important;
    color: #ffffff !important;
    border: none !important;
    padding: 10px 14px 10px 4px !important;
    font-size: 0.95rem;
    box-shadow: none !important;
}

#search_widget input[type=text]::placeholder {
    color: #87949d;
    opacity: 1;
}

#search_widget form > i.search {
    position: static;
    flex: 0 0 auto;
    width: auto;
    padding: 0 4px 0 14px;
    color: #00bcff !important;
    font-size: 1.35rem;
}

#search_widget form > i.clear {
    position: static;
    flex: 0 0 auto;
    width: auto;
    padding: 0 12px 0 6px;
    color: #87949d !important;
}

#search_widget button[type=submit] {
    background: none !important;
    border: none !important;
    padding: 8px 12px !important;
}

#search_widget button[type=submit] i.search {
    color: #ff0000 !important; /* Red search magnifying glass */
    font-weight: bold;
}

/* Shopping Cart Block */
.blockcart {
    background: #0a0a0a !important;
    border: 1px solid #222222 !important;
    border-radius: 4px;
    padding: 8px 15px !important;
    display: inline-block;
}

.blockcart a {
    color: #ffffff !important;
}

.blockcart .cart-products-count {
    background-color: #00bcff !important;
    color: #000000 !important;
    border-radius: 50%;
    padding: 2px 6px !important;
    font-weight: bold;
    margin-left: 5px;
}

/* Product Cards (Grid Listings) */
.product-miniature {
    background-color: #0a0a0a !important;
    border: 1px solid #161616 !important;
    border-radius: 8px !important;
    margin-bottom: 30px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.6) !important;
    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
    overflow: hidden;
}

.product-miniature:hover {
    border-color: #00bcff !important;
    transform: translateY(-5px);
    box-shadow: 0 8px 25px rgba(0, 188, 255, 0.25) !important;
}

.product-miniature .thumbnail-container {
    background: #050505 !important;
    border-bottom: 1px solid #161616 !important;
}

.product-miniature .product-description {
    background-color: #0a0a0a !important;
    padding: 15px !important;
}

.product-miniature .product-title a {
    color: #ffffff !important;
    font-weight: bold;
}

.product-miniature .product-title a:hover {
    color: #00bcff !important;
}

.product-miniature .product-price-and-shipping {
    color: #00bcff !important;
    font-weight: bold;
}

.product-miniature .regular-price {
    color: #8c8c8c !important;
    text-decoration: line-through;
    font-weight: normal;
}

.product-miniature .discount-percentage {
    background-color: #ffcc33 !important; /* Gold warning-style badge */
    color: #000000 !important;
    font-weight: bold;
    border-radius: 2px;
}

/* Product Detail Page */
#product .product-cover {
    background-color: transparent !important;
    border: 1px solid #1a1a1a !important;
    border-radius: 4px;
}

#product .images-container {
    background-color: transparent !important;
}

#product .thumb-container img:hover {
    border-color: #00bcff !important;
}

.product-prices {
    background-color: #0a0a0a !important;
    border: 1px solid #1a1a1a !important;
    padding: 20px !important;
    border-radius: 6px;
    margin-bottom: 20px;
}

.product-prices .current-price {
    color: #00bcff !important;
    font-size: 1.5rem;
}

.product-prices .current-price span {
    color: #00bcff !important;
}

.product-actions .add-to-cart {
    background-color: #00bcff !important;
    color: #000000 !important;
    border-color: #00bcff !important;
    font-weight: bold;
    text-transform: uppercase;
    transition: all 0.2s ease;
    border-radius: 4px;
}

.product-actions .add-to-cart:hover,
.product-actions .add-to-cart:focus,
.product-actions .add-to-cart:active {
    background-color: #009acf !important;
    border-color: #009acf !important;
    color: #000000 !important;
    outline: none !important;
}

/* Product Tabs Content */
.tabs .tab-content, .tab-content {
    background-color: #0a0a0a !important;
    color: #dcdcdc !important;
    border: 1px solid #1a1a1a !important;
    border-top: none !important;
    padding: 25px !important;
    border-radius: 0 0 6px 6px;
}

.tabs .tab-content p, .tab-content p,
.tabs .tab-content span, .tab-content span,
.tabs .tab-content div, .tab-content div,
.tabs .tab-content li, .tab-content li {
    color: #dcdcdc !important;
}

.tabs .nav-tabs {
    border-bottom: 1px solid #1a1a1a !important;
}

.tabs .nav-tabs .nav-link {
    color: #dcdcdc !important;
    border: 1px solid transparent !important;
}

.tabs .nav-tabs .nav-link.active {
    color: #00bcff !important;
    background-color: #0a0a0a !important;
    border-color: #1a1a1a #1a1a1a #0a0a0a !important;
}

.tabs .nav-tabs .nav-link:hover {
    color: #00bcff !important;
}

/* Product Comments Module */
#product-comments-list-header {
    margin-top: 15px !important;
    background-color: #0a0a0a !important;
    color: #ffffff !important;
    border: 1px solid #1a1a1a !important;
    border-bottom: none !important;
    padding: 15px 20px !important;
    border-radius: 6px 6px 0 0;
}

#empty-product-comment, .product-comment-list-item, .product-comment-list {
    background-color: #0a0a0a !important;
    color: #ffffff !important;
    border: 1px solid #1a1a1a !important;
    padding: 20px !important;
    text-align: center;
    border-radius: 0 0 6px 6px;
}

.product-comment-list-item {
    border-radius: 6px !important;
    margin-bottom: 15px !important;
}

#product-comments-list-footer {
    background-color: #0a0a0a !important;
    color: #ffffff !important;
    border: 1px solid #1a1a1a !important;
    border-top: none !important;
    padding: 15px 20px !important;
    border-radius: 0 0 6px 6px;
}

/* Homepage Slider & Banner */
.homeslider-container {
    background-color: #000000 !important;
    border: 1px solid #161616 !important;
    border-radius: 4px;
    overflow: hidden;
}

.homeslider-description {
    background: rgba(0, 0, 0, 0.85) !important;
    border-left: 4px solid #00bcff !important;
}

.homeslider-description h2 {
    color: #ffcc33 !important; /* Gold/yellow title */
}

.homeslider-description p {
    color: #ffffff !important;
}

/* Buttons */
.btn-primary {
    background-color: #00bcff !important;
    border-color: #00bcff !important;
    color: #000000 !important;
    font-weight: bold !important;
    border-radius: 4px !important;
}

.btn-primary:hover, .btn-primary:focus, .btn-primary:active, .btn-primary.active {
    background-color: #009acf !important;
    border-color: #009acf !important;
    color: #000000 !important;
}

.btn-secondary {
    background-color: #121212 !important;
    border-color: #00bcff !important;
    color: #00bcff !important;
    border-radius: 4px !important;
}

.btn-secondary:hover, .btn-secondary:focus {
    background-color: rgba(0, 188, 255, 0.1) !important;
    color: #00bcff !important;
    border-color: #00bcff !important;
}

.btn-tertiary, .btn-outline-primary {
    color: #00bcff !important;
    border-color: #00bcff !important;
    background: transparent !important;
}

.btn-tertiary:hover, .btn-outline-primary:hover {
    background-color: #00bcff !important;
    color: #000000 !important;
}

/* Forms & Inputs */
.form-control, input[type=text], input[type=email], input[type=password], select, textarea {
    background-color: #121212 !important;
    color: #ffffff !important;
    border: 1px solid #333333 !important;
    border-radius: 4px !important;
}

.form-control:focus, input[type=text]:focus, input[type=email]:focus, input[type=password]:focus, select:focus, textarea:focus {
    border-color: #00bcff !important;
    box-shadow: 0 0 8px rgba(0, 188, 255, 0.4) !important;
    outline: none !important;
    background-color: #161616 !important;
    color: #ffffff !important;
}

.input-group-btn .btn {
    background-color: #222222 !important;
    color: #ffffff !important;
    border: 1px solid #333333 !important;
}

/* Cards & Containers */
.card, .block-categories {
    background-color: #0a0a0a !important;
    border: 1px solid #161616 !important;
    border-radius: 6px !important;
    box-shadow: 0 4px 15px rgba(0,0,0,0.5) !important;
}

.card-block {
    padding: 20px !important;
}

/* Dropdowns, Popovers & Modals */
.dropdown-menu {
    background-color: #121212 !important;
    border: 1px solid #333333 !important;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.8) !important;
}

.dropdown-item {
    color: #ffffff !important;
}

.dropdown-item:hover, .dropdown-item:focus {
    background-color: #00bcff !important;
    color: #000000 !important;
}

.modal-content {
    background-color: #0a0a0a !important;
    border: 1px solid #333333 !important;
    color: #ffffff !important;
    box-shadow: 0 10px 30px rgba(0,0,0,0.9) !important;
}

.modal-header {
    border-bottom: 1px solid #222222 !important;
}

.modal-footer {
    border-top: 1px solid #222222 !important;
}

/* Breadcrumbs */
.breadcrumb {
    background-color: transparent !important;
    padding: 15px 0 !important;
}

.breadcrumb-item, .breadcrumb-item a {
    color: #8c8c8c !important;
}

.breadcrumb-item a:hover {
    color: #00bcff !important;
}

.breadcrumb-item + .breadcrumb-item::before {
    color: #555555 !important;
}

/* Cart & Checkout Pages */
.cart-grid-body {
    background-color: #0a0a0a !important;
    border: 1px solid #1a1a1a !important;
    padding: 20px !important;
    border-radius: 6px;
}

.cart-summary {
    background-color: #0a0a0a !important;
    border: 1px solid #1a1a1a !important;
    border-radius: 6px;
}

.cart-item {
    border-bottom: 1px solid #222222 !important;
    padding: 15px 0 !important;
}

.checkout-step {
    background-color: #0a0a0a !important;
    border: 1px solid #1a1a1a !important;
    border-radius: 6px;
    margin-bottom: 15px !important;
    padding: 20px !important;
}

.checkout-step .step-title {
    color: #ffffff !important;
    font-weight: bold;
}

.checkout-step.-current .step-title {
    color: #00bcff !important;
}

.checkout-step.-complete .step-title {
    color: #39ff14 !important; /* Green for completed steps */
}

/* Newsletter block */
.block_newsletter {
    background-color: #0a0a0a !important;
    color: #ffffff !important;
    border: 1px solid #161616 !important;
    padding: 25px !important;
    margin: 20px auto !important;
    border-radius: 4px;
}

.block_newsletter p, .block_newsletter label {
    color: #ffffff !important;
}

.block_newsletter .input-wrapper input[type="email"] {
    background-color: #121212 !important;
    color: #ffffff !important;
    border: 1px solid #333333 !important;
    padding: 10px !important;
}

/* Footer Section */
#footer {
    background-color: #000000 !important;
    border-top: 3px solid #00bcff !important; /* Cyan glow border at the bottom */
    color: #dcdcdc !important;
    padding: 50px 0 30px 0 !important;
    margin-top: 40px;
}

#footer a {
    color: #a0a0a0 !important;
    transition: color 0.2s ease;
}

#footer a:hover {
    color: #00bcff !important;
}

#footer .footer-container {
    background-color: #000000 !important;
}

/* Quick View popups and notifications */
.blockcart-modal .modal-header {
    background-color: #0a0a0a !important;
}

.blockcart-modal .modal-body {
    background-color: #050505 !important;
}

/* Badges and Tags */
.badge-info, .tag-info {
    background-color: #00bcff !important;
    color: #000000 !important;
}

.badge-warning, .tag-warning {
    background-color: #ffcc33 !important;
    color: #000000 !important;
}

/* Consolidated desktop menu layout and vertical dropdowns. */
@media (min-width: 768px) {
    #header .header-menu-row .header-top-right {
        display: flex;
        align-items: center;
        gap: 20px;
    }

    #header .header-menu-row #_desktop_top_menu {
        flex: 1 1 auto;
        float: none;
        width: auto;
        min-width: 0;
    }

    #header #top-menu.top-menu[data-depth="0"] {
        display: flex;
        flex-wrap: nowrap;
        justify-content: center;
        width: 100%;
    }

    #header #top-menu.top-menu[data-depth="0"] > li {
        position: relative !important;
        flex: 1 1 auto;
        width: auto !important;
        min-width: 0;
    }

    #header #top-menu.top-menu a[data-depth="0"] {
        display: flex !important;
        align-items: center;
        justify-content: center;
        gap: 3px;
        padding: 20px 7px !important;
        font-size: 0.72rem !important;
        line-height: 1.1;
        white-space: nowrap;
    }

    #header #top-menu .menu-chevron {
        flex: 0 0 auto;
        margin: 0 !important;
        font-size: 0.8rem !important;
        line-height: 1;
    }

    #header #top-menu.top-menu[data-depth="0"] > li > .popover.sub-menu {
        position: absolute !important;
        top: 100% !important;
        right: auto !important;
        left: 0 !important;
        width: max-content !important;
        min-width: 250px !important;
        max-width: 340px !important;
        margin: 0 !important;
        padding: 6px !important;
        background: #303030 !important;
        border: 1px solid #00bcff !important;
        border-radius: 0 0 5px 5px;
        box-shadow: 0 10px 28px rgba(0, 0, 0, 0.82) !important;
    }

    #header #top-menu.top-menu[data-depth="0"] > li:nth-last-child(-n+3) > .popover.sub-menu {
        right: 0 !important;
        left: auto !important;
    }

    #header #top-menu .popover.sub-menu .top-menu,
    #header #top-menu .popover.sub-menu ul,
    #header #top-menu .popover.sub-menu ul[data-depth="1"],
    #header #top-menu .popover.sub-menu ul[data-depth="2"] {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
    }

    #header #top-menu .popover.sub-menu li,
    #header #top-menu .popover.sub-menu ul[data-depth="1"] > li {
        display: block !important;
        float: none !important;
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
    }

    #header #top-menu .popover.sub-menu a,
    #header #top-menu .popover.sub-menu a[data-depth="1"],
    #header #top-menu .popover.sub-menu a[data-depth="2"] {
        display: block !important;
        width: 100% !important;
        padding: 10px 12px !important;
        background-color: transparent !important;
        color: #dcdcdc !important;
        font-size: 0.82rem !important;
        font-weight: 600;
        line-height: 1.25;
        text-align: left !important;
        white-space: normal;
        background: transparent !important;
        border-radius: 3px;
    }

    #header #top-menu .popover.sub-menu a:hover,
    #header #top-menu .popover.sub-menu a:focus {
        color: #00bcff !important;
        background: #3b3b3b !important;
    }

    #header .header-menu-row #search_widget {
        flex: 0 0 260px;
        float: none;
        width: 260px;
        min-width: 0;
        margin: 15px 0 0;
    }
}

@media (min-width: 768px) and (max-width: 1199px) {
    #header #top-menu.top-menu[data-depth="0"] {
        flex-wrap: wrap;
    }

    #header #top-menu.top-menu a[data-depth="0"] {
        font-size: 0.68rem !important;
    }
}

/* Custom text module */
#custom-text {
    padding: 2.5rem 3rem;
    margin-bottom: 1.5rem;
    color: #dcdcdc !important;
    text-align: center;
    background: #0a0a0a !important;
    border: 1px solid #1a1a1a;
    border-left: 3px solid #00bcff;
    border-radius: 6px;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.45);
}

#custom-text h1,
#custom-text h2,
#custom-text h3,
#custom-text h4,
#custom-text h5,
#custom-text h6 {
    color: #ffffff !important;
}

#custom-text p,
#custom-text ul,
#custom-text ol,
#custom-text li,
#custom-text span,
#custom-text strong,
#custom-text em,
#custom-text .dark {
    color: #dcdcdc !important;
}

#custom-text .dark,
#custom-text strong {
    font-weight: 600;
}

#custom-text a {
    color: #00bcff !important;
}

#custom-text a:hover,
#custom-text a:focus {
    color: #39ceff !important;
}

@media (max-width: 767px) {
    #custom-text {
        padding: 1.75rem 1.25rem;
    }
}

/* Main menu background */
#header #top-menu.top-menu[data-depth="0"] {
    background: #303030 !important;
}

#header #top-menu.top-menu[data-depth="0"] > li > a[data-depth="0"] {
    background: #303030 !important;
}

#header #top-menu.top-menu[data-depth="0"] > li:hover > a[data-depth="0"],
#header #top-menu.top-menu[data-depth="0"] > li:focus-within > a[data-depth="0"] {
    background: #3b3b3b !important;
}

/* Product-card quick actions */
.product-miniature .highlighted-informations,
.product-miniature .highlighted-informations.no-variants {
    color: #00bcff !important;
    background: #303030 !important;
    border-top: 1px solid rgba(0, 188, 255, 0.45);
}

.product-miniature .highlighted-informations:hover,
.product-miniature .highlighted-informations:focus-within {
    background: #3b3b3b !important;
}

.product-miniature .highlighted-informations .quick-view,
.product-miniature .highlighted-informations .quick-view i {
    color: #00bcff !important;
}

.product-miniature .highlighted-informations .quick-view {
    display: block;
    width: 100%;
}

.products article .wishlist-button-add,
.product-miniature .wishlist-button-add,
.wishlist-button-add {
    color: #00bcff !important;
    background: #303030 !important;
    border: 1px solid #00bcff !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.45) !important;
    opacity: 1 !important;
}

.products article .wishlist-button-add i,
.product-miniature .wishlist-button-add i,
.wishlist-button-add i {
    color: #00bcff !important;
}

.products article .wishlist-button-add:hover,
.products article .wishlist-button-add:focus,
.product-miniature .wishlist-button-add:hover,
.product-miniature .wishlist-button-add:focus,
.wishlist-button-add:hover,
.wishlist-button-add:focus {
    color: #39ceff !important;
    background: #3b3b3b !important;
    border-color: #39ceff !important;
    opacity: 1 !important;
}

.products article .wishlist-button-add:hover i,
.products article .wishlist-button-add:focus i,
.wishlist-button-add:hover i,
.wishlist-button-add:focus i {
    color: #39ceff !important;
}

/* White-theme components adapted to the menu palette. */
.wishlist-button-add {
    color: #00bcff !important;
    background-color: #303030 !important;
    border: 1px solid #00bcff !important;
    box-shadow: 0.125rem -0.125rem 0.25rem 0 rgba(0, 0, 0, 0.45) !important;
}

.wishlist-button-add:hover,
.wishlist-button-add:focus {
    color: #39ceff !important;
    background-color: #3b3b3b !important;
    border-color: #39ceff !important;
}

.product-miniature .highlighted-informations {
    color: #dcdcdc !important;
    background-color: #303030 !important;
    background-image: none !important;
}

.product-miniature .highlighted-informations:hover,
.product-miniature .highlighted-informations:focus-within {
    background-color: #3b3b3b !important;
}

.brands-sort .select-title,
.products-sort-order .select-title,
.suppliers-sort .select-title {
    color: #ffffff !important;
    background-color: #303030 !important;
    border: 1px solid rgba(0, 188, 255, 0.55) !important;
}

.brands-sort .select-title:hover,
.brands-sort .select-title:focus,
.products-sort-order .select-title:hover,
.products-sort-order .select-title:focus,
.suppliers-sort .select-title:hover,
.suppliers-sort .select-title:focus {
    color: #00bcff !important;
    background-color: #3b3b3b !important;
    border-color: #00bcff !important;
}

.brands-sort .select-title i,
.products-sort-order .select-title i,
.suppliers-sort .select-title i {
    color: #00bcff !important;
}

#search_filters,
#search_filters_brands,
#search_filters_suppliers {
    color: #dcdcdc !important;
    background-color: #303030 !important;
    border: 1px solid #1a1a1a;
    border-left: 3px solid #00bcff;
    border-radius: 5px;
}

#search_filters .facet,
#search_filters_brands .facet,
#search_filters_suppliers .facet {
    color: #dcdcdc !important;
    background-color: transparent !important;
}

#search_filters .facet-title,
#search_filters .h6,
#search_filters_brands .facet-title,
#search_filters_brands .h6,
#search_filters_suppliers .facet-title,
#search_filters_suppliers .h6 {
    color: #ffffff !important;
}

#search_filters .facet-label a,
#search_filters_brands .facet-label a,
#search_filters_suppliers .facet-label a {
    color: #dcdcdc !important;
}

#search_filters .facet-label a:hover,
#search_filters_brands .facet-label a:hover,
#search_filters_suppliers .facet-label a:hover {
    color: #00bcff !important;
}

/* Product tabs */
#product .tabs {
    color: #dcdcdc !important;
    background: #303030 !important;
    border: 1px solid #1a1a1a;
    border-radius: 6px;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.4);
}

#product .tabs .nav-tabs {
    border-bottom-color: #1a1a1a !important;
}

#product .tabs .nav-tabs .nav-link {
    color: #dcdcdc !important;
    background: transparent !important;
}

#product .tabs .nav-tabs .nav-link:hover,
#product .tabs .nav-tabs .nav-link.active {
    color: #00bcff !important;
    background: #3b3b3b !important;
    border-bottom-color: #00bcff !important;
}

#product .tabs .tab-content,
#product .tabs .tab-pane,
#product .tabs .tab-pane p,
#product .tabs .tab-pane li,
#product .tabs .tab-pane span {
    color: #dcdcdc !important;
    background: transparent !important;
}

/* Added-to-cart modal */
#blockcart-modal,
#blockcart-modal .modal-content,
#blockcart-modal .modal-header,
#blockcart-modal .modal-body,
#blockcart-modal .modal-footer {
    color: #dcdcdc !important;
    background: #303030 !important;
    border-color: #1a1a1a !important;
}

#blockcart-modal .modal-content {
    border: 1px solid rgba(0, 188, 255, 0.55) !important;
    border-radius: 6px;
    box-shadow: 0 12px 36px rgba(0, 0, 0, 0.75) !important;
}

#blockcart-modal .modal-title,
#blockcart-modal .modal-title i,
#blockcart-modal .product-name,
#blockcart-modal .product-price,
#blockcart-modal .modal-body span,
#blockcart-modal .modal-body strong,
#blockcart-modal .cart-content p,
#blockcart-modal .cart-content .label,
#blockcart-modal .cart-content .value {
    color: #dcdcdc !important;
}

#blockcart-modal .modal-title i,
#blockcart-modal .product-name,
#blockcart-modal .product-price,
#blockcart-modal .cart-content .value,
#blockcart-modal .product-total .value {
    color: #00bcff !important;
}

#blockcart-modal .cart-content p.product-total {
    background: #3b3b3b !important;
    border-radius: 4px;
}

#blockcart-modal .cart-products-count,
#blockcart-modal .product-tax {
    color: #aeb7bd !important;
}

#blockcart-modal .divide-right {
    border-right-color: rgba(0, 188, 255, 0.3) !important;
}

#blockcart-modal .modal-header .close,
#blockcart-modal .modal-header .close .material-icons {
    color: #dcdcdc !important;
    text-shadow: none;
    opacity: 1;
}

#blockcart-modal .modal-header .close:hover,
#blockcart-modal .modal-header .close:focus,
#blockcart-modal .modal-header .close:hover .material-icons,
#blockcart-modal .modal-header .close:focus .material-icons {
    color: #00bcff !important;
}

/* Cart page and totals */
#cart .cart-grid-body,
#cart .cart-grid-body .card,
#cart .cart-grid-right .card,
#cart .cart-summary,
#checkout .cart-grid-right .card,
#checkout .cart-summary {
    color: #dcdcdc !important;
    background: #0a0a0a !important;
    border-color: #1a1a1a !important;
}

#cart .cart-grid-body .card-block,
#cart .cart-grid-body .cart-overview,
#cart .cart-grid-right .card-block,
#checkout .cart-grid-right .card-block {
    color: #dcdcdc !important;
    background: transparent !important;
}

#cart .cart-grid-body h1,
#cart .cart-grid-body h2,
#cart .cart-grid-body h3,
#cart .cart-grid-body h4,
#cart .cart-grid-body h5,
#cart .cart-grid-body h6 {
    color: #ffffff !important;
}

#cart .cart-item {
    color: #dcdcdc !important;
    border-bottom-color: #1a1a1a !important;
}

#cart .product-line-info,
#cart .product-line-info .label,
#cart .product-line-info span,
#cart .product-line-info strong,
#cart .product-line-grid-right .product-price,
#cart .cart-line-product-actions {
    color: #dcdcdc !important;
}

#cart .product-line-info a,
#cart .product-line-grid-right .current-price,
#cart .product-line-grid-right .product-price,
#cart .remove-from-cart,
#cart .remove-from-cart i {
    color: #00bcff !important;
}

#cart .cart-summary-line,
#cart .cart-summary-line .label,
#cart .cart-summary-line .value,
#cart .cart-summary-line span,
#checkout .cart-summary-line,
#checkout .cart-summary-line .label,
#checkout .cart-summary-line .value,
#checkout .cart-summary-line span {
    color: #dcdcdc !important;
}

#cart .cart-summary-line .value,
#cart .cart-summary-totals .cart-total .value,
#checkout .cart-summary-line .value,
#checkout .cart-summary-totals .cart-total .value {
    color: #ffffff !important;
}

#cart .cart-summary-totals .cart-total,
#checkout .cart-summary-totals .cart-total,
#cart .cart-summary-subtotals-container,
#checkout .cart-summary-subtotals-container {
    border-color: #555555 !important;
}

#cart .cart-summary-totals .cart-total .label,
#cart .cart-summary-totals .cart-total .value,
#checkout .cart-summary-totals .cart-total .label,
#checkout .cart-summary-totals .cart-total .value {
    color: #00bcff !important;
}

#cart input.js-cart-line-product-quantity,
#cart .bootstrap-touchspin input,
#cart .bootstrap-touchspin .btn-touchspin {
    color: #ffffff !important;
    background: #303030 !important;
    border-color: #555555 !important;
}

#cart .bootstrap-touchspin .btn-touchspin:hover,
#cart .bootstrap-touchspin .btn-touchspin:focus {
    color: #00bcff !important;
    background: #3b3b3b !important;
    border-color: #00bcff !important;
}

#cart .cart-grid-right .checkout .btn-primary,
#checkout .cart-grid-right .checkout .btn-primary {
    color: #000000 !important;
    background: #00bcff !important;
    border-color: #00bcff !important;
}

/* Final product-page normalization against Classic and module light styles. */
body#product .product-information,
body#product #product-description-short,
body#product .product-description,
body#product .product-prices,
body#product .product-discounts,
body#product .product-variants,
body#product .product-add-to-cart,
body#product .product-additional-info,
body#product .product-customization {
    color: #dcdcdc !important;
}

body#product .product-information p,
body#product .product-information li,
body#product .product-information span,
body#product .product-information label,
body#product .product-information strong,
body#product #product-description-short p,
body#product #product-description-short li {
    color: #dcdcdc !important;
}

body#product .product-actions,
body#product #block-reassurance,
body#product .product-pack,
body#product .product-customization,
body#product .product-discounts .table-product-discounts {
    padding: 5px 20px;
    color: #dcdcdc !important;
    background: #0a0a0a !important;
    border-color: #1a1a1a !important;
}

body#product #block-reassurance li,
body#product #block-reassurance .block-reassurance-item {
    color: #dcdcdc !important;
    background: transparent !important;
    border-color: #555555 !important;
}

body#product .product-variants > .product-variants-item select,
body#product .product-quantity #quantity_wanted,
body#product .product-customization .product-message,
body#product .product-customization .custom-file,
body#product .product-customization .custom-file button {
    color: #ffffff !important;
    background: #303030 !important;
    border: 1px solid #555555 !important;
}

body#product .product-variants > .product-variants-item select:focus,
body#product .product-quantity #quantity_wanted:focus,
body#product .product-customization .product-message:focus {
    background: #3b3b3b !important;
    border-color: #00bcff !important;
    outline: 0 !important;
    box-shadow: 0 0 0 3px rgba(0, 188, 255, 0.18) !important;
}

body#product .bootstrap-touchspin input.form-control,
body#product .bootstrap-touchspin .btn-touchspin,
body#product .bootstrap-touchspin .input-group-btn-vertical {
    color: #ffffff !important;
    background: #303030 !important;
    border-color: #555555 !important;
}

body#product .bootstrap-touchspin .btn-touchspin:hover,
body#product .bootstrap-touchspin .btn-touchspin:focus {
    color: #00bcff !important;
    background: #3b3b3b !important;
    border-color: #00bcff !important;
}

body#product .product-features > dl.data-sheet dt.name,
body#product .product-features > dl.data-sheet dd.value,
body#product .definition-list dl dt,
body#product .definition-list dl dd {
    color: #dcdcdc !important;
    background: #303030 !important;
}

body#product .product-features > dl.data-sheet dt.name:nth-of-type(even),
body#product .product-features > dl.data-sheet dd.value:nth-of-type(even),
body#product .definition-list dl dt:nth-of-type(even),
body#product .definition-list dl dd:nth-of-type(even) {
    background: #3b3b3b !important;
}

body#product .product-cover,
body#product .product-cover img,
body#product .images-container,
body#product .product-images,
body#product .product-images > li,
body#product .product-images .thumb-container,
body#product .product-images .thumb,
body#product #product-modal .product-cover-modal {
    background-color: transparent !important;
    border-color: #1a1a1a !important;
}

body#product #product-comments-list-header,
body#product .product-comments-list-header {
    margin-top: 15px !important;
}

body#product #product-modal .modal-content,
body#product .customization-modal .modal-content {
    color: #dcdcdc !important;
    background: #303030 !important;
    border: 1px solid rgba(0, 188, 255, 0.55) !important;
}

body#product .tabs,
body#product .tabs .tab-content,
body#product .tabs .tab-pane,
body#product .tabs .product-description,
body#product .tabs .product-details,
body#product .tabs .product-features,
body#product .tabs .product-attachments {
    color: #dcdcdc !important;
    background-color: #303030 !important;
}

body#product .tabs p,
body#product .tabs li,
body#product .tabs span,
body#product .tabs div,
body#product .tabs dt,
body#product .tabs dd,
body#product .tabs strong {
    color: #dcdcdc !important;
}

body#product .tabs a,
body#product .product-information a,
body#product .current-price,
body#product .current-price span {
    color: #00bcff !important;
}

body#product .product-comment-list-item,
body#product #product-comments-list-header,
body#product #product-comments-list-footer,
body#product #empty-product-comment,
body#product .btn-comment-inverse {
    color: #dcdcdc !important;
    background: #303030 !important;
    border-color: #555555 !important;
}

body#product .btn-comment-inverse:hover,
body#product .btn-comment-inverse:focus {
    color: #00bcff !important;
    background: #3b3b3b !important;
    border-color: #00bcff !important;
}

/* Final cart-page normalization for every nested text surface. */
body#cart .cart-container,
body#cart .cart-summary,
body#cart .cart-grid-body .card,
body#cart .cart-grid-right .card {
    color: #dcdcdc !important;
    background: #0a0a0a !important;
    border: 1px solid #1a1a1a !important;
}

body#cart .cart-container .card-block,
body#cart .cart-container .cart-overview,
body#cart .cart-container .cart-items,
body#cart .cart-container .cart-item,
body#cart .cart-summary .card-block {
    color: #dcdcdc !important;
    background: transparent !important;
}

body#cart .cart-container .product-line-grid-body *,
body#cart .cart-container .product-line-grid-right *,
body#cart .cart-summary .cart-summary-line *,
body#cart .cart-summary .cart-summary-products,
body#cart .cart-summary .cart-summary-products * {
    color: #dcdcdc !important;
}

body#cart .cart-container a.label,
body#cart .cart-container .current-price,
body#cart .cart-container .current-price *,
body#cart .cart-container .remove-from-cart,
body#cart .cart-container .remove-from-cart i,
body#cart .cart-grid-body > a.label,
body#cart .cart-grid-body > a.label i {
    color: #00bcff !important;
}

body#cart .cart-container hr.separator,
body#cart .cart-item,
body#cart .cart-summary-subtotals-container,
body#cart .cart-summary-totals .cart-total {
    border-color: #555555 !important;
}

body#cart .cart-summary .cart-summary-line .value,
body#cart .cart-summary .cart-summary-line .value *,
body#cart .cart-summary-totals .cart-total .label,
body#cart .cart-summary-totals .cart-total .value {
    color: #ffffff !important;
}

body#cart .cart-summary-totals .cart-total .label,
body#cart .cart-summary-totals .cart-total .value {
    color: #00bcff !important;
}

body#cart .bootstrap-touchspin input.form-control,
body#cart input.js-cart-line-product-quantity,
body#cart .bootstrap-touchspin .btn-touchspin,
body#cart .bootstrap-touchspin .input-group-btn-vertical {
    color: #ffffff !important;
    background: #303030 !important;
    border-color: #555555 !important;
}

body#cart .bootstrap-touchspin .btn-touchspin:hover,
body#cart .bootstrap-touchspin .btn-touchspin:focus {
    color: #00bcff !important;
    background: #3b3b3b !important;
    border-color: #00bcff !important;
}

body#cart .block-promo,
body#cart .block-promo .promo-code,
body#cart .block-promo .promo-discounts {
    color: #dcdcdc !important;
    background: transparent !important;
}

body#cart .block-promo .promo-input {
    color: #ffffff !important;
    background: #303030 !important;
    border-color: #555555 !important;
}

body#cart .block-promo .promo-name,
body#cart .block-promo .promo-name *,
body#cart .block-promo .promo-code-button {
    color: #00bcff !important;
}

/* Ensure the dynamically inserted add-to-cart modal inherits the dark palette. */
body #blockcart-modal .modal-content,
body #blockcart-modal .modal-header,
body #blockcart-modal .modal-body,
body #blockcart-modal .modal-footer {
    color: #dcdcdc !important;
    background: #303030 !important;
}

body #blockcart-modal .modal-body *,
body #blockcart-modal .cart-content p,
body #blockcart-modal .cart-content span,
body #blockcart-modal .cart-content strong {
    color: #dcdcdc !important;
}

body #blockcart-modal .product-name,
body #blockcart-modal .product-price,
body #blockcart-modal .cart-content .value,
body #blockcart-modal .modal-title i {
    color: #00bcff !important;
}

body #blockcart-modal .cart-content p.product-total {
    background: #3b3b3b !important;
}

body #blockcart-modal .btn-primary {
    color: #000000 !important;
}

body #blockcart-modal .btn-secondary {
    color: #00bcff !important;
    background: #303030 !important;
    border-color: #00bcff !important;
}

body #blockcart-modal .btn-secondary:hover,
body #blockcart-modal .btn-secondary:focus {
    color: #39ceff !important;
    background: #3b3b3b !important;
    border-color: #39ceff !important;
}

/* Product labels that Classic colors independently. */
body#product .product-prices .product-without-taxes,
body#product .product-prices .product-unit-price,
body#product .product-prices .price-ecotax,
body#product .product-prices .tax-shipping-delivery-label,
body#product .product-prices .tax-shipping-delivery-label span,
body#product .product-prices .delivery-information {
    color: #dcdcdc !important;
}

body#product .product-variants .product-variants-item,
body#product .product-variants .product-variants-item .control-label,
body#product .product-variants .product-variants-item label,
body#product .product-variants .product-variants-item .radio-label,
body#product .product-add-to-cart > .control-label,
body#product .product-add-to-cart .product-quantity,
body#product .product-add-to-cart .qty,
body#product .product-add-to-cart label {
    color: #dcdcdc !important;
}

body#product .product-variants .product-variants-item .control-label,
body#product .product-add-to-cart > .control-label {
    font-weight: 600;
}

/* Direct fallback for product information text. */
.product-information,
.product-information p,
.product-information li,
.product-information span,
.product-information label,
.product-information strong,
.product-information .control-label,
.product-information .tax-shipping-delivery-label,
.product-information .product-without-taxes {
    color: #dcdcdc !important;
}

/* Responsive category/search product grid. */
#js-product-list .category-product-grid > .product {
    flex: 0 0 100%;
    max-width: 100%;
}

@media (min-width: 576px) {
    #js-product-list .category-product-grid > .product {
        flex-basis: 50%;
        max-width: 50%;
    }
}

@media (min-width: 768px) {
    #js-product-list .category-product-grid > .product {
        flex-basis: 33.333333%;
        max-width: 33.333333%;
    }
}

@media (min-width: 992px) {
    #js-product-list .category-product-grid > .product {
        flex-basis: 25%;
        max-width: 25%;
    }
}

@media (min-width: 1200px) {
    #js-product-list .category-product-grid > .product {
        flex-basis: 20%;
        max-width: 20%;
    }
}

@media (min-width: 1600px) {
    #js-product-list .category-product-grid > .product {
        flex-basis: 16.666667%;
        max-width: 16.666667%;
    }
}

/* All theme pages use the available viewport instead of Bootstrap's fixed container. */
#wrapper > .theme-layout-fluid {
    width: 100%;
    max-width: none;
    padding-right: 30px;
    padding-left: 30px;
}

/* Subcategory cards follow the same responsive column count as products. */
body#category #subcategories .subcategories-list > li {
    width: calc(100% - 20px);
    min-width: 0;
}

@media (min-width: 576px) {
    body#category #subcategories .subcategories-list > li {
        width: calc(50% - 20px);
    }
}

@media (min-width: 768px) {
    body#category #subcategories .subcategories-list > li {
        width: calc(33.333333% - 20px);
    }
}

@media (min-width: 992px) {
    body#category #subcategories .subcategories-list > li {
        width: calc(25% - 20px);
    }
}

@media (min-width: 1200px) {
    body#category #subcategories .subcategories-list > li {
        width: calc(20% - 20px);
    }
}

@media (min-width: 1600px) {
    body#category #subcategories .subcategories-list > li {
        width: calc(16.666667% - 20px);
    }
}

@media (max-width: 575px) {
    #wrapper > .theme-layout-fluid {
        padding-right: 15px;
        padding-left: 15px;
    }
}

/* Final main-menu sizing override. */
@media (min-width: 768px) {
    #header #top-menu.top-menu[data-depth="0"] > li > a[data-depth="0"] {
        padding-top: 20px !important;
        padding-bottom: 20px !important;
    }
}

/* Checkout steps: readable text on the dark theme. */
body#checkout section.checkout-step,
body#checkout section.checkout-step .content {
    color: #dcdcdc !important;
}

body#checkout section.checkout-step .form-control-label,
body#checkout section.checkout-step .form-control-label.required,
body#checkout section.checkout-step .form-control-comment,
body#checkout section.checkout-step label,
body#checkout section.checkout-step legend,
body#checkout section.checkout-step p,
body#checkout section.checkout-step .radio-inline,
body#checkout section.checkout-step .custom-checkbox label,
body#checkout section.checkout-step .condition-label,
body#checkout section.checkout-step .delivery-option label,
body#checkout section.checkout-step .address,
body#checkout section.checkout-step .address-alias {
    color: #dcdcdc !important;
}

body#checkout section.checkout-step .form-control-comment,
body#checkout section.checkout-step small,
body#checkout section.checkout-step .text-muted {
    color: #a9a9a9 !important;
}

body#checkout section.checkout-step input.form-control,
body#checkout section.checkout-step select.form-control,
body#checkout section.checkout-step textarea.form-control {
    color: #ffffff !important;
    background-color: #151515 !important;
    border-color: #444444 !important;
}

body#checkout section.checkout-step input.form-control::placeholder,
body#checkout section.checkout-step textarea.form-control::placeholder {
    color: #999999 !important;
    opacity: 1;
}

body#checkout section.checkout-step select.form-control option {
    color: #ffffff;
    background-color: #303030;
}

body#checkout section.checkout-step a,
body#checkout section.checkout-step button.step-edit {
    color: #00bcff !important;
}

body#checkout section.checkout-step.-unreachable .step-title {
    color: #b8b8b8 !important;
}

/* Direct override for Classic's dark form labels. */
body#checkout form .form-control-label,
body#checkout form label,
body#checkout form .radio-inline,
body#checkout form .checkbox-inline {
    color: #dcdcdc !important;
}

/* Checkout checkbox states for the dark theme. */
body#checkout .custom-checkbox input[type="checkbox"] + span {
    background-color: #151515 !important;
    border: 1px solid #00bcff !important;
    border-radius: 2px;
}

body#checkout .custom-checkbox input[type="checkbox"]:checked + span {
    background-color: #00bcff !important;
    border-color: #00bcff !important;
}

body#checkout .custom-checkbox input[type="checkbox"] + span .checkbox-checked,
body#checkout .custom-checkbox input[type="checkbox"]:checked + span .checkbox-checked {
    color: #ffffff !important;
}

body#checkout .custom-checkbox input[type="checkbox"]:focus + span,
body#checkout .custom-checkbox label:hover input[type="checkbox"] + span {
    border-color: #4dcfff !important;
    box-shadow: 0 0 0 3px rgba(0, 188, 255, 0.2) !important;
}

/* Delivery methods adapted to the menu palette. */
body#checkout section.checkout-step .delivery-options .delivery-option {
    color: #dcdcdc !important;
    background: #303030 !important;
    border: 1px solid #444444 !important;
    border-radius: 4px;
    transition: background-color 0.2s ease, border-color 0.2s ease;
}

body#checkout section.checkout-step .delivery-options .delivery-option:hover {
    background: #3b3b3b !important;
    border-color: #00bcff !important;
}

body#checkout section.checkout-step .delivery-options .delivery-option:has(input[type="radio"]:checked) {
    background: #3b3b3b !important;
    border-color: #00bcff !important;
    box-shadow: 0 0 0 1px rgba(0, 188, 255, 0.25);
}

body#checkout section.checkout-step .delivery-options .delivery-option label,
body#checkout section.checkout-step .delivery-options .delivery-option .carrier-name,
body#checkout section.checkout-step .delivery-options .delivery-option .carrier-delay,
body#checkout section.checkout-step .delivery-options .delivery-option .carrier-price,
body#checkout section.checkout-step .delivery-options .delivery-option span,
body#checkout section.checkout-step .carrier-extra-content {
    color: #ffffff !important;
}

body#checkout section.checkout-step .delivery-options .custom-radio {
    background: #151515 !important;
    border-color: #00bcff !important;
}

body#checkout section.checkout-step .delivery-options .custom-radio input[type="radio"]:checked + span {
    background-color: #00bcff !important;
}

body#checkout section.checkout-step #delivery_message {
    color: #ffffff !important;
    background: #151515 !important;
    border: 1px solid #444444 !important;
}

/* Unscoped fallback for dynamically refreshed checkout fragments. */
.checkout-step .delivery-options .delivery-option,
.delivery-options .delivery-option.js-delivery-option {
    color: #dcdcdc !important;
    background-color: #303030 !important;
    background-image: none !important;
    border-color: #444444 !important;
}

.checkout-step .delivery-options .delivery-option:hover,
.delivery-options .delivery-option.js-delivery-option:hover {
    background-color: #3b3b3b !important;
    border-color: #00bcff !important;
}

/* Visible dropdown indicator for product combination selects. */
body#product .product-variants > .product-variants-item select {
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    padding-right: 2.4rem !important;
    background-color: #303030 !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%2300bcff' d='M1.4.7 6 5.3 10.6.7 12 2.1l-6 6-6-6z'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 0.8rem center !important;
    background-size: 12px 8px !important;
    cursor: pointer;
}

body#product .product-variants > .product-variants-item select:focus {
    background-color: #3b3b3b !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%234dcfff' d='M1.4.7 6 5.3 10.6.7 12 2.1l-6 6-6-6z'/%3E%3C/svg%3E") !important;
}

/* Available stock shown next to the product purchase controls. */
body#product .product-available-stock {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    width: fit-content;
    margin-top: 0.75rem;
    padding: 0.45rem 0.7rem;
    color: #dcdcdc !important;
    background: #303030 !important;
    border-left: 3px solid #00bcff;
    border-radius: 3px;
}

body#product .product-available-stock .stock-quantity-label {
    color: #dcdcdc !important;
}

body#product .product-available-stock strong {
    color: #00bcff !important;
}

/* Homepage slider fills the new fluid content area. */
body#index #carousel,
body#index #carousel .carousel-inner,
body#index #carousel .carousel-item > a,
body#index #carousel .carousel-item figure {
    display: block;
    width: 100%;
    max-width: none;
}

body#index #carousel {
    left: auto !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
    background-color: #000000 !important;
}

body#index #carousel .carousel-item > a,
body#index #carousel .carousel-item figure {
    height: auto;
}

body#index #carousel .carousel-item img {
    display: block;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    object-fit: contain;
    object-position: center;
}

body#index #carousel .carousel-item .homeslider-figure {
    display: block !important;
    float: none !important;
    width: 100% !important;
    min-width: 100% !important;
    max-width: none !important;
    height: auto !important;
    margin: 0 !important;
}

body#index #carousel .carousel-item .homeslider-image {
    display: block !important;
    width: 100% !important;
    min-width: 100% !important;
    max-width: none !important;
    height: auto !important;
}

body#index #carousel .carousel-inner,
body#index #carousel .carousel-item {
    height: auto !important;
}

body#index #carousel.carousel.slide > .carousel-inner,
body#index #carousel.carousel.slide > .carousel-inner > .carousel-item.active {
    min-height: 0 !important;
    height: auto !important;
}

body#index #carousel.carousel.slide > .carousel-inner > .carousel-item.active > a,
body#index #carousel.carousel.slide > .carousel-inner > .carousel-item.active figure,
body#index #carousel.carousel.slide > .carousel-inner > .carousel-item.active img {
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
}

/* Keep inactive homepage slides hidden on mobile. */
@media (max-width: 991px) {
    body#index #carousel .carousel-inner > .carousel-item {
        display: none !important;
        width: 100% !important;
    }

    body#index #carousel .carousel-inner > .carousel-item.active,
    body#index #carousel .carousel-inner > .carousel-item.next,
    body#index #carousel .carousel-inner > .carousel-item.prev {
        display: block !important;
    }
}

/* Authentication labels must remain visible over the black page background. */
body#authentication.page-authentication form#login-form .form-group label.form-control-label {
    color: #ffffff !important;
}

/* Override Classic's combined dark link/title rule. */
#block_myaccount_infos .myaccount-title a,
#header a,
.block-contact .block-contact-title,
.block-contact .navbar-toggler .material-icons,
.linklist .blockcms-title a {
    color: #dcdcdc !important;
}

#wrapper .breadcrumb li a {
    color: #00bcff !important;
}

#block_myaccount_infos .myaccount-title a:hover,
#header a:hover,
#wrapper .breadcrumb li a:hover,
.linklist .blockcms-title a:hover {
    color: #4dcfff !important;
}

.alert.alert-danger,
.alert.alert-danger a,
.alert.alert-danger i {
    color: #ff4c4c !important;
}

.tabs .tab-content .alert.alert-danger,
.tabs .tab-content .alert.alert-danger *,
.tab-content .alert.alert-danger,
.tab-content .alert.alert-danger * {
    color: #ff4c4c !important;
}

/* Checkout address cards adapted to the dark menu palette. */
body#checkout section.checkout-step .address-item,
body#checkout section.checkout-step .address-item.selected {
    color: #dcdcdc !important;
    background: #303030 !important;
    border: 1px solid #444444 !important;
    border-radius: 5px;
}

body#checkout section.checkout-step .address-item:hover {
    background: #3b3b3b !important;
    border-color: #00bcff !important;
}

body#checkout section.checkout-step .address-item.selected {
    border: 2px solid #00bcff !important;
    box-shadow: 0 0 0 1px rgba(0, 188, 255, 0.2);
}

body#checkout section.checkout-step .address-item header,
body#checkout section.checkout-step .address-item label,
body#checkout section.checkout-step .address-item .address-alias,
body#checkout section.checkout-step .address-item .address,
body#checkout section.checkout-step .address-item .address * {
    color: #ffffff !important;
    background: transparent !important;
}

body#checkout section.checkout-step .address-item hr {
    border-top-color: #555555 !important;
}

body#checkout section.checkout-step .address-item .address-footer,
body#checkout section.checkout-step .address-item .address-footer a,
body#checkout section.checkout-step .address-item .address-footer i {
    color: #00bcff !important;
    background: transparent !important;
}

body#checkout section.checkout-step .address-item .address-footer a:hover,
body#checkout section.checkout-step .address-item .address-footer a:hover i {
    color: #4dcfff !important;
}

body#checkout section.checkout-step .add-address a {
    color: #00bcff !important;
}

/* Final exact override for Classic's selected address background. */
body#checkout section.checkout-step .address-item.selected {
    background-color: #303030 !important;
    background-image: none !important;
}
