/**
 * WCV Multivendor Theme — Premium UI
 *
 * Adapted from the supplied WC Vendors dashboard design direction:
 * neutral surfaces, blue semantic actions, restrained shadows, responsive
 * cards, accessible focus states, dark mode and print-friendly output.
 */
:root {
	--wcv-primary: #2271b1;
	--wcv-primary-hover: #135e96;
	--wcv-primary-active: #0a4b78;
	--wcv-primary-light: #e8f0fe;
	--wcv-primary-lighter: #f4f8ff;
	--wcv-primary-dark: #0a2a4a;
	--wcv-primary-rgb: 34, 113, 177;
	--wcv-success: #00a32a;
	--wcv-warning: #dba617;
	--wcv-error: #d63638;
	--wcv-info: #72aee6;
	--wcv-text: #1d2327;
	--wcv-text-secondary: #50575e;
	--wcv-text-muted: #646970;
	--wcv-text-light: #8c8f94;
	--wcv-surface: #ffffff;
	--wcv-surface-soft: #f6f7f7;
	--wcv-surface-alt: #fafbfc;
	--wcv-canvas: #f0f2f5;
	--wcv-border: #dcdcde;
	--wcv-border-light: #e5e5e7;
	--wcv-shadow-xs: 0 1px 2px rgba(0, 0, 0, .04);
	--wcv-shadow-sm: 0 2px 8px rgba(0, 0, 0, .06);
	--wcv-shadow-md: 0 4px 20px rgba(0, 0, 0, .08);
	--wcv-shadow-lg: 0 12px 40px rgba(0, 0, 0, .12);
	--wcv-radius-sm: 6px;
	--wcv-radius-md: 10px;
	--wcv-radius-lg: 14px;
	--wcv-radius-xl: 18px;
	--wcv-radius-full: 9999px;
	--wcv-ease: cubic-bezier(.4, 0, .2, 1);
	--wcv-ease-spring: cubic-bezier(.34, 1.56, .64, 1);
	--wcv-duration: .25s;
	--wcv-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Inter", sans-serif;

	/* Backwards-compatible aliases used by the original theme. */
	--wcv-ink: var(--wcv-text);
	--wcv-muted: var(--wcv-text-muted);
	--wcv-mint: var(--wcv-primary-light);
	--wcv-lime: #d8ff73;
	--wcv-paper: var(--wcv-surface-soft);
	--wcv-line: var(--wcv-border-light);
}

