﻿/* ========== Global Fix: Override theme CSS height restriction ========== */
/* This fix must be in style.css because it loads AFTER theme-c3659f705.css */
/* The theme CSS sets body, html { height: 100% } which prevents page scrolling */
html {
    height: auto !important;
    min-height: 100% !important;
    /* Removed overflow-x: hidden here as it might interfere with WOW.js scroll detection on some mobile browsers */
}

body {
    height: auto !important;
    min-height: 100% !important;
    overflow-x: hidden !important;
    /* 移除 overflow-y: auto 以支持 position: sticky */
}

:root {
    --lv-image-fallback-bg: linear-gradient(145deg, #d3d9e4 0%, #bcc6d6 100%);
    --lv-image-fallback-banner-bg: linear-gradient(140deg, #cfd7e1 0%, #b7c1cf 100%);
    --lv-image-fallback-banner-shell: #dde4ec;
    --lv-image-fallback-card-shell: #ffffff;
    --lv-image-fallback-border: rgba(104, 118, 140, 0.22);
    --lv-image-fallback-shadow: rgba(122, 132, 150, 0.14);
}

.category-banner,
.banner,
.banner-section,
.page-banner,
.banner-img {
    background: var(--lv-image-fallback-banner-shell);
}

.category-banner img,
.banner img,
.banner-section img,
.page-banner img {
    background: transparent;
}

.category-banner,
.banner,
.banner-section {
    overflow: hidden;
}

.idx1 .item .fitImg {
    background: var(--lv-image-fallback-card-shell);
    box-shadow: 0 12px 26px rgba(122, 132, 150, 0.08), inset 0 0 0 1px rgba(104, 118, 140, 0.12);
    overflow: hidden;
}

img.lv-smart-image {
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

img.lv-smart-image.lv-smart-image-awaiting,
img.lv-smart-image.lv-smart-image-failed {
    background: var(--lv-image-fallback-bg);
    box-shadow: inset 0 0 0 1px var(--lv-image-fallback-border);
}

.category-banner img.lv-smart-image.lv-smart-image-awaiting,
.category-banner img.lv-smart-image.lv-smart-image-failed,
.banner img.lv-smart-image.lv-smart-image-awaiting,
.banner img.lv-smart-image.lv-smart-image-failed,
.banner-section img.lv-smart-image.lv-smart-image-awaiting,
.banner-section img.lv-smart-image.lv-smart-image-failed,
.page-banner img.lv-smart-image.lv-smart-image-awaiting,
.page-banner img.lv-smart-image.lv-smart-image-failed,
.banner-img.lv-smart-image.lv-smart-image-awaiting,
.banner-img.lv-smart-image.lv-smart-image-failed {
    background: var(--lv-image-fallback-banner-bg);
    box-shadow: inset 0 0 0 1px rgba(104, 118, 140, 0.16);
    aspect-ratio: 19 / 7;
    object-fit: cover;
}

.category-banner img.lv-smart-image.lv-smart-image-awaiting,
.category-banner img.lv-smart-image.lv-smart-image-failed {
    aspect-ratio: 19 / 7;
}

.idx1 .item img.lv-smart-image.lv-smart-image-awaiting,
.idx1 .item img.lv-smart-image.lv-smart-image-failed {
    background: linear-gradient(145deg, #ccd5e1 0%, #b6c1d0 100%);
    box-shadow: inset 0 0 0 1px var(--lv-image-fallback-border), 0 14px 30px var(--lv-image-fallback-shadow);
}

img.lv-smart-image.lv-smart-image-ready {
    background: none;
    box-shadow: none;
}

/* Prevent background scroll when UIkit modal is open */
body.uk-modal-page {
    overflow: hidden !important;
}

/* Specific fix for firecheckout and cart pages */
body.firecheckout-index-index {
    height: auto !important;
    min-height: 100% !important;
    overflow-x: hidden !important;
}

#link_title {
    /* background: #000; 已改为行间样式从焦点图动态调取 */
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000; /* 降低层级，确保模态框/lightbox遮罩能覆盖住 */
    color: #fff;
    /* padding: 0.9rem 0; */
    text-align: center;
    letter-spacing: 0.06rem;
    height: 3rem;
    line-height: 3rem;
    min-height: 3rem;
    display: flex;
    align-items: center;
    justify-content: center;
}

#link_title a {
    color: #fff;
}

.uk-container {
    max-width: 85.81rem;
    margin: 0 auto;
    padding: 0 1.25rem;
}

/* Global container class for pages like FAQ, Howto, etc. */
/* Provides consistent max-width and padding across all pages */
.lv-container {
    --container-8xl: 85.5rem;
    max-width: var(--container-8xl);
    padding-inline: 1.25rem;
    box-sizing: content-box;
    margin: 0 auto;
}

.uk-container2 {
    padding: 0 4.88rem;
}

.uk-container3 {
    padding: 0 8.13rem;
}

.bgt {
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}

#header .header {
    padding: 1.25rem 0 0;
    position: relative;
    width: 100%;
    left: 0;
    top: 0;
    z-index: 22;
    background: transparent;
    -webkit-transition: background 0.3s ease-in-out,
        -webkit-box-shadow 0.3s ease-in-out;
    transition: background 0.3s ease-in-out, -webkit-box-shadow 0.3s ease-in-out;
    transition: background 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
    transition: background 0.3s ease-in-out, box-shadow 0.3s ease-in-out,
        -webkit-box-shadow 0.3s ease-in-out;
    font-weight: 600;
}

#header .header .wrap {
    align-items: flex-start;
}

#header .header .share a {
    width: 2.25rem;
    height: 2.25rem;
    margin-right: 0.81rem;
    /* border-color: #000; */
}

#header .header .share a i {
    font-size: 1.25rem;
    color: #000;
}

#header .header .share a:hover {
    background: none;
}

.logo-fix-menu {
    display: none;
}

.header .nav {
    position: relative;
    min-height: 4rem;
}

.header .nav>ul>li {
    margin: 0 1rem;
    padding-bottom: 1rem;
}

.header .nav>ul>li:not(.header .nav > ul > li:nth-child(2)) {
    position: relative;
}

.header .nav>ul>li:not(.header .nav > ul > li:nth-child(2)) .drop {
    padding: 20px 30px;
    top: 2.75rem;
}

.header .nav>ul>li>a {
    position: relative;
    padding-bottom: 0.31rem;
}

.header .nav>ul>li>a::after {
    display: none;
}

.header .nav>ul>li:hover>a,
.header .nav>ul>li.on>a {
    color: var(--color);
    background-color: rgba(0,0,0,0.05);
    border-radius: 4px;
    padding: 8px 12px;
    margin: -8px -12px;
}

.header .nav>ul>li:hover>a::after,
.header .nav>ul>li.on>a::after {
    display: none;
}

.header .nav .drop {
    background: #f4f6f8;
    border-radius: 10px;
    padding: 40px 50px;
    position: absolute;
    box-shadow: 0 10px 10px 0 rgba(194, 196, 198, 0.23);
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    width: auto;
    display: none;
}

.header .nav .drop li .tit {
    margin-bottom: 26px;
    white-space: nowrap;
    transform: uppercase;
}

.header .nav .drop li .v2-tit {
    color: #8a8a8a;
    margin-bottom: 15px;
    text-transform: uppercase;
}

.header .nav .drop li ul {}

.header .nav .drop li ul li {
    margin-right: 30px;
    margin-bottom: 15px;
}

.header .nav .drop li ul li a {
    white-space: nowrap;
}

.header .nav .drop li ul li:hover a {
    color: var(--color);
}

.header .nav .drop li ul li span {
    padding: 0 5px;
    height: 19px;
    border-radius: 3px;
    font-size: 14px;
    border: 1px solid #dc1e29;
    color: #dc1e29;
    margin-left: 5px;
}

.header .nav .drop li ul li:last-child {
    margin-bottom: 0;
}

.header .user {
    color: #000;
}

.header .user .account {
    padding-left: 1.44rem;
    margin-left: 1.44rem;
    position: relative;
}

.header .user .account::before {
    content: "";
    width: 0.06rem;
    height: 1rem;
    background: rgba(0, 0, 0, 0.4);
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
}

.header .user .dropdown {
    min-width: 120px;
    text-align: center;
    padding: 15px;
}

.header .user .dropdown li {
    margin: 5px 0;
}

/* .header a {
    color: #000;
} */

/* .header a:hover {
    color: rgba(0, 0, 0, 0.8);
} */

#header .header.fix,
#header .header:hover {
    background: #fff;
    -webkit-box-shadow: 0 -0.06rem #dddddd inset;
    box-shadow: 0 -0.06rem #ddd inset;
}

#header .header.fix {
    position: fixed;
    top: var(--topbar-h, 3rem);
    left: 0;
    width: 100%;
    z-index: 4000;
}

.banner {
    /* height: calc(100vh - 5.19rem); */
    /* overflow: hidden; */
    position: relative;
}

.banner .swiper-container,
.banner .swiper-container .swiper-slide,
.banner .uk-container {
    height: 100%;
    overflow: hidden;
}

.banner .swiper-slide {
    position: relative;
    z-index: 1;
}

.banner .swiper-slide .ban-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
}

.banner .slide-txt {
    width: 100%;
    height: 100%;
    color: #fff;
    align-items: center;
}

.banner .slide-txt .tit {
    line-height: 1.65;
}

.banner .slide-txt .desc {
    margin: 2.5rem 0;
}
.idx1 .mt-55rem{
    margin-top: 3rem;
}
.banner .slide-txt .btn {
    display: flex;
    align-items: center;
}

.banner .slide-txt .btn a {
    padding: 1.44rem 3.13rem;
    height: 4.19rem;
    border-radius: 0.63rem;
    border: 0.06rem solid #fff;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all ease 0.3s;
}

.banner .slide-txt .btn a:hover {
    background: var(--color);
    border-color: var(--color);
}

.statistics {
    background: var(--color);
    color: #fff;
    padding: 0.6rem 0;
    position: absolute;
    bottom: -4.5rem;
    height: 4.5rem;
    width: 100%;
    left: 0;
    z-index: 2;
}

.statistics .uk-slider {
    padding: 0 1.88rem 0 5rem;
}

.statistics .item .tit {
    margin-left: 0.63rem;
}

.statistics .item .num {
    position: relative;
    padding-right: 1.56rem;
}

.statistics .item .num .sup {
    position: absolute;
    right: 0;
    /* top: 0.94rem; */
}

.back-to-top {
    position: fixed;
    bottom: 1.88rem;
    right: 1.88rem;
    width: 3.13rem;
    height: 3.13rem;
    background: #000;
    color: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    opacity: 0;
    visibility: hidden;
    transition: all ease 0.3s;
    z-index: 99;
}

.back-to-top i {
    font-size: 1.5rem;
}

.back-to-top.active {
    opacity: 1;
    visibility: visible;
}

.back-to-top.active:hover {
    background: black;
    transform: translateY(-0.31rem);
}

.idx-type {
    text-align: center;
    /* margin-bottom: 3.13rem; */
}

.idx-type .tabs {
    /* margin: 1.56rem 0 0; */
}

.idx-type .tabs li {
    position: relative;
}

.idx-type .tabs li::after {
    content: "/";
    font-size: 1.5rem;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    color: var(--defalut-color);
    font-weight: 400;
}

.idx3 .idx-type .tabs li::after {

    color: rgba(0, 0, 0, 0.3);
}

.idx-type .tabs li a {
    padding: 0 0 0.63rem 0;
    color: #000;
    margin: 0 2.5rem;
    position: relative;
}

.idx-type .tabs li a::after {
    content: "";
    width: 0;
    height: 0.19rem;
    bottom: 0;
    background: var(--color);
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    transition: all ease 0.3s;
}

