/* Custom variables if needed to supplement Tailwind */
:root {
  --nav-height: 5rem;
}

/* Fallback: éléments GSAP restent visibles si la police ou GSAP tarde à charger */
.gsap-fade-in { opacity: 1; }
.hero-stagger { opacity: 1; }

/* Base custom styles to ensure perfect rendering */
html,
body {
  scroll-behavior: smooth;
}

/* Form Styles */
input[type="radio"]:checked {
  background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='8' cy='8' r='3'/%3e%3c/svg%3e");
}

/* Glassmorphism helpers for deep integration if Tailwind isn't enough */
.glass-effect {
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

/* ThreeJS Canvas constraint */
#canvas-container canvas {
  outline: none;
  border: none;
  cursor: grab;
}

#canvas-container canvas:active {
  cursor: grabbing;
}

/* Animation utilities that Tailwind doesn't have natively for 3D/Complex setups */
@keyframes dash {
  to {
    stroke-dashoffset: 0;
  }
}

/* Hide scrollbar structure for modern feel */
::-webkit-scrollbar {
  width: 8px;
}

::-webkit-scrollbar-track {
  background: transparent;
}

::-webkit-scrollbar-thumb {
  background: #cbd5e1;
  border-radius: 10px;
}

.dark ::-webkit-scrollbar-thumb {
  background: #334155;
}

::-webkit-scrollbar-thumb:hover {
  background: #94a3b8;
}

/* Improve rendering of fonts */
body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}