/**
 * Container Hyperlink for Elementor - Frontend Styles
 * @package Container_Hyperlink
 */

/* Container Hyperlink Base */
.ch-has-hyperlink {
  transition: transform 0.28s cubic-bezier(0.34, 1.56, 0.64, 1),
              box-shadow 0.28s cubic-bezier(0.34, 1.56, 0.64, 1),
              border-color 0.2s ease,
              filter 0.2s ease;
  user-select: auto;
  -webkit-user-select: auto;
}

/* Pointer Cursor */
.ch-has-hyperlink.ch-cursor-pointer,
.ch-has-hyperlink.ch-cursor-pointer * {
  cursor: pointer;
}

/* Form and text inputs retain native cursors and interaction */
.ch-has-hyperlink input[type="text"],
.ch-has-hyperlink input[type="email"],
.ch-has-hyperlink input[type="password"],
.ch-has-hyperlink input[type="number"],
.ch-has-hyperlink input[type="search"],
.ch-has-hyperlink input[type="tel"],
.ch-has-hyperlink input[type="url"],
.ch-has-hyperlink textarea,
.ch-has-hyperlink [contenteditable="true"] {
  cursor: text !important;
}

.ch-has-hyperlink input[type="checkbox"],
.ch-has-hyperlink input[type="radio"],
.ch-has-hyperlink select,
.ch-has-hyperlink option,
.ch-has-hyperlink button {
  cursor: default;
}

/* Accessible keyboard focus outline */
.ch-has-hyperlink:focus:not(:focus-visible) {
  outline: none;
}

.ch-has-hyperlink:focus-visible {
  outline: 3px solid #e2445c;
  outline-offset: 3px;
  border-radius: inherit;
}

.ch-stretched-overlay:focus-visible {
  outline: 3px solid #e2445c;
  outline-offset: -3px;
  border-radius: inherit;
}

/* Hover Animation Effects */
.ch-has-hyperlink.ch-hover-float:hover {
  transform: translateY(-5px);
  box-shadow: 0 16px 32px -8px rgba(0, 0, 0, 0.2);
}

.ch-has-hyperlink.ch-hover-scale:hover {
  transform: scale(1.025);
}

.ch-has-hyperlink.ch-hover-glow:hover {
  box-shadow: 0 0 28px rgba(226, 68, 92, 0.35);
}

.ch-has-hyperlink.ch-hover-tilt:hover {
  transform: perspective(1000px) rotateX(2deg) rotateY(-2deg) translateY(-3px);
}

/* Accessibility: Support prefers-reduced-motion */
@media (prefers-reduced-motion: reduce) {
  .ch-has-hyperlink {
    transition: none !important;
    transform: none !important;
  }

  .ch-has-hyperlink.ch-hover-float:hover,
  .ch-has-hyperlink.ch-hover-scale:hover,
  .ch-has-hyperlink.ch-hover-glow:hover,
  .ch-has-hyperlink.ch-hover-tilt:hover {
    transform: none !important;
    box-shadow: none !important;
  }
}

/* Mobile Touch: Prevent sticky hover states on touch-only devices */
@media (hover: none) {
  .ch-has-hyperlink.ch-hover-float:hover,
  .ch-has-hyperlink.ch-hover-scale:hover,
  .ch-has-hyperlink.ch-hover-tilt:hover {
    transform: none;
  }
}

/* Mode Overlay Support (Pure CSS Anchor Stretched Link) */
.ch-has-hyperlink.ch-mode-overlay {
  position: relative;
}

.ch-stretched-overlay {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  cursor: pointer;
  background-color: transparent;
  border: 0;
  margin: 0;
  padding: 0;
  text-decoration: none;
  color: transparent;
  display: block;
}

/* Elevate interactive elements and form controls above the stretched overlay */
.ch-has-hyperlink.ch-mode-overlay a:not(.ch-stretched-overlay),
.ch-has-hyperlink.ch-mode-overlay button,
.ch-has-hyperlink.ch-mode-overlay input,
.ch-has-hyperlink.ch-mode-overlay select,
.ch-has-hyperlink.ch-mode-overlay textarea,
.ch-has-hyperlink.ch-mode-overlay label,
.ch-has-hyperlink.ch-mode-overlay iframe,
.ch-has-hyperlink.ch-mode-overlay video,
.ch-has-hyperlink.ch-mode-overlay audio,
.ch-has-hyperlink.ch-mode-overlay details,
.ch-has-hyperlink.ch-mode-overlay summary,
.ch-has-hyperlink.ch-mode-overlay [role="button"],
.ch-has-hyperlink.ch-mode-overlay [role="link"],
.ch-has-hyperlink.ch-mode-overlay [role="checkbox"],
.ch-has-hyperlink.ch-mode-overlay [role="radio"],
.ch-has-hyperlink.ch-mode-overlay [role="tab"],
.ch-has-hyperlink.ch-mode-overlay [role="menuitem"],
.ch-has-hyperlink.ch-mode-overlay [contenteditable="true"],
.ch-has-hyperlink.ch-mode-overlay .elementor-clickable,
.ch-has-hyperlink.ch-mode-overlay .elementor-button,
.ch-has-hyperlink.ch-mode-overlay .elementor-widget-button,
.ch-has-hyperlink.ch-mode-overlay .elementor-widget-icon-box a,
.ch-has-hyperlink.ch-mode-overlay .elementor-widget-image-box a,
.ch-has-hyperlink.ch-mode-overlay .elementor-post__thumbnail__link,
.ch-has-hyperlink.ch-mode-overlay .elementor-post__title a,
.ch-has-hyperlink.ch-mode-overlay .elementor-post__read-more,
.ch-has-hyperlink.ch-mode-overlay .prevent-ch-click,
.ch-has-hyperlink.ch-mode-overlay .ch-has-hyperlink {
  position: relative;
  z-index: 2;
  pointer-events: auto;
}
