/* Shared legal page theme */
body:has(.legal-page) { background: #f4f7f5 !important; color: #18312f; }
.legal-page { --legal-ink: #18312f; --legal-muted: #6d7e7a; --legal-line: #dbe7e2; --legal-teal: #126b68; --legal-dark: #0b4f4d; --legal-coral: #d56f4b; padding-bottom: 2rem; }
.legal-page .policy-header { margin: 0 0 2.5rem; padding: 3.8rem 0 3.2rem; border-radius: 0; background: var(--legal-dark); box-shadow: none; }
.legal-page .policy-header::before { display: none; }
.legal-page .policy-header .container, .legal-page > .container { max-width: 980px; }
.legal-page .policy-header h1 { margin: 0 0 .7rem; color: #fff; font-family: 'Manrope', 'DM Sans', sans-serif; font-size: clamp(2rem, 4vw, 3.2rem); letter-spacing: -.045em; text-shadow: none; }
.legal-page .policy-header p { color: rgba(255,255,255,.72); font-size: 1rem; }
.legal-page .update-badge { display: inline-flex; align-items: center; gap: .45rem; padding: .45rem .7rem; border: 1px solid rgba(255,255,255,.2); border-radius: 99px; color: rgba(255,255,255,.8); background: rgba(255,255,255,.08); font-size: .75rem; }
.legal-page .policy-card { margin-bottom: 0; border: 1px solid var(--legal-line); border-radius: 14px; background: #fff; box-shadow: 0 14px 34px rgba(24,49,47,.08); }
.legal-page .policy-card:hover { transform: none; box-shadow: 0 14px 34px rgba(24,49,47,.08); }
.legal-page .policy-card-header { padding: 1.2rem 1.5rem; border-bottom: 1px solid var(--legal-line); background: #fff; color: var(--legal-ink); }
.legal-page .policy-card-header h2 { font-family: 'Manrope', 'DM Sans', sans-serif; font-size: 1.25rem; letter-spacing: -.025em; }
.legal-page .policy-card-header h2 i { color: var(--legal-teal); }
.legal-page .policy-card-body { padding: clamp(1.25rem, 4vw, 2.5rem); }
.legal-page .policy-section { margin-bottom: 2.2rem; }
.legal-page .policy-section h4 { margin-bottom: .9rem; padding-bottom: .6rem; border-bottom: 1px solid var(--legal-line); color: var(--legal-teal); font-size: 1.15rem; letter-spacing: -.015em; }
.legal-page .policy-section h4 i { color: var(--legal-coral); font-size: 1rem; }
.legal-page .policy-section p, .legal-page .policy-section ul { color: #405450; font-size: .96rem; line-height: 1.8; }
.legal-page .policy-section ul li { margin-bottom: .55rem; }
.legal-page .policy-section ul li::before { color: var(--legal-coral); }
.legal-page .info-box, .legal-page .warning-box, .legal-page .info-card, .legal-page .alert-modern { border-radius: 9px; box-shadow: none; }
.legal-page .info-box, .legal-page .warning-box, .legal-page .info-card { background: #fff5e3; border-left-color: var(--legal-coral); }
.legal-page .info-box h5, .legal-page .warning-box h5 { color: #8a5116; }
.legal-page .rights-grid { gap: .75rem; }
.legal-page .right-card { border: 1px solid var(--legal-line); border-radius: 10px; background: #f8fbfa; }
.legal-page .right-card:hover { transform: none; border-color: #9cc8ba; box-shadow: none; }
.legal-page .policy-table { box-shadow: none; border: 1px solid var(--legal-line); }
.legal-page .policy-table thead { background: var(--legal-teal); }
.legal-page .policy-table tbody tr:hover { background: #f4f9f7; }
@media (max-width: 576px) { .legal-page .policy-header { padding: 2.8rem 0 2.4rem; } .legal-page .policy-header h1 { font-size: 2rem; } .legal-page .policy-header .text-md-end { text-align: left !important; } .legal-page .policy-card-body { padding: 1.1rem; } .legal-page .policy-section p, .legal-page .policy-section ul { font-size: .9rem; } }
