@charset "UTF-8";
:root {
    --swiper-theme-color: #707070;
    --swiper-pagination-color: #FFF;
    --swiper-navigation-color: #FFF;
    --swiper-navigation-size: 20px;
    --grey: #DDD;
    --blue: #1e50a2;
    --black: #2D2D2D;
    --orange: #FE671F;
    /* 间距系统优化 */
    --spacing-xxl: 70px;
    --spacing-xl: 40px;
    --spacing-lg: 30px;
    --spacing-md: 20px;
    --spacing-sm: 15px;
    --spacing-xs: 10px;
}
*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
html {
    -webkit-text-size-adjust: 100%;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
body {
    background: url("https://tygaoke.oss-cn-shenzhen.aliyuncs.com/static/image/bg.png") no-repeat bottom center / 100% auto;
    text-rendering: optimizeLegibility;
    font-family: 'Noto Sans SC', sans-serif;
    font-size: 14px;
    color: #000;
}
input, button, select, textarea {
    border: 0;
    outline:0;
    appearance: none;
    vertical-align:baseline;
    background:transparent;
}
ol, ul {
    list-style: none;
}
p{
    line-height: 30px;
}

/* 响应式调整 */
@media (max-width: 768px) {
    :root {
        /* 间距系统优化 */
        --spacing-xxl: 15px;
        --spacing-xl: 15px;
    }
    body {
        font-size: 12px;
    }
    p {
        line-height: 22px;
    }
}

/* 间距工具类 (Utility Classes) */
.mt-xxl {
    margin-top: var(--spacing-xxl);
}
.mt-xl {
    margin-top: var(--spacing-xl);
}
.mt-sm {
    margin-top: var(--spacing-sm);
}
/*边距*/
.ptb-xxl{
    padding-block: clamp(15px, 3vw, 70px);
}
img {
    vertical-align: middle;
    border-style: none;
    max-width: 100%;
}
a, a:active, a:hover {
    color: #000;
    text-decoration: none
}
a img {
    border: none;
}
a, a:active, a:hover {
    text-decoration: none;
}
a, button, input, textarea {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
/*表格*/
table{
    width: 100%!important;
    max-width: 100%!important;
    border-collapse: collapse;
}
table th{
    border: 1px solid #ddd;
}
table th,
table td{
    border: 1px solid #E5E5E5!important;
    padding: 10px;
}
.text-center{
    text-align: center;
}
.bg-gradient-default{
    background: linear-gradient(to bottom, #ccc 0%, white 80%);
}
/*渐变数字计数器*/
.counter-box {
    display: inline-flex;
}
.counter-number,
.counter-symbol{
    align-self: center;
    background: linear-gradient(to bottom, #009FEB, #1C238D);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    font-weight: bold;
}
.counter-unit {
    align-self: flex-start;
}
.counter-box.large .counter-number {
    font-size: 80px;
}
.counter-box.large .counter-symbol {
    font-size: 70px;
}
.counter-box.large .counter-unit {
    padding-top: 30px;
}
.counter-box.small .counter-number {
    font-size: 50px;
}
.counter-box.small .counter-symbol {
    font-size: 50px;
}
.counter-box.small .counter-unit {
    padding-top: 18px;
}
@media (max-width: 768px) {
    .counter-box.large .counter-number,
    .counter-box.small .counter-number{
        font-size: 16px;
    }
    .counter-box.large .counter-symbol,
    .counter-box.small .counter-symbol{
        font-size: 14px;
    }
    .counter-box.large .counter-unit,
    .counter-box.small .counter-unit {
        padding-top: 5px;
        font-size: 12px;
    }

}

/*headline*/
.headline{
}
.headline p{
    line-height: 60px;
    font-size: 40px;
    font-weight: bold;
}
.headline-blue p{
    color: var(--blue);
}
.headline-white p{
    color: #FFF;
}
.headline-black p{
    color: var(--black);
}

.headline-line{
    position: relative;
    padding-bottom: 20px;
}
.headline-line::after {
    position: absolute;
    left: 50%; /* 居中横线 */
    transform: translateX(-50%); /* 居中横线 */
    bottom: 0;
    content: "";
    width: 70px; /* 控制横线的长度 */
    height: 10px;
    background: linear-gradient(
            45deg,  /* 45度角斜向渐变 */
            #0098E5 0%,  /* 左侧颜色 */
            #0056B9 60%,  /* 左侧颜色 */
            #172085 100%  /* 右侧颜色 */
    );
    border-radius: 10px;
}

@media (max-width: 576px) {
    .headline p{
        line-height: 30px;
        font-size: 16px;
    }
}
/*image-zoom*/
.image-zoom{
    position: relative;
    overflow: hidden;
    z-index: 1;
}
.image-zoom img{
    position: relative;
    width: 100%;
    height: 100%;
    transition: all 500ms ease 0s;
}
.image-zoom:hover img{
    transform: scale(1.15);
}
.image-mask:after{
    position: absolute;
    z-index: 100;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 70%;
    background: linear-gradient(rgba(0,0,0,0) 0%,rgba(0,0,0,0.3) 70%);
    content: "";
}
.image-mask:hover:after{
    height: 100%;
    background: linear-gradient(rgba(0,0,0,0) 0%,rgba(0,0,0,0.5) 70%);
    content: "";
}
/*黑色半透明遮罩*/
.mask-black{
    position: absolute;
    top: 0;
    bottom: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.50);
    content: "";
}
/*按钮*/
.btn-default,
.btn-white{
    display: block;
    width: 140px;
    line-height: 40px;
    text-align: center;
}
.btn-default:hover,
.btn-white:hover {
    background: #1D2089;
    color: white;
    border-color: #1D2089;
}
.btn-default{
    border: solid 1px #A6A7AC;
}
.btn-white{
    border: solid 1px #FFF;
}
@media (max-width: 768px) {
    .btn-default,
    .btn-white{
        width: 100px;
        line-height: 30px;
    }
}


/*容器*/
.container-fluid{
    width: 100%;
}
.container {
    width: 100%;
    max-width: 1400px;
    margin-right: auto;
    margin-left: auto;
}
@media (max-width: 576px) {
    .container {
        width: 100%;
        padding-left: 15px;
        padding-right: 15px;
    }
}
@media (max-width: 768px) {
    .container {
        max-width: 720px;
        padding-left: 15px;
        padding-right: 15px;
    }
}
@media (max-width: 992px) {
    .container {
        max-width: 960px;
        padding-left: 15px;
        padding-right: 15px;
    }
}
@media (max-width: 1200px) {
    .container {
        max-width: 1140px;
        padding-left: 15px;
        padding-right: 15px;
    }
}
@media (max-width: 1400px) {
    .container {
        max-width: 1400px;
    }
}

/*grid布局*/
.grid-col-3 ul{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}
.grid-col-4 ul{
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}
@media (max-width: 576px) {
    .grid-col-3 ul,
    .grid-col-4 ul{
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
    }
}

/* 头部容器 */
header {
    position: fixed;
    top: 0;
    z-index: 100;
    width: 100%;
    border-bottom: 1px solid rgba(255,255,255,0.2);
    background-color: transparent;
    transition: all 0.3s ease;
}
.header-container{
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    height: 126px;
}
/* 左边 Logo */
.header__logo {
}
.header__logo svg {
    height: 70px;
}
.header__logo svg .st0 {
    fill: #D71718;
}
.header__logo svg .st1 {
    fill: #1D2975;
}
.header__logo svg .st2 {
    fill: #FFF;
}
.mobile-nav-btn{
    display: none;
}
/* 中间导航 */
header nav ul {
    display: grid;
    grid-auto-flow: column;
    align-items: center;
    padding: 0 30px;
}
header nav ul li {
    position: relative;
    text-align: center;
}
header nav ul li a {
    color: #fff;
    transition: color 0.3s ease;
}
header nav ul li a:hover {
    color: #fff;
}
/* 右边电话 */
header .phone {
    display: flex;
    align-items: center;
    gap: 25px;
    font-size: 26px;
    font-weight: bold;
    color: #fff;
}

header .phone i {
    font-size: 30px;
}

/* 响应式设计：小屏幕下的调整 */
@media (max-width: 768px) {
    header {
        flex-direction: column;
    }
    .header-container{
        height: 54px;
    }
    .header__logo svg {
        height: 34px;
    }
    .mobile-nav-btn {
        display: block;
        margin-left: auto;
        font-size: 24px;
        cursor: pointer;
        transition: color 0.3s ease;
        color: #FFF;
    }
    .mobile-nav-btn:hover {
        color: #FFF;
    }
    .mobile-nav-btn.is-active::before {
        content: "×"; /* 使用叉号符号 */
        display: block;
    }
    .mobile-nav-btn::before {
        content: "☰"; /* 使用汉堡菜单符号 */
        display: block;
    }
    header nav > ul {
        display: none;
        position: fixed;
        top: 54px;
        left: 0;
        z-index: 99;
        background: #fff;
        box-shadow: 0 10px 10px rgba(0, 0, 0, 0.1);
        width: 100%;
        padding: 20px;
    }
    header nav > ul.active {
        display: block;
    }
    header nav > ul > li {
        line-height: 40px;
        border-bottom: 1px solid var(--grey);
        text-align: left;
    }
    header  nav > ul > li > a {
        color: #000;
    }
    header nav > ul li a:hover {
        color: var(--blue);
    }
    header .phone {
        display: none;
    }
}
/* 添加这个类来控制滚动后的样式 */
.header-scrolled {
    background: #ffffff !important;
    opacity: 1 !important;
    box-shadow: 0 10px 10px rgb(0 0 0 / 10%);
}
.header-scrolled > .header-container,
.header-scrolled > .header-container > nav > ul > li > a,
.header-scrolled > .header-container .mobile-nav-btn,
.header-scrolled > .header-container .mobile-nav-btn:hover,
.header-scrolled > .header-container .phone{
    color: #040000;
}
.header-scrolled > .header-container > nav > ul > li > a:after,
.header-scrolled > .header-container > nav > ul > li > a.active:after{
    background-color: var(--blue);
}
.header-scrolled > .header-container > a .header__logo svg .st2 {
    fill: #040000;
}

/*banner*/
.banner-container {
    position: relative;
    width: 100%;
    --swiper-pagination-color: #FFF;/* 两种都可以 */
    --swiper-navigation-color: #FFF;/* 单独设置按钮颜色 */
    --swiper-navigation-size: 15px;/* 设置按钮大小 */
}
.banner-container .swiper-pagination{
    bottom: 60px;
}
.banner-container .swiper-pagination-bullet {
    width: 100px;
    height: 4px;
    border-radius: 4px;
}
.banner-container .swiper-pagination-bullet-active {
}
.banner-container .swiper-button-prev,
.banner-container .swiper-button-next{
    width: 50px;
    height: 50px;
    border-radius: 100%;
    background: rgba(0,0,0,0.3);
    outline: none;
}
.banner-container .swiper-button-prev{
    left: 5%;
}
.banner-container .swiper-button-next{
    right: 5%;
}
.banner-container img {
    width: 100%;
}
.banner-container video {
    width: 100%;
}
.banner-content{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 50px;
    font-weight: bold;
    color: #FFF;
}
.banner-content p{
    text-align: center;
}
.banner-content p:nth-child(1){
    font-size: 70px;
    font-weight: bold;
    font-style: italic;
}
.banner-content p:nth-child(2){
    padding-top: 35px;
    font-size: 24px;
}
@media (max-width: 767px) {
    .banner-container {
        position: relative;
        width: 100%;
        --swiper-pagination-color: #FFF;/* 两种都可以 */
        --swiper-navigation-color: #FFF;/* 单独设置按钮颜色 */
        --swiper-navigation-size: 10px;/* 设置按钮大小 */
    }
    .banner-container .swiper-pagination{
        bottom: 20px;
    }
    .banner-container .swiper-pagination-bullet {
        width: 10px;
        height: 10px;
        border-radius: 100%;
    }
    .banner-container .swiper-button-prev,
    .banner-container .swiper-button-next{
        width: 30px;
        height: 30px;
    }
    .banner-container .swiper-button-prev{
        left: 15px;
    }
    .banner-container .swiper-button-next{
        right: 15px;
    }
    .banner-content p:nth-child(1){
        font-size: 14px;
        font-weight: bold;
        font-style: italic;
    }
    .banner-content p:nth-child(2){
        padding-top: 0;
        font-size: 12px;
    }
}


/*菜单*/
.menu-container{
    position: sticky;
    top: 126px;
    z-index: 99;
    overflow: visible;
    background: #FFF;
    border-bottom: 2px solid #e5e5e5;
}
.menu-container ul {
    display: grid;
    grid-auto-flow: column;
}
.menu-container ul li{
    position: relative;
    line-height: 85px;
    text-align: center;
}
.menu-container ul li:not(:last-child)::after {
    content: "";
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 1px;
    height: 40px;
    background: #dcdcdc;
}
.menu-container ul li a {
    display: inline-block;
    height: 100%;
    font-size: 20px;
}
.menu-container ul li.active a {
    position: relative;
    font-weight: bold;
    color: #1d2088;
}
.menu-container ul li.active a::after {
    content: "";
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 100%;
    height: 2px;
    background: #1d2088;
}
/* 移动端布局 (小于768px) */
@media (max-width: 767px) {

    /* 添加渐变阴影提示可滚动 */
    .menu-container {
        position: relative;
    }
    .menu-container::after {
        content: "";
        position: absolute;
        right: 0;
        top: 0;
        bottom: 2px; /* 对齐底部边框 */
        width: 20px;
        background: linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 100%);
        pointer-events: none;
    }
    .menu-container ul {
        grid-auto-flow: column;
        grid-auto-columns: minmax(120px, max-content);
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
    .menu-container ul::-webkit-scrollbar {
        display: none;
        width: 0;
        height: 0;
    }
    .menu-container ul li {
        min-width: 120px;
        line-height: 40px;
    }
    .menu-container ul li:not(:last-child)::after {
        height: 20px;
    }
    .menu-container ul li a{
        font-size: 14px;
    }

}

/* 类别样式 */
.category-list {
    overflow: visible;
    width: 100%;
}
.category-list ul {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); /* 默认平均分布 */
    gap: 15px;
}
.category-list ul li {
    line-height: 50px;
    border: 1px solid #BFBFBF;
    text-align: center;
    font-size: 16px;
    font-weight: bold;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.category-list ul li a {
    display: block;
}
.category-list ul li.active,
.category-list ul li.active a  {
    background: #01479D;
    color: #FFF;
}
/* 移动端布局 (小于768px) */
@media (max-width: 767px) {
    .category-list ul {
        grid-auto-flow: column;
        grid-auto-columns: minmax(120px, max-content);
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        padding-bottom: 15px;
    }
    .category-list ul li {
        line-height: 30px;
        font-size: 12px;
    }
}
/* 面包屑导航样式 */
.breadcrumb {
    padding: 15px 0;
    color: #666;
    font-size: 14px;
}
.breadcrumb a {
    color: #666;
    text-decoration: none;
    transition: color 0.3s;
}
.breadcrumb a:hover {
    color: #1e50a2;
}
.breadcrumb a:after {
    content: ">";
    margin: 0 8px;
    color: #999;
}
.breadcrumb a:last-child:after {
    display: none;
}

/*产品*/
.product-item{
    position: relative;
    border: 1px solid var(--grey);
}
.product-item:after{
    position: absolute;
    left: 0;
    bottom: 0;
    content: '';
    display: block;
    width: 0;
    height: 4px;
    transition: all .5s;
    background-color: var(--blue);
}
.product-item:hover:after{
    width: 100%;
}
.product-item .text{
    padding: 10px;
}
.product-item .text p:first-child{
    font-size:16px;
    font-weight: bold;
}
.product-item .text  p:last-child{
    border-top: 1px solid var(--grey);
    margin-top: 10px;
    padding-top: 10px;
    color: black;
}
.product-item:hover .text  p:last-child{
    color:  var(--blue);
}
@media (max-width: 576px) {
    .product-item .text{
        padding: 5px;
    }
    .product-item .text p:first-child{
        font-size: 12px;
    }
    .product-item .text  p:last-child{
        border-top: 1px solid var(--grey);
        margin-top: 5px;
        padding-top: 5px;
    }
}

/*分页*/
.page-container{

}
.page-container ul{
    display: flex;
    justify-content: center;
}
.page-container ul li{
    margin: 0 10px;
    border: 1px solid #ddd;
    text-align: center;
}
.page-container ul li.active{
    background: var(--blue);
    border: 1px solid var(--blue);
}
.page-container ul li a{
    display: block;
    padding: 5px 15px;
}
.page-container ul li.active a{
    color: #FFF;
}
/*底部*/
footer{
}
footer .contact-us{
    display: grid;
    grid-template-columns: 1fr 1fr; /* 两列布局 */
    justify-items: center; /* 每列内容居中 */
    padding-block: clamp(15px, 3vw, 100px);
}
footer .contact-us .left,
footer .contact-us .right {
    display: grid;
    grid-template-columns: auto 1fr; /* logo + 文本 */
    align-items: center;
    gap: 40px;
    padding: 0 60px;
}
.footer__logo{
    width: 107px;
    height: 102px;
    background: url("https://tygaoke.oss-cn-shenzhen.aliyuncs.com/static/image/brand.svg") no-repeat left center / auto 100%;
}
footer .contact-us .left .text,
footer .contact-us .right .contact-info{

}
footer .contact-us .left .text{
   color: #2A3B4F;
}
footer .contact-us .left .text p:first-child{
    font-size: 40px;
    font-weight: bold;
}
footer .contact-us .left .text p:first-child span:first-child{
    color: #00479D;
}
footer .contact-us .left .text p:first-child span:last-child{
    color: #CF0417;
}
footer .contact-us .left .text p:last-child{
    padding-block-start: clamp(5px, 3vw, 30px);
    font-size: 20px;
}
footer .contact-us .right .wechat{
    width: 110px;
    height: 110px;
}
footer .copyright{
    padding: 100px 0;
    text-align: center;
}
@media (max-width: 768px) {
    footer .contact-us {
        grid-template-columns: 1fr; /* 单列布局 */
        gap: 15px;
    }
    footer .contact-us .left,
    footer .contact-us .right {
        padding: 0;
        grid-template-columns: auto 1fr;
    }
    footer .contact-us .left .text p:first-child {
        font-size: 16px;
    }
    footer .contact-us .left .text p:last-child {
        padding-block-start: 5px;
        font-size: 12px;
    }
}

/*right side*/
.right-side{
    position:fixed;
    z-index:9999;
    right:0;
    bottom: 10px;
}
.right-side ul li{
    display: flex;
    justify-content: center;
    align-items: center;
    flex-flow: wrap;
    position: relative;
    width: 60px;
    height: 60px;
    background: #878787;
    box-shadow: 0 3px 6px rgba(34,124,217,0.16);
    cursor: pointer;
}
.right-side ul li i{
    font-size: 28px;
    color: #FFF;
}
.right-side ul li:nth-child(1){
    border-bottom: 1px solid #FFF;
}
.right-side ul li:nth-child(1){
    border-radius: 8px 8px 0 0;
}
.right-side ul li:nth-child(2){
    border-radius: 0 0 8px 8px ;
}
.right-side ul li:last-child{
    margin-top: 10px;
    border-radius: 8px;

}
.right-side ul li:hover{
    background: var(--blue);
}
.right-side ul li dl{
    position: absolute;
    left: -160px;
    bottom: 0;
    display: none;
    width: 140px;
    background: white;
    border-radius: 10px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
    padding: 10px;
    text-align: center;
}
.right-side ul li:hover dl{
    display: block;
}
.right-side ul li dl:before {
    content: '';
    position: absolute;
    bottom: 18px;
    right: -10px;
    width: 0;
    height: 0;
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
    border-left: 10px solid white;
    margin-top: -5px;
    transition: left 0.3s ease;
}
@media (max-width: 576px) {
    .right-side{
        display: none;
    }
}

/*模态框*/
.modal{
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1000;
    background: rgba(0,0,0,0.5);
    display: none;
}
.modal > .close{
    cursor: pointer;
    position: absolute;
    right: 5%;
    top: 5%;
    width: 40px;
    height: 40px;
}
.modal > .close::before,
.modal > .close::after {
    position: absolute;
    content: '';
    transform: rotate(-45deg);
    width: 100%;
    height: 2px;
    background: #fff;
    top: 18px;
}
.modal > .close::after {
    transform: rotate(45deg);
}
.modal > .modal-body{
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
}
.modal-content{
    background: black;
    padding-bottom: 20px;
}
.modal-content .video{
    width: 100%;
    max-width: 1200px;
}
.modal-content .video video{
    width: 100%;
}
.modal-content .text{
    padding-top: 10px;
    padding-left: 20px;
    font-size: 16px;
    color: #FFF;
}
