/* English legal pages in Ink (views/frontend/legal/legal_ink.pug, body .ikl). A plain document: one readable column with the
   contents list beside it. The legal-* class names come from the old template, so the words and markup stay the same. */
html body.ik:not(#_) .lg-hero { padding-bottom: clamp(32px, 4vw, 56px); }
html body.ik:not(#_) h1.lg-h1 { max-width: 900px; font-size: clamp(40px, 4.6vw, 68px) !important; }
html body.ik:not(#_) .lg-meta { display: flex; flex-wrap: wrap; gap: 6px 24px; margin-top: 18px; }
html body.ik:not(#_) .lg-meta p { margin: 0; font-size: 15px; color: var(--cf-on-ink-2); }
html body.ik:not(#_) .lg-meta strong { font-weight: 500; color: var(--cf-on-ink); }

html body.ik:not(#_) .lg-doc .legal-content__container { display: grid; grid-template-columns: 250px minmax(0, 760px); gap: 56px; align-items: start; }
html body.ik:not(#_) .lg-doc .legal-content__container > * { grid-column: 2; }
html body.ik:not(#_) .lg-doc nav.legal-toc { grid-column: 1; grid-row: 1 / span 400; position: sticky; top: 96px; max-height: calc(100vh - 120px); overflow: auto; padding: 18px; border-radius: 20px; background: #fff; }
html body.ik:not(#_) .lg-doc h2.legal-toc__title { margin: 0 0 10px; font-size: 14px !important; font-weight: 600 !important; letter-spacing: 0; color: var(--cf-text); }
html body.ik:not(#_) .lg-doc .legal-toc__list { margin: 0; padding: 0; list-style: none; }
html body.ik:not(#_) .lg-doc .legal-toc__item { margin: 0; }
html body.ik:not(#_) .lg-doc a.legal-toc__link { display: block; padding: 6px 0; font-size: 14px; line-height: 1.35; color: var(--cf-text-2); text-decoration: none; }
html body.ik:not(#_) .lg-doc a.legal-toc__link:is(:hover, :focus-visible) { color: var(--cf-text); text-decoration: underline; text-underline-offset: 3px; }

html body.ik:not(#_) .lg-doc .legal-intro p { margin: 0 0 8px; font-size: 19px; line-height: 1.6; color: var(--cf-text); }
html body.ik:not(#_) .lg-doc .legal-section { padding: 28px 0 0; scroll-margin-top: 96px; }
html body.ik:not(#_) .lg-doc h2.legal-section__title { margin: 0 0 12px; font-size: 24px !important; font-weight: 500 !important; letter-spacing: -.01em; line-height: 1.25; color: var(--cf-text); }
html body.ik:not(#_) .lg-doc h3.legal-subsection__title { margin: 18px 0 8px; font-size: 18px !important; font-weight: 500 !important; color: var(--cf-text); }
html body.ik:not(#_) .lg-doc :is(.legal-section__content p, p.legal-subsection__content, .legal-section__footer p, .legal-contact p) { margin: 0 0 12px; font-size: 16.5px; line-height: 1.7; color: var(--cf-text-2); }
html body.ik:not(#_) .lg-doc ul.legal-list, html body.ik:not(#_) .lg-doc ul.legal-links-list { margin: 0 0 14px; padding-left: 22px; list-style: disc; }
html body.ik:not(#_) .lg-doc li.legal-list__item, html body.ik:not(#_) .lg-doc .legal-links-list li { margin: 0 0 8px; font-size: 16.5px; line-height: 1.65; color: var(--cf-text-2); }
html body.ik:not(#_) .lg-doc :is(li, p) strong { font-weight: 600; color: var(--cf-text); }
html body.ik:not(#_) .lg-doc a:not(.legal-toc__link) { color: var(--cf-text); text-decoration: underline; text-underline-offset: 3px; }
html body.ik:not(#_) .lg-doc .legal-contact { margin-top: 8px; padding: 18px 20px; border-radius: 18px; background: #fff; }
html body.ik:not(#_) .lg-doc .legal-definitions dt { margin-top: 12px; font-weight: 600; color: var(--cf-text); }
html body.ik:not(#_) .lg-doc .legal-definitions dd { margin: 4px 0 0; font-size: 16px; line-height: 1.65; color: var(--cf-text-2); }
html body.ik:not(#_) .lg-doc :is(.legal-plans, .legal-subprocessors) { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 12px; margin: 8px 0 14px; }
html body.ik:not(#_) .lg-doc :is(.legal-plan-card, .legal-subprocessor-card) { padding: 16px 18px; border-radius: 16px; background: #fff; }
html body.ik:not(#_) .lg-doc :is(.legal-plan-card, .legal-subprocessor-card) h4 { margin: 0 0 6px; font-size: 17px; font-weight: 600; color: var(--cf-text); }
html body.ik:not(#_) .lg-doc :is(.legal-plan-card, .legal-subprocessor-card) p { margin: 0 0 4px; font-size: 15px; line-height: 1.5; color: var(--cf-text-2); }
html body.ik:not(#_) .lg-doc .legal-cookie-table { overflow-x: auto; margin: 8px 0 14px; border-radius: 16px; background: #fff; }
html body.ik:not(#_) .lg-doc table.legal-table { width: 100%; border-collapse: collapse; font-size: 14px; }
html body.ik:not(#_) .lg-doc .legal-table :is(th, td) { padding: 10px 12px; border-bottom: 1px solid var(--cf-line); text-align: left; vertical-align: top; color: var(--cf-text-2); }
html body.ik:not(#_) .lg-doc .legal-table th { font-weight: 600; color: var(--cf-text); }
html body.ik:not(#_) .lg-doc .cookie-type { display: inline-block; padding: 2px 8px; border-radius: 999px; background: var(--cf-mist); font-size: 12px; font-weight: 500; color: var(--cf-text); }
html body.ik:not(#_) .lg-doc button.legal-cookie-settings { height: 44px; margin: 4px 0 14px; padding: 0 18px; border: 1px solid var(--cf-text); border-radius: 8px; background: #fff; font: inherit; font-size: 15px; font-weight: 500; color: var(--cf-text); cursor: pointer; }

@media (max-width: 899px) {
  html body.ik:not(#_) .lg-doc .legal-content__container { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  html body.ik:not(#_) .lg-doc .legal-content__container > *, html body.ik:not(#_) .lg-doc nav.legal-toc { grid-column: 1; grid-row: auto; position: static; max-height: none; }
}

/* Centered translated section titles left one short word alone on the last line ("UE", "dados"); balance the lines. */
html:not([lang^="en"]) body.ik:not(#_) .lg-doc h2.legal-section__title { text-wrap: balance; }

/* German and Dutch legal compounds ("Standaardcontractbepalingen", "Anwendungsprotokollierung") are wider than a 220px
   plan or subprocessor card; on translated pages they hyphenate inside the card instead of running past it (2026-11-07). */
html:not([lang^="en"]) body.ik:not(#_) .lg-doc :is(.legal-plan-card, .legal-subprocessor-card) { overflow-wrap: anywhere; hyphens: auto; }
