/*
Theme Name: BlogSphereDaily
Theme URI: https://blogspheredaily.com/
Author: Muhammad Aqib
Author URI: https://www.fiverr.com/aqibarif74
Description: A daily digest magazine theme for elevated online publishing — Monocle meets The Cut. BlogSphereDaily pairs Marcellus and Lora on a soft paper-white canvas with a deep magenta and deep teal palette. Ships a magazine-cover hero with a date-derived issue number, a four-column "Today in the Magazine" board, a long-form feature with editorial photography treatment, a columnists rail, a photography-led style grid, a flip-through issue archive built from your publishing dates, an "In this issue" sidebar of same-day stories, the refined "Daily Edit" newsletter, a masthead footer and a full, flash-free dark mode across ten purpose-built templates.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 7.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: blogspheredaily
Tags: blog, news, magazine, custom-menu, custom-logo, featured-images, right-sidebar, two-columns, translation-ready, block-styles, wide-blocks, threaded-comments, footer-widgets, editorial
*/

/* ==========================================================================
   1. Design tokens
   ========================================================================== */

:root {
	--bsd-bg:            #fafafa;
	--bsd-surface:       #ffffff;
	--bsd-surface-alt:   #f2f2f1;
	--bsd-primary:       #171717;
	--bsd-accent:        #831843;
	--bsd-accent-soft:   #9d174d;
	--bsd-secondary:     #0f766e;
	--bsd-secondary-soft:#0d9488;
	--bsd-text:          #262626;
	--bsd-muted:         #6f6f6f;
	--bsd-border:        #e4e4e4;
	--bsd-rule:          #d6d6d6;

	--bsd-font-head: "Marcellus", "Cormorant Garamond", Georgia, "Times New Roman", serif;
	--bsd-font-body: "Lora", Georgia, "Times New Roman", serif;
	--bsd-font-ui:   "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;

	--bsd-radius:    2px;
	--bsd-radius-lg: 4px;
	--bsd-gutter:    32px;
	--bsd-max:       1280px;
	--bsd-content:   620px;

	--bsd-shadow:    0 1px 2px rgba(23, 23, 23, .04), 0 18px 44px rgba(23, 23, 23, .09);
	--bsd-shadow-sm: 0 1px 3px rgba(23, 23, 23, .08);

	--bsd-scrim: linear-gradient(180deg, rgba(23, 23, 23, .10) 0%, rgba(23, 23, 23, .18) 34%, rgba(23, 23, 23, .62) 68%, rgba(23, 23, 23, .90) 100%);
}

[data-theme="dark"] {
	--bsd-bg:            #171717;
	--bsd-surface:       #262626;
	--bsd-surface-alt:   #1f1f1f;
	--bsd-primary:       #fafafa;
	--bsd-accent:        #ec4899;
	--bsd-accent-soft:   #f472b6;
	--bsd-secondary:     #14b8a6;
	--bsd-secondary-soft:#2dd4bf;
	--bsd-text:          #e5e5e5;
	--bsd-muted:         #a3a3a3;
	--bsd-border:        #3a3a3a;
	--bsd-rule:          #404040;
	--bsd-shadow:        0 1px 2px rgba(0, 0, 0, .45), 0 18px 44px rgba(0, 0, 0, .55);
	--bsd-shadow-sm:     0 1px 3px rgba(0, 0, 0, .5);
}

/* ==========================================================================
   2. Reset & base
   ========================================================================== */

*, *::before, *::after { box-sizing: border-box; }

body {
	margin: 0;
	background: var(--bsd-bg);
	color: var(--bsd-text);
	font-family: var(--bsd-font-body);
	font-size: 18px;
	line-height: 1.78;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
	transition: background .25s ease, color .25s ease;
}

h1, h2, h3, h4, h5, h6 {
	font-family: var(--bsd-font-head);
	color: var(--bsd-primary);
	font-weight: 400;
	line-height: 1.14;
	letter-spacing: -.005em;
	margin: 0 0 .5em;
}

h1 { font-size: clamp(2.2rem, 4.6vw, 3.4rem); }
h2 { font-size: clamp(1.6rem, 3vw, 2.3rem); }
h3 { font-size: 1.4rem; }

p { margin: 0 0 1.25em; }

a { color: var(--bsd-accent); text-decoration: none; }
a:hover, a:focus { text-decoration: underline; text-underline-offset: 3px; }

img { max-width: 100%; height: auto; display: block; }
figure { margin: 0; }

hr {
	border: 0;
	height: 1px;
	background: var(--bsd-rule);
	margin: 40px 0;
}

:focus-visible {
	outline: 2px solid var(--bsd-accent);
	outline-offset: 3px;
	border-radius: 2px;
}

/* Accessibility helpers */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	width: 1px;
	overflow: hidden;
	position: absolute !important;
	word-wrap: normal !important;
}

.skip-link {
	position: absolute;
	left: -9999px;
	top: 0;
	z-index: 999;
	background: var(--bsd-accent);
	color: #fff;
	font-family: var(--bsd-font-ui);
	font-size: .85rem;
	padding: 12px 22px;
}
.skip-link:focus { left: 0; }

/* ==========================================================================
   3. Layout
   ========================================================================== */

.bsd-container {
	width: 100%;
	max-width: var(--bsd-max);
	margin-inline: auto;
	padding-inline: var(--bsd-gutter);
}

.bsd-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 320px;
	gap: 64px;
	align-items: start;
	padding-block: 56px;
}
.bsd-layout--full { grid-template-columns: minmax(0, 1fr); }

@media (max-width: 1020px) {
	.bsd-layout { grid-template-columns: minmax(0, 1fr); gap: 44px; }
}

@media (max-width: 600px) {
	:root { --bsd-gutter: 20px; }
	body { font-size: 17px; }
}

/* ==========================================================================
   4. Editorial primitives
   ========================================================================== */

/* Section label — elegant small caps */
.bsd-label {
	display: inline-block;
	font-family: var(--bsd-font-ui);
	font-size: .68rem;
	font-weight: 600;
	letter-spacing: .22em;
	text-transform: uppercase;
	color: var(--bsd-accent);
	line-height: 1.4;
}
.bsd-label:hover { color: var(--bsd-accent-soft); text-decoration: none; }
.bsd-label--teal { color: var(--bsd-secondary); }
.bsd-label--light { color: rgba(255, 255, 255, .92); }

/* Hairline rule with a small lozenge, print-style */
.bsd-rule {
	display: flex;
	align-items: center;
	gap: 14px;
	margin: 64px 0;
	color: var(--bsd-secondary);
}
.bsd-rule::before,
.bsd-rule::after {
	content: "";
	flex: 1;
	height: 1px;
	background: var(--bsd-rule);
}
.bsd-rule__mark {
	width: 7px;
	height: 7px;
	transform: rotate(45deg);
	background: currentColor;
	flex: 0 0 auto;
}

/* Section head */
.bsd-sectionhead {
	display: flex;
	align-items: flex-end;
	gap: 20px;
	flex-wrap: wrap;
	margin: 0 0 28px;
	padding-bottom: 14px;
	border-bottom: 1px solid var(--bsd-primary);
}
.bsd-sectionhead__kicker {
	display: block;
	font-family: var(--bsd-font-ui);
	font-size: .64rem;
	font-weight: 600;
	letter-spacing: .24em;
	text-transform: uppercase;
	color: var(--bsd-secondary);
	margin: 0 0 8px;
}
.bsd-sectionhead__title {
	margin: 0;
	font-size: clamp(1.5rem, 3vw, 2.1rem);
	line-height: 1.1;
}
.bsd-sectionhead__more {
	margin-left: auto;
	font-family: var(--bsd-font-ui);
	font-size: .72rem;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--bsd-muted);
	padding-bottom: 4px;
}
.bsd-sectionhead__more:hover { color: var(--bsd-accent); text-decoration: none; }

