/**
Theme Name: Astra Child
Author: Brainstorm Force
Author URI: http://wpastra.com/about/
Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with schema.org code integrated so search engines will love your site. Astra offers plenty of sidebar options and widget areas giving you a full control for customizations. Furthermore, we have included special features and templates so feel free to choose any of your favorite page builder plugin to create pages flexibly. Some of the other features: # WooCommerce Ready # Responsive # Compatible with major plugins # Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained & Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and beautiful theme!
Version: 1.0.81
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: astra-child
Template: astra
*/

/* 清除focus-visible的样式 */
input[type=email]:focus-visible, input[type=password]:focus-visible, input[type=reset]:focus-visible,
input[type=search]:focus-visible, input[type=tel]:focus-visible, input[type=text]:focus-visible, 
input[type=url]:focus-visible, select:focus-visible, textarea:focus-visible, canvas:focus-visible {
    border: none;
    box-shadow: none;
    outline: none;
}

/* cart页面的材料属性的样式 */
.color-a {
    color: #1f7fa8;
}
.uppercase{
	text-transform: uppercase;
}

/* checkout 页面的样式 */
@media (min-width: 922px){
	.woocommerce.woocommerce-checkout form #customer_details.col2-set, 
	.woocommerce-page.woocommerce-checkout form #customer_details.col2-set {
	    width: 100% !important; 
	    float: none !important;
	}
	.woocommerce.woocommerce-checkout form #customer_details.col2-set .woocommerce-billing-account-fields,
	.woocommerce-page.woocommerce-checkout form #customer_details.col2-set .woocommerce-billing-account-fields{
		width: 50%;
	    float: left;
	}
	.woocommerce.woocommerce-checkout form #customer_details.col2-set .woocommerce-billing-fields, 
	.woocommerce-page.woocommerce-checkout form #customer_details.col2-set .woocommerce-billing-fields {
		width: 100%;
	    float: none;
	}
	.woocommerce.woocommerce-checkout form #customer_details.col2-set .woocommerce-account-fields, 
	.woocommerce-page.woocommerce-checkout form #customer_details.col2-set .woocommerce-account-fields {
		width: 100%;
	    float: none;
	}
	.woocommerce.woocommerce-checkout form #customer_details.col2-set .woocommerce-shipping-fields, 
	.woocommerce-page.woocommerce-checkout form #customer_details.col2-set .woocommerce-shipping-fields {
		width: 45%;
	    float: right;
	}
	.woocommerce.woocommerce-checkout form #customer_details.col2-set .woocommerce-additional-fields, 
	.woocommerce-page.woocommerce-checkout form #customer_details.col2-set .woocommerce-additional-fields {
		width: 45%;
	    float: right;
	}
	.woocommerce.woocommerce-checkout form #order_review, .woocommerce.woocommerce-checkout form #order_review_heading, 
	.woocommerce-page.woocommerce-checkout form #order_review, .woocommerce-page.woocommerce-checkout form #order_review_heading {
	    width: 100% !important;
	    float: none !important;
	}
}
textarea[name="order_comments"]{
	min-height: 150px;
}

.order_checkout_total{
	color: #dd3857;
}
.order_checkout_total del .woocommerce-Price-amount{
	color: #0b3c51;
}

/* 清空购物车按钮样式 */
.button-cart-footer{
	float: right;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    padding: 0px 25px;
    background: #478caa;
    border-radius: 35px;
    margin: 20px 0;
    height: 50px;
}
.button-cart-footer .emptyCart{
	display: flex;
    align-items: center;
    cursor: pointer;
}
.button-cart-footer .emptyCart svg{
	margin: 10px 10px 10px 0;
}
.button-cart-footer .front-cart-blank{
	width: 10px;
    height: 52px;
    background: #fff;
}
.button-cart-footer .ast-cart-menu-wrap{
	margin: 10px 0 10px 10px;
}
.button-cart-footer a{
	color: #051b24;
}

/* 清空购物车的蒙层框的样式 */
.emptycart{
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 99;
}
.emptycart-modal-dialog{
	display: flex;
	justify-content: center;
	align-items: center;
	background: rgba(0, 0, 0, 0.3);
	width: 100%;
	height: 100%;
}
.emptycart-modal-content{
	display: flex;
	flex-direction: column;
	padding: 20px;
	background: #fff;
}
.emptycart-modal-footer{
	display: flex;
	justify-content: space-around;
}

/* 修改 wpforms 的提交按钮样式*/
div.wpforms-container-full .wpforms-form input[type=submit], 
div.wpforms-container-full .wpforms-form button[type=submit], 
div.wpforms-container-full .wpforms-form .wpforms-page-button{
    background: #2582AA !important;
    color: #fff !important;
    padding: 5px 25px !important;
    border-radius: 50px !important;
    border: 2px solid #2582AA !important;
}


