/* Termo de Adesão do Programa de Parceiros: documento legível na tela e na impressão. */
:root {
    --ink: #0f172a;
    --ink-2: #334155;
    --muted: #5b6b82;
    --line: #e2e8f0;
    --blue: #0056b3;
    --soft: #f1f6fd;
}

* { box-sizing: border-box; }

body {
    margin: 0;
    background: #f8fafc;
    color: var(--ink);
    font-family: 'Poppins', 'Poppins Fallback', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
    font-size: 15px;
    line-height: 1.7;
}

.terms {
    max-width: 820px;
    margin: 0 auto;
    padding: 40px 20px 56px;
}

.terms-head { padding-bottom: 20px; border-bottom: 1px solid var(--line); margin-bottom: 24px; }
.terms-head img { display: block; height: 44px; width: auto; margin-bottom: 18px; }
.terms-kicker { margin: 0; font-size: 0.8125rem; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: var(--blue); }
.terms-head h1 { margin: 4px 0 6px; font-size: 1.625rem; line-height: 1.3; }
.terms-version { margin: 0; font-size: 0.875rem; color: var(--muted); }

.terms-summary {
    margin: 0 0 28px;
    padding: 18px 22px;
    background: var(--soft);
    border: 1px solid #cfe0f5;
    border-left: 4px solid var(--blue);
    border-radius: 12px;
}
.terms-summary h2 { margin: 0 0 8px; font-size: 1rem; }
.terms-summary ul { margin: 0; padding-left: 20px; color: var(--ink-2); }
.terms-summary li { margin: 4px 0; }
.terms-note { margin: 10px 0 0; font-size: 0.8125rem; color: var(--muted); }

section { margin: 0 0 22px; }
section h2 { margin: 0 0 8px; font-size: 1.0625rem; line-height: 1.4; }
section p { margin: 0 0 10px; color: var(--ink-2); text-align: justify; hyphens: auto; }
ol.alpha { list-style: lower-alpha; margin: 0 0 10px; padding-left: 26px; color: var(--ink-2); }
ol.alpha li { margin: 4px 0; text-align: justify; }
strong { color: var(--ink); }

.terms-foot { margin-top: 36px; padding-top: 16px; border-top: 1px solid var(--line); font-size: 0.8125rem; color: var(--muted); }
.terms-foot p { margin: 0; }

@media (max-width: 600px) {
    body { font-size: 14px; }
    .terms { padding: 24px 16px 40px; }
    .terms-head h1 { font-size: 1.3125rem; }
    section p, ol.alpha li { text-align: left; }
}

@media print {
    body { background: #fff; font-size: 11pt; }
    .terms { padding: 0; max-width: none; }
    .terms-summary { break-inside: avoid; }
    section { break-inside: avoid-page; }
}