/* Curated section strip */
.bsd-strip {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 26px;
	margin: 0 0 26px;
	font-family: var(--bsd-font-ui);
}
.bsd-strip a {
	font-size: .7rem;
	font-weight: 600;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--bsd-muted);
	padding-bottom: 3px;
	border-bottom: 1px solid transparent;
}
.bsd-strip a:hover { color: var(--bsd-primary); border-color: var(--bsd-accent); text-decoration: none; }

/* Byline / meta row */
.bsd-meta {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
	font-family: var(--bsd-font-ui);
	font-size: .8rem;
	color: var(--bsd-muted);
	line-height: 1.5;
}
.bsd-meta img {
	width: 34px;
	height: 34px;
	border-radius: 50%;
	filter: grayscale(1);
	flex: 0 0 auto;
}
.bsd-meta__by { color: var(--bsd-text); }
.bsd-meta__by a { color: var(--bsd-text); font-weight: 600; }
.bsd-meta__by a:hover { color: var(--bsd-accent); }
.bsd-meta__dot { width: 3px; height: 3px; border-radius: 50%; background: var(--bsd-secondary); flex: 0 0 auto; }
.bsd-meta--lg { font-size: .86rem; gap: 12px; }
.bsd-meta--lg img { width: 44px; height: 44px; }
.bsd-meta--light { color: rgba(255, 255, 255, .78); }
.bsd-meta--light .bsd-meta__by,
.bsd-meta--light .bsd-meta__by a { color: #fff; }
.bsd-meta--light .bsd-meta__dot { background: rgba(255, 255, 255, .6); }

/* Buttons & links */
.bsd-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 13px 28px;
	border: 1px solid var(--bsd-accent);
	border-radius: var(--bsd-radius);
	background: var(--bsd-accent);
	color: #fff;
	font-family: var(--bsd-font-ui);
	font-size: .78rem;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
	cursor: pointer;
	transition: background .2s, color .2s;
}
.bsd-btn:hover { background: transparent; color: var(--bsd-accent); text-decoration: none; }

.bsd-btn--ghost { background: transparent; color: var(--bsd-primary); border-color: var(--bsd-rule); }
.bsd-btn--ghost:hover { border-color: var(--bsd-accent); color: var(--bsd-accent); background: transparent; }

.bsd-textlink {
	display: inline-block;
	font-family: var(--bsd-font-ui);
	font-size: .74rem;
	font-weight: 600;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--bsd-accent);
	border-bottom: 1px solid currentColor;
	padding-bottom: 3px;
}
.bsd-textlink:hover { text-decoration: none; color: var(--bsd-accent-soft); }
.bsd-textlink--light { color: #fff; }
.bsd-textlink--light:hover { color: rgba(255, 255, 255, .82); }

/* ==========================================================================
   5. Masthead rail & header
   ========================================================================== */

.bsd-rail {
	border-bottom: 1px solid var(--bsd-border);
	background: var(--bsd-bg);
	font-family: var(--bsd-font-ui);
	font-size: .68rem;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--bsd-muted);
}
.bsd-rail__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	min-height: 40px;
	padding-block: 8px;
}
.bsd-rail__date { color: var(--bsd-text); }
.bsd-rail__issue { display: inline-flex; align-items: center; gap: 10px; }
.bsd-rail__issue strong { color: var(--bsd-secondary); font-weight: 600; }
.bsd-rail__sep { color: var(--bsd-rule); }

@media (max-width: 720px) {
	.bsd-rail__tagline { display: none; }
}

/* Thin nav bar */
.bsd-header {
	position: sticky;
	top: 0;
	z-index: 100;
	/* Solid first, so browsers without color-mix() still get a background. */
	background: var(--bsd-bg);
	background: color-mix(in srgb, var(--bsd-bg) 88%, transparent);
	backdrop-filter: saturate(150%) blur(12px);
	border-bottom: 1px solid var(--bsd-border);
}

.bsd-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 28px;
	min-height: 66px;
}

.bsd-brand {
	display: inline-block;
	font-family: var(--bsd-font-head);
	font-size: clamp(1.5rem, 2.6vw, 1.95rem);
	line-height: 1.1;
	letter-spacing: .01em;
	color: var(--bsd-primary);
}
.bsd-brand:hover { text-decoration: none; color: var(--bsd-accent); }
.bsd-brand__tagline {
	display: block;
	font-family: var(--bsd-font-ui);
	font-size: .6rem;
	font-weight: 500;
	letter-spacing: .28em;
	text-transform: uppercase;
	color: var(--bsd-muted);
	margin-top: 5px;
}

.bsd-nav ul {
	list-style: none;
	display: flex;
	align-items: center;
	gap: 30px;
	margin: 0;
	padding: 0;
}
.bsd-nav a {
	position: relative;
	display: inline-block;
	color: var(--bsd-primary);
	font-family: var(--bsd-font-ui);
	font-size: .74rem;
	font-weight: 500;
	letter-spacing: .18em;
	text-transform: uppercase;
	padding: 6px 0;
}
.bsd-nav a:hover { color: var(--bsd-accent); text-decoration: none; }
.bsd-nav .current-menu-item > a,
.bsd-nav .current_page_item > a { color: var(--bsd-accent); }
.bsd-nav .current-menu-item > a::after,
.bsd-nav .current_page_item > a::after {
	content: "";
	position: absolute;
	left: 0; right: 0; bottom: 0;
	height: 1px;
	background: var(--bsd-accent);
}

.bsd-nav li { position: relative; }
.bsd-nav ul ul {
	position: absolute;
	top: 100%;
	left: 0;
	min-width: 214px;
	flex-direction: column;
	align-items: stretch;
	gap: 0;
	background: var(--bsd-surface);
	border: 1px solid var(--bsd-border);
	box-shadow: var(--bsd-shadow);
	padding: 8px;
	display: none;
	z-index: 20;
}
.bsd-nav li:hover > ul,
.bsd-nav li:focus-within > ul { display: flex; }
.bsd-nav ul ul a { display: block; padding: 9px 12px; letter-spacing: .12em; }
.bsd-nav ul ul a::after { display: none; }
.bsd-nav ul ul a:hover { background: var(--bsd-surface-alt); }

.bsd-header__actions { display: flex; align-items: center; gap: 8px; }

.bsd-iconbtn {
	width: 38px;
	height: 38px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--bsd-border);
	border-radius: 50%;
	background: transparent;
	color: var(--bsd-primary);
	cursor: pointer;
	padding: 0;
	transition: border-color .2s, color .2s, background .2s;
}
.bsd-iconbtn:hover { border-color: var(--bsd-accent); color: var(--bsd-accent); text-decoration: none; }
.bsd-iconbtn svg { width: 16px; height: 16px; fill: currentColor; }

.bsd-iconbtn__sun { display: none; }
.bsd-iconbtn__moon { display: block; }
[data-theme="dark"] .bsd-iconbtn__sun { display: block; }
[data-theme="dark"] .bsd-iconbtn__moon { display: none; }

.bsd-menu-toggle { display: none; }

.bsd-searchdrawer {
	display: none;
	border-top: 1px solid var(--bsd-border);
	margin-top: -1px;
	padding-bottom: 22px;
	background: var(--bsd-bg);
}
.bsd-searchdrawer.is-open { display: block; }
.bsd-searchdrawer .bsd-container { padding-top: 22px; }

