.storefront-footer-legal { display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: 18px; }
.storefront-footer-legal a { padding: 4px 6px; border: 1px solid transparent; border-radius: 8px; color: var(--sf-muted); font-size: .82rem; font-weight: 750; text-decoration: none; }
.storefront-footer-legal a:hover { border-color: color-mix(in srgb, var(--sf-line) 84%, transparent); background: color-mix(in srgb, var(--sf-surface-elevated) 72%, transparent); color: var(--sf-ink); text-decoration: none; }
.storefront-footer-legal a:focus-visible { border-color: color-mix(in srgb, var(--sf-accent) 58%, var(--sf-line)); background: color-mix(in srgb, var(--sf-accent) 10%, var(--sf-surface)); color: var(--sf-ink); outline: 2px solid color-mix(in srgb, var(--sf-accent) 60%, transparent); outline-offset: 2px; text-decoration: none; }
.legal-page { background: var(--sf-page-bg); }
.legal-page-header { padding: clamp(34px, 5vw, 58px) 0 28px; border-bottom: 1px solid var(--sf-line); }
.legal-page-header-inner, .legal-page-section > .storefront-shell { width: min(100% - 32px, 1040px); margin-inline: auto; }
.legal-page-header h1 { margin: 0 0 12px; font-size: clamp(2rem, 4.6vw, 3.55rem); line-height: 1.05; letter-spacing: -.045em; }
.legal-page-header p, .legal-updated, .legal-document p, .legal-document li { color: var(--sf-muted); line-height: 1.75; }
.legal-page-header p { max-width: 760px; margin: 0; }
.legal-updated { display: block; margin-top: 14px; font-size: .84rem; font-weight: 750; }
.legal-page-section { padding: 34px 0 76px; }
.legal-document { width: 100%; margin-inline: auto; padding: clamp(24px, 4vw, 52px); border: 1px solid var(--sf-line); border-radius: var(--sf-radius-large); background: var(--sf-surface); box-shadow: var(--sf-shadow-sm); }
.legal-document section { padding-bottom: 28px; border-bottom: 1px solid var(--sf-line); }
.legal-document section + section { padding-top: 28px; }
.legal-document section:last-child { padding-bottom: 0; border-bottom: 0; }
.legal-document h2 { margin: 0 0 13px; font-size: clamp(1.22rem, 2.5vw, 1.65rem); letter-spacing: -.03em; }
.legal-document p { margin: 0 0 12px; }
.legal-document p:last-child { margin-bottom: 0; }
.legal-document ul { display: grid; gap: 8px; margin: 12px 0 0; padding-left: 22px; }
.legal-document a { color: var(--sf-accent-dark); font-weight: 750; overflow-wrap: anywhere; text-underline-offset: 3px; }
.storefront-legal-consent {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: start;
    gap: 10px;
    margin: 2px 0 0;
    color: var(--sf-muted);
    font-size: .78rem;
    line-height: 1.55;
}
.storefront-legal-consent input {
    width: 17px;
    height: 17px;
    margin-top: 2px;
    accent-color: var(--sf-accent);
}
.storefront-legal-consent a { color: var(--sf-accent-dark); font-weight: 750; text-underline-offset: 3px; }
@media (max-width: 620px) {
    .legal-page-header { padding: 32px 0 24px; }
    .legal-page-header-inner, .legal-page-section > .storefront-shell { width: min(100% - 24px, 1040px); }
    .legal-page-section { padding: 24px 0 56px; }
    .legal-document { padding: 22px 18px; }
    .legal-document section { padding-bottom: 24px; }
    .legal-document section + section { padding-top: 24px; }
    .legal-document p, .legal-document li { font-size: .94rem; line-height: 1.68; }
    .storefront-legal-consent { font-size: .76rem; }
}
