/* HAVALTECH main stylesheet - architecture entrypoint. */
/* Design tokens */
@import url("./base/variables.css?v=37.0");
/* Reset and site shell */
@import url("./base/reset.css?v=37.0");
/* Topbar, navbar and desktop mega menu */
@import url("./layout/navbar.css?v=37.0");
/* Home hero */
@import url("./pages/home-hero.css?v=37.0");
/* Home/page sections, product cards and global components */
@import url("./pages/home-sections.css?v=39.1");
/* Landing-page enhancement sections */
@import url("./pages/home-enhancements.css?v=37.1");
/* Cart drawer and free-shipping UI */
@import url("./components/cart-drawer.css?v=40.3");
/* Toast notifications */
@import url("./components/toasts.css?v=37.0");
/* Section heading refinements */
@import url("./components/section-headings.css?v=37.0");
/* Responsive commerce layouts */
@import url("./responsive/mobile-commerce.css?v=37.0");
/* Mobile UI refinements */
@import url("./responsive/mobile-ui.css?v=37.0");
/* Mobile hero banner behaviour */
@import url("./responsive/mobile-hero.css?v=37.0");
/* Mobile accordion/mega menu */
@import url("./components/mobile-mega-menu.css?v=37.0");
/* Drawer/modal scroll-lock behaviour */
@import url("./components/scroll-lock.css?v=37.0");
/* Small-mobile layout support */
@import url("./responsive/small-mobile.css?v=37.4");
/* Mobile filter/cart/headings polish */
@import url("./components/mobile-polish.css?v=37.0");
/* Cart/action polish and wishlist removal */
@import url("./components/cart-wishlist-polish.css?v=37.0");
/* Checkout and modal stability */
@import url("./components/checkout-modal.css?v=40.4");
/* Search overlay polish */
@import url("./components/search-overlay.css?v=37.1");
/* Account modal */
@import url("./components/account-modal.css?v=37.0");
/* HAVAL Z40 product-detail page */
@import url("./pages/product-z40.css?v=37.2");
/* Light HAVAL storefront theme normalization */
html,
body{
    background:#ffffff;
    color:#111111;
}

.topbar,
.navbar,
.mega-menu,
.mobile-menu-panel,
.drawer,
.modal-content,
.account-modal,
.search-box,
.checkout-panel,
.checkout-modal,
.footer,
.policy-card,
.page-hero,
.product-card,
.sale-product-card,
.quality-strip,
.flash-shell,
.newsletter,
.faq-shell,
.faq-item,
.global-shell,
.global-logo-card,
.product-detail-section,
.product-overview,
.z40-hero-card,
.purchase-card,
.spec-card,
.review-card,
.floating-cart,
.sticky-add-cart,
.cart-drawer{
    background:#ffffff!important;
    color:#111111!important;
    border-color:#e5e5e5!important;
    box-shadow:0 18px 54px rgba(0,0,0,.10)!important;
}

.section,
.page-main,
.checkout-page,
.product-page,
.z40-page{
    background:#ffffff!important;
    color:#111111!important;
}

h1,h2,h3,h4,h5,h6,
.nav-link,
.footer h4,
.product-info h3,
.detail-copy h1,
.price-line strong,
.mini-price strong,
.checkout-total-row,
.global-copy strong,
.category-content h3,
.catalog-copy h3,
.generation-caption strong{
    color:#111111!important;
}

p,
small,
.muted,
.footer p,
.footer a,
.product-info p,
.detail-copy p,
.page-hero p,
.policy-card p,
.checkout-note,
.checkout-form label,
.checkout-total-row,
.global-copy p,
.category-content p,
.catalog-copy p,
.generation-caption small{
    color:#666666!important;
}

.btn,
.buy-now-btn,
.cart-action,
.checkout-submit,
.drawer-checkout,
.add-to-cart,
.primary-btn,
.product-badge,
.sale-badge,
.cart-count,
.nav-cart-count,
.filter-pills button.active,
.filter-pills button:hover,
.back-top{
    background:#e30613!important;
    color:#ffffff!important;
    border-color:#e30613!important;
    box-shadow:0 12px 28px rgba(227,6,19,.18)!important;
}

