/*
 * bBlocks — supplemental styles
 *
 * theme.json (Global Styles) drives color, typography and spacing.
 * This file only covers what the Global Styles API cannot express:
 * accessibility helpers, hover/focus states, and the card/pill/FAQ
 * details used by the pattern library.
 */

/* ---------- Accessibility: skip link ---------- */
.skip-link,
.screen-reader-text {
	background: var( --wp--preset--color--primary, #2954e3 );
	color: var( --wp--preset--color--background, #fff );
	padding: 0.75em 1.25em;
	position: absolute;
	left: 1rem;
	top: -100px;
	z-index: 100000;
	border-radius: 0 0 0.5rem 0.5rem;
	text-decoration: none;
	font-weight: 600;
	transition: top 0.2s ease;
}

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

.skip-link:focus,
.screen-reader-text:focus {
	top: 0;
	clip: auto !important;
	clip-path: none;
	height: auto;
	width: auto;
}

/* ---------- Focus visibility ---------- */
a:focus-visible,
button:focus-visible,
.wp-block-button__link:focus-visible,
input:focus-visible,
textarea:focus-visible,
summary:focus-visible {
	outline: 2px solid var( --wp--preset--color--primary, #2954e3 );
	outline-offset: 2px;
}

/* ---------- Navigation keyboard accessibility ---------- */
.wp-block-navigation .wp-block-navigation-item__content:focus,
.wp-block-navigation .wp-block-navigation-submenu__toggle:focus,
.wp-block-navigation a:focus {
	outline: 2px solid var( --wp--preset--color--primary, #2954e3 );
	outline-offset: 2px;
}

.wp-block-navigation .wp-block-navigation-item.has-child:focus-within > .wp-block-navigation__submenu-container {
	opacity: 1;
	visibility: visible;
	display: block;
}

/* ---------- Card style (features, services, pricing, team, testimonials) ---------- */
.is-style-card {
	background: var( --wp--preset--color--background, #fff );
	border: 1px solid var( --wp--preset--color--border-color, #e3e6ea );
	border-radius: 0.85rem;
	padding: var( --wp--preset--spacing--medium, 1.5rem );
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.is-style-card:hover {
	border-color: var( --wp--preset--color--primary, #2954e3 );
	box-shadow: 0 12px 28px rgba( 20, 23, 26, 0.06 );
}

/* ---------- Pill badge style ---------- */
.is-style-pill {
	display: inline-flex;
	background: var( --wp--preset--color--surface, #f5f6f8 );
	border: 1px solid var( --wp--preset--color--border-color, #e3e6ea );
	border-radius: 999px;
	padding: 0.35em 1em;
}

.bblocks-badge {
	display: inline-flex;
	align-items: center;
	background: var( --wp--preset--color--surface, #f5f6f8 );
	color: var( --wp--preset--color--primary, #2954e3 );
	border-radius: 999px;
	padding: 0.35em 1em;
	font-size: var( --wp--preset--font-size--small, 0.875rem );
	font-weight: 600;
}

/* ---------- FAQ (core/details) ---------- */
.is-style-faq summary {
	cursor: pointer;
	font-weight: 600;
	list-style: none;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
}

.is-style-faq summary::-webkit-details-marker {
	display: none;
}

.is-style-faq summary::after {
	content: '+';
	font-size: 1.3rem;
	font-weight: 400;
	color: var( --wp--preset--color--primary, #2954e3 );
	flex-shrink: 0;
	transition: transform 0.2s ease;
}

.is-style-faq[open] summary::after {
	transform: rotate( 45deg );
}

.is-style-faq p {
	color: var( --wp--preset--color--muted-text, #666e75 );
	margin-top: 0.75rem;
	margin-bottom: 0;
}

/* ---------- Star rating text (testimonials) ---------- */
.bblocks-stars {
	color: var( --wp--preset--color--accent, #f59e0b );
	letter-spacing: 0.15em;
	font-size: 0.9rem;
}

/* ---------- Avatar / people photos ---------- */
.bblocks-avatar img {
	border-radius: 999px;
}

/* ---------- Reduced motion ---------- */
.bblocks-home-hero h1,
.bblocks-home-hero h2,
.bblocks-home-hero h3,
.bblocks-home-hero p {
	color: #fff !important;
}

.bblocks-home-hero .wp-block-button.is-style-outline .wp-block-button__link {
	color: #fff !important;
	border-color: rgba(255, 255, 255, 0.55);
}

.bblocks-ai-hero > .wp-block-columns > .wp-block-column:first-child h1,
.bblocks-ai-hero > .wp-block-columns > .wp-block-column:first-child .bblocks-ai-lede {
	color: #fff !important;
}

.bblocks-ai-hero {
	position: relative;
	overflow: hidden;
	background:
		radial-gradient(circle at 88% 12%, rgba(41, 84, 227, .3), transparent 34%),
		linear-gradient(135deg, #0a1322 0%, #111f35 62%, #122a3c 100%) !important;
	border: 1px solid #21344f;
	border-radius: 1.25rem;
	box-shadow: 0 28px 60px rgba(15, 29, 51, .16);
}

.bblocks-ai-hero::after {
	content: '';
	position: absolute;
	inset: 0;
	pointer-events: none;
	background-image: linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
	background-size: 40px 40px;
	mask-image: linear-gradient(to bottom right, #000, transparent 72%);
}

.bblocks-ai-hero > .wp-block-columns {
	position: relative;
	z-index: 1;
	display: grid !important;
	grid-template-columns: minmax(0, 1.25fr) minmax(300px, .75fr);
	gap: clamp(2rem, 5vw, 4.5rem) !important;
	align-items: center !important;
}

.bblocks-ai-hero > .wp-block-columns > .wp-block-column {
	width: auto !important;
	min-width: 0;
	flex-basis: auto !important;
}

.bblocks-ai-hero > .wp-block-columns > .wp-block-column:first-child > p:first-child {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: .65rem;
	margin: 0 0 1.4rem;
	font-size: .76rem !important;
	letter-spacing: .04em !important;
	text-transform: none !important;
}

.bblocks-ai-kicker,
.bblocks-ai-verified {
	display: inline-flex;
	align-items: center;
	min-height: 30px;
	box-sizing: border-box;
	padding: .35rem .7rem;
	border-radius: 999px;
}

.bblocks-ai-kicker {
	background: #68e1d1;
	color: #082a2b;
	font-weight: 800;
}

.bblocks-ai-verified {
	border: 1px solid rgba(255,255,255,.2);
	background: rgba(255,255,255,.07);
	color: #d9e6f5;
	font-weight: 650;
}

.bblocks-ai-hero h1 {
	max-width: 13ch;
	margin: 0;
	font-size: clamp(2.65rem, 5.3vw, 4.7rem) !important;
	line-height: 1.02;
	letter-spacing: -.045em;
	text-wrap: balance;
}

.bblocks-ai-hero .bblocks-ai-lede {
	max-width: 61ch;
	margin: 1.35rem 0 0;
	font-size: clamp(1.05rem, 1.4vw, 1.25rem) !important;
	line-height: 1.65;
}

.bblocks-ai-hero .wp-block-buttons { gap: .75rem; }
.bblocks-ai-hero .wp-block-button__link {
	min-height: 48px;
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: .75rem 1.15rem;
	border-radius: .6rem !important;
	font-size: .92rem;
	font-weight: 750;
}
.bblocks-ai-hero .wp-block-button:first-child .wp-block-button__link {
	background: #68e1d1 !important;
	color: #082a2b !important;
}
.bblocks-ai-hero .wp-block-button.is-style-outline .wp-block-button__link {
	background: rgba(255,255,255,.05) !important;
	border-color: rgba(255,255,255,.42) !important;
}

.bblocks-ai-hero > .wp-block-columns > .wp-block-column:last-child > .wp-block-group {
	padding: clamp(1.4rem, 3vw, 2rem) !important;
	border: 1px solid rgba(255,255,255,.7);
	border-radius: 1rem !important;
	background: rgba(255,255,255,.96) !important;
	box-shadow: 0 18px 40px rgba(0,0,0,.2);
}
.bblocks-ai-hero > .wp-block-columns > .wp-block-column:last-child h2 {
	margin: 0 0 1rem;
	font-size: 1.45rem !important;
	line-height: 1.25;
}
.bblocks-ai-hero > .wp-block-columns > .wp-block-column:last-child ul {
	list-style: none;
	padding: 0;
	margin: 0;
}
.bblocks-ai-hero > .wp-block-columns > .wp-block-column:last-child li {
	position: relative;
	padding: .72rem 0 .72rem 1.7rem;
	border-top: 1px solid #e3eaf2;
	line-height: 1.5;
}
.bblocks-ai-hero > .wp-block-columns > .wp-block-column:last-child li::before {
	content: '✓';
	position: absolute;
	left: 0;
	top: .72rem;
	color: #087f7e;
	font-weight: 800;
}
.bblocks-ai-hero > .wp-block-columns > .wp-block-column:last-child p:last-child {
	margin: 1rem 0 0;
	padding-top: .9rem;
	border-top: 1px solid #e3eaf2;
	font-size: .8rem !important;
	line-height: 1.55;
}

.bblocks-ai-hero > .wp-block-columns > .wp-block-column:first-child > p:first-child {
	color: #5eead4 !important;
}

.bblocks-ai-hero > .wp-block-columns > .wp-block-column:first-child .bblocks-ai-lede {
	color: #dbeafe !important;
}

.bblocks-ai-hero > .wp-block-columns > .wp-block-column:first-child .is-style-outline .wp-block-button__link {
	color: #fff !important;
	border-color: rgba(255, 255, 255, 0.55);
}

/* AI comparison: readable cards, a scrollable table and native FAQ controls. */
body.page-id-21 .wp-block-post-content > .bblocks-agent-grid {
	display: grid !important;
	gap: 1.5rem;
}
body.page-id-21 .bblocks-agent-grid--featured,
body.page-id-21 .bblocks-agent-grid--opensource {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}
body.page-id-21 .bblocks-agent-grid--compact {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}
body.page-id-21 .wp-block-post-content > .bblocks-agent-grid > .wp-block-column {
	min-width: 0;
	display: flex;
	flex-direction: column;
	border: 1px solid #dbe3ed;
	border-radius: 1rem;
	box-sizing: border-box;
	box-shadow: 0 10px 30px rgba(21, 34, 56, .055);
}
body.page-id-21 .wp-block-post-content > .bblocks-agent-grid .wp-block-buttons {
	margin-top: auto;
	padding-top: 1rem;
}
body.page-id-21 .wp-block-post-content > .bblocks-agent-grid small {
	display: block;
	line-height: 1.5;
	margin-top: .35rem;
}
body.page-id-21 .wp-block-post-content > h2 {
	width: min(1200px, calc(100% - 2rem));
	max-width: 1200px !important;
	margin-inline: auto !important;
	text-align: left !important;
	font-size: clamp(1.8rem, 3vw, 2.4rem) !important;
	letter-spacing: -.025em;
}
body.page-id-21 .wp-block-post-content > h2 + p {
	width: min(1200px, calc(100% - 2rem));
	max-width: 1200px !important;
	margin-inline: auto !important;
	text-align: left !important;
	line-height: 1.7;
}
body.page-id-21 .wp-block-post-content > .wp-block-spacer { height: 2rem !important; }
body.page-id-21 .wp-block-table {
	border-radius: .75rem;
	max-width: 100%;
	overflow-x: auto;
	box-shadow: 0 10px 30px rgba(21, 34, 56, .05);
}
body.page-id-21 .wp-block-table table {
	width: 100%;
	min-width: 680px;
	border-collapse: collapse;
	font-size: 1rem;
	line-height: 1.5;
}
body.page-id-21 .wp-block-table :is(th, td) {
	padding: .9rem 1rem;
	text-align: start;
	vertical-align: top;
	border-bottom: 1px solid #dbe3ed;
}
body.page-id-21 .wp-block-table th { background: #edf2f7; color: #152238; }
body.page-id-21 .wp-block-table tbody tr:nth-child(even) { background: #f8fafc; }
body.page-id-21 .wp-block-table tbody tr:hover { background: #eef6ff; }
body.page-id-21 details.wp-block-details {
	border: 1px solid #dbe3ed;
	border-radius: .65rem;
	padding: 1rem 1.25rem;
	margin-block: .75rem;
}
body.page-id-21 details.wp-block-details summary {
	cursor: pointer;
	font-weight: 650;
	line-height: 1.5;
}
body.page-id-21 details.wp-block-details p { margin: 1rem 0 0; line-height: 1.7; }
body.page-id-21 .bblocks-source-panel {
	display: grid;
	grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
	gap: clamp(1.5rem, 4vw, 3rem);
	max-width: 940px !important;
	box-sizing: border-box;
	margin: 3rem auto 1.25rem;
	padding: clamp(1.5rem, 3vw, 2rem);
	border: 1px solid #dbe3ed;
	border-radius: 1rem;
	background: linear-gradient(135deg, #f8fafc 0%, #eef6ff 100%);
	box-shadow: 0 12px 32px rgba(21, 34, 56, .06);
}
body.page-id-21 .bblocks-source-panel__intro > * { margin-inline: 0 !important; }
body.page-id-21 .bblocks-source-panel__eyebrow {
	margin: 0 0 .65rem;
	color: #087f7e;
	font-size: .78rem;
	font-weight: 750;
	letter-spacing: .1em;
	text-transform: uppercase;
}
body.page-id-21 .bblocks-source-panel h2 {
	margin: 0 0 .85rem;
	font-size: clamp(1.5rem, 3vw, 2rem) !important;
	line-height: 1.2;
	letter-spacing: -.02em;
}
body.page-id-21 .bblocks-source-panel__intro > p:last-child {
	margin: 0;
	color: #526174;
	font-size: .95rem;
	line-height: 1.65;
}
body.page-id-21 .bblocks-source-panel__links {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: .55rem;
	list-style: none;
	padding: 0;
	margin: 0;
}
body.page-id-21 .bblocks-source-panel__links li { margin: 0; min-width: 0; }
body.page-id-21 .bblocks-source-panel__links a {
	display: flex;
	align-items: center;
	min-height: 42px;
	box-sizing: border-box;
	padding: .65rem .8rem;
	border: 1px solid #d4dfec;
	border-radius: .55rem;
	background: rgba(255, 255, 255, .88);
	color: #234c9c;
	font-size: .86rem;
	font-weight: 650;
	line-height: 1.35;
	text-decoration: none;
}
body.page-id-21 .bblocks-source-panel__links a::after {
	content: '↗';
	margin-left: auto;
	padding-left: .5rem;
	color: #667085;
}
body.page-id-21 .bblocks-source-panel__links a:hover {
	border-color: #234c9c;
	background: #fff;
}
@media (max-width: 700px) {
	body.page-id-21 .wp-block-post-content > .bblocks-agent-grid { grid-template-columns: minmax(0, 1fr); gap: 1rem; }
	body.page-id-21 .bblocks-ai-hero > .wp-block-columns { grid-template-columns: minmax(0, 1fr); gap: 1.5rem !important; }
	body.page-id-21 .bblocks-ai-hero h1 { font-size: clamp(2.3rem, 11vw, 3rem) !important; line-height: 1.05; }
	body.page-id-21 .bblocks-ai-lede { font-size: 1.125rem !important; line-height: 1.65; }
	body.page-id-21 .bblocks-ai-hero .wp-block-buttons { display: grid; grid-template-columns: minmax(0, 1fr); width: 100%; }
	body.page-id-21 .bblocks-ai-hero .wp-block-button,
	body.page-id-21 .bblocks-ai-hero .wp-block-button__link { width: 100%; }
	body.page-id-21 .wp-block-post-content > h2,
	body.page-id-21 .wp-block-post-content > h2 + p { width: calc(100% - 2rem); }
	body.page-id-21 .wp-block-table { position: relative; overflow-x: auto; -webkit-overflow-scrolling: touch; }
	body.page-id-21 .wp-block-table::before {
		content: 'Swipe to compare →';
		display: block;
		position: sticky;
		left: 0;
		padding: .7rem .85rem;
		background: #eef6ff;
		color: #234c9c;
		font-size: .8rem;
		font-weight: 700;
	}
	body.page-id-21 .wp-block-table table { min-width: 720px; font-size: .88rem; }
	body.page-id-21 .wp-block-table :is(th, td) { padding: .75rem; }
	body.page-id-21 .bblocks-source-panel { grid-template-columns: minmax(0, 1fr); margin-inline: 1rem; padding: 1.25rem; }
	body.page-id-21 .bblocks-source-panel__links { grid-template-columns: minmax(0, 1fr); }
}
@media (min-width: 701px) and (max-width: 1050px) {
	body.page-id-21 .bblocks-agent-grid--compact { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Primary action buttons must keep readable white text on the blue surface. */
.wp-block-button__link.has-primary-background-color {
	color: #fff !important;
}

.bblocks-site-header a {
	text-decoration: none;
}

.bblocks-site-header {
	box-sizing: border-box;
	border-bottom: 1px solid var( --wp--preset--color--border-color, #e3e6ea );
	padding: 1rem var( --wp--preset--spacing--small, 1rem );
}

.bblocks-header-inner {
	max-width: 1200px;
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.5rem;
}

.bblocks-brand {
	color: var( --wp--preset--color--primary, #2954e3 );
	font-size: 1.15rem;
	font-weight: 800;
	white-space: nowrap;
}

.bblocks-header-nav {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	flex-wrap: wrap;
	gap: 1.25rem;
}

.bblocks-header-nav > a {
	color: var( --wp--preset--color--text, #14171a );
	font-size: 0.875rem;
	font-weight: 700;
}

.bblocks-site-header > .wp-block-group > p:first-child a {
	color: var( --wp--preset--color--primary, #2954e3 );
}

.bblocks-site-header > .wp-block-group > .wp-block-group a {
	color: var( --wp--preset--color--text, #14171a );
	font-weight: 600;
}

.bblocks-language-switcher {
	position: relative;
	margin-left: 0.15rem;
	z-index: 20;
}

.bblocks-language-switcher summary {
	list-style: none;
	cursor: pointer;
	border: 1px solid var( --wp--preset--color--border-color, #dfe4ea );
	border-radius: 999px;
	padding: 0.45rem 0.8rem;
	color: var( --wp--preset--color--text, #14171a );
	font-size: 0.82rem;
	font-weight: 700;
	white-space: nowrap;
}

.bblocks-language-switcher summary::-webkit-details-marker {
	display: none;
}

.bblocks-language-switcher summary::after {
	content: '⌄';
	display: inline-block;
	margin-left: 0.35rem;
	color: var( --wp--preset--color--primary, #2954e3 );
	transform: translateY( -1px );
}

.bblocks-language-switcher[open] summary {
	border-color: var( --wp--preset--color--primary, #2954e3 );
	box-shadow: 0 0 0 3px rgba( 41, 84, 227, 0.1 );
}

.bblocks-language-menu {
	position: absolute;
	right: 0;
	top: calc( 100% + 0.55rem );
	display: grid;
	grid-template-columns: repeat( 2, minmax( 7rem, 1fr ) );
	gap: 0.2rem;
	min-width: 15rem;
	padding: 0.45rem;
	background: var( --wp--preset--color--background, #fff );
	border: 1px solid var( --wp--preset--color--border-color, #dfe4ea );
	border-radius: 0.75rem;
	box-shadow: 0 14px 30px rgba( 20, 23, 26, 0.12 );
}

.bblocks-language-menu a {
	padding: 0.55rem 0.65rem;
	border-radius: 0.45rem;
	color: var( --wp--preset--color--text, #14171a ) !important;
	font-size: 0.82rem;
	font-weight: 600;
	text-decoration: none;
}

.bblocks-language-menu a:hover,
.bblocks-language-menu a:focus-visible {
	background: var( --wp--preset--color--surface, #f5f6f8 );
	color: var( --wp--preset--color--primary, #2954e3 ) !important;
}

@media ( max-width: 700px ) {
	.bblocks-header-inner {
		align-items: flex-start;
		flex-direction: column;
		gap: 0.85rem;
	}

	.bblocks-header-nav {
		width: 100%;
		justify-content: center;
		gap: 1rem;
	}

	.bblocks-language-switcher {
		width: 100%;
		margin-top: 0.35rem;
	}

	.bblocks-language-switcher summary {
		text-align: center;
	}

	.bblocks-language-menu {
		position: static;
		width: 100%;
		min-width: 0;
		margin-top: 0.45rem;
	}
}

.bblocks-blog-cta h2,
.bblocks-blog-cta h3,
.bblocks-blog-cta p {
	color: #fff !important;
}

.bblocks-dynamic-footer {
	border-top: 1px solid var( --wp--preset--color--border-color, #e3e6ea );
	padding: clamp( 2.5rem, 5vw, 4rem ) var( --wp--preset--spacing--small, 1rem ) 1.5rem;
}

.bblocks-footer-grid,
.bblocks-footer-bottom {
	max-width: 1200px;
	margin: 0 auto;
}

.bblocks-footer-grid {
	display: grid;
	grid-template-columns: 1.2fr repeat( 3, 1fr );
	gap: clamp( 1.5rem, 4vw, 4rem );
}

.bblocks-dynamic-footer h2,
.bblocks-dynamic-footer h3 {
	margin-top: 0;
	margin-bottom: 0.85rem;
}

.bblocks-dynamic-footer h2 {
	font-size: clamp( 1.5rem, 2.2vw, 2.25rem );
	line-height: 1.1;
}

.bblocks-footer-domain {
	margin-top: -.45rem !important;
	font-size: .8rem !important;
	letter-spacing: .04em;
}

.bblocks-footer-domain a {
	text-decoration: none;
}

.bblocks-dynamic-footer h3 {
	font-size: clamp( 1.15rem, 1.7vw, 1.65rem );
	line-height: 1.2;
}

.bblocks-dynamic-footer p,
.bblocks-dynamic-footer li {
	color: var( --wp--preset--color--muted-text, #667085 );
	font-size: 0.875rem;
	line-height: 1.7;
}

.bblocks-dynamic-footer ul {
	margin: 0;
	padding-left: 1.1rem;
}

.bblocks-dynamic-footer a {
	color: var( --wp--preset--color--primary, #2954e3 );
}

/* Footer legal links stay in one readable row instead of falling back to bullets. */
.bblocks-footer-meta {
	max-width: 1200px;
	margin: 2rem auto 0;
	padding-top: 1rem;
	border-top: 1px solid var( --wp--preset--color--border-color, #e3e6ea );
}

.bblocks-footer-legal {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: .5rem 1rem;
	margin: 0;
	padding: 0;
}

.bblocks-footer-legal a {
	font-size: .8rem;
	text-decoration: none;
}

.bblocks-footer-legal a:hover,
.bblocks-footer-legal a:focus-visible {
	text-decoration: underline;
}

/* The core Query Loop can leave archive post templates in flow layout.
 * Give language archives an explicit, readable card grid. */
.archive .wp-block-query.is-layout-grid > .wp-block-post-template {
	display: grid;
	grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
	gap: clamp( 1rem, 2.5vw, 2rem );
	padding: 0 !important;
	margin: 0 !important;
	align-items: stretch;
}

.archive .wp-block-query.is-layout-grid {
	display: block;
	width: 100% !important;
	max-width: none !important;
}

.archive main > .wp-block-group.alignwide {
	box-sizing: border-box;
	width: min(1200px, calc(100% - 2rem)) !important;
	max-width: 1200px !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

.archive .wp-block-query.is-layout-grid > .wp-block-post-template {
	width: 100% !important;
	max-width: none !important;
}

.archive .wp-block-query.is-layout-grid > .wp-block-post-template > .wp-block-post {
	box-sizing: border-box;
	min-width: 0;
	margin: 0 !important;
	align-self: stretch;
	padding: clamp( 1.25rem, 2vw, 1.75rem );
	background: var( --wp--preset--color--background, #fff );
	border: 1px solid var( --wp--preset--color--border-color, #e3e6ea );
	border-radius: 0.85rem;
}

.archive .wp-block-post-title {
	font-size: clamp( 1.25rem, 1.05rem + 0.45vw, 1.75rem ) !important;
	line-height: 1.35;
}

.archive .wp-block-post-title a {
	text-decoration: none;
}

/* The homepage's latest-guides Query Loop was inheriting the 768px reading
 * width, which made its three cards collapse into a narrow two-card strip. */
.home .bblocks-home-latest,
.home main > .wp-block-group.alignfull.has-surface-background-color > .wp-block-group.alignwide {
	box-sizing: border-box;
	width: min(1200px, calc(100% - 2rem)) !important;
	max-width: 1200px !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

.home .bblocks-home-latest .wp-block-query,
.home main > .wp-block-group.alignfull.has-surface-background-color .wp-block-query {
	width: 100% !important;
	max-width: none !important;
}

.home .bblocks-home-latest > .wp-block-heading,
.home .bblocks-home-latest > .wp-block-query {
	width: 100% !important;
	max-width: 1200px !important;
}

.home .bblocks-home-latest .wp-block-post-template,
.home main > .wp-block-group.alignfull.has-surface-background-color .wp-block-post-template {
	display: grid !important;
	grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
	gap: clamp( 1rem, 2.5vw, 2rem );
	width: 100% !important;
	margin: 0;
}

.home .bblocks-home-latest .wp-block-post,
.home main > .wp-block-group.alignfull.has-surface-background-color .wp-block-post {
	min-width: 0;
	width: auto !important;
	max-width: none !important;
	flex: 0 0 auto !important;
}

@media ( max-width: 800px ) {
	.archive .wp-block-query.is-layout-grid > .wp-block-post-template {
		grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
	}
}

@media ( max-width: 560px ) {
	.archive main > .wp-block-group.alignwide {
		width: calc(100% - 1.5rem) !important;
	}
	.home .bblocks-home-latest,
	.home main > .wp-block-group.alignfull.has-surface-background-color > .wp-block-group.alignwide {
		width: calc(100% - 1.5rem) !important;
	}
	.home .bblocks-home-latest .wp-block-post-template,
	.home main > .wp-block-group.alignfull.has-surface-background-color .wp-block-post-template {
		grid-template-columns: 1fr;
	}
	.archive .wp-block-query.is-layout-grid > .wp-block-post-template {
		grid-template-columns: 1fr;
	}
}

.single .wp-block-post-content table {
	display: block;
	max-width: 100%;
	overflow-x: auto;
	border-collapse: collapse;
	margin: 1.5rem 0 2rem;
	font-size: .96rem;
}

/* Keep primary actions and teal labels readable against their backgrounds. */
.home .wp-block-button__link.has-primary-background-color {
	color: #fff !important;
}

.home .is-style-card .has-secondary-color {
	color: #087f7e !important;
}

.bblocks-dynamic-footer a {
	display: inline-block;
	padding: .12rem 0;
}

.single .wp-block-post-content th,
.single .wp-block-post-content td {
	padding: .55rem .7rem;
	white-space: nowrap;
	border: 1px solid #dbe2ea;
	vertical-align: top;
}

.single .wp-block-post-content th {
	background: #f4f7fb;
	font-weight: 700;
}

.single .wp-block-post-content blockquote {
	margin: 1.5rem 0;
	padding: 1rem 1.25rem;
	border-left: 4px solid #20c4bd;
	background: #f4f7fb;
	color: #344054;
}

.single .wp-block-post-content h2 {
	margin-top: 2.7rem;
	font-size: clamp( 1.85rem, 3vw, 2.35rem ) !important;
	line-height: 1.25;
	letter-spacing: -0.02em;
	text-wrap: balance;
}

.single .wp-block-post-content h3 {
	margin-top: 2rem;
	font-size: clamp( 1.3rem, 2vw, 1.6rem ) !important;
	line-height: 1.35;
	text-wrap: balance;
}

.single .wp-block-post-title {
	font-size: clamp( 2.35rem, 5vw, 3.4rem ) !important;
	line-height: 1.16;
	letter-spacing: -0.025em;
	text-wrap: balance;
}

.bblocks-related-posts {
	width: min(760px, calc(100% - 2rem));
	margin: 3rem auto 1rem;
	padding: 1.5rem;
	border-top: 1px solid #dbe2ea;
}

.bblocks-related-posts h2 {
	margin: 0 0 1rem;
	font-size: clamp(1.35rem, 2.5vw, 1.8rem);
}

.bblocks-related-posts-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: .85rem;
}

.bblocks-related-posts-grid article {
	min-width: 0;
	padding: 1rem;
	border: 1px solid #dbe2ea;
	border-radius: .75rem;
	background: #fff;
}

.bblocks-related-posts-grid a {
	color: inherit;
	text-decoration: none;
}

.bblocks-related-posts-grid h3 {
	margin: 0 0 .7rem;
	font-size: 1rem;
	line-height: 1.35;
}

.bblocks-related-posts-grid time {
	color: #667085;
	font-size: .82rem;
}

.bblocks-related-posts-archive {
	display: inline-block;
	margin-top: 1rem;
	font-weight: 700;
}

@media ( max-width: 700px ) {
	.bblocks-related-posts-grid {
		grid-template-columns: 1fr;
	}
}

/* Editorial submission page */
.page-id-6 .wp-block-post-content {
	max-width: none !important;
}

.page-id-6 .write-for-us-hero {
	max-width: 900px;
	margin: 0 auto 3rem;
	padding: clamp( 2.5rem, 6vw, 5rem ) clamp( 1.25rem, 5vw, 4rem );
	color: #fff;
	text-align: center;
	background: #0b1220;
	border-radius: 1rem;
	box-shadow: 0 1rem 2.5rem rgba( 11, 18, 32, 0.16 );
}

.page-id-6 .write-for-us-hero h1 {
	max-width: 760px;
	margin: 0 auto 1rem;
	color: #fff;
	font-size: clamp( 2rem, 4vw, 3.6rem );
	line-height: 1.08;
}

.page-id-6 .write-for-us-hero p:last-child {
	max-width: 700px;
	margin: 0 auto;
	color: #d9e2f0;
	font-size: clamp( 1.05rem, 1.5vw, 1.3rem );
	line-height: 1.65;
}

.page-id-6 .write-for-us-eyebrow,
.page-id-6 .write-for-us-kicker {
	margin: 0 0 .8rem;
	color: #20c4bd;
	font-size: .78rem;
	font-weight: 800;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.page-id-6 .write-for-us-section {
	max-width: 900px;
	margin: 0 auto;
	padding: 0 1rem 3.5rem;
}

.page-id-6 .write-for-us-section h2 {
	margin-bottom: 1rem;
	font-size: clamp( 1.8rem, 3vw, 2.7rem );
	line-height: 1.15;
}

.page-id-6 .write-for-us-section p,
.page-id-6 .write-for-us-section li {
	font-size: 1.05rem;
	line-height: 1.75;
}

.page-id-6 .write-for-us-grid {
	display: grid;
	grid-template-columns: repeat( 3, minmax( 0, 1fr ) );
	gap: 1rem;
	margin-top: 1.75rem;
}

.page-id-6 .write-for-us-card {
	padding: 1.35rem;
	background: var( --wp--preset--color--surface, #f5f7fa );
	border: 1px solid var( --wp--preset--color--border-color, #e3e6ea );
	border-radius: .85rem;
}

.page-id-6 .write-for-us-card h3 {
	margin-top: 0;
	font-size: 1.2rem;
}

.page-id-6 .write-for-us-card p {
	margin-bottom: 0;
	font-size: .95rem;
}

.page-id-6 .write-for-us-list,
.page-id-6 .write-for-us-steps {
	padding-left: 1.4rem;
}

.page-id-6 .write-for-us-notice {
	max-width: none;
	padding-top: 2.5rem;
	padding-bottom: 2.5rem;
	background: #eef8f7;
	border-top: 1px solid #d7eeeb;
	border-bottom: 1px solid #d7eeeb;
}

.page-id-6 .write-for-us-notice > * {
	max-width: 900px;
	margin-right: auto;
	margin-left: auto;
}

.page-id-6 .write-for-us-contact {
	margin-top: 1.5rem;
	font-weight: 700;
}

.page-id-6 .write-for-us-faq {
	padding-top: 1rem;
}

.page-id-6 .write-for-us-faq details {
	padding: 1rem 0;
	border-bottom: 1px solid var( --wp--preset--color--border-color, #e3e6ea );
}

.page-id-6 .write-for-us-faq summary {
	cursor: pointer;
	font-size: 1.1rem;
	font-weight: 700;
}

.site-editorial-note {
	max-width: 900px;
	margin: 2rem auto 0;
	padding: 1rem 1.15rem;
	color: #344054;
	font-size: .95rem;
	line-height: 1.65;
	background: #f5f7fa;
	border-left: 4px solid var( --wp--preset--color--secondary, #16a7a6 );
	border-radius: .45rem;
}

.site-editorial-note a {
	font-weight: 700;
}

/* Reuse the editorial page system for About and article submission pages. */
:is( body.page-id-6, body.page-id-12, body.page-id-694 ) .write-for-us-hero {
	max-width: 900px;
	margin: 0 auto 3rem;
	padding: clamp( 2.5rem, 6vw, 5rem ) clamp( 1.25rem, 5vw, 4rem );
	color: #fff;
	text-align: center;
	background: #0b1220;
	border-radius: 1rem;
	box-shadow: 0 1rem 2.5rem rgba( 11, 18, 32, 0.16 );
}

:is( body.page-id-6, body.page-id-12, body.page-id-694 ) .write-for-us-hero h1 {
	max-width: 760px;
	margin: 0 auto 1rem;
	color: #fff;
	font-size: clamp( 2rem, 4vw, 3.6rem );
	line-height: 1.08;
}

:is( body.page-id-6, body.page-id-12, body.page-id-694 ) .write-for-us-hero p:last-child {
	max-width: 700px;
	margin: 0 auto;
	color: #d9e2f0;
	font-size: clamp( 1.05rem, 1.5vw, 1.3rem );
	line-height: 1.65;
}

:is( body.page-id-6, body.page-id-12, body.page-id-694 ) .write-for-us-section {
	max-width: 900px;
	margin: 0 auto;
	padding: 0 1rem 3.5rem;
}

:is( body.page-id-6, body.page-id-12, body.page-id-694 ) .write-for-us-section h2 {
	margin-bottom: 1rem;
	font-size: clamp( 1.8rem, 3vw, 2.7rem );
	line-height: 1.15;
}

:is( body.page-id-6, body.page-id-12, body.page-id-694 ) .write-for-us-section p,
:is( body.page-id-6, body.page-id-12, body.page-id-694 ) .write-for-us-section li {
	font-size: 1.05rem;
	line-height: 1.75;
}

:is( body.page-id-6, body.page-id-12, body.page-id-694 ) .write-for-us-grid {
	display: grid;
	grid-template-columns: repeat( 3, minmax( 0, 1fr ) );
	gap: 1rem;
	margin-top: 1.75rem;
}

:is( body.page-id-6, body.page-id-12, body.page-id-694 ) .write-for-us-card {
	padding: 1.35rem;
	background: var( --wp--preset--color--surface, #f5f7fa );
	border: 1px solid var( --wp--preset--color--border-color, #e3e6ea );
	border-radius: .85rem;
}

:is( body.page-id-6, body.page-id-12, body.page-id-694 ) .write-for-us-card h3 {
	margin-top: 0;
	font-size: 1.2rem;
}

:is( body.page-id-6, body.page-id-12, body.page-id-694 ) .write-for-us-notice {
	max-width: none;
	padding-top: 2.5rem;
	padding-bottom: 2.5rem;
	background: #eef8f7;
	border-top: 1px solid #d7eeeb;
	border-bottom: 1px solid #d7eeeb;
}

:is( body.page-id-6, body.page-id-12, body.page-id-694 ) .write-for-us-notice > * {
	max-width: 900px;
	margin-right: auto;
	margin-left: auto;
}

@media ( max-width: 700px ) {
	:is( body.page-id-6, body.page-id-12, body.page-id-694 ) .write-for-us-grid {
		grid-template-columns: 1fr;
	}
}

@media ( max-width: 700px ) {
	.page-id-6 .write-for-us-grid {
		grid-template-columns: 1fr;
	}

	.page-id-6 .write-for-us-hero {
		margin-right: 0;
		margin-left: 0;
	}
}

.bblocks-footer-bottom {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	margin-top: 2.5rem;
	padding-top: 1rem;
	border-top: 1px solid var( --wp--preset--color--border-color, #e3e6ea );
	color: var( --wp--preset--color--muted-text, #667085 );
	font-size: 0.78rem;
}

html[lang="ar"] .bblocks-dynamic-footer {
	direction: rtl;
	text-align: right;
}

@media ( max-width: 800px ) {
	.bblocks-footer-grid {
		grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
		gap: 1.5rem;
	}

	.bblocks-footer-bottom {
		flex-direction: column;
	}
}

@media ( max-width: 520px ) {
	.bblocks-footer-grid {
		grid-template-columns: 1fr;
	}
}

.page-id-11 .wp-block-post-title {
	font-size: clamp(1.25rem, 1.1rem + 0.45vw, 1.65rem) !important;
	line-height: 1.2;
}

/* Blog index: give the latest articles a real editorial card layout instead
 * of letting the Query Loop inherit the narrow reading width. */
.page-id-11 main > .wp-block-group.alignwide {
	box-sizing: border-box;
	width: min(1200px, calc(100% - 2rem)) !important;
	max-width: 1200px !important;
	margin-right: auto !important;
	margin-left: auto !important;
}

.page-id-11 .wp-block-query {
	width: 100% !important;
	max-width: none !important;
}

.page-id-11 .wp-block-post-template {
	display: grid !important;
	grid-template-columns: repeat( 3, minmax( 0, 1fr ) ) !important;
	gap: clamp( 1rem, 2.4vw, 1.75rem );
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	justify-content: stretch !important;
}

.page-id-11 .wp-block-post-template > .wp-block-post {
	min-width: 0;
	width: 100% !important;
	max-width: none !important;
	flex-basis: auto !important;
	margin: 0 !important;
}

.page-id-11 .wp-block-post-template > .wp-block-post > .is-style-card {
	display: flex;
	flex-direction: column;
	min-height: 100%;
	box-sizing: border-box;
	width: 100% !important;
	max-width: none !important;
	padding: clamp( 1.25rem, 2vw, 1.65rem );
	background: #fff;
	border: 1px solid #dfe5ec;
	border-radius: 1rem;
	box-shadow: 0 8px 24px rgba( 15, 23, 42, 0.04 );
}

.page-id-11 .wp-block-post-terms {
	margin: 0 0 .9rem;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.page-id-11 .wp-block-post-terms a {
	text-decoration: none;
}

.page-id-11 .wp-block-post-title {
	margin: 0 0 1rem;
	font-size: clamp( 1.25rem, 1.05rem + .45vw, 1.65rem ) !important;
	line-height: 1.25;
}

.page-id-11 .wp-block-post-title a {
	text-decoration: none;
}

.page-id-11 .wp-block-post-excerpt {
	margin: 0 0 1.25rem;
	color: #667085;
	line-height: 1.65;
}

.page-id-11 .wp-block-post-excerpt__excerpt {
	display: -webkit-box;
	margin: 0;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 4;
}

.page-id-11 .wp-block-post-template .wp-block-post-date {
	margin-top: auto;
	padding-top: 1rem;
	color: #667085;
	font-size: .82rem;
}

@media ( max-width: 900px ) {
	.page-id-11 .wp-block-post-template {
		grid-template-columns: repeat( 2, minmax( 0, 1fr ) ) !important;
	}
}

@media ( max-width: 560px ) {
	.page-id-11 main > .wp-block-group.alignwide {
		width: calc(100% - 1.5rem) !important;
	}

	.page-id-11 .wp-block-post-template {
		grid-template-columns: 1fr !important;
	}
}

/* Legacy editorial landing page: keep its content, bring its hero into the site system. */
.page-id-6 .hero {
	background: #0b1220 !important;
	color: #fff !important;
	border-radius: 1rem;
	box-shadow: 0 18px 40px rgba( 11, 18, 32, 0.12 );
}

.page-id-6 .hero h1,
.page-id-6 .hero p {
	color: #fff !important;
}

@media ( prefers-reduced-motion: reduce ) {
	.is-style-card,
	.skip-link,
	.is-style-faq summary::after {
		transition: none !important;
	}
}
/* =================================================================
   bblocks-latest-card — premium "Latest articles" card design
   ================================================================= */

.bblocks-home-latest {
	margin-top: 4rem;
	margin-bottom: 4rem;
}

.bblocks-latest-card__eyebrow {
	margin-bottom: 0 !important;
}

.bblocks-latest-card__title-main {
	margin-top: 0.5rem !important;
	margin-bottom: 0.5rem !important;
	letter-spacing: -0.02em;
}

.bblocks-latest-card__subtitle {
	margin-top: 0 !important;
	margin-bottom: 2.5rem !important;
	font-size: 1.0625rem;
	max-width: 60ch;
}

/* The grid wrapper provided by Query Loop */
.bblocks-latest-card__grid {
	margin-top: 0;
}

.bblocks-latest-card__grid .wp-block-post-template {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 2rem 1.75rem;
	list-style: none;
	padding: 0;
	margin: 0;
}

@media ( max-width: 1024px ) {
	.bblocks-latest-card__grid .wp-block-post-template {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media ( max-width: 600px ) {
	.bblocks-latest-card__grid .wp-block-post-template {
		grid-template-columns: 1fr;
	}
}

/* ---------- The card itself ---------- */

.bblocks-latest-card {
	background: var( --wp--preset--color--background, #fff );
	border: 1px solid var( --wp--preset--color--border-color, #e3e6ea );
	border-radius: 0.85rem;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	height: 100%;
	transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}

.bblocks-latest-card:hover {
	transform: translateY(-4px);
	border-color: var( --wp--preset--color--primary, #2954e3 );
	box-shadow: 0 18px 38px rgba( 20, 23, 26, 0.10 ), 0 4px 12px rgba( 20, 23, 26, 0.05 );
}

/* Image */
.bblocks-latest-card__image {
	margin: 0 !important;
	display: block;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	background: linear-gradient(135deg, var( --wp--preset--color--primary, #2954e3 ) 0%, var( --wp--preset--color--secondary, #1f3fa6 ) 100%);
	position: relative;
}

.bblocks-latest-card__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.4s ease;
}

.bblocks-latest-card:hover .bblocks-latest-card__image img {
	transform: scale(1.04);
}

/* Fallback when no image: brand-tinted gradient + first letter */
.bblocks-latest-card__image:empty::before,
.bblocks-latest-card__image.is-empty::before {
	content: attr(data-letter);
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	color: rgba(255, 255, 255, 0.9);
	font-size: 4.5rem;
	font-weight: 800;
	letter-spacing: -0.04em;
	font-family: var( --wp--preset--font-family--heading, Georgia, serif );
}

/* ---------- Body ---------- */

.bblocks-latest-card__body {
	padding: 1.25rem 1.5rem 1.5rem;
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	gap: 0.5rem;
}

.bblocks-latest-card__category {
	display: inline-block !important;
	background: var( --wp--preset--color--primary, #2954e3 );
	color: #fff !important;
	font-size: 0.7rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.1em !important;
	text-transform: uppercase !important;
	padding: 0.35em 0.85em !important;
	border-radius: 999px !important;
	margin: 0 0 0.4rem !important;
	width: max-content;
	max-width: 100%;
	text-decoration: none !important;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.bblocks-latest-card__category a {
	color: #fff !important;
	text-decoration: none !important;
}

.bblocks-latest-card__title {
	margin: 0 !important;
	font-size: 1.125rem !important;
	line-height: 1.35 !important;
	font-weight: 700 !important;
	letter-spacing: -0.01em;
}

.bblocks-latest-card__title a {
	color: var( --wp--preset--color--text, #14171a ) !important;
	text-decoration: none !important;
	background-image: linear-gradient(currentColor, currentColor);
	background-repeat: no-repeat;
	background-position: 0 100%;
	background-size: 0 1px;
	transition: background-size 0.25s ease, color 0.2s ease;
}

.bblocks-latest-card__title a:hover,
.bblocks-latest-card__title a:focus {
	color: var( --wp--preset--color--primary, #2954e3 ) !important;
	background-size: 100% 1px;
}

.bblocks-latest-card__excerpt {
	margin: 0.25rem 0 0 !important;
	font-size: 0.9375rem !important;
	line-height: 1.55 !important;
	color: var( --wp--preset--color--muted-text, #666e75 ) !important;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
	flex: 1 1 auto;
}

.bblocks-latest-card__excerpt p {
	margin: 0 !important;
}

/* ---------- Meta row ---------- */

.bblocks-latest-card__meta {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	margin-top: 0.85rem !important;
	padding-top: 0.85rem !important;
	border-top: 1px solid var( --wp--preset--color--border-color, #e3e6ea );
}

.bblocks-latest-card__date {
	font-size: 0.8125rem !important;
	color: var( --wp--preset--color--muted-text, #666e75 ) !important;
	font-weight: 500 !important;
}

.bblocks-latest-card__date time {
	color: inherit;
}

.bblocks-latest-card__cta {
	margin: 0 !important;
	font-size: 0.8125rem !important;
	font-weight: 700 !important;
	color: var( --wp--preset--color--primary, #2954e3 ) !important;
	letter-spacing: 0.01em;
	transition: transform 0.2s ease, color 0.2s ease;
}

.bblocks-latest-card:hover .bblocks-latest-card__cta {
	transform: translateX(3px);
}

.blog-comparison-guides { margin-block: 3rem; }
.blog-comparison-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; list-style: none; padding: 0; margin-block: 1.5rem; }
.blog-comparison-links li { border: 1px solid #dbe3ed; border-radius: .75rem; padding: 1.25rem; }
.blog-comparison-links a { font-size: 1.15rem; font-weight: 650; }
.blog-comparison-links p { margin: .65rem 0 0; line-height: 1.6; }
@media (max-width: 600px) { .blog-comparison-links { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 700px) {
	body.page-id-11 .wp-block-post-template { display: grid !important; grid-template-columns: minmax(0, 1fr) !important; gap: 1rem !important; }
	body.page-id-11 .wp-block-post-template > li { width: 100% !important; min-width: 0; }
	body.page-id-11 .wp-block-post-template .wp-block-post-title { font-size: 1.3rem !important; line-height: 1.4; }
	body.page-id-11 .wp-block-post-content,
	body.page-id-11 #main > .wp-block-group { padding-inline: 0 !important; max-width: 100% !important; }
	body.page-id-11 .bblocks-blog-intro h1 { font-size: 2rem !important; line-height: 1.2; }
	body.page-id-11 .wp-block-post-content h2 { font-size: 1.6rem !important; line-height: 1.3; }
	body.page-id-11 .bblocks-blog-intro { margin-inline: 0 !important; width: 100% !important; box-sizing: border-box; }
}

/* Blog landing: align section headings and CTA with the article grid. */
body.page-id-11 .wp-block-post-content > .wp-block-group.alignwide > :is(.bblocks-blog-cta, h2, .wp-block-query, .blog-comparison-guides) {
	max-width: 100% !important;
	margin-inline: 0 !important;
}
body.page-id-11 .bblocks-blog-cta {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: 1.5rem;
	padding: clamp(1.5rem, 3vw, 2rem) !important;
	background: #152238 !important;
}
body.page-id-11 .bblocks-blog-cta > .wp-block-group {
	min-width: 0;
	padding: 0;
	margin: 0;
}
body.page-id-11 .bblocks-blog-cta h2 {
	margin: 0;
	font-size: clamp(1.35rem, 2vw, 1.65rem) !important;
	line-height: 1.3;
}
body.page-id-11 .bblocks-blog-cta p {
	margin: .65rem 0 0;
	font-size: 1rem !important;
	line-height: 1.6;
	color: #dce5f3 !important;
}
body.page-id-11 .bblocks-blog-cta .wp-block-button__link {
	background: #d5f5f1 !important;
	color: #102b32 !important;
	font-size: .95rem;
	font-weight: 650;
	line-height: 1.4;
	padding: .9rem 1.25rem;
	border-radius: .5rem !important;
}
body.page-id-11 .bblocks-blog-cta .wp-block-button__link:hover {
	background: #fff !important;
}
body.page-id-11 .bblocks-blog-cta + h2 {
	margin-top: 3rem;
	margin-bottom: 1.5rem;
}
body.page-id-11 .wp-block-post-template .is-style-card {
	display: flex;
	flex-direction: column;
	align-items: stretch;
}
body.page-id-11 .wp-block-post-template .is-style-card > * {
	margin-inline: 0 !important;
}
body.page-id-11 .wp-block-post-template .is-style-card > .wp-block-group:last-child {
	margin-top: auto;
	padding-top: 1.25rem;
}
@media (max-width: 800px) {
	body.page-id-11 .bblocks-blog-cta { grid-template-columns: minmax(0, 1fr); gap: 1.25rem; }
	body.page-id-11 .bblocks-blog-cta .wp-block-button { margin: 0; }
}
@media (max-width: 480px) {
	body.page-id-11 .bblocks-blog-cta .wp-block-button__link { display: block; width: 100%; box-sizing: border-box; }
}

/* ---------- CDN comparison page ----------
 * The page was authored with a narrow post canvas and dark inline text on a
 * saturated gradient. Give this high-intent comparison page a deliberate
 * reading width, resilient contrast, and mobile-safe spacing.
 */
@media (max-width: 700px) {
	body.single-post #main > .wp-block-group:first-child { margin-top: 2rem !important; margin-bottom: 1.5rem !important; }
	body.single-post .wp-block-post-title { font-size: clamp(1.7rem, 7.5vw, 2rem) !important; line-height: 1.3; text-wrap: balance; letter-spacing: -0.015em; }
	body.single-post .wp-block-post-content h2 { font-size: 1.5rem !important; line-height: 1.35; }
	body.single-post .wp-block-post-content h3 { font-size: 1.2rem !important; line-height: 1.4; }
}
@media (max-width: 960px) {
	.bblocks-site-header .bblocks-header-inner {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) auto;
		gap: 0.75rem !important;
		padding: 0 !important;
	}
	.bblocks-site-header .bblocks-brand { grid-column: 1; grid-row: 1; }
	.bblocks-site-header .bblocks-brand img { width: min(200px, 100%) !important; height: auto; }
	.bblocks-site-header .bblocks-header-lang { grid-column: 2; grid-row: 1; }
	.bblocks-site-header .bblocks-header-nav { grid-column: 1 / -1; grid-row: 2; min-width: 0; }
	.bblocks-site-header .bblocks-nav-list { flex-wrap: wrap !important; justify-content: flex-start !important; gap: 0.25rem !important; width: 100%; }
	.bblocks-site-header .bblocks-nav-list a { padding: 0.5rem !important; font-size: 0.85rem !important; }
	.bblocks-site-header .bblocks-language-menu { position: absolute !important; inset-inline-end: 0; inset-inline-start: auto; width: 14rem !important; min-width: 0 !important; }
}
body:is(.page-id-7, .page-id-8, .page-id-9, .page-id-10) main.wp-block-group {
	max-width: 1120px !important;
	margin-inline: auto !important;
}

body:is(.page-id-7, .page-id-8, .page-id-9, .page-id-10) #main > .wp-block-group,
body:is(.page-id-7, .page-id-8, .page-id-9, .page-id-10) #main .wp-block-post-content {
	width: 100%;
	max-width: 100% !important;
	padding-inline: 0 !important;
	box-sizing: border-box;
}
body:is(.page-id-7, .page-id-8, .page-id-9, .page-id-10) #main > .wp-block-group:first-child {
	margin: 2.5rem 0 1.5rem !important;
}
body:is(.page-id-7, .page-id-8, .page-id-9, .page-id-10) .wp-block-post-content > * {
	max-width: 100% !important;
	margin-inline: 0 !important;
}

body:is(.page-id-7, .page-id-8, .page-id-9, .page-id-10) .wp-block-post-title {
	max-width: 980px;
	margin: 0 !important;
	font-size: clamp(2rem, 4vw, 3.1rem) !important;
	line-height: 1.08;
	letter-spacing: -0.035em;
	text-wrap: balance;
}

body:is(.page-id-7, .page-id-8, .page-id-9, .page-id-10) .wp-block-cover {
	border-radius: 0.75rem;
	overflow: hidden;
	box-shadow: none;
	background: #f1f5fa !important;
	border: 1px solid #dbe3ed;
	min-height: 0 !important;
	padding: 2rem !important;
}
body:is(.page-id-7, .page-id-8, .page-id-9, .page-id-10) .wp-block-cover__background {
	background: #f1f5fa !important;
}
body:is(.page-id-7, .page-id-8, .page-id-9, .page-id-10) .wp-block-cover__inner-container {
	width: 100%;
}
body:is(.page-id-7, .page-id-8, .page-id-9, .page-id-10) .wp-block-cover .wp-block-buttons {
	justify-content: flex-start;
	gap: 0.75rem;
}
body:is(.page-id-7, .page-id-8, .page-id-9, .page-id-10) .wp-block-cover p {
	max-width: 68ch;
	font-size: 1.1rem !important;
	line-height: 1.65;
}
body:is(.page-id-7, .page-id-8, .page-id-9, .page-id-10) .wp-block-post-content > h2,
body:is(.page-id-7, .page-id-8, .page-id-9, .page-id-10) .wp-block-post-content > p {
	text-align: start;
}
body:is(.page-id-7, .page-id-8, .page-id-9, .page-id-10) .wp-block-spacer {
	height: 2rem !important;
}

body:is(.page-id-7, .page-id-8, .page-id-9, .page-id-10) .wp-block-cover h2,
body:is(.page-id-7, .page-id-8, .page-id-9, .page-id-10) .wp-block-cover p {
	color: #182b46 !important;
	text-shadow: none;
	text-align: start;
}

body:is(.page-id-7, .page-id-8, .page-id-9, .page-id-10) .wp-block-cover h2 {
	font-size: clamp(1.35rem, 3vw, 1.65rem) !important;
	line-height: 1.3;
	margin-top: 0;
}

body:is(.page-id-7, .page-id-8, .page-id-9, .page-id-10) .wp-block-cover .wp-block-button__link.has-white-background-color {
	color: #fff !important;
	background: #234c9c !important;
}

body:is(.page-id-7, .page-id-8, .page-id-9, .page-id-10) .wp-block-cover .wp-block-button__link:not(.has-white-background-color) {
	color: #234c9c !important;
	border-color: #234c9c !important;
	background: #fff !important;
}

body:is(.page-id-7, .page-id-8, .page-id-9, .page-id-10) .wp-block-columns.alignwide {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
}
body:is(.page-id-7, .page-id-8, .page-id-9, .page-id-10) .wp-block-column {
	display: flex;
	flex-direction: column;
	min-width: 0;
	margin: 0 !important;
}
body:is(.page-id-7, .page-id-8, .page-id-9, .page-id-10) .wp-block-column > .wp-block-buttons {
	margin-top: auto;
	padding-top: 1rem;
}
body:is(.page-id-7, .page-id-8, .page-id-9, .page-id-10) .wp-block-column h3 { margin-block: 0.75rem; }
body:is(.page-id-7, .page-id-8, .page-id-9, .page-id-10) .wp-block-column ul { padding-inline-start: 1.3rem; line-height: 1.8; }
body:is(.page-id-7, .page-id-8, .page-id-9, .page-id-10) .wp-block-column p { margin-block: 0.5rem; }
body:is(.page-id-7, .page-id-8, .page-id-9, .page-id-10) details.wp-block-details { border: 1px solid #dbe3ed; margin-block: 0.75rem; }
body:is(.page-id-7, .page-id-8, .page-id-9, .page-id-10) details.wp-block-details summary { font-weight: 600; }
body:is(.page-id-7, .page-id-8, .page-id-9, .page-id-10) details.wp-block-details p { line-height: 1.7; }

@media (max-width: 700px) {
	body:is(.page-id-7, .page-id-8, .page-id-9, .page-id-10) main.wp-block-group {
		padding-inline: 1rem !important;
	}

	body:is(.page-id-7, .page-id-8, .page-id-9, .page-id-10) .wp-block-post-title {
		margin-top: 2rem;
		margin-bottom: 1.5rem;
		font-size: clamp(2.15rem, 10vw, 3rem) !important;
		letter-spacing: -0.025em;
	}

	body:is(.page-id-7, .page-id-8, .page-id-9, .page-id-10) .wp-block-cover {
		min-height: 0 !important;
		padding: 1.5rem !important;
		border-radius: 1rem;
	}

	body:is(.page-id-7, .page-id-8, .page-id-9, .page-id-10) .wp-block-cover .wp-block-buttons {
		gap: 0.75rem;
	}

	body:is(.page-id-7, .page-id-8, .page-id-9, .page-id-10) .wp-block-cover .wp-block-button,
	body:is(.page-id-7, .page-id-8, .page-id-9, .page-id-10) .wp-block-cover .wp-block-button__link {
		width: 100%;
		box-sizing: border-box;
		text-align: center;
	}

	body:is(.page-id-7, .page-id-8, .page-id-9, .page-id-10) .wp-block-columns.alignwide {
		grid-template-columns: minmax(0, 1fr);
		gap: 1rem;
	}
}

/* Footer: compact editorial navigation, not a wall of SEO links. */
.bblocks-dynamic-footer {
	background: #111d30;
	color: #e5edf8;
	border-top: 1px solid #25334a;
	padding: 56px max(24px, calc((100vw - 1200px) / 2)) 24px;
	font-family: inherit;
}
.bblocks-dynamic-footer .bblocks-footer-grid {
	grid-template-columns: minmax(0, 1.4fr) repeat(2, minmax(0, 1fr));
	gap: 36px 64px;
}
.bblocks-dynamic-footer section { min-width: 0; }
.bblocks-dynamic-footer h3 {
	font-size: 15px;
	line-height: 1.5;
	font-weight: 650;
	color: #fff;
	margin: 0 0 14px;
}
.bblocks-dynamic-footer .bblocks-footer-brand h2 { margin: 0 0 18px; }
.bblocks-dynamic-footer .bblocks-footer-brand img {
	display: block;
	width: 180px;
	height: auto;
	filter: brightness(0) invert(1);
}
.bblocks-dynamic-footer p,
.bblocks-dynamic-footer li {
	font-size: 14px;
	line-height: 1.65;
	color: #bcc9da;
}
.bblocks-dynamic-footer .bblocks-footer-brand p { max-width: 36ch; }
.bblocks-dynamic-footer a {
	color: #d3deed;
	text-decoration: none;
	text-underline-offset: 4px;
	overflow-wrap: anywhere;
}
.bblocks-dynamic-footer a:hover { color: #fff; text-decoration: underline; }
.bblocks-dynamic-footer a:focus-visible {
	outline: 2px solid #71dcd2;
	outline-offset: 4px;
	border-radius: 3px;
}
.bblocks-dynamic-footer .bblocks-footer-domain a { color: #71dcd2; }
.bblocks-dynamic-footer ul {
	list-style: none;
	padding: 0;
	margin: 0;
}
.bblocks-dynamic-footer li { margin: 0; }
.bblocks-dynamic-footer section:not(.bblocks-footer-languages) li a {
	display: inline-flex;
	align-items: center;
	min-height: 38px;
}
.bblocks-dynamic-footer .bblocks-footer-contact a {
	display: inline-flex;
	gap: 12px;
	align-items: center;
	min-height: 44px;
	font-weight: 600;
	color: #fff;
}
.bblocks-dynamic-footer .bblocks-footer-languages {
	grid-column: 1 / -1;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px 24px;
	border-top: 1px solid #334157;
	padding-top: 26px;
}
.bblocks-dynamic-footer .bblocks-footer-languages h3 { margin: 0; }
.bblocks-dynamic-footer .bblocks-footer-languages ul {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.bblocks-dynamic-footer .bblocks-footer-languages a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 40px;
	padding: 0 13px;
	border: 1px solid #425069;
	border-radius: 6px;
	font-size: 13px;
}
.bblocks-dynamic-footer .bblocks-footer-languages a[aria-current] {
	background: #d5f3ef;
	border-color: #d5f3ef;
	color: #123a3b;
	font-weight: 600;
}
.bblocks-dynamic-footer .bblocks-footer-meta {
	border: 0;
	padding: 0;
	margin: 22px auto 0;
}
.bblocks-dynamic-footer .bblocks-footer-legal { gap: 20px; }
.bblocks-dynamic-footer .bblocks-footer-legal a {
	display: inline-flex;
	align-items: center;
	min-height: 40px;
}
.bblocks-dynamic-footer .bblocks-footer-legal small { font-size: 13px; }
.bblocks-dynamic-footer .bblocks-footer-bottom {
	border-top: 1px solid #334157;
	padding-top: 20px;
	margin-top: 26px;
	align-items: center;
	color: #bcc9da;
	gap: 8px 24px;
	flex-wrap: wrap;
}
.bblocks-dynamic-footer .bblocks-footer-bottom small { font-size: 12px; line-height: 1.65; }
.bblocks-dynamic-footer .bblocks-footer-copyright { margin: 0; }
.bblocks-dynamic-footer .bblocks-footer-bottom > p:empty { display: none; }
.bblocks-dynamic-footer .bblocks-footer-bottom small:last-child { max-width: 52ch; }
@media (max-width: 800px) {
	.bblocks-dynamic-footer { padding: 28px 20px 18px; }
	.bblocks-dynamic-footer .bblocks-footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 20px; }
	.bblocks-dynamic-footer .bblocks-footer-brand { grid-column: 1 / -1; }
	.bblocks-dynamic-footer .bblocks-footer-brand p { max-width: 55ch; }
	.bblocks-dynamic-footer .bblocks-footer-languages { display: block; }
	.bblocks-dynamic-footer .bblocks-footer-languages { padding-top: 18px; }
	.bblocks-dynamic-footer .bblocks-footer-languages h3 { margin-bottom: 10px; }
	.bblocks-dynamic-footer h3 { font-size: 14px; }
	.bblocks-dynamic-footer section:not(.bblocks-footer-languages) li a { min-height: 36px; padding-block: 2px; }
	.bblocks-dynamic-footer .bblocks-footer-languages a { min-height: 36px; padding-inline: 11px; }
	.bblocks-dynamic-footer .bblocks-footer-bottom { margin-top: 18px; padding-top: 16px; }
	.bblocks-dynamic-footer .bblocks-footer-bottom { align-items: flex-start; }
}
@media (max-width: 700px) {
	.bblocks-site-header .bblocks-header-nav {
		overflow-x: auto;
		overflow-y: hidden;
		flex-wrap: nowrap !important;
		justify-content: flex-start !important;
		gap: .1rem !important;
		scrollbar-width: none;
	}
	.bblocks-site-header .bblocks-header-nav::-webkit-scrollbar { display: none; }
	.bblocks-site-header .bblocks-nav-list { flex-wrap: nowrap !important; width: max-content; }
	.bblocks-site-header .bblocks-nav-list a {
		padding: .42rem .38rem !important;
		font-size: .78rem !important;
		white-space: nowrap;
	}
}
@media (max-width: 359px) {
	.bblocks-dynamic-footer .bblocks-footer-grid { grid-template-columns: minmax(0, 1fr); }
}