body {
	background: var(--wcv-canvas);
	color: var(--wcv-text);
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

body.wcv-modal-open {
	overflow: hidden;
}

body.wcv-menu-open {
	overflow: hidden;
}

.screen-reader-text,
.wcv-skip-link {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.wcv-skip-link:focus {
	top: 12px;
	left: 12px;
	z-index: 9999;
	width: auto;
	height: auto;
	padding: 12px 16px;
	overflow: visible;
	clip: auto;
	border-radius: var(--wcv-radius-md);
	background: var(--wcv-primary);
	color: #fff;
	box-shadow: var(--wcv-shadow-md);
}

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

button,
a,
.wcv-card,
.wcv-product-card,
.wcv-panel,
.wcv-quick-action-card,
.wcv-stat-card {
	transition: color var(--wcv-duration) var(--wcv-ease),
		background-color var(--wcv-duration) var(--wcv-ease),
		border-color var(--wcv-duration) var(--wcv-ease),
		box-shadow var(--wcv-duration) var(--wcv-ease),
		transform var(--wcv-duration) var(--wcv-ease);
}

.site-header {
	position: sticky;
	top: 0;
	z-index: 1020;
	padding: 18px clamp(24px, 5vw, 72px);
	background: rgba(255, 255, 255, .92);
	border-bottom: 1px solid var(--wcv-border-light);
	box-shadow: var(--wcv-shadow-xs);
	backdrop-filter: blur(14px);
}

.site-branding a {
	color: var(--wcv-text);
	letter-spacing: -.04em;
}

.main-navigation a {
	position: relative;
	color: var(--wcv-text-secondary);
	font-weight: 500;
}

.main-navigation a::after {
	position: absolute;
	right: 0;
	bottom: -8px;
	left: 0;
	height: 2px;
	background: var(--wcv-primary);
	border-radius: var(--wcv-radius-full);
	content: "";
	transform: scaleX(0);
	transform-origin: right;
	transition: transform var(--wcv-duration) var(--wcv-ease);
}

.main-navigation a:hover,
.main-navigation a:focus-visible {
	color: var(--wcv-primary);
}

.main-navigation a:hover::after,
.main-navigation a:focus-visible::after {
	transform: scaleX(1);
	transform-origin: left;
}

.menu-toggle {
	display: none;
	border: 1px solid var(--wcv-border);
	border-radius: var(--wcv-radius-md);
	background: var(--wcv-surface);
	color: var(--wcv-text);
	cursor: pointer;
	padding: 9px 12px;
}

.wcv-container {
	max-width: 1180px;
	margin-right: auto;
	margin-left: auto;
	padding: clamp(32px, 5vw, 64px) 24px;
}

.wcv-hero {
	position: relative;
	overflow: hidden;
	background:
		radial-gradient(circle at 85% 20%, rgba(114, 174, 230, .22), transparent 30%),
		linear-gradient(135deg, var(--wcv-primary-light), var(--wcv-surface) 62%, var(--wcv-primary-lighter));
	border-bottom: 1px solid var(--wcv-border-light);
}

.wcv-hero::after {
	position: absolute;
	right: -80px;
	bottom: -160px;
	width: 420px;
	height: 420px;
	border: 1px solid rgba(var(--wcv-primary-rgb), .14);
	border-radius: 50%;
	box-shadow: 0 0 0 38px rgba(var(--wcv-primary-rgb), .05), 0 0 0 76px rgba(var(--wcv-primary-rgb), .03);
	content: "";
}

.wcv-hero h1,
.wcv-container > h1,
.wcv-section-head h1 {
	color: var(--wcv-text);
	font-weight: 750;
	letter-spacing: -.055em;
}

.wcv-kicker {
	color: var(--wcv-primary);
	font-weight: 700;
	letter-spacing: .14em;
}

.wcv-button {
	border: 1px solid var(--wcv-primary);
	background: linear-gradient(135deg, var(--wcv-primary), var(--wcv-primary-hover));
	box-shadow: 0 4px 14px rgba(var(--wcv-primary-rgb), .22);
	color: #fff;
	font-weight: 600;
}

.wcv-button:hover,
.wcv-button:focus-visible {
	background: linear-gradient(135deg, var(--wcv-primary-hover), var(--wcv-primary-active));
	box-shadow: 0 7px 22px rgba(var(--wcv-primary-rgb), .3);
	color: #fff;
	transform: translateY(-2px);
}

.wcv-grid,
.wcv-product-grid {
	gap: 20px;
}

.wcv-card,
.wcv-panel,
.wcv-stat-card,
.wcv-quick-action-card {
	background: var(--wcv-surface);
	border: 1px solid var(--wcv-border-light);
	border-radius: var(--wcv-radius-lg);
	box-shadow: var(--wcv-shadow-sm);
}

.wcv-card {
	padding: 24px;
}

.wcv-card:hover,
.wcv-panel:hover,
.wcv-stat-card:hover,
.wcv-quick-action-card:hover {
	border-color: rgba(var(--wcv-primary-rgb), .55);
	box-shadow: var(--wcv-shadow-md);
	transform: translateY(-3px);
}

.wcv-product-card {
	position: relative;
	overflow: hidden;
	background: var(--wcv-surface);
	border: 1px solid var(--wcv-border-light);
	border-radius: var(--wcv-radius-lg);
	box-shadow: var(--wcv-shadow-sm);
}

.wcv-product-card:hover {
	border-color: rgba(var(--wcv-primary-rgb), .6);
	box-shadow: var(--wcv-shadow-lg);
	transform: translateY(-4px);
}

.wcv-product-card__link {
	display: block;
	color: inherit;
	text-decoration: none;
}

.wcv-product-card__media {
	position: relative;
	overflow: hidden;
	background: var(--wcv-surface-soft);
}

.wcv-product-card__media img,
.wcv-product-card > a > img {
	display: block;
	width: 100%;
	aspect-ratio: 1.15;
	object-fit: cover;
	transition: transform .45s var(--wcv-ease);
}

.wcv-product-card:hover .wcv-product-card__media img,
.wcv-product-card:hover > a > img {
	transform: scale(1.045);
}

.wcv-product-card__content {
	padding: 18px;
}

.wcv-product-card h2,
.wcv-product-card h3 {
	margin: 8px 0 6px;
	color: var(--wcv-text);
	font-size: 1rem;
	line-height: 1.35;
}

.wcv-product-card h3 a {
	color: inherit;
	text-decoration: none;
}

.wcv-product-card h3 a:hover {
	color: var(--wcv-primary);
}

.wcv-product-card--list {
	display: grid;
	grid-template-columns: 180px 1fr;
}

.wcv-product-card--list .wcv-product-card__media img {
	height: 100%;
	aspect-ratio: auto;
}

.wcv-product-price,
.wcv-product-card .price {
	color: var(--wcv-primary-dark);
	font-weight: 700;
}

.wcv-product-vendor {
	display: block;
	color: var(--wcv-text-muted);
	font-size: .75rem;
}

.wcv-product-vendor a {
	color: var(--wcv-primary);
	font-weight: 600;
	text-decoration: none;
}

.wcv-product-rating {
	margin: 8px 0;
	color: #dba617;
}

.wcv-product-badges {
	position: absolute;
	top: 12px;
	left: 12px;
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

.wcv-badge {
	display: inline-flex;
	align-items: center;
	min-height: 24px;
	padding: 4px 9px;
	border: 1px solid transparent;
	border-radius: var(--wcv-radius-full);
	font-size: .6875rem;
	font-weight: 700;
	line-height: 1;
}

.wcv-badge--sale {
	background: #fcebeb;
	border-color: rgba(214, 54, 56, .2);
	color: #8a2425;
}

.wcv-badge--new {
	background: var(--wcv-primary-light);
	border-color: rgba(var(--wcv-primary-rgb), .2);
	color: var(--wcv-primary-dark);
}

.wcv-product-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	padding: 0 18px 18px;
}

.wcv-product-actions .add_to_cart_button,
.wcv-product-actions .product_type_variable,
.wcv-product-actions .product_type_external {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 38px;
	padding: 8px 13px;
	border: 1px solid var(--wcv-primary);
	border-radius: var(--wcv-radius-md);
	background: var(--wcv-primary);
	color: #fff;
	font-size: .8125rem;
	font-weight: 600;
	text-decoration: none;
}

.wcv-product-actions .add_to_cart_button:hover,
.wcv-product-actions .product_type_variable:hover,
.wcv-product-actions .product_type_external:hover {
	background: var(--wcv-primary-hover);
	color: #fff;
	transform: translateY(-1px);
}

.wcv-icon-button {
	border: 1px solid var(--wcv-border);
	background: var(--wcv-surface);
	color: var(--wcv-text-secondary);
	font-weight: 600;
}

.wcv-icon-button:hover,
.wcv-icon-button:focus-visible,
.wcv-icon-button.is-active {
	border-color: var(--wcv-primary);
	background: var(--wcv-primary-light);
	color: var(--wcv-primary-dark);
}

.wcv-dashboard {
	gap: 32px;
}

.wcv-dashboard aside {
	background: linear-gradient(160deg, #172b43, #0a2a4a);
	box-shadow: var(--wcv-shadow-lg);
}

.wcv-dashboard aside a {
	border: 1px solid transparent;
	transition: all var(--wcv-duration) var(--wcv-ease);
}

.wcv-dashboard aside a:hover,
.wcv-dashboard aside a.active {
	background: rgba(114, 174, 230, .16);
	border-color: rgba(114, 174, 230, .25);
	color: #fff;
	transform: translateX(3px);
}

.wcv-stats div {
	background: var(--wcv-surface);
	border-color: var(--wcv-border-light);
	box-shadow: var(--wcv-shadow-sm);
}

.wcv-stats strong {
	color: var(--wcv-text);
	font-variant-numeric: tabular-nums;
}

.wcv-section-head form {
	background: var(--wcv-surface);
	border-color: var(--wcv-border);
	box-shadow: var(--wcv-shadow-xs);
}

.wcv-section-head input {
	min-height: 44px;
	background: transparent;
	color: var(--wcv-text);
}

.wcv-product-filters {
	display: grid;
	grid-template-columns: minmax(220px, 1fr) 170px auto;
	gap: 8px;
	align-items: center;
}

.wcv-product-filters input,
.wcv-product-filters select {
	min-height: 44px;
	padding: 9px 12px;
	border: 1px solid var(--wcv-border);
	border-radius: var(--wcv-radius-md);
	background: var(--wcv-surface);
	color: var(--wcv-text);
}

.wcv-product-filters input:focus,
.wcv-product-filters select:focus {
	border-color: var(--wcv-primary);
	box-shadow: 0 0 0 3px rgba(var(--wcv-primary-rgb), .14);
	outline: none;
}

.wcv-toast-region {
	position: fixed;
	top: 32px;
	right: 32px;
	z-index: 1090;
	display: grid;
	gap: 8px;
	width: min(300px, calc(100vw - 32px));
	max-height: min(70vh, 480px);
	overflow-y: auto;
	pointer-events: none;
}

.wcv-toast {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	width: 100%;
	box-sizing: border-box;
	padding: 8px 42px 8px 12px;
	border: 1px solid rgba(255, 255, 255, .16);
	border-radius: var(--wcv-radius-md);
	background: var(--wcv-text);
	box-shadow: var(--wcv-shadow-lg);
	color: #fff;
	font-size: 12px;
	overflow: auto;
	overflow-wrap: anywhere;
	pointer-events: auto;
}

.wcv-toast__message {
	flex: 1;
	line-height: 1.4;
	word-break: break-word;
}

.wcv-toast__close {
	position: absolute;
	top: 6px;
	right: 8px;
	min-width: unset;
	min-height: unset;
	padding: 0 4px;
	border: 0;
	background: transparent;
	color: inherit;
	cursor: pointer;
	font-size: 18px;
	line-height: 1;
}

.wcv-toast.success,
.wcv-toast.wcv-toast--success {
	background: var(--wcv-success);
}
.wcv-toast.error,
.wcv-toast.wcv-toast--error {
	background: var(--wcv-error);
}
.wcv-toast.warning,
.wcv-toast.wcv-toast--warning {
	background: var(--wcv-warning);
	color: var(--wcv-text);
}

.wcv-toast.info,
.wcv-toast.wcv-toast--info {
	background: var(--wcv-primary);
	color: #fff;
}

@media (max-width: 760px) {
	.wcv-toast {
		width: 100%;
	}
	.wcv-toast-region {
		top: 16px;
		right: 16px;
		width: min(300px, calc(100vw - 32px));
	}
}

.wcv-modal {
	background: rgba(10, 42, 74, .72);
	backdrop-filter: blur(8px);
}

.wcv-modal-inner {
	max-height: min(760px, calc(100vh - 40px));
	overflow: auto;
}

:focus-visible {
	outline: 3px solid rgba(var(--wcv-primary-rgb), .45);
	outline-offset: 3px;
}

@media (max-width: 900px) {
	.wcv-product-card--list {
		grid-template-columns: 140px 1fr;
	}
}

@media (max-width: 760px) {
	.site-header {
		padding: 16px 24px;
	}

	.menu-toggle {
		display: inline-flex;
		align-items: center;
		justify-content: center;
	}

	.main-navigation {
		position: absolute;
		top: 100%;
		right: 16px;
		left: 16px;
		display: none;
		padding: 12px;
		border: 1px solid var(--wcv-border-light);
		border-radius: var(--wcv-radius-lg);
		background: var(--wcv-surface);
		box-shadow: var(--wcv-shadow-lg);
	}

	body.wcv-menu-open .main-navigation {
		display: block;
	}

	.main-navigation ul {
		display: grid;
		gap: 4px;
	}

	.main-navigation a {
		display: block;
		padding: 11px 12px;
		border-radius: var(--wcv-radius-md);
	}

	.main-navigation a:hover {
		background: var(--wcv-primary-light);
	}

	.main-navigation a::after {
		display: none;
	}

	.wcv-container {
		padding: 36px 18px;
	}

	.wcv-product-filters {
		grid-template-columns: 1fr;
		width: 100%;
	}

	.wcv-product-card--list {
		display: block;
	}

	.wcv-product-card--list .wcv-product-card__media img {
		width: 100%;
		aspect-ratio: 1.4;
	}
}

@media (prefers-color-scheme: dark) {
	:root:not([data-theme="light"]) {
		--wcv-text: #e8e8ec;
		--wcv-text-secondary: #b0b0b8;
		--wcv-text-muted: #a0a0a8;
		--wcv-surface: #232327;
		--wcv-surface-soft: #2a2a2f;
		--wcv-surface-alt: #2f2f34;
		--wcv-canvas: #1a1a1e;
		--wcv-border: #3a3a42;
		--wcv-border-light: #3f3f47;
		--wcv-primary-light: #1a3a5c;
		--wcv-primary-lighter: #1e2f42;
		--wcv-shadow-sm: 0 2px 8px rgba(0, 0, 0, .5);
		--wcv-shadow-md: 0 4px 20px rgba(0, 0, 0, .6);
		--wcv-shadow-lg: 0 12px 40px rgba(0, 0, 0, .7);
		--wcv-paper: var(--wcv-surface-soft);
		--wcv-line: var(--wcv-border-light);
	}

	.site-header {
		background: rgba(35, 35, 39, .92);
	}

	.wcv-hero {
		background: radial-gradient(circle at 85% 20%, rgba(114, 174, 230, .18), transparent 30%), var(--wcv-canvas);
	}

	.wcv-button {
		color: #fff;
	}
}

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

@media print {
	.site-header,
	.wcv-product-actions,
	.wcv-modal,
	.wcv-button {
		display: none !important;
	}

	body,
	.wcv-card,
	.wcv-panel,
	.wcv-product-card {
		background: #fff !important;
		box-shadow: none !important;
		color: #000 !important;
	}
}

/* Premium checkout */
.wcv-checkout-page,
.wcv-checkout-complete {
	max-width: 1180px;
	margin: 0 auto;
	padding: 72px 24px 96px;
}

.wcv-checkout-intro,
.wcv-checkout-complete__intro {
	max-width: 720px;
	margin: 0 auto 40px;
	text-align: center;
}

.wcv-checkout-intro h1,
.wcv-checkout-complete h1 {
	margin: 10px 0 14px;
	color: var(--wcv-text);
	font-size: clamp(2.2rem, 5vw, 4.8rem);
	line-height: .98;
	letter-spacing: -.055em;
}

.wcv-checkout-intro p,
.wcv-checkout-complete__intro p {
	margin: 0;
	color: var(--wcv-text-secondary);
}

.wcv-checkout-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.25fr) minmax(320px, .75fr);
	gap: 24px;
	align-items: start;
}

.wcv-checkout-card,
.wcv-order-received {
	padding: clamp(22px, 4vw, 38px);
	border: 1px solid var(--wcv-border-light);
	border-radius: var(--wcv-radius-lg);
	background: var(--wcv-surface);
	box-shadow: var(--wcv-shadow-md);
}

.wcv-checkout-summary {
	position: sticky;
	top: 28px;
}

.wcv-checkout-card__head,
.wcv-checkout-section__head,
.wcv-payment-heading {
	display: flex;
	gap: 14px;
	align-items: flex-start;
	margin-bottom: 26px;
}

.wcv-checkout-card__head h2,
.wcv-checkout-section h3,
.wcv-payment-heading h3,
.wcv-checkout-section__head h3 {
	margin: 3px 0 0;
	color: var(--wcv-text);
	font-size: 1.35rem;
	letter-spacing: -.025em;
}

.wcv-checkout-step {
	display: inline-grid;
	width: 34px;
	height: 34px;
	flex: 0 0 34px;
	place-items: center;
	border-radius: 50%;
	background: var(--wcv-primary-light);
	color: var(--wcv-primary-dark);
	font-size: .75rem;
	font-weight: 800;
}

.wcv-checkout-section {
	padding-bottom: 28px;
	margin-bottom: 28px;
	border-bottom: 1px solid var(--wcv-border-light);
}

.wcv-checkout-section:last-child {
	padding-bottom: 0;
	margin-bottom: 0;
	border-bottom: 0;
}

.wcv-form-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 14px;
}

