/* Documenti legali: layout indipendente dai contenitori stretti dei form. */
.ck-legal-body .ck-legal-page { width: min(1120px, calc(100% - 64px)); margin: 32px auto 64px; }
.ck-legal-body .ck-legal-hero { padding: 38px 44px; border-radius: 22px; box-shadow: none; border-bottom: 4px solid #ed7b26; }
.ck-legal-body .ck-legal-hero h1 { max-width: 900px; font-family: var(--font-display), sans-serif; font-size: clamp(30px, 3.5vw, 46px); font-weight: 750; line-height: 1.14; letter-spacing: -.035em; color: #fff; overflow-wrap: break-word; }
.ck-legal-body .ck-legal-index { margin: 20px 0 26px; padding: 12px; border-radius: 14px; flex-wrap: wrap; }
.ck-legal-body .ck-legal-index a { border-radius: 8px; }
.ck-legal-body .ck-legal-section { grid-template-columns: 40px minmax(0, 1fr); gap: 24px; padding: 30px 36px; border-radius: 16px; scroll-margin-top: 90px; }
.ck-legal-body .ck-legal-section > div { min-width: 0; }
.ck-legal-body .ck-legal-section > span { width: 36px; height: 36px; border-radius: 10px; background: #fff0e4; color: #a7470b; }
.ck-legal-body .ck-legal-section h2 { color: #211f1c; font-size: 23px; line-height: 1.3; }
.ck-legal-body .ck-legal-section p, .ck-legal-body .ck-legal-section li { line-height: 1.75; overflow-wrap: anywhere; }
.ck-legal-body .ck-legal-section p:last-child { margin-bottom: 0; }
.ck-legal-body .ck-legal-table > div { grid-template-columns: minmax(0, .85fr) minmax(0, 1.3fr); gap: 26px; padding: 20px; }
.ck-legal-body .ck-legal-table > div:nth-child(odd) { background: #faf9f6; }
.ck-legal-body .ck-legal-table b { color: #27231f; }
.ck-legal-body .ck-legal-closing { background: #fff0e4; color: #623215; border: 1px solid #f0cfb3; border-radius: 16px; }
.ck-legal-body .ck-legal-closing a { color: #8e3d0b; text-decoration: underline; }
.ck-legal-body .ck-legal-index a:focus-visible { outline: 2px solid #b94e08; outline-offset: 3px; }
@media (max-width: 700px) {
  .ck-legal-body .ck-legal-page { width: calc(100% - 28px); margin: 18px auto 40px; }
  .ck-legal-body .ck-legal-hero { padding: 26px 22px; border-radius: 16px; }
  .ck-legal-body .ck-legal-hero h1 { font-size: 31px; }
  .ck-legal-body .ck-legal-index { gap: 6px; overflow: visible; }
  .ck-legal-body .ck-legal-index a { padding: 8px 10px; font-size: 12px; white-space: normal; }
  .ck-legal-body .ck-legal-section { grid-template-columns: minmax(0, 1fr); gap: 12px; padding: 22px 20px; }
  .ck-legal-body .ck-legal-section h2 { font-size: 21px; }
  .ck-legal-body .ck-legal-table > div { grid-template-columns: minmax(0, 1fr); gap: 8px; padding: 16px; }
  .ck-legal-body .ck-legal-closing { padding: 22px; }
}
