/* Pulsante con aspetto di link (footer) */
.linkbtn{background:none;border:0;padding:0;font:inherit;color:#fff;text-decoration:underline;cursor:pointer}

/* Banner consenso cookie */
.cc{position:fixed;left:16px;right:16px;bottom:16px;z-index:80;max-width:760px;margin-inline:auto;background:var(--white);color:var(--ink);border:1px solid var(--rule);border-top:4px solid var(--copper);border-radius:var(--radius-m);box-shadow:0 18px 50px rgba(20,32,46,.22);opacity:0;transform:translateY(12px);transition:opacity .25s var(--ease),transform .25s var(--ease)}
.cc.is-open{opacity:1;transform:none}
.cc__in{position:relative;padding:22px 24px 20px}
.cc__title{font-size:1.2rem;font-stretch:108%;margin:0 36px 8px 0}
.cc__text{font-size:.95rem;color:var(--ink-2);max-width:62em}
.cc__text a{color:var(--ink);font-weight:600}
.cc__x{position:absolute;top:10px;right:10px;width:40px;height:40px;border:0;background:transparent;font-size:1.6rem;line-height:1;color:var(--ink-2);cursor:pointer;border-radius:50%}
.cc__x:hover{background:var(--paper)}
.cc__prefs{display:grid;gap:10px;margin-top:16px}
.cc__opt{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;background:var(--paper);border-radius:var(--radius-s);font-size:.93rem;color:var(--ink-2);cursor:pointer}
.cc__opt input{width:20px;height:20px;flex:none;margin:2px 0 0;accent-color:var(--ink)}
.cc__opt b{display:block;color:var(--ink)}
.cc__actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.cc__actions .btn{flex:1 1 auto}
.btn--dark{background:var(--ink);color:#fff}
.btn--dark:hover{background:#26384D}

/* Pagine legali */
.legal{padding:clamp(40px,6vw,80px) 0 clamp(56px,7vw,96px)}
.legal__wrap{max-width:820px}
.legal h1{font-size:clamp(2.2rem,1.4rem + 3vw,3.6rem);font-stretch:115%;letter-spacing:-.025em}
.legal__date{color:var(--ink-2);margin-top:10px;font-size:.95rem}
.legal__lead{font-size:1.15rem;margin:28px 0 8px;max-width:44em}
.legal h2{font-size:1.5rem;margin:44px 0 12px;padding-top:18px;border-top:1px solid var(--rule)}
.legal h3{font-size:1.08rem;margin:22px 0 6px}
.legal p,.legal li{max-width:44em;color:#26323F}
.legal p+p{margin-top:12px}
.legal ul{padding-left:1.2em;margin:10px 0}
.legal li{margin:4px 0}
.legal a{color:var(--blue);text-underline-offset:2px}
.legal code{font-size:.9em;background:var(--paper-2);padding:2px 6px;border-radius:4px}
.legal__box{margin:28px 0 8px;padding:22px 24px;background:var(--white);border:1px solid var(--rule);border-left:4px solid var(--pe-g);border-radius:var(--radius-s)}
.legal__box p+p{margin-top:8px}
.legal__state{color:var(--ink-2);font-size:.95rem}
.legal__box .btn{margin-top:16px}
.table-wrap{overflow-x:auto;margin:14px 0}
.legal__table{border-collapse:collapse;width:100%;min-width:560px;font-size:.95rem;background:var(--white)}
.legal__table th,.legal__table td{text-align:left;vertical-align:top;padding:12px 14px;border:1px solid var(--rule)}
.legal__table th{background:var(--paper-2);font-weight:700}
.legal-page .top__in{justify-content:space-between}
.legal-page .foot{padding-bottom:0}

@media (max-width:640px){
  .cc{left:8px;right:8px;bottom:76px}
  .legal-page .cc{bottom:8px}
  .legal-page{padding-bottom:0}
  .legal-page .top__cta .btn{display:inline-flex}
  .cc__in{padding:18px 16px 16px}
  .cc__actions .btn{flex:1 1 calc(50% - 5px)}
  .cc__actions [data-cc="personalizza"],.cc__actions [data-cc="salva"]{flex-basis:100%;order:3}
}