.wcv-form-grid .form-row-wide {
	grid-column: 1 / -1;
}

.wcv-checkout-fields .form-row,
.wcv-checkout-callout .form-row,
.wcv-place-order {
	margin: 0 0 14px;
}

.wcv-checkout-fields label,
.wcv-checkout-callout label,
.wcv-checkout-terms label {
	display: block;
	margin-bottom: 6px;
	color: var(--wcv-text);
	font-size: .82rem;
	font-weight: 700;
}

.wcv-checkout-fields input.input-text,
.wcv-checkout-fields select,
.wcv-checkout-fields textarea,
.wcv-checkout-callout input.input-text {
	width: 100%;
	min-height: 46px;
	padding: 10px 13px;
	border: 1px solid var(--wcv-border);
	border-radius: var(--wcv-radius-md);
	background: var(--wcv-surface-soft);
	color: var(--wcv-text);
}

.wcv-checkout-fields textarea {
	min-height: 100px;
	resize: vertical;
}

.wcv-checkout-fields input:focus,
.wcv-checkout-fields select:focus,
.wcv-checkout-fields textarea:focus,
.wcv-checkout-callout input:focus {
	border-color: var(--wcv-primary);
	box-shadow: 0 0 0 3px rgba(var(--wcv-primary-rgb), .14);
	outline: none;
}

