/*
 * Marek Pharma — Botiga brand stylesheet.
 * Overrides Botiga's CSS custom properties with Marek's palette.
 * All colours via CSS variables — no hardcoded hex in rules.
 * RESTYLE, DON'T RESTRUCTURE: only colours, fonts, spacing tweaks.
 */

/* ── Marek brand tokens ───────────────────────────────────────────────────── */
:root {
	--marek-primary:    #336AAD;
	--marek-deep:       #2D4FA9;
	--marek-sky:        #67A8D2;
	--marek-cool-white: #F4F7FB;
	--marek-ink:        #1A2332;
	--marek-ink-light:  #3A4A5C;
	--marek-border:     #D9E4F0;
	--marek-success:    #059669;
}

/* ── Override Botiga CSS variables with Marek brand values ───────────────── */
:root {
	--bt-color-body-text:           var(--marek-ink);
	--bt-color-bg:                  #ffffff;
	--bt-color-link-default:        var(--marek-primary);
	--bt-color-link-hover:          var(--marek-sky);
	--bt-color-heading-1:           var(--marek-ink);
	--bt-color-heading-2:           var(--marek-ink);
	--bt-color-heading-3:           var(--marek-ink);
	--bt-color-heading-4:           var(--marek-ink);
	--bt-color-heading-5:           var(--marek-ink);
	--bt-color-heading-6:           var(--marek-ink);
	--bt-color-button:              #ffffff;
	--bt-color-button-bg:           var(--marek-primary);
	--bt-color-button-bg-hover:     var(--marek-sky);
	--bt-color-button-hover:        #ffffff;
	--bt-color-button-border:       var(--marek-primary);
	--bt-color-button-border-hover: var(--marek-sky);
	--bt-color-content-cards-bg:    var(--marek-cool-white);
	--bt-color-forms-borders:       var(--marek-border);
	--bt-color-forms-text:          var(--marek-ink);
	--bt-color-onsale-bg:           var(--marek-primary);
	--bt-color-onsale:              #ffffff;
}

/* ── Global fonts — Space Grotesk headings, Poppins body ─────────────────── */
body,
input, textarea, select, button {
	font-family: 'Poppins', system-ui, sans-serif !important;
}

h1, h2, h3, h4, h5, h6,
.entry-title,
.site-title,
.product_title,
.woocommerce-loop-product__title,
.wc-block-components-title,
.wp-block-heading {
	font-family: 'Space Grotesk', 'Helvetica Neue', Arial, sans-serif !important;
}

/* ── Header layout: logo left, nav centred, icons right ─────────────────── */
/* BHFB renders: col-1=menu, col-2=logo, col-3=icons.
   Swap col-2 (logo) to order:1 so it appears on the left,
   col-1 (nav) to order:2 so it sits in the centre column.                  */
.bhfb-main_header_row .bhfb-column-2 {
	order: 1;                            /* logo  → left   */
	justify-content: flex-start !important; /* align logo to the column's left edge (was inherited center) */
}
.bhfb-main_header_row .bhfb-column-1 { order: 2; justify-content: center !important; } /* nav → centre */
.bhfb-main_header_row .bhfb-column-3 { order: 3; }   /* icons → right  */

/* Centre the nav links within their column */
.bhfb-main_header_row .bhfb-column-1 .main-navigation {
	display: flex;
	justify-content: center;
}
.bhfb-main_header_row .bhfb-column-1 .main-navigation ul.menu {
	display: flex;
	flex-wrap: nowrap;
	justify-content: center;
	gap: 1.6rem;            /* even spacing between items (was via link padding) */
}

/* Each top-level item lays its label + dropdown arrow on one row, and never
   shrinks (which was pushing the arrow onto a second line below the text). */
.bhfb-main_header_row .bhfb-column-1 .main-navigation ul.menu > li {
	display: flex;
	align-items: center;
	flex-shrink: 0;
}

