:root {
	--norx-bg: #f7f9fc;
	--norx-surface: #ffffff;
	--norx-text: #1d2e4a;
	--norx-primary: #35507a;
	--norx-accent: #e8ae4c;
	--norx-sub: #56698a;
	--norx-line: #dee5ee;
	--norx-tint: #e7edf6;
	--norx-footer: #1d2e4a;
	--norx-radius-sm: 11px;
	--norx-radius: 18px;
	--norx-shadow: 0 16px 40px rgba(29, 46, 74, 0.08);
	--norx-shell: 1200px;
}

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

html {
	scroll-behavior: smooth;
}

body {
	margin: 0;
	background: var(--norx-bg);
	color: var(--norx-text);
	font-family: Archivo, Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: 16px;
	line-height: 1.65;
}

img {
	display: block;
	max-width: 100%;
	height: auto;
}

a {
	color: var(--norx-primary);
	text-decoration-thickness: 1px;
	text-underline-offset: 0.2em;
}

a:hover,
a:focus-visible {
	color: var(--norx-accent);
}

button,
input,
select,
textarea {
	font: inherit;
}

:focus-visible {
	outline: 3px solid color-mix(in srgb, var(--norx-accent) 70%, white);
	outline-offset: 3px;
}

.norx-shell {
	width: min(calc(100% - 40px), var(--norx-shell));
	margin-inline: auto;
}

.norx-skip-link {
	position: fixed;
	top: 12px;
	left: 12px;
	z-index: 1000;
	transform: translateY(-160%);
	padding: 10px 14px;
	border-radius: 8px;
	background: var(--norx-surface);
	color: var(--norx-text);
}

.norx-skip-link:focus {
	transform: none;
}

.norx-announcement {
	background: var(--norx-footer);
	color: rgba(255, 255, 255, 0.88);
	font-size: 13px;
}

.norx-announcement__inner {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	min-height: 34px;
	align-items: center;
	justify-content: center;
	text-align: center;
}

.norx-announcement a {
	color: var(--norx-accent);
	font-weight: 800;
	text-decoration: none;
	white-space: nowrap;
}

.norx-announcement a:hover,
.norx-announcement a:focus-visible {
	color: #f4c878;
	text-decoration: underline;
}

.norx-site-header {
	position: sticky;
	top: 0;
	z-index: 50;
	border-bottom: 1px solid var(--norx-line);
	background: var(--norx-surface);
}

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

.norx-site-header__inner {
	display: flex;
	gap: 28px;
	align-items: center;
	padding-block: 15px;
}

.norx-site-header__inner > *,
.norx-hero__grid > *,
.wc-block-cart__main,
.wc-block-cart__sidebar,
.wc-block-checkout__main,
.wc-block-checkout__sidebar {
	min-width: 0;
}

.norx-wordmark {
	display: inline-flex;
	align-items: baseline;
	font-size: 23px;
	font-weight: 800;
	letter-spacing: -0.04em;
	text-decoration: none;
	white-space: nowrap;
}

.norx-wordmark__lead {
	color: var(--norx-text);
}

.norx-wordmark__tail {
	color: #7e96b5;
	font-weight: 500;
}

.norx-wordmark__dot {
	color: var(--norx-accent);
}

.norx-wordmark .custom-logo-link,
.norx-wordmark .custom-logo {
	display: block;
	width: auto;
	max-height: 48px;
}

.norx-product-search {
	flex: 1;
	max-width: 340px;
}

.norx-product-search .woocommerce-product-search {
	position: relative;
}

.norx-product-search .woocommerce-product-search::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 17px;
	width: 13px;
	height: 13px;
	border: 2px solid var(--norx-sub);
	border-radius: 50%;
	opacity: 0.7;
	transform: translateY(-58%);
}

.norx-product-search .woocommerce-product-search::after {
	content: "";
	position: absolute;
	top: 25px;
	left: 30px;
	width: 6px;
	height: 2px;
	background: var(--norx-sub);
	opacity: 0.7;
	transform: rotate(45deg);
}

.norx-product-search input[type="search"] {
	width: 100%;
	height: 36px;
	min-height: 36px;
	padding: 9px 16px 9px 43px;
	border: 1px solid var(--norx-line);
	border-radius: 10px;
	background: var(--norx-bg);
	color: var(--norx-text);
}

.norx-product-search button {
	display: none;
}

.norx-primary-navigation {
	display: flex;
	align-items: center;
	gap: 24px;
	margin-left: auto;
}

.norx-primary-navigation__menu,
.norx-footer-menu {
	display: flex;
	gap: 24px;
	align-items: center;
	margin: 0;
	padding: 0;
	list-style: none;
}

.norx-primary-navigation a {
	color: var(--norx-text);
	font-size: 14.5px;
	font-weight: 500;
	line-height: 1.2;
	text-decoration: none;
	white-space: nowrap;
}

.norx-primary-navigation__menu li:first-child a {
	font-weight: 600;
}

.norx-cart-link {
	display: inline-flex;
	gap: 8px;
	align-items: center;
	padding: 10px 18px;
	border-radius: 9px;
	background: var(--norx-primary);
	color: white !important;
	font-weight: 600;
}

.norx-cart-count {
	display: inline-grid;
	min-width: 0;
	height: auto;
	padding: 1px 7px;
	place-items: center;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.18);
	font-size: 12.5px;
}

.norx-menu-toggle {
	display: none;
	width: 44px;
	height: 44px;
	padding: 10px;
	border: 1px solid var(--norx-line);
	border-radius: 10px;
	background: var(--norx-surface);
}

.norx-menu-toggle span[aria-hidden="true"] {
	display: block;
	height: 2px;
	margin: 4px 0;
	background: var(--norx-text);
}

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

.norx-commerce,
.norx-page-layout {
	padding-block: clamp(48px, 8vw, 96px);
}

.norx-hero {
	position: relative;
	overflow: hidden;
	border-bottom: 1px solid var(--norx-line);
	background:
		radial-gradient(circle at 80% 25%, rgba(232, 174, 76, 0.12), transparent 22%),
		linear-gradient(135deg, #f7f9fc 0%, #f1f5fa 100%);
}

.norx-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image: radial-gradient(rgba(29, 46, 74, 0.05) 1.2px, transparent 1.2px);
	background-size: 24px 24px;
	animation: norx-bg-dots-drift 40s linear infinite;
	pointer-events: none;
	z-index: 0;
}

.norx-hero__grid {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(380px, 0.9fr);
	gap: clamp(48px, 7vw, 96px);
	align-items: center;
	min-height: 610px;
	padding-block: 72px;
}

.norx-hero h1,
.norx-page-layout h1,
.norx-commerce h1 {
	margin: 18px 0 24px;
	font-family: Sora, Archivo, Inter, sans-serif;
	font-size: clamp(40px, 4.4vw, 60px);
	font-weight: 800;
	letter-spacing: -0.045em;
	line-height: 1.02;
	text-wrap: pretty;
}

.single .norx-page-layout h1 {
	font-size: clamp(36px, 4vw, 54px);
	line-height: 1.04;
}

.norx-eyebrow {
	display: inline-flex;
	margin: 0;
	padding: 7px 13px;
	border-radius: 999px;
	background: var(--norx-tint);
	color: var(--norx-primary);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.norx-hero__lede {
	max-width: 620px;
	margin: 0;
	color: var(--norx-sub);
	font-size: clamp(17px, 1.7vw, 20px);
}

.norx-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 32px;
}

.norx-button,
.norx-section-heading > a,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.wc-block-components-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 12px 24px;
	border: 1px solid var(--norx-primary) !important;
	border-radius: var(--norx-radius-sm) !important;
	background: var(--norx-primary) !important;
	color: white !important;
	font-weight: 750 !important;
	text-decoration: none;
	transition: transform 0.2s cubic-bezier(0.16, 1, 0.3, 1), background-color 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease !important;
}

.norx-button:hover,
.norx-section-heading > a:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.wc-block-components-button:hover {
	transform: translateY(-2px);
	box-shadow: 0 6px 18px rgba(29, 46, 74, 0.2);
}

.norx-button:active,
.norx-section-heading > a:active,
.woocommerce a.button:active,
.woocommerce button.button:active,
.woocommerce input.button:active,
.wc-block-components-button:active {
	transform: translateY(1px) scale(0.98);
}

.norx-button--secondary {
	background: var(--norx-surface) !important;
	color: var(--norx-text) !important;
}

.norx-fulfillment-hero {
	position: relative;
	min-width: 0;
	margin: 0;
	padding: clamp(8px, 1vw, 12px);
	border: 1px solid rgba(53, 80, 122, 0.12);
	border-radius: 28px;
	background: rgba(255, 255, 255, 0.72);
	box-shadow: var(--norx-shadow);
}

.norx-fulfillment-hero > img {
	width: 100%;
	aspect-ratio: 1.08;
	border-radius: 20px;
	object-fit: cover;
	object-position: 50% center;
}

.norx-fulfillment-progress {
	position: absolute;
	right: clamp(20px, 3vw, 28px);
	bottom: clamp(20px, 3vw, 28px);
	left: clamp(20px, 3vw, 28px);
	padding: 12px 16px 11px;
	border: 1px solid rgba(255, 255, 255, 0.2);
	border-radius: 14px;
	background: rgba(29, 46, 74, 0.9);
	box-shadow: 0 12px 28px rgba(18, 29, 47, 0.24);
	color: white;
	backdrop-filter: blur(10px);
}

.norx-fulfillment-progress__heading {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	font-size: 12px;
}

.norx-fulfillment-progress__heading span {
	color: rgba(255, 255, 255, 0.72);
	font-size: 10px;
}

.norx-fulfillment-progress__route {
	position: relative;
	height: 2px;
	margin: 11px 8% 8px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.34);
}

.norx-fulfillment-progress__marker {
	position: absolute;
	top: 50%;
	left: 0;
	display: grid;
	width: 28px;
	height: 28px;
	place-items: center;
	transform: translateY(-50%);
	border: 2px solid var(--norx-accent);
	border-radius: 9px;
	background: white;
	box-shadow: 0 0 0 4px rgba(232, 174, 76, 0.2);
	color: var(--norx-primary);
	animation: norx-fulfillment-route 10s ease-in-out infinite;
}

.norx-fulfillment-progress__icon {
	position: absolute;
	width: 18px;
	height: 18px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
	opacity: 0;
	transform: scale(0.65);
	animation-duration: 10s;
	animation-timing-function: linear;
	animation-iteration-count: infinite;
}

.norx-fulfillment-progress__icon--order {
	animation-name: norx-icon-order;
}

.norx-fulfillment-progress__icon--prepare {
	animation-name: norx-icon-prepare;
}

.norx-fulfillment-progress__icon--pack {
	animation-name: norx-icon-pack;
}

.norx-fulfillment-progress__icon--ship {
	animation-name: norx-icon-ship;
}

.norx-fulfillment-progress__icon--arrive {
	animation-name: norx-icon-arrive;
}

