/*
 * Solo blog 2026 — blog-only rules.
 *
 * Everything shared with the shop (fonts, colours, buttons, header, footer, the Quick Quote panel)
 * comes from the store's own solo-2026_vN.css, which loads first. This file adds only what the
 * blog needs on top: the hero, the cards, article typography and the post sidebar. Tokens are the
 * store's custom properties, so a change to the design system reaches the blog automatically.
 */

/* --------------------------------------------------------------------------- shell */

.blog-main {
	display: block;
}

/*
 * No .wrap rule here on purpose. The store's own .wrap (24px gutters, 18px below 640px) governs
 * every container on the page, blog sections included, so blog text lines up with the header,
 * the closing CTA and the footer at every width without a second set of numbers to keep in sync.
 */

/* ---------------------------------------------------------------------------- hero */

.bhero {
	background: var(--navy-900, #0b2540);
	color: #fff;
	padding: 34px 0 54px;
}

.bhero--post {
	padding-bottom: 46px;
}

.bhero__title {
	/* Poppins is reserved for the page H1, as it is on the store. Everything else is Rubik. */
	font-family: var(--font-ui, 'Poppins', sans-serif);
	font-size: clamp(30px, 4.1vw, 42px);
	line-height: 1.08;
	letter-spacing: -0.03em;
	margin: 14px 0 0;
	max-width: 19ch;
	color: #fff;
}

.bhero__title--post {
	max-width: 24ch;
	font-size: clamp(26px, 3.4vw, 40px);
	letter-spacing: -0.03em;
}

.bhero__lede {
	margin: 16px 0 0;
	max-width: 58ch;
	font-size: 16px;
	line-height: 1.62;
	color: #bed2e1;
}

.bhero__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
	margin-top: 18px;
}

