/**
 * Grit Legal + Support Pages (Issue #25)
 *
 * Shared styles for savethefae.com /privacy, /support and /terms — the URLs
 * on the Smithy Reader App Store listing and behind the app's Settings
 * links. Uses CSS variables from grit-brand.css (loaded by grit/base.html);
 * the hero treatment matches grit-trust-pages.css so the legal surface reads
 * as part of the site rather than a bolted-on document.
 */

/* ============================================
   SHARED HERO + DOCUMENT SCAFFOLD
   ============================================ */

.legal-hero {
    background: linear-gradient(135deg, rgba(123, 68, 193, 0.95) 0%, rgba(30, 150, 252, 0.95) 50%, rgba(123, 68, 193, 0.9) 100%);
    color: white;
    padding: 4.5rem 0 3.5rem;
    text-align: center;
}

.legal-hero h1 {
    color: white;
    margin-bottom: 1rem;
}

.legal-hero .lead {
    color: rgba(255, 255, 255, 0.9);
    max-width: 620px;
    margin: 0 auto;
}

.legal-section {
    padding: 3.5rem 0 4rem;
}

.legal-narrow {
    max-width: 760px;
}

.legal-updated {
    color: var(--slate-medium);
    font-size: 0.9rem;
    margin-bottom: 2rem;
}

.legal-section h2 {
    color: var(--slate-darkest);
    font-size: var(--text-xl);
    margin: 2.5rem 0 1rem;
}

.legal-section h2:first-of-type {
    margin-top: 0;
}

.legal-section h3 {
    color: var(--slate-darkest);
    font-size: var(--text-lg);
    margin: 1.75rem 0 0.75rem;
}

.legal-section p,
.legal-section li,
.legal-section dd {
    color: var(--slate-medium);
}

.legal-section a {
    color: var(--accent-blue);
}

.legal-section ul,
.legal-section ol {
    padding-left: 1.25rem;
}

.legal-section li {
    margin-bottom: 0.5rem;
}

/* ============================================
   CALLOUT (the one fact a reader must not miss)
   ============================================ */

.legal-callout {
    background: var(--glass-primary);
    border-left: 4px solid var(--color-purple);
    border-radius: var(--radius-md);
    padding: 1.25rem 1.75rem;
    margin: 1.5rem 0 2rem;
}

.legal-callout p:last-child {
    margin-bottom: 0;
}

/* ============================================
   EU TRADER BLOCK
   ============================================ */

.legal-trader-table {
    width: 100%;
    border-collapse: collapse;
    margin: 1.25rem 0 1rem;
}

.legal-trader-table th,
.legal-trader-table td {
    padding: 0.7rem 1rem;
    border-bottom: 1px solid rgba(50, 48, 49, 0.15);
    text-align: left;
    vertical-align: top;
    color: var(--slate-medium);
}

.legal-trader-table th {
    color: var(--slate-darkest);
    font-weight: 700;
    white-space: nowrap;
    width: 12rem;
}

/* The details we have NOT been given. Styled as a note, never as a value —
   nothing in this block may read like an address. */
.legal-pending {
    background: var(--glass-secondary);
    border-radius: var(--radius-md);
    padding: 1rem 1.5rem;
    font-size: 0.92rem;
}

/* ============================================
   SUPPORT: COMMON REQUESTS
   ============================================ */

.legal-faq dt {
    color: var(--slate-darkest);
    font-weight: 700;
    margin-top: 1.25rem;
}

.legal-faq dd {
    margin: 0.35rem 0 0;
}

.legal-contact {
    margin-top: 2.5rem;
}

@media (max-width: 576px) {
    .legal-hero {
        padding: 3rem 0 2.5rem;
    }

    .legal-trader-table th {
        width: auto;
        white-space: normal;
    }
}
