
#woo3dv-viewer {
	float:left;
	position:relative;
	width:100%
}

.woo3dv-canvas-wrapper {
	position:relative;
	width:100%;
	height:100%;
	display: -webkit-box;
	display: -moz-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
}


#woo3dv-file-loading {
/*
	position:absolute;
	left:90px;
	top:65px;
	display:block;
*/
	position: absolute;
	width: 100%;
	height: 100%;
	display: -webkit-box;
	display: -moz-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	justify-content: center;
	align-items: center;
}

#woo3dv-file-loading img {
    width: auto !important;
}

#woo3dv-cv {
	width:100%;
	display:block;
}

.woo3dv-canvas-border {
	border: 1px solid;
}

.woo3dv-canvas-borderless {
	border: none;
	outline: none;
}


#woo3dv-model-controls {
    position: absolute;
    width: 100%;
    height: 40px;
    float: left;
    left: 0;
    top: 0;
    background-color: #fff;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
    filter: alpha(opacity=50);
    -moz-opacity: 0.5;
    -khtml-opacity: 0.5;
    opacity: 0.5;
}

#woo3dv-model-controls a {
	display:inline-block;
	border:none;
	text-decoration:none;
	box-shadow:none !important;
	outline:0;
}

#woo3dv-model-controls img {
	width:auto !important;
	height:auto !important;
	padding:3px 0px 3px 3px;
	border: 0;
	vertical-align: baseline;
}

#woo3dv-model-controls-list {
	list-style-type: none;
	margin:0;
	padding:0;
	display:block;
}
#woo3dv-model-controls-list li{
	display: inline-block;
	margin:3px;
}

#woo3dv-model-controls-list a {
	outline:none !important;
}

.woo3dv-box {
  width: 40%;
  margin: 0 auto;
  background: rgba(255,255,255,0.2);
  padding: 35px;
  border: 2px solid #fff;
  border-radius: 20px/50px;
  background-clip: padding-box;
  text-align: center;
}

.woo3dv-button {
  transition: all 0.3s ease-out;
}

.woo3dv-overlay {
  color:black;
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: rgba(0, 0, 0, 0.7);
  transition: opacity 500ms;
  visibility: hidden;
  opacity: 0;
}
.woo3dv-overlay:target {
  visibility: visible;
  opacity: 1;
  z-index: 999999;
}

.woo3dv-popup {
  margin: 70px auto;
  padding: 20px;
  background: #fff;
  border-radius: 5px;
  width: 30%;
  position: relative;
  transition: all 5s ease-in-out;
}

.woo3dv-popup h2 {
  margin-top: 0;
  color: #333;
  font-family: Tahoma, Arial, sans-serif;
}
.woo3dv-popup .woo3dv-close {
  position: absolute;
  top: 20px;
  right: 30px;
  transition: all 200ms;
  font-size: 30px;
  font-weight: bold;
  text-decoration: none;
  color: #333;
  box-shadow:none;
}
.woo3dv-popup .woo3dv-close:hover {
  color: #06D85F;
}
.woo3dv-popup .woo3dv-content {
  max-height: 30%;
  overflow: auto;
}

@media screen and (max-width: 700px){
  .woo3dv-box{
    width: 70%;
  }
  .woo3dv-popup{
    width: 70%;
  }
}

#woo3dv-controls-help {
	list-style-type: circle;
	margin:0;
	padding:0;
	display:block;
}

.woo3dv-model-controls img {
    display: inline-block;
} 

.woo3dv-view3d-button {
	position:absolute;
	max-width:60px;
	cursor:pointer;
	background: rgba(255,255,255,0.5);
}

.woo3dv-view3d-button img {
	max-width:fit-content;
	max-height:fit-content;
}

.woo3dv-model-controls-list a {
    outline: none !important;
}

.woo3dv-view3d-button-wrapper {
	display:inline-block;
}

