/* Mergant Custom Cursors v1.1 - lightweight frontend styles */
@media (hover: hover) and (pointer: fine) {
  body.mcc-active.mcc-hide-native,
  body.mcc-active.mcc-hide-native a,
  body.mcc-active.mcc-hide-native button,
  body.mcc-active.mcc-hide-native .elementor-button,
  body.mcc-active.mcc-hide-native .wp-element-button,
  body.mcc-active.mcc-hide-native .wp-block-button__link,
  body.mcc-active.mcc-hide-native input[type="submit"],
  body.mcc-active.mcc-hide-native input[type="button"],
  body.mcc-active.mcc-hide-native input[type="reset"],
  body.mcc-active.mcc-hide-native [role="button"],
  body.mcc-active.mcc-hide-native summary,
  body.mcc-active.mcc-hide-native .menu-item a {
    cursor: none !important;
  }

  body.mcc-active input,
  body.mcc-active textarea,
  body.mcc-active select,
  body.mcc-active iframe,
  body.mcc-active [contenteditable="true"],
  body.mcc-active .no-custom-cursor,
  body.mcc-active .no-custom-cursor * {
    cursor: auto !important;
  }

  .mcc-cursor {
    position: fixed;
    inset: 0;
    pointer-events: none;
    z-index: var(--mcc-z, 2147483000);
    opacity: 0;
    transition: opacity 0.18s ease;
  }

  body.mcc-ready .mcc-cursor {
    opacity: 1;
  }

  body.mcc-disabled-target .mcc-cursor {
    opacity: 0;
  }

  .mcc-ring,
  .mcc-dot,
  .mcc-trail-dot,
  .mcc-ripple {
    position: fixed;
    left: 0;
    top: 0;
    border-radius: 999px;
    pointer-events: none;
    transform: translate(-50%, -50%);
    will-change: left, top, transform, opacity;
  }

  .mcc-ring {
    width: var(--mcc-ring-size, 34px);
    height: var(--mcc-ring-size, 34px);
    border: 2px solid var(--mcc-primary, #5D89FF);
    background: rgba(222, 231, 255, 0.18);
    box-shadow: 0 10px 26px rgba(0, 39, 147, 0.14);
    transition:
      width 0.22s ease,
      height 0.22s ease,
      border 0.22s ease,
      background 0.22s ease,
      box-shadow 0.22s ease,
      transform 0.18s ease,
      opacity 0.18s ease;
  }

  .mcc-dot {
    width: 7px;
    height: 7px;
    background: var(--mcc-secondary, #002793);
    box-shadow: 0 0 14px rgba(93, 137, 255, 0.45);
    transition: transform 0.18s ease, background 0.18s ease, opacity 0.18s ease;
  }

  body.mcc-hover .mcc-ring {
    width: var(--mcc-hover-size, 54px);
    height: var(--mcc-hover-size, 54px);
    background: rgba(93, 137, 255, 0.16);
    box-shadow: 0 14px 32px rgba(0, 39, 147, 0.20);
  }

  body.mcc-click .mcc-ring {
    transform: translate(-50%, -50%) scale(0.72);
  }

  body.mcc-click .mcc-dot {
    transform: translate(-50%, -50%) scale(1.55);
  }

  .mcc-trail-dot {
    width: 8px;
    height: 8px;
    background: var(--mcc-primary, #5D89FF);
    opacity: 0;
    box-shadow: 0 0 12px rgba(93, 137, 255, 0.35);
  }

  .mcc-ripple {
    width: 10px;
    height: 10px;
    border: 2px solid var(--mcc-primary, #5D89FF);
    background: rgba(93, 137, 255, 0.10);
    animation: mccRipple 0.58s ease-out forwards;
  }

  @keyframes mccRipple {
    from {
      opacity: 0.75;
      transform: translate(-50%, -50%) scale(0.2);
    }
    to {
      opacity: 0;
      transform: translate(-50%, -50%) scale(5.2);
    }
  }

  /* 1. Blue Orbit */
  body[data-mcc-style="blue-orbit"] .mcc-ring {
    border-color: var(--mcc-primary, #5D89FF);
    background: rgba(222, 231, 255, 0.20);
  }

  body[data-mcc-style="blue-orbit"] .mcc-dot {
    background: var(--mcc-secondary, #002793);
  }

  body[data-mcc-style="blue-orbit"].mcc-hover .mcc-ring {
    border-color: var(--mcc-secondary, #002793);
  }

  /* 2. Minimal Dot */
  body[data-mcc-style="minimal-dot"] .mcc-ring {
    opacity: 0;
  }

  body[data-mcc-style="minimal-dot"] .mcc-dot {
    width: 12px;
    height: 12px;
    background: var(--mcc-primary, #5D89FF);
  }

  body[data-mcc-style="minimal-dot"].mcc-hover .mcc-dot {
    transform: translate(-50%, -50%) scale(1.65);
    background: var(--mcc-secondary, #002793);
  }

  /* 3. Soft Ring */
  body[data-mcc-style="soft-ring"] .mcc-ring {
    border: 1px solid rgba(93, 137, 255, 0.85);
    background: rgba(247, 249, 255, 0.45);
    box-shadow: 0 8px 24px rgba(93, 137, 255, 0.14);
  }

  body[data-mcc-style="soft-ring"] .mcc-dot {
    width: 6px;
    height: 6px;
    background: var(--mcc-primary, #5D89FF);
  }

  /* 4. Glass Ring */
  body[data-mcc-style="glass-ring"] .mcc-ring {
    border: 1px solid rgba(255, 255, 255, 0.42);
    background: rgba(93, 137, 255, 0.16);
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
    box-shadow: 0 12px 28px rgba(0, 39, 147, 0.18);
  }

  body[data-mcc-style="glass-ring"] .mcc-dot {
    background: #ffffff;
    box-shadow: 0 0 0 1px rgba(0, 39, 147, 0.16), 0 0 14px rgba(93, 137, 255, 0.45);
  }

  /* 5. Navy Focus */
  body[data-mcc-style="navy-focus"] .mcc-ring {
    border-color: var(--mcc-secondary, #002793);
    background: transparent;
    box-shadow: none;
  }

  body[data-mcc-style="navy-focus"] .mcc-dot {
    background: var(--mcc-secondary, #002793);
  }

  body[data-mcc-style="navy-focus"].mcc-hover .mcc-ring {
    background: rgba(0, 39, 147, 0.08);
  }

  /* 6. Outline Plus */
  body[data-mcc-style="outline-plus"] .mcc-ring {
    border: 2px solid var(--mcc-primary, #5D89FF);
    background: transparent;
    box-shadow: none;
  }

  body[data-mcc-style="outline-plus"] .mcc-ring::before,
  body[data-mcc-style="outline-plus"] .mcc-ring::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    background: var(--mcc-primary, #5D89FF);
  }

  body[data-mcc-style="outline-plus"] .mcc-ring::before {
    width: 12px;
    height: 2px;
  }

  body[data-mcc-style="outline-plus"] .mcc-ring::after {
    width: 2px;
    height: 12px;
  }

  body[data-mcc-style="outline-plus"] .mcc-dot {
    opacity: 0;
  }

  /* 7. Pulse Point */
  body[data-mcc-style="pulse-point"] .mcc-ring {
    border: 0;
    background: rgba(93, 137, 255, 0.16);
    box-shadow: 0 0 0 8px rgba(93, 137, 255, 0.08);
  }

  body[data-mcc-style="pulse-point"] .mcc-dot {
    width: 10px;
    height: 10px;
    background: var(--mcc-secondary, #002793);
  }

  body[data-mcc-style="pulse-point"].mcc-hover .mcc-ring {
    box-shadow: 0 0 0 12px rgba(93, 137, 255, 0.08);
  }

  /* 8. Premium Arrow */
  body[data-mcc-style="premium-arrow"] .mcc-ring {
    width: 26px;
    height: 26px;
    border-radius: 6px 999px 999px 999px;
    border: 2px solid var(--mcc-primary, #5D89FF);
    background: rgba(247, 249, 255, 0.42);
    transform: translate(-35%, -35%) rotate(-45deg);
  }

  body[data-mcc-style="premium-arrow"] .mcc-dot {
    opacity: 0;
  }

  body[data-mcc-style="premium-arrow"].mcc-hover .mcc-ring {
    width: 34px;
    height: 34px;
    background: rgba(93, 137, 255, 0.18);
  }

  /* Default-cursor-friendly styles */
  body[data-mcc-style="blue-trail"] .mcc-ring,
  body[data-mcc-style="blue-trail"] .mcc-dot,
  body[data-mcc-style="soft-glow-trail"] .mcc-ring,
  body[data-mcc-style="soft-glow-trail"] .mcc-dot,
  body[data-mcc-style="sparkle-dots"] .mcc-ring,
  body[data-mcc-style="sparkle-dots"] .mcc-dot,
  body[data-mcc-style="click-ripple-only"] .mcc-ring,
  body[data-mcc-style="click-ripple-only"] .mcc-dot,
  body[data-mcc-style="link-halo"] .mcc-dot,
  body[data-mcc-style="magnetic-dot-trail"] .mcc-ring {
    opacity: 0;
  }

  body[data-mcc-style="blue-trail"] .mcc-trail-dot {
    width: 9px;
    height: 9px;
    background: var(--mcc-primary, #5D89FF);
    box-shadow: 0 0 12px rgba(93, 137, 255, 0.35);
  }

  body[data-mcc-style="soft-glow-trail"] .mcc-trail-dot {
    width: 12px;
    height: 12px;
    background: rgba(93, 137, 255, 0.18);
    box-shadow: 0 0 18px rgba(93, 137, 255, 0.34);
  }

  body[data-mcc-style="sparkle-dots"] .mcc-trail-dot {
    width: 6px;
    height: 6px;
    border-radius: 2px;
    background: var(--mcc-primary, #5D89FF);
    box-shadow: 0 0 10px rgba(93, 137, 255, 0.42);
  }

  body[data-mcc-style="sparkle-dots"] .mcc-trail-dot:nth-child(odd) {
    background: var(--mcc-secondary, #002793);
    transform: translate(-50%, -50%) rotate(45deg);
  }

  body[data-mcc-style="magnetic-dot-trail"] .mcc-dot {
    width: 12px;
    height: 12px;
    background: var(--mcc-primary, #5D89FF);
  }

  body[data-mcc-style="magnetic-dot-trail"] .mcc-trail-dot {
    width: 7px;
    height: 7px;
    background: var(--mcc-secondary, #002793);
    box-shadow: 0 0 12px rgba(0, 39, 147, 0.25);
  }

  body[data-mcc-style="magnetic-dot-trail"].mcc-hover .mcc-dot {
    transform: translate(-50%, -50%) scale(1.45);
    background: var(--mcc-secondary, #002793);
  }

  body[data-mcc-style="link-halo"] .mcc-ring {
    opacity: 0;
    border: 1.5px solid var(--mcc-primary, #5D89FF);
    background: rgba(93, 137, 255, 0.10);
    box-shadow: 0 8px 22px rgba(0, 39, 147, 0.12);
  }

  body[data-mcc-style="link-halo"].mcc-hover .mcc-ring {
    opacity: 1;
    width: var(--mcc-hover-size, 54px);
    height: var(--mcc-hover-size, 54px);
  }
}

@media (hover: none), (pointer: coarse) {
  .mcc-cursor,
  .mcc-ring,
  .mcc-dot,
  .mcc-trail-dot,
  .mcc-ripple {
    display: none !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .mcc-cursor,
  .mcc-ring,
  .mcc-dot,
  .mcc-trail-dot,
  .mcc-ripple {
    animation: none !important;
    transition: none !important;
  }
}
