/* ========================================================================== */
/* 1. 全局样式 (Global Styles) */
/* ========================================================================== */
:root {
    --primary-color: #00bcf2;
    --primary-dark: #009fd9;
    --primary-light: #e6f7ff;
    --bg_F2F2F2: #F2F2F2;
    --bg_white: #fff;
    --bg_black: #000;
    --bg_999: #999;

    --lay-color-primary: #16baaa;
    --lay-color-accent: #16b777;
    --lay-color-red: #ff5722;
    --lay-color-orange: #ffb800;
    --lay-color-green: #16baaa;
    --lay-color-blue: #00bcf2;
    --lay-color-purple: #a233c6;
    --lay-color-black: #2f363c;
    --lay-color-gray: #e9ecef;
    --lay-gray-100: #fafafa;
    --lay-gray-200: #f7f7f7;
    --lay-gray-300: #eee;
    --lay-gray-400: #d1d1d1;
    --lay-gray-500: #c8c8c8;
    --lay-gray-600: #b7b7b7;
    --lay-gray-700: #959595;
    --lay-gray-800: #777;
    --lay-gray-900: #5a5a5a;
    --lay-white-200: rgba(255, 255, 255, 0.2);
    --lay-border-color: var(--lay-gray-300);
    --lay-border-color-accent: var(--lay-gray-400);
    --lay-border-radius: 2px;
    --lay-box-shadow: 0 1px 2px rgba(0, 0, 0, .15);
    --lay-box-shadow-sm: 0 0.5px 1px rgba(0, 0, 0, .08);
    --lay-box-shadow-lg: 0 3px 6px rgba(0, 0, 0, .3);
    --lay-font-family: system-ui, -apple-system, "Segoe UI", Roboto, "PingFang SC", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    --lay-font-monospace: "Courier New", Consolas, "Lucida Console", monospace;
    --lay-spacing: 16px;
    --lay-spacing-xs: 5px;
    --lay-spacing-sm: 8px;
    --lay-spacing-lg: 24px;
    --lay-spacing-xl: 32px
}

body {
    font-size: 16px;
}

.layui-container {
    width: 100%;
    max-width: 1800px !important;
}

.layui-text-center {
    text-align: center;
}
.layui-text-white {
    color: #fff !important;
}

.layui-input:focus,
.layui-textarea:focus {
    box-shadow: none;
}

.bg-blue {
    background-color: #00bcf2;
}

.bg-white {
    background-color: #ffffff1a !important;
}

.store-info {
    background-color: rgba(255, 255, 255, 0.1);
}
.me-1 {
    margin-right: .25rem !important;
}
.mx {
    margin: 1rem !important;
}
.p2{
    padding: 2px;
}

.p-4 {
    padding: 1.5rem !important;
}

.mb-3 {
    margin-bottom: 1rem !important;
}

.mb-5 {
    margin-bottom: 3rem !important;
}

.mb-4 {
    margin-bottom: 1.5rem !important;
}

.mb-1 {
    margin-bottom: .25rem !important;
}

.mb-0 {
    margin-bottom: 0 !important;
}

.layui-text-center,
.layui-text-center a {
    /* color: #fff !important; */
}

/* ========================================================================== */
/* 2. 头部样式 (Header Styles) */
/* ========================================================================== */
.layui-header {
    height: 75px;
}

.logo img {
    width: 180px;
    height: 50px;
}

.logo a {
    display: block;
    line-height: 75px;
}

/* 移动端适配 */
@media screen and (max-width:768px) {
    .layui-header {
        height: 60px;
    }
    .layui-container {
        padding: 0px 5px;
    }

    body {
        background-color: #f2f2f2;
        font-size: 14px;
    }

    .logo a {
        line-height: 60px;
    }

    .logo img {
        width: 125px;
        height: 35px;
    }

    .mb-md-0 {
        margin-bottom: 0 !important;
    }
}

/* ========================================================================== */
/* 3. 导航样式 (Navigation Styles) */
/* ========================================================================== */
.pcnav .nav-item {
    padding: 10px 15px;
}

.pcnav .nav-item a:hover {
    background-color: var(--lay-white-200);
    border-radius: var(--lay-border-radius);
}

.layui-nav .layui-nav-item {
    line-height: 50px;
}

.layui-nav-child {
    top: 75px;
}

.layui-nav .layui-this:after, .layui-nav-bar{
    background-color: unset!important;
}
.layui-colla-title{
    height: 50px;
    line-height: 50px;
    background-color: #fff;
    padding: 0 15px 0 20px;
}
.layui-colla-title:hover {
    background-color: var(--primary-light);
}

