/* Vivipedia 25.7 — performance, mobile e accessibilità prudente */
:root{
  --v257-focus:#1d3b2a;
  --v257-focus-bg:#f5f0df;
  --v257-soft-border:rgba(64,94,74,.18);
  --v257-shadow:0 18px 50px rgba(33,43,34,.10);
}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important;}
}
.v257-skip-link,.skip-link{
  position:absolute;left:1rem;top:.75rem;z-index:9999;transform:translateY(-160%);
  background:var(--v257-focus-bg);color:var(--v257-focus);border:2px solid var(--v257-focus);
  border-radius:999px;padding:.65rem 1rem;font-weight:800;text-decoration:none;box-shadow:var(--v257-shadow);
}
.v257-skip-link:focus,.skip-link:focus{transform:translateY(0);outline:none;}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{
  outline:3px solid var(--v257-focus);outline-offset:3px;border-radius:.45rem;
}
img,svg,video,canvas{max-width:100%;height:auto;}
iframe{max-width:100%;border:0;}
main[id="contenuto"]{scroll-margin-top:92px;}
.nav a[aria-current="page"],.v240-nav a[aria-current="page"]{
  text-decoration:underline;text-underline-offset:.28em;text-decoration-thickness:2px;
}
.v257-safe-wrap{overflow-wrap:anywhere;word-break:normal;}
.v257-audit-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin:1.5rem 0;}
.v257-audit-card{background:rgba(255,255,255,.78);border:1px solid var(--v257-soft-border);border-radius:22px;padding:1.1rem;box-shadow:0 12px 30px rgba(34,44,35,.06);}
.v257-audit-card strong{display:block;font-size:1.45rem;margin:.2rem 0;color:#274734;}
.v257-checklist{display:grid;gap:.75rem;margin:1.2rem 0;}
.v257-checklist label{display:flex;gap:.7rem;align-items:flex-start;background:rgba(255,255,255,.72);border:1px solid var(--v257-soft-border);border-radius:18px;padding:.85rem 1rem;}
.v257-checklist input{margin-top:.2rem;min-width:1.05rem;min-height:1.05rem;}
.v257-note{border-left:4px solid #405e4a;background:rgba(64,94,74,.08);padding:1rem;border-radius:0 18px 18px 0;margin:1.2rem 0;}
.v257-admin-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.8rem;margin:1rem 0 1.5rem;}
.v257-admin-strip a{display:block;padding:.9rem 1rem;border-radius:16px;background:rgba(255,255,255,.72);border:1px solid var(--v257-soft-border);text-decoration:none;font-weight:750;}
@media (max-width:760px){
  body{overflow-x:hidden;}
  .top-inner,.v240-top-inner{gap:.75rem;}
  .nav,.v240-nav{display:flex;gap:.45rem;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:.25rem;scrollbar-width:thin;}
  .nav a,.v240-nav a{white-space:nowrap;min-height:44px;display:inline-flex;align-items:center;}
  .btn,button,[role="button"],input[type="submit"]{min-height:44px;}
  .section,.hero,.v242-main-hero,.v242-page-intro{padding-left:clamp(1rem,4vw,1.25rem);padding-right:clamp(1rem,4vw,1.25rem);}
  h1{font-size:clamp(2rem,11vw,3rem);line-height:1.05;}
  h2{font-size:clamp(1.45rem,7vw,2.1rem);}
  p,li{font-size:1rem;line-height:1.65;}
}
@media print{
  header,footer,.nav,.v240-nav,.cookie-banner,.v257-skip-link,script{display:none!important;}
  body{background:#fff!important;color:#111!important;}
  main{max-width:100%!important;}
  a{color:#111!important;text-decoration:underline;}
}
