/* Pagine Privacy Policy e Cookie Policy: stessa palette e font del sito (sito.css) */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
:root {
  --ink: #1B2745; --ink-2: #26365F; --ink-soft: #4F5B7D;
  --paper: #FFF6E8; --paper-2: #FFFCF6; --sky: #E3ECFF;
  --coral: #EE5A4F; --saffron: #FFB02E; --blue-d: #2A4FB8;
  --line: rgba(27,39,69,0.14);
  --ff-display: 'Gabarito', 'Trebuchet MS', 'Segoe UI', system-ui, sans-serif;
  --ff-body: 'Nunito Sans', 'Segoe UI', system-ui, sans-serif;
}
html { scroll-behavior: smooth; }
body { font-family: var(--ff-body); font-size: 1rem; line-height: 1.65; background: var(--paper); color: var(--ink); -webkit-font-smoothing: antialiased; }
:focus-visible { outline: 3px solid var(--blue-d); outline-offset: 3px; border-radius: 4px; }

.policy-top { background: var(--ink); color: var(--paper); padding: 1rem 1.5rem; }
.policy-top-inner { max-width: 860px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }
.policy-brand { font-family: var(--ff-display); font-size: 1.5rem; font-weight: 800; color: var(--paper); text-decoration: none; }
.policy-brand span { color: var(--saffron); }
.policy-top nav a { color: rgba(255,246,232,0.8); text-decoration: none; font-weight: 600; font-size: 0.92rem; margin-left: 1.1rem; }
.policy-top nav a:hover, .policy-top nav a[aria-current="page"] { color: var(--saffron); }

.policy { max-width: 860px; margin: 0 auto; padding: 2.5rem 1.5rem 3rem; }
.policy h1 { font-family: var(--ff-display); font-size: clamp(1.9rem, 4vw, 2.6rem); font-weight: 800; line-height: 1.15; margin-bottom: 0.4rem; }
.policy .aggiornato { color: var(--ink-soft); font-size: 0.9rem; margin-bottom: 1.8rem; }
.policy .intro { font-size: 1.05rem; background: var(--paper-2); border: 1px solid var(--line); border-left: 4px solid var(--coral); border-radius: 10px; padding: 1rem 1.25rem; margin-bottom: 2rem; }
.policy section { margin-bottom: 2rem; }
.policy h2 { font-family: var(--ff-display); font-size: 1.3rem; font-weight: 800; margin-bottom: 0.6rem; padding-bottom: 0.3rem; border-bottom: 2px solid var(--line); }
.policy h3 { font-family: var(--ff-display); font-size: 1.05rem; font-weight: 700; margin: 1rem 0 0.35rem; }
.policy p, .policy li { color: var(--ink); }
.policy p + p { margin-top: 0.6rem; }
.policy ul { padding-left: 1.3rem; margin: 0.5rem 0; }
.policy li + li { margin-top: 0.3rem; }
.policy a { color: var(--blue-d); font-weight: 600; text-underline-offset: 3px; overflow-wrap: anywhere; }
.policy .tabella-wrap { overflow-x: auto; margin: 0.75rem 0; border: 1px solid var(--line); border-radius: 10px; background: var(--paper-2); }
.policy table { width: 100%; border-collapse: collapse; font-size: 0.92rem; min-width: 560px; }
.policy th, .policy td { text-align: left; vertical-align: top; padding: 0.6rem 0.8rem; border-bottom: 1px solid var(--line); }
.policy th { font-family: var(--ff-display); font-weight: 700; background: var(--sky); }
.policy tr:last-child td { border-bottom: none; }
.policy code { font-size: 0.88em; background: var(--sky); padding: 0.05rem 0.35rem; border-radius: 4px; }
.policy .contatti { background: var(--paper-2); border: 1px solid var(--line); border-radius: 10px; padding: 1rem 1.25rem; }

.policy-bottom { border-top: 1px solid var(--line); padding: 1.5rem; text-align: center; font-size: 0.88rem; color: var(--ink-soft); }
.policy-bottom a { color: var(--ink-soft); }

@media (max-width: 600px) {
  .policy { padding: 1.75rem 1rem 2.5rem; }
  .policy-top { padding: 0.9rem 1rem; }
  .policy-top nav a { margin: 0 1rem 0 0; }
}