.norx-fulfillment-progress ol {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 6px;
	margin: 0;
	padding: 0;
	list-style: none;
	text-align: center;
}

.norx-fulfillment-progress li {
	color: rgba(255, 255, 255, 0.9);
	font-size: 10px;
	font-weight: 750;
}

@keyframes norx-fulfillment-route {
	0%, 14% { left: 0; }
	20%, 32% { left: calc(25% - 7px); }
	38%, 50% { left: calc(50% - 14px); }
	56%, 68% { left: calc(75% - 21px); }
	74%, 100% { left: calc(100% - 28px); }
}

@keyframes norx-icon-order {
	0%, 16% { opacity: 1; transform: scale(1); }
	20%, 100% { opacity: 0; transform: scale(0.65); }
}

@keyframes norx-icon-prepare {
	0%, 16% { opacity: 0; transform: scale(0.65); }
	20%, 34% { opacity: 1; transform: scale(1); }
	38%, 100% { opacity: 0; transform: scale(0.65); }
}

@keyframes norx-icon-pack {
	0%, 34% { opacity: 0; transform: scale(0.65); }
	38%, 52% { opacity: 1; transform: scale(1); }
	56%, 100% { opacity: 0; transform: scale(0.65); }
}

@keyframes norx-icon-ship {
	0%, 52% { opacity: 0; transform: scale(0.65); }
	56%, 70% { opacity: 1; transform: scale(1); }
	74%, 100% { opacity: 0; transform: scale(0.65); }
}

@keyframes norx-icon-arrive {
	0%, 70% { opacity: 0; transform: scale(0.65); }
	74%, 100% { opacity: 1; transform: scale(1); }
}

@keyframes norx-dot-grid-drift {
	0% {
		background-position: 0 0;
	}
	100% {
		background-position: 120px 0;
	}
}

@keyframes norx-bg-dots-drift {
	0% {
		background-position: 0 0;
	}
	100% {
		background-position: 24px 24px;
	}
}

@keyframes norx-header-dots-drift {
	0% {
		background-position: 0 0;
	}
	100% {
		background-position: 120px 0;
	}
}

@keyframes norx-loyalty-float {
	0%, 100% {
		transform: translateY(0);
	}
	50% {
		transform: translateY(-14px);
	}
}

@keyframes norx-loyalty-shimmer {
	0% {
		transform: translateX(-120%) skewX(-18deg);
	}
	60%, 100% {
		transform: translateX(320%) skewX(-18deg);
	}
}

@keyframes norx-loyalty-pulse-dot {
	0%, 100% {
		opacity: 0.45;
		transform: scale(1);
	}
	50% {
		opacity: 1;
		transform: scale(1.25);
	}
}

@keyframes norx-ambient-glow {
	0% {
		transform: scale(1) translate(0, 0);
		opacity: 0.5;
	}
	50% {
		transform: scale(1.12) translate(15px, -10px);
		opacity: 0.8;
	}
	100% {
		transform: scale(1) translate(0, 0);
		opacity: 0.5;
	}
}

@keyframes norx-pulse-dot {
	0%, 100% {
		transform: scale(1);
		opacity: 1;
	}
	50% {
		transform: scale(1.4);
		opacity: 0.6;
	}
}

@keyframes norx-spin-slow {
	0% {
		transform: rotate(0deg);
	}
	100% {
		transform: rotate(360deg);
	}
}

@media (prefers-reduced-motion: reduce) {
	.norx-fulfillment-progress__marker,
	.norx-fulfillment-progress__icon,
	.norx-loyalty-cta__dots,
	.norx-loyalty-cta__glow,
	.norx-loyalty-cta__ring,
	.norx-loyalty-cta__shimmer,
	.norx-sidebar-loyalty__dots,
	.norx-sidebar-loyalty__shimmer,
	.norx-loyalty-cta__badge::before,
	.norx-sidebar-loyalty__tag .norx-gold-dot,
	.norx-hero::before,
	.norx-shop-header__dots,
	.norx-blog-header__dots,
	.norx-search-header__dots {
		animation: none !important;
	}

	.norx-fulfillment-progress__marker {
		left: calc(100% - 28px);
	}

	.norx-fulfillment-progress__icon--arrive {
		opacity: 1;
		transform: scale(1);
	}

	.woocommerce ul.products li.product,
	.norx-card,
	.norx-product-card,
	.norx-home-category,
	.norx-step,
	.norx-post-card,
	.norx-button,
	.norx-btn-primary,
	.norx-dosage-tile,
	.norx-qty-btn,
	.woocommerce a.button,
	.woocommerce button.button {
		transition: none !important;
		transform: none !important;
	}
}

.norx-trust-strip {
	border-bottom: 1px solid var(--norx-line);
	background: var(--norx-surface);
}

.norx-trust-strip__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 20px;
	padding-block: 24px;
}

.norx-trust-strip__grid div {
	display: flex;
	gap: 9px;
	align-items: center;
	justify-content: center;
	color: var(--norx-sub);
	font-size: 14.5px;
	font-weight: 600;
}

.norx-trust-strip__grid div::before {
	content: "";
	width: 7px;
	height: 7px;
	flex: none;
	border-radius: 50%;
	background: var(--norx-primary);
}

.norx-loyalty-cta {
	position: relative;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	gap: 12px;
	padding: 26px;
	border-radius: 16px;
	background: linear-gradient(150deg, var(--norx-text), color-mix(in oklab, var(--norx-primary) 55%, var(--norx-text)));
	color: white;
	text-decoration: none !important;
	box-sizing: border-box;
}

.norx-home-category-grid + .norx-loyalty-cta {
	display: none;
}

.norx-loyalty-cta__dots {
	position: absolute;
	inset: 0;
	opacity: 0.16;
	background-image: radial-gradient(circle, var(--norx-accent) 1.3px, transparent 1.5px);
	background-size: 22px 22px;
	animation: norx-dot-grid-drift 7s linear infinite;
	pointer-events: none;
}

.norx-loyalty-cta__glow {
	position: absolute;
	top: -40px;
	right: -30px;
	width: 150px;
	height: 150px;
	border-radius: 50%;
	background: radial-gradient(circle, var(--norx-accent), transparent 65%);
	opacity: 0.35;
	animation: norx-loyalty-float 6s ease-in-out infinite;
	pointer-events: none;
}

.norx-loyalty-cta__ring {
	position: absolute;
	bottom: -46px;
	left: -30px;
	width: 120px;
	height: 120px;
	border: 2px dashed var(--norx-accent);
	border-radius: 50%;
	opacity: 0.3;
	animation: norx-spin-slow 22s linear infinite;
	pointer-events: none;
}

.norx-loyalty-cta__shimmer {
	position: absolute;
	top: 0;
	bottom: 0;
	width: 60px;
	background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.22), transparent);
	animation: norx-loyalty-shimmer 5.5s ease-in-out infinite;
	pointer-events: none;
}

.norx-loyalty-cta__badge,
.norx-loyalty-cta__title,
.norx-loyalty-cta__copy,
.norx-loyalty-cta__action {
	position: relative;
	z-index: 1;
}

.norx-loyalty-cta__badge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 4px 11px;
	border: 1px solid var(--norx-accent);
	border-radius: 999px;
	color: var(--norx-accent);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 1px;
	text-transform: uppercase;
}

.norx-loyalty-cta__badge::before {
	content: "";
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--norx-accent);
	animation: norx-loyalty-pulse-dot 2s ease-in-out infinite;
}

.norx-loyalty-cta__title {
	font-family: Sora, Archivo, sans-serif;
	font-size: 22px;
	font-weight: 700;
	letter-spacing: -0.4px;
	line-height: 1.2;
}

.norx-loyalty-cta__copy {
	font-size: 14px;
	line-height: 1.6;
	color: rgba(255, 255, 255, 0.8);
}

.norx-loyalty-cta__copy strong {
	color: var(--norx-accent);
	font-weight: 800;
}

.norx-loyalty-cta__action {
	display: inline-flex;
	align-items: center;
	margin-top: 4px;
	padding: 11px 20px;
	border-radius: 9px;
	background: var(--norx-accent);
	color: var(--norx-text);
	font-weight: 700;
	font-size: 14px;
	transition: transform 0.15s;
}

.norx-loyalty-cta:hover .norx-loyalty-cta__action {
	transform: translateY(-2px);
}

.norx-section {
	padding-block: clamp(56px, 8vw, 96px);
}

.norx-section--surface {
	border-block: 1px solid var(--norx-line);
	background: var(--norx-surface);
}

.norx-section-heading {
	display: flex;
	gap: 24px;
	align-items: end;
	justify-content: space-between;
	margin-bottom: 30px;
}

.norx-section-heading h2 {
	margin: 12px 0 0;
	font-family: Sora, Archivo, sans-serif;
	font-size: clamp(32px, 4vw, 48px);
	letter-spacing: -0.04em;
}

.norx-section-heading__lede {
	max-width: 52ch;
	margin: 10px 0 0;
	color: var(--norx-sub);
	font-size: 15.5px;
	line-height: 1.6;
}

.norx-step-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
}

.norx-step {
	display: flex;
	flex-direction: column;
	padding: clamp(24px, 3.5vw, 32px);
	border: 1px solid var(--norx-line);
	border-radius: var(--norx-radius);
	background: var(--norx-bg);
	transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.25s ease, border-color 0.25s ease;
}

.norx-step:hover {
	transform: translateY(-4px);
	border-color: color-mix(in srgb, var(--norx-primary) 35%, var(--norx-line));
	box-shadow: 0 12px 30px rgba(29, 46, 74, 0.08);
}

.norx-step__top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 20px;
}

.norx-step__num,
.norx-step > span {
	display: inline-grid;
	width: 38px;
	height: 38px;
	place-items: center;
	border-radius: 10px;
	background: var(--norx-primary);
	color: #ffffff;
	font-family: Sora, Archivo, sans-serif;
	font-size: 14px;
	font-weight: 800;
	letter-spacing: -0.02em;
	transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1), background-color 0.25s ease, color 0.25s ease;
}

.norx-step:hover .norx-step__num,
.norx-step:hover > span {
	transform: scale(1.08) rotate(-2deg);
}

.norx-step > span {
	margin-bottom: 18px;
}

.norx-step__pill {
	font-size: 12px;
	font-weight: 700;
	padding: 4px 10px;
	border-radius: 999px;
	letter-spacing: 0.01em;
}

.norx-step__pill--blue {
	color: var(--norx-primary);
	background: var(--norx-tint);
}

.norx-step__pill--gold {
	color: #8c5b00;
	background: color-mix(in srgb, var(--norx-accent) 22%, white);
}

.norx-step__pill--green {
	color: #175c35;
	background: #e9f7ef;
}

.norx-step h3 {
	margin: 0 0 10px;
	font-family: Sora, Archivo, sans-serif;
	font-size: 20px;
	letter-spacing: -0.02em;
	color: var(--norx-text);
}

