/* Clip horizontal overflow without creating a scrolling ancestor for sticky sidebars. */
html[data-theme] body:has([data-legal-page]) { overflow-x:clip; }
[data-legal-page] { background:var(--color-base-100); color:var(--color-base-content); line-height:1.75; }
[data-legal-container] { width:min(100% - 3rem,1200px); margin-inline:auto; }
[data-legal-hero] { padding:30px 0 0; border-bottom:1px solid var(--color-base-300); background:radial-gradient(ellipse at 95% 0%,color-mix(in srgb,var(--color-primary) 6%,transparent),transparent 65%); }
[data-legal-hero] .breadcrumbs { margin-bottom:32px; color:color-mix(in srgb,var(--color-base-content) 65%,var(--color-base-100)); }
[data-legal-eyebrow] { margin-bottom:18px; font:600 .7rem/1.5 monospace; text-transform:uppercase; letter-spacing:.12em; color:var(--color-primary); }
[data-legal-hero] h1 { max-width:970px; margin:0 0 22px; font-size:clamp(2.15rem,4.2vw,3.6rem); font-weight:750; letter-spacing:-.045em; line-height:1.12; }
[data-legal-hero] p { max-width:750px; margin-block:12px; color:color-mix(in srgb,var(--color-base-content) 70%,var(--color-base-100)); }
[data-legal-lead] { font-size:1.08rem; }
[data-legal-links] { display:flex; flex-wrap:wrap; gap:8px; padding:24px 0; margin-top:22px; }
[data-legal-links] a[aria-current] { background:var(--color-base-200); color:var(--color-base-content); box-shadow:inset 0 -2px var(--color-primary); }
[data-legal-layout] { display:grid; grid-template-columns:250px minmax(0,1fr); gap:60px; align-items:start; padding-block:54px 90px; }
[data-legal-sticky] { position:sticky; top:90px; max-height:calc(100dvh - 120px); overflow-y:auto; padding-right:8px; }
[data-legal-layout] aside { align-self:stretch; }
[data-legal-page] .menu { gap:4px; }
[data-legal-page] .menu a { padding:8px 10px; line-height:1.45; color:color-mix(in srgb,var(--color-base-content) 74%,var(--color-base-100)); }
[data-legal-article] { min-width:0; max-width:78ch; font-size:.96rem; line-height:1.85; }
[data-legal-article] > :first-child { margin-top:0; }
[data-legal-article] h2 { font-size:1.3rem; font-weight:700; letter-spacing:-.02em; line-height:1.35; color:var(--color-base-content); margin:36px 0 18px; padding-top:24px; border-top:1px solid var(--color-base-300); scroll-margin-top:100px; }
[data-legal-article] p,[data-legal-article] ul,[data-legal-article] > div { margin-block:16px; }
[data-legal-article] ul { padding-left:1.3rem; list-style-position:outside; }
[data-legal-article] li { padding-left:4px; margin-block:8px; }
[data-legal-article] a { text-underline-offset:4px; }
[data-legal-form-layout] { padding-block:48px 80px; }
[data-legal-form-layout] .alert { align-items:start; line-height:1.75; }
[data-legal-form-layout] .alert > i { margin-top:5px; }
[data-legal-page] a:focus-visible,[data-legal-page] summary:focus-visible { outline:2px solid var(--color-primary); outline-offset:4px; }
[data-legal-mobile-toc] { border:1px solid var(--color-base-300); border-radius:var(--radius-box); background:var(--color-base-200); }
[data-legal-mobile-toc] > summary { display:flex; justify-content:space-between; align-items:center; padding:16px; cursor:pointer; font-weight:650; list-style:none; }
[data-legal-mobile-toc] > nav { padding:0 8px 12px; }
[data-legal-mobile-toc][open] > summary i { transform:rotate(180deg); }
@media(max-width:1023px) {
  [data-legal-layout] { grid-template-columns:1fr; gap:26px; padding-block:30px 56px; }
  [data-legal-article] { max-width:none; }
}
@media(max-width:600px) {
  [data-legal-container] { width:calc(100% - 2rem); }
  [data-legal-hero] { padding-top:20px; }
  [data-legal-hero] .breadcrumbs { margin-bottom:24px; }
  [data-legal-links] { gap:6px; padding-block:20px; }
  [data-legal-links] .btn { font-size:.72rem; padding-inline:10px; }
  [data-legal-article] h2 { font-size:1.16rem; }
  [data-legal-form-layout] { padding-block:30px 50px; }
}
@media print {
  #mainHeader,#footer,[data-legal-layout] aside,[data-legal-links],#cookie-banner { display:none!important; }
  [data-legal-layout] { display:block; padding-top:20px; }
  [data-legal-hero] { background:none; }
  [data-legal-article] { max-width:none; }
}
