/* vondrei custom cursor — shared (Work + Cases + site chrome)
   Modes: default dot · hovered · view-mode · zoom-mode · close-mode
   Pair with js/vdr-cursor.js

   !important exceptions (documented):
   - cursor: none|auto — must beat Webflow/UA cursor on links
   - display: none on coarse pointers — hide custom cursor on touch
*/

a, button, .nav-item, a.portfolio-item, .vdr-close, .vdr-work-back, .vdr-lb-close,
[data-vdr-lb], .vdr-lb, .vdr-lb *,
[aria-label="Close"] {
  cursor: none !important; /* exception: beat Webflow cursor */
}

.custom-cursor {
  position: fixed;
  top: 0;
  left: 0;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background-color: white;
  pointer-events: none;
  z-index: 9999;
  mix-blend-mode: difference;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: width 0.3s ease, height 0.3s ease, background-color 0.3s ease, opacity 0.2s ease;
  will-change: transform;
  opacity: 1;
}
.custom-cursor.hidden { opacity: 0; }

.cursor-text {
  opacity: 0;
  color: black;
  font-family: sans-serif;
  font-size: 14px;
  font-weight: 500;
  text-transform: uppercase;
  transition: opacity 0.3s ease;
}

.custom-cursor.hovered {
  width: 60px;
  height: 60px;
  background-color: rgba(255, 255, 255, 0.8);
}

.custom-cursor.view-mode {
  width: 80px;
  height: 80px;
  background-color: white;
}
.custom-cursor.view-mode .cursor-text { opacity: 1; }

.custom-cursor.zoom-mode {
  width: 88px;
  height: 88px;
  background-color: white;
}
.custom-cursor.zoom-mode .cursor-text { opacity: 1; letter-spacing: 0.06em; }

.custom-cursor.close-mode {
  width: 72px;
  height: 72px;
  background-color: white;
}
.custom-cursor.close-mode .cursor-text { opacity: 1; letter-spacing: 0.04em; }

@media (hover: none) and (pointer: coarse) {
  .custom-cursor { display: none !important; /* exception: touch */ }
  body, a, button, .nav-item, a.portfolio-item,
  .vdr-close, .vdr-work-back, .vdr-lb-close, [data-vdr-lb], .vdr-lb {
    cursor: auto !important; /* exception: restore UA cursor on touch */
  }
}

/* While Work overlay is open, parent-page cursor stays off */
html.vdr-case-open #custom-cursor {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
