/* Brakna Post: layout and components. Colours come from the tokens in style.css. Mobile first. */

/* ---------- Base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
	margin: 0;
	background: var(--bp-bg);
	color: var(--bp-text);
	font-family: var(--bp-font);
	font-size: 1rem;
	line-height: 1.6;
	overflow-wrap: break-word;
}
img, video, svg { max-width: 100%; height: auto; }
iframe, embed, object { max-width: 100%; }
a { color: var(--bp-primary); text-decoration-thickness: .08em; text-underline-offset: .15em; }
a:hover { color: var(--bp-accent); }
h1, h2, h3, h4, h5, h6 { font-family: var(--bp-font-heading); line-height: 1.3; margin: 0 0 .5em; }
p { margin: 0 0 1em; }
:focus-visible { outline: 3px solid var(--bp-accent); outline-offset: 2px; }
button { font: inherit; cursor: pointer; }
ul, ol { padding-inline-start: 1.25rem; }

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

.screen-reader-text {
	border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%);
	height: 1px; width: 1px; margin: -1px; overflow: hidden; padding: 0;
	position: absolute; word-wrap: normal !important;
}
.screen-reader-text:focus, .skip-link:focus {
	clip: auto; clip-path: none; height: auto; width: auto; margin: 0; overflow: visible;
	position: fixed; inset-block-start: .5rem; inset-inline-start: .5rem; z-index: 100000;
	background: #fff; color: #000; padding: .75rem 1rem; border-radius: var(--bp-radius);
	box-shadow: 0 0 0 3px var(--bp-accent); text-decoration: none; font-weight: 600;
}

.bp-container {
	width: 100%;
	max-width: var(--bp-container);
	margin-inline: auto;
	padding-inline: var(--bp-gutter);
}
.bp-container--narrow { max-width: 820px; }
.bp-main { padding-block: 1rem 2rem; min-width: 0; }
.bp-home { padding-block-start: 0; }

.bp-icon { flex: none; vertical-align: middle; }

/* ---------- Header ---------- */
.bp-topbar { background: var(--bp-surface); border-block-end: 1px solid var(--bp-border); font-size: .8125rem; }
.bp-topbar__inner { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .25rem 1rem; padding-block: .35rem; }
.bp-topbar__date { margin: 0; display: flex; align-items: center; gap: .4rem; color: var(--bp-muted); }
.bp-topbar__time { font-variant-numeric: tabular-nums; }
.bp-topbar__tools { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; }

.bp-social { list-style: none; margin: 0; padding: 0; display: flex; gap: .25rem; }
.bp-social a { display: inline-flex; align-items: center; justify-content: center; width: 2rem; height: 2rem; border-radius: 50%; color: var(--bp-primary); }
.bp-social a:hover { background: var(--bp-primary); color: var(--bp-primary-contrast); }

