/*
 * Central Homepage Design system.
 * Runtime values are emitted as sanitized --tabt-* properties on the same
 * body-class-scoped wrapper. No variable or rule can affect another page.
 */
.true-axis-bio-toolkit-homepage .tabt-homepage {
	background: #fff;
	color: var(--tabt-body);
	font-family: var(--tabt-body-font);
	font-weight: var(--tabt-body-weight);
	line-height: var(--tabt-body-line);
}

.true-axis-bio-toolkit-homepage .tabt-homepage :where(h1, h2, h3, h4, h5, h6) {
	color: var(--tabt-heading);
	font-family: var(--tabt-heading-font);
	font-weight: var(--tabt-heading-weight);
	line-height: var(--tabt-heading-line);
}

.true-axis-bio-toolkit-homepage .tabt-homepage a:not(.tabt-home-button) {
	color: var(--tabt-link);
}

.true-axis-bio-toolkit-homepage .tabt-homepage a:not(.tabt-home-button):hover {
	color: var(--tabt-link-hover);
}

.true-axis-bio-toolkit-homepage .tabt-home-container {
	max-width: var(--tabt-content-max);
	padding-inline: var(--tabt-section-pad-x);
}

/* Hero layers: filtered image, independent overlay, then readable content. */
.true-axis-bio-toolkit-homepage .tabt-home-hero {
	align-items: var(--tabt-hero-align-y);
	background: linear-gradient(135deg, var(--tabt-dark-bg), var(--tabt-primary));
	border-bottom: var(--tabt-hero-border-bottom) solid var(--tabt-border);
	border-radius: var(--tabt-hero-radius);
	border-top: var(--tabt-hero-border-top) solid var(--tabt-border);
	min-height: var(--tabt-hero-min-height);
}

.true-axis-bio-toolkit-homepage .tabt-home-hero__media {
	background-image: var(--tabt-hero-image, none);
	background-position: var(--tabt-hero-image-x) var(--tabt-hero-image-y);
	background-repeat: var(--tabt-hero-image-repeat);
	background-size: var(--tabt-hero-image-size);
	filter: var(--tabt-hero-image-filter);
	inset: 0;
	position: absolute;
	transform: translateZ(0);
	z-index: -2;
}

.true-axis-bio-toolkit-homepage .tabt-home-hero__overlay {
	background: var(--tabt-overlay);
	opacity: 1;
}

.true-axis-bio-toolkit-homepage .tabt-home-hero__content {
	max-width: var(--tabt-hero-overall);
	padding-block: var(--tabt-hero-pad-y);
	padding-inline: var(--tabt-hero-pad-x);
}

.true-axis-bio-toolkit-homepage .tabt-home-hero h1 {
	color: var(--tabt-hero-heading-color);
	font-size: var(--tabt-hero-heading-size);
	font-weight: var(--tabt-hero-heading-weight);
	letter-spacing: var(--tabt-hero-heading-letter);
	line-height: var(--tabt-hero-heading-line);
	max-width: var(--tabt-hero-text-max);
}

.true-axis-bio-toolkit-homepage .tabt-home-hero p {
	color: var(--tabt-hero-body-color);
	font-size: var(--tabt-hero-body-size);
	font-weight: var(--tabt-hero-body-weight);
	line-height: var(--tabt-hero-body-line);
	max-width: var(--tabt-hero-body-max);
}

.true-axis-bio-toolkit-homepage .tabt-home-actions {
	gap: var(--tabt-button-gap);
}

.true-axis-bio-toolkit-homepage .tabt-home-hero .tabt-home-button,
.true-axis-bio-toolkit-homepage .tabt-home-hero .tabt-home-button:visited {
	background: var(--tabt-button-primary-bg);
	border-color: var(--tabt-button-primary-border);
	border-radius: var(--tabt-button-radius);
	border-width: var(--tabt-button-border-width);
	color: var(--tabt-button-primary-text);
	font-size: var(--tabt-button-size);
	font-weight: var(--tabt-button-weight);
	padding: var(--tabt-button-pad-y) var(--tabt-button-pad-x);
	text-decoration: var(--tabt-button-decoration);
}

.true-axis-bio-toolkit-homepage .tabt-home-hero .tabt-home-button:hover {
	background: var(--tabt-button-primary-hover-bg);
	color: var(--tabt-button-primary-hover-text);
	text-decoration: var(--tabt-button-decoration);
}

