/* ============================================================
   EnjoyCar — Legal pages (Terms / Privacy)
   Loaded after home.css, so it re-uses the :root design tokens
   defined there. Provides the typographic page container plus
   styles for content coming from the WP editor (the_content()
   emits arbitrary markup).
   ============================================================ */

.legal-page {
    padding: 80px 0 120px;
    background: var(--surface-primary);
}

.legal {
    color: var(--text-body);
}

.legal__inner {
    max-width: 800px;
    margin: 0 auto;
    padding: 0 60px;
    width: 100%;
}

.legal__head {
    margin-bottom: 48px;
    padding-bottom: 24px;
    border-bottom: 1px solid var(--border-default);
}

.legal__title {
    font-family: var(--font-brand);
    font-weight: 800;
    font-size: 48px;
    line-height: 52px;
    letter-spacing: -0.5px;
    color: var(--text-headings);
    margin-bottom: 12px;
}

.legal__updated {
    font-size: 14px;
    line-height: 20px;
    color: var(--text-signature);
}

/* ---- WP editor content ---- */

.legal__content > * + * {
    margin-top: 16px;
}

.legal__content h2 {
    font-family: var(--font-brand);
    font-weight: 800;
    font-size: 24px;
    line-height: 32px;
    letter-spacing: -0.25px;
    color: var(--text-headings);
    margin-top: 40px;
}

.legal__content h3 {
    font-family: var(--font-brand);
    font-weight: 700;
    font-size: 18px;
    line-height: 26px;
    color: var(--text-headings);
    margin-top: 28px;
}

.legal__content > h2:first-child,
.legal__content > h3:first-child {
    margin-top: 0;
}

.legal__content p,
.legal__content li {
    font-size: 16px;
    line-height: 28px;
    color: var(--text-body);
}

.legal__content ul,
.legal__content ol {
    margin-left: 24px;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.legal__content ul { list-style: disc; }
.legal__content ol { list-style: decimal; }

.legal__content a {
    color: var(--text-link);
    text-decoration: underline;
    text-underline-offset: 3px;
    transition: color .2s var(--ease);
}

.legal__content a:hover {
    color: var(--surface-brand-hover);
}

.legal__content strong { font-weight: 700; }
.legal__content em     { font-style: italic; }

.legal__content blockquote {
    margin: 20px 0;
    padding: 16px 24px;
    border-left: 3px solid var(--surface-brand);
    background: var(--surface-secondary);
    border-radius: 0 var(--r-300) var(--r-300) 0;
    color: var(--text-headings);
    font-style: italic;
}

.legal__content hr {
    border: 0;
    border-top: 1px solid var(--border-default);
    margin: 32px 0;
}

@media (max-width: 1024px) {
    .legal-page { padding: 56px 0 96px; }
    .legal__title { font-size: 38px; line-height: 42px; }
}

@media (max-width: 640px) {
    .legal-page { padding: 40px 0 72px; }
    .legal__inner { padding: 0 20px; }
    .legal__head { margin-bottom: 32px; }
    .legal__title { font-size: 30px; line-height: 34px; }
    .legal__content h2 { font-size: 20px; line-height: 28px; margin-top: 32px; }
    .legal__content h3 { font-size: 17px; line-height: 24px; margin-top: 24px; }
}
