/* ==========================================================================
   3D Domino Character Rolling Wave Hover Effect for All Buttons
   Matches Careflow / BRIX Hero Button Hover Animation
   ========================================================================== */

.button-text-container,
.wave-container {
  display: inline-flex !important;
  position: relative !important;
  justify-content: center !important;
  align-items: center !important;
  overflow: hidden !important;
  vertical-align: middle !important;
  line-height: 1.25em !important;
  z-index: 1 !important;
  visibility: visible !important;
}

.button-text-out,
.wave-text-out {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  white-space: nowrap !important;
  position: relative !important;
  z-index: 1 !important;
  visibility: visible !important;
  opacity: 1;
}

.button-text-in,
.wave-text-in {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  white-space: nowrap !important;
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  z-index: 2 !important;
  pointer-events: none !important;
  visibility: visible !important;
  opacity: 0;
}

.wave-word {
  display: inline-flex !important;
  align-items: center !important;
  white-space: nowrap !important;
}

.wave-space {
  display: inline-block !important;
  width: 0.32em !important;
  pointer-events: none !important;
}

.wave-char {
  display: inline-block !important;
  transform-origin: 50% 50% !important;
  will-change: transform, opacity !important;
  backface-visibility: hidden !important;
  visibility: visible !important;
}

/* Neutralize old simple 2-line vertical shift on .rc-btn-text-roll */
.rc-btn-text-roll {
  display: inline-flex !important;
  position: relative !important;
  overflow: hidden !important;
  transition: none !important;
}

.rc-cta-btn:hover .rc-btn-text-roll,
.mediso-btn-primary:hover .rc-btn-text-roll,
.mediso-btn-secondary:hover .rc-btn-text-roll,
.vc-cta-btn:hover .rc-btn-text-roll {
  transform: none !important;
}

/* Base button styling, padding and spacing */
.buttons-row {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 16px !important;
  align-items: center !important;
}

.primary-button,
.secondary-button {
  padding: 14px 24px !important;
  min-height: 50px !important;
  border-radius: 12px !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  visibility: visible !important;
  transform-style: preserve-3d !important;
  text-decoration: none !important;
  transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.25s ease !important;
}

.primary-button {
  background-color: #0d142a !important;
  color: #ffffff !important;
  border: 1.5px solid #0d142a !important;
  box-shadow: 0 4px 12px rgba(13, 20, 42, 0.15) !important;
}

.secondary-button {
  background-color: #ffffff !important;
  color: #0d142a !important;
  border: 1.5px solid #0d142a !important;
  box-shadow: 0 2px 8px rgba(13, 20, 42, 0.08) !important;
}

.primary-button:hover,
.secondary-button:hover,
.rc-cta-btn:hover,
.mediso-btn-primary:hover,
.mediso-btn-secondary:hover,
.vc-cta-btn:hover,
.almedi-services-btn:hover,
.almedi-newsletter-btn:hover,
.doctor-profile-cta-btn:hover {
  transform: scale3d(0.98, 0.98, 1.01) !important;
}