@media (max-width: 940px) {
	.bsd-menu-toggle { display: inline-flex; }
	.bsd-nav {
		display: none;
		position: absolute;
		top: 100%;
		left: 0; right: 0;
		background: var(--bsd-surface);
		border-bottom: 1px solid var(--bsd-border);
		padding: 14px var(--bsd-gutter) 22px;
	}
	.bsd-nav.is-open { display: block; }
	.bsd-nav ul { flex-direction: column; align-items: stretch; gap: 2px; }
	.bsd-nav ul ul { position: static; display: flex; border: 0; box-shadow: none; padding-left: 16px; }
	.bsd-nav a { display: block; padding: 11px 0; }
}

/* ==========================================================================
   6. Cover hero — the magazine cover
   ========================================================================== */

.bsd-cover {
	position: relative;
	display: flex;
	align-items: flex-end;
	min-height: min(86vh, 880px);
	margin-top: 40px;
	overflow: hidden;
	border-radius: var(--bsd-radius-lg);
	background: var(--bsd-primary);
	isolation: isolate;
}

.bsd-cover__media { position: absolute; inset: 0; z-index: -2; }
.bsd-cover__media img { width: 100%; height: 100%; object-fit: cover; }
.bsd-cover__scrim { position: absolute; inset: 0; z-index: -1; background: var(--bsd-scrim); }

/* Cover without artwork: a typographic plate instead of an empty frame. */
.bsd-cover--plain { background: var(--bsd-primary); align-items: center; min-height: min(72vh, 720px); }
.bsd-cover--plain::before {
	content: "";
	position: absolute;
	inset: 22px;
	border: 1px solid rgba(255, 255, 255, .22);
	pointer-events: none;
}
.bsd-cover--plain .bsd-cover__body { text-align: center; margin-inline: auto; }
.bsd-cover--plain .bsd-cover__title { font-size: clamp(2.6rem, 7vw, 5rem); }

.bsd-cover__edition {
	position: absolute;
	top: clamp(22px, 3vw, 40px);
	right: clamp(22px, 3vw, 40px);
	z-index: 1;
	text-align: right;
	font-family: var(--bsd-font-ui);
	font-size: .66rem;
	letter-spacing: .24em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, .82);
	line-height: 1.9;
}
.bsd-cover__edition strong {
	display: block;
	font-family: var(--bsd-font-head);
	font-size: 1.7rem;
	font-weight: 400;
	letter-spacing: .04em;
	text-transform: none;
	color: #fff;
}

.bsd-cover__body {
	position: relative;
	z-index: 1;
	padding: clamp(28px, 4.6vw, 68px);
	max-width: 60ch;
	color: #fff;
}

.bsd-cover__title {
	font-size: clamp(2.4rem, 6vw, 4.6rem);
	line-height: 1.03;
	margin: 16px 0 18px;
	color: #fff;
	text-wrap: balance;
}
.bsd-cover__title a { color: #fff; }
.bsd-cover__title a:hover { color: #fff; text-decoration: none; opacity: .88; }

.bsd-cover__dek {
	font-size: clamp(1.02rem, 1.5vw, 1.28rem);
	line-height: 1.6;
	color: rgba(255, 255, 255, .88);
	margin: 0 0 22px;
	max-width: 46ch;
}

.bsd-cover__foot { display: flex; align-items: center; flex-wrap: wrap; gap: 20px 30px; }

@media (max-width: 720px) {
	.bsd-cover { min-height: min(78vh, 640px); margin-top: 24px; }
	.bsd-cover__edition { position: static; text-align: left; padding: 26px 26px 0; }
	.bsd-cover__edition strong { display: inline-block; margin-right: 10px; }
}

/* ==========================================================================
   7. Today in the Magazine — four columns
   ========================================================================== */

.bsd-today {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0;
	border-top: 1px solid var(--bsd-primary);
	padding-top: 26px;
}
@media (max-width: 1000px) { .bsd-today { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 620px)  { .bsd-today { grid-template-columns: minmax(0, 1fr); } }

.bsd-today__col {
	padding: 0 26px;
	border-left: 1px solid var(--bsd-rule);
}
.bsd-today__col:first-child { padding-left: 0; border-left: 0; }
.bsd-today__col:last-child { padding-right: 0; }

@media (max-width: 1000px) {
	.bsd-today__col { padding: 26px 22px; border-top: 1px solid var(--bsd-rule); }
	.bsd-today__col:nth-child(-n+2) { padding-top: 0; border-top: 0; }
	.bsd-today__col:nth-child(odd) { padding-left: 0; border-left: 0; }
	.bsd-today__col:nth-child(even) { padding-right: 0; }
}
@media (max-width: 620px) {
	.bsd-today__col { padding: 26px 0; border-left: 0; border-top: 1px solid var(--bsd-rule); }
	.bsd-today__col:first-child { padding-top: 0; border-top: 0; }
}

.bsd-today__figure {
	display: block;
	aspect-ratio: 3 / 4;
	overflow: hidden;
	background: var(--bsd-surface-alt);
	margin-bottom: 16px;
}
.bsd-today__figure img {
	width: 100%; height: 100%;
	object-fit: cover;
	transition: transform .6s ease, filter .5s ease;
}
.bsd-today__col:hover .bsd-today__figure img { transform: scale(1.04); }

.bsd-today__title {
	font-size: 1.28rem;
	line-height: 1.22;
	margin: 10px 0 10px;
}
.bsd-today__title a { color: var(--bsd-primary); }
.bsd-today__title a:hover { color: var(--bsd-accent); text-decoration: none; }
.bsd-today__dek { color: var(--bsd-muted); font-size: .93rem; line-height: 1.62; margin: 0 0 14px; }

/* ==========================================================================
   8. Long-form feature
   ========================================================================== */

.bsd-longform {
	display: grid;
	grid-template-columns: 1.02fr .98fr;
	gap: clamp(32px, 5vw, 72px);
	align-items: center;
}
@media (max-width: 900px) { .bsd-longform { grid-template-columns: minmax(0, 1fr); } }

.bsd-longform__figure {
	position: relative;
	aspect-ratio: 4 / 5;
	overflow: hidden;
	background: var(--bsd-surface-alt);
}
.bsd-longform__figure img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s ease; }
.bsd-longform:hover .bsd-longform__figure img { transform: scale(1.03); }

/* The offset editorial frame — print photography treatment. */
.bsd-longform__frame { position: relative; }
.bsd-longform__frame::after {
	content: "";
	position: absolute;
	inset: 18px -18px -18px 18px;
	border: 1px solid var(--bsd-secondary);
	z-index: -1;
	pointer-events: none;
}
@media (max-width: 900px) { .bsd-longform__frame::after { inset: 14px -14px -14px 14px; } }

.bsd-longform__caption {
	font-size: .82rem;
	font-style: italic;
	color: var(--bsd-muted);
	margin-top: 14px;
	line-height: 1.6;
}

.bsd-longform__title {
	font-size: clamp(1.9rem, 3.4vw, 2.9rem);
	line-height: 1.08;
	margin: 14px 0 20px;
}
.bsd-longform__title a { color: var(--bsd-primary); }
.bsd-longform__title a:hover { color: var(--bsd-accent); text-decoration: none; }

.bsd-longform__standfirst {
	font-family: var(--bsd-font-head);
	font-size: 1.32rem;
	line-height: 1.5;
	color: var(--bsd-text);
	border-left: 2px solid var(--bsd-accent);
	padding-left: 22px;
	margin: 0 0 24px;
}

.bsd-longform__time {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-family: var(--bsd-font-ui);
	font-size: .68rem;
	font-weight: 600;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--bsd-secondary);
	margin-bottom: 10px;
}

/* ==========================================================================
   9. The Columns — recurring columnists
   ========================================================================== */

.bsd-columns {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 44px;
}
@media (max-width: 900px) { .bsd-columns { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 34px; } }
@media (max-width: 600px) { .bsd-columns { grid-template-columns: minmax(0, 1fr); } }

.bsd-columnist { display: flex; flex-direction: column; gap: 6px; }

.bsd-columnist__head { display: flex; align-items: center; gap: 14px; margin-bottom: 12px; }
.bsd-columnist__head img {
	width: 62px;
	height: 62px;
	border-radius: 50%;
	filter: grayscale(1);
	border: 1px solid var(--bsd-border);
	flex: 0 0 auto;
	transition: filter .4s ease;
}
.bsd-columnist:hover .bsd-columnist__head img { filter: grayscale(0); }
.bsd-columnist__name {
	font-family: var(--bsd-font-ui);
	font-size: .78rem;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--bsd-primary);
	margin: 0;
	line-height: 1.4;
}
.bsd-columnist__name a { color: var(--bsd-primary); }
.bsd-columnist__name a:hover { color: var(--bsd-accent); }
.bsd-columnist__role {
	display: block;
	font-family: var(--bsd-font-ui);
	font-size: .64rem;
	font-weight: 500;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--bsd-secondary);
	margin-top: 4px;
}
.bsd-columnist__title { font-size: 1.24rem; line-height: 1.24; margin: 0 0 8px; }
.bsd-columnist__title a { color: var(--bsd-primary); }
.bsd-columnist__title a:hover { color: var(--bsd-accent); text-decoration: none; }
.bsd-columnist__dek { color: var(--bsd-muted); font-size: .93rem; margin: 0 0 12px; }
.bsd-columnist__date {
	font-family: var(--bsd-font-ui);
	font-size: .7rem;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--bsd-muted);
	margin-top: auto;
	padding-top: 8px;
	border-top: 1px solid var(--bsd-rule);
}