.wcv-checkout-callout {
	padding: 16px 18px;
	margin-bottom: 22px;
	border: 1px solid var(--wcv-border-light);
	border-radius: var(--wcv-radius-md);
	background: var(--wcv-primary-lighter);
	color: var(--wcv-text-secondary);
}

.wcv-checkout-callout p {
	margin: 0 0 12px;
}

.wcv-checkout-callout .form-row-first,
.wcv-checkout-callout .form-row-last {
	width: calc(50% - 7px);
	float: left;
}

.wcv-checkout-callout .form-row-last {
	float: right;
}

.wcv-checkout-callout .clear {
	clear: both;
}

.wcv-order-review table {
	width: 100%;
	border-collapse: collapse;
}

.wcv-order-review th,
.wcv-order-review td {
	padding: 12px 4px;
	border-bottom: 1px solid var(--wcv-border-light);
	text-align: left;
	vertical-align: middle;
}

.wcv-order-review th:last-child,
.wcv-order-review td:last-child {
	text-align: right;
}

.wcv-order-review thead th {
	color: var(--wcv-text-muted);
	font-size: .72rem;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.wcv-order-product {
	display: flex;
	gap: 10px;
	align-items: center;
}

.wcv-order-product__thumb {
	display: block;
	width: 44px;
	height: 44px;
	overflow: hidden;
	flex: 0 0 44px;
	border-radius: 10px;
	background: var(--wcv-surface-alt);
}

.wcv-order-product__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.wcv-order-product strong,
.wcv-order-product .product-quantity {
	display: block;
}

.wcv-order-product strong {
	color: var(--wcv-text);
	font-size: .86rem;
}

.wcv-order-product .product-quantity {
	color: var(--wcv-text-muted);
	font-size: .75rem;
}

.wcv-order-review .order-total th,
.wcv-order-review .order-total td {
	border-bottom: 0;
	color: var(--wcv-text);
	font-size: 1.05rem;
	font-weight: 800;
}

.wcv-payment-section {
	padding-top: 20px;
	border-top: 1px solid var(--wcv-border-light);
}

.wcv-payment-heading {
	display: block;
	margin-bottom: 16px;
}

.wc_payment_methods,
.wcv-shipping-methods {
	margin: 0;
	padding: 0;
	list-style: none;
}

.wc_payment_method,
.wcv-vendor-shipping__package {
	padding: 14px;
	margin-top: 10px;
	border: 1px solid var(--wcv-border-light);
	border-radius: var(--wcv-radius-md);
	background: var(--wcv-surface-soft);
}

.wc_payment_method > label {
	display: flex;
	gap: 8px;
	align-items: center;
	justify-content: space-between;
	cursor: pointer;
	color: var(--wcv-text);
	font-weight: 700;
}

.wc_payment_method > label img {
	max-height: 24px;
	width: auto;
}

.payment_box {
	padding: 12px 14px;
	margin: 12px 0 0 24px;
	border-radius: var(--wcv-radius-md);
	background: var(--wcv-surface);
	color: var(--wcv-text-secondary);
	font-size: .86rem;
}

.wcv-checkout-terms {
	margin: 18px 0;
	color: var(--wcv-text-secondary);
	font-size: .82rem;
}

.wcv-checkout-terms label {
	display: flex;
	gap: 8px;
	align-items: flex-start;
}

.wcv-checkout-terms input {
	margin-top: 4px;
	flex: 0 0 auto;
}

.wcv-place-order__button {
	width: 100%;
	justify-content: center;
	min-height: 52px;
	border: 0;
	cursor: pointer;
}

.wcv-shipping-method {
	display: flex;
	gap: 8px;
	padding: 7px 0;
	color: var(--wcv-text-secondary);
}

.woocommerce-order-overview {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 12px;
	padding: 0;
	margin: 24px 0 0;
	list-style: none;
}

.woocommerce-order-overview li {
	padding: 14px;
	border-radius: var(--wcv-radius-md);
	background: var(--wcv-surface-soft);
	color: var(--wcv-text);
}

.woocommerce-order-overview li span,
.woocommerce-order-overview li strong {
	display: block;
}

.woocommerce-order-overview li span {
	margin-bottom: 4px;
	color: var(--wcv-text-muted);
	font-size: .72rem;
	letter-spacing: .08em;
	text-transform: uppercase;
}

@media (max-width: 900px) {
	.wcv-checkout-grid {
		grid-template-columns: 1fr;
	}

	.wcv-checkout-summary {
		position: static;
	}
}

@media (max-width: 760px) {
	.wcv-checkout-page,
	.wcv-checkout-complete {
		padding: 48px 18px 72px;
	}

	.wcv-form-grid {
		display: block;
	}

	.wcv-checkout-card,
	.wcv-order-received {
		padding: 22px 18px;
	}

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

	.woocommerce-order-overview {
		grid-template-columns: repeat(2, 1fr);
	}
}

/* Product availability badges. */
.wcv-product-badges{z-index:2;max-width:calc(100% - 24px)}.wcv-badge{gap:6px;box-shadow:0 5px 12px rgba(23,37,31,.08);letter-spacing:.01em}.wcv-badge__dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:currentColor;box-shadow:0 0 0 3px currentColor;opacity:.16}.wcv-badge--instock{background:#e8f8ed;border-color:rgba(31,125,65,.2);color:#1f7d41}.wcv-badge--backorder{background:#fff5d9;border-color:rgba(177,120,0,.24);color:#8a5d00}.wcv-badge--low-stock{background:#fff0df;border-color:rgba(194,103,17,.24);color:#a2530d}.wcv-badge--outofstock{background:#f8e8e8;border-color:rgba(161,50,53,.22);color:#8c3033}.wcv-product-card__media{position:relative;overflow:hidden}.wcv-product-card__media .wcv-product-badges{transition:transform .2s ease}.wcv-product-card:hover .wcv-product-card__media .wcv-product-badges{transform:translateY(-2px)}
@media(max-width:760px){.wcv-product-badges{top:9px;left:9px;gap:4px}.wcv-badge{min-height:22px;padding:4px 7px;font-size:.62rem}}

.wcv-product-badges--single{position:static;max-width:none;margin:0 0 16px}.wcv-product-badges--single .wcv-badge{font-size:.72rem}


/* Configurable premium page layouts. */
.wcv-container,
.wcv-header__inner,
.wcv-footer__inner {
	max-width: var(--wcv-site-max, 1180px);
}
.wcv-shop-archive,
.woocommerce .wcv-container.wcv-shop-archive,
.wcv-product-container {
	max-width: var(--wcv-shop-max, 1320px);
}
.wcv-page-shell {
	width: 100%;
	margin-inline: auto;
	padding-block: clamp(40px, 7vw, 88px);
}
.wcv-page-shell--standard .wcv-page-content {
	max-width: var(--wcv-content-max, 820px);
	margin-inline: auto;
}
.wcv-page-shell--narrow .wcv-page-content {
	max-width: 680px;
	margin-inline: auto;
}
.wcv-page-shell--full {
	max-width: none;
	padding-inline: 0;
}
.wcv-page-shell--full .wcv-page-content {
	width: 100%;
}
.wcv-page-content h1 {
	margin: 14px 0 32px;
}
.wcv-entry-content {
	color: var(--wcv-text-secondary, #50575e);
	font-size: 1rem;
}
.wcv-entry-content > * {
	max-width: 100%;
}
.wcv-entry-content img,
.wcv-entry-content video,
.wcv-entry-content iframe {
	max-width: 100%;
}
.wcv-entry-content a {
	color: var(--wcv-primary);
	text-decoration-thickness: .08em;
	text-underline-offset: .16em;
}
.wcv-layout-narrow .site-main > .wcv-container {
	max-width: var(--wcv-content-max, 820px);
}
.wcv-layout-full .site-main > .wcv-container {
	max-width: none;
}
@media (max-width: 760px) {
	.wcv-page-shell {
		padding: 42px 16px 70px;
	}
	.wcv-page-shell--full {
		padding-inline: 0;
	}
}

/* WooCommerce reviews: reliable modal form presentation. */
.wcv-review-modal__inner{max-width:640px;padding:32px}.wcv-review-modal__inner h2{margin:8px 36px 20px 0}.wcv-review-modal__inner #review_form_wrapper{display:block!important;margin:0}.wcv-review-modal__inner #review_form{display:block!important}.wcv-review-modal__inner #review_form p{margin:0 0 14px}.wcv-review-modal__inner #review_form label{display:block;margin-bottom:6px;color:var(--wcv-text-secondary,#50575e);font-size:.8rem;font-weight:700}.wcv-review-modal__inner #review_form input[type=text],.wcv-review-modal__inner #review_form input[type=email],.wcv-review-modal__inner #review_form textarea{box-sizing:border-box;width:100%;border:1px solid var(--wcv-border,#dcdcde);border-radius:8px;background:var(--wcv-surface-soft,#f6f7f7);padding:11px 12px;color:var(--wcv-text,#1d2327)}.wcv-review-modal__inner #review_form input[type=text],.wcv-review-modal__inner #review_form input[type=email]{min-height:44px}.wcv-review-modal__inner #review_form textarea{min-height:130px;resize:vertical}.wcv-review-modal__inner #review_form input:focus,.wcv-review-modal__inner #review_form textarea:focus{outline:2px solid var(--wcv-primary,#2271b1);outline-offset:1px}.wcv-review-modal__inner #review_form .comment-form-rating{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.wcv-review-modal__inner #review_form .comment-form-rating label{margin:0}.wcv-review-modal__inner #review_form .stars{margin:0}.wcv-review-modal__inner #review_form .stars a{color:var(--wcv-primary,#2271b1)}.wcv-review-modal__inner #review_form .form-submit{margin-top:20px}.wcv-review-modal__inner #review_form .form-submit input[type=submit]{min-height:44px;border:0;border-radius:8px;background:var(--wcv-primary,#2271b1);padding:10px 18px;color:#fff;font-weight:800;cursor:pointer}.wcv-review-modal__inner #review_form .form-submit input[type=submit]:hover{background:var(--wcv-primary-hover,#135e96)}.wcv-review-modal__inner #review_form .required{color:#b32d2e}.wcv-review-modal__inner .comment-form-cookies-consent{display:flex;gap:8px;align-items:flex-start}.wcv-review-modal__inner .comment-form-cookies-consent input{margin-top:4px}.wcv-review-modal__inner .comment-form-cookies-consent label{margin:0;font-weight:500;font-size:.74rem;line-height:1.4}
@media(max-width:600px){.wcv-review-modal__inner{padding:24px 18px}.wcv-review-modal__inner h2{font-size:1.45rem}}
