/* ==========================================================================
   ShopMedX WooCommerce Styles
   ========================================================================== */

/* --------------------------------------------------------------------------
   Shop Hero
   -------------------------------------------------------------------------- */

.shopmedx-shop {
	background: var(--color-bg, #f8fafc);
}

.shopmedx-shop-hero {
	position: relative;
	background: var(--color-white);
	padding: 1.75rem 0 1.5rem;
	overflow: hidden;
	border-bottom: 1px solid var(--color-border);
}

.shopmedx-shop-hero__waves {
	position: absolute;
	top: 0;
	right: 0;
	width: min(42%, 420px);
	height: 100%;
	pointer-events: none;
	opacity: 0.55;
}

.shopmedx-shop-hero__waves svg {
	width: 100%;
	height: 100%;
}

.shopmedx-shop-hero__waves path {
	fill: none;
	stroke: #93c5fd;
	stroke-width: 1.5;
}

.shopmedx-shop-hero__breadcrumbs {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.375rem;
	font-size: 0.75rem;
	color: var(--color-text-muted);
	margin-bottom: 0.625rem;
}

.shopmedx-shop-hero__breadcrumbs a {
	color: var(--color-text-muted);
	text-decoration: none;
}

.shopmedx-shop-hero__breadcrumbs a:hover {
	color: var(--color-primary);
}

.shopmedx-shop-hero__sep {
	color: #cbd5e1;
}

.shopmedx-shop-hero__title {
	font-size: clamp(1.75rem, 3vw, 2.25rem);
	font-weight: 800;
	color: var(--color-navy);
	margin: 0 0 0.375rem;
	line-height: 1.15;
}

.shopmedx-shop-hero__count {
	margin: 0;
	font-size: 0.875rem;
	color: var(--color-text-muted);
}

/* --------------------------------------------------------------------------
   Shop Layout – Sidebar + Grid
   -------------------------------------------------------------------------- */

.shopmedx-shop {
	padding-bottom: 0;
}

.shopmedx-shop-layout {
	display: grid;
	grid-template-columns: 260px minmax(0, 1fr);
	gap: 1.25rem;
	padding-block: 1.25rem 2rem;
	align-items: start;
}

.shopmedx-shop-layout--no-filters {
	grid-template-columns: minmax(0, 1fr);
}

.shopmedx-shop-layout--no-filters .shopmedx-shop-filters {
	display: none;
}

.shopmedx-shop-filters {
	position: sticky;
	top: calc(var(--header-height, 72px) + 1rem);
	transition: opacity var(--transition), transform var(--transition);
}

.shopmedx-shop-filters.is-hidden {
	display: none;
}

.shopmedx-shop-filters__inner {
	padding: 1.125rem;
	background: var(--color-white);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-lg);
	box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}

.shopmedx-shop-filters__inner > .widget {
	margin-bottom: 0;
}

.shopmedx-filter-form {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.shopmedx-filter-group {
	border-bottom: 1px solid var(--color-border);
	padding-bottom: 0.75rem;
	margin-bottom: 0.75rem;
}

.shopmedx-filter-group:last-of-type {
	border-bottom: none;
	margin-bottom: 0;
}

.shopmedx-filter-group summary {
	font-weight: 700;
	font-size: 0.6875rem;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--color-navy);
	cursor: pointer;
	padding: 0.625rem 0;
	list-style: none;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.shopmedx-filter-group summary::-webkit-details-marker {
	display: none;
}

.shopmedx-filter-group summary::after {
	content: '−';
	font-size: 1rem;
	color: var(--color-text-muted);
}

.shopmedx-filter-group:not([open]) summary::after {
	content: '+';
}

.shopmedx-filter-list {
	display: flex;
	flex-direction: column;
	gap: 0.375rem;
	padding-top: 0.375rem;
}

.shopmedx-filter-list li label {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.75rem;
	color: var(--color-text);
	cursor: pointer;
	padding: 0.25rem 0;
}

.shopmedx-filter-list__count {
	margin-left: auto;
	color: var(--color-text-muted);
	font-size: 0.6875rem;
}

.shopmedx-filter-more {
	display: inline-flex;
	align-items: center;
	gap: 0.25rem;
	margin-top: 0.5rem;
	padding: 0;
	border: none;
	background: none;
	font-size: 0.75rem;
	font-weight: 600;
	color: var(--color-primary);
	cursor: pointer;
}

.shopmedx-filter-more__icon {
	width: 0.875rem;
	height: 0.875rem;
}

.shopmedx-filter-stars {
	color: #f59e0b;
	letter-spacing: -0.05em;
	font-size: 0.75rem;
}

.shopmedx-price-filter {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	padding-top: 0.5rem;
}

.shopmedx-price-filter__range {
	width: 100%;
	height: 6px;
	accent-color: var(--color-primary);
	cursor: pointer;
}

.shopmedx-price-filter__inputs {
	display: flex;
	align-items: center;
	gap: 0.5rem;
}

.shopmedx-price-filter__box {
	flex: 1;
	padding: 0.375rem 0.625rem;
	border: 1px solid var(--color-border);
	border-radius: var(--radius-sm);
	font-size: 0.75rem;
	color: var(--color-text);
	background: var(--color-white);
	text-align: center;
}

.shopmedx-price-filter__sep {
	font-size: 0.6875rem;
	color: var(--color-text-muted);
}

.shopmedx-filter-clear {
	border: none;
	background: none;
	padding: 0;
	font-size: 0.75rem;
	font-weight: 600;
	color: var(--color-text-muted);
	cursor: pointer;
}

.shopmedx-filter-clear:hover {
	color: var(--color-navy);
}

.shopmedx-filter-apply {
	padding: 0.5rem 1rem !important;
	font-size: 0.75rem !important;
	border-radius: var(--radius-sm) !important;
}

.shopmedx-filter-list input[type="checkbox"] {
	width: 16px;
	height: 16px;
	accent-color: var(--color-primary);
	flex-shrink: 0;
}

.shopmedx-price-filter {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	padding-top: 0.375rem;
}

.shopmedx-price-filter input[type="number"] {
	width: 100%;
	padding: 0.5rem 0.75rem;
	border: 1px solid var(--color-border);
	border-radius: var(--radius-sm);
}

.shopmedx-shop-filters__actions {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	margin-top: 1rem;
	padding-top: 1rem;
	border-top: 1px solid var(--color-border);
}

.shopmedx-shop-content {
	min-width: 0;
}

.shopmedx-shop-toolbar {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 1rem;
	margin-bottom: 1rem;
	padding: 0;
	background: transparent;
	border: none;
	border-radius: 0;
}

.shopmedx-shop-toolbar__filters-btn {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.5rem 0.875rem;
	background: #eff6ff;
	border: 1px solid #dbeafe;
	border-radius: var(--radius-sm);
	font-size: 0.8125rem;
	font-weight: 600;
	color: var(--color-primary);
	cursor: pointer;
	transition: background var(--transition), border-color var(--transition);
}

.shopmedx-shop-toolbar__filters-btn:hover {
	background: #dbeafe;
}

.shopmedx-shop-toolbar__filters-icon {
	width: 1rem;
	height: 1rem;
}

.shopmedx-shop-toolbar__controls {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.875rem;
	margin-left: auto;
}

.shopmedx-shop-toolbar__sort {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.8125rem;
	color: var(--color-text-muted);
}

.shopmedx-shop-toolbar .woocommerce-ordering {
	margin: 0;
}

.shopmedx-shop-toolbar .woocommerce-ordering select {
	padding: 0.375rem 2rem 0.375rem 0.75rem;
	border: 1px solid var(--color-border);
	border-radius: var(--radius-sm);
	font-size: 0.875rem;
	background: var(--color-white);
	cursor: pointer;
}

.shopmedx-shop-toolbar .woocommerce-result-count {
	font-size: 0.8125rem;
	color: var(--color-text-muted);
	margin: 0;
}

.shopmedx-view-toggle {
	display: flex;
	border: 1px solid var(--color-border);
	border-radius: var(--radius-sm);
	overflow: hidden;
}

.shopmedx-view-toggle button {
	width: 34px;
	height: 34px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--color-white);
	border: none;
	cursor: pointer;
	color: var(--color-text-muted);
	transition: background var(--transition), color var(--transition);
}

.shopmedx-view-toggle__icon {
	width: 1rem;
	height: 1rem;
}

.shopmedx-shop-toolbar__pager {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	margin-left: 0.5rem;
	padding-left: 0.75rem;
	border-left: 1px solid var(--color-border);
}

.shopmedx-shop-toolbar__range {
	font-size: 0.75rem;
	color: var(--color-text-muted);
	white-space: nowrap;
}

.shopmedx-shop-toolbar__pager-nav {
	display: flex;
	align-items: center;
	gap: 0.25rem;
}

.shopmedx-shop-toolbar__arrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border: 1px solid var(--color-border);
	border-radius: var(--radius-sm);
	background: var(--color-white);
	color: var(--color-text);
	text-decoration: none;
	transition: border-color var(--transition), color var(--transition);
}

.shopmedx-shop-toolbar__arrow svg {
	width: 0.875rem;
	height: 0.875rem;
}

.shopmedx-shop-toolbar__arrow:hover:not(.is-disabled) {
	border-color: var(--color-primary);
	color: var(--color-primary);
}

.shopmedx-shop-toolbar__arrow.is-disabled {
	opacity: 0.35;
	cursor: default;
}

.shopmedx-view-toggle button.is-active {
	background: var(--color-primary);
	color: var(--color-white);
}

.shopmedx-view-toggle button + button {
	border-left: 1px solid var(--color-border);
}

/* --------------------------------------------------------------------------
   Product Loop Grid
   -------------------------------------------------------------------------- */

.woocommerce ul.products,
.shopmedx-shop-content ul.products {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 1rem;
	margin: 0 0 2rem;
	padding: 0;
	list-style: none;
}

.shopmedx-shop-layout--no-filters .shopmedx-shop-content ul.products {
	grid-template-columns: repeat(5, minmax(0, 1fr));
}

/* Shop product cards */
.shopmedx-product-card__inner--shop {
	border-radius: 0.75rem;
	border-color: #e2e8f0;
	padding: 1rem;
	height: 100%;
}

.shopmedx-product-card__inner--shop .shopmedx-product-card__wishlist {
	top: 0.75rem;
	right: 0.75rem;
	width: auto;
	height: auto;
	padding: 0;
	border: none;
	background: transparent;
	color: #94a3b8;
}