/* ==========================================================================
   10. Cards, plates & editorial grids
   ========================================================================== */

.bsd-card {
	display: flex;
	flex-direction: column;
	background: transparent;
}

.bsd-card__thumb {
	display: block;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	background: var(--bsd-surface-alt);
	margin-bottom: 16px;
}
.bsd-card__thumb img {
	width: 100%; height: 100%;
	object-fit: cover;
	transition: transform .6s ease, filter .5s ease;
}
.bsd-card:hover .bsd-card__thumb img { transform: scale(1.035); }

.bsd-card__body { display: flex; flex-direction: column; gap: 9px; flex: 1; }
.bsd-card__title { font-size: 1.3rem; line-height: 1.22; margin: 0; }
.bsd-card__title a { color: var(--bsd-primary); }
.bsd-card__title a:hover { color: var(--bsd-accent); text-decoration: none; }
.bsd-card__excerpt { color: var(--bsd-muted); font-size: .95rem; margin: 0; }
.bsd-card .bsd-meta { margin-top: auto; padding-top: 6px; }

/* Photography-led style grid */
.bsd-plates {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(268px, 1fr));
	gap: 46px 34px;
}
.bsd-plates .bsd-card__thumb { aspect-ratio: 3 / 4; }
.bsd-plates .bsd-card__excerpt { display: none; }
.bsd-plates .bsd-card__title { font-size: 1.16rem; }

/* Plain grid (search suggestions, related, 404) */
.bsd-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 44px 34px;
}

/* Editorial archive grid — mixed image treatments */
.bsd-editorial {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 56px 44px;
}
@media (max-width: 720px) { .bsd-editorial { grid-template-columns: minmax(0, 1fr); gap: 44px; } }

.bsd-editorial > *:nth-child(6n+1) { grid-column: 1 / -1; }
.bsd-editorial > *:nth-child(6n+1) .bsd-card__thumb { aspect-ratio: 21 / 9; }
.bsd-editorial > *:nth-child(6n+1) .bsd-card__title { font-size: clamp(1.6rem, 3vw, 2.2rem); }
.bsd-editorial > *:nth-child(6n+1) .bsd-card__excerpt { max-width: 62ch; font-size: 1.02rem; }
.bsd-editorial > *:nth-child(3n+2) .bsd-card__thumb { aspect-ratio: 3 / 4; }
.bsd-editorial > *:nth-child(4n+3) .bsd-card__thumb img { filter: grayscale(1); }
.bsd-editorial > *:nth-child(4n+3):hover .bsd-card__thumb img { filter: grayscale(0); }

/* Typographic list — search & author */
.bsd-list { display: flex; flex-direction: column; }
.bsd-listitem {
	display: grid;
	/* "auto" so a story with no featured image reclaims the whole measure. */
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 6px 32px;
	padding: 30px 0;
	border-top: 1px solid var(--bsd-rule);
}
.bsd-listitem:first-child { border-top: 0; padding-top: 4px; }
.bsd-listitem__thumb {
	grid-column: 2;
	grid-row: 1 / span 4;
	width: 160px;
	aspect-ratio: 3 / 4;
	overflow: hidden;
	background: var(--bsd-surface-alt);
}
.bsd-listitem__thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.bsd-listitem:hover .bsd-listitem__thumb img { transform: scale(1.04); }
.bsd-listitem > *:not(.bsd-listitem__thumb) { grid-column: 1; }
.bsd-listitem__title { font-size: clamp(1.35rem, 2.4vw, 1.75rem); line-height: 1.18; margin: 6px 0; }
.bsd-listitem__title a { color: var(--bsd-primary); }
.bsd-listitem__title a:hover { color: var(--bsd-accent); text-decoration: none; }
.bsd-listitem__excerpt { color: var(--bsd-muted); font-size: 1rem; margin: 0 0 8px; }
@media (max-width: 620px) {
	.bsd-listitem { grid-template-columns: minmax(0, 1fr); }
	.bsd-listitem__thumb { grid-column: 1; grid-row: auto; width: 100%; aspect-ratio: 4 / 3; margin-bottom: 10px; }
}

/* Numbered editorial rundown — "Talk of the Issue" */
.bsd-rundown { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 48px; }
@media (max-width: 820px) { .bsd-rundown { grid-template-columns: minmax(0, 1fr); } }

.bsd-rundown__item {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 20px;
	align-items: start;
	padding: 22px 0;
	border-top: 1px solid var(--bsd-rule);
}
.bsd-rundown__item:nth-child(-n+2) { border-top: 0; padding-top: 0; }
@media (max-width: 820px) {
	.bsd-rundown__item:nth-child(2) { border-top: 1px solid var(--bsd-rule); padding-top: 22px; }
}
.bsd-rundown__num {
	font-family: var(--bsd-font-head);
	font-size: 1.6rem;
	line-height: 1;
	color: var(--bsd-secondary);
	min-width: 1.6em;
}
.bsd-rundown__title { font-size: 1.16rem; line-height: 1.26; margin: 0 0 6px; }
.bsd-rundown__title a { color: var(--bsd-primary); }
.bsd-rundown__title a:hover { color: var(--bsd-accent); text-decoration: none; }

/* ==========================================================================
   11. Issue archive — flip-through covers
   ========================================================================== */

.bsd-issues__wrap { position: relative; }

.bsd-issues {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: minmax(224px, 1fr);
	gap: 26px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	padding-bottom: 14px;
	scrollbar-width: thin;
}
.bsd-issues::-webkit-scrollbar { height: 4px; }
.bsd-issues::-webkit-scrollbar-thumb { background: var(--bsd-rule); }

