/**
 * Article body styles for blog posts and product descriptions.
 * Tokens match the single-post sheet. Accent follows the Flatsome primary color.
 */

.br-prose {
	--br-primary: var(--fs-color-primary, #ff4e48);
	--br-ink: #101828;
	--br-body: #000000;
	--br-muted: #667085;
	--br-line: #eaecf0;
	--br-soft: #f9fafb;
	--br-page: #f2f4f7;
	--br-input: #d0d5dd;
	color: var(--br-body);
	font-size: 16px;
	line-height: 28px;
	font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	min-width: 0;
	max-width: 100%;
}

.br-prose > *:first-child { margin-top: 0; }
.br-prose > *:last-child { margin-bottom: 0; }

.br-prose h2,
.br-prose h3,
.br-prose h4,
.br-prose h5,
.br-prose h6 {
	color: var(--br-ink);
	font-weight: 600;
	letter-spacing: -0.02em;
	scroll-margin-top: 120px;
}

.br-prose h2 { margin: 40px 0 16px; font-size: 24px; line-height: 32px; }
.br-prose h3 { margin: 32px 0 12px; font-size: 20px; line-height: 30px; }
.br-prose h4 { margin: 28px 0 10px; font-size: 18px; line-height: 28px; }
.br-prose h5 { margin: 24px 0 8px; font-size: 16px; line-height: 24px; letter-spacing: 0; }
.br-prose h6 {
	margin: 20px 0 8px;
	color: var(--br-muted);
	font-size: 14px;
	line-height: 20px;
	letter-spacing: 0.04em;
	font-weight: 600;
}

.br-prose p { margin: 0 0 20px; }

.br-prose a {
	display: inline-flex;
	align-items: center;
	gap: 0.1875em;
	color: var(--br-primary);
	text-decoration: none;
	background-image: linear-gradient(currentColor, currentColor);
	background-repeat: no-repeat;
	background-position: left calc(100% - 0.12em);
	background-size: 0 0.0625em;
	transition: background-size 0.35s cubic-bezier(0.22, 1, 0.36, 1), color 0.15s ease;
}

.br-prose a:hover,
.br-prose a:focus-visible {
	background-size: calc(100% - 1.1875em) 0.0625em;
	color: color-mix(in srgb, var(--br-primary) 70%, transparent);
}

.br-prose a::after {
	content: "";
	flex: none;
	width: 1em;
	height: 1em;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 4H8.8C7.11984 4 6.27976 4 5.63803 4.32698C5.07354 4.6146 4.6146 5.07354 4.32698 5.63803C4 6.27976 4 7.11984 4 8.8V15.2C4 16.8802 4 17.7202 4.32698 18.362C4.6146 18.9265 5.07354 19.3854 5.63803 19.673C6.27976 20 7.11984 20 8.8 20H15.2C16.8802 20 17.7202 20 18.362 19.673C18.9265 19.3854 19.3854 18.9265 19.673 18.362C20 17.7202 20 16.8802 20 15.2V15'/%3E%3Cpath d='M14 4H20M20 4V10M20 4L11 13'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 4H8.8C7.11984 4 6.27976 4 5.63803 4.32698C5.07354 4.6146 4.6146 5.07354 4.32698 5.63803C4 6.27976 4 7.11984 4 8.8V15.2C4 16.8802 4 17.7202 4.32698 18.362C4.6146 18.9265 5.07354 19.3854 5.63803 19.673C6.27976 20 7.11984 20 8.8 20H15.2C16.8802 20 17.7202 20 18.362 19.673C18.9265 19.3854 19.3854 18.9265 19.673 18.362C20 17.7202 20 16.8802 20 15.2V15'/%3E%3Cpath d='M14 4H20M20 4V10M20 4L11 13'/%3E%3C/svg%3E") center / contain no-repeat;
}

.br-prose a:hover { color: color-mix(in srgb, var(--br-primary) 70%, transparent); }

.br-prose a:has(img),
.br-prose a.button,
.br-prose a.wp-block-button__link {
	display: inline;
	gap: 0;
	background-image: none;
}

.br-prose a:has(img)::after,
.br-prose a.button::after,
.br-prose a.wp-block-button__link::after {
	content: none;
}

.br-prose strong,
.br-prose b { color: var(--br-ink); font-weight: 600; }
.br-prose em,
.br-prose i { font-style: italic; }
.br-prose u { text-underline-offset: 3px; }
.br-prose s,
.br-prose del { color: var(--br-muted); }
.br-prose ins {
	color: var(--br-ink);
	text-decoration: none;
	background: #fff4f3;
	border-radius: 4px;
	padding: 0 2px;
}
.br-prose mark {
	background: #fff4f3;
	color: var(--br-ink);
	border-radius: 4px;
	padding: 0 2px;
}
.br-prose small { font-size: 14px; line-height: 20px; color: var(--br-muted); }
.br-prose sub,
.br-prose sup { font-size: 12px; line-height: 0; }
.br-prose abbr {
	text-decoration: underline dotted;
	text-underline-offset: 3px;
	cursor: help;
}
.br-prose q { font-style: italic; color: var(--br-ink); }
.br-prose cite { font-style: normal; }

.br-prose ul,
.br-prose ol {
	margin: 0 0 20px;
	padding: 0 0 0 22px;
}
.br-prose li { margin: 0 0 8px; padding-left: 4px; }
.br-prose li:last-child { margin-bottom: 0; }
.br-prose li::marker { color: var(--br-muted); }
.br-prose ul ul,
.br-prose ul ol,
.br-prose ol ul,
.br-prose ol ol { margin: 8px 0 0; }
.br-prose ul { list-style: disc; }
.br-prose ul ul { list-style: circle; }
.br-prose ol { list-style: decimal; }

.br-prose dl { margin: 0 0 20px; }
.br-prose dt {
	margin: 16px 0 4px;
	color: var(--br-ink);
	font-weight: 600;
}
.br-prose dt:first-child { margin-top: 0; }
.br-prose dd { margin: 0; }

.br-prose blockquote,
.br-prose .wp-block-quote {
	margin: 28px 0;
	padding: 4px 0 4px 20px;
	border-left: 2px solid var(--br-ink);
	border-right: 0;
	color: var(--br-ink);
	font-size: 18px;
	line-height: 28px;
	font-weight: 500;
}
.br-prose blockquote p,
.br-prose .wp-block-quote p { margin: 0 0 12px; }
.br-prose blockquote p:last-child,
.br-prose .wp-block-quote p:last-child { margin-bottom: 0; }
.br-prose blockquote cite,
.br-prose blockquote footer,
.br-prose .wp-block-quote cite {
	display: block;
	margin-top: 12px;
	color: var(--br-muted);
	font-size: 14px;
	line-height: 20px;
	font-style: normal;
	font-weight: 400;
}

.br-prose .wp-block-pullquote,
.br-prose .pullquote {
	margin: 32px 0;
	padding: 8px 0;
	border-top: 1px solid var(--br-line);
	border-bottom: 1px solid var(--br-line);
	border-left: 0;
	text-align: center;
	color: var(--br-ink);
	font-size: 22px;
	line-height: 32px;
	font-weight: 600;
	letter-spacing: -0.02em;
}

.br-prose hr,
.br-prose .wp-block-separator {
	border: 0;
	border-top: 1px solid var(--br-line);
	margin: 32px auto;
	height: 0;
	background: none;
	opacity: 1;
}

.br-prose .wp-block-table,
.br-prose .br-prose-scroll {
	margin: 0 0 20px;
	overflow-x: auto;
	border: 1px solid var(--br-line);
	border-radius: 12px;
}
.br-prose table {
	width: 100%;
	margin: 0;
	border-collapse: collapse;
	font-size: 14px;
	line-height: 20px;
}
@media (max-width: 849px) {
	.br-prose .wp-block-table,
	.br-prose .br-prose-scroll {
		display: block;
		max-width: 100%;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		overscroll-behavior-x: contain;
	}
	.br-prose .wp-block-table table,
	.br-prose .br-prose-scroll table {
		width: max-content;
		min-width: 100%;
		max-width: none;
	}
	.br-prose th,
	.br-prose td {
		white-space: nowrap;
	}
}
.br-prose caption {
	caption-side: bottom;
	padding: 10px 0 0;
	color: var(--br-muted);
	font-size: 12px;
	line-height: 18px;
	text-align: left;
}
.br-prose th,
.br-prose td {
	padding: 12px 16px;
	text-align: left;
	vertical-align: top;
	border: 0;
	border-bottom: 1px solid var(--br-line);
}
.br-prose tr:last-child td,
.br-prose tr:last-child th { border-bottom: 0; }
.br-prose thead th {
	background: var(--br-soft);
	color: var(--br-muted);
	font-size: 12px;
	line-height: 18px;
	font-weight: 500;
}
.br-prose tbody th { color: var(--br-ink); font-weight: 600; }
.br-prose td { color: var(--br-body); }
.br-prose tfoot td {
	background: var(--br-soft);
	color: var(--br-ink);
	font-weight: 600;
}

.br-prose code {
	padding: 2px 6px;
	border-radius: 6px;
	background: var(--br-page);
	color: var(--br-ink);
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	font-size: 13px;
	line-height: 20px;
}
.br-prose pre,
.br-prose .wp-block-code {
	margin: 0 0 20px;
	padding: 16px 18px;
	overflow-x: auto;
	border-radius: 12px;
	background: #101828;
	color: #e4e7ec;
	font-size: 13px;
	line-height: 22px;
}
.br-prose pre code,
.br-prose .wp-block-code code {
	padding: 0;
	background: transparent;
	color: inherit;
	font-size: inherit;
	line-height: inherit;
}
.br-prose kbd {
	display: inline-block;
	min-width: 20px;
	padding: 1px 6px;
	border: 1px solid var(--br-input);
	border-bottom-width: 2px;
	border-radius: 6px;
	background: #fff;
	color: var(--br-ink);
	font-family: inherit;
	font-size: 13px;
	line-height: 20px;
	font-weight: 500;
}

.br-prose figure,
.br-prose .wp-block-image,
.br-prose .wp-caption {
	margin: 28px 0;
}
.br-prose img {
	max-width: 100%;
	height: auto;
	border-radius: 16px;
}
.br-prose figure img,
.br-prose .wp-block-image img,
.br-prose .wp-caption img,
.br-prose > img {
	width: 100%;
}
.br-prose figcaption,
.br-prose .wp-caption-text,
.br-prose .wp-element-caption {
	margin-top: 8px;
	color: var(--br-muted);
	font-size: 14px;
	line-height: 20px;
	text-align: center;
}

.br-prose iframe,
.br-prose video,
.br-prose .wp-block-embed__wrapper {
	width: 100%;
	max-width: 100%;
	border: 0;
	border-radius: 16px;
}
.br-prose .wp-block-embed { margin: 28px 0; }

.br-prose details {
	margin: 0 0 12px;
	border: 1px solid var(--br-line);
	border-radius: 12px;
	background: #fff;
	overflow: hidden;
	interpolate-size: allow-keywords;
}
.br-prose summary {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 14px 16px;
	color: var(--br-ink);
	font-weight: 600;
	cursor: pointer;
	list-style: none;
}
.br-prose summary::-webkit-details-marker { display: none; }
.br-prose summary::marker { content: ""; }
.br-prose summary::before {
	content: "";
	flex: none;
	width: 16px;
	height: 16px;
	background: var(--br-muted);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 6l6 6-6 6'/%3E%3C/svg%3E") center / 16px 16px no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 6l6 6-6 6'/%3E%3C/svg%3E") center / 16px 16px no-repeat;
	transform: rotate(0deg);
	transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1);
}
.br-prose details[open] summary::before { transform: rotate(90deg); }
.br-prose details::details-content {
	height: 0;
	overflow: clip;
	opacity: 0;
	transition:
		height 0.35s cubic-bezier(0.22, 1, 0.36, 1),
		opacity 0.28s ease,
		content-visibility 0.35s ease allow-discrete;
}
.br-prose details[open]::details-content {
	height: auto;
	opacity: 1;
}
.br-prose details p,
.br-prose details ul,
.br-prose details ol,
.br-prose details pre,
.br-prose details blockquote {
	padding-left: 42px;
	padding-right: 16px;
}
.br-prose details > :last-child { margin-bottom: 16px; }