.btn:hover,
.buy-now-btn:hover,
.cart-action:hover,
.checkout-submit:hover,
.drawer-checkout:hover,
.add-to-cart:hover,
.primary-btn:hover,
.back-top:hover{
    background:#c9000b!important;
    border-color:#c9000b!important;
}

.btn.ghost,
.secondary-btn,
.outline-btn,
.round-action,
.qty button,
.filter-pills button,
.hero-meta span,
.category-chip,
.category-specs span,
.detail-specs div,
.checkout-method,
.checkout-trust span,
.socials a{
    background:#f7f7f7!important;
    color:#111111!important;
    border-color:#e5e5e5!important;
    box-shadow:none!important;
}

.round-action:hover,
.round-action.active,
.faq-item[open] summary i,
.play-mark{
    background:#e30613!important;
    color:#ffffff!important;
}

.product-image,
.detail-image,
.sale-image-wrap,
.drawer-item,
.search-result,
.checkout-item,
.mega-product,
.quality-point,
.countdown div{
    background:#f7f7f7!important;
    border-color:#e5e5e5!important;
    color:#111111!important;
}

.tag,
.eyebrow,
.gradient-text,
.product-info small,
.breadcrumb a,
.footer a:hover,
.checkout-item b,
.checkout-total-row.final strong,
.global-copy strong,
.read-more-link,
.form-message,
.quality-point span{
    color:#e30613!important;
}

.hero-left h1 span,
.gradient-text{
    background:none!important;
    -webkit-background-clip:initial!important;
    background-clip:initial!important;
    color:#e30613!important;
}

input,
textarea,
select,
.search-box input,
.checkout-form input,
.checkout-form textarea,
.checkout-form select,
.newsletter-form input{
    background:#ffffff!important;
    color:#111111!important;
    border-color:#dddddd!important;
}

input:focus,
textarea:focus,
select:focus,
.search-box input:focus,
.checkout-form input:focus,
.checkout-form textarea:focus,
.checkout-form select:focus{
    border-color:#e30613!important;
    box-shadow:0 0 0 4px rgba(227,6,19,.10)!important;
}

.search-overlay,
.drawer-overlay,
.modal-overlay{
    background:rgba(0,0,0,.48)!important;
}

.slider-progress,
.hero-dots button.active,
.generation-rail::-webkit-scrollbar-thumb,
.ambassador-mosaic::-webkit-scrollbar-thumb{
    background:#e30613!important;
}
/* Z40 light product-detail refinements */
.z40-gallery,
.z40-main-image,
.z40-thumbs,
.z40-thumb,
.z40-purchase-card,
.z40-benefit,
.z40-color-block,
.z40-qty-card,
.z40-review-form,
.z40-review-card,
.z40-sticky-card{
    background:#ffffff!important;
    border-color:#e5e5e5!important;
    color:#111111!important;
    box-shadow:0 18px 54px rgba(0,0,0,.10)!important;
}