.bsd-issue { scroll-snap-align: start; display: block; }
.bsd-issue:hover { text-decoration: none; }

.bsd-issue__plate {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	aspect-ratio: 3 / 4;
	overflow: hidden;
	background: var(--bsd-primary);
	padding: 20px;
	isolation: isolate;
	transition: transform .35s ease, box-shadow .35s ease;
}
.bsd-issue:hover .bsd-issue__plate { transform: translateY(-6px); box-shadow: var(--bsd-shadow); }

.bsd-issue__plate img {
	position: absolute;
	inset: 0;
	width: 100%; height: 100%;
	object-fit: cover;
	z-index: -2;
}
.bsd-issue__plate::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: var(--bsd-scrim);
}

.bsd-issue__no {
	font-family: var(--bsd-font-ui);
	font-size: .62rem;
	font-weight: 600;
	letter-spacing: .24em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, .9);
	border: 1px solid rgba(255, 255, 255, .4);
	padding: 5px 10px;
	align-self: flex-start;
}
.bsd-issue__foot { color: #fff; }
.bsd-issue__date {
	display: block;
	font-family: var(--bsd-font-head);
	font-size: 1.24rem;
	line-height: 1.2;
	margin-bottom: 6px;
}
.bsd-issue__count {
	display: block;
	font-family: var(--bsd-font-ui);
	font-size: .64rem;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, .74);
}

.bsd-issues__nav { display: flex; gap: 8px; }
.bsd-issues__nav .bsd-iconbtn { width: 34px; height: 34px; }

/* ==========================================================================
   12. Newsletter — The Daily Edit
   ========================================================================== */

.bsd-newsletter {
	position: relative;
	padding: clamp(40px, 5vw, 64px) clamp(24px, 4vw, 56px);
	border-top: 1px solid var(--bsd-primary);
	border-bottom: 1px solid var(--bsd-primary);
	background: var(--bsd-surface-alt);
	text-align: center;
}
.bsd-newsletter__eyebrow {
	font-family: var(--bsd-font-ui);
	font-size: .64rem;
	font-weight: 600;
	letter-spacing: .3em;
	text-transform: uppercase;
	color: var(--bsd-secondary);
	margin: 0 0 14px;
}
.bsd-newsletter h2 { margin: 0 0 14px; font-size: clamp(1.9rem, 3.6vw, 2.8rem); }
.bsd-newsletter p { margin: 0 auto 28px; color: var(--bsd-muted); max-width: 52ch; }

.bsd-newsletter__form {
	display: flex;
	gap: 10px;
	max-width: 480px;
	margin: 0 auto;
	flex-wrap: wrap;
	justify-content: center;
}
.bsd-newsletter input[type="email"] {
	flex: 1;
	min-width: 230px;
	padding: 14px 18px;
	border: 1px solid var(--bsd-rule);
	border-radius: var(--bsd-radius);
	background: var(--bsd-surface);
	color: var(--bsd-text);
	font-family: var(--bsd-font-body);
	font-size: 1rem;
}
.bsd-newsletter input[type="email"]:focus { outline: none; border-color: var(--bsd-accent); }
.bsd-newsletter__fine {
	margin: 20px auto 0;
	font-family: var(--bsd-font-ui);
	font-size: .7rem;
	letter-spacing: .1em;
	color: var(--bsd-muted);
}

/* ==========================================================================
   13. Single post
   ========================================================================== */

.bsd-progress {
	position: fixed;
	top: 0; left: 0;
	height: 2px;
	width: 0;
	background: var(--bsd-accent);
	z-index: 200;
	transition: width .1s linear;
}

.bsd-breadcrumb {
	font-family: var(--bsd-font-ui);
	font-size: .7rem;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--bsd-muted);
	padding: 26px 0 0;
}
.bsd-breadcrumb a { color: var(--bsd-muted); }
.bsd-breadcrumb a:hover { color: var(--bsd-accent); }
.bsd-breadcrumb span { margin: 0 9px; color: var(--bsd-rule); }

.bsd-postheader {
	max-width: 820px;
	margin: 0 auto;
	text-align: center;
	padding: 34px 0 0;
}
.bsd-postheader__title {
	font-size: clamp(2.3rem, 5.4vw, 4rem);
	line-height: 1.04;
	margin: 18px 0 20px;
	text-wrap: balance;
}
.bsd-postheader__dek {
	font-family: var(--bsd-font-head);
	font-size: clamp(1.15rem, 2vw, 1.5rem);
	line-height: 1.45;
	color: var(--bsd-muted);
	margin: 0 auto 26px;
	max-width: 44ch;
}
.bsd-postheader .bsd-meta { justify-content: center; }

/* Full-bleed hero — sits outside the container, so no negative margins. */
.bsd-fullbleed { margin: 44px 0 0; }
.bsd-fullbleed__media {
	width: 100%;
	height: clamp(320px, 60vh, 720px);
	overflow: hidden;
	background: var(--bsd-surface-alt);
}
.bsd-fullbleed__media img { width: 100%; height: 100%; object-fit: cover; }
.bsd-fullbleed figcaption {
	max-width: var(--bsd-max);
	margin: 14px auto 0;
	padding-inline: var(--bsd-gutter);
	font-size: .84rem;
	font-style: italic;
	line-height: 1.6;
	color: var(--bsd-muted);
}
.bsd-fullbleed figcaption strong {
	font-style: normal;
	font-family: var(--bsd-font-ui);
	font-size: .66rem;
	font-weight: 600;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--bsd-secondary);
	margin-right: 10px;
}

.bsd-article { display: grid; grid-template-columns: 52px minmax(0, 1fr); gap: 34px; }
@media (max-width: 860px) { .bsd-article { grid-template-columns: minmax(0, 1fr); } }

.bsd-share {
	position: sticky;
	top: 96px;
	display: flex;
	flex-direction: column;
	gap: 9px;
	align-self: start;
}
.bsd-share__label {
	writing-mode: vertical-rl;
	font-family: var(--bsd-font-ui);
	font-size: .6rem;
	letter-spacing: .26em;
	text-transform: uppercase;
	color: var(--bsd-muted);
	margin: 0 auto 6px;
}
.bsd-share .bsd-iconbtn { font-family: var(--bsd-font-ui); font-size: .72rem; font-weight: 600; }
@media (max-width: 860px) {
	.bsd-share { position: static; flex-direction: row; align-items: center; margin-bottom: 22px; }
	.bsd-share__label { writing-mode: horizontal-tb; margin: 0 6px 0 0; }
}

/* The magazine column */
.bsd-entry {
	max-width: var(--bsd-content);
	font-size: 1.12rem;
	line-height: 1.85;
}
.bsd-entry > * + * { margin-top: 1.5em; }
.bsd-entry h2 { margin-top: 1.9em; font-size: clamp(1.5rem, 2.6vw, 1.95rem); }
.bsd-entry h3 { margin-top: 1.6em; font-size: 1.35rem; }
.bsd-entry figure, .bsd-entry img { overflow: hidden; }
.bsd-entry figcaption {
	font-size: .84rem;
	font-style: italic;
	color: var(--bsd-muted);
	text-align: center;
	margin-top: 12px;
}

/* Drop cap */
.bsd-entry > p:first-of-type { font-size: 1.2rem; line-height: 1.72; }
.bsd-entry > p:first-of-type::first-letter {
	float: left;
	font-family: var(--bsd-font-head);
	font-size: 4.3em;
	line-height: .82;
	font-weight: 400;
	color: var(--bsd-accent);
	padding: 8px 14px 0 0;
}

