/*
Theme Name: Clinical Research Theme
Theme URI: https://example.com/clinical-research-theme
Description: An institutional-grade "Research Use Only" child theme for scientific laboratory supply stores, built on the Astra framework. Strictly avoids lifestyle, fitness, and consumer retail design elements.
Author: Your Organization
Author URI: https://example.com
Template: astra
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: clinical-research-theme
Tags: e-commerce, custom-colors, custom-logo, custom-menu, full-width-template
*/

:root {
	--clinical-primary: #004B6E;
	--clinical-primary-hover: #00354C;
	--clinical-accent: #00A3A6;
	--clinical-accent-hover: #008488;
	--clinical-bg: #F8FAFC;
	--clinical-surface: #FFFFFF;
	--clinical-text: #1E293B;
	--clinical-text-muted: #64748B;
	--clinical-border: #E2E8F0;
	--clinical-warning: #B91C1C;
	--clinical-warning-bg: #FEF2F2;
	--clinical-warning-border: #FECACA;
	--clinical-radius: 4px;
	--clinical-font: 'Inter', 'Roboto', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;
	--clinical-shadow: 0 1px 2px rgba(15, 23, 42, 0.04), 0 1px 3px rgba(15, 23, 42, 0.06);
	--clinical-shadow-hover: 0 2px 4px rgba(15, 23, 42, 0.06), 0 4px 8px rgba(15, 23, 42, 0.06);
}

/* ----------------------------------------
   Base
---------------------------------------- */
html {
	-webkit-text-size-adjust: 100%;
}

body {
	background-color: var(--clinical-bg) !important;
	color: var(--clinical-text);
	font-family: var(--clinical-font);
	font-size: 16px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	color: var(--clinical-primary);
	font-family: var(--clinical-font);
	font-weight: 600;
	line-height: 1.25;
}

a {
	color: var(--clinical-primary);
	text-decoration: none;
}

a:hover,
a:focus-visible {
	color: var(--clinical-primary-hover);
	text-decoration: underline;
}

:focus-visible {
	outline: 2px solid var(--clinical-accent);
	outline-offset: 2px;
}

/* ----------------------------------------
   Buttons — sharp 4px corners, structured
   paddings, high-contrast institutional
---------------------------------------- */
button,
input[type="button"],
input[type="submit"],
.button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce #content input.button,
.wc-block-components-button {
	background-color: var(--clinical-primary) !important;
	border: 1px solid var(--clinical-primary) !important;
	border-radius: var(--clinical-radius) !important;
	box-shadow: none !important;
	color: #FFFFFF !important;
	font-family: var(--clinical-font);
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.2px;
	line-height: 1;
	padding: 12px 22px !important;
	text-transform: none;
	transition: background-color 0.15s ease, border-color 0.15s ease;
}

button:hover,
input[type="button"]:hover,
input[type="submit"]:hover,
.button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.wc-block-components-button:hover {
	background-color: var(--clinical-primary-hover) !important;
	border-color: var(--clinical-primary-hover) !important;
	color: #FFFFFF !important;
}

button.alt,
.woocommerce button.button.alt,
.woocommerce a.button.alt,
.woocommerce input.button.alt {
	background-color: var(--clinical-accent) !important;
	border-color: var(--clinical-accent) !important;
	color: #FFFFFF !important;
}