.norx-step p {
	margin: 0;
	color: var(--norx-sub);
	font-size: 15px;
	line-height: 1.55;
}

.norx-step-reassurance {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	margin-top: 28px;
	font-size: 14px;
	color: var(--norx-sub);
	text-align: center;
}

.norx-step-reassurance a {
	font-weight: 700;
	color: var(--norx-primary);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.norx-step-reassurance a:hover {
	color: var(--norx-accent);
}

.norx-faq-layout {
	display: grid;
	grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
	gap: clamp(36px, 7vw, 88px);
}

.norx-faq-layout h2 {
	margin: 18px 0;
	font-family: Sora, Archivo, sans-serif;
	font-size: clamp(32px, 4vw, 48px);
	letter-spacing: -0.04em;
	line-height: 1.08;
}

.norx-faq-layout > div > p:last-child {
	color: var(--norx-sub);
}

.norx-faq-list {
	display: grid;
	gap: 12px;
}

.norx-faq-list details {
	padding: 20px 22px;
	border: 1px solid var(--norx-line);
	border-radius: var(--norx-radius-sm);
	background: var(--norx-surface);
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.norx-faq-list details:hover {
	border-color: rgba(29, 46, 74, 0.25);
	box-shadow: 0 4px 16px rgba(29, 46, 74, 0.04);
}

.norx-faq-list details[open] {
	border-color: var(--norx-primary);
	box-shadow: 0 6px 20px rgba(29, 46, 74, 0.06);
}

.norx-faq-list summary {
	cursor: pointer;
	font-weight: 750;
	transition: color 0.15s ease;
}

.norx-faq-list summary:hover {
	color: var(--norx-primary);
}

.norx-faq-list p {
	margin: 14px 0 0;
	color: var(--norx-sub);
}

.norx-faq-note {
	margin: 16px 0 0;
	padding: 12px 16px;
	border: 1px solid var(--norx-line);
	border-radius: 9px;
	background: var(--norx-tint);
	color: var(--norx-sub);
	font-size: 14px;
	line-height: 1.45;
}

.norx-faq-note strong {
	color: var(--norx-text);
}

.norx-card,
.woocommerce ul.products li.product,
.wc-block-grid__product {
	overflow: hidden;
	border: 1px solid var(--norx-line) !important;
	border-radius: var(--norx-radius) !important;
	background: var(--norx-surface);
	box-shadow: none;
}

.norx-home-category-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
	gap: 18px;
}

.norx-home-category {
	position: relative;
	display: flex;
	min-height: 178px;
	padding: 24px;
	flex-direction: column;
	gap: 10px;
	overflow: hidden;
	border: 1px solid var(--norx-line);
	border-radius: var(--norx-radius);
	background: var(--norx-surface);
	color: var(--norx-text);
	text-decoration: none;
	transition: transform 0.28s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.28s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.25s ease;
}

.norx-home-category:hover {
	transform: translateY(-4px);
	box-shadow: 0 14px 32px rgba(29, 46, 74, 0.1);
	border-color: rgba(29, 46, 74, 0.25);
	color: var(--norx-text);
}

.norx-home-category__glow {
	position: absolute;
	top: -30px;
	right: -30px;
	width: 120px;
	height: 120px;
	border-radius: 50%;
	background: radial-gradient(circle, var(--norx-primary), transparent 68%);
	opacity: 0.5;
	pointer-events: none;
	transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.5s ease;
}

.norx-home-category:hover .norx-home-category__glow {
	transform: scale(1.4);
	opacity: 0.8;
}

.norx-home-category--recovery-repair .norx-home-category__glow,
.norx-home-category--supplies .norx-home-category__glow {
	background: radial-gradient(circle, var(--norx-accent), transparent 68%);
}

.norx-home-category__icon {
	position: absolute;
	inset: 0;
	display: grid;
	place-items: center;
	overflow: hidden;
	color: var(--norx-primary);
	pointer-events: none;
}

.norx-home-category--recovery-repair .norx-home-category__icon,
.norx-home-category--supplies .norx-home-category__icon {
	color: var(--norx-accent);
}

.norx-home-category__icon svg {
	width: 235px;
	height: 235px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.2;
	stroke-linecap: round;
	stroke-linejoin: round;
	opacity: 0.087;
	transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.3s ease;
}

.norx-home-category:hover .norx-home-category__icon svg {
	transform: scale(1.12) rotate(3deg);
	opacity: 0.16;
}

.norx-home-category__count,
.norx-home-category > strong,
.norx-home-category__description,
.norx-home-category__link {
	position: relative;
}

.norx-home-category__count {
	align-self: flex-start;
	padding: 5px 11px;
	border-radius: 7px;
	background: var(--norx-primary);
	color: white;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.08em;
}

.norx-home-category--recovery-repair .norx-home-category__count,
.norx-home-category--supplies .norx-home-category__count {
	background: var(--norx-accent);
}

.norx-home-category > strong {
	margin-top: auto;
	font-family: Sora, Archivo, sans-serif;
	font-size: 20px;
	line-height: 1.2;
	letter-spacing: -0.02em;
}

.norx-home-category__description {
	color: var(--norx-sub);
	font-size: 13px;
	line-height: 1.5;
}

.norx-home-category__link {
	color: var(--norx-primary);
	font-size: 13.5px;
	font-weight: 700;
}

/* --- Shop Catalog Layout & Dot Matrix Header --- */
.norx-shop-page {
	padding-block: 0;
}

.norx-shop-header {
	position: relative;
	margin-bottom: 34px;
	padding: 0;
	overflow: hidden;
	border-bottom: 1px solid var(--norx-line);
	background: var(--norx-surface);
}

.norx-shop-header__content {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	row-gap: 14px;
	padding-block: 40px 34px;
}

.norx-shop-header__breadcrumb {
	display: flex;
	gap: 8px;
	align-items: center;
	color: var(--norx-sub);
	font-size: 13px;
	line-height: 1.4;
}

.norx-shop-header__breadcrumb a {
	color: var(--norx-sub);
	text-decoration: none;
}

.norx-shop-header__breadcrumb a:hover {
	color: var(--norx-primary);
	text-decoration: underline;
}

.norx-shop-header__breadcrumb span:last-child {
	color: var(--norx-text);
	font-weight: 600;
}

.norx-shop-header__dots,
.norx-blog-header__dots,
.norx-search-header__dots {
	position: absolute;
	inset: 0;
	opacity: 0.4;
	background-image: radial-gradient(circle, var(--norx-primary) 1.4px, transparent 1.6px);
	background-size: 30px 30px;
	background-position: 0 0;
	-webkit-mask-image: radial-gradient(ellipse 55% 90% at 88% 50%, #000 0%, transparent 70%);
	mask-image: radial-gradient(ellipse 55% 90% at 88% 50%, #000 0%, transparent 70%);
	pointer-events: none;
	animation: norx-header-dots-drift 9s linear infinite;
	z-index: 1;
}

.norx-commerce .norx-shop-header__title {
	margin: 0;
	font-family: Sora, Archivo, sans-serif;
	font-size: clamp(30px, 5vw, 42px);
	font-weight: 800;
	letter-spacing: -1.2px;
	line-height: 1.05;
	color: var(--norx-text);
}

.norx-shop-header__desc {
	max-width: 60ch;
	margin: 0;
	color: var(--norx-sub);
	font-size: 16px;
	line-height: 1.6;
}

.norx-shop-layout {
	display: grid;
	grid-template-columns: 244px minmax(0, 1fr);
	gap: 34px;
	align-items: start;
	margin-bottom: 64px;
}

.norx-shop-sidebar {
	position: sticky;
	top: 90px;
	display: flex;
	flex-direction: column;
	row-gap: 26px;
}

.norx-sidebar-block {
	display: flex;
	flex-direction: column;
	row-gap: 12px;
	margin: 0;
}

.norx-sidebar-block h3 {
	margin: 0;
	font-family: Sora, Archivo, sans-serif;
	font-size: 13px;
	font-weight: 700;
	line-height: 16.5px;
	letter-spacing: 0.6px;
	color: var(--norx-text);
	text-transform: uppercase;
}

.norx-sidebar-categories {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.norx-filter-title {
	margin: 0 0 12px;
	font-family: Archivo, sans-serif;
	font-size: 12px;
	font-weight: 800;
	line-height: 16.5px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--norx-sub);
}

.norx-category-filter-list {
	display: flex;
	flex-direction: column;
	gap: 3px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.norx-category-pill {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding: 8px 12px;
	border-radius: 9px;
	background: transparent;
	color: var(--norx-text);
	font-size: 14.5px;
	font-weight: 500;
	line-height: 17px;
	text-decoration: none;
	transition: background-color 0.15s ease, color 0.15s ease;
}

.norx-category-pill:hover {
	background: var(--norx-tint);
	color: var(--norx-primary);
}

.norx-category-pill.active {
	background: var(--norx-primary);
	color: #ffffff;
}

.norx-category-pill.is-active {
	background: #e7edf6;
	color: #1d2e4a;
	font-weight: 700;
}

.norx-filter-count {
	display: inline-grid;
	place-items: center;
	min-width: 0;
	padding: 1px 8px;
	border: 1px solid var(--norx-line);
	border-radius: 6px;
	background: var(--norx-bg);
	color: var(--norx-sub);
	font-size: 12px;
	font-weight: inherit;
	line-height: 13px;
}

.norx-category-pill.is-active .norx-filter-count {
	background: var(--norx-bg);
	color: var(--norx-sub);
}

.norx-filter-checks {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.norx-filter-check {
	display: flex;
	align-items: center;
	gap: 10px;
	color: var(--norx-text);
	font-size: 14.5px;
	font-weight: 400;
	line-height: 17px;
	cursor: pointer;
}

.norx-filter-check input[type="checkbox"] {
	width: 16px;
	height: 16px;
	accent-color: var(--norx-primary);
	cursor: pointer;
}

.norx-sidebar-divider {
	width: 100%;
	height: 1px;
	background: var(--norx-line);
}

.norx-sidebar-loyalty {
	position: relative;
	margin-top: 0;
	padding: 20px;
	border-radius: 14px;
	background: linear-gradient(150deg, var(--norx-text), color-mix(in oklab, var(--norx-primary) 55%, var(--norx-text)));
	color: #ffffff;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.norx-sidebar-loyalty__dots {
	position: absolute;
	inset: 0;
	opacity: 0.16;
	background-image: radial-gradient(circle, var(--norx-accent) 1.3px, transparent 1.5px);
	background-size: 22px 22px;
	animation: norx-dot-grid-drift 7s linear infinite;
	pointer-events: none;
}

.norx-sidebar-loyalty__shimmer {
	position: absolute;
	top: 0;
	bottom: 0;
	width: 50px;
	background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.22), transparent);
	animation: norx-loyalty-shimmer 5.5s ease-in-out infinite;
	pointer-events: none;
}

.norx-sidebar-loyalty__tag,
.norx-sidebar-loyalty h4,
.norx-sidebar-loyalty p,
.norx-sidebar-loyalty .norx-sidebar-loyalty__link {
	position: relative;
	z-index: 2;
}

.norx-sidebar-loyalty__tag {
	display: inline-flex;
	align-self: flex-start;
	align-items: center;
	gap: 6px;
	color: var(--norx-accent);
	font-size: 10px;
	font-weight: 800;
	line-height: 11px;
	letter-spacing: 1px;
	text-transform: uppercase;
}

.norx-gold-dot {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--norx-accent);
	animation: norx-loyalty-pulse-dot 2s ease-in-out infinite;
}

.norx-sidebar-loyalty h4 {
	margin: 0;
	font-family: Sora, Archivo, sans-serif;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.25;
	color: #ffffff;
}

.norx-sidebar-loyalty p {
	margin: 0;
	color: rgba(255, 255, 255, 0.8);
	font-size: 12.5px;
	line-height: 1.55;
}

.norx-sidebar-loyalty .norx-sidebar-loyalty__link {
	margin-top: 2px;
	color: var(--norx-accent);
	font-size: 13px;
	font-weight: 700;
	line-height: 15px;
	text-decoration: none;
}

/* --- Shop Product Grid Toolbar & Cards --- */
.norx-shop-toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	margin: 0 0 20px;
	padding-bottom: 4px;
}

.woocommerce .woocommerce-result-count {
	float: none;
	margin: 0;
	color: var(--norx-sub);
	font-size: 14px;
	font-weight: 400;
}

.woocommerce .woocommerce-result-count strong {
	color: var(--norx-text);
}

.norx-shop-toolbar__sort {
	display: flex;
	align-items: center;
	gap: 10px;
}

.norx-shop-toolbar__sort-label {
	color: var(--norx-sub);
	font-size: 13.5px;
	line-height: normal;
}

.woocommerce .woocommerce-ordering {
	float: none;
	margin: 0;
}

.woocommerce .woocommerce-ordering select.orderby {
	width: 102px;
	height: 36px;
	padding: 9px 28px 9px 14px;
	appearance: none;
	border: 1px solid var(--norx-line);
	border-radius: 9px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath fill='%2356698A' d='M0 0h10L5 6z'/%3E%3C/svg%3E");
	background-position: right 14px center;
	background-repeat: no-repeat;
	background-size: 10px 6px;
	background-color: var(--norx-surface);
	color: var(--norx-text);
	font-size: 13.5px;
	font-weight: 600;
	line-height: 16px;
	cursor: pointer;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.woocommerce .woocommerce-ordering select.orderby:focus {
	outline: none;
	border-color: var(--norx-accent);
	box-shadow: 0 0 0 3px rgba(232, 174, 76, 0.2);
}

.woocommerce ul.products {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
	gap: 18px;
	margin: 0;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after {
	display: none;
}

.woocommerce ul.products li.product {
	position: relative;
	float: none;
	display: flex;
	flex-direction: column;
	width: 100% !important;
	min-width: 0;
	margin: 0 !important;
	padding: 0 0 18px;
	border: 1px solid var(--norx-line);
	border-radius: 16px !important;
	background: var(--norx-surface);
	overflow: hidden;
	justify-self: stretch;
	transition: transform 0.28s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.28s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.25s ease;
}

.woocommerce ul.products li.product .woocommerce-LoopProduct-link {
	display: flex !important;
	flex: 1;
	flex-direction: column;
	color: inherit;
	text-decoration: none;
}

.woocommerce ul.products li.product:hover {
	transform: translateY(-5px);
	box-shadow: 0 16px 36px rgba(29, 46, 74, 0.12);
	border-color: rgba(29, 46, 74, 0.25);
}

.woocommerce ul.products[class*="columns-"] > li.product:nth-child(n) {
	float: none !important;
	clear: none !important;
	width: 100% !important;
	margin: 0 !important;
}

/* Badge Pills */
.norx-badge-pill {
	position: absolute;
	top: 12px;
	left: 12px;
	z-index: 4;
	padding: 5px 11px;
	border-radius: 6px;
	font-family: Archivo, sans-serif;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	line-height: 1;
}

.norx-badge-pill--best-seller {
	background: #1d2e4a;
	color: #ffffff;
}

.norx-badge-pill--new {
	background: #e8ae4c;
	color: #ffffff;
}

.woocommerce span.onsale,
.woocommerce ul.products li.product .onsale,
.woocommerce div.product .onsale,
.norx-sale-tab {
	position: absolute;
	top: 0;
	left: 16px;
	right: auto;
	bottom: auto;
	margin: 0;
	z-index: 4;
	display: block;
	width: auto;
	min-width: 0;
	min-height: 0;
	padding: 9px 12px 15px;
	clip-path: polygon(0 0, 100% 0, 100% 100%, 50% 82%, 0 100%);
	border-radius: 0;
	background: #b24a43;
	color: #ffffff;
	font-family: Sora, Archivo, sans-serif;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.04em;
	line-height: 1.05;
	text-align: center;
	box-sizing: border-box;
	transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.woocommerce ul.products li.product:hover .norx-sale-tab {
	transform: translateY(2px);
}

.woocommerce span.onsale small,
.woocommerce ul.products li.product .onsale small,
.woocommerce div.product .onsale small,
.norx-sale-tab small {
	display: block;
	font-family: Archivo, sans-serif;
	font-size: 9px;
	font-weight: 700;
	letter-spacing: 0.1em;
	opacity: 0.85;
	text-transform: uppercase;
}

.woocommerce ul.products li.product a img {
	display: block;
	width: 100%;
	margin: 0 0 16px;
	padding: 0;
	aspect-ratio: 1;
	background: #eef2f7;
	border-bottom: 1px solid var(--norx-line);
	object-fit: contain;
	object-position: center;
	transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.woocommerce ul.products li.product:hover a img {
	transform: scale(1.04);
}

.norx-product-card__category {
	margin: 0 18px 7px;
	color: var(--norx-primary);
	font-size: 11px;
	font-weight: 700;
	line-height: normal;
	letter-spacing: 0.8px;
	text-transform: uppercase;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
	margin: 0 18px 7px;
	color: var(--norx-text);
	font-family: Sora, Archivo, sans-serif;
	font-size: 17px;
	font-weight: 700;
	line-height: normal;
	letter-spacing: -0.02em;
}

.norx-product-card__excerpt {
	margin: 0 18px;
	color: var(--norx-sub);
	font-size: 13px;
	line-height: 1.5;
}

.woocommerce ul.products li.product .price {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 7px;
	flex-wrap: wrap;
	margin: auto 18px 7px;
	padding-top: 8px;
	color: var(--norx-text);
	font-size: 17px;
	font-weight: 800;
	line-height: normal;
}

.woocommerce ul.products li.product .price del {
	color: var(--norx-sub);
	font-size: 12.5px;
	opacity: 1;
}

.woocommerce ul.products li.product .price ins {
	order: -1;
	background: transparent;
	color: #b24a43;
	font-weight: 800;
	text-decoration: none;
}

.woocommerce ul.products li.product .norx-sale-savings {
	padding: 2px 7px;
	border-radius: 5px;
	background: rgba(178, 74, 67, 0.12);
	color: #b24a43;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.4;
	white-space: nowrap;
}

.norx-card-points {
	margin-left: auto;
	color: var(--norx-sub);
	font-size: 11px;
	font-weight: 600;
	line-height: normal;
	white-space: nowrap;
}

.woocommerce ul.products li.product .wlr-product-message,
.woocommerce ul.products li.product .wlr-loop-points-message,
.woocommerce ul.products li.product [class*="wlr-"] {
	display: none !important;
}

.woocommerce ul.products li.product .button {
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	width: calc(100% - 36px) !important;
	min-height: 0;
	box-sizing: border-box;
	margin: 0 18px !important;
	padding: 11px 0 !important;
	border-radius: 9px !important;
	background: var(--norx-primary) !important;
	color: #ffffff !important;
	font-size: 14px;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	transition: background-color 0.2s ease, transform 0.2s cubic-bezier(0.16, 1, 0.3, 1), color 0.2s ease, box-shadow 0.2s ease;
}

.woocommerce ul.products li.product .button:hover {
	background: #152238 !important;
	color: var(--norx-accent) !important;
	transform: translateY(-2px);
	box-shadow: 0 4px 14px rgba(29, 46, 74, 0.25);
}

.woocommerce ul.products li.product .button:active {
	transform: translateY(1px) scale(0.98);
}

/* --- Single Product Page Layout --- */
.woocommerce .woocommerce-breadcrumb {
	margin: 0 0 24px;
	padding: 0;
	color: var(--norx-sub);
	font-size: 13.5px;
	font-weight: 500;
	line-height: 1.4;
}

.woocommerce .woocommerce-breadcrumb a {
	color: var(--norx-sub);
	text-decoration: none;
	transition: color 0.15s ease;
}

.woocommerce .woocommerce-breadcrumb a:hover {
	color: var(--norx-primary);
	text-decoration: underline;
}

.norx-single-product-page .woocommerce div.product,
.woocommerce div.product {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr);
	gap: 48px;
	align-items: start;
	margin-bottom: 48px;
}

.woocommerce div.product div.images {
	position: relative;
	float: none;
	width: 100%;
	margin: 0;
	border: 1.5px solid var(--norx-line);
	border-radius: 14px;
	background: #eef2f7;
	overflow: hidden;
}

.woocommerce div.product div.images .woocommerce-product-gallery__image {
	position: relative;
	overflow: hidden;
	background: #eef2f7;
}

.woocommerce div.product div.images .woocommerce-product-gallery__image img {
	display: block;
	width: 100%;
	padding: 0;
	aspect-ratio: 1;
	object-fit: contain;
	object-position: center;
}

.woocommerce div.product div.images .woocommerce-product-gallery__trigger {
	position: absolute;
	top: 14px;
	right: 14px;
	z-index: 9;
	display: inline-grid;
	place-items: center;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	border: 1px solid var(--norx-line);
	background: rgba(255, 255, 255, 0.88);
	backdrop-filter: blur(4px);
	color: var(--norx-primary);
	text-decoration: none;
	box-shadow: 0 2px 8px rgba(29, 46, 74, 0.08);
	transition: transform 0.15s ease, background-color 0.15s ease, color 0.15s ease;
}

.woocommerce div.product div.images .woocommerce-product-gallery__trigger:hover {
	transform: scale(1.06);
	background: #ffffff;
	color: var(--norx-accent);
}

.woocommerce div.product div.summary {
	position: relative;
	float: none;
	width: 100%;
	margin: 0;
	padding: 0;
	border: none;
	background: transparent;
	box-shadow: none;
}

/* Single Product Details */
.norx-stock-strip {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 10px;
	color: var(--norx-sub);
	font-size: 13.5px;
}

.norx-stock-dot {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: #175c35;
}

.norx-stock-strip strong {
	color: #175c35;
	font-weight: 800;
	letter-spacing: 0.04em;
}

.norx-dot-sep {
	color: var(--norx-line);
}

.woocommerce div.product .product_title {
	margin: 0 0 10px;
	font-family: Sora, Archivo, sans-serif;
	font-size: clamp(32px, 3.8vw, 44px);
	font-weight: 800;
	line-height: 1.08;
	letter-spacing: -0.04em;
	color: var(--norx-text);
}

.norx-product-rating {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 16px;
}

.norx-stars {
	color: #e8ae4c;
	font-size: 16px;
	letter-spacing: 2px;
}

.norx-review-count {
	color: var(--norx-primary);
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
}

.norx-single-summary-desc {
	margin-bottom: 24px;
	color: var(--norx-sub);
	font-size: 15px;
	line-height: 1.6;
}

/* Dosage Selector Tiles */
.norx-dosage-selector {
	margin-bottom: 24px;
}

.norx-dosage-label {
	margin-bottom: 10px;
	color: var(--norx-sub);
	font-size: 13px;
}

.norx-dosage-label strong {
	color: var(--norx-text);
	font-weight: 800;
	letter-spacing: 0.06em;
}

.norx-label-sep {
	margin-inline: 4px;
	color: var(--norx-line);
}

.norx-dosage-tiles {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.norx-dosage-tile {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	min-width: 84px;
	padding: 10px 16px;
	border: 1.5px solid var(--norx-line);
	border-radius: 10px;
	background: var(--norx-surface);
	cursor: pointer;
	text-align: left;
	transition: transform 0.2s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
}

.norx-dosage-tile:hover {
	border-color: var(--norx-primary);
	transform: translateY(-2px);
}

.norx-dosage-tile:active {
	transform: scale(0.97);
}

.norx-dosage-tile.is-active {
	border-color: #e8ae4c;
	background: #fef8ee;
	box-shadow: 0 0 0 1px #e8ae4c;
}

.norx-tile-strength {
	margin-bottom: 2px;
	color: var(--norx-text);
	font-family: Sora, Archivo, sans-serif;
	font-size: 15px;
	font-weight: 700;
}

.norx-tile-price {
	color: var(--norx-sub);
	font-size: 13px;
	font-weight: 600;
}

.norx-dosage-tile.is-active .norx-tile-price {
	color: #92580a;
}

.norx-dosage-selector {
	display: none;
}

.norx-js-enhanced .norx-dosage-selector {
	display: block;
}

/* Hide native variations form rows when custom tiles are JS-enhanced */
.norx-js-enhanced .woocommerce div.product form.cart .variations {
	display: none !important;
}

/* Purchase Box Container */
.norx-purchase-box {
	margin-top: 20px;
	padding: 20px;
	border: 1px solid var(--norx-line);
	border-radius: 16px;
	background: var(--norx-surface);
	box-shadow: 0 4px 20px rgba(29, 46, 74, 0.03);
}

.norx-purchase-price-row {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 18px;
}

.norx-purchase-price-wrap {
	display: flex;
	align-items: baseline;
	gap: 10px;
}

.norx-dynamic-price {
	font-family: Sora, Archivo, sans-serif;
	font-size: 32px;
	font-weight: 800;
	letter-spacing: -0.03em;
	color: var(--norx-text);
}

.norx-price-unit {
	color: var(--norx-sub);
	font-size: 14px;
	font-weight: 500;
}

.norx-points-pill {
	padding: 6px 11px;
	border-radius: 8px;
	background: #fef3df;
	color: #b87714;
	font-size: 12.5px;
	font-weight: 700;
}

.woocommerce div.product form.cart {
	display: flex;
	align-items: stretch;
	gap: 12px;
	margin-bottom: 16px;
}

/* Quantity Stepper */
.norx-qty-stepper {
	display: inline-flex;
	align-items: center;
	height: 48px;
	border: 1.5px solid var(--norx-line);
	border-radius: 9px;
	background: var(--norx-surface);
}

.norx-qty-btn {
	display: grid;
	place-items: center;
	width: 38px;
	height: 100%;
	border: none;
	background: transparent;
	color: var(--norx-sub);
	font-size: 18px;
	font-weight: 600;
	cursor: pointer;
	transition: color 0.15s ease, transform 0.15s ease;
}

.norx-qty-btn:hover {
	color: var(--norx-text);
}

.norx-qty-btn:active {
	transform: scale(0.88);
}

.norx-qty-stepper input.qty {
	width: 44px !important;
	height: 100% !important;
	padding: 0 !important;
	border: none !important;
	background: transparent !important;
	color: var(--norx-text);
	font-size: 16px;
	font-weight: 700;
	text-align: center;
}

.woocommerce div.product form.cart .single_add_to_cart_button {
	flex: 1;
	height: 48px;
	min-height: 48px !important;
	padding: 0 24px !important;
	border-radius: 9px !important;
	background: #1d2e4a !important;
	color: #ffffff !important;
	font-size: 15.5px !important;
	font-weight: 700 !important;
	cursor: pointer;
	transition: background-color 0.2s ease, transform 0.2s cubic-bezier(0.16, 1, 0.3, 1), color 0.2s ease, box-shadow 0.2s ease !important;
}

.woocommerce div.product form.cart .single_add_to_cart_button:hover {
	background: #152238 !important;
	color: var(--norx-accent) !important;
	transform: translateY(-2px);
	box-shadow: 0 6px 18px rgba(29, 46, 74, 0.2);
}

.woocommerce div.product form.cart .single_add_to_cart_button:active {
	transform: translateY(1px) scale(0.98);
}

.norx-trust-checks {
	display: flex;
	flex: 0 0 100%;
	flex-wrap: wrap;
	gap: 8px 18px;
	padding-top: 0;
	border-top: 0;
	color: var(--norx-sub);
	font-size: 12.5px;
	font-weight: 600;
}

.norx-trust-checks span {
	display: inline-flex;
	align-items: center;
	gap: 4px;
}

.woocommerce div.product > .summary > .price,
.woocommerce div.product > .summary .wlr-product-message,
.woocommerce div.product .product_meta,
.woocommerce div.product .woocommerce-variation-price,
.woocommerce div.product .woocommerce-variation-availability,
.woocommerce div.product .stock.in-stock {
	display: none !important;
}

.woocommerce div.product > .woocommerce-tabs,
.woocommerce div.product > .related.products,
.woocommerce div.product > .upsells.products {
	grid-column: 1 / -1;
	width: 100%;
}

.woocommerce-tabs,
.related.products,
.upsells.products {
	clear: both;
	margin-top: 40px;
	padding-top: 32px;
	border-top: 1px solid var(--norx-line);
}

.woocommerce-tabs ul.tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 24px !important;
	padding: 0 0 2px !important;
	border-bottom: 2px solid var(--norx-line) !important;
	background: transparent !important;
	list-style: none !important;
}

.woocommerce-tabs ul.tabs::before,
.woocommerce-tabs ul.tabs::after {
	display: none !important;
}

.woocommerce-tabs ul.tabs li {
	float: none !important;
	margin: 0 0 -2px !important;
	padding: 0 !important;
	border: none !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

.woocommerce-tabs ul.tabs li::before,
.woocommerce-tabs ul.tabs li::after {
	display: none !important;
}

.woocommerce-tabs ul.tabs li a {
	display: inline-block;
	padding: 10px 18px !important;
	border-bottom: 2px solid transparent !important;
	font-family: Sora, Archivo, sans-serif !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	color: var(--norx-sub) !important;
	text-decoration: none !important;
	transition: color 0.2s ease, border-color 0.2s ease;
}

.woocommerce-tabs ul.tabs li:hover a {
	color: var(--norx-text) !important;
}

.woocommerce-tabs ul.tabs li.active a {
	color: var(--norx-primary) !important;
	border-bottom-color: var(--norx-accent) !important;
	background: transparent !important;
}

.woocommerce-tabs .woocommerce-Tabs-panel {
	margin: 0 !important;
	padding: 0 !important;
	border: none !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	background: transparent !important;
}

.woocommerce-tabs .woocommerce-Tabs-panel h2:first-child {
	margin: 0 0 16px;
	font-family: Sora, Archivo, sans-serif;
	font-size: 22px;
	letter-spacing: -0.02em;
	color: var(--norx-text);
}

.woocommerce-tabs .woocommerce-Tabs-panel p {
	margin: 0 0 16px;
	color: var(--norx-text);
	font-size: 15.5px;
	line-height: 1.65;
}

.woocommerce-tabs .woocommerce-Tabs-panel a:not([class]) {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin: 4px 8px 8px 0;
	padding: 8px 16px;
	border: 1px solid var(--norx-line);
	border-radius: var(--norx-radius-sm);
	background: var(--norx-surface);
	color: var(--norx-primary);
	font-weight: 700;
	font-size: 14px;
	text-decoration: none;
	transition: border-color 0.2s ease, box-shadow 0.2s ease, color 0.2s ease;
}

.woocommerce-tabs .woocommerce-Tabs-panel a:not([class]):hover {
	border-color: var(--norx-primary);
	color: var(--norx-accent);
	box-shadow: 0 4px 12px rgba(29, 46, 74, 0.08);
}

.wc-block-cart,
.wc-block-checkout {
	padding: clamp(16px, 3vw, 32px);
	border: 1px solid var(--norx-line);
	background: var(--norx-surface);
}

.wp-block-woocommerce-cart,
.wp-block-woocommerce-checkout,
.wc-block-components-sidebar-layout {
	max-width: 100%;
}

.wc-block-components-product-name,
.wc-block-components-address-card address,
.woocommerce address,
.woocommerce td,
.woocommerce th {
	overflow-wrap: anywhere;
}

.woocommerce div.product form.cart {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	align-items: center;
}

.woocommerce div.product form.cart.variations_form {
	display: block;
	margin: 0 0 20px;
}

.woocommerce div.product form.cart .variations {
	width: 100%;
	margin: 0 0 12px;
	border-collapse: collapse;
}

.woocommerce div.product form.cart .variations tbody,
.woocommerce div.product form.cart .variations tr,
.woocommerce div.product form.cart .variations th.label,
.woocommerce div.product form.cart .variations td.value {
	display: block !important;
	width: 100% !important;
}

.woocommerce div.product form.cart .variations th.label,
.woocommerce div.product form.cart .variations td.value {
	padding: 0 !important;
	text-align: left;
}

.woocommerce div.product form.cart .variations th.label {
	margin: 0 0 6px;
	line-height: 1.2;
}

.woocommerce div.product form.cart .variations th.label label {
	color: var(--norx-sub);
	font-size: 12.5px;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.woocommerce div.product form.cart .variations select {
	width: 100%;
	min-height: 44px;
	margin: 0;
	padding: 8px 42px 8px 12px;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.25;
	border: 1px solid var(--norx-line);
	border-radius: 9px;
	background-color: var(--norx-surface);
	color: var(--norx-text);
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.woocommerce div.product form.cart .variations select:focus {
	outline: none;
	border-color: var(--norx-accent);
	box-shadow: 0 0 0 3px rgba(232, 174, 76, 0.2);
}

.woocommerce div.product form.cart .reset_variations {
	display: inline-block;
	margin-top: 7px;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.3;
	color: var(--norx-sub);
	text-decoration: underline;
}

.woocommerce div.product form.cart .reset_variations:hover {
	color: var(--norx-primary);
}

.woocommerce div.product .woocommerce-variation-price .price {
	font-size: 22px;
	font-weight: 750;
	line-height: 1.25;
	color: var(--norx-primary);
}

.woocommerce div.product .woocommerce-variation-availability .stock {
	margin: 6px 0 0;
	padding: 0 !important;
	color: #175c35;
	font-size: 13.5px !important;
	font-weight: 600;
	line-height: 1.4;
}

.woocommerce div.product form.cart .woocommerce-variation-add-to-cart {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	align-items: center;
	margin-top: 16px;
}

.woocommerce div.product form.cart .quantity > .qty {
	width: 64px !important;
	height: 48px;
	padding: 8px;
	border: 1px solid var(--norx-line);
	border-radius: 9px;
	background: var(--norx-surface);
	font-size: 16px;
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
	color: var(--norx-text);
}

.woocommerce div.product form.cart .single_add_to_cart_button {
	min-height: 48px !important;
	padding: 12px 24px !important;
	border-radius: 9px !important;
	background: var(--norx-primary) !important;
	color: #ffffff !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	transition: background-color 0.2s ease, transform 0.15s ease, color 0.2s ease, box-shadow 0.2s ease;
}

.woocommerce div.product form.cart .single_add_to_cart_button:hover {
	background: var(--norx-footer) !important;
	color: var(--norx-accent) !important;
	box-shadow: 0 4px 12px rgba(29, 46, 74, 0.15);
}

.woocommerce div.product form.cart .single_add_to_cart_button.disabled,
.woocommerce div.product form.cart .single_add_to_cart_button:disabled {
	opacity: 0.55 !important;
	background: #9faec0 !important;
	color: #ffffff !important;
	cursor: not-allowed !important;
	box-shadow: none !important;
}

.woocommerce div.product .product_meta {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 18px;
	margin-top: 18px;
	padding-top: 16px;
	border-top: 1px solid var(--norx-line);
	color: var(--norx-sub);
	font-size: 13.5px;
	line-height: 1.5;
}

.woocommerce div.product .product_meta > span {
	display: inline-flex;
	flex-wrap: wrap;
	gap: 4px;
}

.woocommerce div.product .product_meta a {
	color: var(--norx-primary);
	text-decoration: none;
	font-weight: 600;
}

.woocommerce div.product .product_meta a:hover {
	color: var(--norx-accent);
	text-decoration: underline;
}

.wc-block-components-text-input input,
.wc-block-components-combobox .wc-block-components-combobox-control input,
.woocommerce input.input-text,
.woocommerce textarea,
.woocommerce select:not(.orderby) {
	border: 1px solid var(--norx-line) !important;
	border-radius: 9px !important;
	background: var(--norx-surface) !important;
}

.woocommerce-account .woocommerce {
	display: grid;
	grid-template-columns: minmax(190px, 0.3fr) minmax(0, 1fr);
	gap: 24px;
}

.woocommerce-account .woocommerce::before,
.woocommerce-account .woocommerce::after {
	display: none;
}

.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content {
	float: none;
	width: auto;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.woocommerce-account .woocommerce-MyAccount-navigation a {
	display: block;
	padding: 10px 0;
	border-bottom: 1px solid var(--norx-line);
	text-decoration: none;
}

.norx-prose {
	width: min(100%, 960px);
	margin-inline: auto;
}

.woocommerce-cart .norx-prose,
.woocommerce-checkout .norx-prose,
.woocommerce-account .norx-prose {
	width: 100%;
	max-width: none;
}

.norx-prose > :first-child {
	margin-top: 0;
}

.norx-prose h2,
.norx-prose h3 {
	font-family: Sora, Archivo, sans-serif;
	letter-spacing: -0.025em;
}

.norx-featured-image {
	margin-block: 30px;
	border-radius: var(--norx-radius);
}

.norx-prose .wp-block-table {
	overflow-x: auto;
}

.norx-prose table {
	width: 100%;
	border-collapse: collapse;
}

.norx-prose th,
.norx-prose td {
	padding: 14px 16px;
	border: 1px solid var(--norx-line);
	text-align: left;
}

.norx-prose .wp-block-details {
	margin-block: 12px;
	padding: 18px 20px;
	border: 1px solid var(--norx-line);
	border-radius: var(--norx-radius-sm);
	background: var(--norx-surface);
}

.norx-prose .wp-block-details summary {
	cursor: pointer;
	font-weight: 750;
}

.norx-testimonial-form {
	display: grid;
	gap: 10px;
	max-width: 680px;
	margin-top: 30px;
	padding: clamp(22px, 4vw, 36px);
	border: 1px solid var(--norx-line);
	border-radius: var(--norx-radius);
	background: var(--norx-surface);
}

.norx-testimonial-form label {
	font-weight: 750;
}

.norx-testimonial-form input,
.norx-testimonial-form textarea {
	width: 100%;
	padding: 11px 13px;
	border: 1px solid var(--norx-line);
	border-radius: 9px;
	background: var(--norx-bg);
}

.norx-testimonial-form button {
	justify-self: start;
	margin-top: 8px;
	padding: 11px 18px;
	border: 0;
	border-radius: 9px;
	background: var(--norx-primary);
	color: white;
	font-weight: 750;
	cursor: pointer;
}

.norx-testimonial-form__honeypot {
	position: absolute;
	left: -10000px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.norx-form-help {
	margin: -4px 0 8px;
	color: var(--norx-sub);
	font-size: 13px;
}

.norx-form-notice {
	max-width: 680px;
	margin-block: 20px;
	padding: 14px 16px;
	border-radius: 9px;
}

.norx-form-notice--success {
	background: #e9f7ef;
	color: #175c35;
}

.norx-form-notice--error {
	background: #fff0f0;
	color: #8a2020;
}

.norx-post-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
	padding-block: 72px;
}

.norx-post-card {
	padding: 24px;
}

.norx-home-post-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
}

.norx-home-post-grid .norx-post-card {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	padding: 0;
	border-radius: 14px !important;
	background: var(--norx-bg);
	transition: transform 0.28s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.28s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.25s ease;
}

.norx-home-post-grid .norx-post-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 14px 32px rgba(29, 46, 74, 0.1);
	border-color: rgba(29, 46, 74, 0.25);
}

.norx-home-post-card__image {
	display: block;
	width: 100%;
	margin-bottom: 0;
	overflow: hidden;
	border-radius: 0;
	background: var(--norx-tint);
}

.norx-home-post-card__image img {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 7;
	object-fit: cover;
	transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.norx-home-post-grid .norx-post-card:hover .norx-home-post-card__image img {
	transform: scale(1.04);
}

.norx-home-post-grid .norx-post-card > .norx-eyebrow {
	margin: 0;
	padding: 20px 22px 0;
	border-radius: 0;
	background: none;
	color: var(--norx-primary);
	font-size: 11.5px;
	font-weight: 700;
	letter-spacing: 1px;
	line-height: 1.2;
	text-transform: uppercase;
}

.norx-home-post-grid .norx-post-card > h3 {
	margin: 5px 0 0;
	padding-inline: 22px;
	font-family: inherit;
	font-size: 17.5px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: normal;
}

.norx-home-post-grid .norx-post-card > p:not(.norx-eyebrow) {
	margin: 7px 0 0;
	padding-inline: 22px;
	color: var(--norx-sub);
	font-size: 14px;
	line-height: 1.55;
}

.norx-home-post-grid .norx-text-link {
	align-self: flex-start;
	margin-top: auto;
	padding-inline: 22px;
	padding-top: 5px;
	padding-bottom: 20px;
	font-size: 13.5px;
	font-weight: 700;
	text-decoration: none;
}

.norx-home-post-grid .norx-text-link span {
	display: inline-block;
	transition: transform 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}

.norx-home-post-grid .norx-post-card:hover .norx-text-link span {
	transform: translateX(4px);
}

.norx-notice-section {
	padding-block: 56px;
}

.norx-notice {
	max-width: 920px;
}

.norx-notice h2 {
	margin: 0;
	font-family: Sora, Archivo, sans-serif;
	font-size: clamp(28px, 3vw, 42px);
	letter-spacing: -0.035em;
}

.norx-notice > p:last-child {
	margin: 12px 0 0;
	font-size: clamp(17px, 1.7vw, 21px);
	line-height: 1.65;
}

.norx-product-count {
	margin: -14px 0 24px;
	color: var(--norx-muted);
	font-size: 14px;
}

.norx-site-footer {
	margin-top: 0;
	background: var(--norx-footer);
	color: rgba(255, 255, 255, 0.72);
}

.norx-site-footer__inner {
	padding-block: 48px 20px;
}

.norx-site-footer__grid {
	display: grid;
	grid-template-columns: 1.4fr 1fr 1fr 1fr;
	gap: 32px;
}

.norx-site-footer__column {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 9px;
	font-size: 14px;
	line-height: 1.2;
}

.norx-site-footer__brand {
	gap: 12px;
}

.norx-site-footer__column h2 {
	margin: 0;
	color: #ffffff;
	font-family: Archivo, sans-serif;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.8px;
	line-height: 1.2;
}

.norx-site-footer__column a {
	color: rgba(255, 255, 255, 0.7);
	text-decoration: none;
}

.norx-site-footer__column a:hover,
.norx-site-footer__column a:focus-visible {
	color: var(--norx-accent);
	text-decoration: none;
}

.norx-wordmark--footer .norx-wordmark__lead {
	color: white;
}

.norx-wordmark--footer .norx-wordmark__tail {
	color: rgba(255, 255, 255, 0.6);
}

.norx-site-footer__inner p {
	max-width: 32ch;
	margin: 0;
	color: rgba(255, 255, 255, 0.55) !important;
	font-size: 13.5px;
	line-height: 1.6;
}

.norx-site-footer__legal {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 14px 20px;
	padding-block: 18px 20px;
	border-top: 1px solid rgba(255, 255, 255, 0.14);
	color: rgba(255, 255, 255, 0.6);
	font-size: 12.5px;
}

.norx-footer-payments {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.norx-pay-chip {
	padding: 4px 9px;
	border: 1px solid rgba(255, 255, 255, 0.2);
	border-radius: 5px;
	color: rgba(255, 255, 255, 0.55);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 1.4;
}

@media (max-width: 1024px) {
	.norx-hero__grid {
		grid-template-columns: minmax(0, 1.05fr) minmax(320px, 0.8fr);
	}

	.woocommerce ul.products {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 960px) {
	.norx-site-header__inner.norx-shell {
		width: 100%;
		max-width: none;
		padding-inline: 24px;
	}

	.norx-shop-header__content.norx-shell,
	.norx-shop-layout.norx-shell {
		width: 100%;
		max-width: none;
		padding-inline: 24px;
	}

	.norx-shop-header__content {
		padding-bottom: 38px;
	}

	.norx-shop-layout {
		grid-template-columns: 1fr;
		gap: 34px;
	}

	.norx-shop-sidebar {
		position: static;
	}

	.norx-site-footer__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 860px) {
	.norx-hero__grid {
		grid-template-columns: 1fr;
		min-height: 0;
		padding-block: 56px;
	}

	.norx-fulfillment-hero {
		width: 100%;
		max-width: none;
		margin-inline: auto;
	}

	.norx-trust-strip__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 16px 24px;
	}

	.norx-trust-strip__grid div {
		align-items: flex-start;
		justify-content: flex-start;
		text-align: left;
	}

	.norx-trust-strip__grid div::before {
		margin-top: calc((1.65em - 7px) / 2);
	}

	.norx-step-grid,
	.norx-faq-layout {
		grid-template-columns: 1fr;
	}

	.norx-step-reassurance {
		flex-direction: column;
		gap: 4px;
	}

	.norx-post-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.woocommerce div.product {
		grid-template-columns: 1fr;
		gap: 24px;
	}

	.woocommerce-account .woocommerce {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 760px) {
	.norx-site-header__inner {
		flex-wrap: wrap;
		row-gap: 10px;
	}

	.norx-product-search {
		display: none;
	}

	.norx-primary-navigation {
		display: flex;
		width: 100%;
		flex-wrap: wrap;
		gap: 12px 16px;
		margin-left: 0;
	}

	.norx-primary-navigation__menu {
		gap: 12px 16px;
	}

	.norx-primary-navigation a {
		padding: 0;
		font-size: 13.5px;
	}

	.norx-cart-link {
		padding: 8px 14px !important;
	}
}

@media (max-width: 520px) {
	.norx-site-footer__grid {
		grid-template-columns: 1fr;
	}

	.norx-home-category-grid {
		grid-template-columns: 1fr;
	}

	.norx-home-post-grid {
		grid-template-columns: 1fr;
	}

	.norx-shell {
		width: min(calc(100% - 32px), var(--norx-shell));
	}

	.norx-announcement__inner {
		min-height: 40px;
		padding-block: 6px;
	}

	.norx-fulfillment-progress {
		position: relative;
		right: auto;
		bottom: auto;
		left: auto;
		margin: -14px 8px 0;
		padding: 10px 11px 9px;
	}

	.norx-fulfillment-progress__heading span {
		display: none;
	}

	.admin-bar .norx-site-header {
		top: 46px;
	}

	.norx-wordmark {
		font-size: 20px;
	}

	.norx-hero h1,
	.norx-page-layout h1,
	.norx-commerce h1 {
		margin: 14px 0 20px;
		font-size: clamp(32px, 8.7vw, 34px);
		letter-spacing: -0.04em;
		line-height: 1.04;
	}

	.single .norx-page-layout h1 {
		font-size: clamp(30px, 8.2vw, 32px);
		line-height: 1.06;
	}

	.norx-actions {
		display: grid;
		grid-template-columns: 1fr;
	}

	.norx-section-heading,
	.norx-site-footer__inner {
		align-items: flex-start;
		flex-direction: column;
	}

	.norx-footer-menu {
		gap: 12px 18px;
	}

	.woocommerce ul.products,
	.norx-post-grid {
		grid-template-columns: 1fr;
	}

	.woocommerce div.product div.images,
	.woocommerce div.product div.summary {
		float: none;
		width: 100%;
	}

	.woocommerce div.product div.summary {
		padding: 20px;
	}

	.woocommerce div.product .product_title {
		font-size: 30px;
	}

	.woocommerce div.product .product_meta {
		display: grid;
		gap: 5px;
	}

	.wc-block-cart,
	.wc-block-checkout {
		padding: 12px;
	}

	.wc-block-cart-items td,
	.wc-block-components-order-summary-item {
		min-width: 0;
	}

	.woocommerce form .form-row-first,
	.woocommerce form .form-row-last {
		float: none;
		width: 100%;
	}
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
	}
}

.norx-section:has(> .norx-blog-heading) {
	border-top: 1px solid var(--norx-line);
	background: var(--norx-surface);
}

.norx-blog-heading {
	margin: 0;
	font-family: Sora, Archivo, sans-serif;
	font-size: 26px;
	font-weight: 700;
	letter-spacing: -0.5px;
	line-height: 1.25;
	color: var(--norx-text);
}

.norx-post-card h2 a,
.norx-post-card h3 a {
	text-decoration: none;
}

body.woocommerce-account .woocommerce:not(:has(.woocommerce-MyAccount-navigation)) {
	grid-template-columns: minmax(0, 1fr);
}

.woocommerce-account address {
	font-style: normal;
	line-height: 1.6;
}

.woocommerce-account .woocommerce-Address {
	display: flex;
	flex-direction: column;
}

.woocommerce-account .woocommerce-Address-title {
	display: contents;
}

.woocommerce-account .woocommerce-Address .edit {
	order: 2;
	margin-top: 12px;
	text-align: right;
	font-weight: 700;
	text-decoration: none;
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 18px;
	padding: 16px 24px;
}

.woocommerce-message > .button,
.woocommerce-info > .button,
.woocommerce-error > .button {
	flex: none;
	order: 2;
	margin-inline-start: auto;
}

.woocommerce-MyAccount-orders td .button,
table.my_account_orders td .button {
	margin-right: 8px;
	margin-bottom: 8px;
}

.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before {
	display: none;
}


.norx-section.norx-shell {
	position: relative;
}

.norx-section.norx-shell::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 100vw;
	background: inherit;
	z-index: -1;
}

#wll-site-launcher .wll-launcher-button-container {
	border: 2px solid var(--norx-bg);
}

@media (max-width: 699px) {
	#wll-site-launcher .wll-launcher-button-container {
		display: none !important;
	}
}

/* ==========================================================================
   404 Page & Error States
   ========================================================================== */

.norx-404-page {
	padding: 40px 0 80px 0;
}

.norx-error-card {
	position: relative;
	overflow: hidden;
	padding: 60px 40px;
	border: 1px solid var(--norx-line);
	border-radius: 16px;
	background: var(--norx-surface);
	text-align: center;
}

.norx-error-content {
	position: relative;
	z-index: 1;
	max-width: 540px;
	margin: 0 auto;
}

.norx-error-title {
	margin: 16px 0 12px 0;
	color: var(--norx-text);
	font-family: Sora, Archivo, sans-serif;
	font-size: clamp(28px, 4vw, 38px);
	font-weight: 800;
	letter-spacing: -0.03em;
}

.norx-error-desc {
	margin: 0 0 28px 0;
	color: var(--norx-sub);
	font-size: 16px;
	line-height: 1.6;
}

.norx-error-actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 14px;
}

.norx-btn-primary,
a.norx-btn-primary {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 48px;
	padding: 0 24px;
	border-radius: 9px;
	background: #1d2e4a;
	color: #ffffff !important;
	font-size: 15px;
	font-weight: 700;
	text-decoration: none;
	transition: all 0.2s ease;
}

.norx-btn-primary:hover,
a.norx-btn-primary:hover {
	background: #152238;
	color: var(--norx-accent) !important;
}

.norx-btn-outline,
a.norx-btn-outline {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 48px;
	padding: 0 24px;
	border: 1.5px solid var(--norx-line);
	border-radius: 9px;
	background: transparent;
	color: var(--norx-text) !important;
	font-size: 15px;
	font-weight: 700;
	text-decoration: none;
	transition: all 0.2s ease;
}

.norx-btn-outline:hover,
a.norx-btn-outline:hover {
	border-color: #1d2e4a;
	background: #f1f5f9;
}

/* ==========================================================================
   Search Results Page
   ========================================================================== */

.norx-search-results-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	margin-top: 28px;
}

@media (max-width: 1024px) {
	.norx-search-results-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 640px) {
	.norx-search-results-grid {
		grid-template-columns: 1fr;
	}
}

.norx-empty-search {
	padding: 60px 24px;
	border: 1px solid var(--norx-line);
	border-radius: 16px;
	background: var(--norx-surface);
	text-align: center;
	margin-top: 24px;
}

.norx-empty-search h2 {
	margin: 0 0 8px 0;
	color: var(--norx-text);
	font-family: Sora, Archivo, sans-serif;
	font-size: 24px;
	font-weight: 800;
}

.norx-empty-search p {
	max-width: 480px;
	margin: 0 auto 24px auto;
	color: var(--norx-sub);
	font-size: 15px;
	line-height: 1.6;
}

/* ==========================================================================
   Single Article & Blog Layout
   ========================================================================== */

.norx-article-container {
	max-width: 780px;
	margin: 0 auto;
	padding: 20px 0 60px 0;
}

.norx-article-breadcrumb {
	margin-bottom: 20px;
}

.norx-article-breadcrumb a {
	display: inline-flex;
	align-items: center;
	color: var(--norx-sub);
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
	transition: color 0.15s ease;
}

.norx-article-breadcrumb a:hover {
	color: var(--norx-primary);
}

.norx-badge-pill--article {
	position: static !important;
	display: inline-flex !important;
	background: #e7edf6;
	color: #1d2e4a;
}

.norx-article-header {
	margin-bottom: 28px;
}

.norx-article-meta {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 14px;
}

.norx-article-author {
	color: var(--norx-sub);
	font-size: 13.5px;
	font-weight: 600;
}

.norx-article-title {
	margin: 0;
	color: var(--norx-text);
	font-family: Sora, Archivo, sans-serif;
	font-size: clamp(28px, 4.5vw, 42px);
	font-weight: 800;
	line-height: 1.18;
	letter-spacing: -0.03em;
}

.norx-article-featured-img {
	margin-bottom: 32px;
	border-radius: 14px;
	overflow: hidden;
}

.norx-article-featured-img img {
	width: 100%;
	height: auto;
	display: block;
}

.norx-article-body {
	color: #2d3748;
	font-size: 17px;
	line-height: 1.75;
}

.norx-article-body p {
	margin-bottom: 20px;
}

.norx-article-body h2 {
	margin: 36px 0 16px 0;
	color: var(--norx-text);
	font-family: Sora, Archivo, sans-serif;
	font-size: 24px;
	font-weight: 800;
}

/* ==========================================================================
   WooCommerce Cart & Checkout Blocks & Classic Styling
   ========================================================================== */

/* Cart block empty state */
.wc-block-cart__empty-cart,
.wp-block-woocommerce-empty-cart-block,
.woocommerce-info.cart-empty {
	padding: 48px 24px !important;
	border: 1px solid var(--norx-line) !important;
	border-radius: 16px !important;
	background: #ffffff !important;
	text-align: center !important;
}

/* Customize empty cart title and shopping bag icon without hiding child recommendation blocks */
.with-empty-cart-icon::before {
	content: "" !important;
	display: block !important;
	width: 52px !important;
	height: 52px !important;
	margin: 0 auto 16px auto !important;
	background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="%231d2e4a" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M6 2L3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4z"></path><line x1="3" y1="6" x2="21" y2="6"></line><path d="M16 10a4 4 0 0 1-8 0"></path></svg>') no-repeat center center !important;
	background-size: contain !important;
	mask-image: none !important;
	-webkit-mask-image: none !important;
}

.wc-block-cart__empty-cart .wc-block-cart__empty-cart__image {
	display: none !important;
}

.wc-block-cart__empty-cart-title,
.wp-block-woocommerce-empty-cart-block .wp-block-heading {
	color: var(--norx-text) !important;
	font-family: Sora, Archivo, sans-serif !important;
	font-size: 24px !important;
	font-weight: 800 !important;
}

.wc-block-grid__product {
	border: 1px solid var(--norx-line) !important;
	border-radius: 14px !important;
	background: #ffffff !important;
	overflow: hidden !important;
	text-align: left !important;
	display: flex !important;
	flex-direction: column !important;
	padding: 16px !important;
}

.wc-block-grid__product-title,
.wc-block-grid__product-title a {
	font-family: Sora, Archivo, sans-serif !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	color: var(--norx-text) !important;
	margin: 0 0 6px 0 !important;
	text-decoration: none !important;
}

.wc-block-grid__product-price {
	margin: auto 16px 14px 16px !important;
	font-size: 16px !important;
	font-weight: 800 !important;
	color: var(--norx-text) !important;
	display: flex !important;
	align-items: baseline !important;
	flex-wrap: wrap !important;
	gap: 6px !important;
}

.wc-block-grid__product .wp-block-button {
	margin: 0 16px 16px 16px !important;
}

.wc-block-grid__product .wp-block-button__link {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	min-height: 42px !important;
	border-radius: 9px !important;
	background: #1d2e4a !important;
	color: #ffffff !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	text-align: center !important;
	text-decoration: none !important;
	transition: all 0.2s ease !important;
}

.wc-block-grid__product .wp-block-button__link:hover {
	background: #152238 !important;
	color: var(--norx-accent) !important;
}

/* Cart & Checkout Buttons */
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce-checkout #place_order {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	min-height: 50px !important;
	border-radius: 9px !important;
	background: #1d2e4a !important;
	color: #ffffff !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	border: none !important;
	cursor: pointer !important;
	transition: all 0.2s ease !important;
}

.wc-block-cart__submit-button:hover,
.wc-block-components-checkout-place-order-button:hover,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
.woocommerce-checkout #place_order:hover {
	background: #152238 !important;
	color: var(--norx-accent) !important;
}

/* Form inputs styling across cart, checkout, account, and forms */
.wc-block-components-text-input input,
.wc-block-components-combobox .wc-block-components-combobox-control input,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
input[type="text"],
input[type="email"],
input[type="password"],
input[type="tel"],
input[type="url"],
textarea,
select:not(.orderby) {
	border: 1.5px solid var(--norx-line) !important;
	border-radius: 9px !important;
	padding: 10px 14px !important;
	font-size: 15px !important;
	background: #ffffff !important;
	color: var(--norx-text) !important;
	outline: none !important;
	transition: border-color 0.15s ease, box-shadow 0.15s ease !important;
}

.wc-block-components-text-input input:focus,
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
input[type="text"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
input[type="tel"]:focus,
textarea:focus,
select:not(.orderby):focus {
	border-color: #1d2e4a !important;
	box-shadow: 0 0 0 3px rgba(29, 46, 74, 0.1) !important;
}

/* Cart & Checkout totals / order summary cards */
.wp-block-woocommerce-cart .wc-block-cart__totals,
.wp-block-woocommerce-checkout .wc-block-checkout__sidebar,
.woocommerce-cart .cart_totals,
.woocommerce-checkout #order_review {
	border: 1px solid var(--norx-line);
	border-radius: 14px;
	background: #ffffff;
	padding: 24px;
}

/* Custom form and testimonial page styling */
.norx-prose form input[type="file"] {
	border: 1.5px dashed var(--norx-line);
	border-radius: 9px;
	padding: 14px;
	background: #f8fafc;
	width: 100%;
	box-sizing: border-box;
}

.norx-prose form input[type="submit"],
.norx-prose form button[type="submit"] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	padding: 0 24px;
	border-radius: 9px;
	background: #1d2e4a;
	color: #ffffff;
	font-size: 15px;
	font-weight: 700;
	border: none;
	cursor: pointer;
	transition: all 0.2s ease;
}