.bp-lang ul { list-style: none; margin: 0; padding: 0; display: flex; gap: .25rem; }
.bp-lang a { display: block; padding: .15rem .6rem; border-radius: 999px; text-decoration: none; color: var(--bp-text); border: 1px solid var(--bp-border); background: #fff; }
.bp-lang .is-current a { background: var(--bp-primary); color: var(--bp-primary-contrast); border-color: var(--bp-primary); }

.bp-masthead { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-block: .75rem; }
.bp-logo { margin: 0; font-size: 1.5rem; line-height: 1.1; }
.bp-logo__link { display: inline-block; text-decoration: none; color: var(--bp-primary); }
.bp-logo__img { display: block; width: auto; max-height: 56px; max-width: 100%; }
.bp-logo__text { font-weight: 800; letter-spacing: -.02em; font-size: clamp(1.5rem, 5vw, 2.25rem); }

.bp-menu-toggle { display: inline-flex; align-items: center; justify-content: center; width: 2.75rem; height: 2.75rem; border: 1px solid var(--bp-border); border-radius: var(--bp-radius); background: #fff; color: var(--bp-primary); }
.bp-menu-toggle:hover { background: var(--bp-surface); }

/* Navigation: hidden on mobile only when JavaScript is available. */
.bp-nav { background: var(--bp-primary); color: var(--bp-primary-contrast); }
.js .bp-nav { display: none; }
.js .bp-nav.is-open { display: block; }
.bp-nav__inner { padding-block: .5rem; }

.bp-menu, .bp-menu .sub-menu { list-style: none; margin: 0; padding: 0; }
.bp-menu li { position: relative; display: flex; flex-wrap: wrap; align-items: center; border-block-end: 1px solid rgba(255, 255, 255, .15); }
.bp-menu a { flex: 1 1 0; padding: .75rem .25rem; color: var(--bp-primary-contrast); text-decoration: none; font-weight: 600; }
.bp-menu a:hover, .bp-menu .current-menu-item > a, .bp-menu .current-menu-ancestor > a { text-decoration: underline; color: var(--bp-primary-contrast); }
.bp-menu .sub-menu { display: none; flex-basis: 100%; padding-inline-start: 1rem; }
html:not(.js) .bp-menu .sub-menu { display: block; }
.bp-menu li.is-open > .sub-menu { display: block; }
.bp-menu .sub-menu a { font-weight: 400; }
.bp-submenu-toggle { flex: none; width: 2.5rem; height: 2.5rem; display: inline-flex; align-items: center; justify-content: center; background: transparent; border: 0; color: inherit; }
.bp-submenu-toggle .bp-icon { transition: transform .2s; }
li.is-open > .bp-submenu-toggle .bp-icon { transform: rotate(180deg); }

.bp-nav .bp-search { margin-block: .75rem .25rem; }
.bp-search { display: flex; max-width: 100%; }
.bp-search__field { flex: 1 1 auto; min-width: 0; padding: .6rem .8rem; border: 1px solid var(--bp-border); border-inline-end: 0; border-start-start-radius: var(--bp-radius); border-end-start-radius: var(--bp-radius); font: inherit; color: var(--bp-text); background: #fff; }
.bp-search__submit { flex: none; padding: 0 .9rem; border: 1px solid var(--bp-accent); background: var(--bp-accent); color: #fff; border-start-end-radius: var(--bp-radius); border-end-end-radius: var(--bp-radius); }
.bp-search__submit:hover { filter: brightness(.92); }

@media (min-width: 900px) {
	.bp-menu-toggle { display: none; }
	.bp-masthead { justify-content: center; padding-block: 1.25rem; }
	.js .bp-nav, .js .bp-nav.is-open { display: block; }
	.bp-nav__inner { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-block: 0; }
	.bp-menu { display: flex; flex-wrap: wrap; }
	.bp-menu li { border: 0; flex-wrap: nowrap; }
	.bp-menu > li > a { flex: none; padding: .9rem .9rem; }
	.bp-menu > li > a:hover { background: rgba(0, 0, 0, .18); text-decoration: none; }
	.bp-menu .sub-menu { display: none; position: absolute; inset-inline-start: 0; inset-block-start: 100%; min-width: 220px; padding: .25rem 0; background: var(--bp-primary); box-shadow: 0 8px 20px rgba(0, 0, 0, .25); z-index: 50; }
	.bp-menu li:hover > .sub-menu, .bp-menu li:focus-within > .sub-menu, .bp-menu li.is-open > .sub-menu { display: block; }
	.bp-menu .sub-menu li { display: block; }
	.bp-menu .sub-menu a { display: block; padding: .6rem 1rem; }
	.bp-submenu-toggle { width: 1.75rem; margin-inline-start: -.6rem; }
	.bp-nav .bp-search { margin: .5rem 0; width: 260px; }
}

.bp-nav__home { display: flex; align-items: center; gap: .5rem; padding: .75rem .25rem; color: var(--bp-primary-contrast); text-decoration: none; font-weight: 700; border-block-end: 1px solid rgba(255, 255, 255, .15); }
.bp-nav__home:hover, .bp-nav__home[aria-current] { color: var(--bp-primary-contrast); text-decoration: underline; }
@media (min-width: 900px) {
	.bp-nav__home { flex: none; padding: .9rem .9rem; border: 0; }
	.bp-nav__home:hover { background: rgba(0, 0, 0, .18); text-decoration: none; }
	.bp-nav__inner > .bp-menu { margin-inline-end: auto; }
}

/* ---------- Breaking news ---------- */
.bp-ticker { background: var(--bp-surface); border-block-end: 1px solid var(--bp-border); }
.bp-ticker__inner { display: flex; align-items: stretch; gap: .5rem; padding-block: .4rem; }
.bp-ticker__label { flex: none; display: inline-flex; align-items: center; gap: .35rem; margin: 0; padding: .3rem .7rem; background: var(--bp-breaking); color: #fff; font-size: .8125rem; font-weight: 800; text-transform: uppercase; letter-spacing: .03em; border-radius: var(--bp-radius); }
.bp-ticker__viewport { flex: 1 1 auto; min-width: 0; overflow-x: auto; scroll-snap-type: x proximity; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.bp-ticker__viewport::-webkit-scrollbar { display: none; }
.bp-ticker__list { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; height: 100%; gap: 0; }
.bp-ticker__item { flex: none; scroll-snap-align: start; white-space: nowrap; padding-inline: 1rem; position: relative; font-size: .9375rem; font-weight: 600; }
.bp-ticker__item + .bp-ticker__item::before { content: ""; position: absolute; inset-inline-start: 0; inset-block: 25%; width: 1px; background: var(--bp-border); }
.bp-ticker__item a { color: var(--bp-text); text-decoration: none; }
.bp-ticker__item a:hover { color: var(--bp-breaking); text-decoration: underline; }
.bp-ticker__controls { flex: none; display: none; gap: .25rem; align-items: center; }
.js .bp-ticker__controls { display: flex; }
.bp-ticker__btn { width: 2rem; height: 2rem; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--bp-border); background: #fff; border-radius: 50%; color: var(--bp-text); }
.bp-ticker__btn:disabled { opacity: .4; cursor: default; }
@media (max-width: 599px) {
	.bp-ticker__inner { flex-wrap: wrap; }
	.bp-ticker__label { order: 1; }
	.bp-ticker__controls { order: 2; margin-inline-start: auto; }
	.bp-ticker__viewport { order: 3; flex-basis: 100%; }
	.bp-ticker__item { padding-inline: .75rem; }
	.bp-ticker__item:first-child { padding-inline-start: 0; }
}

/* ---------- Images and cards ---------- */
.bp-img { display: block; width: 100%; height: 100%; object-fit: cover; }
.bp-img--placeholder { background: linear-gradient(135deg, var(--bp-surface), var(--bp-border)); min-height: 100%; }
.bp-cat { display: inline-block; margin-block-end: .35rem; font-size: .75rem; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; color: var(--bp-accent); text-decoration: none; }
.bp-cat:hover { text-decoration: underline; }

.bp-meta { display: flex; flex-wrap: wrap; gap: .15rem .9rem; font-size: .8125rem; color: var(--bp-muted); }
.bp-meta__item { display: inline-flex; align-items: center; gap: .3rem; }
.bp-meta a { color: inherit; }

.bp-grid { display: grid; gap: var(--bp-gap); grid-template-columns: minmax(0, 1fr); }
@media (min-width: 600px) { .bp-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1000px) {
	.bp-grid--4, .bp-grid--related { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.bp-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

.bp-card { display: flex; flex-direction: column; min-width: 0; background: #fff; }
.bp-card__media, .bp-compact__media, .bp-row__media, .bp-lead__media, .bp-mv__thumb { display: block; overflow: hidden; background: var(--bp-surface); }
.bp-card__media { aspect-ratio: 16 / 10; border-radius: var(--bp-radius); }
.bp-card__body { padding-block: .65rem 0; }
.bp-card__title { font-size: 1.05rem; margin: 0 0 .35rem; }
.bp-card__title a, .bp-compact__title a, .bp-row__title a, .bp-lead__title a { color: inherit; text-decoration: none; }
.bp-card__title a:hover, .bp-compact__title a:hover, .bp-row__title a:hover { color: var(--bp-accent); text-decoration: underline; }

.bp-compact { display: grid; grid-template-columns: 112px minmax(0, 1fr); gap: .75rem; align-items: start; }
.bp-compact__media { aspect-ratio: 16 / 10; border-radius: var(--bp-radius); }
.bp-compact__title { font-size: .975rem; margin: 0 0 .25rem; }

/* ---------- Homepage ---------- */
.bp-hero { display: grid; gap: var(--bp-gap); margin-block: 1rem; grid-template-columns: minmax(0, 1fr); }
.bp-hero__side { display: grid; gap: 1rem; align-content: start; }
.bp-lead { position: relative; border-radius: var(--bp-radius); overflow: hidden; background: #101614; color: #fff; }
.bp-lead__media { aspect-ratio: 16 / 10; }
.bp-lead__body { padding: 1rem; }
.bp-lead__title { font-size: clamp(1.4rem, 4vw, 2.25rem); margin: 0 0 .5rem; }
.bp-lead a { color: #fff; }
.bp-lead .bp-cat { color: #ffd9a8; }
.bp-lead .bp-meta { color: #d5dcd9; }
@media (min-width: 700px) {
	.bp-lead__body { position: absolute; inset-inline: 0; inset-block-end: 0; padding: 3rem 1.25rem 1.25rem; background: linear-gradient(to top, rgba(0, 0, 0, .88), rgba(0, 0, 0, 0)); }
}
@media (min-width: 900px) {
	.bp-hero { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); }
}

.bp-latest { display: grid; gap: 2rem; margin-block: 1.5rem; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 1000px) { .bp-latest { grid-template-columns: minmax(0, 3fr) minmax(260px, 1fr); } }
.bp-latest__aside > * + * { margin-block-start: 1.5rem; }

.bp-section { margin-block: 2rem; }
.bp-section__head { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; margin-block-end: 1rem; border-block-end: 2px solid var(--bp-border); }
.bp-section__heading { font-size: 1.25rem; margin: 0 0 1rem; padding-inline-start: .65rem; border-inline-start: 6px solid var(--bp-accent); }
.bp-section__head .bp-section__heading { margin-block-end: .5rem; }
.bp-section__heading a { color: var(--bp-primary); text-decoration: none; }
.bp-section__more { font-size: .875rem; font-weight: 700; white-space: nowrap; }

.bp-mv { background: var(--bp-surface); border-radius: var(--bp-radius); padding: 1rem; }
.bp-mv__title, .widget-title { font-size: 1.1rem; margin: 0 0 .75rem; padding-inline-start: .6rem; border-inline-start: 6px solid var(--bp-accent); }
.bp-mv__list { list-style: none; margin: 0; padding: 0; counter-reset: mv; }
.bp-mv__item { display: flex; gap: .75rem; align-items: flex-start; padding-block: .65rem; border-block-start: 1px solid var(--bp-border); counter-increment: mv; }
.bp-mv__item:first-child { border-block-start: 0; padding-block-start: 0; }
.bp-mv__item::before { content: counter(mv); flex: none; width: 1.75rem; height: 1.75rem; border-radius: 50%; background: var(--bp-primary); color: var(--bp-primary-contrast); font-size: .8125rem; font-weight: 800; display: inline-flex; align-items: center; justify-content: center; }
.bp-mv__thumb { flex: none; width: 72px; aspect-ratio: 16 / 10; border-radius: calc(var(--bp-radius) - 2px); }
.bp-mv__body { display: flex; flex-direction: column; gap: .2rem; min-width: 0; }
.bp-mv__link { color: var(--bp-text); font-weight: 700; text-decoration: none; line-height: 1.35; }
.bp-mv__link:hover { color: var(--bp-accent); text-decoration: underline; }
.bp-mv__views { display: inline-flex; align-items: center; gap: .3rem; font-size: .8125rem; color: var(--bp-muted); }

.widget { margin-block-end: 1.5rem; }

/* ---------- Advertising ---------- */
.bp-ad { margin-block: 1.5rem; text-align: center; }
.bp-ad__label { display: block; font-size: .6875rem; text-transform: uppercase; letter-spacing: .06em; color: var(--bp-muted); margin-block-end: .25rem; }
.bp-ad__slot { display: flex; justify-content: center; max-width: 100%; overflow: hidden; }
.bp-ad__slot > * { max-width: 100%; }
.bp-ad__slot img, .bp-ad__slot iframe, .bp-ad__slot ins { max-width: 100%; }

/* ---------- Archives ---------- */
.bp-archive-header { margin-block: .5rem 1.5rem; padding-block-end: 1rem; border-block-end: 3px solid var(--bp-primary); }
.bp-archive-title { font-size: clamp(1.5rem, 4vw, 2.25rem); margin: 0 0 .25rem; color: var(--bp-primary); }
.bp-archive-desc { color: var(--bp-muted); }
.bp-author-header { display: flex; gap: 1.25rem; align-items: center; }
.bp-avatar { border-radius: 50%; object-fit: cover; background: var(--bp-surface); }
.bp-author-header .bp-archive-desc { margin: 0; }

.bp-rows { display: grid; gap: 1.5rem; }
.bp-row { display: grid; gap: .75rem; grid-template-columns: minmax(0, 1fr); padding-block-end: 1.5rem; border-block-end: 1px solid var(--bp-border); }
.bp-row__media { aspect-ratio: 16 / 10; border-radius: var(--bp-radius); }
.bp-row__title { font-size: 1.25rem; margin: 0 0 .35rem; }
.bp-row__excerpt { margin: .5rem 0 0; color: #3b444b; }
@media (min-width: 700px) { .bp-row { grid-template-columns: 280px minmax(0, 1fr); gap: 1.25rem; } }

.navigation.pagination { margin-block: 2rem 0; }
.nav-links { display: flex; flex-wrap: wrap; gap: .4rem; justify-content: center; align-items: center; }
.page-numbers { display: inline-flex; align-items: center; gap: .3rem; min-width: 2.5rem; height: 2.5rem; padding: 0 .8rem; justify-content: center; border: 1px solid var(--bp-border); border-radius: var(--bp-radius); text-decoration: none; color: var(--bp-text); background: #fff; }
a.page-numbers:hover { border-color: var(--bp-primary); color: var(--bp-primary); }
.page-numbers.current { background: var(--bp-primary); border-color: var(--bp-primary); color: var(--bp-primary-contrast); }
.page-numbers.dots { border: 0; background: transparent; }
@media (max-width: 479px) { .bp-pagination__text { display: none; } }

.bp-none { padding-block: 2rem; max-width: 640px; }
.bp-none__title { font-size: 1.5rem; }
.bp-button { display: inline-block; padding: .7rem 1.2rem; background: var(--bp-primary); color: var(--bp-primary-contrast); border-radius: var(--bp-radius); text-decoration: none; font-weight: 700; }
.bp-button:hover { background: var(--bp-accent); color: #fff; }

/* ---------- Single article ---------- */
.bp-single-layout { display: grid; gap: 2rem; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 1024px) { .bp-single-layout { grid-template-columns: minmax(0, 1fr) 320px; gap: 2.5rem; } }
.bp-single-layout__main { min-width: 0; max-width: 820px; }
.bp-single-layout__aside > * + * { margin-block-start: 1.5rem; }

.bp-article__title { font-size: clamp(1.65rem, 5vw, 2.6rem); margin: .25rem 0 .75rem; color: var(--bp-text); }
.bp-article__byline { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1rem; margin-block-end: 1rem; }
.bp-article__author { display: inline-flex; align-items: center; gap: .6rem; font-weight: 700; }
.bp-article__author a { text-decoration: none; color: var(--bp-text); }
.bp-article__author a:hover { color: var(--bp-accent); text-decoration: underline; }
.bp-article__hero { margin: 0 0 1.25rem; }
.bp-article__hero img { display: block; width: 100%; height: auto; border-radius: var(--bp-radius); }
.bp-article__hero figcaption { font-size: .875rem; color: var(--bp-muted); margin-block-start: .4rem; }
.bp-article__tags { margin-block: 1.5rem; }
.bp-tags a { display: inline-block; margin: 0 .35rem .35rem 0; padding: .2rem .7rem; background: var(--bp-surface); border-radius: 999px; font-size: .8125rem; text-decoration: none; }
.bp-tags a:hover { background: var(--bp-primary); color: var(--bp-primary-contrast); }

.bp-entry-content { font-size: 1.0625rem; line-height: 1.8; }
.bp-entry-content > * { max-width: 100%; }
.bp-entry-content img, .bp-entry-content video { height: auto; }
.bp-entry-content figure { margin: 1.5rem 0; }
.bp-entry-content figcaption, .wp-caption-text { font-size: .875rem; color: var(--bp-muted); }
.bp-entry-content blockquote { margin: 1.5rem 0; padding: .25rem 1rem; border-inline-start: 4px solid var(--bp-accent); background: var(--bp-surface); }
.bp-entry-content table { display: block; max-width: 100%; overflow-x: auto; border-collapse: collapse; }
.bp-entry-content th, .bp-entry-content td { border: 1px solid var(--bp-border); padding: .5rem .75rem; }
.bp-entry-content pre { overflow-x: auto; padding: 1rem; background: var(--bp-surface); }
.bp-entry-content .wp-block-embed, .bp-entry-content .wp-has-aspect-ratio { max-width: 100%; }
.bp-entry-content .wp-block-embed__wrapper iframe { width: 100%; }
.alignleft { float: left; margin: 0 1rem 1rem 0; max-width: 50%; }
.alignright { float: right; margin: 0 0 1rem 1rem; max-width: 50%; }
.aligncenter { display: block; margin-inline: auto; }
.alignwide, .alignfull { max-width: 100%; }
.bp-entry-content::after { content: ""; display: block; clear: both; }
.bp-page-links { margin-block: 1rem; }

.bp-share { margin-block: 2rem; padding: 1rem; border: 1px solid var(--bp-border); border-radius: var(--bp-radius); }
.bp-share__title { font-size: 1rem; margin: 0 0 .75rem; }
.bp-share__list { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem; }
.bp-share__btn { display: inline-flex; align-items: center; gap: .45rem; padding: .5rem .85rem; border: 1px solid var(--bp-border); border-radius: 999px; background: #fff; color: var(--bp-text); text-decoration: none; font-size: .875rem; font-weight: 600; }
.bp-share__btn:hover { background: var(--bp-primary); border-color: var(--bp-primary); color: var(--bp-primary-contrast); }

.bp-author-box { display: flex; gap: 1rem; align-items: flex-start; margin-block: 2rem; padding: 1.25rem; background: var(--bp-surface); border-radius: var(--bp-radius); }
.bp-author-box__avatar img { width: 72px; height: 72px; }
.bp-author-box__label { margin: 0; font-size: .75rem; text-transform: uppercase; letter-spacing: .05em; color: var(--bp-muted); }
.bp-author-box__name { font-size: 1.2rem; margin: 0 0 .35rem; }
.bp-author-box__name a { color: var(--bp-primary); text-decoration: none; }
.bp-author-box__bio { margin: 0 0 .5rem; }
.bp-author-box__link { font-size: .875rem; font-weight: 700; }
@media (min-width: 600px) { .bp-author-box__avatar img { width: 96px; height: 96px; } .bp-author-box { gap: 1.25rem; } }

.bp-related { margin-block: 2.5rem; }
.bp-single-layout .bp-grid--related { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 479px) { .bp-single-layout .bp-grid--related { grid-template-columns: minmax(0, 1fr); } }

/* ---------- Comments and forms ---------- */
.bp-comments { margin-block: 2.5rem; }
.bp-comments__title { font-size: 1.25rem; }
.bp-comment-list { list-style: none; padding: 0; }
.bp-comment-list .children { list-style: none; padding-inline-start: 1.25rem; }
.bp-comment-list .comment-body { padding-block: 1rem; border-block-end: 1px solid var(--bp-border); }
.bp-comment-list .avatar { border-radius: 50%; }
.comment-form label { display: block; font-weight: 600; margin-block-end: .25rem; }
.comment-form input[type="text"], .comment-form input[type="email"], .comment-form input[type="url"], .comment-form textarea { width: 100%; padding: .6rem .8rem; border: 1px solid var(--bp-border); border-radius: var(--bp-radius); font: inherit; }
.comment-form .submit { padding: .7rem 1.4rem; border: 0; border-radius: var(--bp-radius); background: var(--bp-primary); color: var(--bp-primary-contrast); font-weight: 700; }
.comment-form .submit:hover { background: var(--bp-accent); }

/* ---------- Footer ---------- */
.bp-footer { background: var(--bp-footer-bg); color: #e8eeeb; margin-block-start: 2rem; padding-block: 2rem; }
.bp-footer a { color: #fff; }
.bp-footer__widgets { display: grid; gap: 1.5rem; margin-block-end: 1.5rem; padding-block-end: 1.5rem; border-block-end: 1px solid rgba(255, 255, 255, .2); }
@media (min-width: 700px) { .bp-footer__widgets { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); } }
.bp-footer__bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; }
.bp-footer__text { margin: 0; font-size: .875rem; }
.bp-footer__menu { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .25rem 1rem; font-size: .875rem; }
.bp-footer .bp-social a { color: #fff; }
.bp-footer .bp-social a:hover { background: #fff; color: var(--bp-footer-bg); }
.bp-footer .widget-title { color: #fff; }

/* ---------- WordPress core classes ---------- */
.sticky, .bypostauthor, .gallery-caption { display: block; }
.wp-caption { max-width: 100%; }
.gallery { display: grid; gap: .5rem; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); }