/* Pull quotes */
.bsd-entry blockquote,
.bsd-entry .wp-block-quote {
	margin: 2.2em 0;
	padding: 26px 0;
	border-top: 1px solid var(--bsd-rule);
	border-bottom: 1px solid var(--bsd-rule);
	border-left: 0;
	font-family: var(--bsd-font-head);
	font-size: clamp(1.35rem, 2.4vw, 1.75rem);
	line-height: 1.38;
	color: var(--bsd-primary);
	text-align: center;
}
.bsd-entry blockquote p:last-child { margin-bottom: 0; }
.bsd-entry blockquote cite {
	display: block;
	font-family: var(--bsd-font-ui);
	font-size: .7rem;
	font-style: normal;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--bsd-secondary);
	margin-top: 16px;
}
.bsd-entry .wp-block-pullquote {
	border-top: 1px solid var(--bsd-accent);
	border-bottom: 1px solid var(--bsd-accent);
	border-left: 0;
	padding: 30px 0;
	text-align: center;
	font-family: var(--bsd-font-head);
	color: var(--bsd-primary);
}

.bsd-entry pre {
	background: var(--bsd-primary);
	color: var(--bsd-bg);
	padding: 22px;
	border-radius: var(--bsd-radius);
	overflow-x: auto;
	font-size: .88rem;
	font-family: ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;
}
.bsd-entry code { font-family: ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace; font-size: .9em; }
.bsd-entry :not(pre) > code { background: var(--bsd-surface-alt); padding: 2px 6px; border-radius: 3px; }

.bsd-entry table { width: 100%; border-collapse: collapse; font-size: .95rem; }
.bsd-entry th, .bsd-entry td { border: 1px solid var(--bsd-border); padding: 11px 14px; text-align: left; }
.bsd-entry th { font-family: var(--bsd-font-ui); background: var(--bsd-surface-alt); font-weight: 600; }

.bsd-entry ul, .bsd-entry ol { padding-left: 1.4em; }
.bsd-entry li + li { margin-top: .5em; }

/* Tags */
.bsd-tags { display: flex; flex-wrap: wrap; gap: 8px; margin: 40px 0 0; max-width: var(--bsd-content); }
.bsd-tag {
	font-family: var(--bsd-font-ui);
	font-size: .7rem;
	letter-spacing: .1em;
	text-transform: uppercase;
	padding: 6px 14px;
	border: 1px solid var(--bsd-border);
	color: var(--bsd-muted);
}
.bsd-tag:hover { border-color: var(--bsd-accent); color: var(--bsd-accent); text-decoration: none; }

/* Contributor card */
.bsd-authorcard {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 24px;
	align-items: start;
	max-width: var(--bsd-content);
	margin: 52px 0 0;
	padding: 30px 0 0;
	border-top: 1px solid var(--bsd-primary);
}
@media (max-width: 560px) { .bsd-authorcard { grid-template-columns: minmax(0, 1fr); gap: 16px; } }
.bsd-authorcard img {
	width: 84px; height: 84px;
	border-radius: 50%;
	filter: grayscale(1);
	border: 1px solid var(--bsd-border);
}
.bsd-authorcard__eyebrow {
	font-family: var(--bsd-font-ui);
	font-size: .64rem;
	font-weight: 600;
	letter-spacing: .24em;
	text-transform: uppercase;
	color: var(--bsd-secondary);
	margin: 0 0 8px;
}
.bsd-authorcard h3 { margin: 0 0 8px; font-size: 1.4rem; }
.bsd-authorcard h3 a { color: var(--bsd-primary); }
.bsd-authorcard h3 a:hover { color: var(--bsd-accent); }
.bsd-authorcard p { margin: 0 0 14px; color: var(--bsd-muted); font-size: .98rem; }

/* Post navigation */
.bsd-postnav {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0;
	max-width: var(--bsd-content);
	margin: 48px 0 0;
	border-top: 1px solid var(--bsd-rule);
}
@media (max-width: 600px) { .bsd-postnav { grid-template-columns: 1fr; } }
.bsd-postnav a {
	display: block;
	padding: 24px 0;
	color: var(--bsd-primary);
	font-family: var(--bsd-font-head);
	font-size: 1.1rem;
	line-height: 1.3;
}
.bsd-postnav a + a, .bsd-postnav .is-next { padding-left: 28px; border-left: 1px solid var(--bsd-rule); text-align: right; }
@media (max-width: 600px) {
	.bsd-postnav .is-next { padding-left: 0; border-left: 0; border-top: 1px solid var(--bsd-rule); text-align: left; }
}
.bsd-postnav a:hover { color: var(--bsd-accent); text-decoration: none; }
.bsd-postnav span {
	display: block;
	font-family: var(--bsd-font-ui);
	font-size: .62rem;
	font-weight: 600;
	letter-spacing: .24em;
	text-transform: uppercase;
	color: var(--bsd-secondary);
	margin-bottom: 10px;
}

/* ==========================================================================
   14. Page heads, publication page, author, 404
   ========================================================================== */

.bsd-pagehead {
	padding: 56px 0 26px;
	border-bottom: 1px solid var(--bsd-primary);
	text-align: center;
}
.bsd-pagehead__kicker {
	font-family: var(--bsd-font-ui);
	font-size: .64rem;
	font-weight: 600;
	letter-spacing: .3em;
	text-transform: uppercase;
	color: var(--bsd-secondary);
	margin: 0 0 16px;
}
.bsd-pagehead h1 { font-size: clamp(2.2rem, 5vw, 3.6rem); margin: 0 0 16px; }
.bsd-pagehead__intro,
.bsd-pagehead p {
	margin: 0 auto;
	max-width: 58ch;
	color: var(--bsd-muted);
	font-size: 1.08rem;
	line-height: 1.7;
}

.bsd-filterbar {
	display: flex;
	gap: 12px 28px;
	flex-wrap: wrap;
	justify-content: center;
	margin: 28px 0 0;
	font-family: var(--bsd-font-ui);
}
.bsd-filter {
	font-size: .7rem;
	font-weight: 600;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--bsd-muted);
	padding-bottom: 5px;
	border-bottom: 1px solid transparent;
}
.bsd-filter:hover { color: var(--bsd-accent); text-decoration: none; }
.bsd-filter.is-active { color: var(--bsd-primary); border-color: var(--bsd-accent); }

/* The Publication (about) page extras */
.bsd-mission {
	max-width: 34ch;
	font-family: var(--bsd-font-head);
	font-size: clamp(1.4rem, 2.8vw, 2rem);
	line-height: 1.34;
	color: var(--bsd-primary);
	margin: 0;
}
.bsd-publication {
	display: grid;
	grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
	gap: clamp(28px, 5vw, 72px);
	padding: 56px 0;
	align-items: start;
}
@media (max-width: 880px) { .bsd-publication { grid-template-columns: minmax(0, 1fr); } }

.bsd-masthead-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px 40px; }
@media (max-width: 560px) { .bsd-masthead-list { grid-template-columns: minmax(0, 1fr); } }
.bsd-masthead-list__item { display: flex; gap: 14px; align-items: center; }
.bsd-masthead-list__item img {
	width: 52px; height: 52px;
	border-radius: 50%;
	filter: grayscale(1);
	border: 1px solid var(--bsd-border);
	flex: 0 0 auto;
}
.bsd-masthead-list__role {
	display: block;
	font-family: var(--bsd-font-ui);
	font-size: .6rem;
	font-weight: 600;
	letter-spacing: .22em;
	text-transform: uppercase;
	color: var(--bsd-secondary);
	margin-bottom: 4px;
}
.bsd-masthead-list__name { font-family: var(--bsd-font-head); font-size: 1.12rem; line-height: 1.3; }
.bsd-masthead-list__name a { color: var(--bsd-primary); }
.bsd-masthead-list__name a:hover { color: var(--bsd-accent); }