.shopmedx-product-card__inner--shop .shopmedx-product-card__wishlist svg {
	width: 1rem;
	height: 1rem;
}

.shopmedx-product-card__inner--shop .shopmedx-product-card__image-link {
	aspect-ratio: auto;
	height: 9.5rem;
	margin-bottom: 0.75rem;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #fff;
}

.shopmedx-product-card__inner--shop .shopmedx-product-card__image {
	width: auto;
	height: auto;
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
	transform: none;
}

.shopmedx-product-card__inner--shop:hover .shopmedx-product-card__image {
	transform: none;
}

.shopmedx-product-card__inner--shop .shopmedx-product-card__body {
	padding: 0;
	gap: 0.75rem;
	flex: 1;
}

.shopmedx-product-card__inner--shop .shopmedx-product-card__category {
	font-size: 0.5625rem;
	font-weight: 700;
	color: #94a3b8;
	letter-spacing: 0.08em;
}

.shopmedx-product-card__inner--shop .shopmedx-product-card__title {
	font-size: 0.75rem;
	line-height: 1.35;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.shopmedx-product-card__inner--shop .shopmedx-product-card__rating {
	margin-top: 0.375rem;
}

.shopmedx-product-card__inner--shop .shopmedx-stars {
	font-size: 0.6875rem;
	line-height: 1;
}

.shopmedx-product-card__inner--shop .shopmedx-stars__full {
	color: #f59e0b;
}

.shopmedx-product-card__inner--shop .shopmedx-stars__empty {
	color: #d1d5db;
}

.shopmedx-product-card__inner--shop .shopmedx-product-card__review-count {
	font-size: 0.625rem;
	color: var(--color-text-muted);
}

.shopmedx-product-card__inner--shop .shopmedx-product-card__footer {
	margin-top: auto;
}

.shopmedx-product-card__inner--shop .shopmedx-product-card__price-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem;
	margin-bottom: 0.625rem;
}

.shopmedx-product-card__inner--shop .shopmedx-product-card__price {
	font-size: 0.875rem;
	margin: 0;
}

.shopmedx-product-card__inner--shop .shopmedx-product-card__stock {
	font-size: 0.6875rem;
	font-weight: 600;
	color: #059669;
}

.shopmedx-product-card__inner--shop .shopmedx-product-card__actions {
	gap: 0.5rem;
}

.shopmedx-product-card__inner--shop .shopmedx-qty {
	display: flex;
	align-items: center;
	border: 1px solid #cbd5e1;
	border-radius: var(--radius-sm);
	background: #f8fafc;
	overflow: hidden;
	flex-shrink: 0;
}

.shopmedx-product-card__inner--shop .shopmedx-qty button {
	width: 28px;
	height: 32px;
	border: none;
	background: transparent;
	color: var(--color-text-muted);
	cursor: pointer;
	font-size: 0.875rem;
}

.shopmedx-product-card__inner--shop .shopmedx-qty input {
	width: 32px;
	height: 32px;
	border: none;
	background: transparent;
	text-align: center;
	font-size: 0.75rem;
	padding: 0;
	-moz-appearance: textfield;
}

.shopmedx-product-card__inner--shop .shopmedx-qty input::-webkit-outer-spin-button,
.shopmedx-product-card__inner--shop .shopmedx-qty input::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.shopmedx-product-card__inner--shop .shopmedx-product-card__actions .shopmedx-btn {
	flex: 1;
	padding: 0.4375rem 0.625rem;
	font-size: 0.6875rem;
	font-weight: 600;
	border-radius: var(--radius-sm);
	white-space: nowrap;
}

/* Shop footer trust bar */
.shopmedx-shop-trust-bar {
	background: var(--color-white);
	border-top: 1px solid var(--color-border);
	border-bottom: 1px solid var(--color-border);
	padding: 1.5rem 0;
	margin-top: 0.5rem;
}

.shopmedx-shop-trust-bar__grid {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 1.25rem;
	align-items: center;
}

.shopmedx-shop-trust-bar__item {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	min-width: 0;
}

.shopmedx-shop-trust-bar__icon {
	flex-shrink: 0;
	width: 2.5rem;
	height: 2.5rem;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid #bfdbfe;
	border-radius: var(--radius-md);
	background: rgba(239, 246, 255, 0.6);
	color: var(--color-primary);
}

.shopmedx-shop-trust-bar__svg {
	width: 1.25rem;
	height: 1.25rem;
}

.shopmedx-shop-trust-bar__title {
	font-size: 0.75rem;
	font-weight: 700;
	color: var(--color-navy);
	line-height: 1.25;
}

.shopmedx-shop-trust-bar__subtitle {
	font-size: 0.6875rem;
	color: var(--color-text-muted);
	line-height: 1.3;
}

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

.woocommerce ul.products li.product,
.woocommerce ul.products li.shopmedx-product-card {
	width: auto !important;
	margin: 0 !important;
	float: none !important;
}

.woocommerce ul.products.shopmedx-view-list {
	grid-template-columns: 1fr;
	gap: 1rem;
}

.woocommerce ul.products.shopmedx-view-list li.product .shopmedx-product-card__inner,
.woocommerce ul.products.shopmedx-view-list li.shopmedx-product-card .shopmedx-product-card__inner {
	flex-direction: row;
}

.woocommerce ul.products.shopmedx-view-list .shopmedx-product-card__image-link {
	flex: 0 0 160px;
	aspect-ratio: 1;
}

.woocommerce ul.products.shopmedx-view-list .shopmedx-product-card__body {
	flex: 1;
	display: grid;
	grid-template-columns: 1fr auto;
	grid-template-rows: auto auto auto;
	gap: 0.25rem 1rem;
	align-content: center;
}

.woocommerce ul.products.shopmedx-view-list .shopmedx-product-card__category {
	grid-column: 1;
}

.woocommerce ul.products.shopmedx-view-list .shopmedx-product-card__title {
	grid-column: 1;
}

.woocommerce ul.products.shopmedx-view-list .shopmedx-product-card__rating {
	grid-column: 1;
}

.woocommerce ul.products.shopmedx-view-list .shopmedx-product-card__price {
	grid-column: 2;
	grid-row: 1 / 4;
	align-self: center;
	font-size: 1.25rem;
}

.woocommerce ul.products.shopmedx-view-list .shopmedx-product-card__stock {
	grid-column: 1;
}

.woocommerce ul.products.shopmedx-view-list .shopmedx-product-card__actions {
	grid-column: 1 / -1;
	justify-content: flex-start;
}

/* --------------------------------------------------------------------------
   Single Product (PDP)
   -------------------------------------------------------------------------- */

.shopmedx-single-product-page {
	background: var(--color-bg);
	padding-bottom: 0;
}

.shopmedx-single-product-page .shopmedx-container {
	padding-block: 1.5rem 2rem;
}

.shopmedx-pdp-breadcrumbs {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding-bottom: 0.875rem;
	margin-bottom: 1rem;
	border-bottom: 1px solid var(--color-border);
	font-size: 0.75rem;
	color: var(--color-text-muted);
}

.shopmedx-pdp-breadcrumbs__trail {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.375rem;
}

.shopmedx-pdp-breadcrumbs__trail a {
	color: var(--color-text-muted);
	text-decoration: none;
}

.shopmedx-pdp-breadcrumbs__trail a:hover {
	color: var(--color-primary);
}

.shopmedx-pdp-breadcrumbs__chev {
	width: 0.75rem;
	height: 0.75rem;
	color: #cbd5e1;
}

.shopmedx-pdp-breadcrumbs__current {
	font-weight: 600;
	color: var(--color-navy);
	max-width: 28rem;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.shopmedx-pdp-breadcrumbs__back {
	display: inline-flex;
	align-items: center;
	gap: 0.375rem;
	font-size: 0.75rem;
	font-weight: 600;
	color: var(--color-primary);
	text-decoration: none;
	white-space: nowrap;
}

.shopmedx-pdp-breadcrumbs__back:hover {
	color: var(--color-primary-dark);
	text-decoration: underline;
}

.shopmedx-pdp-breadcrumbs__back-icon {
	width: 0.875rem;
	height: 0.875rem;
}

.shopmedx-pdp-showcase {
	background: var(--color-white);
	border: 1px solid var(--color-border);
	border-radius: 1rem;
	padding: 1.25rem;
	margin-bottom: 2rem;
	box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}

.shopmedx-pdp-showcase__grid {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	gap: 2rem;
	align-items: start;
}

.shopmedx-pdp-gallery__main {
	position: relative;
	background: linear-gradient(180deg, #f8fafc 0%, #fff 100%);
	border: 1px solid var(--color-border);
	border-radius: 0.875rem;
	min-height: 22rem;
	padding: 2rem;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 0.875rem;
}

.shopmedx-pdp-gallery__badges {
	position: absolute;
	top: 0.75rem;
	left: 0.75rem;
	display: flex;
	flex-direction: column;
	gap: 0.375rem;
	z-index: 2;
}

.shopmedx-pdp-badge {
	display: inline-flex;
	align-items: center;
	gap: 0.375rem;
	padding: 0.25rem 0.625rem;
	border-radius: 0.25rem;
	font-size: 0.625rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.shopmedx-pdp-badge--grade {
	background: var(--color-navy);
	color: #fff;
}

.shopmedx-pdp-badge--stock {
	background: #d1fae5;
	color: #065f46;
	text-transform: none;
}

.shopmedx-pdp-badge__dot {
	width: 0.375rem;
	height: 0.375rem;
	border-radius: 50%;
	background: #10b981;
}

.shopmedx-pdp-gallery__wishlist {
	position: absolute;
	top: 0.75rem;
	right: 0.75rem;
	width: 2.25rem;
	height: 2.25rem;
	border-radius: 50%;
	border: 1px solid var(--color-border);
	background: rgba(255, 255, 255, 0.95);
	color: #94a3b8;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	z-index: 2;
}

.shopmedx-pdp-gallery__wishlist svg {
	width: 1rem;
	height: 1rem;
}

.shopmedx-pdp-gallery__stage {
	width: 100%;
	height: 100%;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
}

.shopmedx-pdp-gallery__image,
.shopmedx-pdp-gallery__placeholder {
	position: absolute;
	inset: 0;
	margin: auto;
	max-width: 100%;
	max-height: 16rem;
	width: auto !important;
	height: auto !important;
	object-fit: contain;
	opacity: 0;
	transition: opacity 0.3s ease;
}

.shopmedx-pdp-gallery__image.is-active,
.shopmedx-pdp-gallery__placeholder.is-active {
	opacity: 1;
	position: relative;
}

.shopmedx-pdp-gallery__placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	color: #94a3b8;
}

.shopmedx-pdp-gallery__placeholder-icon {
	width: 3rem;
	height: 3rem;
}

.shopmedx-pdp-gallery__thumbs {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0.5rem;
	margin-bottom: 0.875rem;
}

.shopmedx-pdp-gallery__thumb {
	border: 1px solid var(--color-border);
	border-radius: 0.625rem;
	background: #fff;
	padding: 0.5rem;
	cursor: pointer;
	text-align: center;
	transition: border-color var(--transition), background var(--transition);
}

.shopmedx-pdp-gallery__thumb.is-active {
	border-color: var(--color-primary);
	background: #eff6ff;
	color: var(--color-primary);
}

.shopmedx-pdp-gallery__thumb-visual {
	height: 2.5rem;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 0.25rem;
	overflow: hidden;
}

.shopmedx-pdp-gallery__thumb-img {
	max-height: 2.5rem;
	width: auto;
	object-fit: contain;
}

.shopmedx-pdp-gallery__thumb-icon {
	width: 1.25rem;
	height: 1.25rem;
	color: #94a3b8;
}

.shopmedx-pdp-gallery__thumb-label {
	font-size: 0.625rem;
	font-weight: 600;
	line-height: 1.2;
}

.shopmedx-pdp-compliance {
	background: #f8fafc;
	border: 1px solid var(--color-border);
	border-radius: 0.875rem;
	padding: 0.875rem;
}

.shopmedx-pdp-compliance__title {
	display: flex;
	align-items: center;
	gap: 0.375rem;
	font-size: 0.6875rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--color-navy);
	margin-bottom: 0.625rem;
}

.shopmedx-pdp-compliance__icon {
	width: 0.875rem;
	height: 0.875rem;
	color: var(--color-primary);
}

.shopmedx-pdp-compliance__list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.375rem 0.75rem;
	list-style: none;
	margin: 0;
	padding: 0;
	font-size: 0.6875rem;
	color: var(--color-text);
}

