/*
Theme Name: Slight Child
Theme URI: https://slight-vietnam.vn/
Description: Slight Vietnam child theme custom style sheet
Author: Antigravity
Template: flatsome
Version: 1.0.0
*/

:root {
    color-scheme: only light;
}

/* Fix header search bar layout and text/icon overlap */
.header-search-form {
    flex: 0 1 240px !important;
    max-width: 240px !important;
    width: 100% !important;
}

.header-search-form-wrapper,
.header-search-form .searchform-wrapper,
.header-search-form .searchform {
    width: 100% !important;
}

.header-search-form input[type="search"].search-field {
    padding-right: 45px !important;
    width: 100% !important;
    color: #ffffff !important;
}

.header-search-form input[type="search"].search-field::placeholder {
    color: rgba(255, 255, 255, 0.6) !important;
}

.header-search-form .search_categories {
    color: #ffffff !important;
}

/* Light box shadow for products on the home page */
.home .product-small.box {
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08) !important;
    border-radius: 8px !important;
    border: 1px solid #f0f0f0 !important;
    background-color: #ffffff !important;
    transition: transform 0.3s ease, box-shadow 0.3s ease !important;
}

.home .product-small.box:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15) !important;
    border-color: #f0f0f0 !important;
}

/* Hover effects for category boxes in the Product Categories section */
.row-box-shadow-2 .box {
    transition: transform 0.3s cubic-bezier(0.25, 1, 0.5, 1), box-shadow 0.3s cubic-bezier(0.25, 1, 0.5, 1) !important;
    border-radius: 8px !important;
    overflow: hidden !important;
}

.row-box-shadow-2 .box .box-image img {
    transition: transform 0.3s cubic-bezier(0.25, 1, 0.5, 1) !important;
}

.row-box-shadow-2 .box:hover {
    transform: translateY(-6px) !important;
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.12) !important;
}

.row-box-shadow-2 .box:hover .box-image img {
    transform: scale(1.06) !important;
}

/* Force white color for all buttons, primary buttons, links, and their spans across the site */
html body .button,
html body .button *,
html body a.button,
html body a.button *,
html body button.button,
html body button.button *,
html body input[type="submit"] {
    color: #ffffff !important;
}


/* Product Specifications Table Styles */
.box-specification {
    margin-top: 25px;
    margin-bottom: 25px;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.03);
}

.box-specification h2 {
    background-color: #222222 !important;
    color: #ffffff !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    padding: 12px 16px !important;
    margin: 0 !important;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border-bottom: 2px solid #53ac19 !important; /* matching theme green */
}

.box-specification table {
    width: 100% !important;
    margin: 0 !important;
    border-collapse: collapse;
    border: none !important;
}

.box-specification tr {
    border-bottom: 1px solid #edf2f7 !important;
    transition: background-color 0.2s ease;
}

.box-specification tr:last-child {
    border-bottom: none !important;
}

.box-specification tr:nth-child(even) {
    background-color: #f8fafc !important;
}

.box-specification tr:hover {
    background-color: #f1f5f9 !important;
}

.box-specification td {
    padding: 10px 16px !important;
    font-size: 13.5px !important;
    line-height: 1.5 !important;
    vertical-align: middle !important;
    border: none !important;
}

.box-specification td.lileft {
    font-weight: 600 !important;
    color: #334155 !important;
    width: 40% !important;
}

.box-specification td.liright {
    color: #475569 !important;
}

/* Hide duplicate breadcrumbs in default Flatsome layout */
.product-container > .woocommerce-breadcrumb,
.product-container > .container > .woocommerce-breadcrumb {
    display: none !important;
}

/* Shop Policies Grid styling */
.shop-policies-grid {
    margin-top: 30px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    border-top: 1px solid #edf2f7;
    padding-top: 20px;
}
@media (max-width: 767px) {
    .shop-policies-grid {
        grid-template-columns: 1fr;
    }
}
.policy-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
}
.policy-icon {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    font-size: 18px;
    font-weight: bold;
}
.policy-icon.red {
    background-color: #fef2f2;
    border: 2px solid #e30613;
    color: #e30613;
}
.policy-icon.blue {
    background-color: #eff6ff;
    border: 2px solid #3b82f6;
    color: #3b82f6;
}
.policy-icon.orange {
    background-color: #fff7ed;
    border: 2px solid #f97316;
    color: #f97316;
}
.policy-item h4 {
    font-size: 13.5px !important;
    font-weight: 700 !important;
    margin: 0 0 4px 0 !important;
    text-transform: uppercase;
}
.policy-item h4.red {
    color: #e30613 !important;
}
.policy-item h4.blue {
    color: #3b82f6 !important;
}
.policy-item h4.orange {
    color: #f97316 !important;
}
.policy-item p {
    font-size: 12px !important;
    color: #64748b !important;
    margin: 0 !important;
    line-height: 1.4 !important;
}

/* Custom Order Buttons styling */
.custom-buy-section {
    margin-bottom: 25px;
    border-bottom: 1px solid #edf2f7;
    padding-bottom: 20px;
}
.custom-order-btn {
    display: block;
    width: 100%;
    padding: 12px;
    background-color: #e30613;
    color: #ffffff !important;
    text-align: center;
    font-weight: 700;
    font-size: 15px;
    border-radius: 4px;
    text-transform: uppercase;
    margin-bottom: 10px;
    transition: background-color 0.2s ease;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
}
.custom-order-btn:hover {
    background-color: #b9050f;
    color: #ffffff !important;
    text-decoration: none;
}
.custom-hotline-btn {
    display: block;
    width: 100%;
    padding: 12px;
    background-color: #1a1a1a;
    color: #ffffff !important;
    text-align: center;
    font-weight: 700;
    font-size: 15px;
    border-radius: 4px;
    text-transform: uppercase;
    transition: background-color 0.2s ease;
}
.custom-hotline-btn:hover {
    background-color: #333333;
    color: #ffffff !important;
    text-decoration: none;
}