.bsd-press { list-style: none; margin: 0; padding: 0; }
.bsd-press li {
	padding: 16px 0;
	border-top: 1px solid var(--bsd-rule);
	font-family: var(--bsd-font-head);
	font-size: 1.12rem;
	line-height: 1.4;
	color: var(--bsd-primary);
}
.bsd-press li:first-child { border-top: 0; }
.bsd-press li::before {
	content: "";
	display: inline-block;
	width: 6px; height: 6px;
	margin-right: 14px;
	transform: rotate(45deg) translateY(-2px);
	background: var(--bsd-accent);
}

/* Contributor hero */
.bsd-contributor { text-align: center; }
.bsd-contributor img {
	width: 120px; height: 120px;
	border-radius: 50%;
	margin: 0 auto 22px;
	filter: grayscale(1);
	border: 1px solid var(--bsd-border);
}
.bsd-credentials {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 10px 36px;
	margin: 26px 0 0;
	font-family: var(--bsd-font-ui);
	font-size: .7rem;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--bsd-muted);
}
.bsd-credentials strong { display: block; font-family: var(--bsd-font-head); font-size: 1.5rem; letter-spacing: 0; text-transform: none; color: var(--bsd-primary); font-weight: 400; }

.bsd-social { display: flex; gap: 9px; justify-content: center; margin-top: 20px; }
.bsd-social a {
	width: 38px; height: 38px;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--bsd-border);
	color: var(--bsd-primary);
	font-family: var(--bsd-font-ui);
	font-size: .74rem;
	font-weight: 600;
}
.bsd-social a:hover { background: var(--bsd-accent); border-color: var(--bsd-accent); color: #fff; text-decoration: none; }

/* 404 */
.bsd-404 { text-align: center; padding: 90px 0 40px; }
.bsd-404__code {
	font-family: var(--bsd-font-head);
	font-size: clamp(4.5rem, 15vw, 10rem);
	line-height: .9;
	color: var(--bsd-primary);
	margin: 0 0 6px;
	letter-spacing: .02em;
}
.bsd-404__code span { color: var(--bsd-accent); }
.bsd-404 h1 { font-size: clamp(1.8rem, 4vw, 2.9rem); margin: 12px 0 18px; }
.bsd-404 p { color: var(--bsd-muted); max-width: 50ch; margin: 0 auto 30px; }

/* Empty-state note */
.bsd-note {
	padding: 40px 0 60px;
	border-top: 1px solid var(--bsd-rule);
}
.bsd-note h2 { font-size: 1.7rem; margin: 0 0 12px; }
.bsd-note p { color: var(--bsd-muted); max-width: 56ch; }

/* ==========================================================================
   15. Sidebar & widgets
   ========================================================================== */

.bsd-sidebar {
	display: flex;
	flex-direction: column;
	gap: 40px;
	position: sticky;
	top: 96px;
}
@media (max-width: 1020px) { .bsd-sidebar { position: static; } }

.bsd-widget { background: transparent; }
.bsd-widget__title,
.bsd-widget .widget-title,
.bsd-widget > h2,
.bsd-widget > h3,
.bsd-widget .wp-block-heading {
	font-family: var(--bsd-font-ui);
	font-size: .64rem;
	font-weight: 600;
	letter-spacing: .26em;
	text-transform: uppercase;
	color: var(--bsd-secondary);
	margin: 0 0 18px;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--bsd-primary);
	line-height: 1.4;
}
.bsd-widget .wp-block-search__label {
	display: block;
	font-family: var(--bsd-font-ui);
	font-size: .64rem;
	font-weight: 600;
	letter-spacing: .26em;
	text-transform: uppercase;
	color: var(--bsd-secondary);
	margin-bottom: 12px;
}

.bsd-widget ul { list-style: none; margin: 0; padding: 0; }
.bsd-widget li + li { margin-top: 13px; padding-top: 13px; border-top: 1px solid var(--bsd-rule); }
.bsd-widget a { color: var(--bsd-text); font-size: .98rem; line-height: 1.45; }
.bsd-widget a:hover { color: var(--bsd-accent); text-decoration: none; }
.bsd-widget p { color: var(--bsd-muted); font-size: .95rem; }
.bsd-widget select,
.bsd-widget input[type="text"],
.bsd-widget input[type="search"] { width: 100%; }

/* "In this issue" — same-day stories */
.bsd-issuelist { list-style: none; margin: 0; padding: 0; counter-reset: bsd-issuelist; }
.bsd-issuelist li {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 14px;
	padding: 14px 0;
	border-top: 1px solid var(--bsd-rule);
	margin: 0;
}
.bsd-issuelist li:first-child { border-top: 0; padding-top: 0; }
.bsd-issuelist li::before {
	counter-increment: bsd-issuelist;
	content: counter(bsd-issuelist, decimal-leading-zero);
	font-family: var(--bsd-font-ui);
	font-size: .68rem;
	font-weight: 600;
	letter-spacing: .1em;
	color: var(--bsd-secondary);
	padding-top: 4px;
}
.bsd-issuelist__label {
	display: block;
	font-family: var(--bsd-font-ui);
	font-size: .6rem;
	font-weight: 600;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--bsd-muted);
	margin-bottom: 4px;
}
.bsd-issuelist a { font-family: var(--bsd-font-head); font-size: 1.02rem; line-height: 1.3; color: var(--bsd-primary); }
.bsd-issuelist a:hover { color: var(--bsd-accent); }

/* Table of contents (injected) */
.bsd-toc h4 {
	margin: 0 0 14px;
	font-family: var(--bsd-font-ui);
	font-size: .64rem;
	font-weight: 600;
	letter-spacing: .26em;
	text-transform: uppercase;
	color: var(--bsd-secondary);
	padding-bottom: 12px;
	border-bottom: 1px solid var(--bsd-primary);
}
.bsd-toc ol { margin: 0; padding-left: 18px; font-family: var(--bsd-font-ui); font-size: .9rem; }
.bsd-toc li { margin-bottom: 9px; }
.bsd-toc a { color: var(--bsd-text); }
.bsd-toc a:hover { color: var(--bsd-accent); }

/* Search form */
.bsd-searchform { display: flex; gap: 8px; }
.bsd-searchform input[type="search"] {
	flex: 1;
	min-width: 0;
	padding: 12px 16px;
	border: 1px solid var(--bsd-rule);
	border-radius: var(--bsd-radius);
	background: var(--bsd-surface);
	color: var(--bsd-text);
	font-family: var(--bsd-font-body);
	font-size: 1rem;
}
.bsd-searchform input[type="search"]:focus { outline: none; border-color: var(--bsd-accent); }

/* Tag cloud */
.bsd-widget .tagcloud { display: flex; flex-wrap: wrap; gap: 8px; }
.bsd-widget .tagcloud a {
	font-family: var(--bsd-font-ui);
	font-size: .72rem !important;
	letter-spacing: .08em;
	padding: 5px 13px;
	border: 1px solid var(--bsd-border);
	color: var(--bsd-muted);
}
.bsd-widget .tagcloud a:hover { border-color: var(--bsd-accent); color: var(--bsd-accent); }

/* ==========================================================================
   16. Comments
   ========================================================================== */