.shopmedx-pdp-compliance__list li {
	display: flex;
	align-items: center;
	gap: 0.375rem;
}

.shopmedx-pdp-compliance__check {
	width: 0.875rem;
	height: 0.875rem;
	color: var(--color-success);
	flex-shrink: 0;
}

.shopmedx-pdp-summary__meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	margin-bottom: 0.5rem;
}

.shopmedx-pdp-summary__meta-left {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.5rem;
	font-size: 0.75rem;
	color: var(--color-text-muted);
}

.shopmedx-pdp-summary__brand {
	padding: 0.125rem 0.5rem;
	background: #eff6ff;
	color: var(--color-primary);
	border: 1px solid #bfdbfe;
	border-radius: 0.25rem;
	font-weight: 700;
}

.shopmedx-pdp-summary__dot {
	color: #cbd5e1;
}

.shopmedx-pdp-summary__share {
	display: inline-flex;
	align-items: center;
	gap: 0.25rem;
	border: none;
	background: none;
	font-size: 0.75rem;
	color: var(--color-text-muted);
	cursor: pointer;
	padding: 0;
}

.shopmedx-pdp-summary__share-icon {
	width: 0.875rem;
	height: 0.875rem;
}

.shopmedx-pdp-summary__title {
	font-size: clamp(1.25rem, 2.5vw, 1.625rem);
	font-weight: 700;
	color: var(--color-navy);
	line-height: 1.3;
	margin: 0 0 0.625rem;
}

.shopmedx-pdp-summary__rating-row {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.625rem;
	margin-bottom: 1rem;
	font-size: 0.75rem;
}

.shopmedx-pdp-summary__rating {
	display: flex;
	align-items: center;
	gap: 0.25rem;
}

.shopmedx-pdp-summary__rating-value {
	font-weight: 700;
	color: var(--color-navy);
}

.shopmedx-pdp-summary__divider {
	color: #cbd5e1;
}

.shopmedx-pdp-summary__reviews-link {
	font-weight: 600;
	color: var(--color-primary);
	text-decoration: none;
}

.shopmedx-pdp-summary__reviews-link:hover {
	text-decoration: underline;
}

.shopmedx-pdp-summary__ships {
	display: inline-flex;
	align-items: center;
	gap: 0.25rem;
	color: var(--color-text-muted);
}

.shopmedx-pdp-summary__ships-icon {
	width: 0.875rem;
	height: 0.875rem;
	color: var(--color-success);
}

.shopmedx-pdp-pricing {
	background: #f8fafc;
	border: 1px solid var(--color-border);
	border-radius: 0.875rem;
	padding: 1rem 1.125rem;
	margin-bottom: 1rem;
}

.shopmedx-pdp-pricing__head {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-bottom: 1rem;
}

.shopmedx-pdp-pricing__amount {
	font-size: 1.875rem;
	font-weight: 800;
	color: var(--color-navy);
}

.shopmedx-pdp-pricing__amount .woocommerce-Price-amount {
	color: inherit;
}

.shopmedx-pdp-pricing__unit {
	font-size: 0.875rem;
	color: var(--color-text-muted);
}

.shopmedx-pdp-pricing__msrp {
	font-size: 0.8125rem;
	color: #94a3b8;
	text-decoration: line-through;
}

.shopmedx-pdp-pricing__save {
	font-size: 0.6875rem;
	font-weight: 700;
	color: #047857;
	background: #d1fae5;
	padding: 0.125rem 0.5rem;
	border-radius: 0.25rem;
}

.shopmedx-pdp-packaging__label,
.shopmedx-pdp-tiers__head > span {
	font-size: 0.75rem;
	font-weight: 700;
	color: var(--color-navy);
}

.shopmedx-pdp-packaging__label {
	display: block;
	margin-bottom: 0.5rem;
}

.shopmedx-pdp-packaging__options {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.75rem;
	padding-top: 0.875rem;
	border-top: 1px solid var(--color-border);
}

.shopmedx-pdp-packaging__option {
	position: relative;
	text-align: left;
	border: 1px solid var(--color-border);
	border-radius: 0.625rem;
	background: #fff;
	padding: 0.75rem;
	cursor: pointer;
	transition: border-color var(--transition), box-shadow var(--transition);
}

.shopmedx-pdp-packaging__option.is-active {
	border-color: var(--color-primary);
	box-shadow: 0 0 0 2px rgba(0, 91, 181, 0.12);
}

.shopmedx-pdp-packaging__option-head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 0.25rem;
	font-size: 0.75rem;
	font-weight: 700;
	color: var(--color-navy);
}

.shopmedx-pdp-packaging__option p {
	margin: 0;
	font-size: 0.6875rem;
	color: var(--color-text-muted);
}

.shopmedx-pdp-packaging__best {
	position: absolute;
	top: -0.5rem;
	right: 0.5rem;
	background: #059669;
	color: #fff;
	font-size: 0.5625rem;
	font-weight: 700;
	padding: 0.125rem 0.375rem;
	border-radius: 0.25rem;
}

.shopmedx-pdp-tiers {
	padding-top: 0.875rem;
	margin-top: 0.875rem;
	border-top: 1px solid var(--color-border);
}

.shopmedx-pdp-tiers__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	margin-bottom: 0.625rem;
	font-size: 0.75rem;
}

.shopmedx-pdp-tiers__head a {
	font-weight: 700;
	color: var(--color-primary);
	text-decoration: none;
}

.shopmedx-pdp-tiers__head a:hover {
	text-decoration: underline;
}

.shopmedx-pdp-tiers__icon {
	width: 0.875rem;
	height: 0.875rem;
	vertical-align: -0.125rem;
	margin-right: 0.125rem;
}

.shopmedx-pdp-tiers__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.5rem;
}

.shopmedx-pdp-tier {
	background: #fff;
	border: 1px solid var(--color-border);
	border-radius: 0.5rem;
	padding: 0.5rem;
	text-align: center;
	font-size: 0.6875rem;
}

.shopmedx-pdp-tier--blue {
	background: #eff6ff;
	border-color: #bfdbfe;
}

.shopmedx-pdp-tier--green {
	background: #ecfdf5;
	border-color: #a7f3d0;
}

.shopmedx-pdp-tier__label {
	color: var(--color-text-muted);
	font-size: 0.625rem;
	margin-bottom: 0.125rem;
}

.shopmedx-pdp-tier__price {
	font-weight: 700;
	color: var(--color-navy);
	font-size: 0.75rem;
}

.shopmedx-pdp-tier__note {
	font-size: 0.625rem;
	color: var(--color-text-muted);
	margin-top: 0.125rem;
}

.shopmedx-pdp-actions__row {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 0.625rem;
}

.shopmedx-qty--pdp {
	display: inline-flex;
	align-items: center;
	border: 1px solid var(--color-border);
	border-radius: 0.625rem;
	background: #fff;
	overflow: hidden;
	height: 2.75rem;
}

.shopmedx-qty--pdp .quantity {
	display: contents;
}

.shopmedx-qty--pdp .qty {
	width: 3rem;
	height: 2.75rem;
	border: none;
	text-align: center;
	font-weight: 700;
}

.shopmedx-qty--pdp [data-qty-minus],
.shopmedx-qty--pdp [data-qty-plus] {
	width: 2.5rem;
	height: 2.75rem;
	border: none;
	background: transparent;
	cursor: pointer;
	color: var(--color-text-muted);
}

.shopmedx-pdp-add-to-cart {
	flex: 1;
	min-width: 12rem;
	height: 2.75rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	font-size: 0.875rem;
	font-weight: 700;
	border: none;
	cursor: pointer;
}

.shopmedx-pdp-add-to-cart__icon {
	width: 1rem;
	height: 1rem;
}

.shopmedx-pdp-quote {
	height: 2.75rem;
	display: inline-flex;
	align-items: center;
	gap: 0.375rem;
	padding-inline: 1rem;
	font-size: 0.75rem;
	font-weight: 700;
	border-color: var(--color-navy);
	color: var(--color-navy);
	white-space: nowrap;
}

.shopmedx-pdp-quote__icon {
	width: 1rem;
	height: 1rem;
	color: var(--color-primary);
}

