/* ============================================
   SHARED LEGAL PAGES DARK MODE STYLES
   Include this in all legal pages
   ============================================ */

/* Container */
.legal-container {
    max-width: 900px;
    margin: 0 auto;
    padding: var(--space-12) var(--space-4);
    background: var(--background);
}

/* Header Section */
.legal-header {
    text-align: center;
    margin-bottom: var(--space-10);
    padding: var(--space-8) var(--space-4);
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--radius-xl);
}

[data-theme="dark"] .legal-header {
    background: var(--surface);
    border-color: var(--border);
}

/* Icon Circle */
.legal-icon {
    width: 80px;
    height: 80px;
    background: linear-gradient(135deg, #0ea5e9, #0284c7);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto var(--space-4);
    box-shadow: 0 10px 40px rgba(14, 165, 233, 0.3);
}

/* Page-specific icon gradients */
body:has([data-page="privacy"]) .legal-icon {
    background: linear-gradient(135deg, #10b981, #059669);
    box-shadow: 0 10px 40px rgba(16, 185, 129, 0.3);
}

body:has([data-page="lgpd"]) .legal-icon {
    background: linear-gradient(135deg, #f59e0b, #d97706);
    box-shadow: 0 10px 40px rgba(245, 158, 11, 0.3);
}

/* Title and Subtitle */
.legal-title {
    font-size: 2.5rem;
    font-weight: 700;
    color: var(--text);
    margin-bottom: var(--space-3);
    line-height: 1.2;
}

.legal-subtitle {
    color: var(--text-muted);
    font-size: 1.125rem;
}

/* Main Card */
.legal-card {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--radius-xl);
    padding: var(--space-8);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    margin-bottom: var(--space-6);
}

[data-theme="dark"] .legal-card {
    background: var(--surface);
    border-color: var(--border);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
}

/* Content */
.legal-content {
    color: var(--text);
    line-height: 1.8;
    font-size: 1rem;
}

.legal-content h3 {
    color: var(--text);
    font-size: 1.5rem;
    font-weight: 600;
    margin-top: var(--space-8);
    margin-bottom: var(--space-4);
    padding-bottom: var(--space-3);
    border-bottom: 2px solid var(--border);
}

.legal-content h4 {
    color: var(--text);
    font-size: 1.125rem;
    font-weight: 600;
    margin-top: var(--space-6);
    margin-bottom: var(--space-3);
}

.legal-content p {
    margin-bottom: var(--space-4);
    color: var(--text);
}

.legal-content ul {
    margin-left: var(--space-6);
    margin-bottom: var(--space-4);
}

.legal-content li {
    margin-bottom: var(--space-2);
    padding-left: var(--space-2);
    color: var(--text);
}

.legal-content a {
    color: var(--primary);
    text-decoration: none;
    font-weight: 500;
    transition: color 0.2s;
}

.legal-content a:hover {
    color: var(--primary-dark);
    text-decoration: underline;
}

.legal-content strong {
    color: var(--text);
    font-weight: 600;
}

/* Highlight Boxes */
.highlight-box {
    background: var(--success-soft);
    padding: var(--space-4);
    border-radius: var(--radius-lg);
    border-left: 4px solid var(--success);
    margin: var(--space-4) 0;
}

.highlight-box p {
    margin: 0;
    color: var(--text);
}

.highlight-box strong {
    color: var(--success-dark);
}

[data-theme="dark"] .highlight-box {
    background: rgba(16, 185, 129, 0.1);
    border-left-color: #10b981;
}

/* Info Box */
.info-box {
    background: var(--info-soft);
    padding: var(--space-4);
    border-radius: var(--radius-lg);
    border-left: 4px solid var(--info);
    margin: var(--space-4) 0;
}

.info-box p {
    margin: 0;
    color: var(--text);
}

.info-box strong {
    color: var(--info-dark);
}

[data-theme="dark"] .info-box {
    background: rgba(14, 165, 233, 0.1);
    border-left-color: #0ea5e9;
}

.info-box h3 {
    margin: 0 0 var(--space-2) 0;
    color: var(--text);
    font-size: 1.25rem;
    border: none;
    padding: 0;
}

/* Success Box */
.success-box {
    background: var(--success-soft);
    padding: var(--space-4);
    border-radius: var(--radius-lg);
    border-left: 4px solid var(--success);
    margin: var(--space-4) 0;
}

.success-box p {
    margin: 0;
    color: var(--text);
}

.success-box strong {
    color: var(--success-dark);
}

[data-theme="dark"] .success-box {
    background: rgba(16, 185, 129, 0.1);
    border-left-color: #10b981;
}

/* Warning Box */
.warning-box {
    background: var(--warning-soft);
    padding: var(--space-4);
    border-radius: var(--radius-lg);
    border-left: 4px solid var(--warning);
    margin: var(--space-4) 0;
}

.warning-box p {
    margin: 0;
    color: var(--text);
}

.warning-box strong {
    color: var(--warning-dark);
}

[data-theme="dark"] .warning-box {
    background: rgba(245, 158, 11, 0.1);
    border-left-color: #f59e0b;
}

/* Tables */
.legal-table {
    width: 100%;
    border-collapse: collapse;
    margin: var(--space-4) 0;
    border-radius: var(--radius-lg);
    overflow: hidden;
}

.legal-table thead {
    background: var(--gray-100);
}

[data-theme="dark"] .legal-table thead {
    background: var(--gray-700);
}

.legal-table th {
    padding: var(--space-3);
    text-align: left;
    font-weight: 600;
    color: var(--text);
    border-bottom: 2px solid var(--border);
}

.legal-table td {
    padding: var(--space-3);
    border-bottom: 1px solid var(--border);
    color: var(--text);
}

.legal-table tr:last-child td {
    border-bottom: none;
}

/* Rights Grid (for LGPD page) */
.rights-grid {
    display: grid;
    gap: var(--space-4);
    margin: var(--space-6) 0;
}

.right-card {
    background: var(--surface);
    padding: var(--space-4);
    border-radius: var(--radius-lg);
    border: 1px solid var(--border);
    border-left: 4px solid var(--primary);
    transition: transform 0.2s, box-shadow 0.2s;
}

[data-theme="dark"] .right-card {
    background: var(--surface);
    border-color: var(--border);
}

.right-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

[data-theme="dark"] .right-card:hover {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}

.right-card h4 {
    margin: 0 0 var(--space-2) 0;
    color: var(--text);
    font-size: 1.125rem;
}

.right-card p {
    margin: 0;
    color: var(--text-muted);
    font-size: 0.9375rem;
}

/* Form Section */
.form-section {
    background: var(--surface);
    border: 1px solid var(--border);
    padding: var(--space-6);
    border-radius: var(--radius-lg);
    margin: var(--space-6) 0;
}

[data-theme="dark"] .form-section {
    background: var(--surface);
    border-color: var(--border);
}

/* Actions */
.legal-actions {
    text-align: center;
    margin-top: var(--space-8);
    padding-top: var(--space-6);
    border-top: 1px solid var(--border);
}

.legal-actions .btn {
    margin: 0 var(--space-2);
}

/* Mobile Responsive */
@media (max-width: 768px) {
    .legal-title {
        font-size: 2rem;
    }

    .legal-card {
        padding: var(--space-6);
    }

    .legal-content h3 {
        font-size: 1.25rem;
    }

    .legal-table {
        font-size: 0.875rem;
    }

    .legal-table th,
    .legal-table td {
        padding: var(--space-2);
    }

    .form-section {
        padding: var(--space-4);
    }
}

/* ============================================
   DARK MODE OVERRIDES FOR INLINE STYLES
   These rules override inline styles to ensure
   proper dark mode appearance
   ============================================ */

/* Force all headings to use theme text color */
[data-theme="dark"] h1,
[data-theme="dark"] h2,
[data-theme="dark"] h3,
[data-theme="dark"] h4,
[data-theme="dark"] h5,
[data-theme="dark"] h6 {
    color: var(--text) !important;
}

/* Force all paragraphs and divs to use theme colors */
[data-theme="dark"] p,
[data-theme="dark"] div {
    color: var(--text) !important;
}

/* Muted text */
[data-theme="dark"] .text-muted,
[data-theme="dark"] p[style*="color: var(--text-muted)"],
[data-theme="dark"] p[style*="color:var(--text-muted)"],
[data-theme="dark"] div[style*="color: var(--text-muted)"],
[data-theme="dark"] div[style*="color:var(--text-muted)"] {
    color: var(--text-muted) !important;
}

/* Override all inline backgrounds on cards and containers */
[data-theme="dark"] .legal-card,
[data-theme="dark"] .card,
[data-theme="dark"] div[style*="background"],
[data-theme="dark"] div[class*="card"] {
    background: var(--surface) !important;
    border-color: var(--border) !important;
}

/* Override borders */
[data-theme="dark"] li[style*="border"],
[data-theme="dark"] details[style*="border"],
[data-theme="dark"] div[style*="border"] {
    border-color: var(--border) !important;
}

/* Links */
[data-theme="dark"] a {
    color: var(--primary) !important;
}

[data-theme="dark"] a:hover {
    color: var(--primary-dark) !important;
}

/* Icon chevrons */
[data-theme="dark"] .fa-chevron-right,
[data-theme="dark"] i[style*="color: var(--text-muted)"],
[data-theme="dark"] i[style*="color:var(--text-muted)"] {
    color: var(--text-muted) !important;
}

/* Summary elements */
[data-theme="dark"] summary {
    color: var(--text) !important;
}

/* Strong elements */
[data-theme="dark"] strong {
    color: var(--text) !important;
}

/* List items */
[data-theme="dark"] li {
    color: var(--text) !important;
}

/* Specific overrides for boxes */
[data-theme="dark"] .info-box,
[data-theme="dark"] .success-box,
[data-theme="dark"] .warning-box,
[data-theme="dark"] .highlight-box {
    background: rgba(14, 165, 233, 0.15) !important;
    border-left-color: var(--primary) !important;
}

[data-theme="dark"] .success-box {
    background: rgba(16, 185, 129, 0.15) !important;
    border-left-color: var(--success) !important;
}

[data-theme="dark"] .warning-box {
    background: rgba(245, 158, 11, 0.15) !important;
    border-left-color: var(--warning) !important;
}

/* Ensure all text inside boxes is visible */
[data-theme="dark"] .info-box *,
[data-theme="dark"] .success-box *,
[data-theme="dark"] .warning-box *,
[data-theme="dark"] .highlight-box * {
    color: var(--text) !important;
}