/* Shared styles for the legal/policy pages (terms, privacy, refunds).
   Matches the store's look; readable long-form text using the shared type
   tokens (loaded globally via simple-header loadGlobalStyles). */

* { margin: 0; padding: 0; box-sizing: border-box; }

body {
    font-family: var(--font-ui, 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif);
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    min-height: var(--vh-fix, 100vh);
    padding-bottom: 50px;
}

.legal-container {
    position: relative;
    z-index: 1; /* above any fixed backdrop (compact-mode gotcha) */
    max-width: 860px;
    margin: 0 auto;
    padding: 20px 15px;
}

.legal-nav {
    display: flex;
    gap: 8px;
    margin-bottom: 16px;
    flex-wrap: wrap;
}

.legal-nav a {
    background: rgba(255, 255, 255, 0.2);
    color: #fff;
    text-decoration: none;
    padding: 8px 16px;
    border-radius: 20px;
    font-size: var(--fs-small, 1rem);
    font-weight: 600;
}

.legal-nav a.active,
.legal-nav a:hover {
    background: rgba(255, 255, 255, 0.92);
    color: #4a3f8f;
}

.legal-card {
    background: rgba(255, 255, 255, 0.97);
    border-radius: 16px;
    padding: 28px 24px;
    color: #2c3e50;
    line-height: 1.6;
    font-size: var(--fs-body, 1.3rem);
}

.legal-card h1 {
    font-family: var(--font-display, inherit);
    font-size: var(--fs-title, 1.8rem);
    margin-bottom: 4px;
    color: #4a3f8f;
}

.legal-card h2 {
    font-size: var(--fs-subtitle, 1.45rem);
    margin: 26px 0 10px;
    color: #4a3f8f;
}

.legal-card h3 { margin-bottom: 6px; }

.legal-card p { margin-bottom: 12px; }

.legal-card ul {
    margin: 0 0 12px 22px;
}

.legal-card li { margin-bottom: 8px; }

.legal-card a { color: #5b6ee1; }

.legal-updated {
    font-size: var(--fs-small, 1rem);
    color: #7f8c8d;
    margin-bottom: 20px;
}

.legal-kids-box {
    background: #eef3ff;
    border-left: 4px solid #667eea;
    border-radius: 10px;
    padding: 14px 16px;
    margin-bottom: 20px;
}

.legal-table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 14px;
    font-size: var(--fs-small, 1rem);
    display: block;
    overflow-x: auto; /* wide table scrolls inside itself on small screens */
}

.legal-table th,
.legal-table td {
    border: 1px solid #dfe4f5;
    padding: 8px 10px;
    text-align: left;
    vertical-align: top;
}

.legal-table th { background: #f0f2fc; color: #4a3f8f; }