.norx-prose form input[type="submit"]:hover,
.norx-prose form button[type="submit"]:hover {
	background: #152238;
	color: var(--norx-accent);
}

/* Loyalty program page table styling */
.norx-prose table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	margin: 20px 0;
	border: 1px solid var(--norx-line);
	border-radius: 12px;
	overflow: hidden;
}

.norx-prose table th {
	background: #f1f5f9;
	padding: 12px 16px;
	font-weight: 700;
	color: var(--norx-text);
	text-align: left;
	border-bottom: 1px solid var(--norx-line);
}

.norx-prose table td {
	padding: 12px 16px;
	border-bottom: 1px solid var(--norx-line);
	color: var(--norx-text);
}

.norx-prose table tr:last-child td {
	border-bottom: none;
}

.norx-prose details {
	border: 1px solid var(--norx-line);
	border-radius: 10px;
	padding: 14px 18px;
	margin-bottom: 10px;
	background: var(--norx-surface);
	transition: background 0.15s ease;
}

.norx-prose details[open] {
	background: #ffffff;
}

.norx-prose summary {
	font-weight: 700;
	color: var(--norx-text);
	cursor: pointer;
}

.norx-shipping-page {
	background: var(--norx-bg);
}

.norx-shipping-hero {
	position: relative;
	overflow: hidden;
	border-bottom: 1px solid var(--norx-line);
	background: var(--norx-surface);
}

