/* ==========================================================================
   BRSC Single Post (native template: template-parts/content-single.php)
   Every rule is scoped under the .brsc-single parent so nothing leaks into
   Elementor pages or the blog archive.
   Typography follows the Elementor kit (#12): Figtree 700 headings, Sora body.
   ========================================================================== */

/* ---------- 1. Tokens ---------- */
.brsc-single {
	--clr-lime:        #C2FF83;
	--clr-lime-dark:   #9FD95A;
	--clr-lime-deep:   #7FB83A;
	--clr-lime-faint:  #efffda;
	--clr-lime-wash:   #f7ffee;
	--clr-black:       #000000;
	--clr-ink:         #000000;
	--clr-dark:        #424243;
	--clr-body:        #404040;
	--clr-muted:       #8a8a90;
	--clr-white:       #ffffff;
	--clr-border:      #e7e7ea;
	--clr-border-soft: #f0f0f3;
	--clr-bg-soft:     #fafafa;

	--font-head: 'Figtree', system-ui, -apple-system, sans-serif;
	--font-body: 'Sora', system-ui, -apple-system, sans-serif;

	/* Kit heading scale (desktop > 1366px) */
	--fs-h1: 50px;
	--fs-h2: 42px;
	--fs-h3: 34px;
	--fs-h4: 30px;
	--fs-body: 18px;
	--lh-head: 1.2;

	--radius-pill: 999px;
	--radius-card: 18px;
	--radius-sm:   10px;
	--shadow-sm:   0 2px 8px rgba(0,0,0,.04);
	--shadow:      0 16px 40px rgba(0,0,0,.08);
	--shadow-lg:   0 24px 60px rgba(0,0,0,.12);
	--transition:  .28s cubic-bezier(.4,0,.2,1);
	--sticky-top:  100px;

	background: var(--clr-white);
	color: var(--clr-body);
	font-family: var(--font-body);
	font-size: var(--fs-body);
	line-height: 1.75;
	-webkit-font-smoothing: antialiased;
}

/* Kit laptop / tablet / mobile breakpoints */
@media (max-width: 1366px) {
	.brsc-single { --fs-h1: 46px; --fs-h2: 38px; --fs-h3: 28px; --fs-h4: 24px; --fs-body: 16px; }
}
@media (max-width: 1024px) {
	.brsc-single { --fs-h1: 40px; --fs-h2: 36px; --fs-h3: 22px; --fs-h4: 22px; }
}
@media (max-width: 767px) {
	.brsc-single { --fs-h1: 30px; --fs-h2: 24px; --fs-h3: 20px; --fs-h4: 18px; }
}

/* Bootstrap container at 1417px */
@media (min-width: 1200px) {
	.brsc-single .container { max-width: 1417px; }
}

/* ---------- 2. Headings (theme family & style) ---------- */
.brsc-single h1,
.brsc-single h2,
.brsc-single h3,
.brsc-single h4,
.brsc-single h5 {
	font-family: var(--font-head);
	font-weight: 700;
	color: var(--clr-ink);
	line-height: var(--lh-head);
	letter-spacing: -.02em;
	text-transform: none;
}
.brsc-single h1 { font-size: var(--fs-h1); }
.brsc-single h2 { font-size: var(--fs-h2); }
.brsc-single h3 { font-size: var(--fs-h3); }
.brsc-single h4 { font-size: var(--fs-h4); }

.brsc-single a { text-decoration: none; transition: var(--transition); }
.brsc-single ::selection { background: var(--clr-lime); color: var(--clr-black); }

/* Reading progress */
.brsc-single .reading-progress {
	position: fixed;
	top: 0;
	left: 0;
	width: 0;
	height: 3px;
	background: linear-gradient(90deg, var(--clr-lime-dark), var(--clr-lime));
	box-shadow: 0 0 10px rgba(194,255,131,.6);
	z-index: 99999;
	transition: width .08s linear;
}