.z40-main-image{
    background:radial-gradient(circle at 50% 45%,rgba(227,6,19,.10),transparent 38%),linear-gradient(145deg,#ffffff,#f5f5f5)!important;
}

.z40-main-image:before{
    border-color:rgba(227,6,19,.28)!important;
    box-shadow:none!important;
}

.z40-thumbs,
.z40-thumb{
    background:#f7f7f7!important;
}

.z40-thumb:hover,
.z40-thumb.active{
    background:#fff1f2!important;
    border-color:#e30613!important;
}

.z40-gallery-arrow,
.z40-qty button,
.z40-swatch,
.z40-tab-nav a{
    background:#ffffff!important;
    color:#111111!important;
    border-color:#dddddd!important;
}

.z40-gallery-arrow:hover,
.z40-tab-nav a.active,
.z40-tab-nav a:hover{
    background:#e30613!important;
    color:#ffffff!important;
    border-color:#e30613!important;
}

.z40-price,
.z40-price strong,
.z40-color-block h2,
.z40-qty-row > span,
.z40-stock,
.z40-product-title,
.z40-section-title,
.z40-review-card strong,
.z40-spec-card strong{
    color:#111111!important;
}

.z40-subtitle,
.z40-sale-note,
.z40-color-block h2 span,
.z40-feature-copy,
.z40-review-card p,
.z40-spec-card span{
    color:#666666!important;
}

.z40-btn-solid,
.z40-review-button,
.z40-load-more,
.z40-sticky-action{
    background:#e30613!important;
    color:#ffffff!important;
    border-color:#e30613!important;
}

.z40-btn-solid:hover,
.z40-review-button:hover,
.z40-load-more:hover,
.z40-sticky-action:hover{
    background:#c9000b!important;
    border-color:#c9000b!important;
}

.z40-btn-outline{
    background:#ffffff!important;
    color:#111111!important;
    border-color:#111111!important;
}

.z40-sale-timer,
.z40-sale-pill,
.z40-viewer-count,
.z40-save-badge{
    background:#fff1f2!important;
    color:#e30613!important;
    border-color:rgba(227,6,19,.28)!important;
}
/* V37.1 visibility polish for light storefront theme */
.topbar,
.navbar,
.navbar.scrolled{
    background:rgba(255,255,255,.94)!important;
    color:#111111!important;
    border-color:#dddddd!important;
    box-shadow:0 18px 54px rgba(0,0,0,.10)!important;
}

.logo,
.footer-logo,
.copyright-brand{
    color:#111111!important;
}

.logo span,
.footer-logo span,
.copyright-brand span{
    color:#e30613!important;
}

.topbar-links a:hover,
.nav-item,
.nav-item i,
.icon-btn,
.mobile-menu-btn,
.small-btn,
.close-btn{
    color:#111111!important;
}

.nav-item:hover,
.nav-item.active,
.mega-trigger:hover,
.mega-trigger.active{
    background:#fff1f2!important;
    color:#e30613!important;
    border-color:rgba(227,6,19,.18)!important;
}

.nav-item:hover i,
.nav-item.active i,
.mega-trigger:hover i,
.mega-trigger.active i{
    color:#e30613!important;
}

.icon-btn,
.mobile-menu-btn,
.small-btn,
.close-btn{
    background:#ffffff!important;
    border-color:#dddddd!important;
}

.icon-btn:hover,
.mobile-menu-btn:hover,
.small-btn:hover,
.close-btn:hover{
    background:#e30613!important;
    color:#ffffff!important;
    border-color:#e30613!important;
}

.icon-btn:hover i,
.mobile-menu-btn:hover i,
.small-btn:hover i,
.close-btn:hover i{
    color:#ffffff!important;
}

.icon-btn span,
#cartCount{
    background:#e30613!important;
    color:#ffffff!important;
}

.mega-menu{
    padding-top:18px!important;
}

.mega-menu-inner{
    background:rgba(255,255,255,.96)!important;
    border-color:#dddddd!important;
    box-shadow:0 24px 70px rgba(0,0,0,.16)!important;
}

.mega-copy{
    background:#fff1f2!important;
    border-color:rgba(227,6,19,.22)!important;
    color:#111111!important;
}

.mega-copy h3,
.mega-copy p,
.mega-product strong{
    color:#111111!important;
}

.mega-product{
    background:#ffffff!important;
    border-color:#e5e5e5!important;
    color:#111111!important;
}

.mega-product:hover{
    background:#fff1f2!important;
    border-color:rgba(227,6,19,.34)!important;
}

.mega-product img{
    background:#f7f7f7!important;
}

.hero .slide-arrow{
    opacity:1!important;
    pointer-events:auto!important;
    background:#ffffff!important;
    color:#111111!important;
    border-color:#dddddd!important;
    box-shadow:0 14px 34px rgba(0,0,0,.14)!important;
}