.norx-shipping-hero::after {
	content: "";
	position: absolute;
	top: 32px;
	right: 0;
	width: 42%;
	height: calc(100% - 64px);
	background-image: radial-gradient(rgba(53, 80, 122, 0.12) 1.2px, transparent 1.2px);
	background-size: 24px 24px;
	pointer-events: none;
}

.norx-shipping-hero__inner {
	position: relative;
	z-index: 1;
	padding-block: 54px 58px;
}

.norx-shipping-breadcrumb {
	display: flex;
	gap: 10px;
	align-items: center;
	margin-bottom: 18px;
	color: var(--norx-sub);
	font-size: 13px;
}

.norx-shipping-breadcrumb a {
	color: var(--norx-sub);
	text-decoration: none;
}

.norx-shipping-breadcrumb a:hover {
	color: var(--norx-primary);
}

.norx-shipping-hero .norx-archive-eyebrow {
	display: block;
	margin-bottom: 12px;
}

.norx-shipping-hero h1 {
	max-width: 720px;
	margin: 0 0 16px;
	font-family: Sora, Archivo, sans-serif;
	font-size: clamp(32px, 4.6vw, 44px);
	font-weight: 800;
	letter-spacing: -0.035em;
	line-height: 1.08;
}

.norx-shipping-hero__desc {
	max-width: 680px;
	margin: 0;
	color: var(--norx-sub);
	font-size: 17px;
	line-height: 1.65;
}

