/* === CSS Variables / Theme === */
:root {
    --theme-color: #1A3D6F;
    --theme-dark: #0F2547;
    --theme-accent: #2A5298;
    --theme-action: #165DFF;
    --theme-text-primary: #FFFFFF;
    --theme-text-secondary: #E0E6F0;
    --theme-dark-page-bg: #081b2d;
    --theme-light-page-bg: #F5F7FA;
    --theme-page-bg: #081b2d;
    --theme-products-bg: #081b2d;
    --theme-light: #5a8af2;
    --nav-active-color: #165DFF;
    --carousel-main-text-color: #87CEFF;
    --title-gradient: linear-gradient(180deg, #87CEFF 0%, #165DFF 50%, #0a3a8f 100%);
    --title-line-gradient: linear-gradient(90deg, transparent 0%, #87CEFF 30%, #fff 50%, #87CEFF 70%, transparent 100%);
    --title-line-glow: 0 0 8px rgba(22,93,255,0.6), 0 0 20px rgba(135,206,255,0.4), 0 0 40px rgba(135,206,255,0.15);
    --card-border: 3px solid rgba(42,82,152,0.25);
    --card-shadow: 0 4px 24px rgba(0,0,0,0.2);
    --card-border-product: 3px solid var(--theme-accent);
    --product-card-border-width: 3px;
    --product-card-border-color: #2A5298;
    --about-card-border: 3px solid #2A5298;
    --about-card-shadow: 0 4px 24px rgba(0,0,0,0.2);
    --about-card-border-width: 3px;
    --about-card-border-color: #2A5298;
    --project-image-border: none;
    --project-image-border-width: 0px;
    --project-image-border-color: transparent;
    --padding-products-top: 82px;
    --padding-products-bottom: 100px;
    --padding-projects-top: 82px;
    --padding-projects-bottom: 100px;
    --padding-customers-top: 82px;
    --padding-customers-bottom: 100px;
    --padding-about-top: 80px;
    --padding-about-bottom: 80px;
    --hover-scale: 1.12;
    --hover-lift: -5px;
    --product-card-scale: 1.05;
/* === Base Typography & Links === */
}
body { font-family: "Open Sans", "Microsoft YaHei", "PingFang SC", sans-serif; min-width: 440px; background-color: var(--theme-page-bg); }
h1, h2, h3, h4, h5, h6 { font-family: "Montserrat", "Microsoft YaHei", "PingFang SC", sans-serif; }
/* === Navigation === */
.top-bar-area, .bg-theme { background-color: var(--theme-color) !important; }
.btn-theme { background-color: var(--theme-action) !important; border-color: var(--theme-action) !important; }
.btn-theme:hover { background-color: var(--theme-accent) !important; border-color: var(--theme-accent) !important; }
a { color: var(--theme-accent); }
a:hover { color: var(--theme-action); }
.nav-tabs > li.active > a, .nav-tabs > li > a:hover { color: var(--theme-accent) !important; }
.navbar-default .navbar-nav > li > a:hover, .navbar-default .navbar-nav > li.active > a { color: var(--nav-active-color) !important; text-shadow: 0 0 10px rgba(22,93,255,0.4); }
/* === Section Titles === */
.site-heading { margin-bottom: 45px !important; }
.site-heading h2::after { background-color: var(--theme-action) !important; }
.site-heading h2 span { color: var(--theme-action) !important; }
.site-heading p { margin: 10px 0 0 !important; font-size: 15px; color: #666; }

.mix-item-menu button.active { background-color: var(--theme-color) !important; }
.mix-item-menu button { display: inline-block; padding: 8px 20px; margin: 4px; border-radius: 30px; border: 1px solid #ddd; background: var(--theme-text-primary); font-size: 13px; color: #666; cursor: pointer; transition: all 0.3s; min-width: 80px; text-align: center; }
.mix-item-menu button:hover, .mix-item-menu button.active { background: var(--theme-color); color: var(--theme-text-primary); border-color: var(--theme-color); }

.navbar-brand img.logo { max-height: 45px; width: auto; }
#footer-logo { max-height: 36px; width: auto; }

.container { width: 100% !important; max-width: 100% !important; padding-left: 40px; padding-right: 40px; }
@media (max-width: 767px) { .container { padding-left: 15px; padding-right: 15px; } }
.site-heading .col-md-8 { width: 100%; margin-left: 0; float: none; }
.col-md-offset-2 { margin-left: 0 !important; }
/* === Hero Carousel === */

.banner-area .box-cell .content { max-width: 600px; padding-left: 100px; }
.banner-area .box-cell .content h1 { max-width: 500px; white-space: normal; }
.banner-area .box-cell .content p { max-width: 250px; }
@media (max-width: 991px) { .banner-area .box-cell .content { max-width: 80%; padding-left: 50px; } .banner-area .box-cell .content h1 { max-width: 100%; } }
@media (max-width: 767px) { .banner-area .box-cell .content { max-width: 90%; padding-left: 20px; } .banner-area .box-cell .content p { max-width: 90%; } .banner-area .box-cell .content h1 { max-width: 100%; } }

#products { background-color: var(--theme-products-bg) !important; }
#products .site-heading h2,
#projects .site-heading h2,
#customers .site-heading h2 { background: var(--title-gradient); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; font-weight: 800; position: relative; }
#products .site-heading h2::before,
#projects .site-heading h2::before,
#customers .site-heading h2::before { display: none !important; }
#products .site-heading h2::after,
#products .site-heading h2::before,
#projects .site-heading h2::after,
#projects .site-heading h2::before,
#customers .site-heading h2::after,
#customers .site-heading h2::before { background: var(--title-line-gradient) !important; height: 2px !important; width: 200px !important; margin-left: -100px !important; box-shadow: var(--title-line-glow); border-radius: 2px; }
#products .site-heading h2 span,
/* === Products Grid === */
#projects .site-heading h2 span,
#customers .site-heading h2 span { -webkit-text-fill-color: transparent !important; }
#products .site-heading p,
#projects .site-heading p,
#customers .site-heading p { color: rgba(255,255,255,0.7) !important; }
.product-card { background: var(--theme-text-primary); border-radius: 8px; overflow: hidden; box-shadow: 0 2px 15px rgba(0,0,0,0.08); transition: transform 0.3s, box-shadow 0.3s; width: 350px; height: 540px; display: flex; flex-direction: column; flex-shrink: 0; }
.product-card:hover { transform: translateY(var(--hover-lift, -5px)) scale(var(--product-card-scale, 1.05)); box-shadow: 0 8px 30px rgba(0,0,0,0.15); border: var(--card-border-product); }
.product-card .img-wrap { width: 100%; height: 350px; overflow: hidden; background: var(--theme-page-bg); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.product-card .img-wrap img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s; }
/* === About / Contact / Message === */
.product-card .info { padding: 16px; flex: 1 1 auto; display: flex; flex-direction: column; overflow: hidden; background: var(--theme-dark); }
#products-grid { display: grid; grid-template-columns: repeat(auto-fit, 350px); gap: 30px; justify-content: center; max-width: 100%; margin: 0 auto; }
.product-card .info h4 { font-size: 16px; margin-bottom: 8px; color: var(--theme-text-primary); font-weight: 600; }
.product-card .info h4 i { color: #fff; margin-right: 6px; font-size: 14px; }
.product-card .info p { font-size: 13px; color: var(--theme-text-secondary); line-height: 1.8; display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }

.about-area .thumb img { width: 550px; height: auto; object-fit: cover; border-radius: 8px; }

.merged-layout { display: flex; gap: 30px; align-items: stretch; justify-content: center; }
.merged-left { flex: 0 0 1000px; max-width: 1000px; background: linear-gradient(145deg, rgba(15,37,71,0.85) 0%, rgba(26,61,111,0.7) 100%); border-radius: 12px; padding: 28px; border: var(--about-card-border); box-shadow: var(--about-card-shadow); }
.merged-left .about-inner-title .site-heading h2,
.contact-right .site-heading h2 { background: var(--title-gradient); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; font-weight: 800; position: relative; }
.merged-left .about-inner-title .site-heading h2 span,
.contact-right .site-heading h2 span { -webkit-text-fill-color: transparent !important; }
.merged-left .about-inner-title { text-align: left; margin-bottom: 30px; }
.merged-left .about-inner-title .site-heading h2 { font-size: 22px; }
.merged-left .about-inner-title .site-heading h2::before { display: none !important; }
.merged-left .about-inner-title .site-heading h2::after { left: 0 !important; margin-left: 0 !important; background: linear-gradient(90deg, #165DFF 0%, #87CEFF 60%, transparent 100%) !important; height: 2px !important; width: 120px !important; box-shadow: var(--title-line-glow); border-radius: 2px; }
.merged-left .about-row { display: flex; gap: 30px; align-items: flex-start; }
.merged-left .about-row .thumb { flex: 0 0 550px; }
.merged-left .about-row .thumb img { width: 550px; height: auto; object-fit: cover; border-radius: 8px; }
.merged-left .about-row .about-text { flex: 0 0 360px; max-width: 360px; }
.merged-left .about-row .about-text p { font-size: 14px; color: var(--theme-text-secondary); line-height: 1.9; }
.about-scope { margin-top: 20px; display: flex; flex-wrap: wrap; gap: 8px; }
.about-scope .tag { display: inline-block; background: var(--theme-action); color: var(--theme-text-primary); padding: 6px 16px; border-radius: 20px; font-size: 13px; }
.merged-layout > .contact-right { flex: 0 0 560px; max-width: 560px; border-radius: 12px; border: var(--about-card-border); box-shadow: var(--about-card-shadow); background: linear-gradient(145deg, rgba(15,37,71,0.85) 0%, rgba(26,61,111,0.7) 100%); padding: 28px; display: flex; flex-direction: column; }
.merged-layout > .contact-right .site-heading { text-align: left; }
/* === Projects (Filters / Carousel / Grid) === */
.merged-layout > .contact-right .site-heading h2 { font-size: 22px; }
.merged-layout > .contact-right .site-heading h2::before { display: none !important; }
.merged-layout > .contact-right .site-heading h2::after { left: 0 !important; margin-left: 0 !important; background: linear-gradient(90deg, #165DFF 0%, #87CEFF 60%, transparent 100%) !important; height: 2px !important; width: 120px !important; box-shadow: 0 0 8px rgba(22,93,255,0.6), 0 0 20px rgba(135,206,255,0.4); border-radius: 2px; }
@media (max-width: 1024px) { .merged-layout { flex-direction: column; align-items: flex-start; padding-left: 120px; } .merged-left, .merged-layout > .contact-right { flex: 0 0 auto; max-width: none; } .merged-left .thumb img { width: 100%; } }

.portfolio-area .pf-item .item-inner img { width: 100%; height: 220px; object-fit: cover; }
.portfolio-area .pf-item .img-wrap { border-radius: 6px; overflow: hidden; border: var(--project-image-border); }

/* 产品展示卡片 */
.product-card { position: relative; overflow: hidden; border-radius: 12px; border: var(--card-border-product); transition: all 0.3s ease; }
.product-card .img-wrap { overflow: hidden; border-radius: 12px; position: relative; }
.product-card .img-wrap img { transition: transform 0.5s ease; }

/* 成果项目 - 菱形平行四边形 Tab (skewX 右上到左下) */
#project-filters { border: none !important; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 12px; margin-bottom: 30px; }
#project-filters button { position: relative; border: var(--tab-border-width, 2px) solid var(--tab-border-color, #87CEFF) !important; float: none; background: var(--tab-bg-color, rgba(22,93,255,0.12)) !important; padding: 0; font-size: 13px; font-weight: 600; color: var(--tab-text-color, #B8D4FF) !important; cursor: pointer; transition: all 0.3s; display: inline-flex; align-items: center; justify-content: center; min-width: 80px; height: 38px; outline: none; border-radius: 2px; }
#project-filters button .tab-text { display: inline-block; padding: 0 20px; white-space: nowrap; pointer-events: none; }
/* === Tab Shapes === */
#project-filters button:hover { background: var(--tab-active-bg, #165DFF) !important; color: var(--tab-active-text, #FFFFFF) !important; border-color: var(--tab-active-bg, #165DFF) !important; box-shadow: 0 0 12px rgba(22,93,255,0.5) !important; }
#project-filters button.active { background: var(--tab-active-bg, #165DFF) !important; color: var(--tab-active-text, #FFFFFF) !important; border-color: var(--tab-active-bg, #165DFF) !important; box-shadow: 0 0 12px rgba(22,93,255,0.5) !important; }
#project-filters button.active::after { display: none !important; }

/* Tab 形状变体 */
#project-filters.shape-skewed button { transform: skewX(-20deg); }
#project-filters.shape-skewed button .tab-text { transform: skewX(20deg); }
#project-filters.shape-skewed button.active { transform: skewX(-20deg); }

#project-filters.shape-rounded button { border-radius: 12px; }

#project-filters.shape-skewed-rounded button { transform: skewX(-20deg); border-radius: 12px; }
#project-filters.shape-skewed-rounded button .tab-text { transform: skewX(20deg); }
#project-filters.shape-skewed-rounded button.active { transform: skewX(-20deg); }

#project-filters.shape-capsule button { border-radius: 100px; }
.gs-pick.gs-custom { position: relative; }
.gs-pick.gs-custom:hover .gs-del { opacity: 1; }
.gs-del { position: absolute; top: -5px; left: -5px; width: 16px; height: 16px; border-radius: 50%;
           background: #FF4B4B; color: #fff; font-size: 10px; line-height: 16px; text-align: center;
           cursor: pointer; opacity: 0; transition: opacity 0.2s; z-index: 2; border: none; padding: 0; }
.gs-del:hover { background: #FF2020; transform: scale(1.15); }

@media (max-width: 767px) {
    #project-filters button { min-width: 60px; height: 32px; font-size: 11px; }
/* === Project Carousel === */
    #project-filters button .tab-text { padding: 0 12px; font-size: 11px; }
    #project-filters.shape-diamond button { width: 52px; height: 52px; }
    #project-filters.shape-diamond button .tab-text { font-size: 10px; }
}

/* 成果项目轮播 */
.project-carousel-wrap { position: relative; overflow: hidden; }
.project-carousel { display: flex; align-items: center; justify-content: center; gap: 20px; transition: all 0.4s ease; }
.project-carousel .carousel-item { flex: 0 0 360px; max-width: 360px; text-align: center; cursor: pointer; transition: all 0.4s ease; opacity: 0.4; position: relative; }
.project-carousel .carousel-item.center { flex: 0 0 750px; max-width: 750px; opacity: 1; }
.project-carousel .carousel-item .img-wrap { overflow: hidden; border-radius: 6px; position: relative; border: var(--project-image-border); }
.project-carousel .carousel-item .img-wrap img { width: 360px; height: 220px; object-fit: cover; }
.project-carousel .carousel-item.center .img-wrap img { width: 750px; height: 409px; object-fit: cover; transition: transform 0.5s ease; }
.project-carousel .carousel-item.center:hover .img-wrap img { transform: scale(var(--hover-scale, 1.12)); }
.project-carousel .carousel-item .carousel-cat-name { margin-top: 12px; font-size: 13px; font-weight: 600; color: var(--theme-text-secondary); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.project-carousel .carousel-item:not(.center) .img-wrap::after { content: ''; position: absolute; inset: 0; background: rgba(8,27,45,0.55); display: flex; align-items: center; justify-content: center; opacity: 0; transition: opacity 0.3s; pointer-events: none; }
.project-carousel .carousel-item:not(.center):hover .img-wrap::after { opacity: 1; }
.project-carousel .carousel-item.next-item .img-wrap::before { content: ''; position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); width: 0; height: 0; border-style: solid; border-width: 10px 0 10px 16px; border-color: transparent transparent transparent rgba(255,255,255,0.7); z-index: 2; opacity: 0; transition: opacity 0.3s; pointer-events: none; }
.project-carousel .carousel-item.prev-item .img-wrap::before { content: ''; position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); width: 0; height: 0; border-style: solid; border-width: 10px 16px 10px 0; border-color: transparent rgba(255,255,255,0.7) transparent transparent; z-index: 2; opacity: 0; transition: opacity 0.3s; pointer-events: none; }
.project-carousel .carousel-item.next-item:hover .img-wrap::before, .project-carousel .carousel-item.prev-item:hover .img-wrap::before { opacity: 1; }
.project-carousel .carousel-item.center .carousel-cat-name { font-size: 14px; color: #B8D4FF; font-weight: 700; text-shadow: 0 0 10px rgba(135,206,255,0.4); }
.project-carousel-wrap { position: relative; }
.carousel-arrow { position: absolute; top: 50%; transform: translateY(-50%); width: 36px; height: 36px; border-radius: 50%; background: rgba(255,255,255,0.85); border: none; display: flex; align-items: center; justify-content: center; cursor: pointer; z-index: 10; transition: all 0.3s; font-size: 16px; color: var(--theme-color); box-shadow: 0 2px 8px rgba(0,0,0,0.15); }
.carousel-arrow:hover { background: var(--theme-color); color: var(--theme-text-primary); }
.carousel-arrow.prev { left: 10px; }
.carousel-arrow.next { right: 10px; }
.carousel-dots { text-align: center; margin-top: 20px; }
.carousel-dots span { display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: #ddd; margin: 0 4px; cursor: pointer; transition: all 0.3s; }
.carousel-dots span.active { background: var(--theme-color); width: 24px; border-radius: 4px; }

/* 轮播翻页动画 */
/* === Carousel Animations & Effects === */
@keyframes slide-in-right { from { opacity: 0; transform: translateX(100px); } to { opacity: 1; transform: translateX(0); } }
@keyframes slide-in-left { from { opacity: 0; transform: translateX(-100px); } to { opacity: 1; transform: translateX(0); } }
@keyframes fade-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes zoom-in { from { opacity: 0; transform: scale(0.85); } to { opacity: 1; transform: scale(1); } }
@keyframes slide-up-in { from { opacity: 0; transform: translateY(50px); } to { opacity: 1; transform: translateY(0); } }
.project-carousel-wrap.transition-slide .project-carousel .carousel-item.center { animation: slide-in-right 0.5s ease; }
.project-carousel-wrap.transition-fade .project-carousel .carousel-item.center { animation: fade-in 0.5s ease; }
.project-carousel-wrap.transition-zoom .project-carousel .carousel-item.center { animation: zoom-in 0.5s ease; }
.project-carousel-wrap.transition-slide-up .project-carousel .carousel-item.center { animation: slide-up-in 0.5s ease; }
.project-carousel-wrap.effect-glow .project-carousel .carousel-item.center .img-wrap img { box-shadow: 0 0 20px rgba(135,206,255,0.6), 0 0 50px rgba(22,93,255,0.3); }
.project-carousel-wrap.effect-3d { perspective: 1000px; }
.project-carousel-wrap.effect-3d .project-carousel .carousel-item { transform: scale(0.85) rotateY(15deg); }
.project-carousel-wrap.effect-3d .project-carousel .carousel-item.center { transform: scale(1) rotateY(0deg); }
.project-carousel-wrap.effect-3d .project-carousel .carousel-item:nth-child(3) { transform: scale(0.85) rotateY(-15deg); }
.project-carousel-wrap.effect-neon .project-carousel .carousel-item.center .img-wrap { border: 2px solid #87CEFF; box-shadow: 0 0 12px #87CEFF, 0 0 30px rgba(135,206,255,0.4), inset 0 0 10px rgba(135,206,255,0.2); }
.project-carousel-wrap.effect-pulse .project-carousel .carousel-item.center .img-wrap { border: 2px solid #87CEFF !important; animation: pulse-glow 2s ease-in-out infinite !important; }
/* === Project Grid === */

.project-grid { display: grid; grid-template-columns: repeat(auto-fill, 360px); gap: 20px; justify-content: center; }
.project-grid .pf-item { width: 360px; height: 220px; float: none; overflow: hidden; border-radius: 6px; background: #0a1e33; }
.project-grid .pf-item .img-wrap { box-sizing: border-box; width: 100%; height: 100%; border-radius: 6px; overflow: hidden; border: var(--project-image-border); }
.project-grid .pf-item a.pf-img-link { display: block; width: 100%; height: 100%; overflow: hidden; border-radius: 6px; }
.project-grid .pf-item a.pf-img-link img { width: 100%; height: 100%; object-fit: cover; border-radius: 6px; transition: transform 0.5s ease; }
.project-grid .pf-item:hover a.pf-img-link img { transform: scale(var(--hover-scale, 1.12)); }
.pf-more-card { background: var(--theme-page-bg); border-radius: 6px; display: flex; align-items: center; justify-content: center; width: 360px; height: 220px; cursor: pointer; transition: all 0.3s; border: 2px dashed #ddd; }
.pf-more-card:hover { border-color: var(--theme-accent); background: rgba(26,61,111,0.05); }
.pf-more-card span { font-size: 15px; color: var(--theme-color); font-weight: 600; text-align: center; }

/* Project Image Effects */
/* === Image Effects (Neon / Pulse) === */
.project-image-neon .pf-item .img-wrap,
.project-image-neon .carousel-item .img-wrap {
    border: 2px solid #87CEFF !important;
    box-shadow: 0 0 12px #87CEFF, 0 0 30px rgba(135,206,255,0.4), inset 0 0 10px rgba(135,206,255,0.2) !important;
}
@keyframes pulse-glow {
    0%, 100% {
        box-shadow: 0 0 8px rgba(135,206,255,0.4), 0 0 20px rgba(22,93,255,0.15);
        border-color: rgba(135,206,255,0.5);
    }
    50% {
        box-shadow: 0 0 30px rgba(135,206,255,0.9), 0 0 70px rgba(22,93,255,0.5), 0 0 100px rgba(135,206,255,0.2);
        border-color: #87CEFF;
    }
}
.project-image-pulse .pf-item .img-wrap,
.project-image-pulse .carousel-item .img-wrap {
    border: 2px solid #87CEFF !important;
    animation: pulse-glow 2s ease-in-out infinite !important;
}
/* Product Card Effects */
.product-card-effect-neon .product-card {
    border: 2px solid #87CEFF !important;
    box-shadow: 0 0 12px #87CEFF, 0 0 30px rgba(135,206,255,0.4), inset 0 0 10px rgba(135,206,255,0.2) !important;
}
.product-card-effect-pulse .product-card {
    animation: pulse-glow 2s ease-in-out infinite !important;
}
/* Project Grid Max Width */
.portfolio-area .project-grid {
    max-width: 1800px;
    margin: 0 auto;
}
#products { padding-top: var(--padding-products-top, 82px) !important; padding-bottom: var(--padding-products-bottom, 100px) !important; }
#projects { padding-top: var(--padding-projects-top, 82px) !important; padding-bottom: var(--padding-projects-bottom, 100px) !important; min-height: calc(685px + var(--padding-projects-top, 82px) + var(--padding-projects-bottom, 100px)); }
#about { padding-top: var(--padding-about-top, 80px) !important; padding-bottom: var(--padding-about-bottom, 80px) !important; }

/* === Customers === */
.customer-item { text-align: center; padding: 10px 6px; border-radius: 8px; width: 105px; height: 95px; display: flex; flex-direction: column; align-items: center; justify-content: center; }
html body #customers.clients-area {
    background-image: url('../image/customer_background.png') !important;
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding-top: var(--padding-customers-top, 82px) !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
    padding-bottom: var(--padding-customers-bottom, 100px) !important;
}
html body #customers.clients-area > .container { background: none !important; max-width: 100% !important; width: 100% !important; padding: 0 !important; margin: 0 !important; }
#customers .site-heading h2 { color: var(--theme-text-primary) !important; }
#form-message { resize: none; }
#customers .site-heading p { color: rgba(255,255,255,0.7) !important; }
.customer-item img { width: 48px; height: 48px; object-fit: contain; margin: 0 auto 4px; border-radius: 50%; background: var(--theme-text-primary); padding: 3px; }
.customer-item p { font-size: 11px; color: var(--theme-text-secondary); margin: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; line-height: 1.4; }
#customers-grid { display: flex !important; flex-direction: row; flex-wrap: wrap; gap: 8px; justify-content: center; width: 100%; max-width: 1800px; margin: 0 auto; padding: 0 150px; }
/* === Contact Form === */

#contact { padding: 60px 0; }
.contact-inner { margin-left: auto; margin-right: 0; max-width: 900px; width: 100%; }
.contact-right .contact-form { border: none; flex: 1; display: flex; flex-direction: column; }
.contact-right .contact-form .form-group { margin-bottom: 16px; }
.contact-right .contact-form input.form-control,
.contact-right .contact-form textarea.form-control { background: rgba(255,255,255,0.1); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border: 1px solid rgba(100,160,255,0.3); border-radius: 8px; padding: 10px 16px; font-size: 14px; color: var(--theme-text-primary); box-shadow: 0 2px 8px rgba(0,0,0,0.1); transition: all 0.3s ease; }
.contact-right .contact-form input.form-control { height: 44px; }
.contact-right .contact-form textarea.form-control { min-height: 150px; resize: vertical; }
.contact-right .contact-form input.form-control:focus,
.contact-right .contact-form textarea.form-control:focus { border-color: rgba(100,160,255,0.6); background: rgba(255,255,255,0.15); box-shadow: 0 2px 12px rgba(42,82,152,0.25); outline: none; }
.contact-right .contact-form input.form-control::placeholder,
.contact-right .contact-form textarea.form-control::placeholder { color: rgba(255,255,255,0.4); }
.contact-right .contact-form .btn-theme { background: var(--theme-action) !important; border: none !important; border-radius: 8px !important; padding: 10px 32px !important; font-size: 14px !important; font-weight: 600; color: #fff !important; box-shadow: 0 4px 15px rgba(22,93,255,0.35); transition: all 0.3s ease; letter-spacing: 1px; }
/* === Footer === */
.contact-right .contact-form .btn-theme:hover { background: var(--theme-accent) !important; box-shadow: 0 6px 20px rgba(22,93,255,0.5); transform: translateY(-1px); }
.contact-right .contact-form .row { margin-left: -8px; margin-right: -8px; }
.contact-right .contact-form .row:last-child { margin-top: auto; padding-top: 8px; }
.contact-right .contact-form .row > div { padding-left: 8px; padding-right: 8px; }

.footer-simple { background: var(--theme-dark); padding: 40px 0 20px; color: var(--theme-text-secondary); }
/* === Gradient Backgrounds === */
.footer-simple a { color: var(--theme-text-secondary); }
.footer-simple a:hover { color: var(--theme-accent); }
.footer-container { max-width: 100% !important; margin-left: 0; margin-right: 0; padding-left: 300px; }
@media (max-width: 767px) { .footer-container { padding-left: 15px; } }


.bg-gray { background-color: var(--theme-page-bg) !important; }

#gradient-bg-layer { display: none; }
body.gradient-active #products,
body.gradient-active #projects,
body.gradient-active #about { background-color: transparent !important; background-image: none !important; }
body.gradient-active .gradient-section { position: relative; }
/* === Gradient Toggle / Panel === */
body.gradient-active #products.gradient-section::before { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; z-index: 0; pointer-events: none; background: var(--gradient-products, var(--section-gradient)); }
body.gradient-active #projects.gradient-section::before { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; z-index: 0; pointer-events: none; background: var(--gradient-projects, var(--section-gradient)); }
/* === Lazy Image Loading === */
body.gradient-active #about.gradient-section::before { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; z-index: 0; pointer-events: none; background: var(--gradient-about, var(--section-gradient)); }
body.gradient-active .gradient-section > * { position: relative; z-index: 1; }

#gradient-toggle { cursor: pointer; position: relative; }

.img-lazy { opacity: 0; transition: opacity 0.4s ease; background: var(--theme-dark, #081b2d); }
.img-lazy.loaded { opacity: 1; }
.product-card .img-wrap img.img-lazy { background: #0a1e33; }
.product-card .img-wrap img.img-lazy.loaded { background: none; }
.project-grid .pf-item img.img-lazy,
.project-carousel .carousel-item img.img-lazy { background: #0a1e33; }
.project-grid .pf-item img.img-lazy.loaded,
.project-carousel .carousel-item img.img-lazy.loaded { background: none; }
.customer-item img.img-lazy { background: #0a1e33; }
.customer-item img.img-lazy.loaded { background: none; }

/* === Responsive === */
@media (max-width: 768px) {
    footer .container { padding-left: 15px !important; }
    #customers-grid { padding: 0 20px !important; }
}
.site-heading-compact { margin-bottom: 30px !important; }
.customers-subtitle { color: rgba(255,255,255,0.8) !important; }
.footer-heading { color: #fff; margin-bottom: 15px; }
.footer-nav-list { list-style: none; padding: 0; }
.footer-nav-item { margin-bottom: 8px; }
.footer-contact-line { font-size: 13px; }
.footer-copyright-row { margin-top: 30px; padding-top: 20px; border-top: 1px solid #333; }
.footer-copyright { margin: 0; font-size: 12px; }
.form-msg { margin-left: 15px; font-size: 14px; display: none; }
.gs-current-label { font-size: 11px; color: rgba(255,255,255,0.7); }