.hero .slide-arrow:hover{
    background:#e30613!important;
    color:#ffffff!important;
    border-color:#e30613!important;
}

.premium-title span,
.section-title-pill span,
.global-title-pill span{
    background:#ffffff!important;
    color:#111111!important;
    border-color:#dddddd!important;
    box-shadow:0 18px 48px rgba(0,0,0,.10)!important;
}

.premium-title span em,
.section-title-pill span em,
.global-title-pill span em{
    color:#e30613!important;
    font-style:normal!important;
}

.ambassador-title span,
.generation-heading .eyebrow,
.global-title-pill span,
.global-copy h2,
.global-copy strong,
.global-logo-card strong{
    color:#111111!important;
}

.ambassador-title h2{
    background:none!important;
    -webkit-background-clip:initial!important;
    background-clip:initial!important;
    color:#e30613!important;
}

.generation,
.generation-video-rail,
.ambassadors,
.ambassador-mosaic{
    background:#ffffff!important;
}

.generation-card,
.generation-card.video-card,
.ambassador-card{
    background:#ffffff!important;
    border-color:#dddddd!important;
    box-shadow:0 18px 48px rgba(0,0,0,.12)!important;
}

.generation-card.video-card:before,
.generation-card:after,
.video-card:after,
.ambassador-card:after{
    background:linear-gradient(180deg,rgba(0,0,0,0) 58%,rgba(0,0,0,.30) 100%)!important;
}

.generation-caption strong,
.ambassador-info strong,
.ambassador-mini strong{
    color:#ffffff!important;
}

.generation-caption small,
.ambassador-info small{
    color:rgba(255,255,255,.86)!important;
}

.category-card:after,
.catalog-card:after{
    background:linear-gradient(180deg,rgba(0,0,0,.08) 18%,rgba(0,0,0,.70) 100%)!important;
}

.catalog-card,
.category-card{
    border-color:#dddddd!important;
    box-shadow:0 18px 52px rgba(0,0,0,.14)!important;
}

.catalog-card:before{
    background:radial-gradient(circle at 76% 22%,rgba(227,6,19,.22),transparent 34%)!important;
}

.catalog-copy h3,
.category-content h3,
.catalog-copy p,
.category-content p,
.catalog-copy small,
.category-specs span{
    color:#ffffff!important;
    text-shadow:0 8px 22px rgba(0,0,0,.45)!important;
}

.catalog-copy .category-chip,
.category-content .category-chip{
    background:#ffffff!important;
    color:#e30613!important;
    border-color:rgba(255,255,255,.7)!important;
    text-shadow:none!important;
}

.catalog-copy .category-specs span,
.category-content .category-specs span{
    background:rgba(255,255,255,.94)!important;
    color:#111111!important;
    border-color:rgba(255,255,255,.76)!important;
    text-shadow:none!important;
}

.faq-item,
.faq-item:not([open]),
.faq-item[open]{
    background:#ffffff!important;
    border-color:#e5e5e5!important;
    color:#111111!important;
}

.faq-item summary{
    color:#111111!important;
}

.faq-item summary i{
    display:grid!important;
    opacity:1!important;
    visibility:visible!important;
    background:#fff1f2!important;
    color:#e30613!important;
    border:1px solid rgba(227,6,19,.24)!important;
}

.faq-item summary i:before{
    color:inherit!important;
}

.faq-item[open] summary i{
    background:#e30613!important;
    color:#ffffff!important;
}

.z40-tabs,
.z40-tabs.z40-tabs-floating{
    background:rgba(255,255,255,.82)!important;
    border:1px solid rgba(229,229,229,.88)!important;
    box-shadow:0 18px 42px rgba(0,0,0,.10)!important;
    backdrop-filter:blur(18px)!important;
}

.z40-tabs a,
.z40-tabs.z40-tabs-floating a{
    background:rgba(255,255,255,.68)!important;
    color:#111111!important;
    border-color:#dddddd!important;
}