.norx-shipping-updated {
	margin: 18px 0 0;
	color: var(--norx-sub);
	font-size: 13px;
}

.norx-shipping-content {
	max-width: 1080px;
	padding-block: 48px 80px;
	color: var(--norx-text);
}

.norx-shipping-intro {
	margin: 0 0 26px;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.75;
}

.norx-shipping-notice {
	display: grid;
	grid-template-columns: 8px 1fr;
	gap: 14px;
	align-items: start;
	margin-bottom: 36px;
	padding: 16px 18px;
	border-radius: 10px;
	background: var(--norx-tint);
}

.norx-shipping-notice > span {
	width: 7px;
	height: 7px;
	margin-top: 9px;
	border-radius: 50%;
	background: var(--norx-primary);
}

.norx-shipping-notice p {
	margin: 0;
}

.norx-shipping-content section {
	margin-top: 36px;
}

.norx-shipping-content h2 {
	margin: 0 0 12px;
	font-family: Sora, Archivo, sans-serif;
	font-size: clamp(24px, 3vw, 30px);
	font-weight: 800;
	letter-spacing: -0.025em;
	line-height: 1.15;
}

.norx-shipping-content section > p,
.norx-shipping-content li {
	line-height: 1.75;
}

.norx-shipping-table-wrap {
	overflow: hidden;
	margin-top: 20px;
	border: 1px solid var(--norx-line);
	border-radius: 12px;
	background: var(--norx-surface);
}