.bhero__cat {
	display: inline-block;
	padding: 4px 12px;
	border-radius: var(--pill, 999px);
	background: rgba(111, 194, 232, 0.16);
	color: var(--blue-300, #6fc2e8);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.02em;
	text-decoration: none;
}

.bhero__cat:hover {
	background: rgba(111, 194, 232, 0.26);
	color: #fff;
}

.bhero__facts {
	font-size: 13px;
	color: var(--blue-200, #9db8cc);
}

/* --------------------------------------------------------------------- breadcrumbs */

.bcrumbs {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: 12px;
	color: #cfe3f2;
}

.bcrumbs a {
	color: #cfe3f2;
	text-decoration: none;
	border-bottom: 1px solid rgba(157, 184, 204, 0.4);
}

.bcrumbs a:hover {
	color: #fff;
	border-bottom-color: #fff;
}

.bcrumbs span {
	color: #fff;
	font-weight: 600;
}

.bcrumbs__sep {
	opacity: 0.55;
}

/* --------------------------------------------------------------------------- index */

.bindex {
	padding: 40px 0 8px;
	background: var(--bg-50, #f4f7f9);
}

.bindex__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 320px;
	gap: 34px;
	align-items: start;
}

.bindex__label {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	font-family: var(--font, 'Rubik', sans-serif);
	font-size: 21px;
	letter-spacing: -0.01em;
	color: var(--navy-800, #10233b);
	margin: 34px 0 16px;
}

.bindex__count {
	font-family: var(--font, 'Rubik', sans-serif);
	font-size: 13px;
	font-weight: 400;
	color: var(--ink-400, #8895a4);
}

.bindex__list {
	display: grid;
	gap: 14px;
}

/* --------------------------------------------------------------------------- cards */

.bcard {
	display: grid;
	grid-template-columns: 240px minmax(0, 1fr);
	gap: 18px;
	background: #fff;
	border: 1px solid var(--line-200, #dbe3ea);
	border-radius: var(--radius-lg, 16px);
	overflow: hidden;
	text-decoration: none;
	color: inherit;
	transition: box-shadow 0.18s ease, transform 0.18s ease, border-color 0.18s ease;
}

.bcard:hover {
	border-color: var(--blue-300, #6fc2e8);
	box-shadow: var(--shadow-card, 0 18px 50px rgba(16, 35, 59, 0.12));
	transform: translateY(-2px);
}

.bcard--featured {
	grid-template-columns: minmax(0, 1fr);
	gap: 0;
}

.bcard__media {
	position: relative;
	background: var(--bg-100, #eef2f5);
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 160px;
}

.bcard--featured .bcard__media {
	min-height: 280px;
	aspect-ratio: 16 / 7;
}

.bcard__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.bcard__icon {
	color: var(--blue-300, #6fc2e8);
	display: inline-flex;
}

.bcard__flag {
	position: absolute;
	top: 16px;
	left: 16px;
	padding: 5px 13px;
	border-radius: var(--pill, 999px);
	background: var(--navy-900, #0b2540);
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.575px;
	text-transform: uppercase;
}

.bcard__body {
	padding: 18px 20px 20px;
	display: flex;
	flex-direction: column;
	gap: 8px;
	justify-content: center;
}

.bcard--featured .bcard__body {
	padding: 26px 28px 30px;
	gap: 10px;
}

.bcard__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	font-size: 12px;
	color: var(--ink-400, #8895a4);
}

.bcard__cat {
	padding: 3px 10px;
	border-radius: var(--pill, 999px);
	background: var(--tint-50, #f4fafd);
	border: 1px solid var(--line-200, #dbe3ea);
	color: var(--blue-700, #0d537b);
	font-weight: 700;
	letter-spacing: 0.35px;
}

.bcard__title {
	font-family: var(--font, 'Rubik', sans-serif);
	font-size: 17px;
	line-height: 1.32;
	letter-spacing: -0.01em;
	color: var(--navy-800, #10233b);
	margin: 0;
	font-weight: 600;
}

.bcard--featured .bcard__title {
	font-size: 25px;
	line-height: 1.2;
	letter-spacing: -0.02em;
}

.bcard:hover .bcard__title {
	color: var(--blue-700, #0d537b);
}

.bcard__excerpt {
	margin: 0;
	font-size: 13px;
	line-height: 1.6;
	color: var(--ink-500, #637084);
}

.bcard__more {
	font-size: 13px;
	font-weight: 700;
	color: var(--blue-700, #0d537b);
}

/* -------------------------------------------------------------------------- pager */

.bpager {
	display: flex;
	justify-content: center;
	gap: 12px;
	padding: 34px 0 44px;
}

.bpager a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 0 26px;
	border-radius: 11px;
	background: var(--navy-900, #0b2540);
	color: #fff;
	font-family: var(--font-ui, 'Poppins', sans-serif);
	font-size: 14px;
	font-weight: 700;
	text-align: center;
	text-decoration: none;
}

.bpager a:hover {
	background: var(--navy-700, #123f5f);
}

.bpager__prev a {
	background: #fff;
	color: var(--navy-800, #10233b);
	border: 1px solid var(--line-200, #dbe3ea);
}

.bpager__prev a:hover {
	background: var(--tint-50, #f4fafd);
	color: var(--blue-700, #0d537b);
}

/* ------------------------------------------------------------------------- sidebar */

.bside {
	display: grid;
	gap: 14px;
	position: sticky;
	top: 24px;
}

.bside__box {
	background: #fff;
	border: 1px solid var(--line-200, #dbe3ea);
	border-radius: var(--radius-lg, 16px);
	padding: 18px 20px;
}

/* the category list brings its own bottom spacing through the last row */
.bside__box:has(.bside__cats) {
	padding-bottom: 8px;
}

.bside__label {
	display: block;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.84px;
	text-transform: uppercase;
	color: var(--ink-400, #8895a4);
	margin-bottom: 12px;
}

.bside__search {
	display: grid;
	gap: 9px;
}

.bside__search input {
	width: 100%;
	padding: 11px 14px;
	border: 1px solid var(--line-300, #cdd7df);
	border-radius: var(--radius, 10px);
	font: inherit;
	font-size: 14px;
	color: var(--navy-800, #10233b);
}

.bside__search input:focus {
	outline: 2px solid var(--blue-500, #1678ae);
	outline-offset: 1px;
	border-color: var(--blue-500, #1678ae);
}

.bside__cats {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 1px;
}

.bside__cats a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding: 9px 12px;
	border-radius: var(--radius-sm, 8px);
	font-size: 13.5px;
	font-weight: 600;
	color: var(--ink-700, #33475f);
	text-decoration: none;
}

.bside__cats a:hover {
	background: var(--tint-50, #f4fafd);
	color: var(--blue-700, #0d537b);
}

.bside__cats .is-current > a {
	background: var(--navy-900, #0b2540);
	color: #fff;
	font-weight: 600;
}

.bside__count {
	font-size: 11.5px;
	color: var(--ink-400, #8895a4);
}

.bside__cats .is-current .bside__count {
	color: var(--blue-300, #6fc2e8);
}

.bside__help {
	background: var(--navy-900, #0b2540);
	border-radius: var(--radius-lg, 16px);
	padding: 22px;
	color: #fff;
}

.bside__help h3 {
	font-family: var(--font, 'Rubik', sans-serif);
	font-size: 16px;
	line-height: 1.34;
	margin: 0 0 8px;
	color: #fff;
}

.bside__help p {
	margin: 0 0 14px;
	font-size: 12.5px;
	line-height: 1.6;
	color: #bed2e1;
}

.bside__help .btn {
	font-size: 13px;
}

.bside__phone {
	margin: 12px 0 0;
	font-size: 12.5px;
}

.bside__phone a {
	color: var(--blue-300, #6fc2e8);
	text-decoration: none;
}

.bside__box--news p {
	margin: 0 0 12px;
	font-size: 12.5px;
	line-height: 1.6;
	color: var(--ink-500, #637084);
}

.bnews {
	display: grid;
	gap: 9px;
}

.bnews input {
	width: 100%;
	padding: 11px 14px;
	border: 1px solid var(--line-300, #cdd7df);
	border-radius: var(--radius, 10px);
	font: inherit;
	font-size: 14px;
}

.bnews .btn,
.bnews button {
	font-size: 12px;
}

.bnews__msg {
	margin: 0;
	font-size: 12.5px;
	color: var(--ink-500, #637084);
	min-height: 0;
}

.bnews__msg:empty {
	display: none;
}

.bnews__msg[data-state='error'] {
	color: var(--red, #dc2626);
}

.bnews__msg[data-state='ok'] {
	color: var(--green, #0f9d6b);
}

/* ---------------------------------------------------------------------------- post */

.bpost__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 320px;
	gap: 32px;
	align-items: start;
	padding-top: 40px;
	padding-bottom: 20px;
}

/* the design runs an 806px text measure; without this the column is 26px wider and lines run long */
.bpost__body {
	max-width: 806px;
}

.bpost__grid--solo {
	grid-template-columns: minmax(0, 820px);
	justify-content: center;
}

.bpost__side {
	display: grid;
	gap: 14px;
	position: sticky;
	top: 24px;
}

.bpost__lead {
	margin: 0 0 26px;
}

.bpost__lead img {
	width: 100%;
	height: auto;
	display: block;
	border-radius: var(--radius-lg, 16px);
}

.bpost__lead figcaption {
	margin-top: 9px;
	font-size: 12.5px;
	color: var(--ink-400, #8895a4);
}

.btoc {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 2px;
}

.btoc a {
	display: flex;
	gap: 9px;
	padding: 8px 10px;
	border-radius: var(--radius-sm, 8px);
	font-size: 13.5px;
	line-height: 1.45;
	color: var(--ink-600, #334158);
	text-decoration: none;
}

.btoc a:hover,
.btoc a.is-current {
	background: var(--tint-50, #f4fafd);
	color: var(--blue-700, #0d537b);
}

.btoc a span {
	color: var(--blue-300, #6fc2e8);
	flex: 0 0 auto;
}

.bpost__tags {
	margin-top: 30px;
	padding-top: 20px;
	border-top: 1px solid var(--line-200, #dbe3ea);
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 9px;
	font-size: 13px;
}

.bpost__tagslabel {
	color: var(--ink-400, #8895a4);
	font-weight: 600;
}

.bpost__tags a {
	padding: 4px 11px;
	border-radius: var(--pill, 999px);
	background: var(--bg-50, #f4f7f9);
	border: 1px solid var(--line-200, #dbe3ea);
	color: var(--ink-600, #334158);
	text-decoration: none;
}

.bpost__tags a:hover {
	border-color: var(--blue-300, #6fc2e8);
	color: var(--blue-700, #0d537b);
}

/* ------------------------------------------------------------------ article typography */

.bprose {
	font-size: 14.5px;
	line-height: 1.8;
	color: var(--ink-700, #33475f);
}

.bprose > * + * {
	margin-top: 1.1em;
}

/*
 * Body copy is set here rather than inherited, so an element-level rule in the store stylesheet
 * cannot quietly resize it. Spacing is carried entirely by the rule above.
 */
.bprose p,
.bprose li {
	font-size: inherit;
	line-height: inherit;
	color: inherit;
	margin-bottom: 0;
}

.bprose li {
	line-height: 1.64;
}

.bprose h2 {
	font-family: var(--font, 'Rubik', sans-serif);
	font-size: clamp(20px, 2.2vw, 24px);
	line-height: 1.26;
	letter-spacing: -0.015em;
	color: var(--navy-800, #10233b);
	margin-top: 1.9em;
	scroll-margin-top: 24px;
}

.bprose h3 {
	font-family: var(--font, 'Rubik', sans-serif);
	font-size: 17px;
	line-height: 1.34;
	color: var(--navy-800, #10233b);
	margin-top: 1.6em;
}

.bprose a {
	color: var(--blue-700, #0d537b);
	text-decoration: underline;
	text-underline-offset: 2px;
}

.bprose a:hover {
	color: var(--blue-500, #1678ae);
}

.bprose ul,
.bprose ol {
	padding-left: 1.3em;
}

.bprose li + li {
	margin-top: 0.45em;
}

.bprose img {
	max-width: 100%;
	height: auto;
	border-radius: var(--radius-md, 12px);
}

.bprose figure {
	margin: 1.6em 0;
}

.bprose figcaption {
	margin-top: 8px;
	font-size: 12.5px;
	color: var(--ink-400, #8895a4);
}

.bprose blockquote {
	margin: 1.6em 0;
	padding: 18px 22px;
	border-left: 3px solid var(--blue-300, #6fc2e8);
	background: var(--bg-50, #f4f7f9);
	border-radius: 0 var(--radius-md, 12px) var(--radius-md, 12px) 0;
	font-size: 16px;
}

.bprose blockquote p {
	margin: 0;
}

/* Tables: 30 posts carry one, and several are wider than the column. */
.bprose table {
	width: 100%;
	border-collapse: collapse;
	font-size: 13px;
	line-height: 1.6;
	background: #fff;
	border: 1px solid var(--line-200, #dbe3ea);
	border-radius: var(--radius-md, 12px);
	overflow: hidden;
}

.bprose table th,
.bprose table td {
	padding: 12px 14px;
	border-bottom: 1px solid var(--line-200, #dbe3ea);
	text-align: left;
	vertical-align: top;
}

/* the design runs a navy header row with small uppercase labels */
.bprose table th {
	background: var(--navy-900, #0b2540);
	color: #fff;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	white-space: nowrap;
	border-bottom: 0;
}

.bprose table tr:last-child td {
	border-bottom: none;
}

.bprose .wp-block-table,
.bprose .table-wrap {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.bprose hr,
.bprose .wp-block-separator {
	border: none;
	border-top: 1px solid var(--line-200, #dbe3ea);
	margin: 2em 0;
}

/*
 * The in-article promo blocks.
 *
 * The markup now comes from the theme (inc/promo.php) rather than from post content, so these are
 * real rules rather than overrides fighting inline styles. The card stays light on purpose: an
 * advert inside an article should not shout over the article.
 */
.bprose .solo-cta {
	margin: 1.8em 0;
	padding: 20px 22px;
	background: var(--tint-50, #f4fafd);
	border: 1px solid var(--line-200, #dbe3ea);
	border-radius: var(--radius-lg, 16px);
	font-size: 14px;
	line-height: 1.6;
	color: var(--ink-700, #33475f);
}

.bprose .solo-cta__title {
	display: block;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.35;
	color: var(--navy-800, #10233b);
}

.bprose .solo-cta__body {
	margin: 5px 0 0;
	font-size: 13.5px;
	line-height: 1.6;
	color: var(--ink-500, #637084);
}

.bprose .solo-cta__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 9px;
	margin: 15px 0 0;
}

.bprose .solo-cta__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	padding: 0 18px;
	border-radius: 11px;
	font-size: 13.5px;
	font-weight: 700;
	text-decoration: none;
	white-space: nowrap;
}

.bprose .solo-cta__btn--primary {
	background: var(--navy-900, #0b2540);
	color: #fff;
}

.bprose .solo-cta__btn--primary:hover {
	background: var(--navy-700, #123f5f);
	color: #fff;
}

.bprose .solo-cta__btn--ghost {
	background: #fff;
	color: var(--navy-800, #10233b);
	box-shadow: inset 0 0 0 1px var(--line-300, #cdd7df);
}

.bprose .solo-cta__btn--ghost:hover {
	box-shadow: inset 0 0 0 1px var(--blue-500, #1678ae);
	background: var(--tint-100, #eaf5f9);
	color: var(--blue-700, #0d537b);
}

/* the one-line variant: a note in the flow of the article, with a link inside the sentence */
.bprose .solo-cta-b {
	padding: 12px 16px;
	border: 0;
	border-left: 4px solid var(--blue-500, #1678ae);
	border-radius: 0;
	font-size: 14px;
}

.bprose .solo-cta-b a {
	color: var(--blue-700, #0d537b);
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 2px;
}

/* the vehicle variant: a make badge, a line of copy, one button */
.bprose .solo-cta-c {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 14px;
	background: #fff;
}

.bprose .solo-cta__badge {
	flex-shrink: 0;
	padding: 10px 14px;
	border-radius: 10px;
	background: var(--navy-700, #123f5f);
	color: #fff;
	font-size: 14px;
	font-weight: 700;
}

.bprose .solo-cta__text {
	flex: 1;
	min-width: 190px;
}

.bprose .solo-cta-c .solo-cta__body {
	display: block;
}

@media (max-width: 560px) {
	.bprose .solo-cta__actions,
	.bprose .solo-cta-c {
		flex-direction: column;
		align-items: stretch;
	}

	.bprose .solo-cta__btn {
		width: 100%;
	}
}

/* Old post bodies set alignment and widths by hand; keep them inside the column. */
.bprose .aligncenter {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.bprose .alignnone,
.bprose .size-full,
.bprose .size-large {
	max-width: 100%;
	height: auto;
}

.bprose iframe {
	max-width: 100%;
}

/* --------------------------------------------------------------------- related posts */

.brelated {
	background: var(--bg-50, #f4f7f9);
	padding: 36px 0 50px;
	margin-top: 0;
}

.brelated__title {
	font-family: var(--font, 'Rubik', sans-serif);
	font-size: 21px;
	letter-spacing: -0.01em;
	color: var(--navy-800, #10233b);
	margin: 0 0 20px;
}

.brelated__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 16px;
}

.brelated__card {
	display: flex;
	flex-direction: column;
	gap: 8px;
	background: #fff;
	border: 1px solid var(--line-200, #dbe3ea);
	border-radius: var(--radius-lg, 16px);
	padding: 20px;
	text-decoration: none;
	transition: box-shadow 0.18s ease, transform 0.18s ease, border-color 0.18s ease;
}

.brelated__card:hover {
	border-color: var(--blue-300, #6fc2e8);
	box-shadow: var(--shadow-card, 0 18px 50px rgba(16, 35, 59, 0.12));
	transform: translateY(-2px);
}

.brelated__date {
	font-size: 12px;
	color: var(--ink-400, #8895a4);
}

.brelated__name {
	font-family: var(--font, 'Rubik', sans-serif);
	font-size: 15px;
	font-weight: 600;
	line-height: 1.34;
	color: var(--navy-800, #10233b);
}

.brelated__excerpt {
	font-size: 13px;
	line-height: 1.6;
	color: var(--ink-500, #637084);
}

.brelated__more {
	font-size: 13px;
	font-weight: 600;
	color: var(--blue-500, #1678ae);
	margin-top: auto;
}

/* ------------------------------------------------------------------- how-to start card */

.bstart {
	background: var(--bg-50, #f4f7f9);
	padding: 70px 0 0;
}

.bstart__card {
	background: #fff;
	border: 1px solid var(--line-200, #dbe3ea);
	border-radius: 20px;
	overflow: hidden;
	box-shadow: var(--shadow-card, 0 18px 50px rgba(16, 35, 59, 0.12));
}

.bstart__body {
	padding: 34px 36px 36px;
}

.bstart__flag {
	display: inline-block;
	padding: 5px 12px;
	border-radius: var(--pill, 999px);
	background: var(--tint-100, #eaf5f9);
	border: 0;
	color: var(--blue-700, #0d537b);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.69px;
	text-transform: uppercase;
}

.bstart__title {
	font-family: var(--font-ui, 'Poppins', sans-serif);
	font-size: 26px;
	line-height: 1.15;
	letter-spacing: -0.02em;
	color: var(--navy-800, #10233b);
	margin: 14px 0 0;
}

.bstart__lede {
	margin: 12px 0 0;
	max-width: 62ch;
	font-size: 14px;
	line-height: 1.65;
	color: var(--ink-500, #637084);
}

.bstart__steps {
	list-style: none;
	margin: 22px 0 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
	gap: 16px 26px;
}

.bstart__steps li {
	display: flex;
	gap: 12px;
	align-items: flex-start;
}

.bstart__n {
	flex: 0 0 26px;
	height: 26px;
	border-radius: 50%;
	background: var(--navy-900, #0b2540);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 12.5px;
	font-weight: 600;
}

.bstart__step strong {
	display: block;
	font-size: 13px;
	line-height: 1.55;
	color: var(--navy-800, #10233b);
}

.bstart__step span {
	display: block;
	margin-top: 2px;
	font-size: 13.5px;
	line-height: 1.55;
	color: var(--ink-500, #637084);
}

.bstart__foot {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 16px;
	margin: 26px 0 0;
}

.bstart__time {
	font-size: 13px;
	color: var(--ink-400, #8895a4);
}

/* --------------------------------------------------------------------------- empty */

.bempty {
	background: #fff;
	border: 1px solid var(--line-200, #dbe3ea);
	border-radius: var(--radius-lg, 16px);
	padding: 40px 30px;
	text-align: center;
	margin-top: 26px;
}

.bempty h2 {
	font-family: var(--font, 'Rubik', sans-serif);
	font-size: 20px;
	color: var(--navy-800, #10233b);
	margin: 0 0 8px;
}

.bempty p {
	margin: 0;
	color: var(--ink-500, #637084);
	font-size: 14.5px;
	display: flex;
	gap: 12px;
	justify-content: center;
	flex-wrap: wrap;
}

.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
	white-space: nowrap;
}

/* ------------------------------------------------------------------------ narrower */

@media (max-width: 1040px) {
	.bindex__grid,
	.bpost__grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.bside,
	.bpost__side {
		position: static;
	}

	.bpost__side {
		grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	}
}

@media (max-width: 720px) {
	.bhero {
		padding: 24px 0 40px;
	}

	.bcard {
		grid-template-columns: minmax(0, 1fr);
	}

	.bcard__media {
		aspect-ratio: 16 / 9;
		min-height: 0;
	}

	.bcard--featured .bcard__media {
		min-height: 0;
	}

	.bcard--featured .bcard__body {
		padding: 20px 18px 22px;
	}

	.bstart__body {
		padding: 24px 20px 26px;
	}

	.bpost__grid {
		gap: 28px;
		padding-top: 28px;
	}
}

/* ------------------------------------------------------------------ guide library */

.blib {
	background: var(--bg-50, #f4f7f9);
	padding: 59px 0 0;
}

.blib__head {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 18px;
}

.blib__title {
	font-family: var(--font-ui, 'Poppins', sans-serif);
	font-size: 24px;
	letter-spacing: -0.02em;
	color: var(--navy-800, #10233b);
	margin: 0;
}

.blib__count {
	font-size: 12.5px;
	color: var(--ink-400, #8895a4);
}

.blib__grid {
	display: grid;
	grid-template-columns: 300px minmax(0, 1fr);
	gap: 24px;
	align-items: start;
}

/* rail */

.blib__rail {
	display: grid;
	gap: 10px;
}

.blib__railitem {
	display: flex;
	align-items: center;
	gap: 12px;
	width: 100%;
	padding: 13px 16px;
	background: #fff;
	border: 1px solid var(--line-200, #dbe3ea);
	border-radius: 14px;
	cursor: pointer;
	text-align: left;
	font: inherit;
	transition: border-color 0.15s ease, background 0.15s ease;
}

.blib__railitem:hover {
	border-color: var(--blue-300, #6fc2e8);
}

.blib__railitem.is-active {
	background: var(--navy-900, #0b2540);
	border-color: var(--navy-900, #0b2540);
}

.blib__icon {
	display: grid;
	place-items: center;
	width: 34px;
	height: 34px;
	flex-shrink: 0;
	border-radius: 10px;
	background: var(--tint-50, #f4fafd);
	color: var(--blue-700, #0d537b);
}

.blib__railitem.is-active .blib__icon {
	background: rgba(111, 194, 232, 0.16);
	color: var(--blue-300, #6fc2e8);
}

.blib__icon svg {
	width: 18px;
	height: 18px;
}

.blib__railtext {
	display: block;
	min-width: 0;
}

.blib__railtitle {
	display: block;
	font-family: var(--font-ui, 'Poppins', sans-serif);
	font-size: 14px;
	font-weight: 600;
	letter-spacing: -0.01em;
	color: var(--navy-800, #10233b);
}

.blib__railcount {
	display: block;
	margin-top: 2px;
	font-size: 11.5px;
	color: var(--ink-400, #8895a4);
}

.blib__railitem.is-active .blib__railtitle {
	color: #fff;
}

.blib__railitem.is-active .blib__railcount {
	color: var(--blue-200, #9db8cc);
}

.blib__chev {
	margin-left: auto;
	flex-shrink: 0;
	font-size: 16px;
	color: var(--ink-400, #8895a4);
}

.blib__railitem.is-active .blib__chev {
	color: var(--blue-300, #6fc2e8);
}

.blib__aside {
	margin-top: 4px;
	padding: 16px 18px;
	background: var(--tint-50, #f4fafd);
	border: 1px solid #d4e8f1;
	border-radius: 14px;
	font-size: 12.5px;
	line-height: 1.6;
	color: var(--ink-700, #33475f);
}

.blib__aside strong {
	color: var(--blue-700, #0d537b);
}

.blib__aside a {
	color: var(--blue-700, #0d537b);
	font-weight: 700;
	text-decoration: none;
}

/* panels */

.blib__panels {
	background: #fff;
	border: 1px solid var(--line-200, #dbe3ea);
	border-radius: 18px;
	padding: 26px 28px 8px;
}

.blib__panel {
	display: none;
}

.blib__panel.is-active {
	display: block;
}

/* with no script every group is shown, each under its own heading */
.no-js .blib__panel,
.blib__panels:not([data-enhanced]) .blib__panel {
	display: block;
}

.blib__panel + .blib__panel {
	margin-top: 26px;
	padding-top: 22px;
	border-top: 1px solid var(--line-200, #dbe3ea);
}

.blib__panels[data-enhanced] .blib__panel + .blib__panel {
	margin-top: 0;
	padding-top: 0;
	border-top: 0;
}

.blib__paneltitle {
	font-family: var(--font, 'Rubik', sans-serif);
	font-size: 17px;
	letter-spacing: -0.01em;
	color: var(--navy-800, #10233b);
	margin: 0;
}

.blib__paneldesc {
	margin: 6px 0 14px;
	font-size: 13px;
	line-height: 1.6;
	color: var(--ink-500, #637084);
}

.blib__rows {
	display: block;
}

.blib__row {
	display: flex;
	align-items: center;
	gap: 16px;
	min-height: 56px;
	padding: 8px 6px;
	border-bottom: 1px solid var(--bg-100, #eef2f5);
	text-decoration: none;
	color: var(--navy-800, #10233b);
}

.blib__row:last-child {
	border-bottom: 0;
}

.blib__row:hover {
	background: var(--tint-50, #f4fafd);
}

.blib__n {
	flex-shrink: 0;
	font-size: 12px;
	font-weight: 700;
	color: var(--ink-400, #8895a4);
}

.blib__rowtitle {
	font-size: 14px;
	font-weight: 600;
	line-height: 1.45;
	text-wrap: pretty;
}

.blib__row:hover .blib__rowtitle {
	color: var(--blue-700, #0d537b);
}

.blib__rowmeta {
	margin-left: auto;
	flex-shrink: 0;
	white-space: nowrap;
	font-size: 12px;
	color: var(--ink-400, #8895a4);
}

.blib__rowchev {
	flex-shrink: 0;
	font-size: 15px;
	color: var(--ink-400, #8895a4);
}

/* ---------------------------------------------------------------------- help band */

.bhelp {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 28px;
	margin: 34px 0 0;
	padding: 30px 34px;
	background: var(--tint-100, #eaf5f9);
	border: 1px solid #d4e8f1;
	border-radius: 18px;
}

.bhelp__left {
	display: flex;
	align-items: center;
	gap: 16px;
}

.bhelp__icon {
	display: grid;
	place-items: center;
	width: 48px;
	height: 48px;
	flex-shrink: 0;
	background: #fff;
	border-radius: 14px;
	color: var(--blue-700, #0d537b);
}

.bhelp__icon svg {
	width: 24px;
	height: 24px;
}

.bhelp__left strong {
	display: block;
	font-family: var(--font-ui, 'Poppins', 'Rubik', sans-serif);
	font-size: 17px;
	letter-spacing: -0.015em;
	color: var(--navy-800, #10233b);
}

.bhelp__left span {
	color: var(--ink-700, #33475f);
	font-size: 13px;
	line-height: 1.55;
}

.bhelp__actions {
	display: flex;
	gap: 12px;
	flex-shrink: 0;
}

.bhelp__actions .btn {
	min-height: 46px;
	padding: 0 20px;
	border-radius: 11px;
	font-size: 13.5px;
	font-weight: 700;
}

.bhelp__actions .btn--outline {
	color: var(--blue-700, #0d537b);
}

@media (max-width: 900px) {
	.blib__grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.blib__rail {
		grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
	}

	.blib__aside {
		grid-column: 1 / -1;
	}

	.bhelp {
		flex-direction: column;
		align-items: flex-start;
		gap: 18px;
	}
}

@media (max-width: 720px) {
	.blib__panels {
		padding: 20px 18px 6px;
	}

	.bhelp {
		padding: 22px 20px;
	}

	.bhelp__actions {
		width: 100%;
	}

	.bhelp__actions .btn {
		flex: 1;
		justify-content: center;
	}

	.blib__row {
		flex-wrap: wrap;
		gap: 6px 12px;
		padding: 12px 6px;
	}

	.blib__rowtitle {
		flex: 1 1 100%;
		order: 2;
	}

	.blib__n {
		order: 1;
	}

	.blib__rowmeta {
		order: 3;
		margin-left: 0;
	}

	.blib__rowchev {
		order: 4;
		margin-left: auto;
	}
}

/* ------------------------------------------------------------ search suggestions */

.bsearch {
	position: relative;
}

.bsearch__list {
	position: absolute;
	z-index: 40;
	top: calc(100% + 6px);
	left: 0;
	right: 0;
	margin: 0;
	padding: 6px;
	list-style: none;
	background: #fff;
	border: 1px solid var(--line-200, #dbe3ea);
	border-radius: var(--radius-md, 12px);
	box-shadow: var(--shadow-card, 0 18px 50px rgba(16, 35, 59, 0.12));
	max-height: 340px;
	overflow-y: auto;
}

.bsearch__item a {
	display: block;
	padding: 9px 11px;
	border-radius: var(--radius-sm, 8px);
	text-decoration: none;
	color: var(--navy-800, #10233b);
}

.bsearch__item.is-active a,
.bsearch__item a:hover {
	background: var(--tint-50, #f4fafd);
}

.bsearch__title {
	display: block;
	font-size: 13.5px;
	font-weight: 600;
	line-height: 1.4;
	text-wrap: pretty;
}

.bsearch__item.is-active .bsearch__title,
.bsearch__item a:hover .bsearch__title {
	color: var(--blue-700, #0d537b);
}

.bsearch__meta {
	display: block;
	margin-top: 2px;
	font-size: 11.5px;
	color: var(--ink-400, #8895a4);
}

.bsearch__none {
	padding: 10px 11px;
	font-size: 13px;
	color: var(--ink-400, #8895a4);
}