.no-expand{
    background-color: #fff!important;
}
.layui-show .no-expand:hover{
    background-color: var(--primary-light)!important;
}
.layui-colla-content{
    padding: 0 !important;
}
.layui-colla-icon{
    right:20px!important;
    left:unset!important;
}
.layui-laypage .layui-laypage-curr .layui-laypage-em{
    background-color: var(--lay-color-blue);
}
.layui-laypage-limits,.layui-laypage-refresh,.layui-laypage-skip{
    display: none;
}

/* ========================================================================== */
/* 4. 搜索样式 (Search Styles) */
/* ========================================================================== */
.searchbtn {
    cursor: pointer;
    border-radius: 0 20px 20px 0;
    background-color: #fff;
    border-color: #fff;
    font-size: 14px;
    color: var(--lay-color-blue);
}

/* ========================================================================== */
/* 5. 轮播图样式 (Carousel Styles) */
/* ========================================================================== */
#ID-carousel-demo-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* ========================================================================== */
/* 6. 手机导航样式 (Mobile Navigation Styles) */
/* ========================================================================== */
#mobileNavContent {
    display: none;
}

.mobile-nav-container {
    color: white;
    height: 100%;
}

.mobile-nav-user-info {
    padding: 10px 20px;
    display: flex;
    align-items: center;
}

.layui-nav-img {
    width: 50px !important;
    height: 50px !important;
    border-radius: 50%;
    margin-right: 15px;
}

.mobile-nav-username {
    font-size: 18px;
    font-weight: bold;
}

.mobile-nav-item {
    padding: 10px 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 16px;
}

.mobile-nav-link {
    color: white;
    text-decoration: none;
    display: flex;
    align-items: center;
}

.mobile-nav-icon {
    margin-right: 10px;
    font-size: 20px;
}

.ws-header-menu {
    position: absolute;
    left: 22px;
    top: 12px;
}

.ws-header-menu .layui-icon,
.ws-header-menu .fa-solid {
    font-size: 36px;
}

/* 移动端菜单弹窗样式 */
@media screen and (max-width:768px) {
    .ws-header-menu-skin .layui-layer-title {
        color: #fff;
        border: none;
    }

    .ws-header-menu-skin {
        color: #fff;
        background-color: var(--lay-color-blue);
        border-radius: 0px 20px 20px 0px;
    }

    .ws-header-menu-skin .layui-layer-setwin .layui-layer-close1 {
        width: 40px;
        height: 40px;
        background-color: rgba(255, 255, 255, 0.2);
        border-radius: 50%;
        color: white;
        font-size: 24px;
        line-height: 40px;
    }
}

/* ========================================================================== */
/* 7. 通知模块样式 (Notice Module Styles) */
/* ========================================================================== */
.notice-module {
    display: flex;
    align-items: center;
    background-color: white;
    padding: 10px 15px;
    border-radius: 4px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    margin: 10px 0;
}

.notice-btn {
    background-color: #00bcf2;
    color: white;
    padding: 5px 15px;
    border-radius: 4px;
    margin-right: 15px;
    font-weight: bold;
    cursor: pointer;
}

.notice-content {
    flex: 1;
    color: #333;
    font-size: 14px;
    line-height: 1.5;
}

.notice-arrow {
    color: #999;
    font-size: 20px;
    margin-left: 10px;
    cursor: pointer;
}

/* 移动端适配 */
@media screen and (max-width:768px) {
    .notice-module {
        padding: 5px;
        margin: 8px 0;
        background-color: white;
        border-radius: 0;
        box-shadow: none;
    }

    .notice-btn {
        width: 24px;
        padding: 4px 10px;
        margin-right: 10px;
        font-size: 12px;
        background-color: #00bcf2;
        color: white;
        border-radius: 4px;
    }

    .notice-content {
        font-size: 12px;
        color: #333;
    }

    .notice-arrow {
        font-size: 16px;
        color: #999;
    }
}