.br-prose aside {
	margin: 28px 0;
	padding: 16px 18px;
	border-radius: 12px;
	background: var(--br-soft);
	color: var(--br-body);
	font-size: 14px;
	line-height: 22px;
}

@media (prefers-reduced-motion: reduce) {
	.br-prose summary::before,
	.br-prose details::details-content,
	.br-prose a {
		transition: none;
	}
}

html body #wrapper #main .br-prose {
	min-width: 0 !important;
	max-width: 100% !important;
}
html body #wrapper #main .br-prose h2 { font-size: 24px !important; line-height: 32px !important; font-weight: 600 !important; color: #101828 !important; }
html body #wrapper #main .br-prose h3 { font-size: 20px !important; line-height: 30px !important; font-weight: 600 !important; color: #101828 !important; }
html body #wrapper #main .br-prose h4 { font-size: 18px !important; line-height: 28px !important; color: #101828 !important; }
html body #wrapper #main .br-prose p { font-size: 16px !important; line-height: 28px !important; color: #000000 !important; }
@media (max-width: 849px) {
	html body #wrapper #main .br-prose .wp-block-table,
	html body #wrapper #main .br-prose .br-prose-scroll {
		display: block !important;
		max-width: 100% !important;
		overflow-x: auto !important;
		-webkit-overflow-scrolling: touch;
	}
	html body #wrapper #main .br-prose .wp-block-table table,
	html body #wrapper #main .br-prose .br-prose-scroll table {
		width: max-content !important;
		min-width: 100% !important;
		max-width: none !important;
	}
	html body #wrapper #main .br-prose th,
	html body #wrapper #main .br-prose td {
		white-space: nowrap !important;
		color: #000000 !important;
	}
}
html body #wrapper #main .br-prose a {
	color: var(--fs-color-primary, #ff4e48) !important;
	text-decoration: none !important;
	background-image: linear-gradient(currentColor, currentColor) !important;
	background-repeat: no-repeat !important;
	background-position: left calc(100% - 0.12em) !important;
	background-size: 0 0.0625em !important;
	transition: background-size 0.35s cubic-bezier(0.22, 1, 0.36, 1), color 0.15s ease !important;
}
html body #wrapper #main .br-prose a:hover,
html body #wrapper #main .br-prose a:focus-visible {
	background-size: calc(100% - 1.1875em) 0.0625em !important;
}
html body #wrapper #main .br-prose ul { list-style: disc !important; }
html body #wrapper #main .br-prose ol { list-style: decimal !important; }
html body #wrapper #main .br-prose img { border-radius: 16px !important; }
html body #wrapper #main .br-prose hr { border-top: 1px solid #eaecf0 !important; background: none !important; opacity: 1 !important; }