.norx-shipping-rates {
	width: 100%;
	border-collapse: collapse;
}

.norx-shipping-rates th,
.norx-shipping-rates td {
	width: 33.333%;
	padding: 15px 18px;
	border-bottom: 1px solid var(--norx-line);
	text-align: left;
}

.norx-shipping-rates th {
	background: var(--norx-tint);
	font-weight: 700;
}

.norx-shipping-rates td {
	color: var(--norx-sub);
}

.norx-shipping-rates tbody tr:last-child td {
	border-bottom: 0;
}

.norx-shipping-content ol {
	display: grid;
	gap: 8px;
	margin: 0;
	padding-left: 24px;
}

.norx-shipping-contact {
	margin: 42px 0 0;
	padding-top: 26px;
	border-top: 1px solid var(--norx-line);
}

.norx-shipping-contact a {
	font-weight: 700;
}

@media (max-width: 640px) {
	.norx-shipping-hero::after {
		width: 58%;
		opacity: 0.7;
	}

	.norx-shipping-hero__inner {
		padding-block: 38px 42px;
	}

	.norx-shipping-hero h1 {
		font-size: 32px;
	}

	.norx-shipping-hero__desc {
		font-size: 15.5px;
	}

	.norx-shipping-content {
		padding-block: 34px 56px;
	}

	.norx-shipping-rates thead {
		display: none;
	}

	.norx-shipping-rates,
	.norx-shipping-rates tbody,
	.norx-shipping-rates tr,
	.norx-shipping-rates td {
		display: block;
		width: 100%;
	}

	.norx-shipping-rates tr {
		padding: 12px 16px;
		border-bottom: 1px solid var(--norx-line);
	}

	.norx-shipping-rates tbody tr:last-child {
		border-bottom: 0;
	}

	.norx-shipping-rates td {
		display: grid;
		grid-template-columns: minmax(108px, 0.8fr) 1.2fr;
		gap: 12px;
		padding: 5px 0;
		border: 0;
	}

	.norx-shipping-rates td::before {
		content: attr(data-label);
		color: var(--norx-text);
		font-weight: 700;
	}
}