/* Nav link sizing — keep on one row. No horizontal padding so the dropdown
   arrow sits right beside the label (spacing comes from the ul gap above). */
.bhfb-main_header_row .bhfb-column-1 .main-navigation ul.menu > li > a {
	font-size: 0.95rem;
	white-space: nowrap;
	padding-left: 0;
	padding-right: 0;
	transition: color 0.18s ease;
}

/* Chevron hugs its label. */
.bhfb-main_header_row .bhfb-column-1 .main-navigation ul.menu > li > .dropdown-symbol {
	margin-left: 4px !important;
}

/* Blue hover — label and dropdown arrow turn brand blue (was grey). */
.bhfb-main_header_row .bhfb-column-1 .main-navigation ul.menu > li:hover > a,
.bhfb-main_header_row .bhfb-column-1 .main-navigation ul.menu > li.hovered > a,
.bhfb-main_header_row .bhfb-column-1 .main-navigation ul.menu > li > a:hover,
.bhfb-main_header_row .bhfb-column-1 .main-navigation ul.menu > li > a:focus-visible {
	color: var(--marek-primary) !important;
}
.bhfb-main_header_row .bhfb-column-1 .main-navigation ul.menu > li:hover > .dropdown-symbol,
.bhfb-main_header_row .bhfb-column-1 .main-navigation ul.menu > li.hovered > .dropdown-symbol,
.bhfb-main_header_row .bhfb-column-1 .main-navigation ul.menu > li:hover > .dropdown-symbol svg,
.bhfb-main_header_row .bhfb-column-1 .main-navigation ul.menu > li.hovered > .dropdown-symbol svg {
	color: var(--marek-primary) !important;
	fill: var(--marek-primary) !important;
}

/* ── Typography scale (site-wide, excl. homepage + shop/product listings) ──── */
/* Botiga's defaults are huge (h1 64px / h2 48px / h3 32px). Botiga sizes every
   heading from these CSS vars (set on `body` by the customizer), so we just
   redefine the vars with higher specificity. Homepage and product-listing
   pages keep the defaults for visual flexibility. */
body:not(.home):not(.woocommerce-shop):not(.tax-product_cat):not(.tax-product_tag):not(.post-type-archive-product) {
	--bt-font-size-h1: 2rem;       /* 32px */
	--bt-font-size-h2: 1.5rem;     /* 24px */
	--bt-font-size-h3: 1.1875rem;  /* 19px */
	--bt-font-size-h4: 1.0625rem;  /* 17px */
}

@media (max-width: 600px) {
	body:not(.home):not(.woocommerce-shop):not(.tax-product_cat):not(.tax-product_tag):not(.post-type-archive-product) {
		--bt-font-size-h1: 1.625rem; /* 26px */
		--bt-font-size-h2: 1.375rem; /* 22px */
	}
}

/* ── Readable centred column for text pages (excl. WooCommerce/home/shop) ──── */
.page:not(.woocommerce-page):not(.home) .entry-header,
.page:not(.woocommerce-page):not(.home) .entry-content,
.single-post .entry-header,
.single-post .entry-content {
	max-width: 760px;
	margin-left: auto;
	margin-right: auto;
}

.page:not(.woocommerce-page):not(.home) .entry-content,
.single-post .entry-content {
	font-size: 1rem;       /* 16px body */
	line-height: 1.6;
}

/* Compact vertical rhythm — Botiga's defaults (h1 60/40, h2 45/30, h3 30/16)
   spread the page past the fold. Tighten so policy/text pages read like a
   single compact block with the footer in view. */
.page:not(.woocommerce-page):not(.home) .entry-content p,
.page:not(.woocommerce-page):not(.home) .entry-content ul,
.page:not(.woocommerce-page):not(.home) .entry-content ol,
.single-post .entry-content p,
.single-post .entry-content ul,
.single-post .entry-content ol {
	margin-bottom: 0.9em;
}

