/* Privacy & cookie notice */
.privacy-header { padding: 96px 0 40px; }
.privacy-header .body { max-width: 720px; margin-top: 16px; }
.privacy-header .btn-row { margin-top: 24px; }
.privacy-body { padding-top: 24px; }
.privacy-grid { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 56px; align-items: start; }
.privacy-toc { position: sticky; top: 24px; display: grid; gap: 4px; }
.privacy-toc a { color: var(--fv-text-soft); text-decoration: none; font-size: 14px; padding: 6px 0; }
.privacy-toc a:hover { color: var(--fv-orange); }
.privacy-text { max-width: 820px; min-width: 0; }
.privacy-text h2 { font-size: 24px; font-weight: 600; letter-spacing: -.01em; margin: 48px 0 12px; scroll-margin-top: 24px; }
.privacy-text h2:first-child { margin-top: 0; }
.privacy-text p, .privacy-text li { color: var(--fv-text-soft); line-height: 1.7; font-size: 15px; }
.privacy-text a { color: var(--fv-orange); }
.privacy-text code { font-size: 13px; background: #ffffff10; padding: 1px 6px; border-radius: 4px; }
.privacy-table { overflow-x: auto; margin: 16px 0; border: 1px solid var(--fv-border); border-radius: 14px; }
.privacy-table table { width: 100%; min-width: 640px; border-collapse: collapse; font-size: 14px; }
.privacy-table th, .privacy-table td { text-align: left; vertical-align: top; padding: 12px 14px; border-bottom: 1px solid var(--fv-border); color: var(--fv-text-soft); line-height: 1.5; }
.privacy-table th { color: #fff; font-weight: 600; background: #ffffff06; }
.privacy-table tr:last-child td { border-bottom: 0; }
.link-button { background: none; border: 0; padding: 0; color: var(--fv-orange); font: inherit; text-decoration: underline; cursor: pointer; }
.privacy-form { max-width: 520px; margin-top: 16px; padding: 24px; border-radius: 18px; border: 1px solid var(--fv-border); background: #ffffff05; }
.privacy-form .btn { margin-top: 4px; }
.privacy-form .form-done { margin: 14px 0 0; color: #9be3b4; }
@media (max-width: 1023px) { .privacy-grid { grid-template-columns: 1fr; gap: 24px; } .privacy-toc { position: static; display: flex; flex-wrap: wrap; gap: 4px 16px; } }
@media (max-width: 767px) { .privacy-header { padding: 56px 0 24px; } .privacy-form { padding: 18px; } .privacy-header .btn-row { display: grid; } }

/* ======================= Laptops and short screens ======================= */
@media (min-width: 768px) { .privacy-header { padding: clamp(32px, 9vh, 96px) 0 clamp(24px, 4.5vh, 40px); } }
/* A readable measure for the notice text (~70 characters a line). */
.privacy-text p, .privacy-text li { max-width: 72ch; }
.privacy-text h2 { scroll-margin-top: calc(var(--fv-sticky-offset, 0px) + 24px); }
@media (min-width: 1024px) { .privacy-toc { max-height: calc(100vh - 48px); max-height: calc(100svh - 48px); overflow-y: auto; } }
