:root { --primary: 210 100% 36%; }
html { scroll-padding-top: 5rem; }
.text-muted-foreground\/70 { color: hsl(var(--muted-foreground)); }
.bg-primary .opacity-90 { opacity: 1; }
:where(a, button, input, textarea, select, [role=button], [role=checkbox], [role=combobox], [tabindex]):focus-visible {
  outline: 3px solid hsl(var(--foreground)) !important;
  outline-offset: 2px !important;
}
main { overflow-x: clip; }
.flex.items-start.gap-4 > div { min-width: 0; }
a[href^="mailto:"] { overflow-wrap: anywhere; }
.prose-invert { --tw-prose-invert-bold: hsl(var(--foreground)); }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
}

.barra-mobile { display: none; }
.visually-hidden-sos { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* Mobile: correzioni misurate con strumenti/collaudo/audit_mobile.mjs (2026-09-29) */
@media (max-width: 767px) {
  body { padding-bottom: calc(72px + env(safe-area-inset-bottom)); }
  html { scroll-padding-top: 4.5rem; scroll-padding-bottom: 5rem; }

  .barra-mobile {
    display: grid; grid-template-columns: auto auto 1fr; gap: 8px;
    position: fixed; inset: auto 0 0 0; z-index: 60;
    padding: 10px 12px calc(10px + env(safe-area-inset-bottom));
    background: hsl(var(--background)); border-top: 1px solid hsl(var(--border));
    box-shadow: 0 -4px 16px rgb(0 0 0 / .08);
  }
  .barra-mobile a {
    display: flex; align-items: center; justify-content: center; gap: 6px; min-height: 48px; padding: 0 14px;
    border: 1px solid hsl(var(--border)); border-radius: 10px; color: hsl(var(--foreground));
    font: 600 .95rem/1 Inter, system-ui, sans-serif; text-decoration: none; white-space: nowrap;
  }
  .barra-mobile svg { width: 18px; height: 18px; }
  .barra-mobile .barra-mobile__primaria { background: hsl(var(--primary)); color: #fff; border-color: transparent; }

  section.min-h-screen { min-height: 0; padding-top: 4.25rem; padding-bottom: 2.5rem; }
  section.min-h-screen .space-y-8 > * + * { margin-top: 1.25rem; }
  [data-testid=text-hero-title] { font-size: 2.125rem; line-height: 1.12; }
  [data-testid=text-hero-description] { font-size: 1rem; line-height: 1.55; }
  section.py-20 { padding-top: 3.5rem; padding-bottom: 3.5rem; }
  section .mb-16 { margin-bottom: 2rem; }

  .grid.md\:grid-cols-2.lg\:grid-cols-3.gap-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .625rem; }
  .grid.md\:grid-cols-2.lg\:grid-cols-3.gap-4 > * > .p-6,
  .grid.md\:grid-cols-2.lg\:grid-cols-3.gap-4 > .p-6 { padding: .875rem; }
  .grid.md\:grid-cols-2.lg\:grid-cols-3.gap-4 .flex.items-start > :first-child { display: none; }
  .grid.gap-6 { gap: 1rem; }
  .shadcn-card.p-6 { padding: 1.125rem; }

  input.h-9, button.h-9, [role=combobox] { height: 2.75rem; }
  [role=combobox] { font-size: 1rem; }
  a.h-9, a.h-10, button.h-10, a.min-h-10, button.min-h-10, a.min-h-9, button.min-h-9 { min-height: 2.75rem; }
  [data-testid=button-mobile-menu] { width: 2.75rem; height: 2.75rem; }
  [role=checkbox].h-4 { width: 1.5rem; height: 1.5rem; }
  footer a:not(.h-9):not(.h-10), [data-testid=link-footer-privacy], [data-testid=link-phone], [data-testid=link-email], [data-testid=link-footer-whatsapp] {
    display: inline-flex; align-items: center; min-height: 2.75rem;
  }
  .text-xs { font-size: .875rem; line-height: 1.35; }
}
@media (max-width: 379px) {
  [data-testid=text-hero-title] { font-size: 1.875rem; }
  .barra-mobile { gap: 6px; padding-left: 8px; padding-right: 8px; }
  .barra-mobile a { padding: 0 9px; gap: 5px; font-size: .8125rem; }
  .barra-mobile svg { width: 16px; height: 16px; }
}
