/* =========================================================================
   ADL 360 srl — base.css (shell condivisa Fase B1 — 2026-05-13)
   Reset + variabili CSS + tipografia base + font fallback.
   Caricato in ogni pagina PHP standalone via /components/header.php.
   NON contiene stili pagina-specifici (hero, sezioni, FAQ, card, CTA finale).
   ========================================================================= */

/* --- Font fallback con size-adjust (anti-CLS) --- */
@font-face {
  font-family: 'Montserrat-Fallback';
  src: local('Arial Black'), local('Arial');
  size-adjust: 108%;
  ascent-override: 85%;
  descent-override: 22%;
  line-gap-override: 0%;
  font-weight: 700 800;
}
@font-face {
  font-family: 'Open-Sans-Fallback';
  src: local('Arial'), local('Helvetica Neue'), local('Helvetica');
  size-adjust: 105%;
  ascent-override: 89%;
  descent-override: 24%;
  line-gap-override: 0%;
  font-weight: 400 600;
}

/* --- Variabili globali --- */
:root {
  --c-primario: #E8420A;
  --c-secondario: #1A1A2E;
  --c-accento: #FFD700;
  --c-testo: #2d2d2d;
  --c-sfondo: #F8F8F8;
  --c-success: #16a34a;
  --font-titoli: 'Montserrat', 'Montserrat-Fallback', sans-serif;
  --font-testo:  'Open Sans', 'Open-Sans-Fallback', sans-serif;
  --max-w: 1200px;
  --art-w: 880px;
}

/* --- Reset universale (box-model + margini coerenti) --- */
*, *::before, *::after { box-sizing: border-box; }
* { margin: 0; padding: 0; }

/* --- Tipografia base --- */
html { scroll-behavior: smooth; }
body {
  font-family: var(--font-testo);
  color: var(--c-testo);
  background: #fff;
  line-height: 1.7;
  font-size: 1rem;
  -webkit-text-size-adjust: 100%;
}

img, picture, svg, video { max-width: 100%; height: auto; }

a {
  color: var(--c-primario);
  text-decoration: none;
}
a:hover { text-decoration: underline; }

/* --- Cursor pointer su interattivi (agent-friendly) --- */
button, [role="button"] { cursor: pointer; }

/* --- Form input — anti-zoom iOS --- */
input, textarea, select { font: inherit; font-size: 16px; }

/* --- Utility minime --- */
.visually-hidden {
  position: absolute !important;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0);
  white-space: nowrap; border: 0;
}
