/* VeriRepair · stili complementari a Tailwind */
html { scroll-padding-top: 88px; }
body { -webkit-font-smoothing: antialiased; }
.grid-bg {
  background-image:
    linear-gradient(rgba(148,163,184,.07) 1px, transparent 1px),
    linear-gradient(90deg, rgba(148,163,184,.07) 1px, transparent 1px);
  background-size: 44px 44px;
  mask-image: radial-gradient(ellipse at 50% 30%, #000 30%, transparent 75%);
  -webkit-mask-image: radial-gradient(ellipse at 50% 30%, #000 30%, transparent 75%);
}
.seal-ring { animation: spin 40s linear infinite; transform-origin: center; }
@keyframes spin { to { transform: rotate(360deg); } }
.fade-up { opacity: 0; transform: translateY(16px); transition: opacity .6s ease, transform .6s ease; }
.fade-up.in { opacity: 1; transform: none; }
.tab-btn[aria-selected="true"] { background: #0B132B; color: #fff; border-color: #0B132B; }
.tab-btn[aria-selected="true"] i { color: #10B981; }
details > summary { list-style: none; }
details > summary::-webkit-details-marker { display: none; }
details[open] .faq-icon { transform: rotate(45deg); }
.code-scroll::-webkit-scrollbar { height: 6px; }
.code-scroll::-webkit-scrollbar-thumb { background: #2A3558; border-radius: 3px; }
.modal-scroll::-webkit-scrollbar { width: 8px; }
.modal-scroll::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 4px; }
.scan-line { animation: scan 2s ease-in-out infinite; }
@keyframes scan { 0%,100% { top: 8%; } 50% { top: 88%; } }
@media (prefers-reduced-motion: reduce) {
  .seal-ring, .scan-line { animation: none; }
  .fade-up { opacity: 1; transform: none; transition: none; }
  html { scroll-behavior: auto; }
}
@media print {
  body > *:not(#reportModal) { display: none !important; }
  #reportModal { position: static !important; background: none !important; }
  #reportModal .no-print { display: none !important; }
}

/* Pagine legali (privacy, cookie, termini) */
.legal h2 { margin-top: 2.5rem; margin-bottom: .75rem; font-size: 1.35rem; font-weight: 800; color: #0B132B; scroll-margin-top: 96px; }
.legal p { margin-top: .75rem; }
.legal ul { margin-top: .75rem; padding-left: 1.25rem; list-style: disc; }
.legal li { margin-top: .4rem; }
.legal a { color: #0B132B; font-weight: 600; text-decoration: underline; text-underline-offset: 2px; }
.legal a:hover { color: #06B6D4; }
.legal table { margin-top: 1rem; width: 100%; border-collapse: collapse; font-size: .875rem; }
.legal th, .legal td { border: 1px solid #e2e8f0; padding: .6rem .75rem; text-align: left; vertical-align: top; }
.legal th { background: #f8fafc; color: #0B132B; font-weight: 700; }
.legal .rounded-xl { margin-top: .75rem; }
.legal .rounded-xl p { margin-top: 0; }
