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

html {
	scroll-behavior: smooth;
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
	scroll-padding-top: calc(var(--bz-header-height, 7.5rem) + 0.75rem);
}

body {
	margin: 0;
	font-family: var(--bz-font);
	font-size: var(--bz-fs-body);
	line-height: var(--bz-lh-body);
	color: var(--bz-text);
	background: var(--bz-white);
	-webkit-font-smoothing: antialiased;
	overflow-x: clip;
}

/* —— Global type hierarchy (SEO + consistency) —— */
h1,
h2,
h3,
h4,
h5,
h6 {
	font-family: var(--bz-font-display);
	color: var(--bz-black);
	font-weight: 800;
	letter-spacing: var(--bz-tracking-tight);
	line-height: var(--bz-lh-tight);
	text-wrap: balance;
	margin: 0 0 var(--bz-space-4);
}

h1 {
	font-size: var(--bz-fs-h1);
}

/* One global heading underline — left by default; centered when the heading is centered */
.bz-heading-underline::after {
	content: "";
	display: block;
	width: var(--bz-heading-underline-width);
	height: var(--bz-heading-underline-thickness);
	margin: var(--bz-heading-underline-gap) 0 0;
	background: var(--bz-heading-underline-color);
	border-radius: 2px;
}

.bz-section__title.bz-heading-underline::after {
	margin-inline: auto;
}

h2 {
	font-size: var(--bz-fs-h2);
}

h3 {
	font-size: var(--bz-fs-h3);
	font-weight: 700;
	line-height: var(--bz-lh-snug);
}

h4 {
	font-size: var(--bz-fs-h4);
	font-weight: 700;
	line-height: var(--bz-lh-snug);
}

h5 {
	font-size: var(--bz-fs-h5);
	font-weight: 700;
	letter-spacing: 0;
	line-height: var(--bz-lh-snug);
}

h6 {
	font-size: var(--bz-fs-h6);
	font-weight: 700;
	letter-spacing: var(--bz-tracking-wide);
	text-transform: uppercase;
	line-height: var(--bz-lh-snug);
}

p {
	margin: 0 0 var(--bz-stack);
	text-wrap: pretty;
}

/* —— Brand radius: rectangular images = 10px —— */
img,
picture img,
figure img,
.wp-post-image,
.attachment-post-thumbnail {
	max-width: 100%;
	height: auto;
	display: block;
	border-radius: var(--bz-radius);
}

/* Intentional circles / logos keep round shape */
.bz-logo img,
.bz-hero__media img,
.bz-hero__frame img,
.bz-main-hero__circle img,
.bz-main-hero__img,
.avatar,
.bz-g-reviews__avatar,
[class*="__avatar"] img,
.is-circle,
.is-round {
	border-radius: 50%;
}

a {
	color: var(--bz-red);
	text-decoration: none;
}

a:hover {
	color: var(--bz-red-dark);
}

.bz-skip {
	position: absolute;
	left: -9999px;
	top: 0;
	z-index: 100000;
	padding: 0.75rem 1rem;
	background: var(--bz-black);
	color: var(--bz-white);
	border-radius: var(--bz-radius);
}

.bz-skip:focus {
	left: 1rem;
	top: 1rem;
}

.bz-container {
	/* Defined in layout.css — keep fallback if layout not loaded */
	width: min(100% - (2 * var(--bz-gutter, 1.25rem)), var(--bz-container));
	margin-inline: auto;
}

/* Theme buttons — black primary; hover brand red (live) */
.bz-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	min-height: 2.75rem;
	padding: 0.85rem 1.5rem;
	border-radius: var(--bz-radius);
	border: none;
	font-family: var(--bz-font);
	font-weight: 700;
	font-size: 0.95rem;
	letter-spacing: var(--bz-tracking-wide);
	text-transform: uppercase;
	cursor: pointer;
	transition: background-color var(--bz-duration) var(--bz-ease), color var(--bz-duration) var(--bz-ease), border-color var(--bz-duration) var(--bz-ease);
}

.bz-btn--primary,
.bz-home .bz-btn--primary,
.bz-home .bz-btn--outline {
	background: var(--bz-black);
	color: var(--bz-white);
	border: 2px solid var(--bz-black);
}

.bz-btn--primary:hover,
.bz-home .bz-btn--primary:hover,
.bz-home .bz-btn--outline:hover {
	background: var(--bz-btn-hover);
	border-color: var(--bz-btn-hover);
	color: var(--bz-white);
}

.bz-btn--hero,
.bz-home .bz-btn--hero,
.bz-main-hero .bz-btn--hero {
	background: var(--bz-red);
	color: var(--bz-white);
	border: 2px solid var(--bz-red);
	box-shadow: 0 10px 24px color-mix(in srgb, var(--bz-red) 35%, transparent);
}

.bz-btn--hero:hover,
.bz-home .bz-btn--hero:hover,
.bz-main-hero .bz-btn--hero:hover {
	background: var(--bz-red-dark);
	border-color: var(--bz-red-dark);
	color: var(--bz-white);
	box-shadow: 0 12px 28px color-mix(in srgb, var(--bz-red) 45%, transparent);
}

.bz-btn--outline {
	background: var(--bz-black);
	color: var(--bz-white);
	border: 2px solid var(--bz-black);
}

.bz-btn--outline:hover {
	background: var(--bz-btn-hover);
	border-color: var(--bz-btn-hover);
	color: var(--bz-white);
}

/* Product card CTAs — live green */
.bz-btn--product {
	background: var(--bz-product-green);
	color: var(--bz-white);
	border: 2px solid var(--bz-product-green);
}

.bz-btn--product:hover {
	background: var(--bz-product-green-dark);
	border-color: var(--bz-product-green-dark);
	color: var(--bz-white);
}

.bz-btn--product-outline {
	background: transparent;
	color: var(--bz-product-green);
	border: 2px solid var(--bz-product-green);
}

.bz-btn--product-outline:hover {
	background: var(--bz-product-green);
	color: var(--bz-white);
	border-color: var(--bz-product-green);
}

/* Enforce 10px radius on common button surfaces (commerce + WP) */
:where(
	.bz-btn,
	.button,
	.wp-element-button,
	.wp-block-button__link,
	input[type="submit"],
	input[type="button"],
	input[type="reset"],
	.woocommerce a.button,
	.woocommerce button.button,
	.woocommerce input.button,
	.woocommerce #respond input#submit
) {
	border-radius: var(--bz-radius);
	font-family: var(--bz-font);
}

.bz-main {
	min-height: 50vh;
}

/* —— Mobile-first safety —— */
@media (max-width: 767px) {
	html {
		scroll-padding-top: calc(var(--bz-header-height, 7.5rem) + 0.5rem);
	}

	h1 {
		font-size: clamp(1.75rem, 7vw, 2.25rem);
	}

	h2 {
		font-size: clamp(1.35rem, 5vw, 1.75rem);
	}

	.bz-btn,
	.button,
	.woocommerce a.button,
	.woocommerce button.button {
		max-width: 100%;
		padding-inline: 1.25rem;
	}
}

.admin-bar .bz-header {
	top: 32px;
}

@media (max-width: 782px) {
	.admin-bar .bz-header {
		top: 0px;
	}
}
/*bz-pad*/







