/* Shared styles for the Privacy Policy and Terms of Service pages. */

:root {
    color-scheme: light;
    --page-background: #f7f7f7;
    --surface: #fff;
    --border: #e1e1e1;
    --text: #333;
    --muted-text: #555;
    --link: #267a3a;
    --link-hover: #1c5e2c;
    --focus-ring: #1769aa;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    background: var(--page-background);
}

body {
    background: var(--page-background);
    color: var(--text);
    font-family: Arial, sans-serif;
    line-height: 1.6;
    margin: 0;
    overflow-wrap: break-word;
}

header,
footer {
    text-align: center;
}

header {
    background: var(--surface);
    border-bottom: 1px solid var(--border);
    padding: 38px max(20px, calc((100% - 860px) / 2));
}

header h1 {
    font-size: clamp(2rem, 5vw, 2.75rem);
    line-height: 1.2;
    margin: 0;
}

header p {
    color: var(--muted-text);
    margin: 8px 0 0;
}

main {
    margin: 0 auto;
    max-width: 900px;
    padding: 32px 20px 40px;
}

section {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 8px;
    margin: 0 0 18px;
    padding: 26px 28px;
}

h1,
h2,
h3 {
    color: var(--text);
}

h2 {
    font-size: clamp(1.3rem, 2.5vw, 1.55rem);
    line-height: 1.3;
    margin: 0 0 14px;
}

h3 {
    font-size: 1.15rem;
    line-height: 1.35;
    margin: 24px 0 10px;
}

p {
    margin: 0 0 16px;
}

p:last-child,
ul:last-child,
ol:last-child {
    margin-bottom: 0;
}

ul,
ol {
    margin: 0 0 16px;
    padding-left: 24px;
}

li + li {
    margin-top: 8px;
}

a {
    color: var(--link);
    text-decoration-thickness: 1px;
    text-underline-offset: 2px;
}

a:hover {
    color: var(--link-hover);
    text-decoration-thickness: 2px;
}

a:focus-visible {
    border-radius: 2px;
    outline: 3px solid var(--focus-ring);
    outline-offset: 3px;
}

code {
    background: #f2f8f2;
    border-radius: 3px;
    color: #245c30;
    font-family: "Courier New", monospace;
    font-size: .92em;
    padding: .1em .3em;
}

footer {
    color: var(--muted-text);
    font-size: .94rem;
    margin: 0 auto;
    max-width: 900px;
    padding: 0 20px 30px;
}

footer p {
    margin: 6px 0;
}

@media (max-width: 600px) {
    header {
        padding: 30px 16px;
    }

    main {
        padding: 20px 14px 28px;
    }

    section {
        border-radius: 6px;
        margin-bottom: 14px;
        padding: 20px;
    }

    footer {
        padding: 0 14px 24px;
    }
}

@media print {
    :root,
    html,
    body {
        background: #fff;
    }

    body {
        color: #000;
        font-size: 11pt;
        line-height: 1.45;
    }

    header {
        border: 0;
        padding: 0 0 18pt;
    }

    main {
        max-width: none;
        padding: 0;
    }

    section {
        border: 0;
        border-radius: 0;
        break-inside: avoid;
        margin: 0 0 18pt;
        padding: 0;
    }

    a {
        color: #000;
        text-decoration: underline;
    }

    footer {
        max-width: none;
        padding: 0;
    }
}