.page:not(.woocommerce-page):not(.home) .entry-content li,
.single-post .entry-content li {
	margin-bottom: 0.25em;
}

.page:not(.woocommerce-page):not(.home) .entry-content :is(h2, h3, h4),
.single-post .entry-content :is(h2, h3, h4) {
	margin-top: 1.4em;
	margin-bottom: 0.4em;
}

.page:not(.woocommerce-page):not(.home) .entry-content > :is(h2, h3, h4):first-child,
.single-post .entry-content > :is(h2, h3, h4):first-child {
	margin-top: 0;
}

/* Page title — cut Botiga's 60px/40px block down. */
.page:not(.woocommerce-page):not(.home) .entry-header .entry-title,
.single-post .entry-header .entry-title {
	margin-top: 1.25rem;
	margin-bottom: 1rem;
}

/* ── Logo ─────────────────────────────────────────────────────────────────── */
.custom-logo-link img,
.custom-logo {
	width: 180px !important;
	height: auto !important;
	max-width: 180px !important;
}

/* ── Hide site title in header (logo wordmark handles it) ─────────────────── */
h1.site-title,
.site-title { display: none !important; }

/* ── Hide "Home" page title on the front page ─────────────────────────────── */
.home .page-header,
.home .entry-title.page-title,
.front-page .page-header { display: none !important; }

/* ── Hide "Proudly powered by Botiga" in footer ──────────────────────────── */
.botiga-credits { display: none !important; }

/* ── Breadcrumbs ─────────────────────────────────────────────────────────── */
.woocommerce-breadcrumb,
.botiga-breadcrumbs,
nav.woocommerce-breadcrumb,
.breadcrumb,
.breadcrumbs { display: none !important; }

/* ── Shop — hide pagination, sort, results count ─────────────────────────── */
.woocommerce-result-count,
.woocommerce-ordering,
.woocommerce-pagination,
.wp-block-query-pagination { display: none !important; }