/* Banner Badge Bar (Glassmorphism Info Strip at Bottom of Banner) */
.banner-badge-bar {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    background: rgba(0, 0, 0, 0.6);
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 18px 10px;
    z-index: 10;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.banner-badge-bar .badge-item {
    display: flex;
    align-items: center;
    color: #ffffff;
    padding: 0 45px;
}

.banner-badge-bar .badge-icon {
    font-size: 24px;
    margin-right: 15px;
    color: #ffffff;
    display: flex;
    align-items: center;
    flex-shrink: 0;
}

.banner-badge-bar .badge-icon svg {
    width: 32px;
    height: 32px;
    stroke: #ffffff;
    stroke-width: 1.5;
}

.banner-badge-bar .badge-text h4 {
    color: #ffffff !important;
    margin: 0 !important;
    font-size: 13.5px !important;
    font-weight: 700 !important;
    letter-spacing: 0.5px !important;
    line-height: 1.2 !important;
    text-transform: uppercase;
}

.banner-badge-bar .badge-text p {
    color: rgba(255, 255, 255, 0.7) !important;
    margin: 4px 0 0 0 !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
}

.banner-badge-bar .badge-separator {
    width: 1px;
    height: 32px;
    background: rgba(255, 255, 255, 0.25);
}

@media (max-width: 767px) {
    .banner-badge-bar {
        position: relative;
        flex-direction: column;
        gap: 15px;
        background: #111111;
        padding: 20px 10px;
    }
    .banner-badge-bar .badge-separator {
        display: none;
    }
    .banner-badge-bar .badge-item {
        padding: 0;
        width: 100%;
        justify-content: center;
    }
}
/* Inline Banner Layout (Matches reference image) */
.banner-badges-inline {
    display: flex;
    align-items: center;
    gap: 0;
    margin: 0 0 10px 0 !important;
}

.inline-badge-item {
    display: flex;
    align-items: center;
    color: #ffffff;
}

.inline-badge-icon.red-stroke svg {
    width: 28px;
    height: 28px;
    stroke: #e30613;
    stroke-width: 1.8;
    fill: none;
}

.inline-badge-text {
    margin-left: 10px;
    text-align: left;
}

.inline-badge-text h4 {
    color: #ffffff !important;
    margin: 0 !important;
    font-size: 11.5px !important;
    font-weight: 700 !important;
    letter-spacing: 0.5px !important;
    line-height: 1.2 !important;
    text-transform: uppercase;
}

.inline-badge-text p {
    color: rgba(255, 255, 255, 0.6) !important;
    margin: 4px 0 0 0 !important;
    font-size: 10px !important;
    line-height: 1.2 !important;
}

.inline-badge-sep {
    width: 1px;
    height: 24px;
    background: rgba(255, 255, 255, 0.2);
    margin: 0 20px;
}

.banner-buttons-inline {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-top: 30px;
}

.banner-btn-red {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    background: #e30613;
    color: #ffffff !important;
    padding: 12px 24px;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    border-radius: 4px;
    transition: background-color 0.2s ease;
    min-width: 220px;
    border: 1px solid #e30613;
    text-decoration: none;
}

.banner-btn-red:hover {
    background: #b9050f;
    border-color: #b9050f;
    color: #ffffff !important;
    text-decoration: none;
}

.banner-btn-outline {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    background: transparent;
    color: #ffffff !important;
    padding: 12px 24px;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    border-radius: 4px;
    border: 1px solid rgba(255, 255, 255, 0.4);
    transition: all 0.2s ease;
    min-width: 220px;
    text-decoration: none;
}

.banner-btn-outline:hover {
    background: rgba(255, 255, 255, 0.1);
    border-color: #ffffff;
    color: #ffffff !important;
    text-decoration: none;
}

.banner-btn-red .arrow,
.banner-btn-outline .arrow {
    margin-left: auto;
    font-size: 16px;
    transition: transform 0.2s ease;
    color: #ffffff !important;
}

.banner-btn-red:hover .arrow,
.banner-btn-outline:hover .arrow {
    transform: translateX(4px);
}

@media (max-width: 767px) {
    .banner-badges-inline {
        flex-direction: column;
        align-items: flex-start;
        gap: 15px;
        margin: 20px 0;
    }
    .inline-badge-sep {
        display: none;
    }
    .banner-buttons-inline {
        flex-direction: column;
        align-items: flex-start;
        width: 100%;
        gap: 10px;
    }
    .banner-btn-red,
    .banner-btn-outline {
        width: 100%;
        min-width: unset;
    }
}

/* Hide add-to-cart button on product cards, make entire card clickable */
.product-small .button.product_type_simple,
.product-small .button.product_type_variable,
.product-small .button.product_type_external,
.product-small a.button,
.product-small .box-text .button {
    display: none !important;
}

.product-small.box {
    cursor: pointer;
}

.product-small.box .box-text {
    position: relative;
}

/* WOOCOMMERCE PRODUCT CATALOG HOVER CROSS-FADE */
.woocommerce-loop-product__image-wrapper {
    position: relative;
    overflow: hidden;
    display: block;
    width: 100%;
}

.woocommerce-loop-product__image-wrapper img {
    transition: opacity 0.45s ease, transform 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
    backface-visibility: hidden;
}

.woocommerce-loop-product__image-wrapper .woocommerce-loop-product__hover-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0;
    z-index: 2;
}

