.legal-page{background:var(--paper-2);min-height:100vh;padding:48px 0 96px}
.legal-shell{max-width:920px;margin:0 auto;padding:0 var(--gutter)}
.legal-back{display:inline-flex;align-items:center;gap:8px;margin-bottom:28px;color:var(--petrol2);font-weight:600}
.legal-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(24px,5vw,56px);box-shadow:var(--sh-2)}
.legal-card h1{font-size:clamp(30px,5vw,52px);margin-bottom:16px}
.legal-card h2{font-size:clamp(21px,3vw,29px);margin:38px 0 14px}
.legal-card h3{font-size:18px;margin:24px 0 10px}
.legal-card p,.legal-card li{font-size:16px;line-height:1.68}
.legal-card p+p{margin-top:12px}
.legal-card ul,.legal-card ol{padding-left:24px;margin:12px 0}
.legal-card li+li{margin-top:7px}
.legal-card a{color:var(--orange);text-decoration:underline;text-underline-offset:3px}
.legal-meta{display:flex;flex-wrap:wrap;gap:8px 22px;padding:16px 0 24px;border-bottom:1px solid var(--line);color:var(--muted);font-size:14px}
.legal-note{margin:22px 0;padding:18px 20px;border-radius:var(--r-md);background:var(--sky-soft);border:1px solid var(--line)}
.legal-warning{background:#fff4ee;border-color:#f0c8b5}
.legal-table-wrap{overflow-x:auto;margin:18px 0}
.legal-table{width:100%;border-collapse:collapse;font-size:15px}
.legal-table th,.legal-table td{padding:13px 14px;border:1px solid var(--line);vertical-align:top;text-align:left}
.legal-table th{background:var(--sky-soft);color:var(--petrol)}
.legal-footer{margin-top:28px;color:var(--muted);font-size:14px}
.legal-form{margin:22px 0;padding:22px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--paper-2)}
.legal-form h3{margin-top:0}
.legal-form label{display:grid;gap:7px;margin-top:14px;font-weight:600;color:var(--petrol)}
.legal-form input{width:100%;min-height:48px;padding:11px 13px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);font:inherit}
.legal-form input:focus{outline:2px solid var(--orange);outline-offset:2px}
.legal-submit{margin-top:17px;border:0;border-radius:999px;padding:12px 18px;background:var(--orange);color:#fff;font-weight:700}
.legal-submit:disabled{opacity:.65;cursor:wait}
.legal-form-status{min-height:26px;margin-top:12px;font-weight:600;color:var(--petrol)}
.legal-form-status.is-error{color:#9a2e22}

/* Consent centre: isolated names prevent collisions with the shop UI. */
.soar-consent-open{position:fixed;left:16px;bottom:16px;z-index:108;background:#fff;color:var(--petrol);border:1px solid var(--line);border-radius:999px;padding:10px 15px;font-weight:600;box-shadow:var(--sh-2)}
.soar-consent-banner{position:fixed;inset:auto 14px 14px;z-index:110;max-width:760px;margin:auto;background:#fff;border:1px solid var(--line);border-radius:22px;padding:20px;box-shadow:var(--sh-3)}
.soar-consent-banner h2,.soar-consent-dialog h2{font-size:21px;margin-bottom:8px}
.soar-consent-banner p,.soar-consent-dialog p{font-size:14px;line-height:1.5}
.soar-consent-banner a,.soar-consent-dialog a{color:var(--orange);text-decoration:underline}
.soar-consent-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:16px}
.soar-consent-btn{border:1px solid var(--line);border-radius:999px;padding:11px 16px;font-weight:600;background:#fff}
.soar-consent-btn.primary{background:var(--orange);border-color:var(--orange);color:#fff}
.soar-consent-backdrop{position:fixed;inset:0;z-index:111;background:rgba(18,48,57,.55);display:grid;place-items:center;padding:18px}
.soar-consent-dialog{width:min(620px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:24px;padding:clamp(22px,4vw,36px);box-shadow:var(--sh-3)}
.soar-consent-close{float:right;width:38px;height:38px;border:1px solid var(--line);border-radius:50%;font-size:24px;line-height:1}
.soar-consent-row{display:grid;grid-template-columns:1fr auto;gap:18px;padding:18px 0;border-top:1px solid var(--line)}
.soar-consent-row:first-of-type{margin-top:18px}
.soar-consent-row strong{display:block;color:var(--petrol);margin-bottom:4px}
.soar-consent-toggle{width:48px;height:28px;margin-top:3px;accent-color:var(--orange)}
.soar-consent-always{color:var(--petrol2);font-size:13px;font-weight:700}
[hidden].soar-consent-banner,[hidden].soar-consent-backdrop{display:none}
@media(max-width:560px){.soar-consent-banner{inset:auto 8px 8px}.soar-consent-actions{display:grid}.soar-consent-btn{width:100%}.soar-consent-open{left:8px;bottom:8px}}