.true-axis-bio-toolkit-homepage .tabt-home-hero .tabt-home-button--secondary,
.true-axis-bio-toolkit-homepage .tabt-home-hero .tabt-home-button--secondary:visited {
	background: var(--tabt-button-secondary-bg);
	border-color: var(--tabt-button-secondary-border);
	color: var(--tabt-button-secondary-text);
}

.true-axis-bio-toolkit-homepage .tabt-home-hero .tabt-home-button--secondary:hover {
	background: var(--tabt-button-secondary-hover-bg);
	color: var(--tabt-button-secondary-hover-text);
}

.true-axis-bio-toolkit-homepage .tabt-homepage :where(a, button):focus-visible {
	outline-color: var(--tabt-accent);
}

/* Trust Strip */
.true-axis-bio-toolkit-homepage .tabt-home-trust {
	background: var(--tabt-trust-bg);
	border-bottom-color: var(--tabt-border);
}

.true-axis-bio-toolkit-homepage .tabt-home-trust__grid {
	gap: var(--tabt-trust-gap);
	grid-template-columns: repeat(var(--tabt-trust-columns), minmax(0, 1fr));
	max-width: var(--tabt-trust-max);
	padding: var(--tabt-trust-pad-top) var(--tabt-trust-pad-x) var(--tabt-trust-pad-bottom);
}

.true-axis-bio-toolkit-homepage .tabt-home-trust__item,
.true-axis-bio-toolkit-homepage .tabt-home-trust__item:first-child,
.true-axis-bio-toolkit-homepage .tabt-home-trust__item:last-child {
	align-items: var(--tabt-trust-item-align);
	border-bottom: 0;
	border-right: var(--tabt-trust-divider-width) solid var(--tabt-trust-divider);
	flex-direction: var(--tabt-trust-direction);
	gap: var(--tabt-trust-icon-gap);
	padding: var(--tabt-trust-item-pad-y) var(--tabt-trust-item-pad-x);
	text-align: var(--tabt-trust-align);
}

.true-axis-bio-toolkit-homepage .tabt-home-trust__item:last-child {
	border-right: 0;
}

.true-axis-bio-toolkit-homepage .tabt-home-trust__icon {
	align-items: center;
	background: var(--tabt-trust-icon-bg);
	border: var(--tabt-trust-icon-border-width) solid var(--tabt-trust-icon-border);
	border-radius: var(--tabt-trust-icon-radius);
	display: flex;
	flex: 0 0 var(--tabt-trust-icon-width);
	height: var(--tabt-trust-icon-height);
	justify-content: center;
	padding: var(--tabt-trust-icon-padding);
	width: var(--tabt-trust-icon-width);
}

.true-axis-bio-toolkit-homepage .tabt-home-trust__icon img {
	height: var(--tabt-trust-icon-size);
	max-height: 100%;
	max-width: 100%;
	object-fit: var(--tabt-trust-icon-fit);
	opacity: var(--tabt-trust-icon-opacity);
	width: var(--tabt-trust-icon-size);
}

.true-axis-bio-toolkit-homepage .tabt-home-trust h2 {
	color: var(--tabt-trust-heading);
	font-size: var(--tabt-trust-heading-size);
	font-weight: var(--tabt-trust-heading-weight);
	line-height: var(--tabt-trust-heading-line);
}

.true-axis-bio-toolkit-homepage .tabt-home-trust p {
	color: var(--tabt-trust-body);
	font-size: var(--tabt-trust-body-size);
	line-height: var(--tabt-trust-body-line);
}

/* Reusable section-variable mapping for every current Toolkit section. */
.true-axis-bio-toolkit-homepage .tabt-home-introduction { background: var(--tabt-introduction-bg); padding-block: var(--tabt-introduction-pad-top) var(--tabt-introduction-pad-bottom); }
.true-axis-bio-toolkit-homepage .tabt-home-introduction .tabt-home-container { max-width: var(--tabt-introduction-max); }
.true-axis-bio-toolkit-homepage .tabt-home-introduction :where(h1,h2,h3,h4) { color: var(--tabt-introduction-heading); font-size: var(--tabt-introduction-heading-size); }
.true-axis-bio-toolkit-homepage .tabt-home-introduction :where(p,li) { color: var(--tabt-introduction-body); font-size: var(--tabt-introduction-body-size); }

