/* ===========================================================================
   iuris-avvocati — stili globali estratti dal template DC approvato.
   Gli stili specifici dei componenti restano inline nella view (pixel-fidelity).
   Qui solo: reset minimo, link, selection, responsive grid helper.
   Font Spectral (serif) + Libre Franklin (sans) da Google Fonts (nel <head>).
   =========================================================================== */
* { box-sizing: border-box; }
body { margin: 0; }
a { color: #1E2A44; text-decoration: none; }
a:hover { color: #8C7A4B; }
::selection { background: #E7E0CF; }

/* Helper grid responsive (dal template) */
.lvr-pad { padding: 0 40px; }

/* ---- Homepage (classi hp-* dal template directory) ---- */
.hp-pad { padding: 0 40px; }

@media (max-width: 900px) {
  .hp-atlante  { grid-template-columns: 1fr !important; }
  .hp-regions  { grid-template-columns: 1fr !important; }
  .hp-cards    { grid-template-columns: 1fr !important; }
  .hp-identity { grid-template-columns: 1fr !important; }
  .hp-pad      { padding-left: 20px !important; padding-right: 20px !important; }
  .hp-title    { font-size: 34px !important; }
  .hp-chips    { overflow-x: auto; }
}

@media (max-width: 900px) {
  .lvr-grid   { grid-template-columns: 1fr !important; }
  .lvr-hero   { grid-template-columns: 1fr !important; }
  .lvr-photo  { max-width: 240px; }
  .lvr-aside  { position: static !important; }
  .lvr-pad    { padding-left: 22px !important; padding-right: 22px !important; }
  .lvr-cols2  { grid-template-columns: 1fr !important; }
}

/* Animazione sobria focus (accessibilità) */
a:focus-visible, button:focus-visible, input:focus-visible,
textarea:focus-visible, [tabindex]:focus-visible {
  outline: 2px solid #8C7A4B;
  outline-offset: 2px;
}
