/* ── Pagine legali: Privacy Policy e Cookie Policy ── */
.aicast-legal{font-family:"Manrope","Avenir Next","Segoe UI",system-ui,sans-serif;color:#2a4660;background:#f5f8fb;padding-bottom:80px}
.aicast-legal-wrap{width:min(1180px,calc(100% - 40px));margin:0 auto}
.aicast-legal-hero{position:relative;overflow:hidden;padding:70px 0 96px;color:#d6e4f1;background:repeating-linear-gradient(115deg,rgba(255,255,255,.03) 0 2px,transparent 2px 22px),radial-gradient(900px 480px at 85% 0%,rgba(25,169,219,.3),transparent 60%),linear-gradient(120deg,#042a50 0%,#063d72 55%,#0a4f8f 100%)}
.aicast-legal-hero::after{content:"";position:absolute;right:9%;top:-10%;bottom:-10%;width:20px;background:linear-gradient(180deg,rgba(230,30,58,.9),rgba(230,30,58,.1));transform:skewX(-18deg);pointer-events:none}
.aicast-legal-hero .aicast-legal-wrap{position:relative;z-index:1}
.aicast-legal-eyebrow{margin:0 0 12px;font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#8fd0f5}
.aicast-legal-title{margin:0 0 14px;color:#fff;font-size:clamp(2rem,4.6vw,3.1rem);line-height:1.05;font-weight:800;letter-spacing:-.025em}
.aicast-legal-intro{margin:0;max-width:640px;font-size:1.08rem;line-height:1.6;color:#c9dcee}
.aicast-legal-meta{display:flex;flex-wrap:wrap;gap:10px;margin:28px 0 0;padding:0;list-style:none}
.aicast-legal-meta li{display:flex;flex-direction:column;gap:2px;padding:10px 16px;border:1px solid rgba(255,255,255,.18);border-radius:12px;background:rgba(255,255,255,.06)}
.aicast-legal-meta span{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#8fb6d6}
.aicast-legal-meta strong{font-size:14px;color:#fff}

.aicast-legal-grid{display:grid;grid-template-columns:minmax(0,1fr);max-width:900px;gap:28px;align-items:start;margin-top:-56px;position:relative;z-index:2}
.aicast-legal-grid.has-side{grid-template-columns:270px minmax(0,1fr);max-width:none}
.aicast-legal-side{position:sticky;top:24px;display:grid;gap:14px}
.aicast-legal-toc{background:#fff;border:1px solid #e1eaf2;border-radius:18px;padding:18px 18px 12px;box-shadow:0 14px 34px rgba(6,61,114,.08)}
.aicast-legal-toc summary{cursor:pointer;list-style:none;font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#7a93a9;margin-bottom:10px}
.aicast-legal-toc summary::-webkit-details-marker{display:none}
.aicast-legal-toc ol{margin:0;padding:0;list-style:none;counter-reset:voce;max-height:calc(100vh - 260px);overflow:auto}
.aicast-legal-toc li{counter-increment:voce}
.aicast-legal-toc a{display:flex;gap:10px;padding:7px 8px;border-radius:9px;font-size:13.5px;line-height:1.35;font-weight:600;color:#2a4660;text-decoration:none}
.aicast-legal-toc a::before{content:counter(voce,decimal-leading-zero);flex:none;font-size:11px;font-weight:800;color:#0a78c7;padding-top:2px}
.aicast-legal-toc a:hover,.aicast-legal-toc a.is-attiva{background:#eef5fb;color:#063d72}
.aicast-legal-altra{display:flex;flex-direction:column;gap:3px;padding:18px;border-radius:18px;background:linear-gradient(135deg,#063d72,#0a78c7);color:#fff;text-decoration:none;box-shadow:0 14px 30px rgba(6,61,114,.18)}
.aicast-legal-altra small{font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#a9d6f5}
.aicast-legal-altra strong{font-size:17px}
.aicast-legal-altra span{font-size:13px;line-height:1.45;color:#d6e8f6}

.aicast-legal-body{background:#fff;border:1px solid #e1eaf2;border-radius:22px;padding:clamp(26px,4vw,52px);box-shadow:0 18px 44px rgba(6,61,114,.08);font-size:16.5px;line-height:1.75;color:#2f4b64;counter-reset:sez}
.aicast-legal-body>*:first-child{margin-top:0}
.aicast-legal-body h2{position:relative;counter-increment:sez;margin:46px 0 16px;padding-top:30px;border-top:1px solid #e8eff5;font-size:clamp(1.3rem,2.2vw,1.6rem);line-height:1.25;font-weight:800;color:#063d72;letter-spacing:-.01em;scroll-margin-top:24px}
.aicast-legal-body h2::before{content:counter(sez,decimal-leading-zero);display:block;margin-bottom:6px;font-size:12px;font-weight:800;letter-spacing:.14em;color:#e61e3a}
.aicast-legal-body>h2:first-of-type{border-top:0;padding-top:0}
.aicast-legal-body h3{margin:26px 0 8px;font-size:1.08rem;font-weight:800;color:#063d72}
.aicast-legal-body p{margin:0 0 14px}
.aicast-legal-body a{color:#0a78c7;font-weight:700;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.aicast-legal-body ul,.aicast-legal-body ol{margin:0 0 18px;padding-left:0;list-style:none}
.aicast-legal-body li{position:relative;padding-left:24px;margin-bottom:9px}
.aicast-legal-body ul>li::before{content:"";position:absolute;left:4px;top:.72em;width:8px;height:8px;border-radius:2px;background:#0a78c7;transform:rotate(45deg)}
.aicast-legal-body ol{counter-reset:li}
.aicast-legal-body ol>li{counter-increment:li}
.aicast-legal-body ol>li::before{content:counter(li) ".";position:absolute;left:0;font-weight:800;color:#0a78c7}
.aicast-legal-body strong{color:#163f63}
.aicast-legal-body .aicast-legal-card,.aicast-legal-body .wp-block-group.aicast-legal-card{margin:6px 0 20px;padding:20px 22px;border-radius:16px;background:#f3f8fc;border:1px solid #dbe8f2}
.aicast-legal-body .aicast-legal-card p:last-child{margin-bottom:0}
.aicast-legal-body .aicast-legal-nota{margin:6px 0 22px;padding:18px 20px 18px 22px;border-left:4px solid #19b35a;border-radius:0 14px 14px 0;background:#effaf3;color:#1f4d36}
.aicast-legal-body .aicast-legal-nota strong{color:#0d6b3e}
.aicast-legal-body .wp-block-table{margin:8px 0 24px;overflow-x:auto;border:1px solid #e1eaf2;border-radius:14px}
.aicast-legal-body table{width:100%;min-width:620px;border-collapse:collapse;font-size:14.5px;line-height:1.55}
.aicast-legal-body thead th{background:#063d72;color:#fff;font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;text-align:left;padding:12px 14px;border:0}
.aicast-legal-body td{padding:12px 14px;border:0;border-top:1px solid #e8eff5;vertical-align:top}
.aicast-legal-body tbody tr:nth-child(even) td{background:#f8fbfd}
.aicast-legal-body td:first-child{font-weight:700;color:#163f63}
.aicast-legal-body td code,.aicast-legal-body code{font-size:.88em;background:#eef4f9;color:#063d72;padding:2px 6px;border-radius:6px;white-space:nowrap}
.aicast-legal-body figcaption{font-size:13px;color:#6b8399;padding:8px 14px}

.aicast-legal-help{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;margin-top:44px;padding:22px 24px;border-radius:18px;background:linear-gradient(135deg,#f3f8fc,#e8f2fa);border:1px solid #d6e5f1}
.aicast-legal-help strong{display:block;font-size:17px;color:#063d72}
.aicast-legal-help p{margin:2px 0 0;font-size:14px;color:#4f677c}
.aicast-legal-help a{display:inline-flex;align-items:center;min-height:46px;padding:0 22px;border-radius:999px;background:#063d72;color:#fff!important;font-weight:800;text-decoration:none!important}
.aicast-legal-help a:hover{background:#0a78c7}

@media (max-width:980px){
  .aicast-legal-grid,.aicast-legal-grid.has-side{grid-template-columns:minmax(0,1fr);margin-top:-48px}
  .aicast-legal-side{position:static}
  .aicast-legal-toc ol{max-height:none}
  .aicast-legal-altra{display:none}
}
@media (max-width:600px){
  .aicast-legal-hero{padding:48px 0 80px}
  .aicast-legal-wrap{width:calc(100% - 32px)}
  .aicast-legal-meta li{flex:1 1 100%}
  .aicast-legal-body{font-size:15.5px;border-radius:18px}
}
@media print{
  .aicast-legal-hero{background:none;color:#000;padding:0 0 20px}
  .aicast-legal-title,.aicast-legal-meta strong{color:#000}
  .aicast-legal-side,.aicast-legal-help,.site-header,.site-footer{display:none}
  .aicast-legal-grid{display:block;margin:0}
  .aicast-legal-body{border:0;box-shadow:none;padding:0}
}