/* ── WooCommerce buttons ─────────────────────────────────────────────────── */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
ul.products li.product .button,
.botiga-btn {
	background-color: var(--marek-primary) !important;
	color: #ffffff !important;
	border-color: var(--marek-primary) !important;
	font-family: 'Space Grotesk', sans-serif !important;
	font-weight: 600 !important;
	letter-spacing: 0.04em !important;
	text-transform: uppercase !important;
	transition: background-color 0.18s ease, border-color 0.18s ease !important;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
ul.products li.product .button:hover {
	background-color: var(--marek-sky) !important;
	border-color: var(--marek-sky) !important;
	color: #ffffff !important;
}

/* ── WooCommerce prices ───────────────────────────────────────────────────── */
.price,
.woocommerce-Price-amount,
span.price,
p.price {
	color: var(--marek-primary) !important;
}

/* ── Product title font ──────────────────────────────────────────────────── */
.woocommerce-loop-product__title,
.product_title {
	font-family: 'Space Grotesk', 'Helvetica Neue', Arial, sans-serif !important;
	font-weight: 600 !important;
}

/* ── Checkout order summary — hide product descriptions ───────────────────── */
.wc-block-components-product-metadata,
.wc-block-components-product-metadata__description { display: none !important; }

/* ── Compliance notice (plugin) ───────────────────────────────────────────── */
.peptidestore-ruo-notice {
	background: color-mix(in srgb, var(--marek-sky) 10%, transparent) !important;
	border: 1px solid color-mix(in srgb, var(--marek-sky) 40%, transparent) !important;
	color: var(--marek-deep) !important;
	border-radius: 6px;
}

/* ── Keep main nav clickable while the header search is open ──────────────── */
/* Botiga sets `pointer-events: none` on `.botiga-dropdown` (which the main nav
   carries) when `body.header-search-form-active` is set, killing every menu
   link. The header already stacks above the dim overlay, so just restore the
   pointer events. */
.header-search-form-active .main-navigation {
	pointer-events: auto !important;
}

/* ── Scrolling announcement bar ───────────────────────────────────────────── */
.marek-ann {
	background-color: var(--marek-primary);
	color: #ffffff;
	overflow: hidden;
	width: 100%;
	font-family: 'Poppins', system-ui, sans-serif;
	font-size: 0.9rem;
	font-weight: 500;
	letter-spacing: 0.02em;
	line-height: 1;
}

.marek-ann__track {
	display: flex;
	width: max-content;
	will-change: transform;
	animation: marek-ann-scroll 30s linear infinite;
}

.marek-ann__group {
	display: flex;
	flex: none;
	align-items: center;
}

.marek-ann__item {
	display: inline-flex;
	align-items: center;
	padding: 1rem 0;
	white-space: nowrap;
}

.marek-ann__sep {
	padding: 0 2.25rem;
	font-size: 0.5em;
	color: var(--marek-sky);
}

@keyframes marek-ann-scroll {
	from { transform: translateX(0); }
	to   { transform: translateX(-50%); }
}

/* Reduced motion: stop the scroll, centre a single static group. */
@media (prefers-reduced-motion: reduce) {
	.marek-ann__track {
		animation: none;
		width: 100%;
		justify-content: center;
	}
	.marek-ann__group {
		flex-wrap: wrap;
		justify-content: center;
	}
	.marek-ann__group[aria-hidden="true"] { display: none; }
}

/* ── Contact form (plugin placeholder) ────────────────────────────────────── */
.psc-contact-form {
	max-width: 640px;
}

.psc-contact-form__note {
	background: color-mix(in srgb, var(--marek-sky) 12%, transparent);
	border: 1px solid color-mix(in srgb, var(--marek-sky) 40%, transparent);
	color: var(--marek-deep);
	border-radius: 6px;
	padding: 0.75rem 1rem;
	font-size: 0.85rem;
	margin-bottom: 1.5rem;
}

.psc-contact-form__row {
	display: flex;
	gap: 1rem;
}

.psc-contact-form__label {
	display: block;
	flex: 1 1 0;
	margin-bottom: 1rem;
	font-weight: 500;
	color: var(--marek-ink);
}

.psc-contact-form__label span {
	display: block;
	margin-bottom: 0.35rem;
	font-size: 0.9rem;
}

.psc-contact-form__label input,
.psc-contact-form__label textarea {
	width: 100%;
	border: 1px solid var(--marek-border);
	border-radius: 6px;
	padding: 0.7em 0.9em;
	font-family: 'Poppins', system-ui, sans-serif;
	font-size: 1rem;
}

.psc-contact-form__submit {
	margin-top: 0.5rem;
}

@media (max-width: 600px) {
	.psc-contact-form__row { flex-direction: column; gap: 0; }
}

/* ── Homepage stats strip (above the catalogue) ────────────────────────────── */
.marek-stats {
	padding: 0.5rem 1rem 2.5rem;
}
.marek-stats__inner {
	max-width: 1000px;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
}
.marek-stat {
	flex: 1 1 0;
	min-width: 170px;
	text-align: center;
	padding: 0.5rem 1.5rem;
	position: relative;
}
/* Thin divider between stats. */
.marek-stat + .marek-stat::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 1px;
	height: 60px;
	background: var(--marek-border);
}
.marek-stat__num {
	display: block;
	font-family: 'Space Grotesk', sans-serif;
	font-weight: 700;
	font-size: 1.9rem;
	line-height: 1.1;
	letter-spacing: -0.01em;
	color: var(--marek-primary);
	white-space: nowrap;
}
.marek-stat__label {
	display: block;
	margin-top: 0.5rem;
	font-size: 0.95rem;
	color: var(--marek-ink-light);
}
@media (max-width: 700px) {
	.marek-stat { flex-basis: 50%; }
	.marek-stat::before { display: none; }
	.marek-stat__num { font-size: 1.6rem; }
}