.idx-type .tabs li:hover a {
    color: var(--color);
}

.idx-type .tabs li.on a {
    color: var(--color);
}

.idx-type .tabs li.on a::after {
    width: 100%;
}

.idx-type .tabs li:last-child::after {
    display: none;
}

.idx-type .desc {
    /* margin-top: 1.25rem; */
    padding: 0 2.5rem;
}

.idx-rel {
    position: relative;
}

.idx-bg {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 100%;
    height: 100%;
}

.idx-btns a {
    padding: 0 2.19rem;
    height: 4.19rem;
    border-radius: 0.63rem;
    border: 0.06rem solid #000;
    margin-right: 1.75rem;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all ease 0.3s;
}

.idx-btns a:hover {
    background: #e5e5e5;
    color: #000;
}

.idx-btns a.a1 {
    background: var(--color);
    color: #fff;
    border-color: var(--color);
}

.idx-btns a.a1:hover {
    background: #8d8eb0;
    border-color: #8d8eb0;
}

/* 轮播 */
.uk-slides {
    position: relative;
}

/* Global UK slider navigation buttons - circle style on both sides */
/* Override UIkit uk-invisible class to always show buttons */
/* Default: transparent background, on hover: purple background with white arrow */
[uk-slidenav-previous],
[uk-slidenav-next],
[uk-slider-item="previous"],
[uk-slider-item="next"] {
    width: 4.5rem;
    height: 4.5rem;
    border-radius: 50%;
    border: 0.06rem solid #878a8d;
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    align-items: center;
    justify-content: center;
    transition: all ease 0.3s;
    position: absolute;
    z-index: 10;
    background: transparent;
    top: 50%;
    transform: translateY(-50%);
    cursor: pointer;
    color: #878a8d;
}

[uk-slidenav-previous]:hover,
[uk-slidenav-next]:hover,
[uk-slider-item="previous"]:hover,
[uk-slider-item="next"]:hover {
    background: var(--color);
    border-color: var(--color);
    color: #fff;
}

/* Ensure SVG icons inside buttons also change color on hover */
/* Use !important to override inline stroke="#000" attribute */
[uk-slidenav-previous] svg polyline,
[uk-slidenav-next] svg polyline,
[uk-slider-item="previous"] svg polyline,
[uk-slider-item="next"] svg polyline {
    stroke: #878a8d !important;
}

[uk-slidenav-previous]:hover svg polyline,
[uk-slidenav-next]:hover svg polyline,
[uk-slider-item="previous"]:hover svg polyline,
[uk-slider-item="next"]:hover svg polyline {
    stroke: #fff !important;
}

[uk-slidenav-previous].uk-position-center-left,
[uk-slider-item="previous"].uk-position-center-left,
.uk-position-center-left[uk-slidenav-previous],
.uk-position-center-left[uk-slider-item="previous"] {
    left: -0.5rem;
}

[uk-slidenav-next].uk-position-center-right,
[uk-slider-item="next"].uk-position-center-right,
.uk-position-center-right[uk-slidenav-next],
.uk-position-center-right[uk-slider-item="next"] {
    right: -0.5rem;
}

.uk-slides .uk-position,
.idx3 .uk-position {
    width: 4.5rem;
    height: 4.5rem;
    border-radius: 50%;
    border: 0.06rem solid #878a8d;
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    align-items: center;
    justify-content: center;
    top: 50%;
    transform: translateY(-50%);
    transition: all ease 0.3s;
    position: absolute;
    z-index: 10;
    background: transparent;
    color: #878a8d;
}

.uk-slides .uk-position.uk-position-center-left,
.idx3 .uk-position.uk-position-center-left {
    left: -0.5rem;
}

.uk-slides .uk-position.uk-position-center-right,
.idx3 .uk-position.uk-position-center-right {
    right: -0.5rem;
}

.uk-slides .uk-position:hover,
.idx3 .uk-position:hover {
    background: var(--color);
    border-color: var(--color);
    color: #fff;
}

/* Ensure SVG icons inside .uk-position buttons also change color */
/* Use !important to override inline stroke="#000" attribute */
.uk-slides .uk-position svg polyline,
.idx3 .uk-position svg polyline {
    stroke: #878a8d !important;
}

.uk-slides .uk-position:hover svg polyline,
.idx3 .uk-position:hover svg polyline {
    stroke: #fff !important;
}

.uk-slides .uk-slider-nav {
    margin-top: 3.75rem;
}

.uk-slides .uk-slider-nav li a {
    width: 0.63rem;
    height: 0.63rem;
    margin: 0;
    background: #c1c3c5;
    border-radius: 50%;
    border: 0;
}

.uk-slides .uk-slider-nav li.uk-active a {
    background: #333;
}

.main {
    background: #f4f6f8;
}

/* idx1 */
.idx1 .item {
    color: #000;
}

/* 
.idx1 .item .fitImg {
  padding-top: 133.9%;
} */

.idx1 .item .uk-item-body .uk-item-title {
    margin: 1.88rem 0 0.94rem;
    text-align: center;
}

.idx1 .item .uk-item-body .uk-item-attr {
    color: #000;
    text-align: center;
}

.idx1 .item .uk-item-body .uk-item-attr .price {
    margin-left: 1.56rem;
}

.idx1 .item .uk-item-body .uk-item-attr .price .old {
    margin: 0 0.94rem 0 0;
    color: #c1c3c5;
    text-decoration: line-through;
}

.idx1 .tabcont {
    display: none;
}

.idx1 .tabcont:nth-child(1) {
    display: block;
}

/* idx2 */
.idx2 {
    padding: 14.38rem 0;
}

.idx2 .txt1 {
    line-height: 1.5;
}

.idx2 .txt1 .txt {
    margin-bottom: 0rem;
}

.idx2 .txt2 {
    margin: 0.63rem 0 3.75rem;
}

.idx2 .txt2 a {
    position: relative;
    color: #000;
}

.idx2 .txt2 a::after {
    content: "";
    width: 100%;
    height: 0.06rem;
    background: #8e8e8e;
    position: absolute;
    left: 0;
    bottom: 0;
}

/* idx3 */
.idx3 .idx-type {
    margin-bottom: 5rem;
}

.idx3 .idx-type .tabs li a {
    color: rgba(0, 0, 0, 0.3);
}

.idx3 .idx-type .tabs li a::after {
    display: none;
}

.idx3 .idx-type .tabs li.on a {
    color: var(--color);
}

/* .idx3 .slides .col .fitImg {
  padding-top: 99.25%;
} */

.idx3 .slides .col .small-pic {
    margin-top: 0.94rem;
    max-height: 29.06rem;
}

.idx3 .slides .col .item-tit {
    /* margin-top: 1.25rem; */
}

.idx3 .slides .col .item-desc {
    color: var(--color);
    margin: 1.5rem 0 2rem;
}

.idx3 .slides .swiper-wrapper {
    padding-bottom: 3.13rem;
}

.idx3 .slides .pagination {
    width: 100%;
}

.idx3 .slides .pagination span {
    flex: 1;
    margin: 0;
    height: 0.38rem;
    background: #d9dee1;
    border-radius: 0.19rem;
    opacity: 1;
    position: relative;
}

.idx3 .slides .pagination span::after {
    content: "";
    width: 0;
    height: 100%;
    background: #939aa1;
    border-radius: 0.19rem;
    position: absolute;
    transition: width 0.3s ease;
    bottom: 0;
    left: 0;
}

.idx3 .slides .pagination span:nth-child(2) {
    margin: 0 0.63rem;
}

.idx3 .slides .pagination span.swiper-pagination-bullet-active::after {
    width: 100%;
    animation: progress 10s linear forwards;
}

@keyframes progress {
    0% {
        width: 0;
    }

    100% {
        width: 100%;
    }
}

/* idx3 slideshow - crossfade effect */
.idx3 .slides .uk-slideshow-items {
    position: relative !important;
    overflow: hidden !important;
}
/* All slides stacked on top of each other */
.idx3 .slides .uk-slideshow-items > li {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    opacity: 0 !important;
    z-index: 0 !important;
    pointer-events: none !important;
    transition: opacity 0.6s ease-in-out !important;
}
/* First slide relative to maintain container height */
.idx3 .slides .uk-slideshow-items > li:first-child {
    position: relative !important;
}
/* Active slide fades in */
.idx3 .slides .uk-slideshow-items > li.uk-active {
    opacity: 1 !important;
    z-index: 1 !important;
    pointer-events: auto !important;
}

/* idx4 */
.idx4 {
    /* margin: 1.56rem 0 9.38rem 0; */
    padding: 11.25rem 0 7.5rem;
    overflow: hidden;
    color: #fff;
}

.idx4 .uk-container3 {
    justify-content: flex-end;
}

.idx4 .row1 {
    height: 13.75rem;
}

.idx4 .row1 .counter {
    font-weight: bold;
    /* font-weight: 300; */
}

.idx4 .row1 .txt {
    margin-left: 0.63rem;
}

.idx4 .row1 .txt .txt1 {
    margin: -5rem 0 -3.75rem;
    font-weight: bold;
}

.idx4 .row2 {
    margin: 1.56rem 0 5.63rem;
}

.idx4 .idx-btns .a1 {
    background: rgba(255, 255, 255, 0.8);
    color: #000;
    border-color: rgba(255, 255, 255, 0.8);
}

.idx4 .idx-btns .a1:hover {
    background: rgba(188, 188, 196, 0.8);
    border-color: rgba(188, 188, 196, 0.8);
}

.idx4 .idx-btns .a2 {
    background: transparent;
    color: #fff;
    border-color: #fff;
}

.idx4 .idx-btns .a2:hover {
    background: #74748c;
}

.xm6 {
    width: 50%;
}

/* idx5 */
.idx5 .info {
    text-align: center;
}

.idx5 .info .cont {
    max-width: 27rem;
}

.idx5 .info .star {
    margin: 1.25rem 0 2.19rem;
}

.idx5 .info .star i {
    color: #f9c602;
    margin: 0 0.19rem;
}

.idx5 .info .user {
    text-align: right;
    margin: 3.44rem 0 2.19rem;
}

.idx5 .info .idx-btns a {
    min-width: 13.88rem;
    height: 3.75rem;
}

.idx5 .pic {
    width: 100%;
    max-width: 45.06rem;
    margin-left: 7.5rem;
}

.idx5 .desc {
    line-height: 1.5;
}

/* idx5 slider buttons - position on both sides of the content area */
.idx5 .uk-slides {
    position: relative;
}

.idx5 .uk-slides .uk-position {
    top: 50%;
}

.idx5 .uk-slides .uk-position.uk-position-center-left {
    left: 0;
}

.idx5 .uk-slides .uk-position.uk-position-center-right {
    right: 0;
}

/* .idx5 .pic .fitImg {
  padding-top: 93.2%;
} */

/* idx6 */
.idx6 .item {
    position: relative;
    z-index: 1;
}

.idx6 .item::after {
    content: "";
    width: 100%;
    height: 11.88rem;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 0;
    background: url("/assets/fr/img/bg_mask1.webp") no-repeat center center;
    background-size: 100% 100%;
    border-radius: 0 0 0.94rem 0.94rem;
}

/* .idx6 .item .fitImg {
  padding-top: 164.8%;
} */

.idx6 .item .item-txt {
    position: absolute;
    left: 0;
    bottom: 1.6rem;
    width: 100%;
    line-height: 1.4;
    z-index: 1;
    padding: 0 2.38rem;
    box-sizing: border-box;
    color: #fff;
    -webkit-line-clamp: 3;
}

/* idx7 */
.idx7 .pic {
    width: 100%;
    max-width: 39.81rem;
}

/* .idx7 .pic .fitImg {
  padding-top: 100.94%;
} */