/* ---------- 3. Hero ---------- */
.brsc-single .article-hero {
	position: relative;
	padding: 2.75rem 0 3rem;
	background:
		radial-gradient(900px 380px at 85% -10%, rgba(194,255,131,.28), transparent 60%),
		radial-gradient(700px 300px at 0% 0%, rgba(194,255,131,.14), transparent 65%),
		linear-gradient(180deg, #fbfff6 0%, #ffffff 100%);
	border-bottom: 1px solid var(--clr-border-soft);
	overflow: hidden;
}
.brsc-single .article-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image: radial-gradient(circle, rgba(0,0,0,.035) 1px, transparent 1px);
	background-size: 22px 22px;
	-webkit-mask-image: linear-gradient(180deg, #000 0%, transparent 70%);
	        mask-image: linear-gradient(180deg, #000 0%, transparent 70%);
	pointer-events: none;
}
.brsc-single .article-hero .container { position: relative; z-index: 1; }

.brsc-single .breadcrumb {
	--bs-breadcrumb-divider-color: #c2c2c8;
	font-size: .84rem;
	margin-bottom: 1.3rem;
}
.brsc-single .breadcrumb a { color: var(--clr-muted); font-weight: 500; }
.brsc-single .breadcrumb a:hover { color: var(--clr-ink); }
.brsc-single .breadcrumb-item.active { color: var(--clr-ink); font-weight: 600; }

.brsc-single .pill {
	display: inline-flex;
	align-items: center;
	gap: .45rem;
	background: var(--clr-lime);
	color: var(--clr-black);
	font-family: var(--font-head);
	font-size: .75rem;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	padding: .45rem .95rem;
	border-radius: var(--radius-pill);
	box-shadow: 0 4px 14px rgba(194,255,131,.45);
}

.brsc-single .article-title {
	margin: 1.15rem 0;
	max-width: 22ch;
}

.brsc-single .article-sub {
	font-size: 1.1rem;
	line-height: 1.7;
	max-width: 60ch;
	margin: 0;
}

.brsc-single .meta-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 1.15rem;
	margin-top: 1.75rem;
	font-size: .88rem;
	color: var(--clr-muted);
}
.brsc-single .meta-item { display: inline-flex; align-items: center; gap: .4rem; }
.brsc-single .author-chip { display: flex; align-items: center; gap: .7rem; }
.brsc-single .avatar {
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: var(--clr-lime);
	color: var(--clr-black);
	display: grid;
	place-items: center;
	font-family: var(--font-head);
	font-weight: 800;
	font-size: .92rem;
	flex-shrink: 0;
	box-shadow: 0 0 0 3px #fff, 0 0 0 5px var(--clr-lime-faint);
}
.brsc-single .author-chip .name { color: var(--clr-ink); font-weight: 700; font-size: .92rem; line-height: 1.25; }
.brsc-single .author-chip .role { font-size: .78rem; color: var(--clr-muted); line-height: 1.4; }
.brsc-single .meta-dot { width: 4px; height: 4px; border-radius: 50%; background: #cfcfd6; }

.brsc-single .featured-img {
	margin-top: 2.4rem;
	border-radius: var(--radius-card);
	overflow: hidden;
	background: linear-gradient(135deg, #0d0d0d 0%, #1a1a1a 100%);
	box-shadow: var(--shadow-lg);
	border: 1px solid rgba(0,0,0,.06);
	aspect-ratio: 16 / 9;
	max-height: 600px;
	width: 100%;
}
.brsc-single .featured-img img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* ---------- 4. Article body ---------- */
.brsc-single .article-main { padding-top: 3.5rem; padding-bottom: 3rem; }

.brsc-single .article-body {
	font-size: var(--fs-body);
	line-height: 1.8;
	color: var(--clr-body);
}
.brsc-single .article-body > p:first-of-type {
	font-size: 1.12em;
	line-height: 1.75;
	color: #2b2b2e;
}
.brsc-single .article-body p { margin: 0 0 1.25rem; }

.brsc-single .article-body h1,
.brsc-single .article-body h2,
.brsc-single .article-body h3,
.brsc-single .article-body h4 {
	position: relative;
	scroll-margin-top: var(--sticky-top);
}
/* Section headings carry the lime accent bar
   (doubled parent class beats Exclusive Addons' "h1:not(.site-title):before { content: none }") */
.brsc-single .article-body h1,
.brsc-single .article-body h2 {
	margin: 2.9rem 0 1rem;
	padding-left: 1.15rem;
}
.brsc-single.brsc-single .article-body h1::before,
.brsc-single.brsc-single .article-body h2::before {
	content: "";
	position: absolute;
	left: 0;
	top: .1em;
	bottom: .1em;
	width: 5px;
	border-radius: 4px;
	background: var(--clr-lime);
	box-shadow: 0 0 0 1px rgba(159,217,90,.15);
}
.brsc-single .article-body h3 { margin: 2rem 0 .8rem; }
.brsc-single .article-body h4 { margin: 1.75rem 0 .7rem; }
.brsc-single .article-body > :first-child { margin-top: 0; }
.brsc-single .article-body h1 strong,
.brsc-single .article-body h2 strong,
.brsc-single .article-body h3 strong,
.brsc-single .article-body h4 strong { font-weight: inherit; }

.brsc-single .article-body strong,
.brsc-single .article-body b { color: var(--clr-ink); font-weight: 700; }

.brsc-single .article-body a {
	color: var(--clr-black);
	font-weight: 600;
	text-decoration: underline;
	text-decoration-color: var(--clr-lime-dark);
	text-decoration-thickness: 2px;
	text-underline-offset: 3px;
	border-radius: 2px;
}
.brsc-single .article-body a:hover {
	background: var(--clr-lime-faint);
	text-decoration-color: var(--clr-lime-deep);
}

.brsc-single .article-body ul,
.brsc-single .article-body ol {
	margin: 0 0 1.4rem;
	padding-left: 1.35rem;
}
.brsc-single .article-body ul { list-style: disc; }
.brsc-single .article-body ol { list-style: decimal; }
.brsc-single .article-body li { margin-bottom: .6rem; padding-left: .25rem; }
.brsc-single .article-body ul li::marker { color: var(--clr-lime-deep); }
.brsc-single .article-body ol li::marker { color: var(--clr-lime-deep); font-weight: 800; font-family: var(--font-head); }

.brsc-single .article-body img {
	max-width: 100%;
	height: auto;
	border-radius: var(--radius-card);
}
.brsc-single .article-body figure { margin: 2rem 0; }
.brsc-single .article-body figcaption {
	text-align: center;
	font-size: .85rem;
	color: var(--clr-muted);
	margin-top: .6rem;
}

.brsc-single .article-body code {
	background: var(--clr-lime-faint);
	color: var(--clr-ink);
	padding: .1rem .4rem;
	border-radius: 4px;
	font-size: .9em;
}

/* Blockquote */
.brsc-single .article-body blockquote {
	margin: 2.25rem 0;
	padding: 1.6rem 1.85rem 1.6rem 3.4rem;
	background: #0d0d0d;
	color: #e8e8ec;
	border-radius: var(--radius-card);
	font-family: var(--font-head);
	font-size: 1.12em;
	font-weight: 600;
	line-height: 1.55;
	position: relative;
}
.brsc-single .article-body blockquote::before {
	content: "\201C";
	position: absolute;
	left: 1.15rem;
	top: .35rem;
	font-size: 3.6rem;
	line-height: 1;
	color: var(--clr-lime);
	font-family: Georgia, serif;
}
.brsc-single .article-body blockquote p { margin: 0; color: inherit; }
.brsc-single .article-body blockquote cite {
	display: block;
	margin-top: .9rem;
	font-size: .84rem;
	font-weight: 500;
	font-style: normal;
	color: #9a9aa2;
}

/* Tables (Gutenberg figure.wp-block-table and plain tables) */
.brsc-single .article-body .wp-block-table,
.brsc-single .article-body .table-responsive {
	margin: 2rem 0;
	border: 1px solid var(--clr-border);
	border-radius: var(--radius-sm);
	box-shadow: var(--shadow-sm);
	overflow-x: auto;
}
.brsc-single .article-body table {
	width: 100%;
	margin: 0;
	border-collapse: collapse;
	font-size: .94em;
	line-height: 1.55;
}
.brsc-single .article-body th,
.brsc-single .article-body td {
	padding: .9rem 1.1rem;
	border: 0;
	border-bottom: 1px solid var(--clr-border-soft);
	text-align: left;
	vertical-align: top;
	box-shadow: none;
}
/* Header row: real <thead>, or a bold first row (.has-head-row, set in inc/single-post.php) */
.brsc-single .article-body thead th,
.brsc-single .article-body thead td,
.brsc-single .article-body table.has-head-row tr:first-child td {
	background: var(--clr-lime-faint);
	color: var(--clr-ink);
	font-family: var(--font-head);
	font-weight: 700;
	font-size: .82rem;
	letter-spacing: .06em;
	text-transform: uppercase;
	border-bottom: 1px solid rgba(159,217,90,.45);
}
.brsc-single .article-body td p { margin: 0; }
.brsc-single .article-body td p + p { margin-top: .5rem; }
/* Label / value tables: the first column reads as a label */
.brsc-single .article-body table:not(.has-head-row):not(:has(thead)) td:first-child { width: 28%; color: var(--clr-ink); }
/* 3+ columns scroll inside the frame on phones instead of squashing */
.brsc-single .article-body table:has(td:nth-child(3)) { min-width: 560px; }
.brsc-single .article-body tbody tr:last-child td { border-bottom: 0; }
.brsc-single .article-body tbody tr { transition: background .18s ease; }
.brsc-single .article-body tbody tr:hover { background: var(--clr-lime-wash); }

/* Callout boxes ("THE REALITY" / "THE FIX" / "WHY IT HURTS" / "EXAMPLE" one-row tables) */
.brsc-single .brsc-callout {
	position: relative;
	margin: 2rem 0;
	padding: 1.25rem 1.5rem 1.35rem;
	border-radius: var(--radius-sm);
	border: 1px solid var(--clr-border);
	border-left-width: 5px;
	background: var(--clr-bg-soft);
	color: var(--clr-body);
	box-shadow: var(--shadow-sm);
}
.brsc-single .brsc-callout + .brsc-callout { margin-top: -.75rem; }
.brsc-single .brsc-callout__label {
	display: inline-flex;
	align-items: center;
	gap: .5rem;
	margin: 0 0 .7rem;
	padding: .3rem .8rem;
	border-radius: var(--radius-pill);
	background: var(--clr-dark);
	color: var(--clr-white);
	font-family: var(--font-head);
	font-size: .72rem;
	font-weight: 800;
	line-height: 1.3;
	letter-spacing: .12em;
	text-transform: uppercase;
}
.brsc-single .brsc-callout__label::before {
	content: "";
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: currentColor;
}
.brsc-single .brsc-callout__body { font-size: 1.02em; line-height: 1.7; }
.brsc-single .brsc-callout__body p { margin: 0; }
.brsc-single .brsc-callout__body p + p { margin-top: .6rem; }
.brsc-single .brsc-callout__body em { font-style: normal; }

/* Reality / why it hurts: dark card, lime label */
.brsc-single .brsc-callout--reality {
	background: #0d0d0d;
	border-color: #0d0d0d;
	border-left-color: var(--clr-lime);
	color: #e9e9ec;
}
.brsc-single .brsc-callout--reality .brsc-callout__label { background: rgba(194,255,131,.14); color: var(--clr-lime); }
.brsc-single .brsc-callout--reality strong,
.brsc-single .brsc-callout--reality a { color: var(--clr-white); }

/* Fix: lime card, black label */
.brsc-single .brsc-callout--fix {
	background: var(--clr-lime-wash);
	border-color: rgba(159,217,90,.55);
	border-left-color: var(--clr-lime-deep);
	color: #1d1d1f;
}
.brsc-single .brsc-callout--fix .brsc-callout__label { background: var(--clr-black); color: var(--clr-lime); }

/* Example: quote-style card */
.brsc-single .brsc-callout--example { background: var(--clr-white); border-left-color: var(--clr-dark); }
.brsc-single .brsc-callout--example .brsc-callout__body { font-style: italic; }
.brsc-single .brsc-callout--example .brsc-callout__body em { font-style: italic; }

@media (max-width: 575.98px) {
	.brsc-single .brsc-callout { padding: 1.05rem 1.1rem 1.15rem; }
	.brsc-single .brsc-callout__body { font-size: 1em; }
}

/* Callouts (optional content blocks) */
.brsc-single .callout {
	display: flex;
	gap: 1rem;
	align-items: flex-start;
	padding: 1.2rem 1.35rem;
	margin: 2rem 0;
	border-radius: var(--radius-sm);
	background: var(--clr-lime-wash);
	border: 1px solid rgba(159,217,90,.35);
	border-left: 4px solid var(--clr-lime);
	font-size: .95em;
	line-height: 1.7;
}
.brsc-single .callout p:last-child { margin-bottom: 0; }
.brsc-single .callout svg { flex-shrink: 0; color: var(--clr-lime-deep); }
.brsc-single .callout--dark { background: #0d0d0d; color: #d6d6da; border-color: #2a2a2a; border-left-color: var(--clr-lime); }
.brsc-single .callout--dark strong { color: var(--clr-white); }
.brsc-single .callout--dark svg { color: var(--clr-lime); }
.brsc-single .callout--warn { background: #fffaf0; border-color: rgba(245,158,11,.28); border-left-color: #f59e0b; }
.brsc-single .callout--warn svg { color: #f59e0b; }

/* ---------- 5. Share, tags, author ---------- */
.brsc-single .share-bar {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: .5rem;
	padding: 1.4rem 0;
	margin-top: 2.75rem;
	border-top: 1px solid var(--clr-border);
	border-bottom: 1px solid var(--clr-border);
}
.brsc-single .share-bar .label {
	font-family: var(--font-head);
	font-size: .85rem;
	font-weight: 700;
	color: var(--clr-ink);
	margin-right: .45rem;
}
.brsc-single .share-btn {
	width: 40px;
	height: 40px;
	padding: 0;
	border-radius: 11px;
	display: grid;
	place-items: center;
	background: var(--clr-white);
	color: var(--clr-dark);
	border: 1px solid var(--clr-border);
	cursor: pointer;
	transition: var(--transition);
}
.brsc-single .share-btn:hover,
.brsc-single .share-btn.is-copied {
	background: var(--clr-lime);
	color: var(--clr-black);
	border-color: var(--clr-lime);
	transform: translateY(-2px);
	box-shadow: 0 8px 20px rgba(194,255,131,.5);
}

.brsc-single .tag-list { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1.5rem; }
.brsc-single .tag {
	display: inline-block;
	font-family: var(--font-head);
	font-size: .8rem;
	font-weight: 600;
	line-height: 1.4;
	padding: .4rem .85rem;
	border-radius: var(--radius-pill);
	background: var(--clr-bg-soft);
	color: var(--clr-dark);
	border: 1px solid var(--clr-border);
}
.brsc-single .tag:hover { background: var(--clr-lime); color: var(--clr-black); border-color: var(--clr-lime); }

.brsc-single .author-box {
	display: flex;
	gap: 1.25rem;
	align-items: flex-start;
	margin-top: 2.15rem;
	padding: 1.6rem;
	background: var(--clr-bg-soft);
	border: 1px solid var(--clr-border-soft);
	border-radius: var(--radius-card);
	position: relative;
	overflow: hidden;
}
.brsc-single .author-box::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 4px;
	background: var(--clr-lime);
}
.brsc-single .author-box .avatar { width: 64px; height: 64px; font-size: 1.1rem; }
.brsc-single .author-box h4 { font-size: 1.1rem; margin: 0 0 .25rem; }
.brsc-single .author-box .role {
	font-size: .82rem;
	font-weight: 700;
	color: var(--clr-lime-deep);
	margin-bottom: .55rem;
}
.brsc-single .author-box p { font-size: .93rem; line-height: 1.7; margin: 0; }

/* ---------- 6. Sidebar ---------- */
.brsc-single .sidebar-sticky { position: sticky; top: var(--sticky-top); }

.brsc-single .card-soft {
	background: var(--clr-white);
	border: 1px solid var(--clr-border);
	border-radius: var(--radius-card);
	padding: 1.4rem;
	box-shadow: var(--shadow-sm);
}
.brsc-single .card-soft,
.brsc-single .cta-card { margin-bottom: 1.15rem; }

.brsc-single .card-title-sm {
	display: flex;
	align-items: center;
	gap: .5rem;
	margin-bottom: 1rem;
	font-family: var(--font-head);
	font-size: .75rem;
	font-weight: 800;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--clr-muted);
}
.brsc-single .card-title-sm svg { color: var(--clr-lime-deep); }

/* TOC */
.brsc-single .toc {
	display: flex;
	flex-direction: column;
	max-height: calc(100vh - var(--sticky-top) - 260px);
	min-height: 160px;
	overflow-y: auto;
	scrollbar-width: thin;
}
.brsc-single .toc-link {
	display: block;
	padding: .5rem .85rem;
	margin-bottom: .15rem;
	font-size: .88rem;
	font-weight: 500;
	line-height: 1.45;
	color: var(--clr-dark);
	border-radius: var(--radius-sm);
	border-left: 2px solid transparent;
}
.brsc-single .toc-link.is-sub { padding-left: 1.6rem; font-size: .82rem; color: var(--clr-muted); }
.brsc-single .toc-link:hover { background: var(--clr-lime-wash); color: var(--clr-ink); }
.brsc-single .toc-link.active {
	background: var(--clr-lime-faint);
	color: var(--clr-ink);
	font-weight: 700;
	border-left-color: var(--clr-lime);
}

/* CTA card */
.brsc-single .cta-card {
	position: relative;
	overflow: hidden;
	padding: 1.7rem;
	background: #0d0d0d;
	border-radius: var(--radius-card);
	color: var(--clr-white);
	box-shadow: var(--shadow);
}
.brsc-single .cta-card::before {
	content: "";
	position: absolute;
	right: -60px;
	top: -60px;
	width: 190px;
	height: 190px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(194,255,131,.28), transparent 70%);
	pointer-events: none;
}
.brsc-single .cta-card h4 { position: relative; color: var(--clr-white); font-size: 1.2rem; line-height: 1.35; margin: 0 0 .65rem; }
.brsc-single .cta-card p { position: relative; color: rgba(255,255,255,.72); font-size: .9rem; line-height: 1.65; margin: 0 0 1.2rem; }
.brsc-single .cta-btn {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: .4rem;
	width: 100%;
	padding: .7rem 1.2rem;
	background: var(--clr-lime);
	color: var(--clr-black);
	font-family: var(--font-head);
	font-size: .9rem;
	font-weight: 700;
	border-radius: var(--radius-pill);
}
.brsc-single .cta-btn:hover {
	background: var(--clr-lime-dark);
	color: var(--clr-black);
	transform: translateY(-2px);
	box-shadow: 0 10px 24px rgba(0,0,0,.35);
}

/* Mini posts */
.brsc-single .mini-post {
	display: flex;
	gap: .9rem;
	padding: .8rem 0;
	border-bottom: 1px solid var(--clr-border-soft);
}
.brsc-single .mini-post:first-of-type { padding-top: 0; }
.brsc-single .mini-post:last-child { border-bottom: 0; padding-bottom: 0; }
.brsc-single .mini-thumb {
	width: 58px;
	height: 58px;
	flex-shrink: 0;
	border-radius: 11px;
	overflow: hidden;
	display: grid;
	place-items: center;
	background: var(--clr-lime);
	color: var(--clr-black);
}
.brsc-single .mini-thumb img { width: 100%; height: 100%; object-fit: cover; }
.brsc-single .mini-post:hover .mini-thumb { transform: scale(1.04); }
.brsc-single .mini-post h5 { font-size: .9rem; line-height: 1.42; margin: 0 0 .3rem; letter-spacing: -.01em; }
.brsc-single .mini-post h5 a { color: var(--clr-ink); }
.brsc-single .mini-post h5 a:hover { color: var(--clr-lime-deep); }
.brsc-single .mini-post span { font-size: .77rem; color: var(--clr-muted); }

/* ---------- 7. Related posts ---------- */
.brsc-single .related-section {
	padding-top: 3.5rem;
	padding-bottom: 4rem;
	border-top: 1px solid var(--clr-border-soft);
}
.brsc-single .section-head { margin-bottom: 2.25rem; text-align: center; }
.brsc-single .section-head .eyebrow {
	display: inline-block;
	margin-bottom: .75rem;
	padding: .35rem .85rem;
	font-family: var(--font-head);
	font-size: .74rem;
	font-weight: 800;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--clr-lime-deep);
	background: var(--clr-lime-faint);
	border-radius: var(--radius-pill);
}
.brsc-single .section-head h2 { margin: 0; }

.brsc-single .post-card {
	display: flex;
	flex-direction: column;
	height: 100%;
	background: var(--clr-white);
	border: 1px solid var(--clr-border);
	border-radius: var(--radius-card);
	overflow: hidden;
	transition: var(--transition);
}
.brsc-single .post-card:hover {
	transform: translateY(-6px);
	box-shadow: var(--shadow);
	border-color: rgba(159,217,90,.5);
}
.brsc-single .post-thumb {
	position: relative;
	display: grid;
	place-items: center;
	height: 190px;
	overflow: hidden;
	background: var(--clr-lime);
	color: var(--clr-black);
}
.brsc-single .post-thumb::after {
	content: "";
	position: absolute;
	inset: 0;
	background-image: radial-gradient(circle, rgba(0,0,0,.06) 1px, transparent 1px);
	background-size: 18px 18px;
	pointer-events: none;
}
.brsc-single .post-thumb-img::after { display: none; }
.brsc-single .post-thumb img { width: 100%; height: 100%; object-fit: cover; }
.brsc-single .post-thumb.t2 { background: #0d0d0d; color: var(--clr-lime); }
.brsc-single .post-thumb.t2::after { background-image: radial-gradient(circle, rgba(194,255,131,.12) 1px, transparent 1px); }
.brsc-single .post-thumb.t3 { background: var(--clr-lime-dark); }

.brsc-single .post-card .body {
	display: flex;
	flex-direction: column;
	flex: 1;
	padding: 1.25rem 1.35rem 1.45rem;
}
.brsc-single .post-card .cat {
	margin-bottom: .55rem;
	font-family: var(--font-head);
	font-size: .72rem;
	font-weight: 800;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--clr-lime-deep);
}
.brsc-single .post-card h3 { font-size: 1.1rem; line-height: 1.4; margin: 0 0 .6rem; }
.brsc-single .post-card h3 a { color: var(--clr-ink); }
.brsc-single .post-card h3 a:hover { color: var(--clr-lime-deep); }
.brsc-single .post-card p { font-size: .89rem; line-height: 1.65; margin: 0 0 1.1rem; }
.brsc-single .post-card .more {
	display: inline-flex;
	align-items: center;
	gap: .4rem;
	margin-top: auto;
	font-family: var(--font-head);
	font-size: .88rem;
	font-weight: 700;
	color: var(--clr-ink);
}
.brsc-single .post-card .more svg { color: var(--clr-lime-deep); transition: transform .2s; }
.brsc-single .post-card:hover .more svg { transform: translateX(4px); }

/* ---------- 8. Back to top ---------- */
.brsc-single .back-to-top {
	position: fixed;
	right: 22px;
	bottom: 22px;
	z-index: 1500;
	width: 48px;
	height: 48px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	display: grid;
	place-items: center;
	background: var(--clr-lime);
	color: var(--clr-black);
	box-shadow: 0 10px 26px rgba(194,255,131,.55);
	cursor: pointer;
	opacity: 0;
	visibility: hidden;
	transform: translateY(12px);
	transition: var(--transition);
}
.brsc-single .back-to-top.show { opacity: 1; visibility: visible; transform: translateY(0); }
.brsc-single .back-to-top:hover { background: var(--clr-lime-dark); transform: translateY(-2px); }

/* ---------- 9. Responsive ---------- */
@media (max-width: 991.98px) {
	.brsc-single .sidebar-sticky { position: static; }
	.brsc-single .toc { max-height: none; }
	.brsc-single .article-title { max-width: 100%; }
	.brsc-single .article-hero { padding: 2rem 0 2.25rem; }
	.brsc-single .article-main { padding-top: 2.5rem; }
}
@media (max-width: 575.98px) {
	.brsc-single .article-body h1,
	.brsc-single .article-body h2 { margin-top: 2.2rem; }
	.brsc-single .author-box { flex-direction: column; }
	.brsc-single .meta-row { gap: .75rem; font-size: .84rem; }
	.brsc-single .featured-img { margin-top: 1.75rem; }
}