/* ── Homepage trust bar — full-bleed, single line, larger ──────────────────── */
/* The bar is a Custom HTML block with inline styles, so these need !important. */
.marek-trust-bar {
	width: 100vw !important;
	max-width: 100vw !important;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
	padding: 1.6rem 2rem !important;
}
.marek-trust-bar > div {
	max-width: 1280px !important;
	flex-wrap: nowrap !important;
	gap: 3rem !important;
}
.marek-trust-bar > div > div {
	font-size: 1.1rem !important;
	gap: 0.75rem !important;
	white-space: nowrap !important;
}
.marek-trust-bar svg {
	width: 1.8em !important;
	height: 1.8em !important;
	flex: none;
}
/* On narrow screens allow it to wrap rather than overflow. */
@media (max-width: 880px) {
	.marek-trust-bar > div { flex-wrap: wrap !important; gap: 1rem 2rem !important; }
	.marek-trust-bar > div > div { font-size: 0.85rem !important; }
	.marek-trust-bar svg { width: 1.3em !important; height: 1.3em !important; }
}

/* ── Shop archive: drop the page header + tighten top space ────────────────── */
/* Removes the "Shop" title and the italic archive-description line, and pulls
   the product grid up toward the top. (Disclaimer still shows in the footer.) */
.woocommerce-shop .woocommerce-page-header,
.tax-product_cat .woocommerce-page-header,
.tax-product_tag .woocommerce-page-header,
.post-type-archive-product .woocommerce-page-header {
	display: none !important;
}
.woocommerce-shop .content-wrapper,
.tax-product_cat .content-wrapper,
.tax-product_tag .content-wrapper,
.post-type-archive-product .content-wrapper {
	padding-top: 1.5rem;
}

/* ── Pill buttons (site-wide) ──────────────────────────────────────────────── */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce ul.products li.product .button,
.single-product .single_add_to_cart_button,
.botiga-btn,
.botiga-button,
.wp-block-button__link,
.wp-element-button,
.psc-contact-form__submit,
button.button,
input[type="submit"],
input[type="button"] {
	border-radius: 999px !important;
}

/* Default block buttons (e.g. homepage "Browse All Research Compounds") → brand
   blue. No !important, so hero buttons with inline colours keep theirs. */
.wp-block-button:not(.is-style-outline) > .wp-block-button__link {
	background-color: var(--marek-primary);
	color: #ffffff;
}
.wp-block-button:not(.is-style-outline) > .wp-block-button__link:hover {
	background-color: var(--marek-sky);
}

/* ── Single product page redesign ──────────────────────────────────────────── */