/* Cross-fade and zoom on product hover */
.product-box:hover .woocommerce-loop-product__image-wrapper .woocommerce-loop-product__hover-image,
.box-image:hover .woocommerce-loop-product__image-wrapper .woocommerce-loop-product__hover-image {
    opacity: 1;
}

.product-box:hover .woocommerce-loop-product__image-wrapper img:not(.woocommerce-loop-product__hover-image),
.box-image:hover .woocommerce-loop-product__image-wrapper img:not(.woocommerce-loop-product__hover-image) {
    opacity: 0;
}

.product-box:hover .woocommerce-loop-product__image-wrapper img,
.box-image:hover .woocommerce-loop-product__image-wrapper img {
    transform: scale(1.06);
}


/* GLOSSY SHEEN SHINE ANIMATION EFFECT (peShiner style) */
.product-box,
.box-image,
.ux-image-box,
.custom-buy-section .custom-order-btn,
.banner-btn-red {
    position: relative;
    overflow: hidden;
}

.product-box::after,
.box-image::after,
.ux-image-box::after,
.custom-buy-section .custom-order-btn::after,
.banner-btn-red::after {
    content: '';
    position: absolute;
    top: 0;
    left: -150%;
    width: 60%;
    height: 100%;
    background: linear-gradient(
        to right,
        rgba(255, 255, 255, 0) 0%,
        rgba(255, 255, 255, 0.25) 50%,
        rgba(255, 255, 255, 0) 100%
    );
    transform: skewX(-25deg);
    z-index: 5;
    pointer-events: none;
}

.product-box:hover::after,
.box-image:hover::after,
.ux-image-box:hover::after,
.custom-buy-section .custom-order-btn:hover::after,
.banner-btn-red:hover::after {
    animation: slight-shine 0.85s cubic-bezier(0.2, 0.8, 0.2, 1);
}

@keyframes slight-shine {
    100% {
        left: 150%;
    }
}


/* CARD CONTAINER HOVER TRANSITIONS (Elevation & Glow) */
.product-box,
.ux-image-box,
.row col_bg_radius {
    border: 1px solid rgba(255, 255, 255, 0.05);
    transition: all 0.35s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.15), 0 2px 4px -1px rgba(0, 0, 0, 0.1);
}

.product-box:hover,
.ux-image-box:hover {
    border-color: rgba(227, 6, 19, 0.45);
    box-shadow: 0 10px 20px rgba(227, 6, 19, 0.15), 0 6px 6px rgba(0, 0, 0, 0.25);
    transform: translateY(-4px);
}

/* LEDPRO REPLICA LAYOUT AND CSS */
.wrap-home {
    background: #ffffff;
    color: #1e293b;
    padding: 30px 0;
}

.wrap-content {
    max-width: 1300px;
    margin: 0 auto;
    padding: 0 15px;
}

.py50 {
    padding-top: 50px;
    padding-bottom: 50px;
}

/* Red title styling matching LedPro */
.title-product {
    font-size: 24px;
    font-weight: 800;
    color: #1e293b;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 30px;
    position: relative;
    padding-bottom: 12px;
}

.title-product::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 60px;
    height: 3px;
    background: #e30613;
}

.title-main {
    font-size: 26px;
    font-weight: 800;
    color: #1e293b;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 45px;
    position: relative;
    padding-bottom: 15px;
}

.title-main::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 70px;
    height: 3px;
    background: #e30613;
}

/* Service Grid Section */
.grid-service {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

.service-box {
    position: relative;
    border-radius: 8px;
    overflow: hidden;
    background: #111111;
    border: 1px solid rgba(255, 255, 255, 0.05);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.4);
    transition: all 0.35s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
}

.service-box:hover {
    border-color: rgba(227, 6, 19, 0.6);
    box-shadow: 0 10px 25px rgba(227, 6, 19, 0.25);
    transform: translateY(-5px);
}

.service-img {
    position: relative;
    width: 100%;
    height: 220px;
    overflow: hidden;
}

.service-img img {
    width: 100%;
    height: 100% !important;
    object-fit: cover !important;
    transition: transform 0.5s ease !important;
}

.service-box:hover .service-img img {
    transform: scale(1.08);
}

.service-name {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.95) 0%, rgba(0, 0, 0, 0.5) 75%, rgba(0, 0, 0, 0) 100%);
    color: #ffffff !important;
    padding: 18px 15px;
    font-size: 13px;
    font-weight: 750;
    text-transform: uppercase;
    text-align: center;
    letter-spacing: 0.5px;
}

/* Product list rows */
.wrap-product-list {
    padding: 30px 0;
    background: #ffffff !important;
}

/* Bestseller row with red-orange background matching LedPro */
body.home .wrap-banchay {
    background-color: #e30613 !important;
    border: none !important;
}

body.home .wrap-banchay .title-product {
    color: #ffffff !important;
}

body.home .wrap-banchay .title-product::after {
    background-color: #ffffff !important;
}

/* Reset product cards inside the bestseller red row to clean white cards with no red border */
body.home .wrap-banchay .product-small.box {
    background-color: #ffffff !important;
    border: 1px solid #ffffff !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1) !important;
}

body.home .wrap-banchay .product-small.box:hover {
    border-color: #ffffff !important;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.2) !important;
}

body.home .wrap-banchay .product-title a,
body.home .wrap-banchay .name-product a,
body.home .wrap-banchay .box-text h5 a {
    color: #1e293b !important;
}

body.home .wrap-banchay .price,
body.home .wrap-banchay .price * {
    color: #e30613 !important;
}

.flex-title-product-list {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 2px solid #e2e8f0;
    padding-bottom: 12px;
    margin-bottom: 25px;
}