.idx7 .info {
    flex: 1;
    overflow: hidden;
    height: calc(100% - 7.5rem);
    padding: 0 5rem;
    background: #fff;
    border-radius: 0 0.94rem 0.94rem 0;
    text-align: center;
}

.idx7 .info .desc {
    margin: 2.5rem 0 3.44rem;
    line-height: 1.5;
}

/* idx8 */
.idx8 .uk-slides3 ul {
    gap: 0.63rem;
    overflow: hidden;
    border-radius: 0.75rem;
}

.idx8 .uk-slides3 ul li {
    flex: 1;
    position: relative;
    overflow: hidden;
    border-radius: 0.5rem;
    cursor: pointer;
    background-size: cover;
    background-position: center;
}

@media (min-width: 960px) {
    .idx8 .uk-slides3 ul li {
        transition: all 0.3s ease-in-out;
    }

}

.idx8 .uk-slides3 ul li .fitImg {
    padding-top: 0;
    height: 34.88rem;
}

.idx8 .uk-slides3 ul li .item {
    overflow: hidden;
    position: relative;
}

.idx8 .uk-slides3 ul li .item .item-txt {
    position: absolute;
    bottom: -30%;
    width: 100%;
    transition: all ease 0.3s;
    color: #fff;
    padding: 1.88rem 2.63rem;
    border-radius: 0 0 1.25rem 1.25rem;
    background: url("/assets/fr/img/bg_mask1.webp") no-repeat bottom center;
    background-size: 100% 100%;
    left: 0;
}

.idx8 .uk-slides3 ul li .item .item-txt .desc {
    margin-top: 0.19rem;
}

.idx8 .idx-btns {
    margin-top: 3.81rem;
}

.idx8 .idx-btns a {
    min-width: 15.38rem;
}

/* idx9 */
/* .idx9 li .item .fitImg {
  padding-top: 65.11%;
} */

.idx9 li .item .item-txt .time {
    color: #5a5a5a;
    margin-top: 1.63rem;
}

.idx9 li .item .item-txt .tit {
    margin: 1.25rem 0;
}

.idx9 li .item .item-txt .desc {
    color: #5a5a5a;
}

.idx9 .uk-slides .uk-position {
    top: 30%;
}

.share a {
    width: 3.88rem;
    height: 3.88rem;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    /* border: 0.06rem solid #fff; */
    color: #fff;
    margin-right: 1.5rem;
    transition: all 0.3s ease-in-out;
}

.share a i {
    font-size: inherit;
}

.share a:hover {
    background: #fff;
    color: #333;
}

.share a:hover i {
    color: #333;
}

/* footer */
.Subscribe {
    background: var(--color);
    color: #fff;
    padding: 4.25rem 0 2.63rem;
}

.Subscribe .wrap1 {
    width: 100%;
}

.Subscribe .col1 {
    width: 100%;
    max-width: 35.31rem;
}

.Subscribe .col1 .form {
    margin: 1.75rem 0 2.38rem;
    width: 21.5rem;
    height: 3.81rem;
    background: #fff;
    border-radius: 0.63rem;
    padding: 0 1.56rem;
    display: flex;
    align-items: center;
}

.Subscribe .col1 .form .int {
    display: flex;
    align-items: center;
    flex: 1;
    overflow: hidden;
    width: 100%;
}

.Subscribe .col1 .form .int input {
    width: 100%;
    height: 100%;
}

.Subscribe .col1 .form .int input::-webkit-input-placeholder {
    color: #ababab;
    font-size: inherit;
}

.Subscribe .col1 .form button {
    margin-left: 1.25rem;
    flex-shrink: 0;
    background: none;
}

.Subscribe .col2 .msg {
    padding-top: 1.13rem;
}

.Subscribe .col2 .msg p {
    margin-top: 1.19rem;
}

.Subscribe a {
    color: #fff;
}

.Subscribe a:hover {
    color: rgba(255, 255, 255, 0.8);
}

.trustpilot {
    padding: 10rem 0 6.25rem;
}

.trustpilot .score .txt2 {
    margin: 0 2.13rem 0 1.25rem;
}

.trustpilot .score .txt2 img {
    width: 10.56rem;
}

.trustpilot .score .star .stars img {
    width: 1.63rem;
}

.trustpilot .score .star .fraction {
    color: #585858;
    margin-left: 1rem;
}

.footer {
    background: #000;
    color: #fff;
    padding-bottom: 3.13rem;
}

.footer .ft1 {
    padding: 3.75rem 0;
}

.footer .ft1 a {
    color: #acacac;
}

.footer .ft1 a:hover {
    color: #3f3f3f;
}

.footer .ft1 li {
    max-width: 25rem;
}

.footer .ft1 li .tit {
    margin-bottom: 1.38rem;
}

.footer .ft1 li .subcat {
    color: #acacac;
}

.footer .ft1 li .subcat p {
    margin: 0;
    margin-bottom: 0.75rem;
}

.footer .ft1 li .item {
    margin-bottom: 2.5rem;
}

.footer .copyright {
    padding: 2.25rem 0.56rem;
    border-top: 0.06rem solid rgba(251, 248, 245, 0.2);
    border-bottom: 0.06rem solid rgba(251, 248, 245, 0.2);
}

.footer .copyright .partner {
    padding-left: 0;
}

.footer .copyright .partner li {
    margin-right: 1.06rem;
    width: 3.88rem;
}

.footer .copyright .partner li:hover img {
    opacity: 0.88;
}

.footer .copyright .ssl {
    margin: 0 0.81rem 0 1.88rem;
}

.footer .copyright .ssl img {
    width: 1.38rem;
    margin-right: 0.81rem;
}

/* reponsive */
@media screen and (min-width: 960px) {
    .uk-slides2 .swiper-pagination {
        display: none;
    }

    .idx6 .uk-slider-items>* {
        width: calc(100% / 4);
        padding: 0 15px;
        box-sizing: border-box;
    }

    /* 四等分 */
    .uk-slides-m4 .uk-slider-items>* {
        width: calc(100% / 4);
        box-sizing: border-box;
    }

    /* 三等分 */
    .uk-slides-m3 .uk-slider-items>* {
        width: calc(100% / 3);
    }

    /* idx8 navigation buttons - show on desktop */
    .idx8 .uk-slides .uk-position {
        display: flex;
    }

    .idx8 .uk-slides3 li:hover {
        flex: 2.28;
    }

    .idx8 .uk-slides3 li:hover .item .item-txt {
        bottom: 0;
    }

    .footer .ft1 li .subcat {
        display: block !important;
    }
}

@media (max-width: 1800px) {

    [uk-slidenav-previous],
    [uk-slidenav-next],
    [uk-slider-item="previous"],
    [uk-slider-item="next"],
    .uk-slides .uk-position,
    .idx3 .uk-position {
        width: 4rem;
        height: 4rem;
    }

    .uk-slides .uk-position.uk-position-center-left,
    .idx3 .uk-position.uk-position-center-left {
        left: 0;
    }

    .uk-slides .uk-position.uk-position-center-right,
    .idx3 .uk-position.uk-position-center-right {
        right: 0;
    }
}

@media (max-width: 1580px) {
    .uk-container {
        padding: 0 6rem;
    }

    .uk-container2 {
        padding: 0 3rem;
    }

    .uk-container3 {
        padding: 0 5rem;
    }

    [uk-slidenav-previous],
    [uk-slidenav-next],
    [uk-slider-item="previous"],
    [uk-slider-item="next"],
    .uk-slides .uk-position,
    .idx3 .uk-position {
        width: 3.5rem;
        height: 3.5rem;
    }

    .uk-slides .uk-position.uk-position-center-left,
    .idx3 .uk-position.uk-position-center-left {
        left: 0;
    }

    .uk-slides .uk-position.uk-position-center-right,
    .idx3 .uk-position.uk-position-center-right {
        right: 0;
    }
}

@media (max-width: 1300px) {

    [uk-slidenav-previous],
    [uk-slidenav-next],
    [uk-slider-item="previous"],
    [uk-slider-item="next"],
    .uk-slides .uk-position,
    .idx3 .uk-position {
        width: 3.5rem;
        height: 3.5rem;
    }

    .uk-slides .uk-position.uk-position-center-left,
    .idx3 .uk-position.uk-position-center-left {
        left: 0;
    }

    .uk-slides .uk-position.uk-position-center-right,
    .idx3 .uk-position.uk-position-center-right {
        right: 0;
    }
}

@media (min-width: 960px) and (max-width: 1200px) {
    .footer .ft1 ul {
        flex-wrap: wrap;
    }

    .footer .ft1 ul li {
        max-width: unset;
        width: 33.33%;
    }

    .footer .ft1 ul li:last-child {
        width: 66.66%;
    }

    .footer .ft1 ul li:last-child .item {
        width: 50%;
    }

    [uk-slidenav-previous],
    [uk-slidenav-next],
    [uk-slider-item="previous"],
    [uk-slider-item="next"],
    .uk-slides .uk-position,
    .idx3 .uk-position {
        width: 3.5rem;
        height: 3.5rem;
    }

    .uk-slides .uk-position.uk-position-center-left,
    .idx3 .uk-position.uk-position-center-left {
        left: 0;
    }

    .uk-slides .uk-position.uk-position-center-right,
    .idx3 .uk-position.uk-position-center-right {
        right: 0;
    }
}

.wap-top {
    padding: 1.5rem 1.88rem;
    position: fixed;
    left: 0;
    top: 0;
    z-index: 222;
    width: 100%;
    background: transparent;
    -webkit-transition: background 0.3s ease-in-out,
        -webkit-box-shadow 0.3s ease-in-out;
    transition: background 0.3s ease-in-out, -webkit-box-shadow 0.3s ease-in-out;
    transition: background 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
    transition: background 0.3s ease-in-out, box-shadow 0.3s ease-in-out,
        -webkit-box-shadow 0.3s ease-in-out;
}

.wap-top a {
    margin-right: 1.5rem;
}

.wap-top a img {
    width: 1.88rem;
}

.wap-top a:last-child {
    margin-right: 0;
}

.wap-top .logo img {
    width: 9.13rem;
}

/* Mobile: center logo by absolute centering and constrain side controls width */
@media (max-width: 767px) {
  /* Use 3-column grid to center logo and keep left/right controls stable */
  .wap-top {
    display: grid;
    /* allow left area to fit multiple icons (menu + search) */
    grid-template-columns: auto 1fr auto;
    align-items: center;
    padding: 0 0.5rem;
    gap: 0.5rem;
    position: relative;
    background: transparent;
  }
  .wap-top .fl { grid-column: 1 / 2; display:flex; align-items:center; justify-content:flex-start; gap:0.5rem; }
  .wap-top .fl > .header-search-btn-w {
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    padding: 0 !important;
  }
  .wap-top .logo { grid-column: 2 / 3; justify-self: center; position: static; transform: none; z-index: 10; min-width: 9.13rem; }
  .wap-top .logo a { display:flex; align-items:center; justify-content:center; min-width: 9.13rem; min-height: 40px; }
  .wap-top .user { grid-column: 3 / 4; display:flex; align-items:center; justify-content:center; }
  /* slightly reduce search icon right shift */
  .header-btn.header-search-btn img,
  .header-btn.header-search-btn svg {
    margin-right: 0;
    vertical-align: middle;
  }
  /* tighten header spacing so logo sits immediately under top bar */
  #header .header { padding-top: 0 !important; }
 
}

/* Header action buttons: reset default <button> styles to match link look */
#header button.header-btn,
#mobile-header button.header-btn {
  background: transparent;
  border: 0;
  box-shadow: none;
  -webkit-appearance: none;
  appearance: none;
}

