.zmbtec3d-cart-design-thumbnail {
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  display: block;
  object-fit: contain;
  border-radius: 8px;
  background: #f7f8fa;
}
.zmbtec3d-cart-preview-button {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  margin-top: 8px;
  padding: 6px 12px;
  border: 1px solid #1478f2;
  border-radius: 8px;
  color: #1478f2;
  background: #fff;
  font-weight: 650;
  text-decoration: none;
  cursor: pointer;
}
.zmbtec3d-cart-preview-button:hover { color: #fff; background: #1478f2; }
.wc-block-components-product-details__zmbtec3d_design_preview {
  list-style: none;
}
.wc-block-components-product-details li:has(.zmbtec3d-cart-preview-button) {
  display: block;
  width: 100%;
  margin-top: 8px;
  list-style: none;
}
.wc-block-components-product-details__zmbtec3d_design_preview .wc-block-components-product-details__name {
  display: none;
}
.wc-block-components-product-details li:has(.zmbtec3d-cart-preview-button) > .wc-block-components-product-details__name {
  display: none;
}
.wc-block-components-product-details li:has(.zmbtec3d-cart-preview-button) > .wc-block-components-product-details__value {
  display: block;
}
.wc-block-components-product-details__zmbtec3d_design_preview .zmbtec3d-cart-preview-button {
  margin-top: 6px;
}
.wc-block-components-product-details .zmbtec3d-cart-preview-button {
  width: max-content;
  margin-top: 0;
}
.wc-block-cart-items img[src*="zmbtec3d-design-"] {
  object-fit: contain;
  border-radius: 8px;
  background: #f7f8fa;
}
.zmbtec3d-preview-open { overflow: hidden; }
.zmbtec3d-cart-preview-modal { position: fixed; z-index: 100000; inset: 0; display: grid; place-items: center; padding: 24px; }
.zmbtec3d-cart-preview-modal[hidden] { display: none; }
.zmbtec3d-cart-preview-backdrop { position: absolute; inset: 0; background: rgba(15, 23, 42, .72); backdrop-filter: blur(4px); }
.zmbtec3d-cart-preview-dialog { position: relative; width: min(980px, 100%); max-height: min(760px, calc(100vh - 48px)); display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(280px, .7fr); overflow: hidden; border-radius: 18px; background: #fff; box-shadow: 0 30px 80px rgba(0, 0, 0, .3); }
.zmbtec3d-cart-preview-close { position: absolute; z-index: 2; top: 12px; right: 12px; width: 40px; height: 40px; padding: 0; border: 0; border-radius: 50%; color: #172033; background: rgba(255,255,255,.92); font-size: 28px; line-height: 1; cursor: pointer; box-shadow: 0 4px 14px rgba(15,23,42,.14); }
.zmbtec3d-cart-preview-visual { min-height: 480px; display: grid; place-items: center; padding: 20px; background: #f3f6fa; }
.zmbtec3d-cart-preview-visual img { width: 100%; height: 100%; max-height: 680px; display: block; object-fit: contain; border-radius: 12px; }
.zmbtec3d-cart-preview-info { padding: 34px 28px; overflow-y: auto; color: #172033; }
.zmbtec3d-cart-preview-info h2 { margin: 0 0 4px; font-size: 24px; }
.zmbtec3d-cart-preview-info > p { margin: 0 0 24px; color: #64748b; }
.zmbtec3d-cart-preview-info dl { margin: 0; display: grid; grid-template-columns: minmax(100px, auto) minmax(0, 1fr); gap: 10px 14px; }
.zmbtec3d-cart-preview-info dt { color: #64748b; font-size: 12px; }
.zmbtec3d-cart-preview-info dd { margin: 0; overflow-wrap: anywhere; font-weight: 650; }
@media (max-width: 700px) {
  .zmbtec3d-cart-preview-modal { padding: 10px; align-items: end; }
  .zmbtec3d-cart-preview-dialog { max-height: calc(100vh - 20px); grid-template-columns: 1fr; grid-template-rows: minmax(260px, 48vh) auto; border-radius: 18px 18px 10px 10px; }
  .zmbtec3d-cart-preview-visual { min-height: 0; padding: 10px; }
  .zmbtec3d-cart-preview-info { padding: 22px 18px calc(22px + env(safe-area-inset-bottom)); }
}
