/* The three legal pages (privacy-policy, cookie-policy, terms-and-conditions). Loaded after style.css, which supplies
   the fonts, colours and the light "paper" theme. */

body.legal { background: var(--ink); }
.legal-top { background: #fffaf2; text-align: center; padding: 22px 16px 0; }
.legal-top img { width: min(230px, 62vw); height: auto; margin: 0 auto; }

.legal-page { background: var(--bg); color: var(--body); padding: 18px 0 84px; }
.legal-wrap { max-width: 780px; margin: 0 auto; padding: 0 22px; }

.lang-switch { display: flex; justify-content: center; gap: 10px; margin: 6px 0 26px; }
.lang-switch a { padding: 8px 20px; border: 1px solid var(--brand-red); border-radius: 999px; color: var(--brand-red); text-decoration: none; font: 600 13px/1 var(--label); letter-spacing: .18em; text-transform: uppercase; }
.lang-switch a:hover, .lang-switch a:focus-visible { background: var(--brand-red); color: #fff; }

.legal-wrap article { margin-bottom: 70px; scroll-margin-top: 12px; }
.legal-wrap .kicker { display: block; text-align: center; }
.legal-wrap h1 { font: 400 clamp(3.2rem, 10vw, 5rem)/1 var(--script); font-synthesis: none; color: var(--fg); text-align: center; margin: 6px 0 14px; }
.legal-wrap .lead { text-align: center; font-size: 1.12rem; max-width: 60ch; margin: 0 auto 30px; }
.legal-wrap h2 { font: 600 1.05rem/1.4 var(--label); letter-spacing: .16em; text-transform: uppercase; color: var(--brand-black); margin: 36px 0 10px; }
.legal-wrap p, .legal-wrap li { font-size: 1.04rem; line-height: 1.7; }
.legal-wrap p { margin: 0 0 12px; }
.legal-wrap ul { margin: 8px 0 12px; padding-left: 1.25em; }
.legal-wrap li { margin: 9px 0; }
.legal-wrap a { color: var(--brand-red); text-underline-offset: 3px; }
.legal-wrap strong { color: var(--brand-black); }

.owner-block { margin: 6px 0 14px; padding: 12px 18px; background: #fff; border-left: 4px solid var(--brand-red); border-radius: 0 14px 14px 0; line-height: 1.6; }
.table-wrap { overflow-x: auto; margin: 14px 0 16px; border-radius: 12px; }
.legal-wrap table { border-collapse: collapse; width: 100%; background: #fff; font-size: .95rem; }
.legal-wrap th, .legal-wrap td { text-align: left; vertical-align: top; padding: 10px 12px; border: 1px solid #eadfcc; }
.legal-wrap thead th { font: 600 12px/1.3 var(--label); letter-spacing: .14em; text-transform: uppercase; background: #fff4e0; }
.legal-wrap code { font-size: .92em; }

.legal-more { margin-top: 34px !important; padding-top: 18px; border-top: 1px solid rgb(22 23 23 / .2); font: 600 13px/1.8 var(--label) !important; letter-spacing: .14em; text-transform: uppercase; }

.legal-foot { background: var(--ink); color: #f3e7d6; text-align: center; padding: 30px 16px 36px; }
.legal-foot nav { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px 26px; font: 500 12px/1 var(--label); letter-spacing: .2em; text-transform: uppercase; }
.legal-foot a { text-decoration: none; }
.legal-foot a:hover { color: var(--sun); }
