/* ==========================================================================
   MidasLab — Clinical Precision
   White ground, near-black ink, one cobalt accent, one smooth type family.
   ========================================================================== */

:root {
	--ml-bg: #FFFFFF;
	--ml-surface: #F7F8FA;
	--ml-ink: #14181C;
	--ml-muted: #5B6470;
	--ml-border: #E4E7EC;
	--ml-accent: #1D4ED8;
	--ml-accent-hover: #173FB0;
	--ml-accent-soft: rgba(29, 78, 216, 0.08);
	--ml-shadow: 0 8px 24px rgba(20, 24, 28, 0.08);

	--ml-font-heading: 'Plus Jakarta Sans', sans-serif;
	--ml-font-body: 'Plus Jakarta Sans', sans-serif;

	--ml-radius-sm: 6px;
	--ml-radius-md: 8px;
	--ml-radius-lg: 12px;

	--ml-space-sm: 8px;
	--ml-space-md: 16px;
	--ml-space-lg: 32px;
	--ml-space-xl: 64px;
}

/* Neutralize inherited UA/theme resets without fighting our own rules below. */
:where(body, h1, h2, h3, h4, h5, h6, p, a, button, input, select, textarea, table) {
	font-family: var(--ml-font-body);
}

/* --------------------------------------------------------------------------
   Base
   -------------------------------------------------------------------------- */

body {
	background: var(--ml-bg) !important;
	color: var(--ml-ink) !important;
	font-family: var(--ml-font-body) !important;
	font-weight: 400;
	line-height: 1.6;
}

a {
	color: var(--ml-accent);
	text-decoration: none;
}

a:hover {
	color: var(--ml-accent-hover);
}

h1, h2, h3, h4, h5, h6,
.site-title,
.storefront-primary-navigation,
.woocommerce-loop-product__title,
.product_title,
.page-title,
.entry-title {
	font-family: var(--ml-font-heading) !important;
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: 0;
	text-transform: none;
	color: var(--ml-ink);
}

::selection {
	background: var(--ml-accent-soft);
	color: var(--ml-ink);
}

:focus-visible {
	outline: 2px solid var(--ml-accent);
	outline-offset: 2px;
}

/* --------------------------------------------------------------------------
   Header / navigation
   -------------------------------------------------------------------------- */

.site-header,
.site-header .col-full,
.storefront-handheld-footer-bar {
	background: var(--ml-bg) !important;
	color: var(--ml-ink) !important;
	border-bottom: 1px solid var(--ml-border);
	box-shadow: none !important;
}

.site-header a,
.site-header .site-title a {
	color: var(--ml-ink) !important;
}

.site-header a:hover {
	color: var(--ml-accent) !important;
}

.main-navigation ul li a {
	color: var(--ml-ink);
	font-weight: 500;
}

.main-navigation ul li a:hover,
.main-navigation ul li.current-menu-item > a {
	color: var(--ml-accent);
	box-shadow: inset 0 -2px 0 var(--ml-accent);
}

.main-navigation ul ul {
	background: var(--ml-bg);
	border: 1px solid var(--ml-border);
	box-shadow: var(--ml-shadow);
}

.site-search .search-toggle,
.handheld-navigation .menu-toggle {
	background: transparent !important;
	color: var(--ml-ink) !important;
}

/* --------------------------------------------------------------------------
   Footer
   -------------------------------------------------------------------------- */

.site-footer,
footer.site-footer,
.site-footer .col-full {
	background: var(--ml-surface) !important;
	color: var(--ml-ink) !important;
	border-top: 1px solid var(--ml-border);
}

.site-footer a {
	color: var(--ml-ink) !important;
}

.site-footer a:hover {
	color: var(--ml-accent) !important;
}

.site-footer .widget-title {
	color: var(--ml-ink) !important;
}

/* --------------------------------------------------------------------------
   Buttons
   -------------------------------------------------------------------------- */

.button,
button,
input[type="submit"],
.woocommerce a.button,
.woocommerce button.button,
.woocommerce #respond input#submit,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
	background: var(--ml-accent) !important;
	color: #FFFFFF !important;
	border: none !important;
	border-radius: var(--ml-radius-md) !important;
	font-family: var(--ml-font-body) !important;
	font-weight: 500;
	font-size: 14px;
	letter-spacing: 0;
	text-transform: none;
	box-shadow: none !important;
	padding: 12px 22px !important;
	transition: background-color 0.15s ease;
}

.button:hover,
button:hover,
input[type="submit"]:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover {
	background: var(--ml-accent-hover) !important;
	color: #FFFFFF !important;
}

.button.loading,
.woocommerce a.button.loading {
	opacity: 0.6;
}