.shopmedx-pdp-perks {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.75rem;
	margin-top: 1rem;
	font-size: 0.75rem;
	color: var(--color-text-muted);
}

.shopmedx-pdp-perks div {
	display: flex;
	align-items: center;
	gap: 0.375rem;
}

.shopmedx-pdp-perks svg {
	width: 1rem;
	height: 1rem;
	color: var(--color-primary);
	flex-shrink: 0;
}

.shopmedx-pdp-tabs {
	background: #fff;
	border: 1px solid var(--color-border);
	border-radius: 1rem;
	overflow: hidden;
	margin-bottom: 2rem;
	box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}

.shopmedx-pdp-tabs .woocommerce-tabs ul.tabs {
	display: flex;
	flex-wrap: nowrap;
	overflow-x: auto;
	margin: 0;
	padding: 0;
	list-style: none;
	background: #f8fafc;
	border-bottom: 1px solid var(--color-border);
}

.shopmedx-pdp-tabs .woocommerce-tabs ul.tabs li {
	margin: 0;
	padding: 0;
	background: none;
	border: none;
}

.shopmedx-pdp-tabs .woocommerce-tabs ul.tabs li a {
	display: block;
	padding: 0.875rem 1.25rem;
	font-size: 0.75rem;
	font-weight: 700;
	color: var(--color-text-muted);
	text-decoration: none;
	border-bottom: 2px solid transparent;
	white-space: nowrap;
}

.shopmedx-pdp-tabs .woocommerce-tabs ul.tabs li.active a {
	color: var(--color-primary);
	background: #fff;
	border-bottom-color: var(--color-primary);
}

.shopmedx-pdp-tabs .woocommerce-Tabs-panel {
	padding: 1.5rem 1.75rem;
	font-size: 0.875rem;
	line-height: 1.65;
}

.shopmedx-pdp-tabs .woocommerce-Tabs-panel--reviews {
	padding: 1.5rem 1.75rem;
}

.shopmedx-pdp-overview__description h3,
.shopmedx-pdp-overview__features h4 {
	font-size: 1rem;
	font-weight: 700;
	color: var(--color-navy);
	margin: 0 0 0.625rem;
}

.shopmedx-pdp-overview__text {
	color: var(--color-text-muted);
	max-width: 48rem;
}

.shopmedx-pdp-overview__features {
	margin-top: 1.5rem;
}

.shopmedx-pdp-overview__features-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.625rem;
	max-width: 48rem;
}

.shopmedx-pdp-feature {
	display: flex;
	align-items: flex-start;
	gap: 0.5rem;
	padding: 0.75rem;
	background: #f8fafc;
	border: 1px solid #f1f5f9;
	border-radius: 0.625rem;
	font-size: 0.75rem;
	color: var(--color-text);
}

.shopmedx-pdp-feature__icon {
	width: 1rem;
	height: 1rem;
	color: var(--color-success);
	flex-shrink: 0;
	margin-top: 0.125rem;
}

.shopmedx-pdp-overview__applications {
	display: flex;
	align-items: flex-start;
	gap: 0.625rem;
	margin-top: 1.25rem;
	padding: 1rem;
	background: #eff6ff;
	border: 1px solid #bfdbfe;
	border-radius: 0.875rem;
	font-size: 0.75rem;
	color: var(--color-text);
	max-width: 48rem;
}

.shopmedx-pdp-overview__applications-icon {
	width: 1rem;
	height: 1rem;
	color: var(--color-primary);
	flex-shrink: 0;
	margin-top: 0.125rem;
}

.shopmedx-pdp-tabs .shop_attributes {
	width: 100%;
	border-collapse: collapse;
	max-width: 48rem;
	border: 1px solid var(--color-border);
	border-radius: 0.875rem;
	overflow: hidden;
}

.shopmedx-pdp-tabs .shop_attributes th,
.shopmedx-pdp-tabs .shop_attributes td {
	padding: 0.75rem 1rem;
	font-size: 0.75rem;
	border-bottom: 1px solid #f1f5f9;
}

.shopmedx-pdp-tabs .shop_attributes th {
	width: 33%;
	font-weight: 700;
	color: var(--color-navy);
	background: #f8fafc;
	border-right: 1px solid #f1f5f9;
}

.shopmedx-pdp-docs__intro h3 {
	font-size: 1rem;
	font-weight: 700;
	margin: 0 0 0.25rem;
	color: var(--color-navy);
}

.shopmedx-pdp-docs__intro p {
	font-size: 0.75rem;
	color: var(--color-text-muted);
	margin: 0 0 1rem;
}

.shopmedx-pdp-docs__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.875rem;
	max-width: 56rem;
}

.shopmedx-pdp-doc-card {
	border: 1px solid var(--color-border);
	border-radius: 0.875rem;
	padding: 1rem;
	background: #f8fafc;
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

.shopmedx-pdp-doc-card__icon {
	width: 2.5rem;
	height: 2.5rem;
	border-radius: 0.625rem;
	display: flex;
	align-items: center;
	justify-content: center;
}

.shopmedx-pdp-doc-card__icon svg {
	width: 1.25rem;
	height: 1.25rem;
}

.shopmedx-pdp-doc-card__icon--red {
	background: #fee2e2;
	color: #dc2626;
}

.shopmedx-pdp-doc-card__icon--blue {
	background: #dbeafe;
	color: var(--color-primary);
}

.shopmedx-pdp-doc-card__icon--green {
	background: #d1fae5;
	color: #059669;
}

.shopmedx-pdp-doc-card h4 {
	font-size: 0.75rem;
	font-weight: 700;
	margin: 0 0 0.25rem;
	color: var(--color-navy);
}

.shopmedx-pdp-doc-card p {
	font-size: 0.6875rem;
	color: var(--color-text-muted);
	margin: 0;
}

.shopmedx-pdp-bundle {
	background: #fff;
	border: 1px solid var(--color-border);
	border-radius: 1rem;
	padding: 1.25rem 1.5rem;
	margin-bottom: 2rem;
}

.shopmedx-pdp-bundle__head {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	margin-bottom: 1rem;
}

.shopmedx-pdp-bundle__head h2 {
	font-size: 1rem;
	font-weight: 700;
	margin: 0;
	color: var(--color-navy);
}

.shopmedx-pdp-bundle__icon {
	width: 1.25rem;
	height: 1.25rem;
	color: var(--color-primary);
}

.shopmedx-pdp-bundle__layout {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 1.5rem;
}

.shopmedx-pdp-bundle__items {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.75rem;
}

.shopmedx-pdp-bundle__plus {
	font-size: 1.25rem;
	font-weight: 700;
	color: #94a3b8;
}

.shopmedx-pdp-bundle__item {
	width: 8rem;
	padding: 0.625rem;
	border: 1px solid var(--color-border);
	border-radius: 0.625rem;
	background: #f8fafc;
	text-align: center;
	text-decoration: none;
	color: inherit;
	transition: border-color var(--transition);
}

.shopmedx-pdp-bundle__item:hover {
	border-color: var(--color-primary);
}

.shopmedx-pdp-bundle__item-image img {
	max-height: 5rem;
	width: auto;
	object-fit: contain;
}

.shopmedx-pdp-bundle__item-name {
	font-size: 0.625rem;
	font-weight: 600;
	color: var(--color-navy);
	margin: 0.375rem 0 0.125rem;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.shopmedx-pdp-bundle__item-price {
	font-size: 0.75rem;
	font-weight: 700;
	color: var(--color-navy);
}

.shopmedx-pdp-bundle__checkout {
	padding-left: 0;
	text-align: center;
}

.shopmedx-pdp-bundle__checkout-label {
	font-size: 0.75rem;
	color: var(--color-text-muted);
}

.shopmedx-pdp-bundle__checkout-total {
	font-size: 1.5rem;
	font-weight: 800;
	color: var(--color-navy);
	margin: 0.25rem 0 0.75rem;
}

.shopmedx-pdp-bundle__links {
	position: relative;
}

.shopmedx-pdp-bundle__add {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.shopmedx-pdp-bundle__btn {
	display: inline-flex;
	align-items: center;
	gap: 0.375rem;
	background: var(--color-navy);
	border: none;
	padding: 0.625rem 1.25rem;
	font-size: 0.75rem;
}

.shopmedx-pdp-bundle__btn:hover {
	background: var(--color-primary);
}

.shopmedx-pdp-related {
	margin-bottom: 1rem;
}

.shopmedx-pdp-related-section .shopmedx-pdp-related__head,
.shopmedx-pdp-related > .shopmedx-pdp-related__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 1rem;
}

.shopmedx-pdp-related-section h2,
.shopmedx-pdp-related > h2 {
	font-size: 1rem;
	font-weight: 700;
	color: var(--color-navy);
	margin: 0;
}

.shopmedx-pdp-related__browse {
	font-size: 0.75rem;
	font-weight: 700;
	color: var(--color-primary);
	text-decoration: none;
	white-space: nowrap;
}

.shopmedx-pdp-related__browse:hover {
	text-decoration: underline;
}

.shopmedx-pdp-related ul.products,
.shopmedx-pdp-related-section ul.products {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1rem;
}

/* Reviews tab */
.shopmedx-pdp-tabs #reviews #comments {
	margin-bottom: 1.5rem;
}

.shopmedx-pdp-tabs #reviews .woocommerce-Reviews-title {
	font-size: 1rem;
	font-weight: 700;
	color: var(--color-navy);
	margin-bottom: 0.75rem;
}

.shopmedx-pdp-tabs #review_form_wrapper {
	background: #f8fafc;
	border: 1px solid var(--color-border);
	border-radius: 0.875rem;
	padding: 1.25rem;
	max-width: 40rem;
}

.shopmedx-pdp-tabs #review_form .comment-form-rating label,
.shopmedx-pdp-tabs #review_form .comment-form-comment label {
	display: block;
	font-size: 0.75rem;
	font-weight: 700;
	color: var(--color-navy);
	margin-bottom: 0.375rem;
}

.shopmedx-pdp-tabs #review_form textarea {
	width: 100%;
	border: 1px solid var(--color-border);
	border-radius: 0.625rem;
	padding: 0.75rem;
	font-size: 0.875rem;
	min-height: 6rem;
}

.shopmedx-pdp-tabs #review_form .form-submit input {
	background: var(--color-primary);
	color: #fff;
	border: none;
	border-radius: 0.625rem;
	padding: 0.625rem 1.25rem;
	font-weight: 700;
	font-size: 0.8125rem;
	cursor: pointer;
}

