/* ============================================
   BASE.CSS — Studio Cambria
   Stili base e tipografia
   ============================================ */

/* Phosphor Icons — reset allineamento webfont */
i[class*="ph-"] {
  font-style: normal;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  vertical-align: -0.125em;
}

/* Typography scale */
h1 {
  font-size: var(--text-5xl);
  font-weight: var(--font-semibold);
}

h2 {
  font-size: var(--text-3xl);
  font-weight: var(--font-medium);
}

h3 {
  font-size: var(--text-2xl);
  font-weight: var(--font-semibold);
  font-family: var(--font-body);
}

h4 {
  font-size: var(--text-xl);
  font-weight: var(--font-semibold);
  font-family: var(--font-body);
}

p {
  margin-bottom: var(--space-4);
}

p:last-child {
  margin-bottom: 0;
}

/* ============================================
   ACCESSIBILITÀ — Riduzione del movimento
   Rispetta la preferenza di sistema
   ============================================ */

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }

  /* Elementi fade-up: mostrati subito, senza transizione */
  .fade-up {
    opacity: 1 !important;
    transform: none !important;
  }
}

/* Selection */
::selection {
  background: var(--color-accent);
  color: var(--color-white);
}

/* Scrollbar */
::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

::-webkit-scrollbar-track {
  background: var(--color-bg);
}

::-webkit-scrollbar-thumb {
  background: var(--color-text-muted);
  border-radius: var(--radius-sm);
}

::-webkit-scrollbar-thumb:hover {
  background: var(--color-primary);
}