/* Normalize header/logo sizes across pages */
.header .logo img,
.logo img,
#desktop-header .logo img,
.mid .logo img {
  max-height: 60px !important;
  width: auto !important;
  height: auto !important;
  display: block !important;
}

/* .logo-fix-menu should remain hidden until scroll */
.logo-fix-menu {
  display: none;
}

@media (max-width: 767px) {
  .mobile-header-logo {
    display: block;
    max-width: 9.13rem !important;
    max-height: 40px !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain;
  }

  .mobile-header-logo.is-failed {
    visibility: hidden;
  }

  .wap-top .logo img,
  .logo img[width],
  .logo img[height],
  .mid .logo img {
    max-height: 40px !important;
    width: auto !important;
    height: auto !important;
    max-width: 9.13rem !important;
  }
  /* Ensure mobile header action icons (menu/search/user/cart) are unified */
  .wap-top .fl > a img,
  .wap-top .fl > button img,
  .wap-top .fl .header-search-btn img,
  .wap-top .user > a img,
  .wap-top .user > button img {
    width: 32px !important;
    height: 32px !important;
    max-width: none !important;
    object-fit: contain;
  }

  .wap-top .user > a svg,
  .wap-top .user .m-nav-btn > svg {
    width: 32px !important;
    height: 32px !important;
  }

  body.firecheckout-index-index #mobile-header .m-menu,
  body.firecheckout-index-index #mobile-header .header-search-btn,
  body.firecheckout-index-index #mobile-header .header-user-btn {
    padding: 0 !important;
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    min-height: 32px !important;
    border-radius: 0 !important;
    background: transparent !important;
  }

  body.firecheckout-index-index #mobile-header .header-search-btn-w {
    width: auto !important;
  }
}

.wap-top .user {
    margin-top: 0;
}

.wap-top.fix {
    background: #fff;
}

.wap-menu {
    position: fixed;
    background: #fff;
    top: 0;
    left: -100%;
    width: 80%;
    max-width: 25rem;
    height: 100vh;
    z-index: 10000;
    transition: left 0.3s ease-in-out;
    padding: 3.13rem 1.88rem;
    box-shadow: -0.31rem 0 0.94rem rgba(0, 0, 0, 0.1);
    transform: translateX(0);
    visibility: hidden;
}

/* 菜单遮罩层 */
.menu-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    z-index: 9999;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out;
}

.menu-overlay.open {
    opacity: 1;
    visibility: visible;
}

.wap-menu.open {
    left: 0;
    visibility: visible;
}

.wap-menu .close-menu {
    position: absolute;
    top: 0.63rem;
    right: 1.25rem;
    cursor: pointer;
}

.wap-menu .close-menu i {
    font-size: 1.8rem;
}

.wap-menu .scroll {
    overflow-y: auto;
    height: calc(100vh - 6rem);
    padding-right: 0.94rem;
    margin-right: -0.94rem;
}

.wap-menu .scroll>li {
    margin-bottom: 0.94rem;
    padding-bottom: 0.94rem;
    border-bottom: 0.06rem solid #eee;
}

.wap-menu .scroll>li a {
    text-decoration: none;
    font-weight: 500;
    display: block;
    font-size: 1.3rem;
    transition: transform 0.3s ease-in-out;
}

.wap-menu .scroll>li .v1 {
    position: relative;
    display: flex;
    justify-content: space-between;
}

/* .wap-menu .scroll > li .v1::after {
  display: block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 0.25rem;
  text-align: center;
  right: 15px;
  font-size: 1.4rem;
  content: "\e60d";
  z-index: 2;
  color: #666;
  transition: 0.3s;
} */

.wap-menu .scroll>li .v1 svg {
    transform: rotate(90deg);

}

.wap-menu .scroll>li.on .v1 svg {
    transform: rotate(270deg);

}

.wap-menu .scroll>li .v2-child {
    display: none;
    padding-left: 0.94rem;
}

.wap-menu .scroll>li .v2-child li {
    margin: 1rem 0;
}

.wap-menu .scroll>li .v2-child li a {
    font-size: 1.1rem;
}

.wap-menu .scroll>li .v2-child li .v2-toggle,
.wap-menu .scroll>li .v2-child li .v3-toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 1.1rem;
    color: inherit;
}

.wap-menu .scroll>li .v2-child li .v2-toggle svg,
.wap-menu .scroll>li .v2-child li .v3-toggle svg {
    flex-shrink: 0;
    transform: rotate(90deg);
    transition: transform 0.3s ease-in-out;
}

.wap-menu .scroll>li .v3-child,
.wap-menu .scroll>li .v4-child {
    display: none;
    padding-left: 0.94rem;
}

.wap-menu .scroll>li .v3-child li,
.wap-menu .scroll>li .v4-child li {
    margin: 0.75rem 0;
}

.wap-menu .scroll>li .v3-child li a,
.wap-menu .scroll>li .v4-child li a {
    font-size: 1rem;
}

.wap-menu .scroll>li .v2-child li a span {
    padding: 0 0.31rem;
    height: 0.88rem;
    border-radius: 0.19rem;
    font-size: 0.75rem;
    border: 0.06rem solid #dc1e29;
    color: #dc1e29;
    margin-left: 0.31rem;
}

.wap-menu .scroll>li.on .v1::after {
    transform: translateY(-55%) rotate(90deg);
    margin: -5px -5px 0 0;
}

.menu-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background: rgba(0, 0, 0, 0.5);
    z-index: 998;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out;
}

.menu-overlay.show {
    opacity: 1;
    visibility: visible;
}

/* 移动端 */
@media (max-width: 959px) {
    .uk-slides2 .swiper-wrapper {
        padding-bottom: 60px;
    }
    .idx1 .mt-55rem{
    margin-top: 3.5rem;
}
    .uk-slides2 .swiper-pagination .swiper-pagination-bullet {
        width: 10px;
        height: 10px;
        margin: 0;
        background: #c1c3c5;
        border-radius: 50%;
    }

    .uk-slides2 .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
        background: #333;
    }

    /* 手机1.2 */
    .uk-slides-s1-2 .uk-slider-items>* {
        width: calc(100% / 1.2);
        padding: 0 10px;
        box-sizing: border-box;
    }

    .uk-container,
    .uk-container2,
    .uk-container3 {
        padding: 0 1.88rem;
    }

    .banner .slide-txt {
        align-items: flex-start;
        padding-top: 9.38rem;
        text-align: center;
    }

    .banner .slide-txt .tit {
        font-weight: 400;
        font-size: 3.5rem;
        color: #ffffff;
        line-height: 5.81rem;
    }

    .banner .slide-txt .desc {
        font-size: 1.9rem;
        padding: 0 0.3rem;
    }

    .banner .slide-txt .btn {
        display: none;
    }

    .statistics .uk-slider {
        padding: 0.8rem 0;
    }

    .statistics .uk-slider-items>* {
        width: calc(100% / 1.4);
    }

    .statistics .item .tit {
        line-height: 1.2;
    }

    .idx-type .tabs li a {
        margin: 0 0.7rem;
        padding-bottom: 0.4rem;
        font-size: 1.25rem;
    }

    .idx-type .tabs li::after {
        font-size: 1rem;
        right: -0.31rem;
    }

    .idx8 .uk-container,
    .idx9 .uk-container {
        padding-right: 0;
    }
   .idx9 .item-txt{
	   padding:10px;
   }

    /* .idx8 .uk-slides .uk-position.uk-position-center-right,
  .idx9 .uk-slides .uk-position.uk-position-center-right {
    right: 1.88rem;
  } */
    .idx1 {
        overflow: hidden;
    }

    .idx1 .uk-item-title {
        font-size: 1.4rem;
    }

    .idx1 .uk-slides .uk-slider-nav {
        margin-top: 2.5rem;
    }

    .idx1 .uk-slides .uk-position {
        top: 35%;
    }

    .idx1 .tablist .star .icons {
        margin-bottom: 0.2rem;
        ;
    }

    .idx-btns a {
        min-width: 1.2rem;
        margin-right: 0.8rem;
        padding: 0 1.2rem;
        font-size: 1.3rem;
        height: 3.8rem;
    }

    /* idx2 */
    .idx2 {
        padding: 23.63rem 1.5rem 5rem 1.5rem;
        color: #fff;
    }

    .idx2 .txt1 {
        line-height: 1.2;
        font-size: 2.85rem;
    }

    .idx2 .txt2 {
        margin: 1.4rem 0 2rem;
    }

    .idx2 .txt2 a {
        color: var(--white-color) !important;
    }

    .idx2 .idx-btns a.a1 {
        background: rgba(255, 255, 255, 0.8);
        color: var(--defalut-color) !important;
        font-weight: 500;
    }

    .idx2 .idx-btns a.a2 {
        background: transparent;
        color: #fff;
        border-color: #fff;
    }

    /* idx3 */
    .idx3 .idx-type .tabs li a {
        margin: 0 1.4rem;
    }

    .idx3 .slides .swiper-slide .uk-grid {
        flex-direction: column-reverse;
    }

    .idx3 .slides .col .item-tit {
        font-size: 1.5rem;
    }

    .idx3 .slides .col .item-tit .item-desc {
        margin: 1.5rem 0 2.4rem;
    }

    /* idx4 */
    .idx4 {
        margin: 0.6rem 0 0rem;
        padding: 29.38rem 0 4.06rem;
    }

    .idx4 .uk-container3 {
        justify-content: center;
    }

    .idx4 .row1 .counter {
        font-size: 8.4rem;
    }

    .idx4 .row1 .txt .txt1 {
        font-size: 6.25rem;
        margin: -2.5rem 0 -2rem;
    }

    .idx4 .row1 .txt .txt2 {
        font-size: 1rem;
        margin-top: 0;
    }

    .idx4 .row2 {
        text-align: center;
        font-size: 2.3rem;
        margin: 0.6rem 0 3rem;
    }

    .idx4 .idx-btns {
        justify-content: center;
    }

    .idx4 .idx-btns a {
        padding: 0 1.3rem;
    }

    /* idx5 */
    .idx5 .item {
        flex-direction: column-reverse;
    }

    .idx5 .pic {
        margin: 0 0 1.6rem 0;
        max-width: 100%;
    }

    .idx5 .pic .fitImg {
        /* padding-top: 118.5%; */
    }

    .idx5 .info {
        text-align: left;
    }

    .idx5 .info .star {
        justify-content: flex-start;
        margin-bottom: 1.6rem;
    }

    .idx5 .info .tit {
        margin-bottom: 1rem;
    }

    .idx5 .uk-slides .uk-position {
        top: 50%;
    }

    .uk-slides .uk-slider-nav {
        margin-top: 2rem;
    }

    [uk-slidenav-previous],
    [uk-slidenav-next],
    [uk-slider-item="previous"],
    [uk-slider-item="next"],
    .uk-slides .uk-position {
        width: 3.2rem;
        height: 3.2rem;
    }

    [uk-slidenav-previous] svg,
    [uk-slidenav-next] svg,
    .uk-slides .uk-position svg {
        transform: scale(0.65);
    }

    .uk-slides .uk-position.uk-position-center-left {
        left: 0;
    }

    .uk-slides .uk-position.uk-position-center-right {
        right: 0;
    }

    /* idx7 */
    .idx7 .item .pic {
        max-width: 100%;
    }

    .idx7 .item .info {
        flex: auto;
        background: none;
        height: auto;
        padding: 30px 0 5px;
    }

    .idx7 .item .info .desc {
        margin: 20px 0;
        font-size: 1.2rem;
    }

    .idx7 .idx-btns a {
        padding: 0 2.4rem;
    }

    .idx7 .uk-slides .uk-position {
        top: 30%;
    }

    /* idx8 */
    .idx8 .uk-slides3 ul {
        flex-wrap: nowrap;
        overflow: visible;
        gap: 0;
    }

    .idx8 .uk-slides3 ul li {
        flex: none;
        overflow: visible;
    }

    .idx8 .uk-slides3 ul li .fitImg {
        height: 0;
        /* padding-top: 103.58%; */
    }

    .idx8 .uk-slides3 ul li.uk-active .item .item-txt {
        bottom: 0;
    }

    .idx8 .uk-slides .uk-position {
        top: 50%;
    }

    .trustpilot {
        padding: 4.5rem 0 4rem 0;
    }

    /* footer */
    .Subscribe {
        /* 保持背景色，移除 background: none */
        background: var(--color);
        padding: 2.13rem 0 1.25rem 0;
    }

    .Subscribe .uk-container {
        /* 移除 padding: 0，让内容有适当的边距 */
        padding: 0 1rem;
    }

    .Subscribe .wrap1 {
        margin: 0;
    }

    .Subscribe .col1 {
        width: 100%;
        max-width: 100%;
        /* 移除 background: var(--color)，因为父元素已有背景 */
        background: transparent;
        padding: 0;
        font-size: 1.1rem;
    }

    .Subscribe .col1 .footer-stay,
    .Subscribe .col1 .form,
    .Subscribe .col1 .form-tips {
        width: 100% !important;
        max-width: 100% !important;
    }

    .Subscribe .col1 .tit {
        font-size: 1.7rem;
    }

    .Subscribe .col2 {
        color: #fff;
        width: 100%;
        margin-top: 0;
        padding: 2.13rem 0 1.25rem 0;  /* 调整 padding，保持上下间距一致 */
        font-size: 1.1rem;
    }

    .Subscribe .col2 .share {
        justify-content: center;
    }

    .Subscribe .col2 .share a i {
        font-size: 2rem;
    }

    .footer .ft1 {
        padding: 30px 0;
    }

    .footer .ft1 ul {
        flex-wrap: wrap;
        width: 100%;
        padding: 0 1.88rem 0 0;
    }

    .footer .ft1 li {
        width: 100%;
        margin-top: 0;
        max-width: 100%;
    }

    .footer .ft1 li .item {
        margin: 1.88rem 0 0 0;
    }

    .footer .ft1 li .item .tit {
        margin-bottom: 0;
        position: relative;
    }

    .footer .ft1 li .item .tit::after {
        content: "+";
        position: absolute;
        font-size: 2rem;
        right: 0;
        top: 50%;
        transform: translateY(-50%);
    }

    .footer .ft1 li .item .tit.on::after {
        content: "-";
    }

    .footer .ft1 li .item .subcat {
        display: none;
        margin-top: 0;
        font-size: 1.3rem;
    }

    .footer .ft1 li:nth-child(1) .item {
        margin-top: 0;
    }

    .footer .copyright {
        padding: 1.5rem 0;
    }

    .footer .copyright .partner {
        padding-left: 1.88rem;
    }

    .footer .copyright .partner li {
        margin-right: 0.38rem;
        width: 3.2rem;
    }

    .footer .copyright .ssl {
        margin: 0.94rem 0 0 0;
        padding-left: 1.88rem;
    }

    .wap-statistics .item {
        margin-right: 3.2rem;
    }
}