.shopmedx-pdp-tabs #review_form .form-submit input:hover {
	background: var(--color-primary-dark);
}

@media (max-width: 1024px) {
	.shopmedx-pdp-showcase__grid {
		grid-template-columns: 1fr;
	}

	.shopmedx-pdp-docs__grid {
		grid-template-columns: 1fr;
	}

	.shopmedx-pdp-bundle__checkout {
		border-left: none;
		padding-left: 0;
		width: 100%;
	}
}

@media (min-width: 1025px) {
	.shopmedx-pdp-bundle__checkout {
		border-left: 1px solid var(--color-border);
		padding-left: 1.5rem;
		text-align: left;
	}
}

@media (max-width: 768px) {
	.shopmedx-pdp-breadcrumbs {
		flex-direction: column;
		align-items: flex-start;
	}

	.shopmedx-pdp-overview__features-grid,
	.shopmedx-pdp-compliance__list,
	.shopmedx-pdp-perks,
	.shopmedx-pdp-packaging__options,
	.shopmedx-pdp-tiers__grid {
		grid-template-columns: 1fr;
	}

	.shopmedx-pdp-related ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* --------------------------------------------------------------------------
   WooCommerce Page Head (Cart / Checkout)
   -------------------------------------------------------------------------- */

.shopmedx-wc-head {
	position: relative;
	background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
	border-bottom: 1px solid var(--color-border);
	padding-block: 1.5rem 1.75rem;
	overflow: hidden;
}

.shopmedx-wc-head__decor {
	position: absolute;
	top: 0;
	right: 0;
	width: min(45%, 420px);
	height: 100%;
	color: #eff6ff;
	pointer-events: none;
	opacity: 0.9;
}

.shopmedx-wc-head__decor svg {
	width: 100%;
	height: 100%;
}

.shopmedx-wc-head__inner {
	position: relative;
	z-index: 1;
}

.shopmedx-wc-head .shopmedx-breadcrumbs {
	margin-bottom: 0.75rem;
}

.shopmedx-wc-head .shopmedx-breadcrumbs a {
	color: var(--color-text-muted);
	text-decoration: none;
}

.shopmedx-wc-head .shopmedx-breadcrumbs a:hover {
	color: var(--color-primary);
}

.shopmedx-wc-head .shopmedx-breadcrumbs__sep {
	color: #cbd5e1;
}

.shopmedx-wc-head .shopmedx-breadcrumbs__current,
.shopmedx-wc-head .shopmedx-breadcrumbs span {
	color: var(--color-navy);
	font-weight: 600;
}

.shopmedx-wc-head__row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	flex-wrap: wrap;
}

.shopmedx-wc-head__title {
	font-size: clamp(1.625rem, 2.8vw, 2.125rem);
	font-weight: 800;
	color: var(--color-navy);
	margin: 0 0 0.25rem;
	line-height: 1.15;
	letter-spacing: -0.02em;
}

.shopmedx-wc-head__subtitle {
	margin: 0;
	font-size: 0.9375rem;
	color: var(--color-text-muted);
}

.shopmedx-wc-head__badge {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.625rem 1rem;
	background: #fff;
	border: 1px solid #bfdbfe;
	border-radius: 999px;
	font-size: 0.8125rem;
	font-weight: 700;
	color: var(--color-primary);
	box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06);
}

.shopmedx-wc-head__badge-icon {
	width: 1rem;
	height: 1rem;
}

.shopmedx-cart-page-wrap,
.shopmedx-checkout-page-wrap {
	background: var(--color-bg);
}

.shopmedx-cart-page-wrap .shopmedx-woocommerce-content,
.shopmedx-checkout-page-wrap .shopmedx-woocommerce-content {
	padding-block: 1.75rem 2.5rem;
}

.shopmedx-woocommerce-page .woocommerce-notices-wrapper {
	margin-bottom: 1rem;
}

.shopmedx-woocommerce-page .woocommerce-message,
.shopmedx-woocommerce-page .woocommerce-info,
.shopmedx-woocommerce-page .woocommerce-error {
	padding: 0.875rem 1rem;
	border-radius: var(--radius-md);
	font-size: 0.875rem;
	margin-bottom: 0.75rem;
	border: 1px solid transparent;
	list-style: none;
}

.shopmedx-woocommerce-page .woocommerce-message {
	background: #ecfdf5;
	border-color: #a7f3d0;
	color: #065f46;
}

.shopmedx-woocommerce-page .woocommerce-info {
	background: #eff6ff;
	border-color: #bfdbfe;
	color: #1e40af;
}

.shopmedx-woocommerce-page .woocommerce-error {
	background: #fef2f2;
	border-color: #fecaca;
	color: #991b1b;
}

/* --------------------------------------------------------------------------
   Cart Page
   -------------------------------------------------------------------------- */

.shopmedx-cart-page-wrap {
	background: var(--color-bg);
}

.shopmedx-cart-page-wrap .shopmedx-woocommerce-content {
	padding-block: 0 2.5rem;
}

.shopmedx-cart-page__layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) min(100%, 400px);
	gap: 2rem;
	align-items: start;
}

.shopmedx-cart-panel {
	background: var(--color-white);
	border: 1px solid var(--color-border);
	border-radius: 1rem;
	box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04);
	overflow: hidden;
}

.shopmedx-cart-panel__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: 1rem 1.25rem;
	border-bottom: 1px solid var(--color-border);
	background: linear-gradient(180deg, #fafbfc 0%, #fff 100%);
}

.shopmedx-cart-panel__title {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	margin: 0;
	font-size: 1rem;
	font-weight: 700;
	color: var(--color-navy);
}

.shopmedx-cart-panel__title-icon {
	width: 1.125rem;
	height: 1.125rem;
	color: var(--color-primary);
}

.shopmedx-cart-panel__shop-link {
	font-size: 0.8125rem;
	font-weight: 600;
	color: var(--color-primary);
	text-decoration: none;
	white-space: nowrap;
}

.shopmedx-cart-panel__shop-link:hover {
	text-decoration: underline;
}

.shopmedx-cart-list {
	background: transparent;
	border: none;
	border-radius: 0;
	overflow: visible;
	box-shadow: none;
}

.shopmedx-cart-list__header {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 8rem;
	gap: 1rem;
	padding: 0.75rem 1.25rem;
	background: #f8fafc;
	border-bottom: 1px solid var(--color-border);
	font-size: 0.6875rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: #64748b;
}

.shopmedx-cart-item {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 8rem;
	gap: 1rem;
	padding: 1.25rem;
	border-bottom: 1px solid #f1f5f9;
	align-items: center;
	transition: background var(--transition);
}

.shopmedx-cart-item:hover {
	background: #fafbfc;
}