.bsd-comments { max-width: var(--bsd-content); margin: 60px 0 0; }
.bsd-comments ol { list-style: none; margin: 0; padding: 0; }
.bsd-comments .children { list-style: none; padding-left: 28px; margin-top: 20px; }
.bsd-comments .comment-body {
	padding: 24px 0;
	border-top: 1px solid var(--bsd-rule);
	margin-bottom: 4px;
}
.bsd-comments .comment-author { display: flex; align-items: center; gap: 12px; }
.bsd-comments .comment-author img { width: 42px; height: 42px; border-radius: 50%; filter: grayscale(1); }
.bsd-comments .comment-author .fn {
	font-family: var(--bsd-font-ui);
	font-size: .84rem;
	font-weight: 600;
	font-style: normal;
	letter-spacing: .04em;
}
.bsd-comments .comment-metadata { font-family: var(--bsd-font-ui); font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; color: var(--bsd-muted); margin-top: 8px; }
.bsd-comments .comment-metadata a { color: var(--bsd-muted); }
.bsd-comments .comment-content { margin-top: 12px; }
.bsd-comments .reply { font-family: var(--bsd-font-ui); font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; margin-top: 10px; }

.comment-respond { margin-top: 40px; }
.comment-reply-title { font-size: 1.6rem; }
.comment-form label { display: block; font-family: var(--bsd-font-ui); font-size: .74rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; margin-bottom: 7px; }
.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form input[type="url"],
.comment-form textarea {
	width: 100%;
	padding: 12px 16px;
	border: 1px solid var(--bsd-rule);
	border-radius: var(--bsd-radius);
	background: var(--bsd-surface);
	color: var(--bsd-text);
	font-family: var(--bsd-font-body);
	font-size: 1rem;
}
.comment-form textarea { min-height: 160px; }
.comment-form input[type="submit"] {
	background: var(--bsd-accent);
	color: #fff;
	border: 1px solid var(--bsd-accent);
	padding: 13px 30px;
	border-radius: var(--bsd-radius);
	font-family: var(--bsd-font-ui);
	font-size: .78rem;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
	width: auto;
	cursor: pointer;
	transition: background .2s, color .2s;
}
.comment-form input[type="submit"]:hover { background: transparent; color: var(--bsd-accent); }

/* ==========================================================================
   17. Pagination
   ========================================================================== */

.bsd-pagination {
	display: flex;
	justify-content: center;
	gap: 8px;
	flex-wrap: wrap;
	margin: 60px 0 0;
	font-family: var(--bsd-font-ui);
}
.bsd-pagination .page-numbers {
	min-width: 42px;
	height: 42px;
	padding: 0 14px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--bsd-border);
	border-radius: var(--bsd-radius);
	color: var(--bsd-text);
	font-size: .82rem;
	font-weight: 500;
	letter-spacing: .08em;
}
.bsd-pagination .page-numbers:hover { border-color: var(--bsd-accent); color: var(--bsd-accent); text-decoration: none; }
.bsd-pagination .page-numbers.current {
	background: var(--bsd-primary);
	border-color: var(--bsd-primary);
	color: var(--bsd-bg);
}

/* ==========================================================================
   18. Footer — magazine masthead
   ========================================================================== */

.bsd-footer {
	margin-top: 92px;
	background: var(--bsd-primary);
	color: rgba(250, 250, 250, .68);
	padding: 72px 0 0;
}
[data-theme="dark"] .bsd-footer { background: #0f0f0f; }

.bsd-footer a { color: rgba(250, 250, 250, .68); }
.bsd-footer a:hover { color: #fff; }
.bsd-footer ul { list-style: none; margin: 0; padding: 0; }
.bsd-footer li + li { margin-top: 12px; padding: 0; border: 0; }
.bsd-footer .bsd-widget { background: transparent; border: 0; padding: 0; }
.bsd-footer h2, .bsd-footer h3, .bsd-footer .bsd-widget__title {
	color: rgba(250, 250, 250, .9);
	border-color: rgba(250, 250, 250, .18);
}

.bsd-footer__masthead {
	text-align: center;
	padding-bottom: 44px;
	border-bottom: 1px solid rgba(250, 250, 250, .16);
}
.bsd-footer__name {
	display: inline-block;
	font-family: var(--bsd-font-head);
	font-size: clamp(2rem, 5vw, 3.2rem);
	line-height: 1.1;
	color: #fff;
	letter-spacing: .02em;
}
.bsd-footer__name:hover { color: #fff; text-decoration: none; opacity: .85; }
.bsd-footer__tagline {
	margin: 14px auto 0;
	max-width: 46ch;
	font-family: var(--bsd-font-ui);
	font-size: .68rem;
	letter-spacing: .26em;
	text-transform: uppercase;
	color: rgba(250, 250, 250, .56);
}
.bsd-footer__colophon {
	margin: 18px 0 0;
	font-family: var(--bsd-font-ui);
	font-size: .66rem;
	letter-spacing: .22em;
	text-transform: uppercase;
	color: var(--bsd-secondary-soft);
}

.bsd-footer__cols {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 44px;
	padding: 48px 0;
	border-bottom: 1px solid rgba(250, 250, 250, .16);
}
@media (max-width: 900px) { .bsd-footer__cols { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 540px) { .bsd-footer__cols { grid-template-columns: minmax(0, 1fr); } }

.bsd-footer__contributors { display: flex; flex-wrap: wrap; gap: 10px 26px; }
.bsd-footer__contributors a {
	font-family: var(--bsd-font-ui);
	font-size: .72rem;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.bsd-footer__social { display: flex; gap: 9px; margin-top: 18px; }
.bsd-footer__social a {
	width: 38px; height: 38px;
	border-radius: 50%;
	border: 1px solid rgba(250, 250, 250, .24);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	font-family: var(--bsd-font-ui);
	font-size: .74rem;
	font-weight: 600;
}
.bsd-footer__social a:hover { background: var(--bsd-secondary); border-color: var(--bsd-secondary); color: #fff; }

.bsd-footer__bottom {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
	padding: 26px 0;
	font-family: var(--bsd-font-ui);
	font-size: .72rem;
	letter-spacing: .08em;
}
.bsd-footer__bottom ul { display: flex; gap: 22px; flex-wrap: wrap; }
.bsd-footer__bottom li + li { margin-top: 0; }

/* ==========================================================================
   19. WordPress core classes
   ========================================================================== */

.alignleft   { float: left;  margin: .4em 1.6em 1em 0; }
.alignright  { float: right; margin: .4em 0 1em 1.6em; }
.aligncenter { display: block; margin-inline: auto; }
.alignwide   { max-width: 1040px; margin-inline: auto; }
.alignfull   { max-width: 100%; }

.wp-caption { max-width: 100%; }
.wp-caption-text { font-style: italic; font-size: .86rem; color: var(--bsd-muted); text-align: center; }
.gallery-caption { font-size: .86rem; }

.sticky .bsd-card__title::before {
	content: "\2605";
	color: var(--bsd-accent);
	margin-right: 8px;
	font-size: .8em;
}
.bypostauthor > .comment-body { border-top-color: var(--bsd-secondary); }

.bsd-entry .wp-block-image { margin-block: 2em; }
.bsd-entry .wp-block-button__link { background: var(--bsd-accent); border-radius: var(--bsd-radius); font-family: var(--bsd-font-ui); }
.bsd-entry .wp-block-separator { border: 0; height: 1px; background: var(--bsd-rule); }

/* Admin bar offset for the sticky header */
.admin-bar .bsd-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .bsd-header { top: 46px; } }

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after {
		animation-duration: .001ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: .001ms !important;
		scroll-behavior: auto !important;
	}
}