.marquee-container {
    width: 100%;
    overflow: hidden;
    position: relative;
    white-space: nowrap;
}

.marquee-content {
    display: inline-flex;
    animation: marquee 12s linear infinite;
    position: relative;
}

@keyframes marquee {
    0% {
        transform: translateX(0);
    }

    100% {
        transform: translateX(-50%);
    }
}

/* === Appended extracted header styles (draft) ===
   These rules centralize header and modal helpers.
*/

/* Keep page content below fixed/sticky nav bars */
/* 移除 body padding-top，改用黑色条 (#link_title) 的 margin-bottom 推开导航栏 */
body {
  padding-top: 0;
  scroll-padding-top: var(--header-h, 80px);
}
#wrapper { padding-top: 0; }

/* ========== Payment Method Popup (Chat First, Pay Later) ========== */
body.payment-popup-open {
  overflow: hidden !important;
}

.payment-popup-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
  z-index: 100000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
}

.payment-popup-container {
  background: #fff;
  border-radius: 16px;
  max-width: 450px;
  width: 100%;
  max-height: 90vh;
  overflow: hidden;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
}

.payment-popup-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 20px;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #fff;
}

.payment-popup-header h3 {
  margin: 0;
  font-size: 18px;
  font-weight: 600;
}

.payment-popup-close {
  background: rgba(255, 255, 255, 0.2);
  border: none;
  color: #fff;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  font-size: 20px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}

.payment-popup-close:hover {
  background: rgba(255, 255, 255, 0.3);
}

.payment-popup-body {
  padding: 20px;
  max-height: 60vh;
  overflow-y: auto;
}

.payment-popup-desc {
  margin: 0 0 16px;
  color: #666;
  font-size: 14px;
}

.payment-popup-methods {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.payment-popup-method {
  display: flex;
  align-items: center;
  padding: 14px 16px;
  border: 2px solid #e0e0e0;
  border-radius: 10px;
  cursor: pointer;
  transition: all 0.2s ease;
}

.payment-popup-method:hover {
  border-color: #667eea;
}

.payment-popup-method.selected {
  border-color: #667eea;
  background: #f0f4ff;
}

.payment-popup-method input {
  margin-right: 12px;
}

.payment-popup-method-icon {
  width: 50px;
  height: 30px;
  object-fit: contain;
  margin-right: 12px;
}

.payment-popup-method-info {
  flex: 1;
}

.payment-popup-method-title {
  font-weight: 600;
  color: #333;
  font-size: 14px;
}

.payment-popup-method-desc {
  color: #666;
  font-size: 12px;
  margin-top: 2px;
}

.payment-popup-footer {
  display: flex;
  gap: 12px;
  padding: 16px 20px;
  border-top: 1px solid #eee;
}

.payment-popup-btn {
  flex: 1;
  padding: 12px 20px;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
}

.payment-popup-btn-cancel {
  background: #f5f5f5;
  border: 1px solid #ddd;
  color: #666;
}

.payment-popup-btn-cancel:hover {
  background: #eee;
}

.payment-popup-btn-confirm {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  border: none;
  color: #fff;
}

.payment-popup-btn-confirm:hover:not(:disabled) {
  transform: translateY(-2px);
  box-shadow: 0 4px 15px rgba(102, 126, 234, 0.4);
}

.payment-popup-btn-confirm:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.payment-loading {
  text-align: center;
  padding: 20px;
  color: #666;
}

@media (max-width: 480px) {
  .payment-popup-overlay {
    padding: 12px;
  }

  .payment-popup-body {
    padding: 16px;
  }

  .payment-popup-footer {
    padding: 14px 16px;
  }
}

/* Deep-color background link hover: preserve white links on dark gradients */
[style*="background: linear-gradient"] a,
[style*="background:linear-gradient"] a,
[style*="background-color: #"] a,
.bg-gradient a,
.bg-dark a,
.plus-container a,
.plus-header,
.account-head_level,
.account-head_plus,
.account-link_item--active,
.accounts-header_item--active,
.empty-state_btn,
.gift-card_badge,
.button-all {
  color: #fff;
}

[style*="background: linear-gradient"] a:hover,
[style*="background:linear-gradient"] a:hover,
[style*="background-color: #"] a:hover,
.bg-gradient a:hover,
.bg-dark a:hover,
.plus-container a:hover,
.plus-header:hover,
.account-head_level:hover,
.account-head_plus:hover,
.account-link_item--active:hover,
.accounts-header_item--active:hover,
.empty-state_btn:hover,
.gift-card_badge:hover,
.button-all:hover {
  color: #fff !important;
  opacity: 0.9;
}

/* Text color helpers for deep backgrounds */
.plus-container,
.plus-container span,
.plus-header span,
.account-head_level,
.account-head_plus,
.account-link_item--active,
.accounts-header_item--active,
.gift-card_badge {
  color: #fff;
}

/* Auth offcanvas z-index adjustments so it sits above header/nav */
#auth-offcanvas-login {
  z-index: 10000 !important;
}
#auth-offcanvas-login .uk-offcanvas-bar {
  z-index: 10001 !important;
}
.uk-offcanvas-overlay::before {
  z-index: 9999 !important;
}