/* Secondary / ghost buttons (Storefront uses .button.alt for the alt state —
   repurpose as our secondary style since alt already means "different" here) */
.woocommerce a.button.alt,
.woocommerce button.button.alt:not(.checkout-button) {
	background: transparent !important;
	color: var(--ml-accent) !important;
	border: 1px solid var(--ml-accent) !important;
}

.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover {
	background: var(--ml-accent-soft) !important;
	color: var(--ml-accent-hover) !important;
}

/* --------------------------------------------------------------------------
   Price + sale badge — one accent only, no category color wheel
   -------------------------------------------------------------------------- */

.woocommerce ul.products li.product .price,
.woocommerce div.product p.price,
.woocommerce div.product span.price {
	color: var(--ml-ink) !important;
	font-family: var(--ml-font-body);
	font-weight: 600;
}

.woocommerce .price ins {
	color: var(--ml-accent);
	text-decoration: none;
}

.woocommerce .price del {
	color: var(--ml-muted);
	opacity: 1;
}

.onsale {
	background: var(--ml-accent) !important;
	color: #FFFFFF !important;
	font-family: var(--ml-font-body);
	font-weight: 500;
	font-size: 12px;
	border-radius: var(--ml-radius-sm) !important;
	box-shadow: none !important;
}

/* --------------------------------------------------------------------------
   Product grid / cards
   -------------------------------------------------------------------------- */

.woocommerce ul.products li.product {
	background: var(--ml-bg);
	border: 1px solid var(--ml-border);
	border-radius: var(--ml-radius-lg);
	padding: var(--ml-space-md);
	transition: box-shadow 0.15s ease, border-color 0.15s ease;
}

.woocommerce ul.products li.product:hover {
	border-color: var(--ml-border);
	box-shadow: var(--ml-shadow);
}

.woocommerce ul.products li.product img {
	border-radius: var(--ml-radius-md);
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-size: 18px;
	margin-top: var(--ml-space-sm);
	color: var(--ml-ink);
}

.woocommerce-products-header__title,
.widget-title {
	font-family: var(--ml-font-heading) !important;
	font-weight: 600;
	text-transform: none;
	letter-spacing: 0;
	color: var(--ml-ink);
}

.storefront-sorting select,
.woocommerce-ordering select {
	border: 1px solid var(--ml-border);
	border-radius: var(--ml-radius-sm);
	color: var(--ml-ink);
	font-family: var(--ml-font-body);
	background: var(--ml-bg);
}

/* --------------------------------------------------------------------------
   Forms / inputs
   -------------------------------------------------------------------------- */

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="number"],
input[type="password"],
input[type="search"],
select,
textarea {
	background: var(--ml-bg);
	border: 1px solid var(--ml-border);
	border-radius: var(--ml-radius-sm);
	color: var(--ml-ink);
	font-family: var(--ml-font-body);
	padding: 10px 12px;
}

input:focus,
select:focus,
textarea:focus {
	border-color: var(--ml-accent);
	outline: none;
	box-shadow: 0 0 0 3px var(--ml-accent-soft);
}

/* --------------------------------------------------------------------------
   Tables (spec sheets, cart, shop attributes)
   -------------------------------------------------------------------------- */

.woocommerce table.shop_attributes,
.woocommerce table.spec-table,
.woocommerce table.shop_table {
	font-family: var(--ml-font-body);
	font-size: 14px;
	border-collapse: collapse;
	width: 100%;
	color: var(--ml-ink);
}

.woocommerce table.shop_attributes th,
.woocommerce table.shop_attributes td,
.woocommerce table.spec-table th,
.woocommerce table.spec-table td,
.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
	border-bottom: 1px solid var(--ml-border);
	padding: 10px 12px;
	text-align: left;
}

/* --------------------------------------------------------------------------
   Breadcrumbs, misc chrome
   -------------------------------------------------------------------------- */

.woocommerce-breadcrumb {
	color: var(--ml-muted);
	font-size: 13px;
}

.woocommerce-breadcrumb a {
	color: var(--ml-muted);
}

.woocommerce-breadcrumb a:hover {
	color: var(--ml-accent);
}

.woocommerce nav.woocommerce-pagination ul li {
	border: 1px solid var(--ml-border);
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
	color: var(--ml-ink);
}

.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li span.current {
	background: var(--ml-accent);
	color: #FFFFFF;
}

mark {
	background: var(--ml-accent-soft);
	color: var(--ml-ink);
}

/* The front page carries its own hero; the auto page-title ("Home") above it
   is redundant chrome, not content — hide it there only. */
body.home .entry-header {
	display: none;
}