/* Add-to-cart button: pill, lighter, cleaner. */
.single-product .single_add_to_cart_button {
	border-radius: 999px !important;
	padding: 0.8em 2.4em !important;
	font-size: 0.85rem !important;
	height: 48px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

/* Quantity selector: clean white pill, +/- at the edges, no busy dividers,
   each control highlights blue on hover. */
.single-product form.cart .quantity {
	display: inline-flex;
	align-items: center;
	background: #ffffff;
	border: 1px solid var(--marek-border);
	border-radius: 999px;
	overflow: hidden;
	height: 48px;
	margin-right: 0.6rem;
}
.single-product form.cart .quantity .botiga-quantity-minus,
.single-product form.cart .quantity .botiga-quantity-plus {
	width: 44px;
	height: 48px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	border: none;
	background: transparent;
	color: var(--marek-ink);
	font-size: 1.15rem;
	line-height: 1;
	text-decoration: none;
	transition: background-color 0.15s ease, color 0.15s ease;
}
.single-product form.cart .quantity .botiga-quantity-minus:hover,
.single-product form.cart .quantity .botiga-quantity-plus:hover {
	background: var(--marek-primary);
	color: #ffffff;
}
.single-product form.cart .quantity .qty {
	width: 44px;
	height: 48px;
	border: none;
	background: transparent;
	border-radius: 0;
	text-align: center;
	font-size: 0.95rem;
	padding: 0;
	-moz-appearance: textfield;
}
.single-product form.cart .quantity .qty::-webkit-outer-spin-button,
.single-product form.cart .quantity .qty::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

/* Trust signals list. */
.psc-trust {
	list-style: none;
	margin: 1.5rem 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.7rem;
}
.psc-trust__item {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	font-size: 0.95rem;
	color: var(--marek-ink);
}
.psc-trust__icon {
	width: 1.2em;
	height: 1.2em;
	color: var(--marek-sky);
	flex: none;
}
.psc-trust__stock {
	font-weight: 600;
}
.psc-trust__dot {
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: var(--marek-success);
	flex: none;
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--marek-success) 22%, transparent);
}
.psc-trust__stock.is-out .psc-trust__dot {
	background: #B23A2B;
	box-shadow: 0 0 0 3px color-mix(in srgb, #B23A2B 22%, transparent);
}

/* Inline disclaimer note (appended to the short description) — clean, subtle. */
.peptidestore-disclaimer {
	font-style: normal;
	font-size: 0.82rem;
	line-height: 1.55;
	color: var(--marek-ink-light);
	background: var(--marek-cool-white);
	border: 1px solid var(--marek-border);
	border-left: 3px solid var(--marek-sky);
	border-radius: 6px;
	padding: 0.65rem 0.85rem;
	margin: 1.1rem 0;
}

/* Product tabs: clean modern underline bar. */
.single-product .woocommerce-tabs ul.tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 1.75rem;
	margin: 0 0 1.75rem;
	padding: 0 0 0 0;
	border-bottom: 1px solid var(--marek-border);
}
.single-product .woocommerce-tabs ul.tabs::before {
	display: none;
}
.single-product .woocommerce-tabs ul.tabs li {
	background: none;
	border: none;
	border-radius: 0;
	margin: 0;
	padding: 0;
}
.single-product .woocommerce-tabs ul.tabs li::before,
.single-product .woocommerce-tabs ul.tabs li::after {
	display: none;
}
.single-product .woocommerce-tabs ul.tabs li a {
	display: inline-block;
	padding: 0.85rem 0;
	font-family: 'Space Grotesk', sans-serif;
	font-weight: 600;
	font-size: 0.95rem;
	color: var(--marek-ink-light);
	border-bottom: 2px solid transparent;
	transition: color 0.15s ease, border-color 0.15s ease;
}
.single-product .woocommerce-tabs ul.tabs li a:hover {
	color: var(--marek-primary);
}
.single-product .woocommerce-tabs ul.tabs li.active a {
	color: var(--marek-primary);
	border-bottom-color: var(--marek-primary);
}

