/* Field policy pages reuse the approved brand typography and purple accents. */
.trion-odoo.trion-legal-page { padding-block: 64px 88px; }
.trion-legal-heading { max-width: 840px; margin-bottom: 48px; }
.trion-legal-heading h1 { font-size: clamp(40px, 4.5vw, 60px); margin: 12px 0 16px; }
.trion-legal-heading .trion-legal-date { color: #565663; font-size: 14px; margin-bottom: 20px; }
.trion-legal-heading .lead { max-width: 680px; }
.trion-legal-layout { display: grid; grid-template-columns: 225px minmax(0, 1fr); gap: 64px; align-items: start; }
.trion-legal-contents { display: flex; flex-direction: column; position: sticky; top: 28px; border-top: 2px solid #5432eb; padding-top: 16px; }
.trion-legal-contents p { font-weight: 600; margin-bottom: 10px; }
.trion-legal-contents a { color: #565663; text-decoration: none; padding: 7px 0; font-size: 15px; line-height: 1.4; }
.trion-legal-contents a:hover, .trion-legal-contents a:focus-visible { color: #5432eb; text-decoration: underline; }
.trion-legal-copy { min-width: 0; }
.trion-legal-copy section { margin-bottom: 40px; scroll-margin-top: 32px; }
.trion-legal-copy section:last-child { margin-bottom: 0; }
.trion-odoo .trion-legal-copy h2 { font-size: 28px; line-height: 1.3; margin-bottom: 18px; }
.trion-odoo .trion-legal-copy p, .trion-legal-copy address { font-size: 16px; line-height: 1.75; margin-bottom: 16px; }
.trion-legal-copy address { font-style: normal; }
.trion-legal-copy a { color: #5432eb; text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; }
.trion-legal-copy code { font-size: .9em; color: inherit; overflow-wrap: anywhere; }
.trion-legal-table-wrap { overflow-x: auto; margin: 24px 0; }
.trion-legal-copy table { width: 100%; min-width: 510px; border-collapse: collapse; font-size: 15px; line-height: 1.65; }
.trion-legal-copy caption { caption-side: top; color: #303039; font-weight: 600; padding: 0 0 12px; }
.trion-legal-copy th, .trion-legal-copy td { padding: 14px 16px; text-align: left; vertical-align: top; border-bottom: 1px solid #e4e2ed; }
.trion-legal-copy thead { background: #f7f6fb; }
.trion-legal-copy tbody th { width: 34%; font-weight: 600; }
.trion-legal-copy a:focus-visible, .trion-legal-table-wrap:focus-visible { outline: 2px solid #5432eb; outline-offset: 4px; }
@media (max-width: 991.98px) {
  .trion-legal-layout { grid-template-columns: 190px minmax(0, 1fr); gap: 32px; }
}
@media (max-width: 767.98px) {
  .trion-odoo.trion-legal-page { padding-block: 40px 56px; }
  .trion-legal-heading { margin-bottom: 28px; }
  .trion-legal-heading h1 { font-size: 38px; }
  .trion-legal-layout { grid-template-columns: minmax(0, 1fr); gap: 36px; }
  .trion-legal-contents { position: static; }
  .trion-legal-contents a { min-height: 44px; padding-block: 11px; }
  .trion-odoo .trion-legal-copy h2 { font-size: 25px; }
  .trion-legal-copy th, .trion-legal-copy td { padding: 12px; }
}

@media (min-width: 992px) {
  .trion-cookie-page .trion-legal-heading,
  .trion-cookie-page .trion-legal-heading .lead { max-width: none; }
}