button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce a.button.alt:hover {
	background-color: var(--clinical-accent-hover) !important;
	border-color: var(--clinical-accent-hover) !important;
}
/* ----------------------------------------
   Product cards — clean laboratory data rows
---------------------------------------- */
.woocommerce ul.products,
.wc-block-grid__products {
	gap: 24px;
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
li.wc-block-grid__product {
	background-color: var(--clinical-surface);
	border: 1px solid var(--clinical-border);
	border-radius: var(--clinical-radius);
	box-shadow: var(--clinical-shadow);
	padding: 16px;
	transition: box-shadow 0.15s ease, border-color 0.15s ease;
}

.woocommerce ul.products li.product:hover,
li.wc-block-grid__product:hover {
	border-color: var(--clinical-accent);
	box-shadow: var(--clinical-shadow-hover);
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2,
.wc-block-grid__product-title {
	color: var(--clinical-text);
	font-size: 15px;
	font-weight: 600;
	letter-spacing: 0;
}

.woocommerce ul.products li.product .price,
.wc-block-grid__product-price {
	color: var(--clinical-primary);
	font-weight: 700;
}

/* ----------------------------------------
   RUO compliance badge
---------------------------------------- */
.ruo-badge {
	background-color: var(--clinical-warning-bg);
	border: 1px solid var(--clinical-warning-border);
	border-radius: var(--clinical-radius);
	color: var(--clinical-warning);
	display: inline-block;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.5px;
	line-height: 1.4;
	margin: 8px 0;
	padding: 6px 12px;
	text-transform: uppercase;
}

/* ----------------------------------------
   Technical metadata table
---------------------------------------- */
.chemical-meta-table {
	background-color: var(--clinical-surface);
	border: 1px solid var(--clinical-border);
	border-radius: var(--clinical-radius);
	margin: 20px 0;
	overflow: hidden;
}

.chemical-meta-table table {
	border-collapse: collapse;
	width: 100%;
}

.chemical-meta-table th,
.chemical-meta-table td {
	border-bottom: 1px solid var(--clinical-border);
	font-size: 13px;
	padding: 10px 14px;
	text-align: left;
}

.chemical-meta-table th {
	background-color: #F1F5F9;
	color: var(--clinical-text);
	font-weight: 600;
	width: 35%;
}

.chemical-meta-table tr:last-child th,
.chemical-meta-table tr:last-child td {
	border-bottom: none;
}

/* ----------------------------------------
   Sterile forms & checkout inputs
---------------------------------------- */
.woocommerce form .form-row label,
.woocommerce-checkout label,
.woocommerce form .form-row .required {
	color: var(--clinical-primary);
	font-weight: 600;
}

.woocommerce-checkout input.input-text,
.woocommerce-checkout textarea,
.woocommerce-checkout select,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
	background-color: #FFFFFF;
	border: 1px solid var(--clinical-border);
	border-radius: var(--clinical-radius);
	color: var(--clinical-text);
	font-family: var(--clinical-font);
	padding: 10px 12px;
}

.woocommerce-checkout input.input-text:focus,
.woocommerce-checkout textarea:focus,
.woocommerce-checkout select:focus {
	border-color: var(--clinical-accent);
	box-shadow: none;
	outline: 1px solid var(--clinical-accent);
}

.woocommerce .woocommerce-info,
.woocommerce .woocommerce-message,
.woocommerce .woocommerce-error {
	border-radius: var(--clinical-radius);
}

/* ----------------------------------------
   Legal affirmation (checkout)
---------------------------------------- */
.clinical-legal-affirmation {
	background-color: var(--clinical-warning-bg);
	border: 1px solid var(--clinical-warning-border);
	border-radius: var(--clinical-radius);
	margin: 16px 0;
	padding: 14px 16px;
}

.clinical-legal-affirmation label {
	color: var(--clinical-text);
	font-weight: 600;
	margin: 0;
	padding-left: 0;
}

.clinical-legal-affirmation input[type="checkbox"] {
	margin-right: 8px;
	vertical-align: middle;
}

/* ----------------------------------------
   Compliance entry gate
---------------------------------------- */
body.clinical-ruo-gate {
	align-items: center;
	background-color: var(--clinical-bg);
	display: flex;
	justify-content: center;
	min-height: 100vh;
}

.clinical-gate {
	margin: 0;
	max-width: 640px;
	padding: 24px;
	width: 100%;
}

.clinical-gate__panel {
	background-color: var(--clinical-surface);
	border: 1px solid var(--clinical-border);
	border-radius: var(--clinical-radius);
	box-shadow: var(--clinical-shadow-hover);
	padding: 40px;
}

.clinical-gate__eyebrow {
	color: var(--clinical-accent);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 1.5px;
	margin: 0 0 12px;
	text-transform: uppercase;
}

.clinical-gate__title {
	color: var(--clinical-primary);
	font-size: 28px;
	margin: 0 0 20px;
}

.clinical-gate__content p {
	color: var(--clinical-text);
	font-size: 15px;
	margin: 0 0 14px;
}

.clinical-gate__legal {
	border-left: 3px solid var(--clinical-warning);
	color: var(--clinical-text);
	font-size: 13px;
	margin: 0 0 24px;
	padding-left: 14px;
}

.clinical-gate__accept {
	width: 100%;
}

.clinical-gate__decline {
	margin: 20px 0 0;
	text-align: center;
}

.clinical-gate__decline a {
	color: var(--clinical-text-muted);
	font-size: 12px;
	letter-spacing: 0.5px;
	text-transform: uppercase;
}

/* ----------------------------------------
   Admin order meta block
---------------------------------------- */
.clinical-order-meta {
	background: #F1F5F9;
	border: 1px solid var(--clinical-border);
	border-radius: var(--clinical-radius);
	padding: 12px 16px;
}

.clinical-order-meta h4 {
	margin-top: 0;
}

.clinical-order-meta p {
	margin: 4px 0;
}

/* ----------------------------------------
   Responsive
---------------------------------------- */
@media (max-width: 640px) {
	.clinical-gate__panel {
		padding: 24px;
	}
}

/* ----------------------------------------
   Branding — Fit X Labs institutional
---------------------------------------- */
.clinical-welcome-notice {
	background-color: #004B6E;
	border-bottom: 1px solid #00354C;
	color: #FFFFFF;
	font-family: var(--clinical-font);
	font-size: 12px;
	letter-spacing: 0.5px;
	line-height: 1.5;
	padding: 8px 16px;
	text-align: center;
}

.clinical-footer-credit {
	color: var(--clinical-text-muted);
	font-family: var(--clinical-font);
	font-size: 12px;
	line-height: 1.6;
	text-align: center;
}

/* ----------------------------------------
   Compliance gate — quality assurance matrix
---------------------------------------- */
.clinical-gate__matrix {
	display: grid;
	gap: 10px;
	grid-template-columns: 1fr;
	list-style: none;
	margin: 20px 0;
	padding: 0;
}

.clinical-gate__matrix li {
	align-items: flex-start;
	background-color: var(--clinical-bg);
	border: 1px solid var(--clinical-border);
	border-radius: var(--clinical-radius);
	color: var(--clinical-text);
	display: flex;
	font-size: 14px;
	gap: 10px;
	line-height: 1.5;
	padding: 12px 14px;
}

.clinical-gate__check {
	color: var(--clinical-accent);
	font-weight: 700;
	line-height: 1.4;
}

.clinical-gate__matrix strong {
	color: var(--clinical-primary);
}

@media (min-width: 768px) {
	.clinical-gate__matrix {
		grid-template-columns: repeat(3, 1fr);
	}

	.clinical-gate__matrix li {
		flex-direction: column;
		gap: 6px;
	}
}

/* ----------------------------------------
   Homepage — Premium Layout
---------------------------------------- */
.clinical-hero {
	background-color: #FFFFFF;
	background-image:
		linear-gradient(rgba(226, 232, 240, 0.55) 1px, transparent 1px),
		linear-gradient(90deg, rgba(226, 232, 240, 0.55) 1px, transparent 1px);
	background-size: 32px 32px;
	border-bottom: 1px solid var(--clinical-border);
	overflow: hidden;
}

.clinical-hero__inner {
	align-items: center;
	display: grid;
	gap: 48px;
	grid-template-columns: 1.1fr 0.9fr;
	margin: 0 auto;
	max-width: 1200px;
	padding: 72px 24px;
}

.clinical-hero__eyebrow {
	color: var(--clinical-accent);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 2px;
	margin: 0 0 16px;
	text-transform: uppercase;
}

.clinical-hero__title {
	color: var(--clinical-primary);
	font-size: 42px;
	font-weight: 700;
	line-height: 1.1;
	margin: 0 0 20px;
}

.clinical-hero__subtitle {
	color: #475569;
	font-size: 17px;
	line-height: 1.6;
	margin: 0 0 28px;
	max-width: 560px;
}

.clinical-hero__cta {
	background-color: var(--clinical-primary);
	border: 1px solid var(--clinical-primary);
	border-radius: var(--clinical-radius);
	color: #FFFFFF;
	display: inline-block;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.3px;
	padding: 13px 26px;
	text-decoration: none;
	transition: background-color 0.15s ease, border-color 0.15s ease;
}

.clinical-hero__cta:hover,
.clinical-hero__cta:focus-visible {
	background-color: var(--clinical-primary-hover);
	border-color: var(--clinical-primary-hover);
	color: #FFFFFF;
	text-decoration: none;
}

.clinical-hero__media {
	align-items: center;
	display: flex;
	justify-content: center;
}

.clinical-molecule {
	height: auto;
	max-width: 340px;
	width: 100%;
}

/* Trust matrix */
.clinical-trust-matrix {
	background-color: #F1F5F9;
	border-bottom: 1px solid var(--clinical-border);
	border-top: 1px solid var(--clinical-border);
}

.clinical-trust-matrix__inner {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	margin: 0 auto;
	max-width: 1200px;
	padding: 0 24px;
}

.clinical-trust-matrix__item {
	border-left: 1px solid var(--clinical-border);
	color: var(--clinical-text);
	display: flex;
	flex-direction: column;
	font-size: 15px;
	gap: 8px;
	line-height: 1.5;
	padding: 28px 24px;
}

.clinical-trust-matrix__item:first-child {
	border-left: 0;
}

.clinical-trust-matrix__item strong {
	color: var(--clinical-primary);
	font-size: 15px;
	font-weight: 700;
}

/* Featured compounds */
.clinical-featured {
	background-color: var(--clinical-bg);
}

.clinical-featured__inner {
	margin: 0 auto;
	max-width: 1200px;
	padding: 56px 24px;
}

.clinical-featured__title {
	color: var(--clinical-primary);
	font-size: 26px;
	font-weight: 700;
	margin: 0 0 24px;
	text-align: center;
}

.clinical-featured .woocommerce ul.products {
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	margin: 0;
	max-width: 1200px;
}

.clinical-featured .woocommerce ul.products li.product {
	background-color: #FFFFFF;
	border: 1px solid var(--clinical-border);
	border-radius: var(--clinical-radius);
	padding: 24px;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.clinical-featured .woocommerce ul.products li.product:hover {
	border-color: var(--clinical-accent);
	box-shadow: var(--clinical-shadow-hover);
}

/* Homepage responsive */
@media (max-width: 992px) {
	.clinical-hero__inner {
		grid-template-columns: 1fr;
		padding: 48px 24px;
	}

	.clinical-hero__title {
		font-size: 32px;
	}

	.clinical-hero__media {
		order: -1;
	}

	.clinical-molecule {
		max-width: 240px;
	}
}

@media (max-width: 768px) {
	.clinical-trust-matrix__inner {
		grid-template-columns: 1fr;
	}

	.clinical-trust-matrix__item {
		border-left: 0;
		border-top: 1px solid var(--clinical-border);
	}

	.clinical-trust-matrix__item:first-child {
		border-top: 0;
	}

	.clinical-featured .woocommerce ul.products {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 480px) {
	.clinical-featured .woocommerce ul.products {
		grid-template-columns: 1fr;
	}
}

/* ----------------------------------------
   Header — Logo & Institutional Navigation
---------------------------------------- */
.site-logo-img .custom-logo,
.custom-logo {
	display: inline-block;
	height: auto;
	max-height: 65px;
	width: auto;
}

@media (max-width: 768px) {
	.site-logo-img .custom-logo,
	.custom-logo {
		max-height: 45px;
	}
}

/* Hide the redundant site title/tagline next to the injected logo. */
body.clinical-has-local-logo .site-title,
body.clinical-has-local-logo .site-description {
	display: none;
}

/* -------------------------------------------------------------------------
   Header navigation — enterprise alignment
------------------------------------------------------------------------- */
.main-navigation,
.main-header-bar-navigation,
.ast-builder-menu-1 {
	display: flex !important;
	align-items: center !important;
	justify-content: flex-end !important;
}

.main-header-menu {
	justify-content: flex-end !important;
}

.main-navigation,
.main-header-bar-navigation,
.ast-builder-menu-1,
.main-header-menu {
	margin-left: 0 !important;
	margin-bottom: 0 !important;
}

.main-navigation a,
.ast-menu-toggle,
.main-header-menu a {
	line-height: 1.5 !important;
	padding-top: 15px !important;
	padding-bottom: 15px !important;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

@media (max-width: 768px) {
	.main-navigation,
	.main-header-bar-navigation,
	.ast-builder-menu-1 {
		display: block !important;
		justify-content: initial !important;
	}

	.main-navigation a,
	.main-header-menu a {
		padding-top: 10px !important;
		padding-bottom: 10px !important;
	}
}



/* -------------------------------------------------------------------------
   Header cart icon
------------------------------------------------------------------------- */
.clinical-cart-menu-item.is-empty {
	display: none;
}

.clinical-cart-link {
	align-items: center;
	display: inline-flex;
	gap: 6px;
}

.clinical-cart-icon {
	height: 16px;
	vertical-align: middle;
	width: 16px;
}

.clinical-cart-count {
	align-items: center;
	background-color: var(--clinical-accent);
	border-radius: 10px;
	color: #FFFFFF;
	display: inline-flex;
	font-size: 11px;
	font-weight: 700;
	height: 18px;
	justify-content: center;
	line-height: 1;
	min-width: 18px;
	padding: 0 5px;
}