.title-product-list {
    font-size: 19px;
    font-weight: 800;
    text-transform: uppercase;
    color: #1e293b;
    position: relative;
    letter-spacing: 0.5px;
    padding-bottom: 12px;
}

.title-product-list::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 70px;
    height: 2px;
    background: #e30613;
}

.seeall-product-list a {
    color: #64748b !important;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    text-decoration: none;
    transition: color 0.2s ease;
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.seeall-product-list a:hover {
    color: #e30613 !important;
}

/* Form and review box matching */
.wrap-newsletter {
    background: #0d0d0d;
    padding: 60px 0;
    border-top: 1px solid rgba(255, 255, 255, 0.05);
}

.flex-newslet-customer {
    display: flex;
    gap: 40px;
}

.flex-newslet,
.flex-customer {
    flex: 1;
}

@media (max-width: 991px) {
    .grid-service {
        grid-template-columns: repeat(2, 1fr);
    }
    .flex-newslet-customer {
        flex-direction: column;
        gap: 50px;
    }
}

@media (max-width: 575px) {
    .grid-service {
        grid-template-columns: 1fr;
    }
}

/* HOMEPAGE DARK MODE ACCENTUATION & ELEMENT STYLING (LedPro Replica) */
/* HOMEPAGE LIGHT THEME WITH BLACK HEADER/FOOTER (LedPro Style) */
body.home,
body.home #main,
body.home #content,
body.home .page-wrapper {
    background-color: #ffffff !important;
}

body.home section,
body.home .section,
body.home .section-bg {
    background-color: #ffffff !important;
}

/* Header & Menu transparent on homepage when not sticky */
body.home header,
body.home .header-wrapper,
body.home .header-main,
body.home .header-bottom,
body.home .top-bar {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

body.home .header-nav > li > a,
body.home .nav > li > a,
body.home .header-nav > li > a > span,
body.home .cart-icon strong,
body.home .nav-top-link,
body.home .header-nav-main > li > a {
    color: #ffffff !important;
}

body.home .header-nav > li > a:hover,
body.home .nav > li > a:hover,
body.home .header-nav-main > li > a:hover {
    color: #e30613 !important;
}

/* Product Card Light Styling (LedPro Style) */
body.home .product-small.box {
    background-color: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 8px !important;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05) !important;
    transition: all 0.3s ease !important;
}

body.home .product-small.box:hover {
    border-color: #cbd5e1 !important;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1) !important;
}

body.home .box-text {
    background-color: #ffffff !important;
    padding: 15px 12px !important;
}

body.home .product-title a,
body.home .name-product a,
body.home .box-text h5 a {
    color: #1e293b !important;
    font-weight: 700 !important;
    font-size: 13.5px !important;
    text-transform: uppercase !important;
}

body.home .product-title a:hover,
body.home .name-product a:hover {
    color: #e30613 !important;
}

body.home .price,
body.home .price ins,
body.home .price-new,
body.home .price span,
body.home span.amount,
body.home bdi,
body.home .woocommerce-Price-currencySymbol {
    color: #e30613 !important;
    font-weight: 800 !important;
    font-size: 14.5px !important;
}

body.home .price del,
body.home .price del *,
body.home .price-old {
    color: #94a3b8 !important;
    font-size: 11.5px !important;
}

/* Specific text color overrides for dark sections on the homepage */
body.home .hero-title,
body.home .hero-btn-red,
body.home .hero-btn-outline,
body.home .service-name,
body.home .banner-badges-inline *,
body.home .wrap-newsletter,
body.home .wrap-newsletter *,
body.home .testimonial-container,
body.home .testimonial-container * {
    color: #ffffff !important;
}

/* Header logo adjustments to prevent clipping */
body.home #logo {
    max-height: 80px !important;
    height: 80px !important;
    overflow: visible !important;
}
body.home #logo img {
    max-height: 80px !important;
    height: 80px !important;
    padding: 0 !important;
    margin: 0 !important;
    object-fit: contain !important;
}

/* Sticky Header background & logo resizing */
body.home .stuck .header-main {
    background: transparent !important;
    border-bottom: none !important;
}
body.home .stuck #logo,
body.home .stuck #logo img,
body.home .stuck .logo-menu img,
body.home .stuck .logo a img {
    max-height: 50px !important;
    height: 50px !important;
}

body.home .inline-badge-icon svg {
    stroke: #e30613 !important;
}

/* NATIVE HARDWARE-ACCELERATED SCROLL ENTRANCE TRANSITIONS (AOS Style) */
.scroll-animate {
    opacity: 0 !important;
    transform: translateY(30px) translateZ(0);
    transition: opacity 0.8s cubic-bezier(0.25, 1, 0.5, 1), transform 0.8s cubic-bezier(0.25, 1, 0.5, 1) !important;
    will-change: transform, opacity;
}

.scroll-animate.animated {
    opacity: 1 !important;
    transform: translateY(0) translateZ(0);
}

/* Individual card bouncy zoom-fly-in scroll effects matching LedPro */
body.home .zoom-fly-in {
    opacity: 0 !important;
    transform: scale(0.9) translateY(40px) translateZ(0) !important;
    transition: opacity 0.8s cubic-bezier(0.34, 1.56, 0.64, 1), transform 0.8s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
    will-change: transform, opacity;
}

body.home .zoom-fly-in.animated {
    opacity: 1 !important;
    transform: scale(1) translateY(0) translateZ(0) !important;
}

body.home .zoom-fly-in .box-image img,
body.home .zoom-fly-in .image-cover img {
    transform: scale(1.15) !important;
    transition: transform 1.2s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
}

