@layer features.legal;

@layer features.legal {
	body.legal-area {
		--legal-meta-card-border-color: rgba(148, 163, 184, 0.18);
		--legal-meta-card-background: var(--app-surface-color);
		--legal-meta-card-shadow: var(--app-shadow-sm);
		--legal-callout-border-color: rgba(91, 95, 248, 0.14);
		--legal-callout-shadow: var(--app-shadow-sm);
		--legal-warning-border-color: rgba(217, 119, 6, 0.16);
		--legal-warning-background: rgba(255, 251, 235, 0.92);
		--legal-danger-border-color: rgba(225, 29, 72, 0.18);
		--legal-danger-background: rgba(255, 241, 242, 0.94);
		--legal-table-border-color: rgba(148, 163, 184, 0.16);
		--legal-table-head-color: var(--app-ink-700);
	}

		body.legal-area .legal-meta-card {
			border: 1px solid var(--legal-meta-card-border-color);
			border-radius: var(--app-radius-xl);
			background: var(--legal-meta-card-background);
			box-shadow: var(--legal-meta-card-shadow);
			min-width: min(100%, var(--app-width-14));
			padding: var(--app-space-4) 1.05rem;
		}

		body.legal-area .legal-section-card .card-body {
			padding: var(--app-space-5) var(--app-space-6);
		}

		body.legal-area .page-shell__actions {
			flex: 1 1 auto;
			max-width: 100%;
		}

			body.legal-area .page-shell__actions .btn,
			body.legal-area .app-action-row .btn {
				white-space: normal;
			}

		body.legal-area .legal-list {
			padding-left: var(--app-space-5);
			margin-bottom: 0;
		}

			body.legal-area .legal-list li + li {
				margin-top: 0.75rem;
			}

		body.legal-area .legal-callout {
			padding: var(--app-space-4) var(--app-space-5);
			border-radius: var(--app-radius-lg);
			border: 1px solid var(--legal-callout-border-color);
			background: var(--app-surface-color);
			box-shadow: var(--legal-callout-shadow);
		}

		body.legal-area .legal-callout-warning {
			border-color: var(--legal-warning-border-color);
			background: var(--legal-warning-background);
		}

		body.legal-area .legal-callout-danger {
			border-color: var(--legal-danger-border-color);
			background: var(--legal-danger-background);
		}

		body.legal-area .legal-table {
			--bs-table-bg: transparent;
			--bs-table-border-color: var(--legal-table-border-color);
			margin-bottom: 0;
		}

			body.legal-area .legal-table > :not(caption) > * > * {
				padding: 0.95rem var(--app-space-4);
				background-color: transparent;
			}

			body.legal-area .legal-table thead th {
				font-size: 0.8rem;
				font-weight: 800;
				letter-spacing: 0.06em;
				text-transform: uppercase;
				color: var(--legal-table-head-color);
			}

			body.legal-area .legal-table tbody td {
				vertical-align: top;
			}

	@media (max-width: 767.98px) {
		body.legal-area .legal-section-card .card-body {
			padding: 1.2rem;
		}
	}

	@media (prefers-color-scheme: dark) {
		body.legal-area {
			--legal-callout-border-color: rgba(129, 140, 248, 0.24);
			--legal-warning-border-color: rgba(251, 191, 36, 0.28);
			--legal-warning-background: rgba(120, 53, 15, 0.3);
			--legal-danger-border-color: rgba(251, 113, 133, 0.28);
			--legal-danger-background: rgba(127, 29, 29, 0.28);
			--legal-table-border-color: rgba(148, 163, 184, 0.22);
			--legal-table-head-color: rgba(226, 232, 240, 0.88);
		}
	}
}
