/* Budi Info Document page styles */

.budi-info-document {
	color: #111;
	line-height: 1.7;
	word-break: break-word;
	overflow-wrap: anywhere;
}

.budi-info-document > *:first-child {
	margin-top: 0 !important;
}

.budi-info-document h1,
.budi-info-document h2,
.budi-info-document h3,
.budi-info-document h4,
.budi-info-document h5,
.budi-info-document h6 {
	font-weight: 700;
	line-height: 1.25;
	margin: 2rem 0 0.75rem;
}

.budi-info-document h1 { font-size: clamp(1.75rem, 2vw + 1rem, 2.25rem); }
.budi-info-document h2 { font-size: clamp(1.375rem, 1.5vw + 0.875rem, 1.75rem); }
.budi-info-document h3 { font-size: clamp(1.125rem, 1vw + 0.75rem, 1.375rem); }
.budi-info-document h4 { font-size: 1.0625rem; }
.budi-info-document h5 { font-size: 1rem; }
.budi-info-document h6 { font-size: 0.9375rem; }

.budi-info-document p {
	margin: 0 0 1rem;
}

.budi-info-document a {
	color: #0d6efd;
	text-decoration: underline;
}

.budi-info-document a:hover,
.budi-info-document a:focus {
	text-decoration: underline;
}

.budi-info-document ul,
.budi-info-document ol {
	margin: 0 0 1rem 0;
	padding-left: 1.5rem;
}

.budi-info-document ul { list-style: disc outside; }
.budi-info-document ol { list-style: decimal outside; }

.budi-info-document li {
	margin: 0.25rem 0;
	display: list-item;
}

/* Ensure bullets/numbers show even if a global rule disables them */
.budi-info-document ul li { list-style: disc outside; }
.budi-info-document ol li { list-style: decimal outside; }

.budi-info-document ul ul,
.budi-info-document ol ol,
.budi-info-document ul ol,
.budi-info-document ol ul {
	margin: 0.25rem 0 0.5rem;
}

.budi-info-document blockquote {
	margin: 1.5rem 0;
	padding: 1rem 1.25rem;
	border-left: 4px solid var(--primary);
	background: #f9f6f9;
	color: #333;
	font-style: italic;
}

.budi-info-document blockquote p {
	margin: 0.5rem 0;
}

.budi-info-document table {
	width: 100%;
	border-collapse: collapse;
	margin: 1.5rem 0;
}

.budi-info-document thead th {
	background: #f5f7fb;
	font-weight: 600;
}

.budi-info-document th,
.budi-info-document td {
	text-align: left;
	border: 1px solid #e5e7eb;
	padding: 0.75rem;
}

.budi-info-document tbody tr:nth-child(even) {
	background: #fafafa;
}

.budi-info-document img,
.budi-info-document video,
.budi-info-document iframe {
	max-width: 100%;
	height: auto;
}

.budi-info-document hr {
	border: 0;
	border-top: 1px solid #e5e7eb;
	margin: 2rem 0;
}

.budi-info-document strong { font-weight: 700; }
.budi-info-document em { font-style: italic; }


