#invisalign-cta-module.invis-card {
  box-sizing: border-box;
  max-width: 440px;
  width: 100%;
  background-color: #ffffff;
  border: 1px solid #5c9594;
  border-radius: 36px;
  padding: 36px 28px;
  text-align: center;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  display: flex;
  flex-direction: column;
  align-items: center;
  box-shadow: 0 10px 30px rgba(92, 149, 148, 0.12);
  margin: 0 auto 30px auto;
}

#invisalign-cta-module * {
  box-sizing: border-box;
}

#invisalign-cta-module .invis-tag {
  display: block;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 1.5px;
  color: #5c9594;
  text-transform: uppercase;
  margin: 0 0 10px 0;
}

#invisalign-cta-module .invis-title {
  font-size: 26px;
  font-weight: 800;
  line-height: 1.25;
  color: #1d4544;
  margin: 0 0 10px 0;
  letter-spacing: -0.3px;
}

#invisalign-cta-module .invis-description {
  font-size: 14.5px;
  line-height: 1.45;
  margin: 0 0 24px 0;
  color: #555555;
  max-width: 320px;
}

#invisalign-cta-module .invis-comparison {
  position: relative;
  width: 100%;
  height: 220px;
  border-radius: 20px;
  overflow: hidden;
  margin-bottom: 26px;
  cursor: ew-resize;
  user-select: none;
  touch-action: none;
  border: 1px solid rgba(92, 149, 148, 0.25);
}

#invisalign-cta-module .invis-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  pointer-events: none;
  display: block;
}

#invisalign-cta-module .invis-img-before {
  clip-path: inset(0 calc(100% - var(--position, 50%)) 0 0);
}

#invisalign-cta-module .invis-handle {
  position: absolute;
  top: 0;
  bottom: 0;
  left: var(--position, 50%);
  width: 2px;
  background-color: #ffffff;
  transform: translateX(-50%);
  pointer-events: none;
  box-shadow: 0 0 6px rgba(0, 0, 0, 0.35);
}

#invisalign-cta-module .invis-handle-circle {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 34px;
  height: 34px;
  background-color: #ffffff;
  border-radius: 50%;
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.25);
  display: flex;
  align-items: center;
  justify-content: center;
}

#invisalign-cta-module .invis-handle-circle span {
  color: #5c9594;
  font-size: 13px;
  font-weight: 800;
  line-height: 1;
  transform: translateY(-1px);
}

#invisalign-cta-module .invis-badge {
  position: absolute;
  bottom: 12px;
  background-color: #ffffff;
  color: #1e1e1e;
  border-radius: 27px;
  padding: 4px 10px 6px 11px;
  font-size: 11px;
  font-weight: 600;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.4);
  line-height: 1;
  pointer-events: none;
}

#invisalign-cta-module .invis-badge-before {
  left: 12px;
}

#invisalign-cta-module .invis-badge-after {
  right: 12px;
}

#invisalign-cta-module .invis-btn {
  display: inline-block;
  background: linear-gradient(136deg, #abe0e0 0%, #7cbab8 25%, #356665 76%, #1d4544 100%);
  color: #ffffff;
  font-size: 16px;
  font-weight: 700;
  text-decoration: none;
  padding: 15px 32px;
  border-radius: 30px;
  box-shadow: 0 6px 18px rgba(29, 69, 68, 0.25);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

#invisalign-cta-module .invis-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(29, 69, 68, 0.35);
  color: #ffffff;
}

#invisalign-cta-module .invis-btn:active {
  transform: translateY(0);
}