/* Reset password modal styles */
.resetpwd-overlay-header {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(0,0,0,0.5);
  z-index: 9999999;
}
.resetpwd-modal-header {
  display: none;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  width: 90%;
  max-width: 420px;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 10px 40px rgba(0,0,0,0.3);
  z-index: 10000000;
  overflow: hidden;
}
.resetpwd-modal-header .modal-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px 24px;
  border-bottom: 1px solid #eee;
}
.resetpwd-modal-header .modal-header h3 { margin:0; font-size:20px; font-weight:600; }
.resetpwd-modal-header .modal-close-header { background:none; border:none; font-size:28px; cursor:pointer; color:#999; line-height:1; }
.resetpwd-modal-header .modal-close-header:hover { color:#333; }
.resetpwd-modal-header .modal-body { padding:24px; }
.resetpwd-modal-header .form-group { margin-bottom:20px; }
.resetpwd-modal-header .form-group label { display:block; margin-bottom:8px; font-weight:500; color:#333; }
.resetpwd-modal-header .form-group input { width:100%; padding:12px 16px; border:1px solid #ddd; border-radius:8px; font-size:14px; box-sizing:border-box; }
.resetpwd-modal-header .form-group input:focus { border-color:#333; outline:none; }
.captcha-row-header { display:flex; gap:10px; }
.captcha-row-header input { flex:1; }
.btn-send-header {
  display:inline-flex; align-items:center; justify-content:center;
  padding:12px 20px; background:#f5f5f5; border:1px solid #ddd;
  border-radius:8px; color:#333; font-size:14px; cursor:pointer; white-space:nowrap; text-decoration:none;
}
.btn-send-header:hover { background:#eee; }
.btn-send-header.disabled { opacity:0.6; cursor:not-allowed; }
.btn-submit-header {
  width:100%; padding:14px; background:#000; color:#fff; border:none;
  border-radius:8px; font-size:16px; font-weight:600; cursor:pointer; transition:all 0.2s;
}
.btn-submit-header:hover { background:#333; }
.btn-submit-header:active { transform:scale(0.98); }
.btn-submit-header.loading { opacity:0.7; pointer-events:none; }
.resetpwd-msg-header { display:none; padding:10px 16px; margin-bottom:15px; border-radius:8px; font-size:14px; text-align:center; }
.resetpwd-msg-header.error { display:block; background:#fee; color:#c00; border:1px solid #fcc; }
.resetpwd-msg-header.success { display:block; background:#efe; color:#060; border:1px solid #cfc; }

/* FAQ TOP3 - mobile: stack one per row */
@media (max-width: 767px) {
  .faq-top3-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 1rem !important;
    padding: 1rem 0.75rem;
  }
  .faq-top3-grid::-webkit-scrollbar { height: 0; }
  .faq-top3-grid::-webkit-scrollbar-thumb { background: transparent; }
  .faq-top3-item {
    width: 100%;
    display: block;
    box-sizing: border-box;
    padding: 0;
  }
  .faq-top3-item img { height: auto; max-height: 12.5rem; object-fit: cover; width: 100%; display:block; border-radius: .5rem; }
}

/* Prev/Next buttons for FAQ TOP3 on mobile */
@media (max-width: 767px) {
  /* hide prev/next when stacked vertically */
  .faq-top3-prev,
  .faq-top3-next {
    display: none !important;
  }
}

/* FAQ panels (tab panels and search results) - single column on mobile */
@media (max-width: 767px) {
  .faq-list,
  #search-results-list {
    grid-template-columns: 1fr !important;
    gap: 1rem !important;
  }
  .faq-item,
  .search-result-item {
    padding: 1rem 0 !important;
    border-bottom: 1px solid #e5e7eb !important;
  }
  .faq-answer,
  .search-answer {
    padding-left: 0 !important;
  }
}

/* Navigation dropdown styles (migrated from public/menu.html) */
.navbar_itemContent-wrapper a {
    font-size: 16px !important;
}

.navbar_itemContent-wrapper-two {
    position: relative;
    left: 0;
    width: 100%;
    height: 0;
    box-sizing: border-box;
    overflow: hidden;
    color: #000;
    -ms-transition: all 1s ease;
    -moz-transition: all 1s ease;
    -webkit-transition: all 1s ease;
    -o-transition: all 1s ease;
    transition: all 1s ease;
    opacity: 0;
    z-index: 14;
}

.navbar-title_boxCon li {
    position: static;
    display: inline-block;
    margin: 0;
}

.navbar_itemContent-col-two {
    margin-left: 575px !important;
    background: #fff;
    padding: 10px;
    position: relative;
    display: block;
}

.ceshi {
    position: absolute;
    left: 0;
    margin: 0;
    z-index: 5;
    display: block;
    visibility: hidden;
    background-color: #fff;
    background-color: var(--colorBody);
    min-width: 100%;
    padding: 10px 0 5px;
    box-shadow: 0 10px 20px #00000017;
    transform: translate3d(0, -12px, 0);
}

.navbar-title_boxCon .ceshi li {
    position: relative;
}

.site-nav__dropdown {
    display: block;
    visibility: visible;
    transform: translateZ(0);
    transition: all .3s cubic-bezier(.2, .06, .05, .95);
}

.site-nav__dropdown {
    position: absolute;
    left: 0;
    margin: 0;
    z-index: 5;
    display: block;
    background-color: #fff;
    background-color: var(--colorBody);
    min-width: 100%;
    padding: 10px 0 5px;
    box-shadow: 0 10px 20px #00000017;
    transform: translate3d(0, -12px, 0);
}

.text-left {
    text-align: left !important;
}

.site-nav__dropdown > li {
    position: relative;
}

.site-nav__dropdown li {
    margin: 0;
}

.site-nav__item li {
    display: block;
}

/* Nav dropdown overrides (moved from diy/nav.html) */
.navbar-title_boxCon {
    position: relative;
    padding-left: 0;
}

.navbar-title_boxCon > li {
    position: static;
    display: inline-block;
    margin: 0;
}

/* dropdown wrapper can be <ul> or <div> but shares same class */
.navbar_itemContent-wrapper {
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    z-index: 1000;
    display: none;
    background: #fff;
    width: 260px;
    min-width: 260px;
    border-radius: 8px;
    padding: 8px 0;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.12);
}

.navbar-title_boxCon > li:hover > .navbar_itemContent-wrapper {
    display: block;
}

.site-nav__dropdown {
    list-style: none;
    margin: 0;
    padding: 4px 0;
}

.site-nav__dropdown > li {
    margin: 0;
}

.site-nav__dropdown > li > a {
    display: block;
    padding: 12px 20px;
    color: #444;
    font-size: 14px;
    font-weight: 500;
    white-space: nowrap;
    border-bottom: 1px solid #f5f5f5; /* Subtle separator */
    transition: all 0.2s ease;
}

.site-nav__dropdown > li:last-child > a {
    border-bottom: none;
}

.site-nav__dropdown > li > a:hover {
    background: #f9f9fa;
    color: var(--color, #333);
    padding-left: 25px; /* Slide effect */
}

/* Remove any potential black lines from pseudo-elements */
.site-nav__dropdown > li > a::after,
.site-nav__dropdown > li > a::before {
    display: none !important;
}

/* Beautify the dropdown container */
.site-nav__dropdown {
    border: none !important;
    border-radius: 8px !important;
    box-shadow: 0 10px 25px rgba(0,0,0,0.1) !important;
    padding: 8px 0 !important;
    margin-top: 10px !important;
}

/* ensure dropdown not clipped by nav */
.header .nav > ul {
    overflow: visible;
}

/* Wide mega dropdown for text menus */
.header .nav .drop {
    position: absolute;
    top: calc(100% + 8px);
    left: 50%;
    transform: translateX(-50%);
    z-index: 1000;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.12);
    padding: 32px 32px;
    min-width: 960px;
    width: clamp(960px, 74vw, 1200px);
}

.header .nav .drop .uk-flex {
    flex-wrap: nowrap;
    gap: 32px;
}

.header .nav .drop .dd {
    padding: 0 20px 0 0;
    min-width: 280px;
    text-align: left;
}

.header .nav .drop .tit {
    font-weight: 600;
    margin-bottom: 10px;
    text-align: left;
}

.header .nav .drop .v2-tit {
    color: #8a8a8a;
    font-weight: 600;
    margin-bottom: 10px;
    text-align: left;
}

.header .nav .drop .dd ul {
    list-style: none;
    margin: 0;
    padding: 0;
    text-align: left;
}

.header .nav .drop .dd ul li {
    text-align: left;
    display: block;
}

.header .nav .drop .dd ul li a {
    text-align: left;
    display: block;
    padding: 6px 0;
}

.header .dropdown-menu-custom.dropdown-menu {
    z-index: 5000;
}

/* Mobile header overrides (migrated from diy/head.html)
   Implements Lavivid-like mobile header: left/menu | centered logo | right/actions
   
   GLOBAL RESPONSIVE FIX: Dynamic header height adaptation
   - Uses CSS variable --header-h calculated by JS
   - Breakpoint 959px matches UIkit @m breakpoint (mobile header shows below 960px)
   - Excludes homepage (.page-index) which has full-width banner touching header
   - Other pages get padding-top to prevent content being covered by fixed header
*/
@media (max-width: 959px) {
  /* Default header height - will be overridden by JS with actual measured value */
  :root { --header-h: 120px; }

  /* 移动端：#header 默认 margin-bottom 推开内容（黑色条 + 导航高度） */
  /* JS 会动态更新 --header-height 变量，但此处提供默认值避免初始跳动 */
  #header,
  #checkout-header {
    margin-bottom: var(--header-height, 104px);
  }

  /* Mobile header container - fixed at top */
  #mobile-header,
  #mobile-header-sticky {
    position: fixed !important;
    top: 0;
    left: 0;
    right: 0;
    width: 100% !important;
    z-index: 10050;
    background: #fff;
  }

  /* 移动端通过 #header 的 margin-bottom 推开内容，移除 body padding-top 避免双重补偿 */
  body {
    padding-top: 0 !important;
  }

  /* Homepage: banner touches header, no padding needed */
  /* NOTE: do NOT treat /customization as homepage.
     Some templates mistakenly include page-index class on customization page.
     Exclude customization route from the homepage padding reset. */
  body.page-index:not(.page-customization),
  body#index.page-index:not(.page-customization) {
    padding-top: 0 !important;
  }

  body.page-home-real:not(.page-customization) #header,
  body#index.page-home-real:not(.page-customization) #header {
    margin-bottom: 0 !important;
  }

  /* Homepage banner needs margin-top to sit below fixed header */
  /* body.page-index .banner,
  body#index .banner {
    margin-top: var(--header-h, 120px) !important;
  } */

  /* Ensure browser snapping/anchor offset respects header height */
  html {
    scroll-padding-top: var(--header-h, 120px);
  }
  
  /* Activity page: remove banner margin-top on mobile */
  /* Body already has padding-top for fixed header clearance */
  .activity-wrapper .banner,
  .christmas-activity .banner,
  .activity-banner {
    margin-top: 0 !important;
  }
}

/* Activity page banner: desktop header is relative (not fixed), no margin needed */
@media (min-width: 960px) {
  .activity-banner {
    margin-top: 0;
  }

  /* PC 端：#header 的 margin-top 由 header-height.js 动态设置 */
  /* 为了防止页面加载时的 FOUC (Flash of Unstyled Content) */
  /* 在 CSS 中预先设置固定的 margin-top，避免文字跳动 */
  #header {
    margin-top: var(--topbar-h, 3rem);
  }

  /* 购物车/结账页面不需要 margin-top，它们有特殊的布局 */
  body.firecheckout-index-index #header {
    margin-top: 0 !important;
  }
}

/* Phone-specific styles (smaller screens) */
@media (max-width: 767px) {
  .wap-top {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 0;
    padding: 1.5rem 1.5rem;
    background: #000;
    width: 100%;
  }
  .wap-top .fl {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    min-width: 44px;
    padding: 0;
  }
  .wap-top .user {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    padding: 0;
  }
  .wap-top .logo {
    justify-self: center;
    margin: 0;
    padding: 0;
  }
  
  /* fixed header on mobile so it follows while scrolling */
  #header .header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 10050;
    background: rgba(0,0,0,0.95);
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px);
    box-shadow: 0 2px 8px rgba(0,0,0,0.12);
    transition: background 0.2s ease, box-shadow 0.2s ease;
  }
  .wap-top { width: 100%; }
}

/* Mobile header sticky styles for wap-top.fix */
.wap-top.fix {
  position: fixed !important;
  top: 0;
  left: 0 !important;
  right: 0 !important;
  z-index: 10050 !important;
  background: #fff !important;
  width: 100% !important;
}


/* When the section becomes fixed, align it directly under the header using the dynamic header height */
.hair-beginners-fix1.fixed {
  position: fixed !important;
  left: 0 !important;
  right: 0 !important;
  top: var(--header-h, 48px) !important;
  /* 降低 z-index 至 100，确保搜索框 (z-index: 9999) 始终在上层 */
  z-index: 100 !important;
  box-shadow: 0 -0.5rem 1.2rem rgba(0,0,0,0.08);
  background: #fff;
}

/* HowTo sliders: desktop show 3 items (no sliding), mobile show UK slider with nav buttons */
/* Large screens (960px+): 3 columns grid */
@media (min-width: 960px) {
  .friendly-products-section .product-slider,
  .important-container .important-content,
  .product-slider-uk,
  .important-slider-uk {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 1rem !important;
  }
  .friendly-products-section .product-slider .product-item,
  .important-container .important-item,
  .product-slider-uk .uk-slider-items li,
  .important-slider-uk .uk-slider-items li {
    transform: none !important;
    position: static !important;
    width: auto !important;
    margin: 0 !important;
  }
  /* desktop: arrange slider items in 3 columns */
  .product-slider-uk .uk-slider-items,
  .important-slider-uk .uk-slider-items {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 1rem !important;
  }
  /* Hide slider nav on large screens */
  .product-slider-uk > a.uk-slidenav,
  .important-slider-uk > a.uk-slidenav {
    display: none !important;
  }
}

/* Medium tablets (768px - 959px): Keep slider functional, maximum width */
@media (min-width: 768px) and (max-width: 959px) {
  /* Minimal container padding for maximum card width */
  .friendly-products-section,
  .important-container {
    padding-left: 16px;
    padding-right: 16px;
    box-sizing: border-box;
  }
  
  /* Slider items show 2 at a time with maximum width (49% instead of 48%) */
  .product-slider-uk .uk-slider-items li,
  .important-slider-uk .uk-slider-items li {
    flex: 0 0 49% !important;
    max-width: 49% !important;
  }
  
  /* Keep slider nav buttons visible */
  .product-slider-uk a.uk-slidenav,
  .important-slider-uk a.uk-slidenav {
    display: flex !important;
  }
}