body.home .zoom-fly-in.animated .box-image img,
body.home .zoom-fly-in.animated .image-cover img {
    transform: scale(1) !important;
}

/* Staggered Delay Keyframes */
.scroll-animate.delay-1, .zoom-fly-in.delay-1 {
    transition-delay: 0.08s !important;
}
.scroll-animate.delay-2, .zoom-fly-in.delay-2 {
    transition-delay: 0.16s !important;
}
.scroll-animate.delay-3, .zoom-fly-in.delay-3 {
    transition-delay: 0.24s !important;
}
.scroll-animate.delay-4, .zoom-fly-in.delay-4 {
    transition-delay: 0.32s !important;
}
.scroll-animate.delay-5, .zoom-fly-in.delay-5 {
    transition-delay: 0.40s !important;
}

/* HOMEPAGE SINGLE-TIER TRANSPARENT OVERLAY HEADER (LedPro Style) */
@media (min-width: 850px) {
    body.home header#header {
        position: absolute;
        width: 100%;
        top: 0;
        left: 0;
        z-index: 999;
        background: transparent !important;
        border: none !important;
    }
}

body.home .header-wrapper {
    background: transparent !important;
    box-shadow: none !important;
}

/* Header background full width across browser */
body:not(.home) header#header,
body:not(.home) .header-wrapper {
    width: 100% !important;
    max-width: 100% !important;
    left: 0 !important;
    right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    background-color: rgba(10, 10, 10, 0.92) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
}

/* Hide bottom nav row on non-home, merge into single header */
body:not(.home) #wide-nav,
body:not(.home) .header-bottom {
    background-color: rgba(10, 10, 10, 0.92) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
}

body:not(.home) .header-bottom-nav > li > a {
    color: #ffffff !important;
}

body:not(.home) .header-bottom-nav > li > a:hover {
    color: #e30613 !important;
}

body:not(.home) #masthead,
body:not(.home) .header-main {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    height: 70px !important;
}

body:not(.home) #logo img {
    max-height: 50px !important;
    height: 50px !important;
}

/* Hide 3-column contact info block on non-home pages */
body:not(.home) .header-block-block-1 {
    display: none !important;
}

body:not(.home) .header-main .header-inner {
    max-width: 1300px;
    margin: 0 auto;
    padding: 0 25px;
}

/* Nav link colors on non-home */
body:not(.home) .header-nav > li > a,
body:not(.home) .header-nav-main > li > a,
body:not(.home) .nav-top-link {
    color: #ffffff !important;
}
body:not(.home) .header-nav > li > a:hover,
body:not(.home) .header-nav-main > li > a:hover {
    color: #e30613 !important;
}

@media (min-width: 850px) {
    body.home .header-wrapper {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: space-between !important;
        width: 100% !important;
        max-width: 100% !important;
        padding: 0 !important;
        height: 90px !important;
        transition: all 0.3s ease !important;
    }

    body.home .header-main,
    body.home .header-bottom {
        max-width: 1300px !important;
    }

    /* Sticky header with glassmorphism opacity background matching LedPro */
    body.home .header-wrapper.stuck {
        height: 65px !important;
        width: 100% !important;
        max-width: 100% !important;
        padding: 0 !important;
        background-color: rgba(10, 10, 10, 0.85) !important;
        backdrop-filter: blur(10px) !important;
        -webkit-backdrop-filter: blur(10px) !important;
        box-shadow: 0 4px 20px rgba(0, 0, 0, 0.4) !important;
    }
    
    body.home .header-main {
        background: transparent !important;
        border: none !important;
        flex: 0 0 auto !important;
        width: auto !important;
        padding: 0 !important;
        margin: 0 !important;
        float: none !important;
        display: flex !important;
        align-items: center !important;
        height: 100% !important;
    }
    
    body.home .header-bottom {
        background: transparent !important;
        border: none !important;
        flex: 1 1 auto !important;
        padding: 0 !important;
        margin: 0 0 0 50px !important;
        float: none !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        height: 100% !important;
    }
    
    body.home .header-bottom-nav,
    body.home .header-bottom-nav > li,
    body.home .header-bottom-nav > li > a {
        display: flex !important;
        align-items: center !important;
        height: 100% !important;
        margin: 0 !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
        line-height: 1 !important;
    }
    
    body.home .header-bottom-nav > li > a {
        padding: 0 15px !important;
        height: 50px !important;
        line-height: 50px !important;
        transition: all 0.3s ease !important;
    }
    
    body.home .header-wrapper.stuck .header-bottom-nav > li > a {
        height: 40px !important;
        line-height: 40px !important;
    }
    
    /* Hide the 3 contact info columns on the homepage header */
    body.home .header-main .flex-col.hide-for-medium.flex-left.flex-grow {
        display: none !important;
    }
}