.shopmedx-cart-item__thumb {
	flex-shrink: 0;
	width: 6.5rem;
	height: 6.5rem;
	border: 1px solid var(--color-border);
	border-radius: 0.75rem;
	overflow: hidden;
	background: linear-gradient(180deg, #f8fafc 0%, #fff 100%);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0.375rem;
}

.shopmedx-cart-item__name {
	margin: 0 0 0.25rem;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.35;
	color: var(--color-navy);
}

.shopmedx-cart-item__name a {
	color: var(--color-navy);
	text-decoration: none;
}

.shopmedx-cart-item__name a:hover {
	color: var(--color-primary);
}

.shopmedx-cart-item__unit-price {
	font-size: 0.875rem;
	color: var(--color-text-muted);
	margin-bottom: 0.625rem;
}

.shopmedx-cart-item__total {
	font-size: 1.125rem;
	font-weight: 800;
	color: var(--color-navy);
	text-align: right;
}

.shopmedx-qty--cart {
	border-radius: 0.5rem;
	border-color: #e2e8f0;
	background: #fff;
	box-shadow: inset 0 1px 2px rgba(15, 23, 42, 0.04);
}

.shopmedx-cart-form__actions {
	display: none;
}

.shopmedx-cart-shipping-bar {
	background: #fff;
	border: 1px solid var(--color-border);
	border-radius: 0.875rem;
	padding: 1rem 1.125rem;
	margin-bottom: 1rem;
	box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}

.shopmedx-cart-shipping-bar--success {
	background: #ecfdf5;
	border-color: #a7f3d0;
}

.shopmedx-cart-shipping-bar__text {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	margin: 0 0 0.625rem;
	font-size: 0.8125rem;
	font-weight: 600;
	color: var(--color-navy);
}

.shopmedx-cart-shipping-bar--success .shopmedx-cart-shipping-bar__text {
	margin-bottom: 0;
	color: #047857;
}

.shopmedx-cart-shipping-bar__icon {
	width: 1rem;
	height: 1rem;
	color: var(--color-primary);
	flex-shrink: 0;
}

.shopmedx-cart-shipping-bar--success .shopmedx-cart-shipping-bar__icon {
	color: #059669;
}

.shopmedx-cart-shipping-bar__track {
	height: 0.375rem;
	background: #e2e8f0;
	border-radius: 999px;
	overflow: hidden;
}

.shopmedx-cart-shipping-bar__fill {
	display: block;
	height: 100%;
	background: linear-gradient(90deg, var(--color-primary) 0%, #38bdf8 100%);
	border-radius: 999px;
	transition: width 0.4s ease;
}

.shopmedx-cart-totals {
	background: var(--color-white);
	border: 1px solid var(--color-border);
	border-radius: 1rem;
	padding: 1.375rem 1.5rem 1.5rem;
	position: sticky;
	top: calc(var(--header-height, 72px) + 1rem);
	box-shadow: 0 4px 16px rgba(15, 23, 42, 0.06);
}

.shopmedx-cart-totals__title {
	font-size: 1rem;
	font-weight: 700;
	color: var(--color-navy);
	text-transform: none;
	letter-spacing: 0;
	margin: 0 0 1rem;
	padding-bottom: 0.875rem;
	border-bottom: 1px solid var(--color-border);
}

.shopmedx-cart-totals__table .order-total th,
.shopmedx-cart-totals__table .order-total td {
	padding-top: 1rem;
	font-size: 1.125rem;
}

.shopmedx-cart-totals__checkout {
	margin-top: 1.125rem;
}

.shopmedx-cart-checkout-btn {
	display: flex !important;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	width: 100%;
	padding: 1rem 1.25rem !important;
	background: linear-gradient(180deg, var(--color-primary) 0%, #004a99 100%) !important;
	color: #fff !important;
	text-align: center;
	border-radius: 0.75rem !important;
	font-weight: 700 !important;
	font-size: 0.9375rem !important;
	text-decoration: none !important;
	border: none !important;
	box-shadow: 0 4px 12px rgba(0, 91, 181, 0.25);
	transition: transform var(--transition), box-shadow var(--transition), background var(--transition);
}

.shopmedx-cart-checkout-btn:hover {
	transform: translateY(-1px);
	box-shadow: 0 6px 16px rgba(0, 91, 181, 0.3);
	color: #fff !important;
	background: linear-gradient(180deg, #0066cc 0%, var(--color-primary) 100%) !important;
}

.shopmedx-cart-checkout-btn__icon {
	width: 1rem;
	height: 1rem;
}

.shopmedx-cart-totals__perks {
	list-style: none;
	margin: 1rem 0 0;
	padding: 1rem 0 0;
	border-top: 1px solid #f1f5f9;
	display: grid;
	gap: 0.5rem;
}

.shopmedx-cart-totals__perks li {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.75rem;
	color: var(--color-text-muted);
}

.shopmedx-cart-totals__perks svg {
	width: 0.875rem;
	height: 0.875rem;
	color: var(--color-success);
	flex-shrink: 0;
}

.shopmedx-cart-page__continue {
	margin-top: 1.5rem;
	text-align: center;
}

.shopmedx-cart-page__continue a {
	display: inline-flex;
	align-items: center;
	gap: 0.375rem;
	font-size: 0.875rem;
	font-weight: 600;
	color: var(--color-primary);
	text-decoration: none;
	padding: 0.5rem 1rem;
	border-radius: 0.5rem;
	transition: background var(--transition);
}

.shopmedx-cart-page__continue a:hover {
	background: #eff6ff;
}

.shopmedx-cart-page__continue svg {
	width: 1rem;
	height: 1rem;
}

.shopmedx-cart-list__header span:last-child {
	text-align: right;
}

.shopmedx-cart-item:last-child {
	border-bottom: none;
}

.shopmedx-cart-item__product {
	display: flex;
	gap: 1.125rem;
	min-width: 0;
}

.shopmedx-cart-item__thumb img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	display: block;
}

.shopmedx-cart-item__details {
	flex: 1;
	min-width: 0;
}

.shopmedx-cart-item__top {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 0.75rem;
}

.shopmedx-cart-item__unit-price .woocommerce-Price-amount {
	color: var(--color-text);
	font-weight: 600;
}

.shopmedx-cart-item__remove {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.25rem;
	height: 2.25rem;
	border-radius: 0.5rem;
	color: var(--color-text-muted);
	text-decoration: none;
	transition: color var(--transition), background var(--transition);
	flex-shrink: 0;
	border: 1px solid transparent;
}

.shopmedx-cart-item__remove-icon {
	width: 1rem;
	height: 1rem;
}

.shopmedx-cart-item__remove:hover {
	color: var(--color-accent-red);
	background: #fef2f2;
	border-color: #fecaca;
}

.shopmedx-cart-item__qty-row {
	margin-top: 0.5rem;
}

.shopmedx-qty--cart {
	display: inline-flex;
	align-items: center;
	overflow: hidden;
}

.shopmedx-qty--cart .quantity {
	display: contents;
}

.shopmedx-qty--cart .qty {
	width: 2.75rem;
	height: 2.25rem;
	border: none;
	background: transparent;
	text-align: center;
	font-size: 0.875rem;
	font-weight: 700;
	padding: 0;
	-moz-appearance: textfield;
}

.shopmedx-qty--cart .qty::-webkit-outer-spin-button,
.shopmedx-qty--cart .qty::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.shopmedx-qty--cart [data-qty-minus],
.shopmedx-qty--cart [data-qty-plus] {
	width: 2.25rem;
	height: 2.25rem;
	border: none;
	background: transparent;
	color: var(--color-text-muted);
	cursor: pointer;
	font-size: 1.125rem;
	line-height: 1;
}

.shopmedx-qty--cart [data-qty-minus]:hover,
.shopmedx-qty--cart [data-qty-plus]:hover {
	background: #f1f5f9;
	color: var(--color-navy);
}

.shopmedx-cart-collaterals {
	width: 100%;
}

.shopmedx-cart-coupon {
	border-bottom: 1px solid var(--color-border);
	margin-bottom: 1rem;
	padding-bottom: 0.875rem;
}

.shopmedx-cart-coupon summary {
	font-size: 0.875rem;
	font-weight: 600;
	color: var(--color-navy);
	cursor: pointer;
	list-style: none;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.shopmedx-cart-coupon summary::-webkit-details-marker {
	display: none;
}

.shopmedx-cart-coupon summary::after {
	content: '+';
	color: var(--color-text-muted);
	font-size: 1rem;
}

.shopmedx-cart-coupon[open] summary::after {
	content: '−';
}

.shopmedx-cart-coupon__form {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-top: 0.75rem;
}

.shopmedx-cart-coupon__form input[type="text"] {
	flex: 1;
	min-width: 8rem;
	padding: 0.5rem 0.75rem;
	border: 1px solid var(--color-border);
	border-radius: var(--radius-sm);
	font-size: 0.8125rem;
}

.shopmedx-cart-coupon__form .shopmedx-btn {
	padding: 0.5rem 0.875rem;
	font-size: 0.8125rem;
}

.shopmedx-cart-totals__table {
	width: 100%;
	border-collapse: collapse;
	margin-bottom: 0.5rem;
}

.shopmedx-cart-totals__table th,
.shopmedx-cart-totals__table td {
	padding: 0.5rem 0;
	font-size: 0.875rem;
	border: none;
}

.shopmedx-cart-totals__table th {
	font-weight: 500;
	color: var(--color-text-muted);
	text-align: left;
}

.shopmedx-cart-totals__table td {
	text-align: right;
	font-weight: 600;
	color: var(--color-navy);
}

.shopmedx-cart-totals__table .order-total th,
.shopmedx-cart-totals__table .order-total td {
	padding-top: 0.875rem;
	border-top: 1px solid var(--color-border);
	font-size: 1rem;
	font-weight: 700;
	color: var(--color-navy);
}

.shopmedx-cart-totals__table .order-total td {
	font-size: 1.25rem;
}

.shopmedx-cart-empty {
	max-width: 28rem;
	margin: 2rem auto 3rem;
	padding: 2.5rem 2rem;
	text-align: center;
	background: var(--color-white);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-lg);
}

.shopmedx-cart-empty__icon {
	width: 4rem;
	height: 4rem;
	margin: 0 auto 1rem;
	border-radius: 50%;
	background: var(--color-primary-light);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--color-primary);
}

.shopmedx-cart-empty__svg {
	width: 1.75rem;
	height: 1.75rem;
}

.shopmedx-cart-empty__title {
	font-size: 1.25rem;
	margin-bottom: 0.5rem;
	color: var(--color-navy);
}

.shopmedx-cart-empty__text {
	color: var(--color-text-muted);
	margin-bottom: 1.25rem;
	font-size: 0.9375rem;
}

@media (max-width: 1024px) {
	.shopmedx-cart-page__layout {
		grid-template-columns: 1fr;
	}

	.shopmedx-cart-totals {
		position: static;
	}
}

@media (max-width: 640px) {
	.shopmedx-cart-list__header {
		display: none;
	}

	.shopmedx-cart-item {
		grid-template-columns: 1fr;
		gap: 0.75rem;
	}

	.shopmedx-cart-item__total {
		text-align: left;
		padding-top: 0;
	}

	.shopmedx-cart-item__total::before {
		content: attr(data-title) ': ';
		font-weight: 500;
		color: var(--color-text-muted);
		font-size: 0.75rem;
		text-transform: uppercase;
		display: block;
		margin-bottom: 0.125rem;
	}
}

/* --------------------------------------------------------------------------
   Checkout
   -------------------------------------------------------------------------- */

.shopmedx-checkout-page-wrap .shopmedx-woocommerce-content {
	padding-block: 0 2.5rem;
}

.shopmedx-checkout {
	padding-block: 0;
}

.shopmedx-checkout__customer {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.25rem;
}

.shopmedx-checkout__section.shopmedx-card {
	padding: 1.25rem 1.5rem;
	margin-bottom: 0;
}

.shopmedx-checkout__section .woocommerce-billing-fields h3,
.shopmedx-checkout__section .woocommerce-shipping-fields h3 {
	font-size: 1rem;
	font-weight: 700;
	color: var(--color-navy);
	margin: 0 0 1rem;
	padding-bottom: 0.75rem;
	border-bottom: 1px solid var(--color-border);
}

.shopmedx-checkout__section .form-row-first,
.shopmedx-checkout__section .form-row-last {
	width: calc(50% - 0.5rem);
	display: inline-block;
	vertical-align: top;
}

.shopmedx-checkout__section .form-row-first {
	margin-right: 0.5rem;
}

.shopmedx-checkout__section .form-row-wide {
	clear: both;
	width: 100%;
}

.shopmedx-checkout__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) min(100%, 400px);
	gap: 1.75rem;
	align-items: start;
}

.shopmedx-checkout__fields {
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
}

.shopmedx-checkout__fields .form-row {
	margin-bottom: 0.875rem;
}

.shopmedx-checkout__fields label {
	display: block;
	font-size: 0.8125rem;
	font-weight: 600;
	color: var(--color-navy);
	margin-bottom: 0.375rem;
}

.shopmedx-checkout__fields .required {
	color: var(--color-accent-red);
}

.shopmedx-checkout__fields input[type="text"],
.shopmedx-checkout__fields input[type="email"],
.shopmedx-checkout__fields input[type="tel"],
.shopmedx-checkout__fields input[type="password"],
.shopmedx-checkout__fields select,
.shopmedx-checkout__fields textarea {
	width: 100%;
	padding: 0.625rem 0.875rem;
	border: 1px solid var(--color-border);
	border-radius: var(--radius-sm);
	font-size: 0.875rem;
	background: #fff;
	transition: border-color var(--transition), box-shadow var(--transition);
}

.shopmedx-checkout__fields input:focus,
.shopmedx-checkout__fields select:focus,
.shopmedx-checkout__fields textarea:focus {
	outline: none;
	border-color: var(--color-primary);
	box-shadow: 0 0 0 3px rgba(0, 91, 181, 0.1);
}