/* 材料，工艺页面的列表样式 */
.lava-block-columns{
	display: flex;
	flex-wrap: wrap;
}
.lava-block-columns.wrap-block{flex-wrap: wrap !important;}
@media (min-width: 782px){
	.lava-block-columns .wp-block-column {
	    flex-grow: 0 !important;
	    margin: .625rem;
	    min-width: calc(30% - 0.625rem * 2);
	}
}
.lava-block-columns .wp-block-column{
	background: #fff;
	padding: 20px;
}
.lava-block-columns .wp-block-column:hover{
	box-shadow: 0px 0px 33px -4px rgb(16 86 116 / 24%);
}
.lava-block-columns .wp-block-image{
	display: flex;
	justify-content: center;
}
.lava-block-columns .wp-block-image img {
    height: 200px;
    width: auto;
}

/* 修改单个页面的header*/
.single .entry-header {
    margin-bottom: 2em;
    margin-top: 2em;
}
/* 修改单个页面的评论*/
.comments-area {
    margin-bottom: 2em;
}

/*修改blog页面*/
 .uagb-block-a57b8db0 .uagb-post__title {
    padding-bottom: 15px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.uagb-block-a57b8db0 .uagb-post__excerpt {
    padding-bottom: 25px;
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}
.ast-header-button-1[data-section*="section-hb-button-"] .ast-builder-button-wrap .ast-custom-button {
    padding-left: 20px!important;font-weight:bold;font-size:.7em;letter-spacing:2px;
    padding-right: 20px!important;  
	padding:12px 20px !important;
}

.uagb-block-a57b8db0 .uagb-post__inner-wrap .uagb-post__cta {
    padding-top:10px;
}
header .custom-logo-link img{max-width:100px !important;}
.custom-img-garlly {
    overflow: hidden;
  width: 100%;
  display: flex;
  white-space: nowrap;
}
.custom-img-garlly-ul {
  display: flex;
  padding: 0;
  margin: 0;
  list-style: none;
}
.custom-img-garlly-ul li {
  flex: 0 0 auto;
  padding: 0 20px;
}
.custom-img-garlly-ul img {
  height: 60px;
  width: auto;
  display: block;
}
.home-service-container{display: flex;flex-wrap: wrap;justify-content: center;gap: 24px;}
.home-service-wrap{width: calc(40% - 12px);    background: #f5f5f5;    padding: 14px;}
.home-service-wrap-image img{height: auto !important;width: 100%;aspect-ratio: 4/2;}
.home-service-wrap .home-service-wrap-head{    margin-top: 20px;}
.custom-home-h1 strong{color:black;}
.main_grid-box{display: grid;grid-template-columns: repeat(2,1fr);gap: 20px;}
.main_grid-box .box{display: flex;padding: 35px;gap: 12px;background-color: #eeee;height: 100%;gap: 20px;}
.main_grid-box .box .content p a{color: black;}
.main_grid-box .box .img-box{min-width: 300px;display: block;}
body{padding-top: 77px !important;}
@media(max-width:1300px){
	.main_grid-box .box .img-box{min-width: 210px;}
}
@media(max-width:1200px){
	.main_grid-box .box .img-box{min-width: 180px;}
}
@media(max-width:1020px){
	.main_grid-box .box {flex-direction: column-reverse;padding: 20px;justify-content: start;}
	.main_grid-box .box .img-box{max-height: 250px;}
	.main_grid-box .box .img-box img{width: 100%;object-fit: contain;height: 100%;}
	.welcome-message  h3{font-size: 34px;line-height: 1.3;}
	.site-navigation {    height: 79vh;overflow: auto;}

}
@media(max-width:575px){
	.home-service-wrap:not(:last-child){margin-inline:auto;}
.home-service-container	.home-service-wrap { width: calc(100% - 12px);}
	.welcome-message  h3{font-size: 34px;line-height: 1.3;}
 .welcome-message  .inner-btn .btn-secondary , .welcome-message  .inner-btn .btn-primary { min-width: unset;}
	.banner-style2{padding:10px !important;}
	.banner-style2 h1{font-size:32px !important;}
	.list-style2{margin-left:0 !important;}
	.heading-style2{font-size:25px !important;}
	.faq-sec{padding:12px !important;}
	.faq-styling2 h4{font-size:16px !important;}
	.image-style{width:100%; height:auto !important;min-height:unset !important; }
	.main_grid-box{grid-template-columns: repeat(1,1fr);}
	body{padding-top: 70px !important;}
}
.service-list{margin-left:0 !important;}
.service-list li {
  display: flex;gap:18px;
  font-weight: 700;
  text-decoration: none;
  color: #000;background:transparent;
  padding: 6px 12px;
  margin-bottom: 8px;
  transition: all 0.3s ease;
}
.service-list li a{color:black;}
.service-list li img {width: 24px;    filter: invert(1);    height: auto;    object-fit: contain;}

/* Hover effect */
.service-list li:hover {background:#4081e4;color:white;}
.service-list li:hover a{color:white;}
.service-list li:hover img{filter:unset;}
.button-style a{color:white !important;background:#df9d06 !important;}
.button-style a:hover{background:#77142d !important;color:white !important;border-color: #77142d !important;}
.custom-home-matrial-column .custom-home-h3 a{color: black !important;}
.print-tech .custom-home-h3 a{color: #000000;}
.header-button{display: flex !important;gap: 20px !important;flex-wrap: wrap !important;}
.welcome-message  h3{font-size: 54px;font-weight: 700;color: white;}
.welcome-message  h3 span{color: black;}
.welcome-message  p {font-size: 18px;line-height: 1.3;color: white;}
.welcome-message  .inner-btn{display: flex;gap: 24px;justify-content: center;flex-wrap: wrap;}



.welcome-message .inner-btn .btn-primary{padding: 10px 30px;background: white;color: black;font-size: 18px;font-weight: 500;transition: .3s linear;min-width: 250px;}
.welcome-message .inner-btn .btn-secondary{padding: 10px 30px;background: #DF9D06;color: white;font-size: 18px;font-weight: 500;transition: .3s linear;min-width: 250px;}
.welcome-message .inner-btn .btn-primary:hover{background: #DF9D06;color: white;}
.welcome-message .inner-btn .btn-secondary:hover{background: white;color: black;}


@media(min-width:922px){
	.left-card-box .wp-block-cover{overflow: visible;flex-grow: 1;}
.left-card-box .wp-block-cover img{width: calc(100% + (50vw - 660px) + 8px);}
	.custom-home-h1{font-size:5.5rem !IMPORTANT;line-height:1.2em !important;margin-bottom:35px !important;}
	.cusrom-home-h1-p{font-size:1.8em !important;line-height:1.5em !important;margin-bottom:2em !important;}
	.header-button a{padding:20px 45px !important; font-weight:bold !important;letter-spacing:2px;}
	.header-button a i{margin-right:12px !important;}
	.custom-home-h2{font-size:3rem !important;line-height:2.3rem !important;}
	
	
}
@media(min-width:575px){
    .custom-home-matrial-column .wp-block-media-text.has-media-on-the-right .wp-block-media-text__content{padding:14% 0 14% 14%;}
	.custom-home-matrial-column .custom-home-h3 a{font-size:1.4em !important;color:black !important;font-weight:bold !important;line-height:1.3em;letter-spacing:2px;}
	.custom-home-more-btn a{font-weight:bold !important;letter-spacing:2px !important;}
	.custom-home-more-btn{margin-top:50px !important;}
	.print-tech {margin-bottom: 60px !important;}
	.print-tech .custom-home-h3 a{color: #000000;font-size: 1.4em;font-weight: bold;letter-spacing: 2px;}


}

/* ============================================================
   3D Canvas Viewer - Cross-Platform Compatibility (MacBook Fix)
   ============================================================ */

/* Model show container - fixed sizing for all platforms */
#model-show-container {
    width: 100% !important;
    height: 100% !important;
    min-height: 500px;
    position: relative !important;
    display: block !important;
    background-color: #ffffff;
    overflow: hidden;
}

/* Viewer canvas container - ensure proper rendering */
#viewer {
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
}

/* Canvas element - critical for WebGL on MacBook */
#viewer canvas,
#viewer > canvas {
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    max-width: 100% !important;
    max-height: 100% !important;
    touch-action: none;
}

/* Preview info overlay - ensure it doesn't block interaction */
.preview-info {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    z-index: 100 !important;
    display: none;
    background-color: rgba(255, 255, 255, 0.9);
    justify-content: center;
    align-items: center;
    flex-direction: column;
}

.preview-info[style*="display: block"] {
    display: flex !important;
}

/* Progress bar styling */
#progress {
    display: none;
    margin-top: 20px;
}

.printingpage_progressbar {
    width: 97%;
    height: 37px;
    border: 1px solid #ddd;
    border-radius: 15px;
    position: relative;
    overflow: hidden;
}

.progress_sitelogo {
    width: 100%;
    height: 100%;
    position: relative;
}

#bar {
    height: 100%;
    width: 0%;
    background-color: #ED910E;
    border-radius: 15px;
    display: block;
    transition: width 0.3s ease;
}

#percent {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 12px;
    font-weight: bold;
    color: #333;
    white-space: nowrap;
}

/* File preview text */
.file-preview-text {
    font-size: 18px;
    color: #666;
    font-weight: 600;
    margin-bottom: 20px;
}

/* Ensure WebGL context doesn't get hidden on macOS */
@supports (display: grid) {
    #model-show-container {
        display: grid;
        grid-template-columns: 1fr;
        grid-template-rows: 1fr;
    }
    
    #viewer {
        grid-column: 1;
        grid-row: 1;
    }
    
    .preview-info {
        grid-column: 1;
        grid-row: 1;
    }
}

/* Safari specific fixes for MacBook */
@supports (-webkit-appearance: none) {
    #viewer canvas {
        -webkit-user-select: none;
        user-select: none;
    }
    
    #model-show-container {
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
    }
}

/* Mobile responsive adjustments */
@media (max-width: 768px) {
    #model-show-container {
        min-height: 400px;
    }
    
    .file-preview-text {
        font-size: 16px;
    }
}