@media (max-width: 849px) {
    body.home header#header {
        position: sticky !important;
        top: 0 !important;
        z-index: 9999 !important;
        background: rgba(10, 10, 10, 0.95) !important;
        backdrop-filter: blur(10px) !important;
        -webkit-backdrop-filter: blur(10px) !important;
        box-shadow: 0 2px 10px rgba(0,0,0,0.4) !important;
    }
    /* Prevent Flatsome from hiding #masthead on mobile when stuck */
    body.home #masthead.hide-for-sticky {
        display: block !important;
        visibility: visible !important;
    }
    body.home .header-wrapper,
    body.home .header-main,
    body.home #masthead {
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
    }
    body.home .hero-banner-static {
        margin-top: 0 !important;
    }
    body.home #logo img {
        filter: none !important;
    }
    body.home .mobile-nav .icon-menu,
    body.home .mobile-nav a {
        color: #ffffff !important;
    }
    /* Fix header height on mobile (550px–849px range) */
    #masthead,
    .header-main {
        height: 70px !important;
    }
    #logo img {
        max-height: 50px !important;
    }
    /* Push off-canvas menu content below sticky header */
    #main-menu {
        padding-top: 0 !important;
        background-color: #0d0d0d !important;
    }
    #main-menu .sidebar-menu {
        background-color: #0d0d0d !important;
    }
    /* Compact search bar */
    #main-menu li.header-search-form {
        padding: 10px 15px !important;
        background-color: #1a1a1a !important;
        min-height: unset !important;
        height: auto !important;
    }
    #main-menu .searchform-wrapper,
    #main-menu .header-search-form-wrapper {
        min-height: unset !important;
        height: auto !important;
    }
    #main-menu .search-field {
        background-color: #2a2a2a !important;
        color: #ffffff !important;
        border-color: #444 !important;
    }
    #main-menu .search_categories {
        background-color: #2a2a2a !important;
        color: #ffffff !important;
        border-color: #444 !important;
    }
    /* Nav items */
    #main-menu .nav-sidebar > li > a,
    #main-menu .nav-sidebar > li > a * {
        color: #e0e0e0 !important;
        background-color: #0d0d0d !important;
    }
    #main-menu .nav-sidebar > li > a:hover {
        color: #e30613 !important;
    }
    #main-menu .nav-sidebar > li {
        border-color: rgba(255,255,255,0.08) !important;
    }
    /* Hide duplicate widget block */
    #main-menu .header-block-block-2 {
        display: none !important;
    }
    /* Hide login popup lightbox from appearing inline */
    #login-form-popup {
        display: none !important;
    }
    /* Account item dark */
    #main-menu .account-item a,
    #main-menu .account-item span {
        color: #e0e0e0 !important;
        background-color: #0d0d0d !important;
    }

}

/* Style Tra Cứu Bảo Hành menu item as a Red CTA Button */
body.home #menu-item-3470 {
    display: flex !important;
    align-items: center !important;
}

body.home #menu-item-3470 a {
    background-color: #e30613 !important;
    color: #ffffff !important;
    padding: 8px 18px !important;
    border-radius: 4px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    font-size: 12px !important;
    line-height: 1 !important;
    display: flex !important;
    align-items: center !important;
    height: auto !important;
    transition: background-color 0.2s ease !important;
}

body.home #menu-item-3470 a:hover {
    background-color: #b9050f !important;
}

/* Make search bar compact on homepage header */
body.home .header-search-form {
    max-width: 200px !important;
    margin-left: 20px !important;
}

/* HERO BANNER STATIC (LedPro Style with static image) */
.hero-banner-static {
    position: relative;
    width: 100%;
    height: 680px; /* Increased from 550px to 680px */
    background-image: url('https://slight-vietnam.vn/wp-content/uploads/2026/07/banner2.png');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    display: flex;
    align-items: center;
    justify-content: flex-start;
}

.hero-banner-static::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.4); /* Dark overlay for readability */
    z-index: 1;
}

.hero-text-overlay {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    right: auto !important;
    transform: translate(-50%, -50%) !important;
    text-align: center !important;
    z-index: 2;
    max-width: 550px !important;
    width: 90% !important;
    padding: 0 !important;
    margin: 0 !important;
}

.hero-logo {
    max-height: 60px !important;
    width: auto;
    display: block;
    margin: 0 auto 15px auto !important;
}

.hero-title {
    font-weight: 800 !important;
    color: #ffffff !important;
    font-size: 20px !important;
    line-height: 1.2;
    text-transform: uppercase;
    margin-bottom: 20px !important;
    letter-spacing: 1px;
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.6);
}

.hero-buttons {
    display: flex;
    gap: 15px;
}

.hero-btn-red {
    background-color: #e30613 !important;
    border: 1px solid #e30613 !important;
    color: #ffffff !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    border-radius: 4px !important;
    padding: 12px 30px !important;
    font-size: 13px !important;
    transition: all 0.3s ease !important;
    display: inline-block;
    text-decoration: none;
}

.hero-btn-red:hover {
    background-color: #b9050f !important;
    border-color: #b9050f !important;
    transform: translateY(-2px);
    box-shadow: 0 4px 15px rgba(227, 6, 19, 0.4);
}

.hero-btn-outline {
    background-color: transparent !important;
    border: 2px solid #ffffff !important;
    color: #ffffff !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    border-radius: 4px !important;
    padding: 10px 28px !important;
    font-size: 13px !important;
    transition: all 0.3s ease !important;
    display: inline-block;
    text-decoration: none;
}

.hero-btn-outline:hover {
    background-color: #ffffff !important;
    color: #000000 !important;
    transform: translateY(-2px);
    box-shadow: 0 4px 15px rgba(255, 255, 255, 0.3);
}

/* DEALER LOCATOR SECTION */
.wrap-agency {
    padding: 50px 0;
    background: #ffffff;
}

.agency-option {
    text-align: center;
    margin-bottom: 40px;
}

.agency-select {
    background-color: #ffffff !important;
    color: #111111 !important;
    border: 1px solid #cccccc !important;
    border-radius: 4px !important;
    padding: 10px 20px !important;
    font-size: 15px !important;
    width: 280px !important;
    margin: 0 auto;
    display: block !important;
    cursor: pointer;
    transition: border-color 0.3s ease;
    visibility: visible !important;
    opacity: 1 !important;
}

.agency-select option {
    background-color: #ffffff !important;
    color: #111111 !important;
    display: block !important;
}

.agency-select:focus {
    border-color: #e30613 !important;
    outline: none;
}

.grid-agency {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 20px;
}

