/* ═══════════════════════════════════════════════════════
   PAYNELIA — pn-ux.css
   Curseur custom (orange Paynelia) + animations UX subtiles
   ═══════════════════════════════════════════════════════ */

/* ─── Cursor custom : UNIQUEMENT desktop avec souris fine ─── */
@media (hover: hover) and (pointer: fine) {

  /* Curseur de base (flèche orange Paynelia) sur tout le body.pn-cursor */
  body.pn-cursor,
  body.pn-cursor * {
    cursor: url('/assets/cursor-paynelia.svg') 5 3, auto;
  }

  /* Curseur "main" (pointer) sur les éléments cliquables */
  body.pn-cursor a,
  body.pn-cursor a *,
  body.pn-cursor button,
  body.pn-cursor button *,
  body.pn-cursor [role="button"],
  body.pn-cursor [role="menuitem"],
  body.pn-cursor input[type="submit"],
  body.pn-cursor input[type="button"],
  body.pn-cursor input[type="reset"],
  body.pn-cursor input[type="checkbox"],
  body.pn-cursor input[type="radio"],
  body.pn-cursor input[type="file"],
  body.pn-cursor label[for],
  body.pn-cursor select,
  body.pn-cursor summary,
  body.pn-cursor .pn-clickable,
  body.pn-cursor [onclick],
  body.pn-cursor [data-add-to-cart],
  body.pn-cursor .pn-prod-card,
  body.pn-cursor .pn-prod-card *,
  body.pn-cursor .pr-card,
  body.pn-cursor .pr-card * {
    cursor: url('/assets/cursor-paynelia-pointer.svg') 14 14, pointer !important;
  }

  /* Curseur "text" sur les inputs textuels (priorité sur le pointer) */
  body.pn-cursor input[type="text"],
  body.pn-cursor input[type="email"],
  body.pn-cursor input[type="password"],
  body.pn-cursor input[type="search"],
  body.pn-cursor input[type="tel"],
  body.pn-cursor input[type="url"],
  body.pn-cursor input[type="number"],
  body.pn-cursor input[type="date"],
  body.pn-cursor input[type="datetime-local"],
  body.pn-cursor textarea,
  body.pn-cursor [contenteditable="true"] {
    cursor: text !important;
  }

  /* Curseur "not-allowed" sur les boutons disabled */
  body.pn-cursor button:disabled,
  body.pn-cursor input:disabled,
  body.pn-cursor select:disabled,
  body.pn-cursor textarea:disabled,
  body.pn-cursor [aria-disabled="true"] {
    cursor: not-allowed !important;
  }
}

/* ─── Animations UX subtiles (universelles, mobile + desktop) ─── */

/* Tap effect sur les boutons (micro-feedback) */
body.pn-cursor button:active:not(:disabled),
body.pn-cursor a:active,
body.pn-cursor [role="button"]:active {
  transform: scale(0.98) !important;
  transition: transform 0.08s ease !important;
}

/* Smooth focus ring orange (accessibilité + style) */
body.pn-cursor *:focus-visible {
  outline: 2px solid #FF3B00 !important;
  outline-offset: 2px !important;
  border-radius: 4px;
}

/* Respect du prefers-reduced-motion */
@media (prefers-reduced-motion: reduce) {
  body.pn-cursor button:active:not(:disabled),
  body.pn-cursor a:active,
  body.pn-cursor [role="button"]:active {
    transform: none !important;
  }
}

/* ─── Print : pas de cursor custom ─── */
@media print {
  body.pn-cursor,
  body.pn-cursor * {
    cursor: auto !important;
  }
}