/* ========================================================================== */
/* 8. 左侧导航样式 (Left Sidebar Styles) */
/* ========================================================================== */
.left-sidebar {
    padding: 10px;
    background-color: var(--lay-color-gray);
    border-radius: 4px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.layui-collapse,.layui-colla-item{
    border: 0;    
}

/* 隐藏无子分类项的展开图标 */
.no-expand .layui-colla-icon {
    display: none;
}

/* 调整分类内容的样式 */
.category-content {
    padding: 10px;
    background-color: #f9f9f9;
    border: 1px solid #e6e6e6;
    border-top: none;
}

/* 一级分类标题样式 */
.layui-show .first-level-title {
    font-weight: bold;
    background-color: var(--lay-color-blue);
    color: #fff!important;
}

/* 选中分类标题样式 */
.cate-selected {
    color: var(--lay-color-blue)!important;
    font-weight: bold;
}

/* 选中的一级分类标题左侧竖线颜色 */
.cate-selected::before {
    background-color: var(--lay-color-blue) !important;
}

/* 一级栏目图片样式 */
.first-level-title .cate-image {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    margin-right: 15px;
}

/* ========================================================================== */
/* 9. 产品列表样式 (Product List Styles) */
/* ========================================================================== */
.right-product-list {
    padding: 0 0 0 15px;
}

.no-data {
    text-align: center;
    padding-bottom: 30px;
    font-size: 14px;
    color: #909399;
}

.product-grid {
    width: 100%;
    /* display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 20px; */
}

.product-grid .layui-flow-more {
    grid-column: 1 / -1;
    text-align: center;
    margin: 20px 0;
    width: 100%;
}

.product-card {
    border: 1px solid var(--lay-color-gray);
    background-color: white;
    border-radius: 9px;
    padding: 5px;
}

.product-card:hover {
    border:1px solid var(--primary-color);
}

.product-image {
    margin-bottom: 10px;
    text-align: center;
    overflow: hidden;
}

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

.product-image:hover img {
    transform: scale(1.2);
}

.product-info{
    min-height: 140px;
}

.product-name {
    margin: 0 0 5px 0;
    font-size: 17px;
    font-weight: bold;
    color: #333;
}

.product-subname {
    margin: 0 0 10px 0;
    font-size: 14px;
    color: var(--lay-color-blue);
    line-height: 1.4;
}

.product-price {
    margin: 0 0 15px 0;
    font-size: 17px;
    color: #FF5722;
    font-weight: bold;
}

.product-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 5px;
}

.layui-input:focus, .layui-textarea:focus{border-color: var(--lay-color-blue)!important;}


/* 移动端分类样式 - 横向一级导航 + 切换子分类 */
#mobileCateGrid {
    background-color: white;
    border-radius: 9px;
    padding: 0;
    overflow: hidden;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

/* 一级分类导航容器 */
.mobile-cate-main-nav {
    display: flex;
    overflow-x: auto;
    white-space: nowrap;
    background-color: white;
    /* border-bottom: 1px solid #eee; */
    scrollbar-width: none; /* Firefox */
    -ms-overflow-style: none; /* IE/Edge */
}

/* 隐藏滚动条 */
.mobile-cate-main-nav::-webkit-scrollbar {
    display: none; /* Chrome/Safari/Opera */
}

/* 一级分类项 */
.mobile-cate-main-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 3px;
    cursor: pointer;
    transition: all 0.3s ease;
    min-width: 80px;
    background-color: white;
    border-bottom: 2px solid transparent;
}

.mobile-cate-main-item:active {
    background-color: #f5f5f5;
}

.mobile-cate-main-item.active {
    /* border-bottom-color: #00bcf2; */
    background-color: #f0f8ff;
}

/* 一级分类图标 */
.mobile-cate-main-icon {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background-color: #f8f9fa;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 6px;
}

.mobile-cate-main-item.active .mobile-cate-main-icon {
    background-color: #e6f2ff;
}

.mobile-cate-main-icon img {
    width: 50px;
    height: 50px;
    object-fit: contain;
}

/* 一级分类名称 */
.mobile-cate-main-name {
    font-size: 14px;
    font-weight: 500;
    color: #333;
    text-align: center;
    white-space: normal;
    max-width: 100%;
}

.mobile-cate-main-item.active .mobile-cate-main-name {
    color: #00bcf2;
}

/* 子分类包装器 */
.mobile-cate-child-wrapper {
    background-color: white;
    padding: 5px;
}

/* 子分类列表 */
.mobile-cate-child-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
}

/* 子分类组容器 */
.mobile-cate-child-group {
    margin-bottom: 10px;
    background-color: white;
    border-radius: 8px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
    overflow: hidden;
}

/* 子分类项 */
.mobile-cate-child-item {
    display: flex;
    align-items: center;
    padding: 12px 15px;
    background-color: #fafafa;
    cursor: pointer;
    transition: all 0.3s ease;
}

.mobile-cate-child-item.parent {
    position: relative;
}

.mobile-cate-child-item:active {
    background-color: #e8f4fd;
}

.mobile-cate-child-item.active {
    background-color: #e6f2ff;
    color: #00bcf2;
}

/* 子分类图标 - 已移除显示 */
.mobile-cate-child-icon {
    display: none;
}

.mobile-cate-child-icon img {
    display: none;
}

/* 子分类名称 */
.mobile-cate-child-name {
    flex: 1;
    font-size: 13px;
    font-weight: 500;
    color: #333;
    line-height: 1.2;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 100%;
}