.z40-tabs a:hover,
.z40-tabs a.active,
.z40-tabs.z40-tabs-floating a:hover,
.z40-tabs.z40-tabs-floating a.active{
    background:#fff1f2!important;
    color:#e30613!important;
    border-color:#e30613!important;
}

.z40-price-row strong,
.z40-price-row,
.z40-rating-link,
.z40-rating-link span,
.z40-reviews h2,
.z40-reviews strong,
.z40-review-top strong,
.z40-faq-panel h2,
.z40-faq-list summary{
    color:#111111!important;
}

.z40-price-row span,
.z40-rating-link,
.z40-review-top small,
.z40-review-text,
.z40-faq-list p{
    color:#666666!important;
}

.z40-hero-stars,
.z40-rating-link .z40-hero-stars{
    color:#ffb400!important;
}

.footer h4,
.footer .logo,
.footer-logo,
.footer-bottom p{
    color:#111111!important;
}

.footer .socials a{
    color:#111111!important;
}

.footer .socials a:hover{
    color:#ffffff!important;
    background:#e30613!important;
    border-color:#e30613!important;
}

.topbar-links a:hover,
.footer a:hover{
    color:#e30613!important;
}

body[data-product-id="haval-z40"] .z40-color-block h2,
body[data-product-id="haval-z40"] .z40-qty-row > span,
body[data-product-id="haval-z40"] .z40-sale-timer-bar span,
body[data-product-id="haval-z40"] .z40-live-view,
body[data-product-id="haval-z40"] .z40-live-view span{
    color:#171717!important;
}

body[data-product-id="haval-z40"] .z40-color-block h2 span{
    color:#555555!important;
}

