/* ============================================
     Satz Studio — Warm Light Cursor
     ============================================ */

:root {
  --cursor-color: #eb6a21;
  /* 기본 warm muted gold (조명색 베이스) */
  --cursor-hover: #d95f1b;
  /* hover 시 밝은 amber */
  --cursor-contrast: #f0d4c2;
  /* contrast 영역 (밝은 배경)용 soft cream light */
}

/* 기본 커서 숨기기 (커서 준비 완료 시에만) */
html.has-custom-cursor.cursor-ready body {
  cursor: none;
}

html.has-custom-cursor.cursor-ready a,
html.has-custom-cursor.cursor-ready button,
html.has-custom-cursor.cursor-ready [role="button"],
html.has-custom-cursor.cursor-ready input[type="submit"],
html.has-custom-cursor.cursor-ready input[type="button"] {
  cursor: none !important;
}

/* 기본 커서 스타일 */
.custom-cursor {
  position: fixed;
  top: 0;
  left: 0;
  width: 17px;
  height: 17px;
  border-radius: 50%;
  background-color: var(--cursor-color);
  pointer-events: none;
  transform: translate(-50%, -50%);
  transition: transform 0.12s ease-out, background-color 0.25s ease-out,
    opacity 0.25s ease-out;
  z-index: 9999;
  opacity: 0.9;
  mix-blend-mode: difference;
  /* 어두운 배경에서도 시인성 확보 */
}

html.cursor-no-blend .custom-cursor {
  mix-blend-mode: normal;
}

/* Hover 시 부드럽게 확대 + 색상 변경 */
.custom-cursor.is-hover {
  background-color: var(--cursor-hover);
  transform: translate(-50%, -50%) scale(1.8);
  opacity: 1;
}

/* Contrast 섹션 (예: 흰 배경) 진입 시 색상 전환 */
.custom-cursor.is-contrast {
  background-color: var(--cursor-contrast);
  mix-blend-mode: normal;
  /* 밝은 배경에서는 difference 해제 */
}

/* 모바일 비활성화 */
@media (max-width: 991px) {
  html.has-custom-cursor.cursor-ready body {
    cursor: auto;
  }

  .custom-cursor {
    display: none;
  }
}