.shopmedx-checkout__review {
	position: sticky;
	top: calc(var(--header-height, 72px) + 1rem);
}

.shopmedx-checkout__review-card {
	padding: 1.25rem 1.5rem;
}

.shopmedx-checkout__review-title {
	font-size: 0.6875rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--color-text-muted);
	margin: 0 0 1rem;
}

.shopmedx-checkout-order-table {
	width: 100%;
	border-collapse: collapse;
	margin-bottom: 1rem;
}

.shopmedx-checkout-order-table thead {
	display: none;
}

.shopmedx-checkout-order-table tbody tr {
	border-bottom: 1px solid #f1f5f9;
}

.shopmedx-checkout-order-table td {
	padding: 0.625rem 0;
	font-size: 0.8125rem;
	vertical-align: top;
}

.shopmedx-checkout-order-table .product-name {
	width: 70%;
	color: var(--color-text);
}

.shopmedx-checkout-order-table .product-total {
	text-align: right;
	font-weight: 600;
	color: var(--color-navy);
	white-space: nowrap;
}

.shopmedx-checkout-order-item {
	display: flex;
	gap: 0.375rem;
	align-items: flex-start;
}

.shopmedx-checkout-order-item__qty {
	font-weight: 700;
	color: var(--color-text-muted);
	flex-shrink: 0;
}

.shopmedx-checkout-order-table tfoot th,
.shopmedx-checkout-order-table tfoot td {
	padding: 0.5rem 0;
	font-size: 0.8125rem;
	border: none;
}

.shopmedx-checkout-order-table tfoot th {
	font-weight: 500;
	color: var(--color-text-muted);
	text-align: left;
}

.shopmedx-checkout-order-table tfoot td {
	text-align: right;
	font-weight: 600;
	color: var(--color-navy);
}

.shopmedx-checkout-order-table .order-total th,
.shopmedx-checkout-order-table .order-total td {
	padding-top: 0.875rem;
	border-top: 1px solid var(--color-border);
	font-size: 1rem;
	font-weight: 700;
	color: var(--color-navy);
}

.shopmedx-checkout #payment {
	background: #f8fafc;
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
	padding: 1rem;
	margin-top: 0.5rem;
}

.shopmedx-checkout #payment ul.payment_methods {
	list-style: none;
	margin: 0 0 1rem;
	padding: 0;
}

.shopmedx-checkout #payment ul.payment_methods li {
	padding: 0.625rem 0;
	border-bottom: 1px solid var(--color-border);
	font-size: 0.8125rem;
}

.shopmedx-checkout #payment ul.payment_methods li:last-child {
	border-bottom: none;
}

.shopmedx-checkout #payment .payment_box {
	background: #fff;
	border: 1px solid var(--color-border);
	border-radius: var(--radius-sm);
	padding: 0.75rem;
	margin-top: 0.5rem;
	font-size: 0.8125rem;
}

.shopmedx-checkout #payment .place-order {
	margin: 0;
	padding: 0;
}

.shopmedx-checkout #place_order {
	width: 100%;
	padding: 0.9375rem 1.25rem;
	background: #0f172a;
	color: var(--color-white);
	border: none;
	border-radius: var(--radius-md);
	font-weight: 700;
	font-size: 0.9375rem;
	cursor: pointer;
	transition: background var(--transition);
}

.shopmedx-checkout #place_order:hover {
	background: #1e293b;
}

.shopmedx-checkout__secure {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.375rem;
	margin-top: 0.875rem;
	font-size: 0.75rem;
	color: var(--color-text-muted);
}

.shopmedx-checkout__secure-icon {
	width: 0.875rem;
	height: 0.875rem;
	color: var(--color-success);
}

.shopmedx-cart-page__continue {
	margin-top: 1rem;
}

.shopmedx-cart-page__continue a {
	display: inline-flex;
	align-items: center;
	gap: 0.375rem;
	font-size: 0.8125rem;
	font-weight: 600;
	color: var(--color-primary);
	text-decoration: none;
}

.shopmedx-cart-page__continue a:hover {
	text-decoration: underline;
}

/* --------------------------------------------------------------------------
   My Account – Sidebar Nav
   -------------------------------------------------------------------------- */

.woocommerce-account .shopmedx-main {
	padding-block: 2rem;
}

.woocommerce-account .woocommerce {
	display: grid;
	grid-template-columns: 240px 1fr;
	gap: 2rem;
	align-items: start;
}

.shopmedx-account-nav {
	background: var(--color-white);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-lg);
	overflow: hidden;
	position: sticky;
	top: calc(var(--header-height, 72px) + 1rem);
}

.shopmedx-account-nav ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.shopmedx-account-nav li {
	border-bottom: 1px solid var(--color-border);
}

.shopmedx-account-nav li:last-child {
	border-bottom: none;
}

.shopmedx-account-nav li a {
	display: block;
	padding: 0.875rem 1.25rem;
	font-size: 0.9375rem;
	font-weight: 500;
	color: var(--color-text);
	text-decoration: none;
	transition: background var(--transition), color var(--transition);
}

.shopmedx-account-nav li a:hover {
	background: var(--color-bg);
	color: var(--color-primary);
}

.shopmedx-account-nav li.is-active a {
	background: var(--color-primary-light);
	color: var(--color-primary);
	font-weight: 600;
	border-left: 3px solid var(--color-primary);
}

.woocommerce-MyAccount-content {
	background: var(--color-white);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-lg);
	padding: 1.5rem;
	min-width: 0;
}

.woocommerce-MyAccount-content h2,
.woocommerce-MyAccount-content h3 {
	font-size: 1.25rem;
	margin-bottom: 1rem;
}

.woocommerce-MyAccount-content .woocommerce-orders-table {
	width: 100%;
	border-collapse: collapse;
}

.woocommerce-MyAccount-content .woocommerce-orders-table th,
.woocommerce-MyAccount-content .woocommerce-orders-table td {
	padding: 0.75rem;
	border-bottom: 1px solid var(--color-border);
	font-size: 0.875rem;
	text-align: left;
}

.woocommerce-MyAccount-content .woocommerce-orders-table th {
	background: var(--color-bg);
	font-weight: 700;
}

.woocommerce-MyAccount-content .button {
	display: inline-flex;
	padding: 0.5rem 1rem;
	background: var(--color-primary);
	color: var(--color-white);
	border-radius: var(--radius-sm);
	font-size: 0.8125rem;
	font-weight: 600;
	text-decoration: none;
	transition: background var(--transition);
}

.woocommerce-MyAccount-content .button:hover {
	background: var(--color-primary-dark);
	color: var(--color-white);
}

/* --------------------------------------------------------------------------
   Pagination
   -------------------------------------------------------------------------- */

.woocommerce-pagination {
	margin-top: 2rem;
}

.woocommerce-pagination ul.page-numbers {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.375rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.woocommerce-pagination ul.page-numbers li {
	margin: 0;
}

.woocommerce-pagination ul.page-numbers li a,
.woocommerce-pagination ul.page-numbers li span {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	height: 40px;
	padding: 0 0.5rem;
	border: 1px solid var(--color-border);
	border-radius: var(--radius-sm);
	font-size: 0.875rem;
	font-weight: 500;
	color: var(--color-text);
	text-decoration: none;
	transition: background var(--transition), border-color var(--transition), color var(--transition);
}

.woocommerce-pagination ul.page-numbers li a:hover {
	background: var(--color-primary-light);
	border-color: var(--color-primary);
	color: var(--color-primary);
}

.woocommerce-pagination ul.page-numbers li span.current {
	background: var(--color-primary);
	border-color: var(--color-primary);
	color: var(--color-white);
}

.woocommerce-pagination ul.page-numbers li span.dots {
	border: none;
	min-width: auto;
}

/* --------------------------------------------------------------------------
   Star Ratings – Orange
   -------------------------------------------------------------------------- */

.star-rating {
	overflow: hidden;
	position: relative;
	height: 1em;
	line-height: 1;
	font-size: 0.875em;
	width: 5.4em;
	font-family: 'star';
	color: #f59e0b;
}

.star-rating::before {
	content: '\73\73\73\73\73';
	float: left;
	top: 0;
	left: 0;
	position: absolute;
	color: #d1d5db;
}

.star-rating span {
	overflow: hidden;
	float: left;
	top: 0;
	left: 0;
	position: absolute;
	padding-top: 1.5em;
}

.star-rating span::before {
	content: '\53\53\53\53\53';
	top: 0;
	position: absolute;
	left: 0;
	color: #f59e0b;
}

.woocommerce .star-rating,
.shopmedx-product-card__rating .star-rating {
	margin: 0;
}

.woocommerce-review-link {
	font-size: 0.8125rem;
	color: var(--color-text-muted);
	margin-left: 0.5rem;
}

.woocommerce-product-rating .star-rating {
	font-size: 1rem;
}

/* --------------------------------------------------------------------------
   Notices & Messages
   -------------------------------------------------------------------------- */

.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	padding: 0.875rem 1.25rem;
	margin-bottom: 1.25rem;
	border-radius: var(--radius-md);
	font-size: 0.9375rem;
	list-style: none;
}

.woocommerce-message {
	background: #ecfdf5;
	border: 1px solid #a7f3d0;
	color: #065f46;
}

.woocommerce-info {
	background: var(--color-primary-light);
	border: 1px solid #93c5fd;
	color: var(--color-primary-dark);
}

.woocommerce-error {
	background: #fef2f2;
	border: 1px solid #fecaca;
	color: #991b1b;
}

.woocommerce-message a,
.woocommerce-info a {
	color: inherit;
	font-weight: 600;
}

/* --------------------------------------------------------------------------
   Responsive
   -------------------------------------------------------------------------- */