@media (max-width: 767px) {
  /* Mobile: show slider with maximum single item width (90% instead of 85%) */
  .product-slider-uk a.uk-slidenav,
  .important-slider-uk a.uk-slidenav {
    display: flex !important;
    z-index: 10 !important;
    width: 36px;
    height: 36px;
    background: rgba(255,255,255,0.95);
    border-radius: 50%;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 8px rgba(0,0,0,0.15);
  }
  /* Show maximum width single item on mobile */
  .product-slider-uk .uk-slider-items li,
  .important-slider-uk .uk-slider-items li {
    flex: 0 0 90% !important;
    max-width: 90% !important;
    box-sizing: border-box;
    padding: 0 8px !important;
  }
  /* Minimal slider container padding to maximize card width */
  .product-slider-uk,
  .important-slider-uk {
    padding: 0 20px !important;
    position: relative !important;
  }
  /* Position nav buttons inside container */
  .product-slider-uk .uk-position-center-left,
  .important-slider-uk .uk-position-center-left {
    left: 0 !important;
  }
  .product-slider-uk .uk-position-center-right,
  .important-slider-uk .uk-position-center-right {
    right: 0 !important;
  }
}

/* Slider nav appearance - circular buttons for mobile */
.product-slider-uk a.uk-slidenav,
.important-slider-uk a.uk-slidenav,
.product-slider-uk a.uk-slidenav-previous,
.product-slider-uk a.uk-slidenav-next,
.important-slider-uk a.uk-slidenav-previous,
.important-slider-uk a.uk-slidenav-next {
  background: rgba(255,255,255,0.95) !important;
  border: none !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.15) !important;
  width: 36px !important;
  height: 36px !important;
  min-width: 36px !important;
  min-height: 36px !important;
  border-radius: 50% !important;
  color: #333 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  transition: background 0.12s ease, transform 0.12s ease;
}
.product-slider-uk a.uk-slidenav:hover,
.important-slider-uk a.uk-slidenav:hover {
  background: #eef3f4 !important;
  transform: translateX(0) !important;
}
.product-slider-uk a.uk-slidenav svg,
.important-slider-uk a.uk-slidenav svg {
  width: 14px;
  height: 14px;
  fill: none;
  stroke: rgba(0,0,0,0.65);
  stroke-width: 1.6;
}

/* Position navs - keep inside container on all screens */
.product-slider-uk .uk-position-center-left,
.important-slider-uk .uk-position-center-left {
  left: 8px !important;
}
.product-slider-uk .uk-position-center-right,
.important-slider-uk .uk-position-center-right {
  right: 8px !important;
}

/* Hide slider navs on medium tablets (768-959px) - REMOVED: keep slider nav visible */
/* Navigation buttons are now visible on medium tablets */

/* Limit product/important titles to a single line with ellipsis */
.product-name,
.important-name,
.friendly-product-title,
.friendly-products-section .product-item .product-name {
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  display: block !important;
  max-width: 100% !important;
  line-height: 1.2 !important;
  font-size: 1.6rem !important;
}

/* Ensure card content spacing matches design when titles are single-line */
.product-item p,
.important-item p {
  margin: 0.35rem 0 0 !important;
}

/* ========== iPad Pro / Tablet Desktop View Fix (960px - 1400px) ========== */
/* Desktop header is shown but needs proper spacing for fixed header */
@media (min-width: 960px) and (max-width: 1400px) {
  /* CSS variable for desktop header height */
  :root {
    --desktop-header-h: 140px;
  }
  
  /* When desktop header becomes fixed, add padding to body */
  body.has-fixed-header:not(.page-index) {
    padding-top: var(--desktop-header-h, 140px) !important;
  }
  
  /* Homepage banner margin when header is fixed */
  body.has-fixed-header.page-index .banner {
    margin-top: var(--desktop-header-h, 140px) !important;
  }
  
  /* Ensure scroll padding for anchor links */
  html {
    scroll-padding-top: var(--desktop-header-h, 140px);
  }
  
  /* CustomerLink (You May Need) container overflow fix */
  .customerLink {
    overflow: hidden !important;
  }
  
  .customerLink-con {
    width: 100% !important;
    overflow: hidden !important;
  }
  
  .customerLink-con .swiper-wrapper {
    width: 100% !important;
  }
  
  .customerLink-con .customerLink-item {
    width: calc(50% - 10px) !important;
    max-width: calc(50% - 10px) !important;
    flex-shrink: 0 !important;
  }
}

/* ========== CustomerLink Swiper Overflow Fix (All Screens) ========== */
.customerLink {
  overflow: hidden !important;
  position: relative !important;
}

.customerLink-con,
.customerLink-container {
  width: 100% !important;
  overflow: hidden !important;
  position: relative !important;
}

.customerLink-con .swiper-wrapper {
  display: flex !important;
  flex-wrap: nowrap !important;
}

/* Ensure swiper slides don't overflow container */
.customerLink-con .swiper-slide,
.customerLink-con .customerLink-item {
  flex-shrink: 0 !important;
  box-sizing: border-box !important;
}

/* ========== Global Content Padding - Prevent content touching edges ========== */
/* Applies to all pages on tablet/mobile to ensure content has breathing room */
@media (max-width: 1200px) {
  /* Main content containers need horizontal padding */
  .main,
  .main-content,
  #content,
  .pageContainer,
  .uk-container,
  .container {
    padding-left: 20px !important;
    padding-right: 20px !important;
    box-sizing: border-box !important;
  }
  
  /* Howto page specific - ensure sections have padding */
  .howto-page,
  .howto-content,
  #howto-content,
  .hair-beginners,
  .friendly-products-section,
  .important-container {
    padding-left: 20px !important;
    padding-right: 20px !important;
    box-sizing: border-box !important;
  }
  
  /* Product sliders need to stay within padded container */
  .product-slider,
  .product-slider-uk,
  .important-slider-uk,
  .uk-slider {
    max-width: 100% !important;
    overflow: hidden !important;
  }
  
  /* Ensure slider items don't overflow */
  .uk-slider-items {
    max-width: 100% !important;
  }
}

/* Smaller tablets and phones need more padding */
@media (max-width: 960px) {
  .main,
  .main-content,
  #content,
  .pageContainer,
  .uk-container,
  .container,
  .howto-page,
  .howto-content,
  .hair-beginners,
  .friendly-products-section,
  .important-container {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
}

/* Phone screens */
@media (max-width: 480px) {
  .main,
  .main-content,
  #content,
  .pageContainer,
  .uk-container,
  .container,
  .howto-page,
  .howto-content,
  .hair-beginners,
  .friendly-products-section,
  .important-container {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
}

/* Mobile: hide all dropdown search boxes when mobile-search-overlay is active */
@media (max-width: 959px) {
  /* Hide desktop search dropdown */
  .lv-fix-menu-right .header-search-btn-w.uk-visible\@m,
  .lv-fix-menu-right .header-search-btn-w.uk-visible\@m .dropdown-menu,
  .lv-fix-menu-right .header-search-btn-w.uk-visible\@m .dropdown-menu-custom {
    display: none !important;
  }

  /* Hide mobile header dropdown search - always hidden on mobile */
  /* We use the mobile-search-overlay instead */
  #mobile-header .dropdown-menu-custom,
  #mobile-header .dropdown-menu {
    display: none !important;
  }
}

/* ========== Scroll Progress Indicator ========== */
/* Extracted from inline footer styles */
.scroll-progress-container {
  position: fixed;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  width: 6px;
  height: 120px;
  background: rgba(0, 0, 0, 0.1);
  border-radius: 3px;
  z-index: 100;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.scroll-progress-container.visible {
  opacity: 1;
}

.scroll-progress-bar {
  width: 100%;
  background: linear-gradient(180deg, #667eea 0%, #764ba2 100%);
  border-radius: 3px;
  transition: height 0.05s ease-out;
}

/* Fix back to top button display - ID selector priority */
#back-to-top.active,
.back-to-top.active {
  opacity: 1 !important;
  visibility: visible !important;
}

/* ========== Firecheckout - You May Need Title Fix ========== */
/* Remove padding from customerLink container so border extends full width */
.firecheckout .customerLink {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.customerLink-title {
  display: flex !important;
  flex-direction: row !important;
  justify-content: space-between !important;
  align-items: baseline !important;
  flex-wrap: nowrap !important;
  width: 100% !important;
  border-bottom: 1px solid #e0e0e0 !important;
  padding: 0 20px 6px 20px !important;
  margin-bottom: 0 !important;
}

.customerLink-title_info {
  flex: 0 1 auto !important;
  white-space: nowrap !important;
  border-bottom: none !important;
  text-decoration: none !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
}

.customerLink-title_info strong {
  border-bottom: none !important;
  text-decoration: none !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
}

.customerLink-title_price {
  flex: 0 0 auto !important;
  margin-left: auto !important;
  white-space: nowrap !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
}

/* ========== Blog Pagination Styles (moved from template) ========== */
#main-page-content.lv-blog-detail .page-item.active .page-link,
#main-page-content.lv-blog-detail .page-item.active .page-link:focus,
#main-page-content.lv-blog-detail .page-item.active .page-link:hover {
  background-color: #F7B900;
  border-color: #F7B900;
}

#main-page-content.lv-blog-detail a.page-link:hover {
  background-color: #F7B900 !important;
  color: #fff;
  border-color: #F7B900;
}

/* ========== Blog Detail Page ========== */
#main-page-content.lv-blog-detail {
  margin-top: 0;
  background: var(--white-color);
}

#main-page-content.lv-blog-detail .wap-top,
#main-page-content.lv-blog-detail #header .header {
  background: var(--white-color);
}

/* Space between top nav and breadcrumb on blog detail */
#main-page-content.lv-blog-detail nav.breadcrumb {
  margin-top: 12px;
  padding-top: 0;
}

@media (max-width: 959px) {
  #main-page-content.lv-blog-detail nav.breadcrumb {
    margin-top: 8px;
    padding-top: 0;
  }
}

/* Blog share icons (remove inline styles) */
#main-page-content.lv-blog-detail .simpleblog__share .btn-blog-social > a {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  margin: 0 5px;
}

#main-page-content.lv-blog-detail .simpleblog__share .btn-blog-social > a svg {
  display: block;
}

#main-page-content.lv-blog-detail .simpleblog__share .lv-social-icon--tiktok {
  margin-bottom: 2px;
}

/* Blog comment styles (moved from inline template) */
#main-page-content.lv-blog-detail .simpleblog__comments {
  margin-top: 40px;
  padding-top: 30px;
  border-top: 1px solid #eee;
}

#main-page-content.lv-blog-detail .simpleblog__comments .section-title {
  margin-bottom: 25px;
}

#main-page-content.lv-blog-detail .comments-list {
  margin-bottom: 40px;
}

#main-page-content.lv-blog-detail .comment-item {
  display: flex;
  gap: 15px;
  padding: 20px 0;
  border-bottom: 1px solid #f0f0f0;
}

#main-page-content.lv-blog-detail .comment-item:last-child {
  border-bottom: none;
}

#main-page-content.lv-blog-detail .comment-avatar {
  flex-shrink: 0;
}

#main-page-content.lv-blog-detail .comment-avatar .fa {
  font-size: 40px;
  color: #ccc;
}

#main-page-content.lv-blog-detail .comment-content {
  flex: 1;
}

#main-page-content.lv-blog-detail .comment-header {
  display: flex;
  align-items: center;
  gap: 15px;
  margin-bottom: 8px;
}

#main-page-content.lv-blog-detail .comment-author {
  font-weight: 600;
  color: #333;
}

#main-page-content.lv-blog-detail .comment-date {
  font-size: 13px;
  color: #999;
}

#main-page-content.lv-blog-detail .comment-text {
  color: #555;
  line-height: 1.6;
}

#main-page-content.lv-blog-detail .no-comments {
  text-align: center;
  padding: 30px;
  color: #999;
  background: #f9f9f9;
  border-radius: 8px;
}

#main-page-content.lv-blog-detail .comment-form-wrapper {
  background: #f9f9f9;
  padding: 30px;
  border-radius: 10px;
}

