/* Match the towel artwork coordinate system to the actual wide towel image. */
.beachTowelCustomizer .canvasGrid {
  min-height: 0;
  place-items: center;
}

.beachTowelCustomizer .customCanvas,
.beachTowelCustomizer .previewBay .customCanvas {
  aspect-ratio: 1774 / 887 !important;
  width: min(100%, 680px) !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: none !important;
  margin: auto !important;
}

.beachTowelCustomizer .blankProduct {
  width: 100% !important;
  height: 100% !important;
  position: absolute !important;
  inset: 0 !important;
  object-fit: contain !important;
}

.beachTowelCustomizer .printBoundary {
  display: none !important;
}

/* Use the same aspect ratio and dimensions on the final proof. */
.beachTowelApproval .approvalScene {
  min-height: 520px;
}

.beachTowelApproval .approvalProduct3d {
  aspect-ratio: 1774 / 887;
  width: min(680px, 88vw);
  height: auto;
}

/* Always reveal the decorated front before the automatic rotation begins. */
.beachTowelApproval .approvalProduct3d.towelFrontFirst {
  animation-delay: 1.5s !important;
  animation-fill-mode: backwards !important;
}

.beachTowelApproval .approvalFace {
  overflow: hidden;
}

.beachTowelApproval .approvalShirt {
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
  object-fit: contain;
}

.beachTowelApproval .approvalDesign {
  max-height: 92%;
}

.beachTowelApproval .approvalDesign img {
  max-height: 100%;
}

/* The front face receives an exact DOM clone of the Design Lab canvas. */
.beachTowelApproval .towelDirectProofCanvas {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  border: 3px solid transparent !important;
  overflow: hidden !important;
  pointer-events: none !important;
  transform: none !important;
}

.beachTowelApproval .towelDirectProofCanvas .blankProduct {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
}

.beachTowelApproval .towelDirectProofCanvas .placedDesign {
  transform: translate(-50%, -50%) !important;
  pointer-events: none !important;
}

.beachTowelApproval .towelDirectProofCanvas .placedDesign img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
}

.beachTowelApproval .towelDirectProofCanvas .dragBadge,
.beachTowelApproval .towelDirectProofCanvas .resizeHandle,
.beachTowelApproval .towelDirectProofCanvas .canvasLabel,
.beachTowelApproval .towelDirectProofCanvas .printBoundary {
  display: none !important;
}

.beachTowelApproval .approvalFaceLabel {
  bottom: 8px;
}

.beachTowelApproval .beachTowelQuantity {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

.beachTowelApproval .beachTowelQuantity b {
  font-size: 16px;
}

.beachTowelApproval .beachTowelQuantity span {
  color: var(--lime);
  font-size: 18px;
  font-weight: 900;
}

@media (max-width: 700px) {
  .beachTowelApproval .approvalScene {
    min-height: 390px;
  }

  .beachTowelApproval .approvalProduct3d {
    width: min(100%, 680px);
  }
}
