/* CTA Button V2 Enhanced Styles */

.cta-button-v2 {
  /* Ensure proper border rendering */
  border-style: solid !important;
  transition: all 0.2s ease-in-out;
  box-sizing: border-box;
}

/* Force border display when border width > 0 */
.cta-button-v2[style*="border-width"] {
  border-style: solid !important;
}

/* Ensure borders are visible with proper specificity */
.cta-button-v2[style*="border"] {
  border-style: solid !important;
}

/* Higher specificity for border properties */
.cta-button-v2[style*="border-width"] {
  border-width: inherit !important;
}

.cta-button-v2[style*="border-color"] {
  border-color: inherit !important;
}

/* Custom border styles with higher specificity */
.cta-button-v2[data-border-style="dashed"] {
  border-style: dashed !important;
}

.cta-button-v2[data-border-style="dotted"] {
  border-style: dotted !important;
}

.cta-button-v2[data-border-style="double"] {
  border-style: double !important;
}

/* Hover icon transitions */
.cta-button-v2 .group-hover\:hidden {
  transition: opacity 0.2s ease-in-out;
}

.cta-button-v2 .group-hover\:inline {
  transition: opacity 0.2s ease-in-out;
}

/* Hover effects */
.cta-button-v2:hover {
  transform: translateY(-1px);
}

/* Animation classes */
.cta-button-v2.hover\:scale-105:hover {
  transform: scale(1.05);
}

.cta-button-v2.hover\:-translate-y-1:hover {
  transform: translateY(-4px);
}

.cta-button-v2.hover\:animate-bounce:hover {
  animation: bounce 1s infinite;
}

.cta-button-v2.hover\:animate-pulse:hover {
  animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

/* Glow effect */
.cta-button-v2.hover\:shadow-lg.hover\:shadow-current\/20:hover {
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05), 0 0 0 1px currentColor;
}

/* Icon positioning and sizing */
.cta-button-v2 svg {
  flex-shrink: 0;
}

.cta-button-v2 .icon-left {
  margin-right: 0.5rem;
}

.cta-button-v2 .icon-right {
  margin-left: 0.5rem;
}

/* Responsive adjustments */
@media (max-width: 640px) {
  .cta-button-v2 {
    font-size: 14px !important;
    padding: 8px 16px !important;
  }
}