@media (max-width: 1440px) {
	.woocommerce ul.products,
	.shopmedx-shop-content ul.products {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

@media (max-width: 1280px) {
	.woocommerce ul.products,
	.shopmedx-shop-content ul.products {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.shopmedx-shop-trust-bar__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.shopmedx-single-product__related ul.products {
		grid-template-columns: repeat(3, 1fr);
	}
}

@media (max-width: 1024px) {
	.shopmedx-shop-layout {
		grid-template-columns: 1fr;
	}

	.shopmedx-shop-trust-bar__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.shopmedx-shop-filters {
		position: fixed;
		top: 0;
		left: 0;
		bottom: 0;
		width: 320px;
		max-width: 90vw;
		z-index: 2000;
		background: var(--color-white);
		padding: 1rem;
		transform: translateX(-100%);
		transition: transform 0.3s ease;
		overflow-y: auto;
		box-shadow: var(--shadow-lg);
	}

	.shopmedx-shop-filters.is-open {
		transform: translateX(0);
	}

	.shopmedx-shop-filters.is-hidden {
		display: block;
		transform: translateX(-100%);
	}

	.woocommerce ul.products,
	.shopmedx-shop-content ul.products {
		grid-template-columns: repeat(2, 1fr);
	}

	.shopmedx-single-product__grid {
		grid-template-columns: 1fr;
		gap: 1.5rem;
	}

	.shopmedx-single-product__related ul.products {
		grid-template-columns: repeat(2, 1fr);
	}

	.shopmedx-checkout__grid {
		grid-template-columns: 1fr;
	}

	.shopmedx-checkout__customer {
		grid-template-columns: 1fr;
	}

	.shopmedx-checkout__section .form-row-first,
	.shopmedx-checkout__section .form-row-last {
		width: 100%;
		margin-right: 0;
	}

	.shopmedx-checkout__review {
		position: static;
	}

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

	.shopmedx-account-nav {
		position: static;
	}

	.shopmedx-account-nav ul {
		display: flex;
		flex-wrap: wrap;
	}

	.shopmedx-account-nav li {
		border-bottom: none;
		border-right: 1px solid var(--color-border);
	}

	.shopmedx-account-nav li a {
		padding: 0.625rem 1rem;
		font-size: 0.8125rem;
	}
}

@media (max-width: 768px) {
	.shopmedx-shop-trust-bar__grid {
		grid-template-columns: 1fr;
	}

	.woocommerce ul.products,
	.shopmedx-shop-content ul.products {
		grid-template-columns: 1fr;
	}

	.woocommerce ul.products.shopmedx-view-list .shopmedx-product-card__inner {
		flex-direction: column;
	}

	.woocommerce ul.products.shopmedx-view-list .shopmedx-product-card__image-link {
		flex: none;
		width: 100%;
	}

	.woocommerce ul.products.shopmedx-view-list .shopmedx-product-card__body {
		display: flex;
		flex-direction: column;
	}

	.woocommerce ul.products.shopmedx-view-list .shopmedx-product-card__price {
		grid-column: auto;
		grid-row: auto;
	}

	.shopmedx-single-product__related ul.products {
		grid-template-columns: 1fr;
	}
}


/* == shopmedx list view responsive == */

/* Scope the list rules to the shop container too - the shop template
   renders `.shopmedx-shop-content ul.products` and should not depend on
   the body carrying the .woocommerce class. */
.shopmedx-shop-content ul.products.shopmedx-view-list {
	grid-template-columns: 1fr;
	gap: 1rem;
}

.shopmedx-shop-content ul.products.shopmedx-view-list li.product .shopmedx-product-card__inner,
.shopmedx-shop-content ul.products.shopmedx-view-list li.shopmedx-product-card .shopmedx-product-card__inner {
	flex-direction: row;
	gap: 1rem;
	align-items: stretch;
}

.shopmedx-shop-content ul.products.shopmedx-view-list .shopmedx-product-card__image-link {
	flex: 0 0 160px;
	aspect-ratio: 1;
	border-radius: var(--radius-md);
}

.shopmedx-shop-content ul.products.shopmedx-view-list .shopmedx-product-card__body {
	flex: 1;
	min-width: 0;
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 0.25rem 1rem;
	align-content: center;
	padding: 0;
}

.shopmedx-shop-content ul.products.shopmedx-view-list .shopmedx-product-card__category,
.shopmedx-shop-content ul.products.shopmedx-view-list .shopmedx-product-card__title,
.shopmedx-shop-content ul.products.shopmedx-view-list .shopmedx-product-card__rating,
.shopmedx-shop-content ul.products.shopmedx-view-list .shopmedx-product-card__stock {
	grid-column: 1;
	min-width: 0;
}

.shopmedx-shop-content ul.products.shopmedx-view-list .shopmedx-product-card__price {
	grid-column: 2;
	align-self: center;
	font-size: 1.25rem;
	white-space: nowrap;
}

.shopmedx-shop-content ul.products.shopmedx-view-list .shopmedx-product-card__actions {
	grid-column: 1 / -1;
	justify-content: flex-start;
}

/* In list view the title can breathe over the full row. */
ul.products.shopmedx-view-list .shopmedx-product-card__title {
	font-size: 0.9375rem;
	line-height: 1.4;
	display: block;
	overflow: visible;
	-webkit-line-clamp: unset;
}

ul.products.shopmedx-view-list .shopmedx-product-card__footer {
	display: contents;
}

ul.products.shopmedx-view-list .shopmedx-product-card__price-row {
	display: contents;
}

/* The action row should not stretch edge to edge on wide screens. */
ul.products.shopmedx-view-list .shopmedx-product-card__actions .shopmedx-btn {
	flex: 0 0 auto;
	min-width: 9rem;
}

/* --------------------------------------------------------------------
   Tablet: narrower image, price drops under the title
   -------------------------------------------------------------------- */
@media (max-width: 900px) {
	.woocommerce ul.products.shopmedx-view-list .shopmedx-product-card__image-link,
	.shopmedx-shop-content ul.products.shopmedx-view-list .shopmedx-product-card__image-link {
		flex: 0 0 120px;
	}

	.woocommerce ul.products.shopmedx-view-list .shopmedx-product-card__body,
	.shopmedx-shop-content ul.products.shopmedx-view-list .shopmedx-product-card__body {
		grid-template-columns: minmax(0, 1fr);
	}

	.woocommerce ul.products.shopmedx-view-list .shopmedx-product-card__price,
	.shopmedx-shop-content ul.products.shopmedx-view-list .shopmedx-product-card__price {
		grid-column: 1;
		grid-row: auto;
		align-self: start;
		font-size: 1.125rem;
	}
}

/* --------------------------------------------------------------------
   Mobile: compact thumbnail, everything stacked and readable
   -------------------------------------------------------------------- */
@media (max-width: 640px) {
	.woocommerce ul.products.shopmedx-view-list li.product .shopmedx-product-card__inner,
	.woocommerce ul.products.shopmedx-view-list li.shopmedx-product-card .shopmedx-product-card__inner,
	.shopmedx-shop-content ul.products.shopmedx-view-list li.product .shopmedx-product-card__inner,
	.shopmedx-shop-content ul.products.shopmedx-view-list li.shopmedx-product-card .shopmedx-product-card__inner {
		gap: 0.75rem;
		padding: 0.75rem;
		align-items: flex-start;
	}

	.woocommerce ul.products.shopmedx-view-list .shopmedx-product-card__image-link,
	.shopmedx-shop-content ul.products.shopmedx-view-list .shopmedx-product-card__image-link {
		flex: 0 0 92px;
		width: 92px;
	}

	.woocommerce ul.products.shopmedx-view-list .shopmedx-product-card__body,
	.shopmedx-shop-content ul.products.shopmedx-view-list .shopmedx-product-card__body {
		gap: 0.25rem;
	}

	.woocommerce ul.products.shopmedx-view-list .shopmedx-product-card__title,
	.shopmedx-shop-content ul.products.shopmedx-view-list .shopmedx-product-card__title {
		font-size: 0.875rem;
	}

	.woocommerce ul.products.shopmedx-view-list .shopmedx-product-card__category,
	.shopmedx-shop-content ul.products.shopmedx-view-list .shopmedx-product-card__category {
		font-size: 0.625rem;
	}

	.woocommerce ul.products.shopmedx-view-list .shopmedx-product-card__price,
	.shopmedx-shop-content ul.products.shopmedx-view-list .shopmedx-product-card__price {
		font-size: 1rem;
	}

	/* Wishlist heart must not sit on top of the title. */
	.woocommerce ul.products.shopmedx-view-list .shopmedx-product-card__wishlist,
	.shopmedx-shop-content ul.products.shopmedx-view-list .shopmedx-product-card__wishlist {
		top: 0.5rem;
		right: 0.5rem;
	}

	.woocommerce ul.products.shopmedx-view-list .shopmedx-product-card__title,
	.shopmedx-shop-content ul.products.shopmedx-view-list .shopmedx-product-card__title {
		padding-right: 1.5rem;
	}

	/* Quantity stepper + button on their own full-width row. */
	.woocommerce ul.products.shopmedx-view-list .shopmedx-product-card__actions,
	.shopmedx-shop-content ul.products.shopmedx-view-list .shopmedx-product-card__actions {
		flex-wrap: wrap;
		gap: 0.5rem;
		margin-top: 0.625rem;
	}

	.woocommerce ul.products.shopmedx-view-list .shopmedx-product-card__actions .shopmedx-btn,
	.shopmedx-shop-content ul.products.shopmedx-view-list .shopmedx-product-card__actions .shopmedx-btn {
		flex: 1 1 auto;
		min-width: 0;
	}

	.woocommerce ul.products.shopmedx-view-list .shopmedx-qty,
	.shopmedx-shop-content ul.products.shopmedx-view-list .shopmedx-qty {
		flex: 0 0 auto;
	}
}

/* --------------------------------------------------------------------
   Grid view also needs to step down - 5 columns is far too many
   on small screens.
   -------------------------------------------------------------------- */
@media (max-width: 1280px) {
	.woocommerce ul.products,
	.shopmedx-shop-content ul.products,
	.shopmedx-shop-layout--no-filters .shopmedx-shop-content ul.products {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

@media (max-width: 1024px) {
	.woocommerce ul.products,
	.shopmedx-shop-content ul.products,
	.shopmedx-shop-layout--no-filters .shopmedx-shop-content ul.products {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 768px) {
	.woocommerce ul.products,
	.shopmedx-shop-content ul.products,
	.shopmedx-shop-layout--no-filters .shopmedx-shop-content ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 0.75rem;
	}

	/* List view stays single column regardless. */
	.woocommerce ul.products.shopmedx-view-list,
	.shopmedx-shop-content ul.products.shopmedx-view-list {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 400px) {
	.woocommerce ul.products,
	.shopmedx-shop-content ul.products {
		grid-template-columns: 1fr;
	}

	.woocommerce ul.products.shopmedx-view-list,
	.shopmedx-shop-content ul.products.shopmedx-view-list {
		grid-template-columns: 1fr;
	}
}