/* ── Product cards (skin only — no grid/dimension changes) ─────────────────── */
.woocommerce ul.products li.product {
	background: #ffffff;
	border: 1px solid var(--marek-border);
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 1px 2px rgba(26, 35, 50, 0.04), 0 6px 16px -8px rgba(26, 35, 50, 0.12);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.woocommerce ul.products li.product:hover {
	transform: translateY(-4px);
	box-shadow: 0 6px 14px rgba(26, 35, 50, 0.10), 0 18px 34px -12px rgba(51, 106, 173, 0.28);
}

/* Separate the image from the text: image flush at top, padded content below. */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .price {
	padding-left: 16px;
	padding-right: 16px;
}
.woocommerce ul.products li.product .price {
	display: block;
	padding-bottom: 18px;
}
.woocommerce ul.products li.product .psc-cat-badge {
	margin: 14px 16px 6px;
}

/* Category badge */
.psc-cat-badge {
	display: inline-block;
	font-family: 'Space Grotesk', sans-serif;
	font-size: 0.68rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	line-height: 1.4;
	padding: 4px 10px;
	border-radius: 999px;
	/* default colour (any unmapped category falls back to brand blue) */
	background: #E4ECFD;
	color: #2A4F9E;
}
.psc-cat-metabolic-research                 { background: #FFF1DD; color: #9A5B00; }
.psc-cat-recovery-repair-research           { background: #E2F5E9; color: #1B7A45; }
.psc-cat-cosmetic-skin-research             { background: #FCE7F0; color: #A8316B; }
.psc-cat-longevity-research                 { background: #EDE7FB; color: #5B3D9E; }
.psc-cat-gh-secretagogue-research           { background: #DEF3F4; color: #0F6E72; }
.psc-cat-nootropic-research                 { background: #E4ECFD; color: #2A4F9E; }
.psc-cat-reproductive-research              { background: #FDE7E4; color: #B23A2B; }
.psc-cat-supplies                           { background: #EAEDF2; color: #48566B; }

/* ── Blog archive: posts as separated cards (border, radius, drop shadow) ───── */
/* The flex container that directly holds the article cards (works whether the
   articles sit straight in .posts-archive or in an inner row). */
.blog .posts-archive,
.blog .posts-archive > div:has( > article.post ) {
	display: flex;
	flex-wrap: wrap;
	gap: 1.5rem;
	margin-left: 0;
	margin-right: 0;
}
.blog article.post {
	flex: 0 0 calc( 33.333% - 1.1rem );
	max-width: calc( 33.333% - 1.1rem );
	margin: 0 !important;
	padding: 1.5rem !important;
	background: #ffffff;
	border: 1px solid var(--marek-border);
	border-radius: 12px;
	box-shadow: 0 1px 2px rgba( 26, 35, 50, 0.04 ), 0 6px 16px -8px rgba( 26, 35, 50, 0.12 );
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.blog article.post:hover {
	transform: translateY( -4px );
	box-shadow: 0 6px 14px rgba( 26, 35, 50, 0.10 ), 0 18px 34px -12px rgba( 51, 106, 173, 0.25 );
}
@media ( max-width: 991px ) {
	.blog article.post { flex-basis: calc( 50% - 0.75rem ); max-width: calc( 50% - 0.75rem ); }
}
@media ( max-width: 600px ) {
	.blog article.post { flex-basis: 100%; max-width: 100%; }
}

/* ── Accepted-crypto logo row inside the OxaPay checkout box ──────────────── */
.psc-coin-row {
	display: flex;
	flex-direction: column;
	gap: 0.45rem;
	margin-top: 0.85rem;
}
.psc-coin-row__label {
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.02em;
	color: var(--marek-ink-light);
}
.psc-coin-row__icons {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 9px;
}
.psc-coin-row__icon {
	height: 26px;
	width: 26px;
	object-fit: contain;
	display: inline-block;
}

/* ── Footer (custom — replaces the empty Botiga builder footer) ────────────── */
.bhfb-footer { display: none !important; }   /* hide the empty builder footer */

.marek-footer {
	background: var(--marek-ink);
	color: #b9c3d4;
	font-family: 'Poppins', system-ui, sans-serif;
}

/* Animated wave divider (white page → navy footer). Transform-only animation. */
.marek-footer__waves {
	background: #ffffff;
	line-height: 0;
}
.marek-waves {
	display: block;
	width: 100%;
	height: 80px;
}
.marek-waves__parallax > use {
	animation: marek-wave-move 25s cubic-bezier(0.55, 0.5, 0.45, 0.5) infinite;
}
.marek-waves__parallax > use:nth-child(1) { animation-delay: -2s; animation-duration:  9s; }
.marek-waves__parallax > use:nth-child(2) { animation-delay: -3s; animation-duration: 13s; }
.marek-waves__parallax > use:nth-child(3) { animation-delay: -4s; animation-duration: 18s; }
.marek-waves__parallax > use:nth-child(4) { animation-delay: -5s; animation-duration: 24s; }
@keyframes marek-wave-move {
	0%   { transform: translate3d(-90px, 0, 0); }
	100% { transform: translate3d( 85px, 0, 0); }
}
@media (prefers-reduced-motion: reduce) {
	.marek-waves__parallax > use { animation: none; }
	.marek-waves { height: 48px; }
}

/* Layout */
.marek-footer__inner {
	max-width: 1140px;
	margin: 0 auto;
	padding: 1.5rem 24px 2.75rem;
	display: grid;
	grid-template-columns: 1.6fr 1fr 1fr 1.4fr;
	gap: 2.5rem;
}
@media (max-width: 900px) {
	.marek-footer__inner { grid-template-columns: 1fr 1fr; gap: 2rem; }
}
@media (max-width: 560px) {
	.marek-footer__inner { grid-template-columns: 1fr; gap: 1.75rem; }
}

/* Brand column */
.marek-footer__wordmark {
	font-family: 'Space Grotesk', sans-serif;
	font-weight: 700;
	font-size: 1.6rem;
	letter-spacing: 0.04em;
	color: #ffffff;
	line-height: 1;
}
.marek-footer__wordmark span {
	display: block;
	font-size: 0.7rem;
	font-weight: 500;
	letter-spacing: 0.5em;
	color: var(--marek-sky);
	margin-top: 5px;
}
.marek-footer__tagline {
	margin: 1rem 0 0.75rem;
	font-size: 0.92rem;
	line-height: 1.6;
	color: #a9b4c4;
}
.marek-footer__trust {
	margin: 0;
	font-size: 0.8rem;
	letter-spacing: 0.02em;
	color: var(--marek-sky);
}

/* Link columns */
.marek-footer .marek-footer__heading {
	font-family: 'Space Grotesk', sans-serif;
	font-size: 0.95rem !important;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: #ffffff !important;
	margin: 0 0 1rem;
}
.marek-footer__col ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
.marek-footer__col li { margin-bottom: 0.6rem; }
.marek-footer__col a,
.marek-footer__email {
	color: #b9c3d4;
	text-decoration: none;
	font-size: 0.92rem;
	transition: color 0.18s ease;
}
.marek-footer__col a:hover,
.marek-footer__col a:focus-visible,
.marek-footer__email:hover,
.marek-footer__email:focus-visible {
	color: #ffffff;
}
.marek-footer__contact-text {
	margin: 0 0 0.75rem;
	font-size: 0.9rem;
	line-height: 1.6;
	color: #a9b4c4;
}
.marek-footer__email {
	color: var(--marek-sky);
	font-weight: 500;
}

/* Payment options badge row */
.marek-footer__payments {
	margin-top: 1.35rem;
}
.marek-footer__pay-label {
	display: block;
	font-size: 0.72rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: #8b97a8;
	margin-bottom: 0.6rem;
}
.marek-paylist {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}
.marek-pay {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 36px;
	padding: 0 10px;
	background: #ffffff;
	border-radius: 7px;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.18);
}
.marek-pay img {
	max-height: 24px;
	max-width: 74px;
	width: auto;
	height: auto;
	display: block;
}
.marek-pay--placeholder {
	min-width: 48px;
	font-family: 'Space Grotesk', sans-serif;
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: #8a93a3;
	background: #ffffff;
	border: 1px dashed #c9d4e2;
}

/* Bottom bar */
.marek-footer__bottom {
	max-width: 1140px;
	margin: 0 auto;
	padding: 1.25rem 24px;
	border-top: 1px solid rgba(255, 255, 255, 0.12);
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 0.4rem 1.5rem;
	font-size: 0.8rem;
	color: #8b97a8;
}
.marek-footer__bottom p { margin: 0; }
.marek-footer__disclaimer { font-style: italic; }

/* ── Form focus states ────────────────────────────────────────────────────── */
input:focus,
textarea:focus,
select:focus {
	border-color: var(--marek-primary) !important;
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--marek-primary) 15%, transparent) !important;
	outline: none !important;
}