.agency-box {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    overflow: hidden;
    transition: all 0.35s cubic-bezier(0.25, 0.8, 0.25, 1);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
    text-align: center;
}

.agency-box:hover {
    border-color: #e30613;
    box-shadow: 0 8px 20px rgba(227, 6, 19, 0.15);
    transform: translateY(-4px);
}

.agency-img {
    position: relative;
    width: 100%;
    height: 140px;
    background-color: #0d0d0d;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border-bottom: 1px solid #e2e8f0;
}

.agency-img img {
    max-width: 90%;
    max-height: 90%;
    object-fit: contain;
    transition: transform 0.5s ease;
}

.agency-box:hover .agency-img img {
    transform: scale(1.06);
}

.agency-name {
    padding: 12px 10px;
    font-size: 13px;
    font-weight: 700;
    color: #1e293b !important;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    background-color: #f8fafc;
}

/* TESTIMONIALS & REVIEWS SECTION */
.testimonial-container {
    background: #111111;
    border: 1px solid rgba(255, 255, 255, 0.05);
    border-radius: 8px;
    padding: 25px;
    margin-top: 15px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
}

.testimonial-item {
    margin-bottom: 20px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
    padding-bottom: 20px;
}

.testimonial-item:last-child {
    margin-bottom: 0;
    border-bottom: none;
    padding-bottom: 0;
}

.testimonial-header {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 12px;
}

.testimonial-avatar {
    width: 45px;
    height: 45px;
    border-radius: 50%;
    background-color: #e30613;
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 16px;
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.testimonial-info h5 {
    color: #ffffff !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    margin: 0 !important;
}

.testimonial-info .testimonial-stars {
    color: #ff9800;
    font-size: 11px;
    margin-top: 2px;
}

.testimonial-content {
    color: rgba(255, 255, 255, 0.8) !important;
    font-size: 13.5px !important;
    line-height: 1.6 !important;
    font-style: italic;
}

/* Responsive Overrides */
@media (max-width: 1199px) {
    .grid-agency {
        grid-template-columns: repeat(4, 1fr);
    }
}
@media (max-width: 991px) {
    .grid-agency {
        grid-template-columns: repeat(3, 1fr);
    }
}

/* Remove extra background on mobile-only footer contact column */
#footer .col.show-for-small .col-inner,
#footer .col.show-for-small {
    background: transparent !important;
    background-color: transparent !important;
}

/* On mobile: show all footer columns, hide the mobile-only duplicate */
@media (max-width: 849px) {
    #footer .col.hide-for-small {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
    }
    #footer .col.show-for-small {
        display: none !important;
    }
}

/* Footer responsive */
@media (max-width: 849px) {
    body #footer .section,
    body .footer-wrapper .section {
        padding: 30px 15px !important;
    }

    body #footer .row,
    body .footer-wrapper .row {
        flex-direction: column !important;
    }

    body #footer .col,
    body .footer-wrapper .col {
        width: 100% !important;
        max-width: 100% !important;
        padding: 0 0 25px 0 !important;
        flex: none !important;
    }

    body #footer .col:last-child {
        padding-bottom: 0 !important;
    }

    body #footer h3, body #footer h4,
    body #footer .widget-title {
        font-size: 14px !important;
        margin-bottom: 12px !important;
    }

    body #footer p, body #footer li,
    body #footer a {
        font-size: 13px !important;
    }

    .absolute-footer .container {
        padding: 0 15px !important;
    }
}

@media (max-width: 767px) {
    .hero-banner-static {
        height: 400px;
    }
    
    .hero-title {
        font-size: 24px !important;
    }
    
    .hero-buttons {
        flex-direction: column;
        gap: 10px;
    }
    
    .hero-btn-red, .hero-btn-outline {
        text-align: center;
        width: 100%;
        padding: 10px 20px !important;
    }

    .grid-agency {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
    }
    .agency-img {
        height: 110px;
    }
    .agency-name {
        font-size: 11.5px;
        padding: 8px 6px;
    }
}
@media (max-width: 480px) {
    .grid-agency {
        grid-template-columns: 1fr;
    }
    .agency-select {
        width: 100% !important;
        max-width: 300px;
    }
}


/* BLOG SECTION STYLING */
.wrap-blog {
    padding: 50px 0;
    background: #ffffff;
    border-top: 1px solid #e2e8f0;
}

.blog-container {
    display: flex;
    gap: 30px;
}

.blog-list {
    flex: 7;
    display: flex;
    flex-direction: column;
    gap: 20px;
}



.blog-item {
    display: flex;
    gap: 20px;
    border-bottom: 1px dashed #e2e8f0;
    padding-bottom: 20px;
}

.blog-item:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.blog-date {
    background: #e30613;
    color: #ffffff;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 10px;
    border-radius: 6px;
    min-width: 70px;
    height: 70px;
    text-align: center;
}

.blog-date .day {
    font-size: 20px;
    font-weight: 800;
    line-height: 1.1;
}

.blog-date .month-year {
    font-size: 11px;
    font-weight: 600;
}

.blog-img {
    width: 160px;
    height: 100px;
    border-radius: 6px;
    overflow: hidden;
    flex-shrink: 0;
}

.blog-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.blog-item:hover .blog-img img {
    transform: scale(1.06);
}