#main-page-content.lv-blog-detail .comment-form-title {
  font-size: 20px;
  margin-bottom: 20px;
  color: #333;
}

#main-page-content.lv-blog-detail .comment-form .form-group {
  margin-bottom: 20px;
}

#main-page-content.lv-blog-detail .comment-form label {
  display: block;
  margin-bottom: 8px;
  font-weight: 500;
  color: #333;
}

#main-page-content.lv-blog-detail .comment-form label .required {
  color: #e74c3c;
}

#main-page-content.lv-blog-detail .comment-form .form-control {
  width: 100%;
  padding: 12px 15px;
  border: 1px solid #ddd;
  border-radius: 6px;
  font-size: 14px;
  transition: border-color 0.2s;
}

#main-page-content.lv-blog-detail .comment-form .form-control:focus {
  border-color: #68699a;
  outline: none;
}

#main-page-content.lv-blog-detail .comment-form .form-row {
  display: flex;
  gap: 20px;
}

#main-page-content.lv-blog-detail .comment-form .form-row .form-group {
  flex: 1;
}

#main-page-content.lv-blog-detail .captcha-row {
  display: flex;
  align-items: center;
  gap: 15px;
}

#main-page-content.lv-blog-detail .captcha-input {
  max-width: 200px;
}

#main-page-content.lv-blog-detail .captcha-img {
  height: 40px;
  cursor: pointer;
  border-radius: 4px;
}

#main-page-content.lv-blog-detail .btn-submit-comment {
  background: #68699a;
  color: #fff;
  border: none;
  padding: 12px 30px;
  font-size: 16px;
  font-weight: 600;
  border-radius: 6px;
  cursor: pointer;
  transition: background 0.2s;
}

#main-page-content.lv-blog-detail .btn-submit-comment:hover {
  background: #555680;
}

#main-page-content.lv-blog-detail .btn-submit-comment:disabled {
  opacity: 0.7;
  cursor: not-allowed;
}

#main-page-content.lv-blog-detail .form-message {
  display: none;
  padding: 12px 15px;
  border-radius: 6px;
  margin-bottom: 15px;
  font-size: 14px;
}

#main-page-content.lv-blog-detail .form-message.success {
  background: #d4edda;
  color: #155724;
  border: 1px solid #c3e6cb;
}

#main-page-content.lv-blog-detail .form-message.error {
  background: #f8d7da;
  color: #721c24;
  border: 1px solid #f5c6cb;
}

@media (max-width: 767px) {
  #main-page-content.lv-blog-detail .comment-form .form-row {
    flex-direction: column;
    gap: 0;
  }

  #main-page-content.lv-blog-detail .comment-form-wrapper {
    padding: 20px;
  }
}

/* ========== News Detail Page (moved from template) ========== */
#main-page-content.lv-news-detail {
  margin-top: 0;
  background: var(--white-color, #fff);
}

/* Keep breadcrumb comfortably separated from header/nav */
#main-page-content.lv-news-detail nav.breadcrumb {
  margin-top: 8px;
  margin-bottom: 0;
  padding-top: 0;
  padding-bottom: 0;
}

@media (max-width: 959px) {
  #main-page-content.lv-news-detail nav.breadcrumb {
    margin-top: 6px;
  }
}

/* Ensure containers keep side padding on wide screens (matches other content pages) */
#main-page-content.lv-news-detail .container {
  padding-left: 20px;
  padding-right: 20px;
}

@media (min-width: 960px) {
  #main-page-content.lv-news-detail .container {
    padding-left: 24px;
    padding-right: 24px;
  }
}

#main-page-content.lv-news-detail .news-detail {
  max-width: 900px;
  margin: 0 auto;
  padding: 24px 20px 60px;
}

#main-page-content.lv-news-detail .news-detail_header {
  text-align: center;
  margin-bottom: 28px;
  padding-bottom: 20px;
  border-bottom: 1px solid #e5e7eb;
}

#main-page-content.lv-news-detail .news-detail_title {
  font-size: 32px;
  font-weight: 700;
  color: #1a1a1a;
  line-height: 1.4;
  margin-bottom: 20px;
  text-transform: capitalize;
}

#main-page-content.lv-news-detail .news-detail_meta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  font-size: 14px;
  color: #666;
}

#main-page-content.lv-news-detail .news-detail_date,
#main-page-content.lv-news-detail .news-detail_author {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

#main-page-content.lv-news-detail .news-detail_date i {
  color: #999;
}

#main-page-content.lv-news-detail .news-detail_author {
  font-weight: 500;
  color: #333;
}

#main-page-content.lv-news-detail .news-detail_author i {
  color: #999;
}

#main-page-content.lv-news-detail .news-detail_content {
  font-size: 16px;
  line-height: 1.8;
  color: #333;
}

#main-page-content.lv-news-detail .news-detail_content p {
  margin-bottom: 20px;
}

#main-page-content.lv-news-detail .news-detail_content img {
  max-width: 100%;
  height: auto;
  border-radius: 8px;
  margin: 20px 0;
}

#main-page-content.lv-news-detail .news-detail_content h2,
#main-page-content.lv-news-detail .news-detail_content h3,
#main-page-content.lv-news-detail .news-detail_content h4 {
  margin: 30px 0 15px;
  font-weight: 600;
  color: #1a1a1a;
}

#main-page-content.lv-news-detail .news-detail_content h2 {
  font-size: 24px;
}

#main-page-content.lv-news-detail .news-detail_content h3 {
  font-size: 20px;
}

#main-page-content.lv-news-detail .news-detail_content ul,
#main-page-content.lv-news-detail .news-detail_content ol {
  margin: 15px 0;
  padding-left: 25px;
}

#main-page-content.lv-news-detail .news-detail_content li {
  margin-bottom: 10px;
}

#main-page-content.lv-news-detail .news-detail_content a {
  color: var(--primary-color, #667eea);
  text-decoration: underline;
}

#main-page-content.lv-news-detail .news-detail_content a:hover {
  color: var(--secondary-color, #764ba2);
}

#main-page-content.lv-news-detail .news-detail_content blockquote {
  margin: 25px 0;
  padding: 20px 25px;
  background: #f8f9fa;
  border-left: 4px solid var(--primary-color, #667eea);
  border-radius: 0 8px 8px 0;
  font-style: italic;
  color: #555;
}

#main-page-content.lv-news-detail .news-detail_back {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 40px;
  padding: 12px 24px;
  font-size: 14px;
  font-weight: 500;
  color: var(--primary-color, #667eea);
  background: rgba(102, 126, 234, 0.1);
  border-radius: 25px;
  text-decoration: none;
  transition: all 0.3s ease;
}

#main-page-content.lv-news-detail .news-detail_back:hover {
  background: var(--primary-color, #667eea);
  color: #fff;
  transform: translateX(-5px);
}

#main-page-content.lv-news-detail .news-detail_back i {
  font-size: 14px;
}

/* ========== Latest products block on news page ========== */
#main-page-content.lv-news-detail .proCategory--news {
  margin-top: 60px;
  padding-top: 50px;
  padding-bottom: 50px;
  background: linear-gradient(135deg, #f8f9fa 0%, #fff 100%);
}

#main-page-content.lv-news-detail .proCategory--news .proCategory-tit {
  font-size: 28px;
  font-weight: 700;
  color: #1a1a1a;
  margin-bottom: 35px;
  position: relative;
}

#main-page-content.lv-news-detail .proCategory--news .proCategory-tit::after {
  content: "";
  display: block;
  width: 60px;
  height: 3px;
  background: linear-gradient(90deg, #667eea, #764ba2);
  margin: 12px auto 0;
  border-radius: 2px;
}

#main-page-content.lv-news-detail .proCategory--news .uk-slider-items > li.proList-item {
  width: 280px;
}

#main-page-content.lv-news-detail .proCategory--news .proList-item {
  position: relative;
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 2px 15px rgba(0, 0, 0, 0.06);
  transition: all 0.3s ease;
  border: 1px solid #eee;
  padding: 15px;
}

#main-page-content.lv-news-detail .proCategory--news .proList-item:hover {
  transform: translateY(-8px);
  box-shadow: 0 12px 30px rgba(102, 126, 234, 0.15);
  border-color: rgba(102, 126, 234, 0.3);
}

#main-page-content.lv-news-detail .proCategory--news .proList-item_discount {
  position: absolute;
  top: 10px;
  left: 10px;
  background: linear-gradient(135deg, #ff6b6b, #ee5a5a);
  color: #fff;
  font-size: 12px;
  font-weight: 600;
  padding: 4px 10px;
  border-radius: 15px;
  z-index: 2;
}

#main-page-content.lv-news-detail .proCategory--news .proList-item_img {
  display: block;
  position: relative;
  border-radius: 8px;
  overflow: hidden;
  margin-bottom: 12px;
}

#main-page-content.lv-news-detail .proCategory--news .proList-item_img img {
  width: 100%;
  height: auto;
  aspect-ratio: 1;
  object-fit: cover;
  transition: transform 0.4s ease;
}

#main-page-content.lv-news-detail .proCategory--news .proList-item:hover .proList-item_img img {
  transform: scale(1.05);
}

#main-page-content.lv-news-detail .proCategory--news .proList-item_title {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 42px;
  font-size: 14px;
  font-weight: 500;
  color: #333;
  line-height: 1.5;
  margin-bottom: 10px;
  text-decoration: none;
  transition: color 0.2s ease;
}

#main-page-content.lv-news-detail .proCategory--news .proList-item:hover .proList-item_title {
  color: #667eea;
}

#main-page-content.lv-news-detail .proCategory--news .price-box {
  margin-top: auto;
}

#main-page-content.lv-news-detail .proCategory--news .price-box_price {
  font-size: 13px;
  color: #666;
}

#main-page-content.lv-news-detail .proCategory--news .price-box_price .price {
  font-size: 18px;
  font-weight: 700;
  color: #667eea;
}

#main-page-content.lv-news-detail .proCategory--news .price-box_oldPrice {
  font-size: 13px;
  color: #999;
  text-decoration: line-through;
  margin-left: 8px;
}

#main-page-content.lv-news-detail .proCategory--news .uk-slidenav {
  background: #fff;
  color: #333;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  transition: all 0.3s ease;
}

#main-page-content.lv-news-detail .proCategory--news .uk-slidenav:hover {
  background: #667eea;
  color: #fff;
  box-shadow: 0 4px 15px rgba(102, 126, 234, 0.4);
}

@media (max-width: 768px) {
  #main-page-content.lv-news-detail .news-detail {
    padding: 25px 15px 40px;
  }

  #main-page-content.lv-news-detail .news-detail_title {
    font-size: 24px;
  }

  #main-page-content.lv-news-detail .news-detail_meta {
    flex-direction: column;
    gap: 10px;
  }

  #main-page-content.lv-news-detail .news-detail_content {
    font-size: 15px;
  }

  #main-page-content.lv-news-detail .news-detail_content h2 {
    font-size: 20px;
  }

  #main-page-content.lv-news-detail .news-detail_content h3 {
    font-size: 18px;
  }

  #main-page-content.lv-news-detail .proCategory--news {
    margin-top: 40px;
    padding: 35px 0;
  }

  #main-page-content.lv-news-detail .proCategory--news .proCategory-tit {
    font-size: 22px;
    margin-bottom: 25px;
  }

  #main-page-content.lv-news-detail .proCategory--news .proList-item {
    padding: 12px;
  }

  #main-page-content.lv-news-detail .proCategory--news .proList-item_title {
    font-size: 13px;
    min-height: 39px;
  }

  #main-page-content.lv-news-detail .proCategory--news .price-box_price .price {
    font-size: 16px;
  }

  #main-page-content.lv-news-detail .proCategory--news .uk-slider-items > li.proList-item {
    width: 240px;
  }
}