/* 子分类箭头 */
.mobile-cate-child-arrow {
    width: 20px;
    height: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.3s ease;
    flex-shrink: 0;
}

.mobile-cate-child-arrow.active {
    transform: rotate(90deg);
}

.mobile-cate-child-arrow i {
    font-size: 14px;
    color: #999;
}

/* 三级分类容器 */
.mobile-cate-grandchild-container {
    background-color: white;
    padding: 8px 0;
}

/* 三级分类列表 */
.mobile-cate-grandchild-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 0 15px;
}

/* 三级分类项 */
.mobile-cate-grandchild-item {
    padding: 6px 12px;
    background-color: #f5f5f5;
    border-radius: 12px;
    cursor: pointer;
    transition: all 0.3s ease;
    font-size: 12px;
    color: #666;
    border: 1px solid #e0e0e0;
}

.mobile-cate-grandchild-item:active {
    background-color: #e6f2ff;
    color: #00bcf2;
    border-color: #00bcf2;
}

.mobile-cate-grandchild-item.active {
    background-color: #e6f2ff;
    color: #00bcf2;
    border-color: #00bcf2;
}

/* 移动端适配 */
@media screen and (max-width:768px) {
    .right-product-list {
        padding: 0;
    }

    .product-grid {
        grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
        gap: 10px;
    }

    .product-image img {
        height: 150px;
    }
}

/* ========================================================================== */
/* 10. 底部导航样式 (Footer Navigation Styles) */
/* ========================================================================== */
.layui-footer {
    padding: 40px 0;
}

/* 右侧固定按钮 - 已替换为layui固定条 */
.fixed-right-buttons {
    display: none;
}

.fixed-btn {
    display: none;
}

/* Layui固定条组件自定义样式 */
.layui-fixbar {
    right: 0px;
    bottom: 40%;
    transform: translateY(-50%);
    z-index: 1000;
}

.layui-fixbar-item {
    background-color: var(--primary-color);
    color: white;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    font-size: 30px;
    transition: all 0.3s ease;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
    position: relative;
    padding: 8px 12px;
    width: auto;
    gap: 4px;
    margin-bottom: 10px;
}

.layui-fixbar-item:hover {
    background-color: var(--primary-dark);
    transform: translateY(-3px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

/* 购物车按钮 */
.layui-fixbar-item.cart-btn {
    width: 90px !important;
    height: auto !important;
    min-height: 60px;
    position: relative;
    border-radius: 50px 0 0 50px;
}

/* 购物车文字 */
.cart-text {
    font-size: 14px;
}

.cart-count {
    position: absolute;
    top: 5px;
    right: 10px;
    background-color: #ff4757;
    color: white;
    border-radius: 50%;
    width: 20px;
    height: 20px;
    font-size: 14px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: bold;
}

/* 返回顶部按钮样式 */
.layui-fixbar-item[lay-type="top"] {
    display: none;
    background-color: #6c757db8;
    width: 24px !important;
    height: 30px !important;
    border-radius: 50% !important;
    align-items: center;
    font-size: 22px;
    text-align: center;
    align-content: center;
}

/* 桌面端隐藏返回顶部按钮 */
@media (min-width:769px) {
    .layui-fixbar-item[lay-type="top"] {
        display: none !important;
       
    }
}
@media (max-width:768px) {
    /* 固定按钮 */
    /* 移动端调整固定按钮位置 */
    .layui-fixbar {
        right: 10px;
        bottom: 16%;
    }

    /* 移动端购物车按钮 - 圆形，无文字 */
    .layui-fixbar-item.cart-btn {
        width: 24px !important;
        height: 30px !important;
        min-height: 30px;
        font-size: 22px;
        border-radius: 50% !important;
    }

    .cart-count {
        top: -5px;
        right: -5px;
    }

    /* 移动端隐藏购物车文字 */
    .cart-btn .cart-text {
        display: none;
    }

    /* 移动端固定按钮通用样式 */
    .fixed-btn {
        font-size: 24px;
        flex-direction: column;
        gap: 0;
        padding: 0;
    }
}
/* 登录弹窗样式 */
.loginBox{
    border-radius: 10px;
}
.layui-layer-content .login-form {
    padding: 40px;
}
/* .layui-layer{
    background-color:unset;
    box-shadow: unset;
} */
.layui-layer-setwin .layui-layer-close2 {
    right: 0px;
    top: 0px;
}

.layui-form-item .layui-form-checkbox[lay-skin=primary] {
    margin-top: 0px;
}

.mobile-nav-login-btn{
    font-size: 16px;
}