.blog-info {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.blog-title {
    font-size: 14.5px;
    font-weight: 700;
    color: #1e293b;
    margin-bottom: 6px;
    text-transform: uppercase;
    line-height: 1.4;
    text-align: left;
    transition: color 0.2s ease;
}

.blog-title:hover {
    color: #e30613;
}

.blog-excerpt {
    font-size: 13px;
    color: #64748b;
    line-height: 1.5;
    text-align: left;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

@media (max-width: 991px) {
    .blog-container {
        flex-direction: column;
    }
}

/* PREMIUM GLASSMORPHIC CONTACT FORM 7 OVERRIDES */
body.home .flex-newslet form p {
    margin-bottom: 12px !important;
}

body.home .flex-newslet form br {
    display: none !important; /* Hide unwanted line breaks output by CF7 */
}

body.home .flex-newslet input[type="text"],
body.home .flex-newslet input[type="email"],
body.home .flex-newslet input[type="tel"],
body.home .flex-newslet textarea {
    background-color: rgba(255, 255, 255, 0.05) !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    color: #ffffff !important;
    border-radius: 6px !important;
    padding: 12px 16px !important;
    font-size: 14px !important;
    transition: all 0.3s ease !important;
    width: 100% !important;
    box-sizing: border-box !important;
    margin-top: 4px !important;
}

body.home .flex-newslet input:focus,
body.home .flex-newslet textarea:focus {
    border-color: #e30613 !important;
    background-color: rgba(255, 255, 255, 0.1) !important;
    box-shadow: 0 0 10px rgba(227, 6, 19, 0.3) !important;
    outline: none !important;
}

body.home .flex-newslet label {
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #e2e8f0 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    margin-bottom: 4px !important;
    display: block !important;
}

body.home .flex-newslet input[type="submit"] {
    background-color: #e30613 !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 6px !important;
    padding: 14px 30px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    width: 100% !important;
    margin-top: 15px !important;
    box-shadow: 0 4px 15px rgba(227, 6, 19, 0.2) !important;
}

body.home .flex-newslet input[type="submit"]:hover {
    background-color: #ffffff !important;
    color: #000000 !important;
    box-shadow: 0 4px 20px rgba(255, 255, 255, 0.3) !important;
    transform: translateY(-2px);
}

/* PREMIUM TESTIMONIAL CARDS ON HOMEPAGE */
body.home .testimonial-container {
    background: rgba(255, 255, 255, 0.02) !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-radius: 10px !important;
    padding: 30px !important;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3) !important;
    backdrop-filter: blur(4px) !important;
}

body.home .testimonial-item {
    border-bottom: 1px dashed rgba(255, 255, 255, 0.1) !important;
    padding-bottom: 25px !important;
    margin-bottom: 25px !important;
}

body.home .testimonial-item:last-child {
    border-bottom: none !important;
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}

body.home .testimonial-header {
    display: flex !important;
    align-items: center !important;
    gap: 15px !important;
    margin-bottom: 15px !important;
}

body.home .testimonial-avatar {
    background: #e30613 !important;
    color: #ffffff !important;
    width: 44px !important;
    height: 44px !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-weight: 800 !important;
    font-size: 16px !important;
}

body.home .testimonial-info h5 {
    margin: 0 0 4px 0 !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #ffffff !important;
}

body.home .testimonial-stars {
    color: #fbbf24 !important; /* Gold stars */
    font-size: 13px !important;
    letter-spacing: 2px !important;
}

body.home .testimonial-content {
    font-size: 14px !important;
    line-height: 1.6 !important;
    color: #cbd5e1 !important;
    font-style: italic !important;
}
body.home .wrap-sanphamnb {
    padding-top: 15px !important;
}

/* PREMIUM DARK FOOTER STYLING (LedPro Style) */
body.home footer#footer,
body.home #footer,
body.home .footer-wrapper,
footer#footer,
#footer,
.footer-wrapper {
    background-color: #0d0d0d !important;
    background: #0d0d0d !important;
    color: #cbd5e1 !important;
    padding: 60px 0 20px 0 !important;
}

#footer .section,
#footer .section-bg,
#footer .bg,
#footer .fill,
#footer .section.footer,
.footer-wrapper .section,
.footer-wrapper .bg,
.footer-wrapper .section-bg {
    background-color: #0d0d0d !important;
    background: #0d0d0d !important;
}

body #footer h1, body #footer h2, body #footer h3,
body #footer h4, body #footer h5, body #footer h6,
body #footer .widget-title, body #footer strong,
body .footer-wrapper h1, body .footer-wrapper h2,
body .footer-wrapper h3, body .footer-wrapper h4,
body .footer-wrapper h5, body .footer-wrapper h6,
body .footer-wrapper .widget-title, body .footer-wrapper strong {
    color: #ffffff !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
}

body #footer a, body #footer li, body #footer p,
body #footer span, body #footer td, body #footer th,
body #footer div,
body .footer-wrapper a, body .footer-wrapper li,
body .footer-wrapper p, body .footer-wrapper span,
body .footer-wrapper td, body .footer-wrapper th {
    color: #cbd5e1 !important;
    font-size: 14px !important;
}

body #footer a:hover,
body .footer-wrapper a:hover {
    color: #e30613 !important;
}

body #footer .copyright-footer,
body .footer-wrapper .copyright-footer {
    border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
    padding-top: 20px !important;
    margin-top: 40px !important;
    background-color: #09090b !important;
}

body #footer .copyright-footer *,
body .footer-wrapper .copyright-footer * {
    color: #64748b !important;
}

/* Copyright bar full width & centered */
.absolute-footer {
    background-color: #e30613 !important;
    padding: 0 !important;
}

.absolute-footer .container {
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}

.absolute-footer .footer-primary {
    float: none !important;
    width: 100% !important;
    display: block !important;
}

.absolute-footer .copyright-footer,
.absolute-footer .copyright-footer * {
    color: rgba(255, 255, 255, 0.9) !important;
    font-size: 13px !important;
    text-align: center !important;
    display: block !important;
    width: 100% !important;
    padding: 12px 0 !important;
    margin: 0 !important;
}