.true-axis-bio-toolkit-homepage .tabt-home-categories { background: var(--tabt-categories-bg); padding-block: var(--tabt-categories-pad-top) var(--tabt-categories-pad-bottom); }
.true-axis-bio-toolkit-homepage .tabt-home-categories .tabt-home-container { max-width: var(--tabt-categories-max); }
.true-axis-bio-toolkit-homepage .tabt-home-categories :where(h2,h3) { color: var(--tabt-categories-heading); }
.true-axis-bio-toolkit-homepage .tabt-home-categories .tabt-home-section__title { font-size: var(--tabt-categories-heading-size); }
.true-axis-bio-toolkit-homepage .tabt-home-categories p { color: var(--tabt-categories-body); font-size: var(--tabt-categories-body-size); }

/* Research Category Cards */
.true-axis-bio-toolkit-homepage .tabt-home-category-grid {
	gap: var(--tabt-category-card-gap);
	grid-template-columns: repeat(var(--tabt-category-columns), minmax(0, 1fr));
}

.true-axis-bio-toolkit-homepage .tabt-home-category-card,
.true-axis-bio-toolkit-homepage .tabt-home-category-card:visited {
	background: var(--tabt-category-card-bg);
	border-color: var(--tabt-category-card-border);
	border-radius: var(--tabt-category-card-radius);
	border-width: var(--tabt-category-card-border-width);
	box-shadow: var(--tabt-category-card-shadow);
	color: var(--tabt-category-card-description-color);
	min-height: var(--tabt-category-card-min-height);
	text-decoration: none;
	transition: background-color var(--tabt-category-card-transition) ease, border-color var(--tabt-category-card-transition) ease, box-shadow var(--tabt-category-card-transition) ease, transform var(--tabt-category-card-transition) ease;
}

.true-axis-bio-toolkit-homepage .tabt-home-category-card .tabt-home-card__body {
	align-items: var(--tabt-category-card-items);
	padding: var(--tabt-category-card-padding);
	text-align: var(--tabt-category-card-text-align);
}

.true-axis-bio-toolkit-homepage .tabt-home-category-thumbnail {
	aspect-ratio: var(--tabt-category-thumb-aspect);
	background: var(--tabt-light-bg);
	border-radius: var(--tabt-category-thumb-radius);
	display: block;
	height: var(--tabt-category-thumb-height);
	margin-bottom: var(--tabt-category-thumb-spacing);
	overflow: hidden;
}

.true-axis-bio-toolkit-homepage .tabt-home-category-thumbnail img {
	aspect-ratio: var(--tabt-category-thumb-aspect);
	display: block;
	height: 100%;
	object-fit: var(--tabt-category-thumb-fit);
	object-position: var(--tabt-category-thumb-x) var(--tabt-category-thumb-y);
	width: 100%;
}

.true-axis-bio-toolkit-homepage .tabt-home-category-icon {
	align-items: center;
	display: flex;
	height: var(--tabt-category-icon-size);
	justify-content: center;
	margin-bottom: 14px;
	width: var(--tabt-category-icon-size);
}

.true-axis-bio-toolkit-homepage .tabt-home-category-icon img {
	height: 100%;
	max-height: 100%;
	max-width: 100%;
	object-fit: contain;
	width: 100%;
}

.true-axis-bio-toolkit-homepage .tabt-home-category-card h3 {
	color: var(--tabt-category-card-heading-color);
	font-size: var(--tabt-category-card-heading-size);
	margin: 0 0 10px;
}

.true-axis-bio-toolkit-homepage .tabt-home-category-card p {
	color: var(--tabt-category-card-description-color);
	font-size: var(--tabt-category-card-description-size);
	margin: 0;
}

.true-axis-bio-toolkit-homepage .tabt-home-category-card:focus-visible {
	border-radius: var(--tabt-category-card-radius);
	outline: 3px solid var(--tabt-accent);
	outline-offset: 4px;
}

.true-axis-bio-toolkit-homepage .tabt-home-category-grid--hover-raise .tabt-home-category-card:hover,
.true-axis-bio-toolkit-homepage .tabt-home-category-grid--hover-border .tabt-home-category-card:hover,
.true-axis-bio-toolkit-homepage .tabt-home-category-grid--hover-shadow .tabt-home-category-card:hover {
	background: var(--tabt-category-card-hover-bg);
}