body[data-product-id="haval-z40"] .z40-sale-timer-bar{
    background:linear-gradient(135deg,#fff7f0,#ffe4c4 58%,#ffd1a3)!important;
    border-color:rgba(227,6,19,.62)!important;
    box-shadow:0 14px 30px rgba(227,6,19,.12)!important;
}

body[data-product-id="haval-z40"] .z40-sale-timer-bar time,
body[data-product-id="haval-z40"] .z40-live-view strong,
body[data-product-id="haval-z40"] .z40-live-view b{
    color:#e30613!important;
}

body[data-product-id="haval-z40"] .z40-live-pulse{
    background:#ffe5e7!important;
    color:#e30613!important;
}

body[data-product-id="haval-z40"] .z40-service-row div,
body[data-product-id="haval-z40"] .z40-service-row span{
    color:#111111!important;
}

body[data-product-id="haval-z40"] .z40-service-row i{
    color:#e30613!important;
}

body[data-product-id="haval-z40"] .z40-swatch{
    background:linear-gradient(135deg,#ff5a1f 0 49%,#111111 50% 100%)!important;
    border-color:#e30613!important;
    box-shadow:0 0 0 2px #ffffff,0 0 0 4px #e30613,0 16px 28px rgba(227,6,19,.16)!important;
}

body[data-product-id="haval-z40"] .z40-swatch.active{
    background:linear-gradient(135deg,#ff5a1f 0 49%,#111111 50% 100%)!important;
    border-color:#111111!important;
    box-shadow:0 0 0 2px #ffffff,0 0 0 4px #e30613,0 18px 30px rgba(227,6,19,.22)!important;
}

.product-image picture,
.catalog-product picture,
.sale-image-wrap picture,
.hero-right picture,
.mobile-hero-poster picture,
.mega-product picture,
.mobile-nav-product-img picture,
.search-result picture,
.drawer-item picture,
.checkout-item picture,
.detail-image picture,
.z40-thumb picture,
.z40-main-picture,
.z40-sticky-buy-media picture,
.haval-corp-visual picture,
.corp-image-card picture,
.haval-corp-discount picture{
    display:contents;
}

/* V40.4: Search overlay contrast hotfix
   Restores the premium dark search panel/results after the light storefront
   normalization. Scoped to the search overlay only. */
.search-overlay .search-box{
    background:linear-gradient(180deg,rgba(18,19,24,.99),rgba(10,11,15,.99))!important;
    color:#ffffff!important;
    border-color:rgba(255,255,255,.14)!important;
    box-shadow:0 30px 90px rgba(0,0,0,.52),inset 0 1px 0 rgba(255,255,255,.08)!important;
}
.search-overlay .search-box .eyebrow{
    color:#e30613!important;
}
.search-overlay .search-box input{
    background:#ffffff!important;
    color:#111111!important;
    border-color:rgba(227,6,19,.55)!important;
}
.search-overlay .search-box input::placeholder{
    color:#929292!important;
    opacity:1!important;
}
.search-overlay .search-results{
    background:transparent!important;
}
.search-overlay .search-result{
    background:linear-gradient(135deg,#191b21,#111217)!important;
    border-color:rgba(255,255,255,.13)!important;
    color:#ffffff!important;
    box-shadow:0 14px 32px rgba(0,0,0,.22)!important;
}
.search-overlay .search-result:hover{
    background:linear-gradient(135deg,rgba(227,6,19,.22),#15161b)!important;
    border-color:rgba(227,6,19,.55)!important;
}
.search-overlay .search-result strong,
.search-overlay .search-result span{
    color:#ffffff!important;
}
.search-overlay .search-result small{
    color:rgba(255,255,255,.66)!important;
}
.search-overlay .search-result img{
    background:rgba(255,255,255,.08)!important;
    border-color:rgba(255,255,255,.10)!important;
}

/* V40.5: Mobile search-result alignment polish
   Keeps product image, information and price on one balanced row. */
@media (max-width:520px){
    .search-overlay .search-result{
        display:grid!important;
        grid-template-columns:58px minmax(0,1fr) max-content!important;
        grid-template-areas:"media info price"!important;
        align-items:center!important;
        column-gap:12px!important;
        min-height:82px!important;
        padding:11px 12px!important;
        border-radius:18px!important;
        text-decoration:none!important;
    }

    .search-overlay .search-result > img,
    .search-overlay .search-result > picture,
    .search-overlay .search-result picture > img{
        grid-area:media!important;
        justify-self:start!important;
        align-self:center!important;
        width:58px!important;
        height:58px!important;
        object-fit:contain!important;
        border-radius:14px!important;
        margin:0!important;
    }

    .search-overlay .search-result > div{
        grid-area:info!important;
        min-width:0!important;
        align-self:center!important;
        display:flex!important;
        flex-direction:column!important;
        justify-content:center!important;
        gap:3px!important;
        margin:0!important;
        text-align:left!important;
    }

    .search-overlay .search-result strong{
        display:block!important;
        margin:0!important;
        color:#fff!important;
        font-size:14px!important;
        line-height:1.18!important;
        font-weight:900!important;
        letter-spacing:-.015em!important;
        white-space:normal!important;
        overflow-wrap:normal!important;
        word-break:normal!important;
    }

    .search-overlay .search-result small{
        display:block!important;
        margin:0!important;
        color:rgba(255,255,255,.62)!important;
        font-size:10.5px!important;
        line-height:1.2!important;
        font-weight:750!important;
    }

    .search-overlay .search-result > span{
        grid-area:price!important;
        justify-self:end!important;
        align-self:center!important;
        margin:0!important;
        color:#fff!important;
        font-size:13px!important;
        line-height:1!important;
        font-weight:900!important;
        white-space:nowrap!important;
        text-align:right!important;
    }
}

@media (max-width:370px){
    .search-overlay .search-result{
        grid-template-columns:52px minmax(0,1fr) max-content!important;
        column-gap:9px!important;
        padding:10px!important;
    }
    .search-overlay .search-result > img,
    .search-overlay .search-result > picture,
    .search-overlay .search-result picture > img{
        width:52px!important;
        height:52px!important;
    }
    .search-overlay .search-result strong{font-size:13px!important}
    .search-overlay .search-result > span{font-size:12px!important}
}