a.woo3dv-view3d-button {
    z-index: 999;
}

.woo3dv-thumbnail-img {
	min-width:50px;
}
.woo3dv-wrapper {
	display:inline-block;
}


div.woo3dv-details {
	display:inline-block;
	float:right;
	width:49%;
}

.woo3dv-compat {
	width:100%;
}
.woo3dv-compat div.woo3dv-details {
	width:auto;
	margin-left:10px;
}
.woo3dv-compat .woo3dv-canvas-wrapper {
	max-width: 100%;
}
.woo3dv-compat div.woo3dv-images {
	display:inline-block;
	float:left;
	width:49%

}
.woo3dv-compat div.woo3dv-details {
	width:49%;
}
.woo3dv-compat .woo3dv-cv {
	width:100%;
	max-width:100%;

}
.woo3dv-compat .woo3dv-model-controls-list {
	margin:0;
}
.woo3dv-compat .woo3dv-model-controls {
	padding-bottom:5px;
}

@media only screen and (max-width : 768px) {
div.woo3dv-images, div.woo3dv-details{
    float: none;
    width: 100%;
 }
}/* 3D按钮位置与大小调整 + 回到2D按钮样式 */
.woo3dv-view3d-button { bottom:10px; right:10px; top:auto; left:auto; }
.woo3dv-view3d-button img { width:30px; height:auto; }
.woo3dv-view3d-button-wrapper { position:relative; }
.woo3dv-back2d-button {
  position:absolute; bottom:10px; right:10px; z-index:1000;
  width:30px; height:30px; border-radius:50%; background: rgba(255,255,255,0.6);
  color:#000; text-align:center; line-height:30px; font-weight:bold; text-decoration:none; border:1px solid #bbb;
}

.woo3dv-view3d-button-wrapper{position:relative;}
.woo3dv-view3d-button{position:absolute;bottom:10px;right:10px;top:auto;left:auto;z-index:999;}
.woo3dv-view3d-button img{width:30px !important;height:auto;}
.woo3dv-back2d-button{position:absolute;bottom:10px;right:10px;width:30px;height:30px;z-index:999;opacity:.5;display:none;text-align:center;line-height:30px;background:rgba(255,255,255,0.5);border-radius:4px;}
.woo3dv-back2d-button:hover{opacity:1;}

