:root {
	--bompus-ink: #0f172a;
	--bompus-muted: #475569;
	--bompus-line: #e2e8f0;
	--bompus-accent: #1d4ed8;
	--bompus-cta: #ff9900;
	--bompus-cta-dark: #e47911;
	--bompus-pro: #15803d;
	--bompus-con: #b91c1c;
}

.bompus-disclosure {
	font-size: 0.875em;
	margin-block: 0 1.5em;
	opacity: 0.85;
}

.bompus-notice {
	border-inline-start: 4px solid var(--bompus-accent);
	background: #f8fafc;
	padding: 0.75em 1em;
	margin-block: 1.5em;
	font-size: 0.9375em;
}

.entry-content :is(.bompus-hero, .bompus-strip, .bompus-hero__band, .bompus-pc, .bompus-row, .bompus-card, .bompus-hero__text, .bompus-pc__col, .bompus-row__text) > .wp-block-group__inner-container > * {
	margin-block: 0;
}

.entry-content .bompus-hero__body > .wp-block-group__inner-container > * + * {
	margin-block-start: 1rem;
}

.entry-content .bompus-hero__text > .wp-block-group__inner-container > * + * {
	margin-block-start: 0.5rem;
}

.entry-content .bompus-hero__text > .wp-block-group__inner-container > .wp-block-buttons {
	margin-block-start: 1rem;
}

.entry-content .bompus-pc__col > .wp-block-group__inner-container > * + * {
	margin-block-start: 0.25rem;
}

/* Buttons: bright, high contrast, say where you are going. */
.entry-content .bompus-btn .wp-block-button__link {
	background: var(--bompus-cta);
	border: 1px solid var(--bompus-cta-dark);
	border-radius: 8px;
	box-shadow: 0 2px 0 var(--bompus-cta-dark);
	color: #111;
	font-weight: 700;
	text-decoration: none;
	white-space: nowrap;
}

.entry-content .bompus-btn .wp-block-button__link:hover {
	background: #ffa927;
	color: #111;
}

.entry-content .bompus-btn .wp-block-button__link:focus-visible {
	outline: 3px solid var(--bompus-ink);
	outline-offset: 2px;
}

.entry-content .bompus-btn--lg .wp-block-button__link {
	font-size: 1.0625rem;
	padding: 0.75em 1.25em;
}

/* Hero pick */
.bompus-hero {
	border: 1px solid var(--bompus-line);
	border-radius: 12px;
	margin-block: 1.5rem 1.75rem;
	overflow: hidden;
}