.true-axis-bio-toolkit-homepage .tabt-home-category-grid--hover-raise .tabt-home-category-card:hover {
	border-color: var(--tabt-category-card-hover-border);
	box-shadow: var(--tabt-category-card-hover-shadow);
	transform: translateY(calc(-1 * var(--tabt-category-card-hover-lift)));
}

.true-axis-bio-toolkit-homepage .tabt-home-category-grid--hover-border .tabt-home-category-card:hover {
	border-color: var(--tabt-category-card-hover-border);
}

.true-axis-bio-toolkit-homepage .tabt-home-category-grid--hover-shadow .tabt-home-category-card:hover {
	box-shadow: var(--tabt-category-card-hover-shadow);
}

.true-axis-bio-toolkit-homepage .tabt-home-products { background: var(--tabt-products-bg); padding-block: var(--tabt-products-pad-top) var(--tabt-products-pad-bottom); }
.true-axis-bio-toolkit-homepage .tabt-home-products .tabt-home-container { max-width: var(--tabt-products-max); }
.true-axis-bio-toolkit-homepage .tabt-home-products :where(h2,h3,.woocommerce-loop-product__title) { color: var(--tabt-products-heading); }
.true-axis-bio-toolkit-homepage .tabt-home-products .tabt-home-section__title { font-size: var(--tabt-products-heading-size); }
.true-axis-bio-toolkit-homepage .tabt-home-products :where(p,.price) { color: var(--tabt-products-body); font-size: var(--tabt-products-body-size); }

.true-axis-bio-toolkit-homepage .tabt-home-coa { background: var(--tabt-coa-bg); padding-block: var(--tabt-coa-pad-top) var(--tabt-coa-pad-bottom); }
.true-axis-bio-toolkit-homepage .tabt-home-coa .tabt-home-container { max-width: var(--tabt-coa-max); }
.true-axis-bio-toolkit-homepage .tabt-home-coa h2 { color: var(--tabt-coa-heading); font-size: var(--tabt-coa-heading-size); }
.true-axis-bio-toolkit-homepage .tabt-home-coa p { color: var(--tabt-coa-body); font-size: var(--tabt-coa-body-size); }

.true-axis-bio-toolkit-homepage .tabt-home-information { background: var(--tabt-information-bg); padding-block: var(--tabt-information-pad-top) var(--tabt-information-pad-bottom); }
.true-axis-bio-toolkit-homepage .tabt-home-information .tabt-home-container { max-width: var(--tabt-information-max); }
.true-axis-bio-toolkit-homepage .tabt-home-information :where(h2,h3) { color: var(--tabt-information-heading); }
.true-axis-bio-toolkit-homepage .tabt-home-information .tabt-home-section__title { font-size: var(--tabt-information-heading-size); }
.true-axis-bio-toolkit-homepage .tabt-home-information p { color: var(--tabt-information-body); font-size: var(--tabt-information-body-size); }

.true-axis-bio-toolkit-homepage .tabt-home-final { background: var(--tabt-final-bg); padding-block: var(--tabt-final-pad-top) var(--tabt-final-pad-bottom); }
.true-axis-bio-toolkit-homepage .tabt-home-final .tabt-home-container { max-width: var(--tabt-final-max); }
.true-axis-bio-toolkit-homepage .tabt-home-final h2 { color: var(--tabt-final-heading); font-size: var(--tabt-final-heading-size); }
.true-axis-bio-toolkit-homepage .tabt-home-final p { color: var(--tabt-final-body); font-size: var(--tabt-final-body-size); }

.true-axis-bio-toolkit-homepage .tabt-home-admin-empty { background: var(--tabt-notice-bg); color: var(--tabt-notice-body); font-size: var(--tabt-notice-body-size); max-width: var(--tabt-notice-max); padding-block: var(--tabt-notice-pad-top) var(--tabt-notice-pad-bottom); }
.true-axis-bio-toolkit-homepage .tabt-home-admin-empty :where(h2,h3,strong) { color: var(--tabt-notice-heading); font-size: var(--tabt-notice-heading-size); }

@media (prefers-reduced-motion: reduce) {
	.true-axis-bio-toolkit-homepage .tabt-home-category-card { transition: none; }
	.true-axis-bio-toolkit-homepage .tabt-home-category-grid--hover-raise .tabt-home-category-card:hover { transform: none; }
}