/* --- Overrides: enforce right-bottom placement and 50% size, show Back2D --- */
.woo3dv-view3d-button-wrapper{position:relative !important;}
.woo3dv-view3d-button{position:absolute !important; bottom:10px !important; right:10px !important; top:auto !important; left:auto !important; z-index:999 !important;}
.woo3dv-view3d-button img{width:30px !important; height:auto !important;}
.woo3dv-canvas-wrapper{position:relative !important;}
.woo3dv-back2d-button{position:absolute !important; bottom:10px !important; right:10px !important; width:30px !important; height:30px !important; z-index:999 !important; opacity:.85 !important; display:block !important; text-align:center !important; line-height:30px !important; background:rgba(255,255,255,0.7) !important; border-radius:4px !important; color:#000 !important; text-decoration:none !important; border:1px solid #bbb !important;}
.woo3dv-back2d-button:hover{opacity:1 !important;}

/* --- Front-end Color Palette --- */
.woo3dv-color-palette{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0;}
.woo3dv-color-palette .woo3dv-swatch{width:28px;height:28px;border-radius:4px;border:2px solid rgba(0,0,0,0.15);cursor:pointer;box-shadow:0 1px 2px rgba(0,0,0,0.1);} 
.woo3dv-color-palette .woo3dv-swatch.selected{outline:2px solid #ff7a00;border-color:#ff7a00;}
/* Selected price display below palette */
.woo3dv-color-price{margin-top:8px;font-size:14px;color:#ff7a00}

/* Customizer (dark theme) */
.woo3dv-customizer{background:#111;color:#eee;padding:16px;border-radius:8px;margin:14px 0;border:1px solid rgba(255,255,255,0.08)}
.woo3dv-customizer-tabs{display:flex;gap:8px;margin-bottom:10px}
.woo3dv-customizer .woo3dv-tab{background:#1b1b1b;color:#bbb;border:1px solid rgba(255,255,255,0.08);padding:8px 12px;border-radius:6px;cursor:pointer}
.woo3dv-customizer .woo3dv-tab.active{background:#242424;color:#fff;border-color:#ff7a00}
.woo3dv-customizer-content{margin-top:6px}
.woo3dv-panel{display:none}
.woo3dv-panel.active{display:block}
.woo3dv-step-title{font-size:16px;margin:6px 0 4px;color:#fff}
/* --- Stepper styles --- */
.woo3dv-step{display:none}
.woo3dv-step.active{display:block}
.woo3dv-subtitle{font-size:14px;color:#bbb;margin:8px 0}
.woo3dv-option-list{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}
.woo3dv-option{padding:8px 12px;border-radius:6px;border:1px solid rgba(255,255,255,0.12);background:#1b1b1b;color:#ddd;cursor:pointer}
.woo3dv-option:hover{border-color:#ff7a00;color:#fff}
.woo3dv-option.selected{background:#ff7a00;color:#111;border-color:#ff7a00}
.woo3dv-feature{display:inline-flex;align-items:center;gap:6px;padding:6px 8px;border-radius:6px;border:1px solid rgba(255,255,255,0.12);background:#1b1b1b;color:#ddd}

/* --- Feature cards --- */
.woo3dv-feature-card{position:relative;display:grid;grid-template-columns:96px 1fr auto;gap:12px;padding:12px;border-radius:8px;border:1px solid rgba(255,255,255,0.12);background:#2d2d2d;color:#ddd;margin:10px 0;width:100%}
.woo3dv-feature-left{grid-column:1}
.woo3dv-feature-thumb{width:96px;height:96px;object-fit:cover;border-radius:6px}
.woo3dv-feature-right{grid-column:2;display:flex;flex-direction:column;gap:6px}
.woo3dv-feature-title{font-size:15px;font-weight:700;color:#fff}
.woo3dv-feature-text{font-size:14px;color:#bbb;word-break:break-word}
.woo3dv-feature-actions{grid-column:3;align-self:start}
.woo3dv-feature-add-button{padding:6px 10px;border-radius:6px;border:1px solid rgba(255,255,255,0.2);background:#3a3a3a;color:#fff;font-size:13px;cursor:pointer}
.woo3dv-feature-add-button:hover{filter:brightness(1.05)}
.woo3dv-feature-add-button.selected{background:#4c8f3a;border-color:#4c8f3a}

/* --- Product gallery thumbs under main image --- */

.woo3dv-thumbnails{display:flex;flex-wrap:nowrap;gap:10px;overflow-x:auto;align-items:center;margin-top:8px}
.woo3dv-thumbnails a{display:inline-block}
.woo3dv-thumbnails img{width:64px;height:auto}

 /* --- Top step navigation (always visible) --- */
 .product-page-stepper__nav{display:flex;gap:8px;border-bottom:1px solid rgba(255,255,255,0.06);padding:8px 0;margin-bottom:12px}
 .product-page-stepper__nav-item{display:flex;align-items:center;gap:8px;background:#2b2b2b;color:#fff;border:1px solid transparent;border-radius:8px;padding:6px 10px;opacity:.8;cursor:pointer}
 .product-page-stepper__nav-item:hover{opacity:.95}
 .product-page-stepper__nav-item.active{background:#3a3a3a;opacity:1;border-color:#ff8a00}
 .product-page-stepper__nav-item-number{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:#555;color:#fff;font-size:12px;font-weight:700}
 .product-page-stepper__nav-item.active .product-page-stepper__nav-item-number{background:#ff8a00;color:#111}
 .product-page-stepper__nav-item-label{font-size:14px;font-weight:600}

/* --- Bottom total bar + Next button --- */
.product-page-stepper__footer{position:sticky;bottom:0;display:flex;justify-content:space-between;align-items:center;background:#111;padding:12px 16px;border-top:1px solid rgba(255,255,255,0.08);z-index:2}
.product-page-stepper__total{display:flex;align-items:baseline;gap:8px;margin:0}
.product-page-stepper__total-label{font-size:12px;letter-spacing:.3px;color:#bbb}
.product-page-stepper__total-value{font-size:18px;font-weight:600;color:#fff}

/* --- Per-step footer and Next button --- */
.woo3dv-step-footer{display:flex;justify-content:flex-end;margin-top:12px}
.woo3dv-customizer .product-page-stepper__footer .woo3dv-next-button{appearance:none;border:none !important;background:#ff7a00 !important;background-color:#ff7a00 !important;color:#111 !important;font-weight:600 !important;padding:10px 16px;border-radius:8px !important;cursor:pointer;box-shadow:0 2px 8px rgba(255,122,0,.35);background-image:none !important;transition:none !important}
.woo3dv-customizer .product-page-stepper__footer .woo3dv-next-button:hover{filter:brightness(1.05)}

.woo3dv-customizer .product-page-stepper__footer .woo3dv-next-button{opacity:1 !important;pointer-events:auto !important}
.woo3dv-customizer .product-page-stepper__footer .woo3dv-next-button:after{content:none !important}


/* Base Price note: only show when Build tab is active, aligned with tabs */
.woo3dv-base-price-row{display:none;margin-bottom:10px}
.woo3dv-panel-build.active .woo3dv-base-price-row{display:block}
.woo3dv-base-price-chip{display:inline-block;margin-left:0;padding:4px 12px;border-radius:14px;background:rgba(255,122,0,.12);color:#ff9a2a;font-size:12px;line-height:1.8;border:1px solid rgba(255,122,0,.35)}
/* --- Cart meta text color (labels and values) --- */
.woocommerce-cart .cart_item .variation dt,
.woocommerce-cart .cart_item .variation dd,
.woocommerce .cart .wc-item-meta .wc-item-meta-label,
.woocommerce .cart .wc-item-meta li {color:#c9c9c9}
/* --- Cart item meta text color (dark theme) --- */
.woocommerce-cart .product-name .wc-item-meta,
.woocommerce-cart .product-name .wc-item-meta li,
.woocommerce-cart .product-name .wc-item-meta .wc-item-meta-label,
.woocommerce-cart .product-name .variation,
.woocommerce-cart .product-name .variation dt,
.woocommerce-cart .product-name .variation dd{color:#bdbdbd}

/* Stronger specificity to override theme */
.woocommerce-cart table.cart td.product-name .wc-item-meta,
.woocommerce-cart table.cart td.product-name .wc-item-meta li,
.woocommerce-cart table.cart td.product-name .wc-item-meta .wc-item-meta-label,
.woocommerce-cart table.cart td.product-name .variation,
.woocommerce-cart table.cart td.product-name .variation dt,
.woocommerce-cart table.cart td.product-name .variation dd{color:#bdbdbd !important}
/* Cart item meta font color (dark theme) */
.cart_item .variation dt{color:rgba(255,255,255,.65)!important}
.cart_item .variation dd{color:rgba(255,255,255,.85)!important}
.woocommerce table.shop_table tr.cart_item td.product-name .wc-item-meta,
.woocommerce table.shop_table tr.cart_item td.product-name .wc-item-meta li,
.woocommerce table.shop_table tr.cart_item td.product-name .wc-item-meta strong.wc-item-meta-label,
.woocommerce table.shop_table tr.cart_item td.product-name .wc-item-meta p{color:#cfcfcf !important}