.bompus-hero__band {
	background: linear-gradient(135deg, #0b1b4d, #1d4ed8);
	color: #fff;
	padding: 1.25rem 1.5rem;
}

.bompus-hero__band > .wp-block-group__inner-container {
	align-items: center;
	display: grid;
	gap: 1rem;
	grid-template-columns: 1fr 260px;
}

.entry-content .bompus-hero__title {
	color: #fff;
	font-size: clamp(1.5rem, 4vw, 2rem);
	line-height: 1.1;
	margin: 0.5rem 0 0.25rem;
}

.entry-content .bompus-hero__title a {
	color: inherit;
	text-decoration: none;
}

.entry-content .bompus-hero__tag {
	color: #dbeafe;
	margin: 0 0 0.9rem;
}

.entry-content .bompus-pill {
	background: #fbbf24;
	border-radius: 999px;
	color: #111;
	display: inline-block;
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.05em;
	margin: 0;
	padding: 0.2rem 0.7rem;
	text-transform: uppercase;
}

.entry-content .bompus-hero__img {
	margin: 0;
}

.bompus-hero__img img {
	background: #fff;
	border-radius: 10px;
	height: auto;
	max-height: 240px;
	object-fit: contain;
	padding: 8px;
	width: 100%;
}

.bompus-hero__body {
	padding: 1rem 1.5rem 1.25rem;
}

/* Reasons to buy and avoid */
.bompus-pc > .wp-block-group__inner-container {
	display: grid;
	gap: 0.75rem 1.25rem;
	grid-template-columns: 1fr 1fr;
}

.entry-content .bompus-pc__h {
	color: var(--bompus-muted);
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.05em;
	margin: 0 0 0.25rem;
	text-transform: uppercase;
}

.entry-content ul.wp-block-list.bompus-pros,
.entry-content ul.wp-block-list.bompus-cons {
	font-size: 0.9375rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.bompus-pros li,
.bompus-cons li {
	margin: 0.25rem 0;
	padding-inline-start: 1.25rem;
	position: relative;
}

.bompus-pros li::before,
.bompus-cons li::before {
	font-weight: 800;
	inset-inline-start: 0;
	position: absolute;
}

.bompus-pros li::before {
	color: var(--bompus-pro);
	content: "+";
}

.bompus-cons li::before {
	color: var(--bompus-con);
	content: "\2212";
}

/* Full review, folded away */
.bompus-more {
	border-top: 1px solid var(--bompus-line);
	margin-block-start: 1rem;
	padding-block-start: 0.6rem;
}

.bompus-more summary {
	color: var(--bompus-accent);
	cursor: pointer;
	font-weight: 700;
}

.bompus-more ul.bompus-specs {
	margin-block-end: 0.5rem;
}

/* More top picks */
.bompus-strip {
	border: 1px solid var(--bompus-line);
	border-radius: 10px;
	margin-block: 1.5rem;
	overflow: hidden;
}

.entry-content .bompus-strip__title {
	background: var(--bompus-ink);
	color: #fff;
	font-size: 0.875rem;
	letter-spacing: 0.06em;
	margin: 0;
	padding: 0.65rem 1rem;
	text-transform: uppercase;
}

.bompus-row {
	border-top: 1px solid var(--bompus-line);
	padding: 0.65rem 1rem;
}

.bompus-row > .wp-block-group__inner-container {
	align-items: center;
	display: grid;
	gap: 0.75rem;
	grid-template-columns: 64px 1fr auto;
}

.entry-content .bompus-row__img {
	margin: 0;
}

.bompus-row__img img {
	height: 48px;
	object-fit: contain;
	width: 64px;
}

.entry-content .bompus-row__award {
	color: var(--bompus-accent);
	font-size: 0.6875rem;
	font-weight: 800;
	letter-spacing: 0.06em;
	margin: 0;
	text-transform: uppercase;
}

.entry-content .bompus-row__name {
	font-weight: 700;
	margin: 0;
}

.entry-content .bompus-row__name a {
	color: inherit;
	text-decoration: none;
}

.entry-content .bompus-row__best {
	color: var(--bompus-muted);
	font-size: 0.875rem;
	margin: 0;
}

.bompus-row .wp-block-buttons {
	margin: 0;
}

/* Product cards */
.bompus-card {
	border: 1px solid var(--bompus-line);
	border-radius: 10px;
	margin-block: 1.5rem;
	padding: 2rem 1.25rem 1.25rem;
	position: relative;
}

.bompus-card > .wp-block-group__inner-container {
	display: grid;
	gap: 1rem 1.25rem;
	grid-template-columns: 240px 1fr;
}

.bompus-card .bompus-more {
	grid-column: 1 / -1;
	margin-block-start: 0;
}

.entry-content .bompus-ribbon {
	background: var(--bompus-accent);
	border-radius: 0 0 6px 6px;
	color: #fff;
	font-size: 0.6875rem;
	font-weight: 800;
	inset-block-start: -1px;
	inset-inline-start: 1rem;
	letter-spacing: 0.05em;
	margin: 0;
	padding: 0.25rem 0.65rem;
	position: absolute;
	text-transform: uppercase;
}

.entry-content .bompus-card__img {
	margin: 0;
}

.bompus-card__img img {
	background: #f8fafc;
	border-radius: 8px;
	height: 190px;
	object-fit: contain;
	width: 100%;
}

.bompus-card__body > .wp-block-group__inner-container > * + * {
	margin-block-start: 0.6rem;
}

.entry-content .bompus-card__body h3 {
	line-height: 1.2;
	margin: 0;
}

.entry-content .bompus-card__body h3 a {
	color: inherit;
	text-decoration: none;
}

.entry-content .bompus-card__tag {
	color: var(--bompus-muted);
	margin: 0;
}

.bompus-compare {
	overflow-x: auto;
}

.bompus-compare th,
.bompus-compare td {
	text-align: start;
	vertical-align: top;
}

@media (max-width: 640px) {
	.bompus-hero__band {
		padding: 1rem;
	}

	.bompus-hero__band > .wp-block-group__inner-container,
	.bompus-pc > .wp-block-group__inner-container,
	.bompus-card > .wp-block-group__inner-container {
		grid-template-columns: 1fr;
	}

	.bompus-hero__body {
		padding: 1rem;
	}

	.bompus-card {
		padding: 2rem 1rem 1rem;
	}

	.bompus-row {
		padding: 0.65rem 0.75rem;
	}

	.bompus-row > .wp-block-group__inner-container {
		grid-template-columns: 56px 1fr auto;
	}

	.bompus-row__img img {
		width: 56px;
	}

	.entry-content .bompus-row .bompus-btn .wp-block-button__link {
		font-size: 0.8125rem;
		padding: 0.5em 0.7em;
	}
}

/* Contact form */
.bompus-contact fieldset {
	border: 0;
	margin: 0 0 1.25rem;
	padding: 0;
}

.bompus-contact label {
	display: block;
	font-weight: 600;
	margin-block-end: 0.35rem;
}

.bompus-contact input[type="text"],
.bompus-contact input[type="email"],
.bompus-contact textarea {
	max-width: 36rem;
	width: 100%;
}

.bompus-contact textarea {
	min-height: 10rem;
}
