/* ==========================================================================
   Voice Art core styles
   Brand reference: #2F9F90
   ========================================================================== */

:root {
	--va-primary: #2F9F90;
	--va-primary-dark: #1F675E;
	--va-primary-darker: #153F39;
	--va-primary-medium: #6DBCB1;
	--va-primary-soft: #EEF7F6;
	--va-primary-soft-2: #D5ECE9;
	--va-text: #18302D;
	--va-muted: #6B7D79;
	--va-border: #DFEAE8;
	--va-bg: #FFFFFF;
	--va-page-bg: #F5F5F5;
	--va-footer-bg: #1F675E;
	--va-bg-soft: #F6FAF9;
	--va-danger: #B33B3B;
	--va-success: #287A64;
	--va-radius-sm: 10px;
	--va-radius: 16px;
	--va-radius-lg: 24px;
	--va-shadow-sm: 0 6px 24px rgba(24, 48, 45, .06);
	--va-shadow: 0 18px 50px rgba(24, 48, 45, .10);
	--va-container: 1280px;
	--va-base-font-size: 16px;
	--va-body-font: inherit;
	--va-submenu-font-size: 12px;
	--va-submenu-font-weight: 500;
	--va-transition: 180ms ease;
}

/* Elementor product archive widget -------------------------------------- */
.va-products-widget {
	position: relative;
	width: 100%;
	min-width: 0;
}

.woocommerce.va-products-widget ul.products {
	margin: 0;
	padding: 0;
	list-style: none;
}

.woocommerce.va-products-widget ul.products.va-products-widget__grid {
	display: grid !important;
	grid-template-columns: repeat(var(--va-products-columns, 3), minmax(0, 1fr));
	align-items: stretch;
}

.woocommerce.va-products-widget ul.products.va-products-widget__grid::before,
.woocommerce.va-products-widget ul.products.va-products-widget__grid::after {
	display: none !important;
	content: none !important;
}

.woocommerce.va-products-widget ul.products li.product {
	width: 100% !important;
	min-width: 0;
	height: auto;
	margin: 0 !important;
	float: none !important;
}

.va-products-widget .va-sample-card,
.va-products-widget .va-course-card {
	height: 100%;
}

.va-products-widget__carousel {
	position: relative;
	min-width: 0;
	margin: 0;
	padding-inline: 0;
}

.va-products-widget__swiper {
	width: 100%;
	min-width: 0;
	overflow: hidden;
}

.woocommerce.va-products-widget .va-products-widget__swiper ul.products.swiper-wrapper {
	display: flex !important;
	box-sizing: content-box;
	width: 100%;
	margin: 0;
	padding: 0;
}

.woocommerce.va-products-widget .va-products-widget__swiper ul.products.swiper-wrapper::before,
.woocommerce.va-products-widget .va-products-widget__swiper ul.products.swiper-wrapper::after {
	display: none !important;
	content: none !important;
}

.woocommerce.va-products-widget .va-products-widget__swiper ul.products li.product.swiper-slide {
	display: flex;
	flex: 0 0 auto;
	height: auto;
}

.va-products-widget__arrow {
	position: absolute;
	top: 50%;
	z-index: 3;
	display: grid;
	width: 42px;
	height: 42px;
	padding: 0;
	place-items: center;
	border: 1px solid #dce8e5;
	border-radius: 50%;
	background: #fff;
	color: var(--va-primary-dark);
	box-shadow: 0 6px 20px rgba(31, 103, 94, .1);
	cursor: pointer;
	transform: translateY(-50%);
	transition: opacity 160ms ease, background-color 160ms ease, color 160ms ease;
}

.va-products-widget__arrow span {
	display: block;
	font-family: Arial, sans-serif;
	font-size: 30px;
	font-weight: 400;
	line-height: 1;
}

.va-products-widget__prev {
	left: 0;
}

.va-products-widget__next {
	right: 0;
}

.va-products-widget__arrow:hover,
.va-products-widget__arrow:focus-visible {
	background: var(--va-primary);
	color: #fff;
}

.va-products-widget__arrow.swiper-button-disabled {
	opacity: .35;
	cursor: default;
}

.va-products-widget__pagination.swiper-pagination {
	position: static;
	display: flex;
	justify-content: center;
	gap: 6px;
	margin-top: 20px;
}

.va-products-widget__pagination .swiper-pagination-bullet {
	width: 8px;
	height: 8px;
	margin: 0 !important;
	border-radius: 999px;
	background: #d7e4e1;
	opacity: 1;
	transition: width 160ms ease, background-color 160ms ease;
}

.va-products-widget__pagination .swiper-pagination-bullet-active {
	width: 24px;
	background: var(--va-primary);
}

.va-products-widget__page-nav {
	display: flex;
	justify-content: center;
	gap: 7px;
	margin-top: 28px;
}

.va-products-widget__page-nav .page-numbers {
	display: grid;
	min-width: 38px;
	height: 38px;
	padding: 0 9px;
	place-items: center;
	border: 1px solid #dde7e5;
	border-radius: 8px;
	background: #fff;
	color: var(--va-text);
	font-size: .78rem;
	font-weight: 800;
}

.va-products-widget__page-nav .page-numbers.current,
.va-products-widget__page-nav .page-numbers:hover {
	border-color: var(--va-primary);
	background: var(--va-primary);
	color: #fff;
}

.va-products-widget__empty {
	padding: 24px;
	border: 1px dashed #d6e3e0;
	border-radius: 8px;
	background: #fff;
	color: var(--va-muted);
	text-align: center;
}

@media (max-width: 1024px) {
	.woocommerce.va-products-widget ul.products.va-products-widget__grid {
		grid-template-columns: repeat(var(--va-products-columns-tablet, 2), minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	.woocommerce.va-products-widget ul.products.va-products-widget__grid {
		grid-template-columns: repeat(var(--va-products-columns-mobile, 1), minmax(0, 1fr));
	}

	.va-products-widget__carousel {
		padding-inline: 0;
		padding-bottom: 0;
	}

	.va-products-widget__arrow {
		top: 50%;
		bottom: auto;
		width: 38px;
		height: 38px;
		transform: translateY(-50%);
	}

	.va-products-widget__prev {
		left: 6px;
	}

	.va-products-widget__next {
		right: 6px;
	}

	.va-products-widget__pagination.swiper-pagination {
		margin-top: 14px;
	}
}

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

html {
	scroll-behavior: smooth;
}

body {
	margin: 0;
	background: var(--va-page-bg);
	color: var(--va-text);
	font-family: var(--va-body-font);
	font-size: var(--va-base-font-size);
	line-height: 1.85;
	-webkit-font-smoothing: antialiased;
}

body.va-no-scroll {
	overflow: hidden;
}

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

a {
	color: var(--va-primary-dark);
	text-decoration: none;
	transition: color var(--va-transition), opacity var(--va-transition);
}

a:hover {
	color: var(--va-primary);
}

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

button,
a {
	-webkit-tap-highlight-color: transparent;
}

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

.va-site-main {
	min-height: 55vh;
	background: var(--va-page-bg);
}

.va-button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.wc-block-components-button:not(.is-link) {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	padding: 0 20px;
	border: 0 !important;
	border-radius: 12px !important;
	background: var(--va-primary) !important;
	color: #fff !important;
	font-weight: 800;
	cursor: pointer;
	box-shadow: none !important;
	transition: transform var(--va-transition), background var(--va-transition), box-shadow var(--va-transition);
}

.va-button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.wc-block-components-button:not(.is-link):hover {
	background: var(--va-primary-dark) !important;
	color: #fff !important;
	transform: translateY(-1px);
	box-shadow: 0 10px 22px rgba(47, 159, 144, .18) !important;
}

.va-icon-button {
	position: relative;
	display: inline-grid;
	place-items: center;
	width: 42px;
	height: 42px;
	padding: 0;
	border: 1px solid transparent;
	border-radius: 12px;
	background: transparent;
	color: var(--va-text);
	cursor: pointer;
	transition: background var(--va-transition), color var(--va-transition), border-color var(--va-transition);
}

.va-icon-button:hover {
	background: var(--va-primary-soft);
	color: var(--va-primary-dark);
	border-color: var(--va-primary-soft-2);
}

.va-icon-button svg,
.va-text-link svg {
	width: 22px;
	height: 22px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.va-kicker {
	color: var(--va-primary-dark);
	font-size: .78rem;
	font-weight: 800;
	letter-spacing: .02em;
}

/* Header
   ========================================================================== */

.va-announcement {
	background: var(--va-primary-darker);
	color: #fff;
	font-size: .84rem;
	text-align: center;
	padding: 6px 0;
}

.va-site-header {
	position: relative;
	z-index: 80;
	background: rgba(255, 255, 255, .96);
	border-bottom: 1px solid var(--va-border);
}

.va-site-header--sticky {
	position: sticky;
	top: 0;
	backdrop-filter: blur(14px);
}

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

.va-header-inner {
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	gap: 28px;
	min-height: 76px;
}

.va-header-start,
.va-header-actions {
	display: flex;
	align-items: center;
	gap: 6px;
}

.va-menu-toggle {
	display: none;
}

.va-brand {
	display: flex;
	align-items: center;
	min-width: 120px;
}

.va-brand .custom-logo-link,
.va-footer-brand .custom-logo-link {
	display: inline-flex;
}

.va-brand .custom-logo {
	display: block;
	width: auto;
	max-height: 46px;
}

.va-brand-text {
	color: var(--va-text);
	font-size: 1.24rem;
	font-weight: 900;
}

.va-primary-nav {
	min-width: 0;
}

.va-menu,
.va-menu ul,
.va-mobile-menu,
.va-footer-menu {
	list-style: none;
	margin: 0;
	padding: 0;
}

.va-menu {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
}

.va-menu > li {
	position: relative;
}

.va-menu > li > a {
	display: block;
	padding: 10px 12px;
	border-radius: 10px;
	color: var(--va-text);
	font-size: .93rem;
	font-weight: 700;
}

.va-menu > li:hover > a,
.va-menu > .current-menu-item > a,
.va-menu > .current-menu-ancestor > a {
	background: var(--va-primary-soft);
	color: var(--va-primary-dark);
}

.va-menu .sub-menu {
	position: absolute;
	inset-inline-start: 0;
	top: calc(100% + 8px);
	width: 220px;
	padding: 8px;
	background: #fff;
	border: 1px solid var(--va-border);
	border-radius: 14px;
	box-shadow: var(--va-shadow);
	opacity: 0;
	visibility: hidden;
	transform: translateY(6px);
	transition: opacity var(--va-transition), transform var(--va-transition), visibility var(--va-transition);
}

.va-menu li:hover > .sub-menu,
.va-menu li:focus-within > .sub-menu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.va-menu .sub-menu a {
	display: block;
	padding: 9px 10px;
	border-radius: 9px;
	color: var(--va-text);
}

.va-menu .sub-menu a:hover {
	background: var(--va-primary-soft);
}

.va-cart-link {
	margin-inline-start: 2px;
}

.va-cart-count {
	position: absolute;
	top: 1px;
	inset-inline-end: 0;
	display: grid;
	place-items: center;
	min-width: 18px;
	height: 18px;
	padding: 0 4px;
	border: 2px solid #fff;
	border-radius: 999px;
	background: var(--va-primary);
	color: #fff;
	font-size: 10px;
	font-weight: 900;
	line-height: 1;
}

.va-search-panel {
	position: absolute;
	inset-inline: 0;
	top: 100%;
	background: #fff;
	border-bottom: 1px solid var(--va-border);
	box-shadow: 0 16px 32px rgba(24, 48, 45, .08);
}

.va-search-panel__inner {
	display: flex;
	align-items: center;
	gap: 10px;
	padding-block: 16px;
}

.va-search-form {
	display: flex;
	align-items: center;
	gap: 8px;
	width: 100%;
}

.va-search-field {
	flex: 1;
	min-width: 0;
	height: 48px;
	padding: 0 16px;
	border: 1px solid var(--va-border);
	border-radius: 12px;
	background: var(--va-bg-soft);
	color: var(--va-text);
	outline: 0;
}

.va-search-field:focus {
	border-color: var(--va-primary-medium);
	box-shadow: 0 0 0 3px var(--va-primary-soft);
}

.va-search-submit {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	height: 48px;
	padding: 0 18px;
	border: 0;
	border-radius: 12px;
	background: var(--va-primary);
	color: #fff;
	cursor: pointer;
	font-weight: 800;
}

.va-search-submit svg {
	width: 20px;
	height: 20px;
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
}

.va-mobile-drawer {
	position: fixed;
	inset: 0;
	z-index: 200;
	display: grid;
	grid-template-columns: minmax(280px, 88vw) 1fr;
	visibility: hidden;
	pointer-events: none;
}

.va-mobile-drawer.is-open {
	visibility: visible;
	pointer-events: auto;
}

.va-drawer-panel {
	position: relative;
	z-index: 2;
	height: 100%;
	padding: 18px;
	background: #fff;
	box-shadow: var(--va-shadow);
	transform: translateX(105%);
	transition: transform 260ms ease;
	overflow-y: auto;
}

[dir="ltr"] .va-drawer-panel {
	transform: translateX(-105%);
}

.va-mobile-drawer.is-open .va-drawer-panel {
	transform: translateX(0);
}

.va-drawer-backdrop {
	grid-column: 1 / -1;
	position: absolute;
	inset: 0;
	border: 0;
	background: rgba(10, 28, 25, .48);
	opacity: 0;
	transition: opacity 260ms ease;
}

.va-mobile-drawer.is-open .va-drawer-backdrop {
	opacity: 1;
}

.va-drawer-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding-bottom: 14px;
	margin-bottom: 12px;
	border-bottom: 1px solid var(--va-border);
}

.va-mobile-menu a {
	display: block;
	padding: 11px 8px;
	border-bottom: 1px solid #eef3f2;
	color: var(--va-text);
	font-weight: 700;
}

.va-mobile-menu .sub-menu {
	list-style: none;
	padding-inline-start: 14px;
}

/* Generic content
   ========================================================================== */

.va-content-shell,
.va-page-inner,
.va-article-shell {
	padding-block: clamp(34px, 6vw, 72px);
}

.va-page-inner {
	width: min(calc(100% - 40px), var(--va-container));
	margin-inline: auto;
}

.va-archive-header {
	max-width: 760px;
	margin-bottom: 32px;
}

.va-archive-header h1,
.va-article-header h1 {
	margin: 5px 0 10px;
	font-size: clamp(2rem, 5vw, 3.7rem);
	line-height: 1.25;
	letter-spacing: -.025em;
}

.va-archive-description {
	color: var(--va-muted);
}

.va-post-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 22px;
}

.va-post-card {
	overflow: hidden;
	background: #fff;
	border: 1px solid var(--va-border);
	border-radius: var(--va-radius);
	box-shadow: var(--va-shadow-sm);
}

.va-post-card__media {
	display: block;
	aspect-ratio: 16 / 10;
	overflow: hidden;
	background: var(--va-primary-soft);
}

.va-post-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 350ms ease;
}

.va-post-card:hover .va-post-card__media img {
	transform: scale(1.025);
}

.va-post-card__placeholder {
	display: block;
	width: 100%;
	height: 100%;
	background: linear-gradient(135deg, var(--va-primary-soft), var(--va-primary-soft-2));
}

.va-post-card__body {
	padding: 18px;
}

.va-post-card h2 {
	margin: 5px 0 8px;
	font-size: 1.18rem;
	line-height: 1.55;
}

.va-post-card h2 a {
	color: var(--va-text);
}

.va-post-card__excerpt {
	color: var(--va-muted);
	font-size: .92rem;
}

.va-text-link {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	margin-top: 8px;
	font-weight: 800;
}

.va-text-link svg {
	width: 16px;
}

.va-featured-image {
	margin: 28px 0;
	overflow: hidden;
	border-radius: var(--va-radius-lg);
}

.va-entry-content {
	max-width: 800px;
	font-size: 1.04rem;
}

.va-entry-content > * {
	max-width: 100%;
}

.va-empty-state,
.va-404-card {
	max-width: 720px;
	margin: 0 auto;
	padding: clamp(28px, 5vw, 56px);
	background: var(--va-bg-soft);
	border: 1px solid var(--va-border);
	border-radius: var(--va-radius-lg);
	text-align: center;
}

.va-404 {
	padding-block: 80px;
}

.va-404-code {
	color: var(--va-primary);
	font-size: clamp(4rem, 12vw, 8rem);
	font-weight: 950;
	line-height: 1;
}

/* WooCommerce: notices and form controls
   ========================================================================== */

.woocommerce .woocommerce-breadcrumb {
	margin: 22px 0 6px;
	color: var(--va-muted);
	font-size: .86rem;
}

.woocommerce .woocommerce-breadcrumb a {
	color: var(--va-primary-dark);
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.wc-block-components-notice-banner {
	margin: 18px 0 !important;
	padding: 14px 16px !important;
	border: 1px solid var(--va-border) !important;
	border-top: 0 !important;
	border-radius: 12px !important;
	background: var(--va-bg-soft) !important;
	color: var(--va-text) !important;
	box-shadow: none !important;
}

.woocommerce-message::before,
.woocommerce-info::before {
	color: var(--va-primary) !important;
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce select,
.select2-container--default .select2-selection--single,
.wc-block-components-text-input input,
.wc-block-components-combobox .wc-block-components-combobox-control input {
	min-height: 48px;
	border: 1px solid var(--va-border) !important;
	border-radius: 12px !important;
	background: #fff !important;
	color: var(--va-text) !important;
	box-shadow: none !important;
}

.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.wc-block-components-text-input input:focus {
	border-color: var(--va-primary-medium) !important;
	box-shadow: 0 0 0 3px var(--va-primary-soft) !important;
	outline: none !important;
}

/* Product archive
   ========================================================================== */

.woocommerce-page .site-main,
.post-type-archive-product .va-site-main,
.tax-product_cat .va-site-main,
.tax-product_tag .va-site-main {
	padding-bottom: 56px;
}

.woocommerce .woocommerce-products-header {
	width: min(calc(100% - 40px), var(--va-container));
	margin: 0 auto 22px;
	padding-top: clamp(28px, 5vw, 56px);
}

.woocommerce .woocommerce-products-header__title.page-title {
	margin: 0;
	color: var(--va-text);
	font-size: clamp(2rem, 5vw, 3.2rem);
	line-height: 1.25;
}

.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering {
	margin-top: 0;
	margin-bottom: 20px;
	color: var(--va-muted);
}

.woocommerce .woocommerce-ordering select {
	min-width: 190px;
	padding-inline: 12px;
}

.woocommerce .products {
	width: min(calc(100% - 40px), var(--va-container));
	margin-inline: auto !important;
	display: grid !important;
	gap: 22px;
	clear: both;
}

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

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

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

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

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

.woocommerce ul.products li.product {
	float: none !important;
	width: auto !important;
	margin: 0 !important;
	padding: 12px !important;
	background: #fff;
	border: 1px solid var(--va-border);
	border-radius: var(--va-radius);
	box-shadow: 0 7px 24px rgba(24, 48, 45, .045);
	transition: transform var(--va-transition), border-color var(--va-transition), box-shadow var(--va-transition);
}

.woocommerce ul.products li.product:hover {
	transform: translateY(-3px);
	border-color: var(--va-primary-soft-2);
	box-shadow: var(--va-shadow-sm);
}

.woocommerce ul.products li.product a img {
	margin: 0 0 14px !important;
	border-radius: 12px;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	background: var(--va-bg-soft);
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
	padding: 0 !important;
	margin: 0 0 7px;
	color: var(--va-text);
	font-size: .98rem !important;
	line-height: 1.7;
	font-weight: 800;
}

.woocommerce ul.products li.product .price {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 5px;
	margin: 0 0 12px;
	color: var(--va-primary-dark) !important;
	font-size: 1rem !important;
	font-weight: 900 !important;
}

.woocommerce ul.products li.product .price del {
	color: var(--va-muted) !important;
	opacity: .65;
	font-size: .86em;
}

.woocommerce ul.products li.product .price ins {
	text-decoration: none;
}

.woocommerce ul.products li.product .button {
	width: 100%;
	margin-top: 3px !important;
}

.woocommerce span.onsale {
	top: 20px !important;
	inset-inline-start: 20px !important;
	inset-inline-end: auto !important;
	min-width: auto !important;
	min-height: auto !important;
	padding: 5px 9px !important;
	border-radius: 999px !important;
	background: var(--va-primary) !important;
	color: #fff !important;
	font-size: .72rem !important;
	line-height: 1.4 !important;
}

.woocommerce nav.woocommerce-pagination {
	width: min(calc(100% - 40px), var(--va-container));
	margin: 34px auto 0;
}

.woocommerce nav.woocommerce-pagination ul {
	display: inline-flex;
	gap: 6px;
	border: 0 !important;
}

.woocommerce nav.woocommerce-pagination ul li {
	border: 0 !important;
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
	display: grid !important;
	place-items: center;
	min-width: 40px;
	height: 40px;
	padding: 0 10px !important;
	border: 1px solid var(--va-border);
	border-radius: 10px;
	background: #fff !important;
	color: var(--va-text) !important;
}

.woocommerce nav.woocommerce-pagination ul li span.current,
.woocommerce nav.woocommerce-pagination ul li a:hover {
	background: var(--va-primary) !important;
	border-color: var(--va-primary) !important;
	color: #fff !important;
}

/* Cart: classic + block
   ========================================================================== */

.voice-art-cart .va-site-main,
.woocommerce-cart .va-site-main {
	padding-block: clamp(30px, 5vw, 60px);
}

.woocommerce-cart .woocommerce,
.voice-art-cart .woocommerce {
	width: min(calc(100% - 40px), var(--va-container));
	margin-inline: auto;
}

.woocommerce-cart table.shop_table {
	border: 1px solid var(--va-border) !important;
	border-collapse: separate !important;
	border-spacing: 0;
	border-radius: var(--va-radius) !important;
	overflow: hidden;
	background: #fff;
}

.woocommerce-cart table.shop_table th,
.woocommerce-cart table.shop_table td {
	padding: 16px 14px !important;
	border-color: var(--va-border) !important;
}

.woocommerce-cart table.shop_table th {
	background: var(--va-bg-soft);
	color: var(--va-text);
	font-size: .88rem;
}

.woocommerce-cart .product-thumbnail img {
	width: 76px !important;
	border-radius: 10px;
}

.woocommerce-cart .product-name a {
	color: var(--va-text);
	font-weight: 800;
}

.woocommerce-cart .quantity .qty {
	width: 76px;
	min-height: 42px;
	border: 1px solid var(--va-border);
	border-radius: 10px;
}

.woocommerce-cart .coupon {
	display: flex;
	gap: 8px;
}

.woocommerce-cart .coupon .input-text {
	width: min(220px, 48vw) !important;
	min-height: 46px;
	padding-inline: 12px !important;
	border: 1px solid var(--va-border) !important;
	border-radius: 12px;
}

.woocommerce-cart .cart-collaterals {
	margin-top: 24px;
}

.woocommerce-cart .cart-collaterals .cart_totals {
	float: none !important;
	width: min(100%, 520px) !important;
	margin-inline-start: auto;
	padding: 22px;
	border: 1px solid var(--va-border);
	border-radius: var(--va-radius);
	background: var(--va-bg-soft);
}

.woocommerce-cart .cart_totals h2 {
	margin-top: 0;
}

.woocommerce-cart .wc-proceed-to-checkout {
	padding-bottom: 0 !important;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
	margin-bottom: 0 !important;
	font-size: 1rem !important;
}

.wp-block-woocommerce-cart {
	width: min(calc(100% - 40px), var(--va-container));
	margin: clamp(30px, 5vw, 60px) auto !important;
}

.wc-block-cart {
	gap: 24px;
}

.wc-block-cart-items,
.wc-block-components-sidebar {
	border-color: var(--va-border) !important;
}

.wc-block-components-sidebar {
	padding: 20px !important;
	background: var(--va-bg-soft);
	border: 1px solid var(--va-border);
	border-radius: var(--va-radius);
}

/* Checkout: classic + block
   ========================================================================== */

.woocommerce-checkout .va-site-main,
.voice-art-checkout .va-site-main {
	padding-block: clamp(30px, 5vw, 60px);
}

.woocommerce-checkout .woocommerce {
	width: min(calc(100% - 40px), var(--va-container));
	margin-inline: auto;
}

.woocommerce-checkout form.checkout {
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(340px, .65fr);
	gap: 26px;
	align-items: start;
}

.woocommerce-checkout #customer_details {
	display: grid;
	gap: 20px;
}

.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2 {
	float: none !important;
	width: 100% !important;
	padding: 22px;
	border: 1px solid var(--va-border);
	border-radius: var(--va-radius);
	background: #fff;
}

.woocommerce-checkout #customer_details h3,
.woocommerce-checkout #order_review_heading {
	margin-top: 0;
	color: var(--va-text);
}

.woocommerce-checkout #order_review_heading,
.woocommerce-checkout #order_review {
	grid-column: 2;
}

.woocommerce-checkout #order_review_heading {
	margin: 0 0 -12px;
}

.woocommerce-checkout #order_review {
	padding: 22px;
	border: 1px solid var(--va-border);
	border-radius: var(--va-radius);
	background: var(--va-bg-soft);
}

.woocommerce-checkout #order_review table.shop_table {
	border: 0 !important;
}

.woocommerce-checkout #order_review table.shop_table th,
.woocommerce-checkout #order_review table.shop_table td {
	padding: 12px 6px !important;
	border-color: var(--va-border) !important;
}

.woocommerce-checkout #payment {
	background: #fff !important;
	border: 1px solid var(--va-border);
	border-radius: 14px !important;
}

.woocommerce-checkout #payment ul.payment_methods {
	border-color: var(--va-border) !important;
}

.woocommerce-checkout #payment div.payment_box {
	background: var(--va-primary-soft) !important;
	color: var(--va-text) !important;
	border-radius: 10px;
}

.woocommerce-checkout #payment div.payment_box::before {
	border-bottom-color: var(--va-primary-soft) !important;
}

.woocommerce-checkout #place_order {
	width: 100%;
	min-height: 52px;
	margin-top: 8px;
}

.wp-block-woocommerce-checkout {
	width: min(calc(100% - 40px), var(--va-container));
	margin: clamp(30px, 5vw, 60px) auto !important;
}

.wc-block-checkout {
	gap: 26px;
}

.wc-block-checkout__main {
	padding: 0 !important;
}

.wc-block-checkout__sidebar {
	padding: 20px !important;
	border: 1px solid var(--va-border);
	border-radius: var(--va-radius);
	background: var(--va-bg-soft);
}

.wc-block-components-checkout-step {
	margin-bottom: 18px;
	padding: 20px !important;
	border: 1px solid var(--va-border);
	border-radius: var(--va-radius);
	background: #fff;
}

.wc-block-components-checkout-step__heading {
	margin-bottom: 14px !important;
}

.wc-block-components-order-summary {
	border-color: var(--va-border) !important;
	border-radius: 12px !important;
	overflow: hidden;
}

.wc-block-components-totals-wrapper {
	border-color: var(--va-border) !important;
}

/* Footer
   ========================================================================== */

.va-site-footer {
	margin-top: 56px;
	background: var(--va-primary-darker);
	color: rgba(255, 255, 255, .78);
}

.va-footer-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.4fr) minmax(260px, .6fr);
	gap: 40px;
	padding-block: 46px;
}

.va-footer-brand {
	margin-bottom: 14px;
	color: #fff;
	font-size: 1.2rem;
}

.va-footer-brand img {
	max-height: 46px;
	width: auto;
	filter: brightness(0) invert(1);
}

.va-footer-text {
	max-width: 660px;
}

.va-footer-menu {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 10px 18px;
}

.va-footer-menu a {
	color: rgba(255, 255, 255, .86);
}

.va-footer-bottom {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding-block: 15px;
	border-top: 1px solid rgba(255, 255, 255, .12);
	font-size: .78rem;
}

/* Responsive
   ========================================================================== */

@media (max-width: 1180px) {
	.va-primary-nav {
		display: none;
	}

	.va-menu-toggle {
		display: inline-grid;
	}

	.va-header-inner {
		grid-template-columns: 1fr auto;
	}

	.va-header-start {
		min-width: 0;
	}

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

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

@media (max-width: 900px) {
	.admin-bar .va-site-header--sticky {
		top: 46px;
	}

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

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

	.woocommerce-checkout #order_review_heading,
	.woocommerce-checkout #order_review {
		grid-column: 1;
	}

	.va-footer-grid {
		grid-template-columns: 1fr;
	}

	.va-footer-menu {
		justify-content: flex-start;
	}
}

@media (max-width: 640px) {
	.va-container {
		width: min(calc(100% - 28px), var(--va-container));
	}

	.va-header-inner {
		min-height: 66px;
		gap: 10px;
	}

	.va-brand .custom-logo {
		max-width: 150px;
		max-height: 40px;
	}

	.va-header-actions {
		gap: 0;
	}

	.va-icon-button {
		width: 38px;
		height: 38px;
	}

	.va-icon-button svg {
		width: 20px;
		height: 20px;
	}

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

	.woocommerce .products.columns-5,
	.woocommerce .products.columns-4,
	.woocommerce .products.columns-3,
	.woocommerce .products.columns-2 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px;
	}

	.woocommerce ul.products li.product {
		padding: 8px !important;
		border-radius: 12px;
	}

	.woocommerce ul.products li.product .woocommerce-loop-product__title {
		font-size: .86rem !important;
	}

	.woocommerce ul.products li.product .price {
		font-size: .88rem !important;
	}

	.woocommerce ul.products li.product .button {
		min-height: 40px;
		padding-inline: 8px;
		font-size: .78rem;
	}

	.woocommerce-cart table.shop_table_responsive tr td {
		padding: 12px 10px !important;
	}

	.woocommerce-cart .coupon {
		flex-direction: column;
	}

	.woocommerce-cart .coupon .input-text {
		width: 100% !important;
	}

	.wc-block-components-sidebar,
	.wc-block-checkout__sidebar,
	.wc-block-components-checkout-step {
		padding: 14px !important;
	}

	.va-footer-bottom {
		align-items: flex-start;
		flex-direction: column;
	}

	.va-search-submit span {
		display: none;
	}
}

@media (max-width: 380px) {
	.woocommerce .products.columns-5,
	.woocommerce .products.columns-4,
	.woocommerce .products.columns-3,
	.woocommerce .products.columns-2 {
		grid-template-columns: 1fr;
	}
}

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


/* ==========================================================================
   Voice Art v0.2.0 — Header refinement
   ========================================================================== */

.va-site-header {
	background: rgba(255, 255, 255, .97);
}

.va-site-header--sticky {
	box-shadow: 0 1px 0 rgba(24, 48, 45, .04);
}

.va-header-inner {
	min-height: var(--va-header-height);
}

.va-brand .custom-logo {
	width: auto;
	max-width: var(--va-logo-width);
	max-height: calc(var(--va-header-height) - 24px);
}

.va-header-actions {
	gap: 3px;
}

.va-header-action {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 7px;
	min-height: 44px;
	padding: 0 9px;
	border: 1px solid transparent;
	border-radius: 12px;
	background: transparent;
	color: var(--va-text);
	cursor: pointer;
	white-space: nowrap;
	transition: background var(--va-transition), color var(--va-transition), border-color var(--va-transition);
}

button.va-header-action {
	font: inherit;
}

.va-header-action:hover,
.va-header-action:focus-visible {
	background: var(--va-primary-soft);
	border-color: var(--va-primary-soft-2);
	color: var(--va-primary-dark);
	outline: none;
}

.va-header-action__icon {
	position: relative;
	display: inline-grid;
	place-items: center;
	width: 24px;
	height: 24px;
	flex: 0 0 24px;
}

.va-header-action__icon svg {
	width: 23px;
	height: 23px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.va-header-action__text {
	font-size: .82rem;
	font-weight: 800;
}

.va-header-action .va-cart-count {
	top: -9px;
	inset-inline-end: -9px;
}

.va-search-panel {
	display: block;
	top: calc(100% + 1px);
	padding: 0;
	background: rgba(255, 255, 255, .985);
	opacity: 0;
	transform: translateY(-7px);
	transition: opacity var(--va-transition), transform var(--va-transition);
}

.va-search-panel[hidden] {
	display: none;
}

.va-search-panel.is-open {
	opacity: 1;
	transform: translateY(0);
}

.va-search-panel__inner {
	display: block;
	padding-block: 24px 28px;
}

.va-search-panel__heading {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 14px;
}

.va-search-panel__heading > div {
	display: grid;
	gap: 1px;
}

.va-search-panel__heading strong {
	font-size: 1.02rem;
}

.va-search-panel__heading span {
	color: var(--va-muted);
	font-size: .82rem;
}

.va-search-form--header {
	position: relative;
	gap: 0;
}

.va-search-form--header .va-search-form__icon {
	position: absolute;
	inset-inline-start: 16px;
	top: 50%;
	z-index: 1;
	display: grid;
	place-items: center;
	color: var(--va-muted);
	transform: translateY(-50%);
	pointer-events: none;
}

.va-search-form--header .va-search-form__icon svg {
	width: 21px;
	height: 21px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
}

.va-search-form--header .va-search-field {
	height: 56px;
	padding-inline-start: 48px;
	padding-inline-end: 130px;
	border-radius: 15px;
	background: var(--va-bg-soft);
	font-size: .98rem;
}

.va-search-form--header .va-search-submit {
	position: absolute;
	inset-inline-end: 5px;
	top: 5px;
	height: 46px;
	min-width: 112px;
	border-radius: 11px;
}

/* Mobile header */
.va-drawer-brand .custom-logo {
	display: block;
	width: auto;
	max-width: 150px;
	max-height: 42px;
}

.va-mobile-search {
	position: relative;
	display: flex;
	align-items: center;
	margin: 8px 0 16px;
}

.va-mobile-search > span {
	position: absolute;
	inset-inline-start: 12px;
	display: grid;
	color: var(--va-muted);
	pointer-events: none;
}

.va-mobile-search svg {
	width: 19px;
	height: 19px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
}

.va-mobile-search input {
	width: 100%;
	height: 46px;
	padding-inline: 42px 12px;
	border: 1px solid var(--va-border);
	border-radius: 12px;
	background: var(--va-bg-soft);
	outline: none;
}

.va-mobile-search input:focus {
	border-color: var(--va-primary-medium);
	box-shadow: 0 0 0 3px var(--va-primary-soft);
}

.va-mobile-nav {
	margin-top: 6px;
}

.va-mobile-menu > li > a {
	padding-block: 13px;
	font-size: .96rem;
}

.va-mobile-quick-links {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
	margin-top: 18px;
	padding-top: 16px;
	border-top: 1px solid var(--va-border);
}

.va-mobile-quick-links a {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	min-height: 44px;
	padding: 0 10px;
	border: 1px solid var(--va-border);
	border-radius: 11px;
	background: var(--va-bg-soft);
	color: var(--va-text);
	font-size: .82rem;
	font-weight: 800;
	text-align: center;
}

.va-mobile-quick-links svg {
	width: 19px;
	height: 19px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
}

/* Mini cart drawer */
.va-cart-drawer {
	position: fixed;
	inset: 0;
	z-index: 220;
	visibility: hidden;
	pointer-events: none;
}

.va-cart-drawer.is-open {
	visibility: visible;
	pointer-events: auto;
}

.va-cart-backdrop {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	padding: 0;
	border: 0;
	background: rgba(10, 28, 25, .50);
	opacity: 0;
	cursor: default;
	transition: opacity 240ms ease;
}

.va-cart-drawer.is-open .va-cart-backdrop {
	opacity: 1;
}

.va-cart-drawer__panel {
	position: absolute;
	top: 0;
	inset-inline-end: 0;
	width: min(420px, 92vw);
	height: 100%;
	padding: 20px;
	background: #fff;
	box-shadow: -22px 0 60px rgba(24, 48, 45, .15);
	transform: translateX(-105%);
	transition: transform 280ms cubic-bezier(.2,.8,.2,1);
	overflow-y: auto;
}

[dir="ltr"] .va-cart-drawer__panel {
	transform: translateX(105%);
}

.va-cart-drawer.is-open .va-cart-drawer__panel {
	transform: translateX(0);
}

.va-cart-drawer__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 15px;
	padding-bottom: 16px;
	margin-bottom: 14px;
	border-bottom: 1px solid var(--va-border);
}

.va-cart-drawer__head > div {
	display: grid;
}

.va-cart-drawer__head strong {
	font-size: 1.08rem;
}

.va-mini-cart-content .woocommerce-mini-cart {
	list-style: none;
	margin: 0;
	padding: 0;
}

.va-mini-cart-content .woocommerce-mini-cart-item {
	position: relative;
	display: grid;
	grid-template-columns: 72px 1fr;
	gap: 12px;
	min-height: 86px;
	padding: 11px 28px 11px 0 !important;
	margin: 0 !important;
	border-bottom: 1px solid var(--va-border);
}

[dir="ltr"] .va-mini-cart-content .woocommerce-mini-cart-item {
	padding: 11px 0 11px 28px !important;
}

.va-mini-cart-content .woocommerce-mini-cart-item a:not(.remove) {
	color: var(--va-text);
	font-weight: 800;
	line-height: 1.6;
}

.va-mini-cart-content .woocommerce-mini-cart-item img {
	float: none !important;
	width: 72px !important;
	height: 72px !important;
	margin: 0 !important;
	border-radius: 10px;
	object-fit: cover;
}

.va-mini-cart-content .woocommerce-mini-cart-item .remove {
	position: absolute !important;
	top: 14px;
	inset-inline-end: 0;
	display: grid !important;
	place-items: center;
	width: 22px !important;
	height: 22px !important;
	border-radius: 7px !important;
	color: var(--va-muted) !important;
	font-size: 18px !important;
	line-height: 1 !important;
}

.va-mini-cart-content .woocommerce-mini-cart-item .remove:hover {
	background: #fff0f0 !important;
	color: var(--va-danger) !important;
}

.va-mini-cart-content .quantity {
	display: block;
	margin-top: 3px;
	color: var(--va-muted);
	font-size: .82rem;
}

.va-mini-cart-content .woocommerce-mini-cart__total {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 16px 0 12px;
	margin: 0;
	border-bottom: 0 !important;
	font-size: .95rem;
}

.va-mini-cart-content .woocommerce-mini-cart__total strong {
	color: var(--va-text);
}

.va-mini-cart-content .woocommerce-mini-cart__buttons {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 8px;
	margin: 0;
}

.va-mini-cart-content .woocommerce-mini-cart__buttons a {
	margin: 0 !important;
}

.va-mini-cart-content .woocommerce-mini-cart__buttons a:first-child {
	background: var(--va-primary-soft) !important;
	color: var(--va-primary-dark) !important;
}

.va-mini-cart-content .woocommerce-mini-cart__buttons a:first-child:hover {
	background: var(--va-primary-soft-2) !important;
	box-shadow: none !important;
	transform: none;
}

.va-mini-cart-content .woocommerce-mini-cart__empty-message {
	margin: 34px 0;
	padding: 28px 18px;
	border: 1px dashed var(--va-primary-medium);
	border-radius: var(--va-radius);
	background: var(--va-primary-soft);
	color: var(--va-muted);
	text-align: center;
}

@media (max-width: 1280px) {
	.va-header-action__text {
		display: none;
	}

	.va-header-action {
		width: 42px;
		padding: 0;
		justify-content: center;
	}
}

@media (max-width: 640px) {
	.va-header-inner {
		min-height: min(var(--va-header-height), 68px);
	}

	.va-brand .custom-logo {
		max-width: min(var(--va-logo-width), 145px);
		max-height: 40px;
	}

	.va-header-action {
		width: 38px;
		min-height: 38px;
	}

	.va-header-actions .va-header-action:nth-child(2) {
		display: none;
	}

	.va-search-panel__inner {
		padding-block: 18px 22px;
	}

	.va-search-panel__heading span {
		display: none;
	}

	.va-search-form--header .va-search-field {
		height: 50px;
		padding-inline-end: 54px;
	}

	.va-search-form--header .va-search-submit {
		top: 5px;
		width: 40px;
		min-width: 40px;
		height: 40px;
		padding: 0;
		font-size: 0;
	}

	.va-search-form--header .va-search-submit::after {
		content: '←';
		font-size: 18px;
	}

	.va-mini-cart-content .woocommerce-mini-cart__buttons {
		grid-template-columns: 1fr;
	}
}


/* ==========================================================================
   Voice Art v0.3.0 — Retail header based on supplied visual direction
   Two menus: small top-left + primary bottom-right
   Desktop cart opens on hover/focus.
   ========================================================================== */

.va-site-header {
	overflow: visible;
	background: #fff;
	border-bottom: 1px solid var(--va-border);
}

.va-site-header--sticky {
	position: sticky;
	top: 0;
	z-index: 100;
	background: rgba(255,255,255,.985);
	backdrop-filter: blur(14px);
	box-shadow: 0 5px 18px rgba(24,48,45,.04);
}

.va-header-top {
	min-height: 28px;
	border-top: 3px solid var(--va-primary);
	background: #fff;
}

.va-header-top__inner {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	min-height: 28px;
}

.va-top-nav {
	max-width: 70%;
}

.va-top-menu {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px 12px;
	list-style: none;
	margin: 0;
	padding: 0;
	font-size: .72rem;
	line-height: 1.4;
}

.va-top-menu a {
	color: var(--va-muted);
}

.va-top-menu a:hover {
	color: var(--va-primary-dark);
}

.va-header-main {
	background: #fff;
}

.va-header-main__inner {
	display: grid;
	grid-template-columns: minmax(150px, .8fr) minmax(340px, 1.8fr) minmax(150px, .8fr);
	align-items: center;
	gap: clamp(18px, 3vw, 50px);
	min-height: var(--va-header-height);
}

.va-brand {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	min-width: 0;
}

.va-custom-header-logo,
.va-brand .custom-logo-link {
	display: inline-flex;
	align-items: center;
}

.va-header-logo-image,
.va-brand .custom-logo {
	display: block;
	width: auto;
	max-width: var(--va-logo-width);
	max-height: calc(var(--va-header-height) - 18px);
	object-fit: contain;
}

.va-header-search {
	position: relative;
	width: 100%;
	max-width: 560px;
	margin-inline: auto;
}

.va-header-search input[type="search"] {
	width: 100%;
	height: 44px;
	padding-inline: 18px 48px;
	border: 1px solid transparent;
	border-radius: 999px;
	background: #f3f5f5;
	color: var(--va-text);
	outline: none;
	transition: border-color var(--va-transition), background var(--va-transition), box-shadow var(--va-transition);
}

.va-header-search input[type="search"]::placeholder {
	color: #8b9996;
	font-size: .8rem;
}

.va-header-search input[type="search"]:focus {
	border-color: var(--va-primary-soft-2);
	background: #fff;
	box-shadow: 0 0 0 4px var(--va-primary-soft);
}

.va-header-search button {
	position: absolute;
	top: 50%;
	inset-inline-end: 9px;
	display: grid;
	place-items: center;
	width: 34px;
	height: 34px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: transparent;
	color: #879592;
	cursor: pointer;
	transform: translateY(-50%);
}

.va-header-search button:hover {
	color: var(--va-primary);
	background: var(--va-primary-soft);
}

.va-header-search button svg {
	width: 20px;
	height: 20px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
}

.va-header-actions {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 2px;
	direction: ltr;
}

.va-header-actions .va-icon-button {
	width: 40px;
	height: 40px;
	color: var(--va-text);
	direction: rtl;
}

.va-header-actions .va-icon-button:hover {
	background: var(--va-primary-soft);
	color: var(--va-primary-dark);
}

.va-header-actions .va-icon-button svg {
	width: 22px;
	height: 22px;
}

.va-menu-toggle,
.va-mobile-search-toggle {
	display: none;
}

.va-header-navrow {
	background: #fff;
	border-top: 1px solid rgba(223,234,232,.65);
}

.va-header-navrow__inner {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	min-height: 42px;
}

.va-primary-nav {
	display: block;
	width: auto;
}

.va-menu {
	justify-content: flex-start;
	gap: 2px;
}

.va-menu > li > a {
	padding: 8px 10px;
	font-size: .84rem;
	font-weight: 750;
}

.va-menu > li:first-child > a {
	padding-inline-start: 0;
}

.va-menu > li:hover > a,
.va-menu > .current-menu-item > a,
.va-menu > .current-menu-ancestor > a {
	background: transparent;
	color: var(--va-primary-dark);
}

/* Hover cart like the supplied reference */
.va-cart-hover-wrap {
	position: relative;
	display: inline-flex;
}

.va-cart-hover-wrap::after {
	content: '';
	position: absolute;
	top: 100%;
	inset-inline-end: 0;
	width: 70px;
	height: 12px;
}

.va-cart-dropdown {
	position: absolute;
	z-index: 300;
	top: calc(100% + 10px);
	inset-inline-end: 0;
	width: min(440px, 92vw);
	padding: 16px;
	border: 1px solid var(--va-border);
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 16px 44px rgba(24,48,45,.15);
	opacity: 0;
	visibility: hidden;
	transform: translateY(8px);
	pointer-events: none;
	transition: opacity 160ms ease, transform 160ms ease, visibility 160ms ease;
	direction: rtl;
}

.va-cart-hover-wrap:hover .va-cart-dropdown,
.va-cart-hover-wrap:focus-within .va-cart-dropdown {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
	pointer-events: auto;
}

.va-cart-dropdown__head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	padding: 2px 2px 13px;
	margin-bottom: 4px;
	border-bottom: 1px solid var(--va-border);
}

.va-cart-dropdown__head strong {
	color: var(--va-text);
	font-size: 1rem;
}

.va-cart-dropdown__head span {
	color: var(--va-muted);
	font-size: .72rem;
	white-space: nowrap;
}

.va-cart-dropdown .va-mini-cart-content .woocommerce-mini-cart-item {
	grid-template-columns: 76px 1fr;
	padding-top: 12px !important;
	padding-bottom: 12px !important;
}

.va-cart-dropdown .va-mini-cart-content .woocommerce-mini-cart-item img {
	width: 76px !important;
	height: 76px !important;
}

.va-cart-dropdown .woocommerce-mini-cart__total {
	margin-top: 4px;
	padding-top: 14px;
	border-top: 1px solid var(--va-border) !important;
	font-size: .88rem;
}

.va-cart-dropdown .woocommerce-mini-cart__buttons {
	display: grid;
	grid-template-columns: 1fr;
}

.va-cart-dropdown .woocommerce-mini-cart__buttons a.button {
	min-height: 48px;
}

.va-cart-dropdown .woocommerce-mini-cart__buttons a:first-child {
	display: none !important;
}

.va-cart-count {
	top: -2px;
	inset-inline-end: -3px;
	min-width: 17px;
	height: 17px;
	border-width: 2px;
	font-size: 9px;
}

/* Mobile search strip */
.va-mobile-search-panel {
	display: none;
	border-top: 1px solid var(--va-border);
	background: #fff;
}

.va-mobile-search-panel[hidden] {
	display: none;
}

.va-mobile-search-panel__form {
	position: relative;
	display: flex;
	align-items: center;
	gap: 8px;
	padding-block: 10px;
}

.va-mobile-search-panel__form > span {
	position: absolute;
	inset-inline-start: 13px;
	display: grid;
	color: var(--va-muted);
	pointer-events: none;
}

.va-mobile-search-panel__form svg {
	width: 18px;
	height: 18px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
}

.va-mobile-search-panel__form input {
	flex: 1;
	min-width: 0;
	height: 44px;
	padding-inline: 40px 12px;
	border: 1px solid var(--va-border);
	border-radius: 12px;
	background: var(--va-bg-soft);
	outline: none;
}

.va-mobile-search-panel__form button {
	height: 44px;
	padding: 0 14px;
	border: 0;
	border-radius: 11px;
	background: var(--va-primary);
	color: #fff;
	font-weight: 800;
}

/* Admin logo helper */
.va-logo-setting {
	display: grid;
	gap: 10px;
}

.va-logo-preview {
	display: grid;
	place-items: center;
	min-height: 90px;
	padding: 12px;
	border: 1px dashed #cbdad7;
	border-radius: 12px;
	background: #f8fbfa;
}

.va-logo-preview img {
	display: block;
	max-width: 240px;
	max-height: 78px;
	object-fit: contain;
}

.va-logo-preview span {
	color: #71827e;
}

.va-logo-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

/* Hide old v0.2 search/drawer elements if cached markup/CSS collides */
.va-search-panel,
.va-cart-drawer {
	display: none !important;
}

@media (max-width: 1120px) {
	.va-header-main__inner {
		grid-template-columns: minmax(140px, .75fr) minmax(260px, 1.5fr) minmax(140px, .75fr);
		gap: 18px;
	}

	.va-top-nav {
		max-width: 80%;
	}
}

@media (max-width: 900px) {
	.va-header-top,
	.va-header-navrow,
	.va-header-search {
		display: none;
	}

	.va-header-main__inner {
		grid-template-columns: 1fr auto;
		gap: 10px;
		min-height: min(var(--va-header-height), 66px);
	}

	.va-brand {
		justify-content: flex-start;
	}

	.va-header-logo-image,
	.va-brand .custom-logo {
		max-width: min(var(--va-logo-width), 155px);
		max-height: 42px;
	}

	.va-header-actions {
		justify-content: flex-end;
	}

	.va-menu-toggle,
	.va-mobile-search-toggle {
		display: inline-grid;
	}

	.va-cart-dropdown {
		display: none !important;
	}

	.va-mobile-search-panel {
		display: block;
	}

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

@media (max-width: 480px) {
	.va-header-actions .va-icon-button {
		width: 37px;
		height: 37px;
	}

	.va-header-actions {
		gap: 0;
	}

	.va-header-logo-image,
	.va-brand .custom-logo {
		max-width: min(var(--va-logo-width), 130px);
	}
}


/* ==========================================================================
   Voice Art v0.4.0
   - Menu typography controls
   - Side flyout submenu
   - AJAX search UI
   - Refined hover mini-cart
   - Checkout layout and gateway icon fixes
   ========================================================================== */

/* Menu typography from Theme Settings */
.va-top-menu {
	font-size: var(--va-top-menu-font-size, 12px);
	font-weight: var(--va-top-menu-font-weight, 500);
}

.va-menu > li > a {
	font-size: var(--va-main-menu-font-size, 14px);
	font-weight: var(--va-main-menu-font-weight, 700);
}

/* Desktop flyout submenus: open beside the parent item, toward the page center. */
@media (min-width: 901px) {
	.va-menu > li {
		position: relative;
	}

	.va-menu > li > .sub-menu {
		top: -10px;
		inset-inline-start: auto;
		inset-inline-end: calc(100% + 10px);
		width: 238px;
		padding: 9px;
		border: 1px solid var(--va-border);
		border-radius: 14px;
		background: #fff;
		box-shadow: 0 18px 45px rgba(24,48,45,.12);
		transform: translateX(-7px);
	}

	.va-menu > li > .sub-menu::before {
		content: '';
		position: absolute;
		top: 0;
		inset-inline-end: -14px;
		width: 16px;
		height: 100%;
	}

	.va-menu > li:hover > .sub-menu,
	.va-menu > li:focus-within > .sub-menu {
		transform: translateX(0);
	}

	.va-menu .sub-menu li {
		position: relative;
	}

	.va-menu .sub-menu a {
		display: flex;
		align-items: center;
		justify-content: space-between;
		min-height: 40px;
		padding: 8px 10px;
		border-radius: 9px;
		color: var(--va-text);
		font-size: var(--va-submenu-font-size, 12px);
		font-weight: var(--va-submenu-font-weight, 500);
		line-height: 1.55;
	}

	.va-menu .sub-menu a:hover,
	.va-menu .sub-menu .current-menu-item > a {
		background: var(--va-primary-soft);
		color: var(--va-primary-dark);
	}

	.va-menu .sub-menu .sub-menu {
		top: -9px;
		inset-inline-start: auto;
		inset-inline-end: calc(100% + 10px);
	}

	/* If page direction is LTR, flyouts go to the opposite physical side. */
	[dir="ltr"] .va-menu > li > .sub-menu,
	[dir="ltr"] .va-menu .sub-menu .sub-menu {
		inset-inline-start: calc(100% + 10px);
		inset-inline-end: auto;
		transform: translateX(7px);
	}

	[dir="ltr"] .va-menu > li > .sub-menu::before {
		inset-inline-start: -14px;
		inset-inline-end: auto;
	}
}

/* AJAX header search */
.va-header-search-wrap {
	position: relative;
	width: 100%;
	max-width: 560px;
	margin-inline: auto;
}

.va-header-search {
	max-width: none;
	margin: 0;
}

.va-ajax-search-results {
	position: absolute;
	z-index: 360;
	top: calc(100% + 9px);
	inset-inline: 0;
	overflow: hidden;
	max-height: min(560px, 70vh);
	border: 1px solid var(--va-border);
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 20px 55px rgba(24,48,45,.15);
	overflow-y: auto;
}

.va-ajax-search-results[hidden] {
	display: none !important;
}

.va-search-results-list {
	display: grid;
	padding: 7px;
}

.va-search-result-item {
	display: grid;
	grid-template-columns: 58px minmax(0, 1fr);
	align-items: center;
	gap: 11px;
	min-width: 0;
	padding: 8px;
	border-radius: 11px;
	color: var(--va-text);
	transition: background var(--va-transition), color var(--va-transition);
}

.va-search-result-item:hover,
.va-search-result-item:focus-visible {
	background: var(--va-primary-soft);
	color: var(--va-text);
	outline: none;
}

.va-search-result-media {
	display: grid;
	place-items: center;
	width: 58px;
	height: 58px;
	overflow: hidden;
	border: 1px solid var(--va-border);
	border-radius: 10px;
	background: var(--va-bg-soft);
}

.va-search-result-media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.va-search-result-placeholder {
	display: grid;
	place-items: center;
	width: 100%;
	height: 100%;
	padding: 4px;
	background: linear-gradient(135deg, var(--va-primary-soft), #fff);
	color: var(--va-primary-dark);
	font-size: .64rem;
	font-weight: 800;
}

.va-search-result-content {
	display: grid;
	min-width: 0;
	gap: 2px;
}

.va-search-result-top {
	display: flex;
	align-items: center;
}

.va-search-result-type {
	display: inline-flex;
	align-items: center;
	min-height: 20px;
	padding: 0 7px;
	border-radius: 999px;
	background: var(--va-primary-soft);
	color: var(--va-primary-dark);
	font-size: .64rem;
	font-weight: 800;
}

.va-search-result-type.is-post {
	background: #f2f4f4;
	color: var(--va-muted);
}

.va-search-result-title {
	overflow: hidden;
	color: var(--va-text);
	font-size: .84rem;
	font-weight: 800;
	line-height: 1.55;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.va-search-result-meta {
	overflow: hidden;
	color: var(--va-primary-dark);
	font-size: .72rem;
	font-weight: 700;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.va-search-results-footer {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 7px 12px;
	border-top: 1px solid var(--va-border);
	background: var(--va-bg-soft);
	color: var(--va-primary-dark);
	font-size: .78rem;
	font-weight: 800;
}

.va-search-results-footer:hover {
	background: var(--va-primary-soft);
	color: var(--va-primary-dark);
}

.va-search-state {
	padding: 24px 16px;
	color: var(--va-muted);
	font-size: .82rem;
	text-align: center;
}

.va-search-state.is-loading::before {
	content: '';
	display: inline-block;
	width: 16px;
	height: 16px;
	margin-inline-end: 8px;
	border: 2px solid var(--va-primary-soft-2);
	border-top-color: var(--va-primary);
	border-radius: 50%;
	vertical-align: -3px;
	animation: va-search-spin .7s linear infinite;
}

.va-search-state.is-error {
	color: var(--va-danger);
}

@keyframes va-search-spin {
	to { transform: rotate(360deg); }
}

.va-mobile-search-results-wrap {
	position: relative;
}

/* Refined hover mini-cart */
.va-cart-dropdown {
	width: min(460px, 94vw);
	padding: 0;
	border: 1px solid rgba(47,159,144,.18);
	border-radius: 17px;
	box-shadow: 0 24px 70px rgba(24,48,45,.17);
}

.va-cart-dropdown::before {
	content: '';
	position: absolute;
	top: -6px;
	inset-inline-end: 18px;
	width: 12px;
	height: 12px;
	border-top: 1px solid rgba(47,159,144,.18);
	border-inline-end: 1px solid rgba(47,159,144,.18);
	background: #fff;
	transform: rotate(-45deg);
}

.va-cart-dropdown__head {
	margin: 0;
	padding: 17px 18px 14px;
	border-bottom: 1px solid var(--va-border);
	background: linear-gradient(180deg, #fff, var(--va-bg-soft));
	border-radius: 17px 17px 0 0;
}

.va-cart-dropdown__head strong {
	font-size: 1rem;
	font-weight: 900;
}

.va-cart-dropdown__head .va-cart-dropdown-count {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 25px;
	padding: 0 9px;
	border-radius: 999px;
	background: var(--va-primary-soft);
	color: var(--va-primary-dark);
	font-size: .7rem;
	font-weight: 800;
}

.va-cart-dropdown .va-mini-cart-content {
	padding: 7px 12px 13px;
}

.va-cart-dropdown .woocommerce-mini-cart {
	display: grid;
	gap: 7px;
	max-height: 330px;
	padding: 3px 0 !important;
	overflow-y: auto;
	scrollbar-width: thin;
	scrollbar-color: var(--va-primary-soft-2) transparent;
}

.va-cart-dropdown .woocommerce-mini-cart-item {
	position: relative;
	display: grid !important;
	grid-template-columns: 78px minmax(0, 1fr) !important;
	gap: 12px !important;
	min-height: 96px;
	margin: 0 !important;
	padding: 9px 9px 9px 36px !important;
	border: 1px solid transparent !important;
	border-bottom: 0 !important;
	border-radius: 13px;
	background: #fff;
	transition: background var(--va-transition), border-color var(--va-transition);
}

.va-cart-dropdown .woocommerce-mini-cart-item:hover {
	border-color: var(--va-primary-soft-2) !important;
	background: var(--va-bg-soft);
}

.va-cart-dropdown .woocommerce-mini-cart-item > a:not(.remove) {
	display: grid !important;
	grid-column: 1 / -1;
	grid-template-columns: 78px minmax(0, 1fr);
	align-items: center;
	gap: 12px;
	color: var(--va-text);
	font-size: .83rem;
	font-weight: 800;
	line-height: 1.65;
}

.va-cart-dropdown .woocommerce-mini-cart-item > .va-mini-cart-product {
	display: grid !important;
	grid-column: 1 / -1;
	grid-template-columns: 78px minmax(0, 1fr);
	align-items: center;
	gap: 12px;
	color: var(--va-text);
	font-size: .83rem;
	font-weight: 800;
	line-height: 1.65;
}

.va-mini-cart-product__body {
	display: grid;
	gap: 5px;
	min-width: 0;
}

.va-mini-cart-product__name {
	display: block;
	color: var(--va-text);
}

.va-mini-cart-product__price {
	display: block;
	color: var(--va-primary-dark);
	font-size: .8rem;
	font-weight: 900;
}

.va-cart-dropdown .woocommerce-mini-cart-item img {
	grid-column: 1;
	grid-row: 1 / span 2;
	float: none !important;
	width: 78px !important;
	height: 78px !important;
	margin: 0 !important;
	border: 1px solid var(--va-border);
	border-radius: 11px;
	background: #fff;
	object-fit: cover;
}

.va-cart-dropdown .woocommerce-mini-cart-item .quantity {
	display: none !important;
}

.va-cart-dropdown .woocommerce-mini-cart-item .remove {
	position: absolute !important;
	top: 50% !important;
	inset-inline-start: 9px !important;
	inset-inline-end: auto !important;
	display: grid !important;
	place-items: center;
	width: 27px !important;
	height: 27px !important;
	margin: 0 !important;
	border: 1px solid #f2dede !important;
	border-radius: 9px !important;
	background: #fff7f7 !important;
	color: #c45454 !important;
	font-size: 18px !important;
	font-weight: 400 !important;
	line-height: 1 !important;
	transform: translateY(-50%);
}

.va-cart-dropdown .woocommerce-mini-cart-item .remove:hover {
	border-color: #ecc5c5 !important;
	background: #ffeded !important;
	color: #a83636 !important;
}

.va-cart-dropdown .woocommerce-mini-cart__total {
	margin: 8px 0 0 !important;
	padding: 14px 6px 12px !important;
	border-top: 1px solid var(--va-border) !important;
	border-bottom: 0 !important;
	color: var(--va-muted);
	font-size: .82rem;
}

.va-cart-dropdown .woocommerce-mini-cart__total strong {
	color: var(--va-text);
	font-weight: 800;
}

.va-cart-dropdown .woocommerce-mini-cart__total .woocommerce-Price-amount {
	color: var(--va-primary-dark);
	font-size: .95rem;
	font-weight: 900;
}

.va-cart-dropdown .woocommerce-mini-cart__buttons {
	display: grid !important;
	grid-template-columns: .8fr 1.2fr !important;
	gap: 8px !important;
	margin: 0 !important;
	padding: 0 2px 2px;
}

.va-cart-dropdown .woocommerce-mini-cart__buttons a {
	display: inline-flex !important;
	min-height: 47px;
	margin: 0 !important;
}

.va-cart-dropdown .woocommerce-mini-cart__buttons a:first-child {
	display: inline-flex !important;
	border: 1px solid var(--va-primary-soft-2) !important;
	background: var(--va-primary-soft) !important;
	color: var(--va-primary-dark) !important;
}

.va-cart-dropdown .woocommerce-mini-cart__buttons a:first-child:hover {
	background: var(--va-primary-soft-2) !important;
	color: var(--va-primary-dark) !important;
	box-shadow: none !important;
}

.va-cart-dropdown .woocommerce-mini-cart__empty-message {
	margin: 8px 0 !important;
	padding: 32px 16px !important;
	border: 1px dashed var(--va-primary-medium);
	border-radius: 13px;
	background: var(--va-primary-soft);
	color: var(--va-muted);
	text-align: center;
}

/* Classic checkout layout fix.
   Customer details remain on the right in RTL; order review stays beside them,
   rather than dropping into a later grid row. */
.woocommerce-checkout form.checkout {
	display: grid !important;
	grid-template-columns: minmax(0, 1.45fr) minmax(330px, .72fr) !important;
	grid-template-rows: auto 1fr !important;
	gap: 14px 26px !important;
	align-items: start !important;
}

.woocommerce-checkout #customer_details {
	grid-column: 1 !important;
	grid-row: 1 / span 2 !important;
	min-width: 0;
}

.woocommerce-checkout #order_review_heading {
	grid-column: 2 !important;
	grid-row: 1 !important;
	align-self: end;
	margin: 0 0 2px !important;
	padding: 0 3px;
}

.woocommerce-checkout #order_review {
	grid-column: 2 !important;
	grid-row: 2 !important;
	align-self: start;
	min-width: 0;
	margin: 0 !important;
	padding: 18px !important;
}

.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2 {
	margin-bottom: 16px;
}

.woocommerce-checkout #customer_details .col-2:last-child {
	margin-bottom: 0;
}

/* Third-party checkout elements should not create giant empty grid tracks. */
.woocommerce-checkout form.checkout > .woocommerce-NoticeGroup,
.woocommerce-checkout form.checkout > .woocommerce-NoticeGroup-checkout {
	grid-column: 1 / -1 !important;
}

/* Payment gateway logos, including DigiPay, must stay compact. */
.woocommerce-checkout #payment ul.payment_methods > li > label img,
.woocommerce-checkout #payment [class*="payment_method_digi"] img,
.woocommerce-checkout #payment [class*="payment_method_digipay"] img,
.woocommerce-checkout #payment [id*="payment_method_digi"] + label img {
	display: inline-block !important;
	width: auto !important;
	height: auto !important;
	max-width: 108px !important;
	max-height: 38px !important;
	margin: 0 8px !important;
	object-fit: contain !important;
	vertical-align: middle !important;
}

/* Defensive rule for DigiPay images inserted deeper inside its payment box. */
.woocommerce-checkout #payment [class*="digipay"] img,
.woocommerce-checkout #payment [class*="digi-pay"] img {
	width: auto !important;
	height: auto !important;
	max-width: 120px !important;
	max-height: 52px !important;
	object-fit: contain !important;
}

.woocommerce-checkout #payment ul.payment_methods > li {
	padding-block: 4px;
}

.woocommerce-checkout #payment ul.payment_methods > li > label {
	display: inline-flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 5px;
	max-width: calc(100% - 28px);
	line-height: 1.7;
}

@media (max-width: 900px) {
	.woocommerce-checkout form.checkout {
		grid-template-columns: 1fr !important;
		grid-template-rows: auto !important;
		gap: 18px !important;
	}

	.woocommerce-checkout #customer_details,
	.woocommerce-checkout #order_review_heading,
	.woocommerce-checkout #order_review {
		grid-column: 1 !important;
		grid-row: auto !important;
	}

	.va-ajax-search-results--mobile {
		position: relative;
		top: auto;
		inset-inline: auto;
		margin-bottom: 10px;
		max-height: 55vh;
		border-radius: 12px;
		box-shadow: 0 10px 28px rgba(24,48,45,.10);
	}
}

@media (max-width: 640px) {
	.va-search-result-item {
		grid-template-columns: 50px minmax(0, 1fr);
	}

	.va-search-result-media {
		width: 50px;
		height: 50px;
	}

	.va-cart-dropdown {
		display: none !important;
	}
}

/* ==========================================================================
   Voice Art v0.5.1 — Reference-style primary menu + mobile accordion
   - No separators between top-level titles
   - Configurable submenu font size/weight
   ========================================================================== */

/* Desktop primary menu: clean horizontal navigation with visual states,
   first dropdown below the parent, then nested flyouts toward inline-start. */
@media (min-width: 901px) {
	.va-header-navrow {
		position: relative;
		z-index: 120;
		border-top-color: rgba(223, 234, 232, .82);
		box-shadow: 0 5px 15px rgba(24, 48, 45, .025);
	}

	.va-header-navrow__inner {
		min-height: 46px;
		overflow: visible;
	}

	.va-primary-nav,
	.va-menu {
		overflow: visible;
	}

	.va-menu {
		align-items: stretch;
		gap: 0;
	}

	.va-menu > li {
		position: relative;
		display: flex;
		align-items: center;
		border: 0;
	}


	.va-menu > li > a {
		position: relative;
		display: inline-flex;
		align-items: center;
		gap: 8px;
		min-height: 45px;
		padding: 8px 13px;
		border-radius: 0;
		color: #42504e;
		line-height: 1.45;
		white-space: nowrap;
		transition: color 160ms ease, background 160ms ease;
	}

	.va-menu > li:first-child > a {
		padding-inline-start: 13px;
	}

	.va-menu > li > a::before {
		content: '';
		position: absolute;
		inset-inline: 13px;
		bottom: 0;
		height: 2px;
		border-radius: 999px 999px 0 0;
		background: var(--va-primary);
		opacity: 0;
		transform: scaleX(.35);
		transition: opacity 160ms ease, transform 160ms ease;
	}

	.va-menu > li.menu-item-has-children > a::after {
		content: '';
		width: 6px;
		height: 6px;
		margin-top: -3px;
		border-right: 1.5px solid currentColor;
		border-bottom: 1.5px solid currentColor;
		opacity: .52;
		transform: rotate(45deg);
		transition: transform 160ms ease, opacity 160ms ease;
	}

	.va-menu > li:hover > a,
	.va-menu > li:focus-within > a,
	.va-menu > .current-menu-item > a,
	.va-menu > .current-menu-ancestor > a {
		background: linear-gradient(180deg, rgba(47,159,144,0), rgba(47,159,144,.045));
		color: var(--va-primary-dark);
	}

	.va-menu > li:hover > a::before,
	.va-menu > li:focus-within > a::before,
	.va-menu > .current-menu-item > a::before,
	.va-menu > .current-menu-ancestor > a::before {
		opacity: 1;
		transform: scaleX(1);
	}

	.va-menu > li:hover > a::after,
	.va-menu > li:focus-within > a::after {
		opacity: .85;
		transform: rotate(225deg) translate(-1px, -1px);
	}

	/* Level 1: classic dropdown beneath the main menu item, like the reference. */
	.va-menu > li > .sub-menu {
		top: calc(100% + 7px);
		inset-inline-start: 0;
		inset-inline-end: auto;
		z-index: 240;
		width: 240px;
		padding: 8px;
		border: 1px solid #e1e9e7;
		border-radius: 10px;
		background: rgba(255, 255, 255, .995);
		box-shadow: 0 14px 34px rgba(31, 54, 50, .13);
		opacity: 0;
		visibility: hidden;
		transform: translateY(7px);
		transform-origin: top right;
		pointer-events: none;
		transition: opacity 150ms ease, transform 150ms ease, visibility 150ms ease;
	}

	.va-menu > li > .sub-menu::before {
		content: '';
		position: absolute;
		top: -10px;
		inset-inline: 0;
		width: auto;
		height: 12px;
	}

	.va-menu > li:hover > .sub-menu,
	.va-menu > li:focus-within > .sub-menu {
		opacity: 1;
		visibility: visible;
		transform: translateY(0);
		pointer-events: auto;
	}

	.va-menu .sub-menu li {
		position: relative;
	}

	.va-menu .sub-menu a {
		display: flex;
		align-items: center;
		gap: 10px;
		width: 100%;
		min-height: 38px;
		padding: 7px 10px;
		border-radius: 7px;
		color: #65706e;
		font-size: var(--va-submenu-font-size, 12px);
		font-weight: var(--va-submenu-font-weight, 500);
		line-height: 1.6;
		transition: color 150ms ease, background 150ms ease, padding 150ms ease;
	}

	.va-menu .sub-menu a:hover,
	.va-menu .sub-menu li:focus-within > a,
	.va-menu .sub-menu .current-menu-item > a,
	.va-menu .sub-menu .current-menu-ancestor > a {
		padding-inline-start: 13px;
		background: var(--va-primary-soft);
		color: var(--va-primary);
	}

	.va-menu .sub-menu li.menu-item-has-children > a::after {
		content: '‹';
		margin-inline-start: auto;
		color: #a4aeac;
		font-family: Arial, sans-serif;
		font-size: 18px;
		font-weight: 400;
		line-height: 1;
		transition: color 150ms ease, transform 150ms ease;
	}

	[dir="ltr"] .va-menu .sub-menu li.menu-item-has-children > a::after {
		content: '›';
	}

	.va-menu .sub-menu li.menu-item-has-children:hover > a::after,
	.va-menu .sub-menu li.menu-item-has-children:focus-within > a::after {
		color: var(--va-primary);
		transform: translateX(-2px);
	}

	[dir="ltr"] .va-menu .sub-menu li.menu-item-has-children:hover > a::after,
	[dir="ltr"] .va-menu .sub-menu li.menu-item-has-children:focus-within > a::after {
		transform: translateX(2px);
	}

	/* Level 2+: fly out to the left in RTL and right in LTR. */
	.va-menu .sub-menu .sub-menu {
		top: -9px;
		inset-inline-start: calc(100% + 8px);
		inset-inline-end: auto;
		z-index: 250;
		width: 238px;
		padding: 8px;
		border: 1px solid #e1e9e7;
		border-radius: 10px;
		background: #fff;
		box-shadow: 0 14px 34px rgba(31, 54, 50, .13);
		opacity: 0;
		visibility: hidden;
		transform: translateX(7px);
		pointer-events: none;
		transition: opacity 150ms ease, transform 150ms ease, visibility 150ms ease;
	}

	[dir="ltr"] .va-menu .sub-menu .sub-menu {
		transform: translateX(-7px);
	}

	.va-menu .sub-menu .sub-menu::before {
		content: '';
		position: absolute;
		top: 0;
		bottom: 0;
		inset-inline-start: -10px;
		width: 12px;
		height: auto;
	}

	.va-menu .sub-menu li:hover > .sub-menu,
	.va-menu .sub-menu li:focus-within > .sub-menu {
		opacity: 1;
		visibility: visible;
		transform: translateX(0);
		pointer-events: auto;
	}
}

/* Mobile/tablet drawer: touch-first accordion submenus. */
@media (max-width: 900px) {
	.va-mobile-drawer {
		grid-template-columns: min(390px, calc(100vw - 46px)) minmax(0, 1fr);
	}

	.va-drawer-panel {
		padding: max(16px, env(safe-area-inset-top)) 16px max(20px, env(safe-area-inset-bottom));
		box-shadow: 0 18px 60px rgba(12, 34, 31, .22);
	}

	.va-drawer-head {
		min-height: 54px;
		padding-bottom: 12px;
		margin-bottom: 8px;
	}

	.va-drawer-brand .custom-logo,
	.va-drawer-brand .va-header-logo-image {
		display: block;
		width: auto;
		max-width: 150px;
		max-height: 40px;
		object-fit: contain;
	}

	.va-mobile-search {
		margin: 10px 0 14px;
	}

	.va-mobile-nav {
		margin-inline: -4px;
	}

	.va-mobile-menu,
	.va-mobile-menu ul {
		list-style: none;
		margin: 0;
		padding: 0;
	}

	.va-mobile-menu > li {
		position: relative;
		margin-bottom: 4px;
		border: 1px solid transparent;
		border-radius: 11px;
		transition: background 180ms ease, border-color 180ms ease;
	}

	.va-mobile-menu > li.is-submenu-open,
	.va-mobile-menu > li.current-menu-ancestor,
	.va-mobile-menu > li.current-menu-item {
		border-color: var(--va-primary-soft-2);
		background: linear-gradient(180deg, #fff, var(--va-primary-soft));
	}

	.va-mobile-menu li {
		position: relative;
	}

	.va-mobile-menu a {
		display: flex;
		align-items: center;
		min-height: 48px;
		padding: 9px 12px;
		border: 0;
		border-radius: 9px;
		color: #344744;
		font-size: .92rem;
		font-weight: 700;
		line-height: 1.65;
	}

	.va-mobile-menu > li.menu-item-has-children > a,
	.va-mobile-menu .sub-menu > li.menu-item-has-children > a {
		padding-inline-end: 56px;
	}

	.va-mobile-menu a:hover,
	.va-mobile-menu a:focus-visible,
	.va-mobile-menu .current-menu-item > a {
		background: rgba(47, 159, 144, .07);
		color: var(--va-primary-dark);
		outline: none;
	}

	.va-mobile-submenu-toggle {
		position: absolute;
		top: 6px;
		inset-inline-end: 5px;
		z-index: 3;
		display: grid;
		place-items: center;
		width: 38px;
		height: 38px;
		padding: 0;
		border: 0;
		border-radius: 9px;
		background: transparent;
		color: #7c8b88;
		cursor: pointer;
		transition: background 160ms ease, color 160ms ease;
	}

	.va-mobile-submenu-toggle:hover,
	.va-mobile-submenu-toggle:focus-visible {
		background: rgba(47, 159, 144, .1);
		color: var(--va-primary-dark);
		outline: none;
	}

	.va-mobile-submenu-toggle span {
		display: block;
		width: 8px;
		height: 8px;
		margin-top: -4px;
		border-right: 1.7px solid currentColor;
		border-bottom: 1.7px solid currentColor;
		transform: rotate(45deg);
		transition: transform 220ms ease;
	}

	.va-mobile-menu li.is-submenu-open > .va-mobile-submenu-toggle {
		color: var(--va-primary);
	}

	.va-mobile-menu li.is-submenu-open > .va-mobile-submenu-toggle span {
		margin-top: 3px;
		transform: rotate(225deg);
	}

	/* Progressive enhancement: submenus only collapse after JS marks the menu ready. */
	.va-mobile-menu.is-accordion-ready .sub-menu {
		display: block;
		height: 0;
		padding: 0;
		margin: 0;
		overflow: hidden;
		opacity: 0;
		visibility: hidden;
		transition: height 260ms cubic-bezier(.2,.7,.2,1), opacity 180ms ease, visibility 180ms ease;
	}

	.va-mobile-menu.is-accordion-ready li.is-submenu-open > .sub-menu {
		opacity: 1;
		visibility: visible;
	}

	.va-mobile-menu .sub-menu {
		border: 0;
		background: transparent;
	}

	.va-mobile-menu .sub-menu > li {
		margin: 1px 8px 1px 0;
		border-inline-start: 1px solid #e3ecea;
	}

	.va-mobile-menu .sub-menu a {
		min-height: 43px;
		padding-block: 7px;
		padding-inline-start: 14px;
		color: #657571;
		font-size: var(--va-submenu-font-size, 12px);
		font-weight: var(--va-submenu-font-weight, 500);
	}

	.va-mobile-menu .sub-menu .sub-menu > li {
		margin-inline-start: 10px;
	}

	.va-mobile-menu .sub-menu .sub-menu a {
		font-size: var(--va-submenu-font-size, 12px);
		font-weight: var(--va-submenu-font-weight, 500);
	}

	.va-mobile-quick-links {
		margin-top: 16px;
		padding-top: 12px;
		border-top: 1px solid var(--va-border);
	}
}

@media (max-width: 520px) {
	.va-mobile-drawer {
		grid-template-columns: min(92vw, 360px) minmax(0, 1fr);
	}

	.va-drawer-panel {
		padding-inline: 13px;
	}

	.va-mobile-menu a {
		font-size: .9rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.va-menu .sub-menu,
	.va-mobile-menu.is-accordion-ready .sub-menu,
	.va-mobile-submenu-toggle span {
		transition-duration: .01ms !important;
	}
}

/* LTR specificity reset for the v0.4 flyout rule: level 1 still drops below. */
@media (min-width: 901px) {
	[dir="ltr"] .va-menu > li > .sub-menu {
		top: calc(100% + 7px);
		inset-inline-start: 0;
		inset-inline-end: auto;
		transform: translateY(7px);
	}

	[dir="ltr"] .va-menu > li:hover > .sub-menu,
	[dir="ltr"] .va-menu > li:focus-within > .sub-menu {
		transform: translateY(0);
	}

	[dir="ltr"] .va-menu > li > .sub-menu::before {
		top: -10px;
		inset-inline: 0;
		width: auto;
		height: 12px;
	}

	[dir="ltr"] .va-menu .sub-menu .sub-menu {
		inset-inline-start: calc(100% + 8px);
		inset-inline-end: auto;
	}
}


/* ========================================================================== 
   Voice Art v0.5.2 — Header alignment, account hover menu, mini-cart polish
   ========================================================================== */

/* Brand utility strip. */
.va-header-top {
	min-height: 32px;
	border-top: 0;
	background: #2F9F90;
}

.va-header-top__inner {
	min-height: 32px;
}

.va-top-nav {
	max-width: none;
}

.va-top-menu {
	gap: 4px 14px;
}

.va-top-menu a {
	color: #fff;
	opacity: .94;
}

.va-top-menu a:hover,
.va-top-menu a:focus-visible {
	color: #fff;
	opacity: 1;
	text-decoration: underline;
	text-underline-offset: 3px;
	outline: none;
}

/* Keep the outer edges of each header row on the same container guides. */
[dir="rtl"] .va-header-actions {
	justify-content: flex-start;
}

[dir="ltr"] .va-header-actions {
	justify-content: flex-end;
}

@media (min-width: 901px) {
	.va-menu > li:first-child > a {
		padding-inline-start: 0;
	}

	.va-menu > li:first-child > a::before {
		inset-inline-start: 0;
	}
}

/* Account trigger: icon + سلام + user name. */
.va-account-hover-wrap {
	position: relative;
	display: inline-flex;
}

.va-account-hover-wrap::after {
	content: '';
	position: absolute;
	top: 100%;
	inset-inline-end: 0;
	width: 100%;
	height: 13px;
}

.va-account-trigger {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	min-height: 40px;
	max-width: 230px;
	padding: 0 9px;
	border: 1px solid transparent;
	border-radius: 12px;
	background: transparent;
	color: var(--va-text);
	white-space: nowrap;
	transition: background var(--va-transition), border-color var(--va-transition), color var(--va-transition);
}

.va-account-trigger:hover,
.va-account-trigger:focus-visible,
.va-account-hover-wrap:focus-within > .va-account-trigger {
	border-color: var(--va-primary-soft-2);
	background: var(--va-primary-soft);
	color: var(--va-primary-dark);
	outline: none;
}

.va-account-trigger__icon {
	display: grid;
	place-items: center;
	width: 24px;
	height: 24px;
	flex: 0 0 24px;
}

.va-account-trigger__icon svg {
	width: 22px;
	height: 22px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.va-account-trigger__text {
	overflow: hidden;
	max-width: 160px;
	font-size: .78rem;
	font-weight: 500;
	text-overflow: ellipsis;
}

.va-account-trigger__text strong {
	font-weight: 800;
}

.va-account-trigger__chevron {
	display: grid;
	place-items: center;
	width: 14px;
	height: 14px;
	color: var(--va-muted);
	transition: transform 160ms ease, color 160ms ease;
}

.va-account-trigger__chevron svg {
	width: 13px;
	height: 13px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
}

.va-account-hover-wrap:hover .va-account-trigger__chevron,
.va-account-hover-wrap:focus-within .va-account-trigger__chevron {
	color: var(--va-primary);
	transform: rotate(180deg);
}

/* User dropdown inspired by the supplied dashboard reference, using Voice Art colors. */
.va-account-dropdown {
	position: absolute;
	z-index: 320;
	top: calc(100% + 10px);
	inset-inline-end: 0;
	width: min(318px, 92vw);
	padding: 10px;
	border: 1px solid rgba(47, 159, 144, .18);
	border-radius: 17px;
	background: #fff;
	box-shadow: 0 24px 70px rgba(24, 48, 45, .17);
	opacity: 0;
	visibility: hidden;
	transform: translateY(8px);
	pointer-events: none;
	transition: opacity 160ms ease, transform 160ms ease, visibility 160ms ease;
	direction: rtl;
}

.va-account-dropdown::before {
	content: '';
	position: absolute;
	top: -6px;
	inset-inline-end: 24px;
	width: 12px;
	height: 12px;
	border-top: 1px solid rgba(47, 159, 144, .18);
	border-inline-end: 1px solid rgba(47, 159, 144, .18);
	background: #fff;
	transform: rotate(-45deg);
}

.va-account-hover-wrap:hover .va-account-dropdown,
.va-account-hover-wrap:focus-within .va-account-dropdown {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
	pointer-events: auto;
}

.va-account-dropdown__profile {
	display: grid;
	grid-template-columns: 48px minmax(0, 1fr);
	align-items: center;
	gap: 11px;
	padding: 9px;
	margin-bottom: 7px;
	border-radius: 13px;
	background: linear-gradient(135deg, var(--va-primary-soft), #fff);
	color: var(--va-text);
}

.va-account-dropdown__profile:hover {
	color: var(--va-primary-dark);
}

.va-account-dropdown__profile img {
	display: block;
	width: 48px;
	height: 48px;
	border: 2px solid #fff;
	border-radius: 14px;
	box-shadow: 0 5px 14px rgba(24, 48, 45, .09);
	object-fit: cover;
}

.va-account-dropdown__profile span {
	display: grid;
	min-width: 0;
	line-height: 1.55;
}

.va-account-dropdown__profile small {
	color: var(--va-muted);
	font-size: .7rem;
	font-weight: 500;
}

.va-account-dropdown__profile strong {
	overflow: hidden;
	color: var(--va-text);
	font-size: .88rem;
	font-weight: 900;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.va-account-dropdown__nav ul {
	list-style: none;
	margin: 0;
	padding: 2px 0 0;
}

.va-account-dropdown__nav li {
	margin: 2px 0;
}

.va-account-dropdown__nav a {
	display: flex;
	align-items: center;
	gap: 10px;
	min-height: 42px;
	padding: 7px 10px;
	border-radius: 10px;
	color: #5f706d;
	font-size: .78rem;
	font-weight: 650;
	transition: background 150ms ease, color 150ms ease, transform 150ms ease;
}

.va-account-dropdown__nav a:hover,
.va-account-dropdown__nav a:focus-visible {
	background: var(--va-primary-soft);
	color: var(--va-primary-dark);
	transform: translateX(-2px);
	outline: none;
}

.va-account-dropdown__item-icon {
	display: grid;
	place-items: center;
	width: 24px;
	height: 24px;
	flex: 0 0 24px;
	color: var(--va-primary);
}

.va-account-dropdown__item-icon svg {
	width: 20px;
	height: 20px;
	fill: currentColor;
	stroke: none;
}

.va-account-dropdown__nav li.is-logout {
	padding-top: 7px;
	margin-top: 8px;
	border-top: 1px solid var(--va-border);
}

.va-account-dropdown__nav li.is-logout a {
	background: #fff6f6;
	color: var(--va-danger);
}

.va-account-dropdown__nav li.is-logout .va-account-dropdown__item-icon {
	color: var(--va-danger);
}

.va-account-dropdown__nav li.is-logout a:hover,
.va-account-dropdown__nav li.is-logout a:focus-visible {
	background: #ffeded;
	color: #9f3434;
}

/* Mini-cart remove control: always on the physical left of each product card. */
.va-cart-dropdown .woocommerce-mini-cart-item .remove {
	left: 9px !important;
	right: auto !important;
	inset-inline-start: auto !important;
	inset-inline-end: auto !important;
}

@media (max-width: 1180px) and (min-width: 901px) {
	.va-account-trigger__text {
		max-width: 112px;
	}

	.va-account-trigger__chevron {
		display: none;
	}
}

@media (max-width: 900px) {
	.va-account-hover-wrap::after,
	.va-account-dropdown {
		display: none !important;
	}

	.va-account-trigger {
		display: inline-grid;
		place-items: center;
		width: 40px;
		height: 40px;
		min-height: 40px;
		padding: 0;
		border-radius: 12px;
	}

	.va-account-trigger__text,
	.va-account-trigger__chevron {
		display: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	.va-account-dropdown,
	.va-account-trigger__chevron,
	.va-account-dropdown__nav a {
		transition-duration: .01ms !important;
	}
}

/* ========================================================================== 
   Voice Art v0.5.3 — Smart sticky header, mini-cart actions, unified widths
   ========================================================================== */

/* The utility strip is deliberately outside the sticky header. Only the
   logo/search/actions row and the primary-navigation row participate in the
   smart sticky behavior. */
.va-site-header--sticky {
	position: sticky;
	top: 0;
	z-index: 300;
	will-change: transform;
	transform: translate3d(0, 0, 0);
	transition: transform 240ms cubic-bezier(.2,.8,.2,1), box-shadow 180ms ease, background-color 180ms ease;
}

.va-site-header--sticky.is-scroll-hidden {
	transform: translate3d(0, calc(-100% - 4px), 0);
}

.va-site-header--sticky.is-scroll-visible,
.va-site-header--sticky.is-scroll-stuck {
	background: rgba(255,255,255,.985);
	box-shadow: 0 10px 30px rgba(24,48,45,.08);
	backdrop-filter: blur(14px);
}

/* Keep dropdowns above page content even while the sticky header is moving. */
.va-site-header--sticky .va-header-main,
.va-site-header--sticky .va-header-navrow {
	position: relative;
}

@media (prefers-reduced-motion: reduce) {
	.va-site-header--sticky {
		transition-duration: .01ms !important;
	}
}

/* Mini-cart product card: reserve a dedicated physical-left gutter for the
   remove control. This keeps it on the card edge instead of beside the image. */
.va-cart-dropdown .woocommerce-mini-cart-item {
	padding: 10px 10px 10px 48px !important;
}

.va-cart-dropdown .woocommerce-mini-cart-item > a:not(.remove) {
	direction: rtl;
	grid-template-columns: 78px minmax(0, 1fr) !important;
	gap: 12px !important;
	min-width: 0;
}

.va-cart-dropdown .woocommerce-mini-cart-item .remove {
	top: 50% !important;
	left: 10px !important;
	right: auto !important;
	inset-inline-start: auto !important;
	inset-inline-end: auto !important;
	width: 30px !important;
	height: 30px !important;
	border: 1px solid #f0d5d5 !important;
	border-radius: 10px !important;
	background: linear-gradient(180deg, #fff, #fff5f5) !important;
	color: #c65454 !important;
	box-shadow: 0 5px 14px rgba(170, 65, 65, .08) !important;
	transform: translateY(-50%) !important;
	transition: transform 150ms ease, background 150ms ease, border-color 150ms ease, color 150ms ease, box-shadow 150ms ease !important;
}

.va-cart-dropdown .woocommerce-mini-cart-item .remove:hover,
.va-cart-dropdown .woocommerce-mini-cart-item .remove:focus-visible {
	border-color: #e9bcbc !important;
	background: #ffecec !important;
	color: #9e3232 !important;
	box-shadow: 0 7px 18px rgba(170, 65, 65, .13) !important;
	transform: translateY(-50%) scale(1.06) !important;
	outline: none;
}

/* More polished mini-cart actions: secondary outlined cart button + strong
   checkout CTA, both with clear hover/focus states. */
.va-cart-dropdown .woocommerce-mini-cart__buttons {
	grid-template-columns: 1fr 1.15fr !important;
	gap: 10px !important;
	padding: 2px !important;
}

.va-cart-dropdown .woocommerce-mini-cart__buttons a.button {
	position: relative;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	gap: 7px;
	min-height: 48px;
	padding: 0 13px !important;
	border-radius: 13px !important;
	font-size: .78rem !important;
	font-weight: 850 !important;
	letter-spacing: 0 !important;
	box-shadow: none !important;
	transform: none !important;
	overflow: hidden;
}

.va-cart-dropdown .woocommerce-mini-cart__buttons a.button::after {
	content: '←';
	font-size: 15px;
	font-weight: 700;
	line-height: 1;
	transition: transform 160ms ease;
}

.va-cart-dropdown .woocommerce-mini-cart__buttons a.button:hover::after,
.va-cart-dropdown .woocommerce-mini-cart__buttons a.button:focus-visible::after {
	transform: translateX(-3px);
}

.va-cart-dropdown .woocommerce-mini-cart__buttons a:first-child {
	border: 1px solid var(--va-primary-soft-2) !important;
	background: #fff !important;
	color: var(--va-primary-dark) !important;
	box-shadow: inset 0 0 0 1px rgba(255,255,255,.6) !important;
}

.va-cart-dropdown .woocommerce-mini-cart__buttons a:first-child:hover,
.va-cart-dropdown .woocommerce-mini-cart__buttons a:first-child:focus-visible {
	border-color: var(--va-primary-medium) !important;
	background: var(--va-primary-soft) !important;
	color: var(--va-primary-dark) !important;
	box-shadow: 0 7px 18px rgba(47,159,144,.10) !important;
	outline: none;
}

.va-cart-dropdown .woocommerce-mini-cart__buttons a:last-child {
	border: 1px solid var(--va-primary) !important;
	background: linear-gradient(135deg, var(--va-primary), var(--va-primary-dark)) !important;
	color: #fff !important;
	box-shadow: 0 10px 22px rgba(47,159,144,.22) !important;
}

.va-cart-dropdown .woocommerce-mini-cart__buttons a:last-child:hover,
.va-cart-dropdown .woocommerce-mini-cart__buttons a:last-child:focus-visible {
	background: linear-gradient(135deg, var(--va-primary-dark), var(--va-primary-darker)) !important;
	color: #fff !important;
	box-shadow: 0 12px 26px rgba(47,159,144,.28) !important;
	outline: none;
}

/* One width source of truth. Theme pages already use .va-container; these
   rules extend the same setting to common external builders/plugins. */
body {
	--wp--style--global--content-size: var(--va-container);
	--wp--style--global--wide-size: var(--va-container);
	--container-max-width: var(--va-container);
}

/* Novin Flex Dashboard follows the theme container width instead of the
   width of an Elementor/full-width parent. */
.nfd-default-dashboard,
.nfd-standalone-router {
	width: 100% !important;
	max-width: var(--va-container) !important;
	margin-inline: auto !important;
}

/* Elementor boxed containers inherit Voice Art's configured page width. */
.elementor-section.elementor-section-boxed > .elementor-container,
.e-con.e-con-boxed > .e-con-inner {
	max-width: var(--va-container) !important;
}

/* Gutenberg wide content uses the same width token. */
.is-layout-constrained > .alignwide,
.wp-site-blocks > .alignwide {
	max-width: var(--va-container) !important;
}

/* Single product / account areas that are rendered by WooCommerce rather
   than through Voice Art's page wrapper are constrained to the same guide. */
.single-product .woocommerce > div.product,
.woocommerce-account .woocommerce,
.woocommerce-order-received .woocommerce {
	width: min(calc(100% - 40px), var(--va-container));
	margin-inline: auto;
}

@media (max-width: 900px) {
	.va-site-header--sticky {
		top: 0;
	}

	.nfd-default-dashboard,
	.nfd-standalone-router {
		max-width: 100% !important;
	}
}

@media (min-width: 783px) {
	.admin-bar .va-site-header--sticky {
		top: 32px;
	}
}

@media (max-width: 782px) {
	.admin-bar .va-site-header--sticky {
		top: 46px;
	}
}

/* ==========================================================================
   Voice Art v0.6.0 — Reference footer + Elementor footer widget
   ========================================================================== */

.va-site-footer.va-reference-footer {
	margin-top: 56px;
	background: transparent;
	color: rgba(255, 255, 255, .9);
}

.va-reference-footer__main,
.va-elementor-footer__main {
	background: var(--va-footer-bg, var(--va-primary-dark));
	color: rgba(255, 255, 255, .9);
}

.va-reference-footer__inner,
.va-elementor-footer__inner {
	width: min(calc(100% - 40px), var(--va-container));
	margin-inline: auto;
	padding-block: clamp(52px, 5vw, 72px) 46px;
}

.va-reference-footer__top,
.va-elementor-footer__top,
.va-reference-footer__lower,
.va-elementor-footer__lower {
	display: grid;
	grid-template-columns: minmax(0, 1.85fr) minmax(190px, .65fr) minmax(180px, .6fr);
	column-gap: clamp(28px, 4vw, 58px);
}

.va-reference-footer__top,
.va-elementor-footer__top {
	align-items: start;
}

.va-reference-footer__title,
.va-elementor-footer__title {
	margin: 0 0 13px;
	color: #fff;
	font-size: 1rem;
	font-weight: 900;
	line-height: 1.7;
}

.va-reference-footer__about-text,
.va-elementor-footer__about-text {
	color: rgba(255, 255, 255, .9);
	font-size: .88rem;
	font-weight: 500;
	line-height: 2.15;
}

.va-reference-footer__about-text p,
.va-elementor-footer__about-text p {
	margin: 0 0 8px;
}

.va-reference-footer__about-text p:last-child,
.va-elementor-footer__about-text p:last-child {
	margin-bottom: 0;
}

.va-reference-footer__links,
.va-elementor-footer__links {
	list-style: none;
	margin: 0;
	padding: 0;
}

.va-reference-footer__links li,
.va-elementor-footer__links li {
	margin: 0 0 6px;
}

.va-reference-footer__links a,
.va-elementor-footer__links a {
	display: inline-flex;
	align-items: center;
	min-height: 27px;
	color: rgba(255, 255, 255, .94);
	font-size: .84rem;
	font-weight: 650;
	line-height: 1.7;
	transition: color 160ms ease, transform 160ms ease, opacity 160ms ease;
}

.va-reference-footer__links a:hover,
.va-elementor-footer__links a:hover {
	color: #fff;
	transform: translateX(-3px);
}

.va-reference-footer__lower,
.va-elementor-footer__lower {
	align-items: center;
	margin-top: 42px;
}

.va-reference-footer__bottom-nav,
.va-elementor-footer__bottom-links {
	min-height: 78px;
	padding-top: 27px;
	border-top: 1px solid rgba(255, 255, 255, .72);
}

.va-reference-footer__bottom-menu,
.va-elementor-footer__bottom-links {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	flex-wrap: wrap;
	gap: 14px 34px;
	list-style: none;
	margin: 0;
	padding-inline-start: 0;
}

.va-reference-footer__bottom-menu a,
.va-elementor-footer__bottom-link {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	color: #fff;
	font-size: .82rem;
	font-weight: 750;
	line-height: 1.5;
}

.va-reference-footer__bottom-menu a::before {
	content: '';
	width: 7px;
	height: 7px;
	flex: 0 0 auto;
	border: 1.5px solid currentColor;
	border-radius: 50%;
	opacity: .85;
}

.va-elementor-footer__link-icon {
	display: inline-grid;
	place-items: center;
	width: 18px;
	height: 18px;
	flex: 0 0 18px;
}

.va-elementor-footer__link-icon svg,
.va-elementor-footer__cta svg {
	width: 1em;
	height: 1em;
	fill: currentColor;
}

.va-reference-footer__ctas,
.va-elementor-footer__ctas {
	display: grid;
	gap: 14px;
	align-self: center;
}

.va-reference-footer__cta,
.va-elementor-footer__cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	min-height: 44px;
	padding: 9px 18px;
	border: 1px solid rgba(255, 255, 255, .08);
	border-radius: 10px;
	background: var(--va-primary);
	color: #fff !important;
	font-size: .82rem;
	font-weight: 800;
	line-height: 1.45;
	text-align: center;
	box-shadow: 0 9px 24px rgba(8, 42, 38, .10);
	transition: transform 160ms ease, background 160ms ease, box-shadow 160ms ease;
}

.va-reference-footer__cta:hover,
.va-elementor-footer__cta:hover {
	background: var(--va-primary-medium);
	color: #fff !important;
	transform: translateY(-2px);
	box-shadow: 0 12px 28px rgba(8, 42, 38, .16);
}

.va-reference-footer__cta--disabled {
	cursor: default;
	user-select: none;
}

.va-reference-footer__cta--disabled:hover {
	transform: none;
	background: var(--va-primary);
	box-shadow: 0 9px 24px rgba(8, 42, 38, .10);
}

.va-reference-footer__badges-note,
.va-elementor-footer__badges {
	display: flex;
	align-items: flex-end;
	justify-content: flex-end;
	flex-wrap: wrap;
	gap: 8px;
	min-height: 84px;
}

.va-elementor-footer__badge {
	display: inline-block;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	overflow: visible;
	box-shadow: none;
	transition: none;
}

.va-elementor-footer__badge:hover {
	transform: none;
	box-shadow: none;
}

.va-elementor-footer__badge img {
	display: block;
	width: auto;
	height: auto;
	max-width: 100%;
	max-height: none;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	object-fit: initial;
}

.va-reference-footer__copyright,
.va-elementor-footer__copyright {
	background: var(--va-primary-darker);
	color: rgba(255, 255, 255, .9);
	font-size: .78rem;
	font-weight: 500;
	text-align: center;
}

.va-reference-footer__copyright > .va-container,
.va-elementor-footer__copyright-inner {
	display: flex;
	min-height: var(--va-footer-copyright-height, 54px);
	padding-block: 0;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
}

/* The custom Elementor widget can be dropped inside a boxed Elementor
   container and still paint the footer background edge-to-edge. */
.elementor-widget-voice-art-footer {
	width: 100%;
	max-width: none !important;
}

.va-elementor-footer {
	position: relative;
	width: 100vw;
	max-width: 100vw;
	margin-inline: calc(50% - 50vw);
	color: rgba(255, 255, 255, .9);
}

.va-elementor-footer__inner {
	width: calc(100% - 40px);
	max-width: var(--va-container);
}

.va-elementor-footer__copyright-inner {
	width: min(calc(100% - 40px), var(--va-container));
	margin-inline: auto;
}

@media (max-width: 1024px) {
	.va-reference-footer__top,
	.va-elementor-footer__top {
		grid-template-columns: minmax(0, 1.5fr) minmax(180px, .75fr) minmax(170px, .75fr);
		column-gap: 28px;
	}

	.va-reference-footer__lower,
	.va-elementor-footer__lower {
		grid-template-columns: minmax(0, 1.5fr) minmax(180px, .75fr) minmax(170px, .75fr);
		column-gap: 28px;
	}
}

@media (max-width: 820px) {
	.va-site-footer.va-reference-footer {
		margin-top: 42px;
	}

	.va-reference-footer__inner {
		width: min(calc(100% - 32px), var(--va-container));
		padding-block: 42px 34px;
	}

	.va-elementor-footer__inner {
		width: calc(100% - 32px);
		padding-block: 42px 34px;
	}

	.va-reference-footer__top,
	.va-elementor-footer__top {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		row-gap: 34px;
	}

	.va-reference-footer__about,
	.va-elementor-footer__about {
		grid-column: 1 / -1;
	}

	.va-reference-footer__lower,
	.va-elementor-footer__lower {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		row-gap: 28px;
		margin-top: 34px;
	}

	.va-reference-footer__bottom-nav,
	.va-elementor-footer__bottom-links {
		grid-column: 1 / -1;
		min-height: auto;
		padding-top: 22px;
	}

	.va-reference-footer__badges-note,
	.va-elementor-footer__badges {
		justify-content: flex-start;
	}
}

@media (max-width: 580px) {
	.va-reference-footer__inner,
	.va-elementor-footer__copyright-inner {
		width: min(calc(100% - 28px), var(--va-container));
	}

	.va-elementor-footer__inner {
		width: calc(100% - 28px);
	}

	.va-reference-footer__top,
	.va-elementor-footer__top,
	.va-reference-footer__lower,
	.va-elementor-footer__lower {
		grid-template-columns: 1fr;
		row-gap: 26px;
	}

	.va-reference-footer__about,
	.va-elementor-footer__about,
	.va-reference-footer__bottom-nav,
	.va-elementor-footer__bottom-links {
		grid-column: auto;
	}

	.va-reference-footer__about-text,
	.va-elementor-footer__about-text {
		font-size: .84rem;
		line-height: 2;
	}

	.va-reference-footer__title,
	.va-elementor-footer__title {
		margin-bottom: 10px;
	}

	.va-reference-footer__lower,
	.va-elementor-footer__lower {
		margin-top: 28px;
		padding-top: 0;
	}

	.va-reference-footer__bottom-menu,
	.va-elementor-footer__bottom-links {
		align-items: flex-start;
		flex-direction: column;
		gap: 14px;
	}

	.va-reference-footer__ctas,
	.va-elementor-footer__ctas {
		width: 100%;
	}

	.va-reference-footer__badges-note,
	.va-elementor-footer__badges {
		justify-content: center;
		min-height: 0;
	}

	.va-reference-footer__copyright,
	.va-elementor-footer__copyright {
		font-size: .74rem;
	}
}

/* ==========================================================================
   Voice Art v0.8.0 — Archive Cards / Sample Pack + Course
   ========================================================================== */

.va-sample-pack-archive.woocommerce .products,
.va-sample-pack-archive .woocommerce .products {
	align-items: stretch;
	gap: clamp(14px, 1.8vw, 22px);
}

.woocommerce ul.products li.product.va-sample-card-product {
	position: relative;
	display: block;
	min-width: 0;
	padding: 0 !important;
	border: 0;
	border-radius: 22px;
	background: transparent;
	box-shadow: none;
	transform: none;
}

.woocommerce ul.products li.product.va-sample-card-product:hover {
	border-color: transparent;
	box-shadow: none;
	transform: none;
}

.va-sample-card {
	--va-card-radius: 22px;
	position: relative;
	display: flex;
	flex-direction: column;
	height: 100%;
	isolation: isolate;
	overflow: hidden;
	border: 1px solid rgba(37, 75, 69, .10);
	border-radius: var(--va-card-radius);
	background: #fff;
	box-shadow: 0 14px 34px rgba(22, 56, 51, .07);
	transition: transform 220ms ease, box-shadow 220ms ease, border-color 220ms ease;
}

.va-sample-card::after {
	content: '';
	position: absolute;
	z-index: -1;
	inset: auto -30% -54px 8%;
	height: 110px;
	border-radius: 50%;
	background: var(--va-primary-soft);
	filter: blur(3px);
	opacity: .6;
	pointer-events: none;
}

.va-sample-card-product:hover .va-sample-card {
	transform: translateY(-5px);
	border-color: var(--va-primary-soft-2);
	box-shadow: 0 22px 46px rgba(19, 72, 64, .13);
}

.va-sample-card__media {
	position: relative;
	margin: 8px 8px 0;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	border-radius: calc(var(--va-card-radius) - 7px);
	background: var(--va-primary-darker);
}

.woocommerce ul.products li.product.va-sample-card-product .va-sample-card__image-link,
.woocommerce ul.products li.product.va-sample-card-product .va-sample-card__image-link:hover {
	display: block;
	height: 100%;
	color: inherit;
}

.woocommerce ul.products li.product.va-sample-card-product .va-sample-card__image-link img {
	display: block;
	width: 100%;
	height: 100%;
	margin: 0 !important;
	border-radius: inherit;
	object-fit: contain;
	background: #fff;
	transform: scale(1);
	transition: transform 500ms cubic-bezier(.2,.7,.2,1), filter 300ms ease;
}

.va-sample-card-product:hover .va-sample-card__image-link img {
	transform: scale(1.018);
	filter: saturate(1.03) contrast(1.01);
}

.va-sample-card__media::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, transparent 58%, rgba(5, 28, 24, .54) 100%);
	pointer-events: none;
}

.va-sample-card__visual-noise {
	position: absolute;
	z-index: 2;
	inset: auto 16px 17px 16px;
	display: flex;
	align-items: center;
	gap: 4px;
	height: 26px;
	opacity: .28;
	pointer-events: none;
}

.va-sample-card__visual-noise i {
	display: block;
	width: 3px;
	height: 34%;
	border-radius: 999px;
	background: #fff;
	box-shadow: 7px 0 0 #fff, 14px 0 0 #fff, 21px 0 0 #fff, 28px 0 0 #fff, 35px 0 0 #fff, 42px 0 0 #fff, 49px 0 0 #fff, 56px 0 0 #fff, 63px 0 0 #fff, 70px 0 0 #fff, 77px 0 0 #fff, 84px 0 0 #fff, 91px 0 0 #fff, 98px 0 0 #fff;
}

.va-sample-card__visual-noise i:nth-child(2) { height: 70%; opacity: .65; }
.va-sample-card__visual-noise i:nth-child(3) { height: 100%; opacity: .9; }
.va-sample-card__visual-noise i:nth-child(4) { height: 54%; opacity: .7; }
.va-sample-card__visual-noise i:nth-child(5) { height: 82%; opacity: .5; }

.va-sample-card__sale {
	position: absolute;
	z-index: 4;
	inset: 12px 12px auto auto;
	display: inline-flex;
	align-items: center;
	min-height: 28px;
	padding: 4px 9px;
	border: 1px solid rgba(255, 255, 255, .36);
	border-radius: 999px;
	background: rgba(20, 50, 46, .72);
	backdrop-filter: blur(8px);
	color: #fff;
	font-size: .68rem;
	font-weight: 800;
	line-height: 1;
}

.va-sample-card__formats {
	position: absolute;
	z-index: 4;
	inset: 12px auto auto 12px;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 5px;
	max-width: 66%;
}

.va-sample-card__formats span {
	display: inline-flex;
	align-items: center;
	min-height: 25px;
	padding: 3px 7px;
	border: 1px solid rgba(255,255,255,.45);
	border-radius: 8px;
	background: rgba(255,255,255,.88);
	backdrop-filter: blur(7px);
	color: var(--va-primary-darker);
	font-family: Arial, sans-serif;
	font-size: .62rem;
	font-weight: 900;
	letter-spacing: .02em;
}

.va-sample-card__media-actions {
	position: absolute;
	z-index: 5;
	inset: auto 12px 12px 12px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	pointer-events: none;
}

.va-sample-card__media-actions > * {
	pointer-events: auto;
}

.va-sample-card__demo {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 39px;
	padding: 5px 9px 5px 11px;
	border: 1px solid rgba(255, 255, 255, .32);
	border-radius: 999px;
	background: rgba(10, 35, 31, .76);
	backdrop-filter: blur(10px);
	color: #fff;
	font: inherit;
	font-size: .72rem;
	font-weight: 800;
	cursor: pointer;
	box-shadow: 0 7px 20px rgba(0,0,0,.13);
	transition: background 160ms ease, transform 160ms ease;
}

.va-sample-card__demo:hover,
.va-sample-card__demo:focus-visible {
	background: var(--va-primary);
	transform: translateY(-1px);
	outline: none;
}

.va-sample-card__demo-icon {
	display: inline-grid;
	place-items: center;
	width: 25px;
	height: 25px;
	border-radius: 50%;
	background: #fff;
	color: var(--va-primary-dark);
}

.va-sample-card__demo-icon svg {
	width: 13px;
	height: 13px;
	fill: currentColor;
}

.va-sample-card__demo-icon--pause,
.va-sample-card__demo.is-playing .va-sample-card__demo-icon--play {
	display: none;
}

.va-sample-card__demo.is-playing .va-sample-card__demo-icon--pause {
	display: inline-grid;
}

.va-sample-card__equalizer {
	display: none;
	align-items: center;
	gap: 2px;
	height: 15px;
}

.va-sample-card__demo.is-playing .va-sample-card__equalizer {
	display: inline-flex;
}

.va-sample-card__equalizer i {
	width: 2px;
	height: 35%;
	border-radius: 999px;
	background: currentColor;
	animation: va-sample-eq 650ms ease-in-out infinite alternate;
}

.va-sample-card__equalizer i:nth-child(2) { height: 90%; animation-delay: -220ms; }
.va-sample-card__equalizer i:nth-child(3) { height: 55%; animation-delay: -420ms; }

@keyframes va-sample-eq {
	to { height: 100%; }
}

.va-sample-card__audio {
	display: none;
}

.va-sample-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 16px 17px 17px;
}

.va-sample-card__eyebrow {
	margin-bottom: 5px;
	color: var(--va-primary-dark);
	font-size: .68rem;
	font-weight: 750;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.woocommerce ul.products li.product.va-sample-card-product .woocommerce-loop-product__title.va-sample-card__title {
	min-height: calc(1.75em * 2);
	margin: 0 0 12px !important;
	padding: 0 !important;
	font-size: clamp(.91rem, 1.2vw, 1rem) !important;
	font-weight: 850;
	line-height: 1.75;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
}

.va-sample-card__title a {
	color: var(--va-text);
	text-decoration: none;
}

.va-sample-card__title a:hover {
	color: var(--va-primary-dark);
}

.va-sample-card__specs {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 7px;
	margin-bottom: 15px;
}

.va-sample-card__spec {
	display: flex;
	align-items: center;
	gap: 6px;
	min-width: 0;
	min-height: 38px;
	padding: 6px 8px;
	border: 1px solid rgba(47, 159, 144, .09);
	border-radius: 11px;
	background: var(--va-primary-soft);
	color: #42635e;
	font-size: .72rem;
}

.va-sample-card__spec svg {
	width: 16px;
	height: 16px;
	flex: 0 0 auto;
	fill: var(--va-primary);
}

.va-sample-card__spec b {
	min-width: 0;
	color: var(--va-text);
	font-size: .74rem;
	font-weight: 850;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.va-sample-card__spec small {
	margin-inline-start: auto;
	color: var(--va-muted);
	font-family: Arial, sans-serif;
	font-size: .58rem;
	font-weight: 700;
}

.va-sample-card__spec--format {
	grid-column: 1 / -1;
	background: #f7f9f9;
	border-color: rgba(24, 48, 45, .07);
}

.va-sample-card__bottom {
	margin-top: auto;
	padding-top: 13px;
	border-top: 1px dashed rgba(49, 91, 84, .15);
}

.va-sample-card__price {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin-bottom: 12px;
}

.va-sample-card__price > span {
	color: var(--va-muted);
	font-size: .7rem;
	font-weight: 650;
}

.woocommerce ul.products li.product.va-sample-card-product .va-sample-card__price .price,
.va-sample-card__price .price {
	display: flex;
	align-items: baseline;
	justify-content: flex-end;
	gap: 5px;
	margin: 0 !important;
	color: var(--va-primary-dark) !important;
	font-size: .9rem !important;
	font-weight: 900 !important;
	text-align: end;
}

.va-sample-card__actions {
	display: grid;
	grid-template-columns: minmax(0, .78fr) minmax(0, 1.35fr);
	gap: 8px;
}

.va-sample-card__view,
.woocommerce ul.products li.product.va-sample-card-product .button.va-sample-card__cart {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	width: 100%;
	min-height: 43px;
	margin: 0 !important;
	padding: 8px 10px !important;
	border-radius: 12px !important;
	font-size: .74rem;
	font-weight: 800 !important;
	line-height: 1.35;
	text-decoration: none;
	transition: transform 160ms ease, box-shadow 160ms ease, background 160ms ease, border-color 160ms ease;
}

.va-sample-card__view {
	border: 1px solid var(--va-primary-soft-2);
	background: var(--va-primary-soft);
	color: var(--va-primary-dark) !important;
}

.woocommerce ul.products li.product.va-sample-card-product .button.va-sample-card__cart {
	border: 1px solid var(--va-primary) !important;
	background: linear-gradient(135deg, var(--va-primary), var(--va-primary-dark)) !important;
	color: #fff !important;
	box-shadow: 0 8px 18px rgba(47, 159, 144, .18);
}

.va-sample-card__view svg,
.woocommerce ul.products li.product.va-sample-card-product .button.va-sample-card__cart svg {
	width: 16px;
	height: 16px;
	flex: 0 0 auto;
	fill: currentColor;
}

.va-sample-card__view:hover {
	border-color: var(--va-primary-medium);
	background: var(--va-primary-soft-2);
	color: var(--va-primary-dark) !important;
	transform: translateY(-1px);
}

.woocommerce ul.products li.product.va-sample-card-product .button.va-sample-card__cart:hover {
	background: linear-gradient(135deg, var(--va-primary-dark), var(--va-primary-darker)) !important;
	color: #fff !important;
	transform: translateY(-1px);
	box-shadow: 0 11px 22px rgba(36, 116, 106, .24);
}

.woocommerce ul.products li.product.va-sample-card-product .button.va-sample-card__cart.added::after {
	margin-inline-start: 0;
	font-size: .8em;
}

.woocommerce ul.products li.product.va-sample-card-product span.onsale {
	display: none !important;
}

@media (min-width: 1181px) and (max-width: 1320px) {
	.va-sample-pack-archive.woocommerce .products.columns-5,
	.va-sample-pack-archive.woocommerce .products.columns-4,
	.va-sample-pack-archive .woocommerce .products.columns-5,
	.va-sample-pack-archive .woocommerce .products.columns-4 {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 900px) {
	.va-sample-card__body {
		padding: 14px;
	}

	.va-sample-card__actions {
		grid-template-columns: 1fr 1.35fr;
	}
}

@media (max-width: 640px) {
	.va-sample-pack-archive.woocommerce .products.columns-5,
	.va-sample-pack-archive.woocommerce .products.columns-4,
	.va-sample-pack-archive.woocommerce .products.columns-3,
	.va-sample-pack-archive.woocommerce .products.columns-2,
	.va-sample-pack-archive .woocommerce .products.columns-5,
	.va-sample-pack-archive .woocommerce .products.columns-4,
	.va-sample-pack-archive .woocommerce .products.columns-3,
	.va-sample-pack-archive .woocommerce .products.columns-2 {
		grid-template-columns: 1fr;
		gap: 14px;
	}

	.va-sample-card {
		--va-card-radius: 18px;
	}


	.va-sample-card__body {
		padding: 14px 15px 15px;
	}

	.woocommerce ul.products li.product.va-sample-card-product .woocommerce-loop-product__title.va-sample-card__title {
		min-height: 0;
		font-size: .96rem !important;
	}
}

@media (max-width: 390px) {
	.va-sample-card__specs,
	.va-sample-card__actions {
		grid-template-columns: 1fr;
	}

	.va-sample-card__spec--format {
		grid-column: auto;
	}

}


/* ==========================================================================
   Voice Art v0.8.0 — Per-product archive card routing + course card
   ========================================================================== */

.va-card-video-button {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 39px;
	padding: 5px 10px;
	border: 1px solid rgba(255,255,255,.34);
	border-radius: 999px;
	background: rgba(255,255,255,.92);
	backdrop-filter: blur(10px);
	color: var(--va-primary-darker);
	font: inherit;
	font-size: .7rem;
	font-weight: 850;
	cursor: pointer;
	box-shadow: 0 7px 20px rgba(0,0,0,.10);
	transition: transform 160ms ease, background 160ms ease;
}

.va-card-video-button:hover,
.va-card-video-button:focus-visible {
	background: #fff;
	transform: translateY(-1px);
	outline: none;
}

.va-card-video-button svg {
	width: 19px;
	height: 19px;
	fill: var(--va-primary);
}

.va-card-video-dialog {
	width: min(900px, calc(100vw - 32px));
	max-width: 900px;
	padding: 0;
	border: 0;
	border-radius: 20px;
	background: transparent;
	box-shadow: 0 30px 90px rgba(0,0,0,.28);
	overflow: visible;
}

.va-card-video-dialog::backdrop {
	background: rgba(7, 22, 20, .78);
	backdrop-filter: blur(6px);
}

.va-card-video-dialog__shell {
	overflow: hidden;
	border: 1px solid rgba(255,255,255,.12);
	border-radius: 20px;
	background: #101917;
	color: #fff;
}

.va-card-video-dialog__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 15px;
	padding: 12px 15px;
	background: #172522;
}

.va-card-video-dialog__head strong {
	min-width: 0;
	font-size: .9rem;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.va-card-video-dialog__head button {
	display: grid;
	place-items: center;
	width: 36px;
	height: 36px;
	padding: 0;
	border: 1px solid rgba(255,255,255,.14);
	border-radius: 10px;
	background: rgba(255,255,255,.08);
	color: #fff;
	font: inherit;
	font-size: 25px;
	line-height: 1;
	cursor: pointer;
}

.va-card-video-dialog__media {
	position: relative;
	aspect-ratio: 16 / 9;
	background: #000;
}

.va-card-video-dialog__media iframe,
.va-card-video-dialog__media video {
	display: block;
	width: 100% !important;
	height: 100% !important;
	border: 0;
	object-fit: contain;
}

.va-card-video-fallback {
	display: grid;
	place-items: center;
	width: 100%;
	height: 100%;
	color: #fff;
	font-weight: 800;
}

/* Course card ------------------------------------------------------------- */
.woocommerce ul.products li.product.va-course-card-product,
.woocommerce ul.products li.product.va-course-card-product:hover {
	position: relative;
	display: block;
	min-width: 0;
	padding: 0 !important;
	border: 0;
	border-radius: 24px;
	background: transparent;
	box-shadow: none;
	transform: none;
}

.va-course-card {
	position: relative;
	display: flex;
	flex-direction: column;
	height: 100%;
	overflow: hidden;
	border: 1px solid rgba(31, 68, 62, .11);
	border-radius: 24px;
	background: #fff;
	box-shadow: 0 15px 38px rgba(19, 58, 52, .075);
	transition: transform 220ms ease, box-shadow 220ms ease, border-color 220ms ease;
}

.va-course-card::before {
	content: '';
	position: absolute;
	z-index: 3;
	inset: 0 0 auto;
	height: 4px;
	background: linear-gradient(90deg, var(--va-primary-darker), var(--va-primary), #71c8bb);
}

.va-course-card-product:hover .va-course-card {
	transform: translateY(-5px);
	border-color: var(--va-primary-soft-2);
	box-shadow: 0 24px 52px rgba(22, 79, 70, .14);
}

.va-course-card__media {
	position: relative;
	margin: 9px 9px 0;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	border-radius: 17px;
	background: #eaf3f1;
}

.woocommerce ul.products li.product.va-course-card-product .va-course-card__image-link,
.woocommerce ul.products li.product.va-course-card-product .va-course-card__image-link:hover {
	display: block;
	height: 100%;
	color: inherit;
}

.woocommerce ul.products li.product.va-course-card-product .va-course-card__image-link img {
	display: block;
	width: 100%;
	height: 100%;
	margin: 0 !important;
	border-radius: inherit;
	object-fit: cover;
	background: #eaf3f1;
	transition: transform 480ms cubic-bezier(.2,.7,.2,1), filter 240ms ease;
}

.va-course-card-product:hover .va-course-card__image-link img {
	transform: scale(1.035);
	filter: saturate(1.04);
}

.va-course-card__media::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(10,35,31,.04) 36%, rgba(8,33,29,.62) 100%);
	pointer-events: none;
}

.va-course-card__media-glow {
	position: absolute;
	z-index: 1;
	inset: auto -30px -48px auto;
	width: 150px;
	height: 150px;
	border-radius: 50%;
	background: rgba(47,159,144,.44);
	filter: blur(24px);
	pointer-events: none;
}

.va-course-card__ribbon,
.va-course-card__sale {
	position: absolute;
	z-index: 4;
	top: 13px;
	display: inline-flex;
	align-items: center;
	min-height: 28px;
	padding: 4px 9px;
	border-radius: 9px;
	font-size: .66rem;
	font-weight: 850;
	line-height: 1;
}

.va-course-card__ribbon {
	inset-inline-start: 13px;
	background: rgba(255,255,255,.92);
	color: var(--va-primary-darker);
	backdrop-filter: blur(8px);
}

.va-course-card__sale {
	inset-inline-end: 13px;
	background: rgba(22, 82, 73, .90);
	color: #fff;
}

.va-course-card__preview {
	position: absolute;
	z-index: 5;
	inset: auto 13px 13px auto;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 42px;
	padding: 5px 11px 5px 7px;
	border: 1px solid rgba(255,255,255,.28);
	border-radius: 999px;
	background: rgba(9, 36, 31, .76);
	backdrop-filter: blur(11px);
	color: #fff;
	font: inherit;
	font-size: .72rem;
	font-weight: 850;
	cursor: pointer;
	box-shadow: 0 8px 22px rgba(0,0,0,.14);
}

.va-course-card__preview-icon {
	display: grid;
	place-items: center;
	width: 29px;
	height: 29px;
	border-radius: 50%;
	background: #fff;
	color: var(--va-primary-dark);
}

.va-course-card__preview-icon svg {
	width: 15px;
	height: 15px;
	fill: currentColor;
}

.va-course-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 17px 18px 18px;
}

.va-course-card__topline {
	display: flex;
	align-items: center;
	gap: 7px;
	margin-bottom: 6px;
	color: var(--va-primary-dark);
	font-family: Arial, sans-serif;
	font-size: .61rem;
	font-weight: 800;
	letter-spacing: .03em;
	text-transform: uppercase;
}

.va-course-card__dot {
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: var(--va-primary);
	box-shadow: 0 0 0 4px var(--va-primary-soft);
}

.woocommerce ul.products li.product.va-course-card-product .woocommerce-loop-product__title.va-course-card__title {
	min-height: calc(1.72em * 2);
	margin: 0 0 14px !important;
	padding: 0 !important;
	font-size: clamp(.96rem, 1.2vw, 1.05rem) !important;
	font-weight: 900;
	line-height: 1.72;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
}

.va-course-card__title a {
	color: var(--va-text);
	text-decoration: none;
}

.va-course-card__title a:hover {
	color: var(--va-primary-dark);
}

.va-course-card__specs {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 7px;
	margin-bottom: 16px;
}

.va-course-card__spec {
	display: flex;
	align-items: center;
	gap: 7px;
	min-width: 0;
	min-height: 52px;
	padding: 7px;
	border: 1px solid rgba(47,159,144,.10);
	border-radius: 12px;
	background: linear-gradient(180deg, #f8fbfa, #f1f8f6);
}

.va-course-card__spec-icon {
	display: grid;
	place-items: center;
	width: 28px;
	height: 28px;
	flex: 0 0 auto;
	border-radius: 9px;
	background: #fff;
	color: var(--va-primary);
	box-shadow: 0 4px 12px rgba(30,95,85,.07);
}

.va-course-card__spec-icon svg {
	width: 16px;
	height: 16px;
	fill: currentColor;
}

.va-course-card__spec > span:last-child {
	display: grid;
	min-width: 0;
	gap: 1px;
}

.va-course-card__spec small {
	color: var(--va-muted);
	font-size: .58rem;
	font-weight: 650;
	white-space: nowrap;
}

.va-course-card__spec b {
	min-width: 0;
	color: var(--va-text);
	font-size: .68rem;
	font-weight: 850;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.va-course-card__footer {
	margin-top: auto;
	padding-top: 14px;
	border-top: 1px dashed rgba(45, 87, 80, .15);
}

.va-course-card__price {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin-bottom: 12px;
}

.va-course-card__price > span {
	color: var(--va-muted);
	font-size: .7rem;
	font-weight: 700;
}

.woocommerce ul.products li.product.va-course-card-product .va-course-card__price .price,
.va-course-card__price .price {
	display: flex;
	align-items: baseline;
	justify-content: flex-end;
	gap: 5px;
	margin: 0 !important;
	color: var(--va-primary-dark) !important;
	font-size: .91rem !important;
	font-weight: 900 !important;
}

.va-course-card__actions {
	display: grid;
	grid-template-columns: minmax(0, .9fr) minmax(0, 1.15fr);
	gap: 8px;
}

.va-course-card__view,
.woocommerce ul.products li.product.va-course-card-product .button.va-course-card__cart {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	width: 100%;
	min-height: 44px;
	margin: 0 !important;
	padding: 8px 10px !important;
	border-radius: 12px !important;
	font-size: .72rem;
	font-weight: 850 !important;
	line-height: 1.35;
	text-decoration: none;
	transition: transform 160ms ease, box-shadow 160ms ease, background 160ms ease;
}

.va-course-card__view {
	border: 1px solid var(--va-primary-soft-2);
	background: #f7fbfa;
	color: var(--va-primary-darker) !important;
}

.woocommerce ul.products li.product.va-course-card-product .button.va-course-card__cart {
	border: 1px solid var(--va-primary) !important;
	background: linear-gradient(135deg, var(--va-primary), var(--va-primary-dark)) !important;
	color: #fff !important;
	box-shadow: 0 8px 18px rgba(47,159,144,.18);
}

.va-course-card__view svg,
.woocommerce ul.products li.product.va-course-card-product .button.va-course-card__cart svg {
	width: 16px;
	height: 16px;
	flex: 0 0 auto;
	fill: currentColor;
}

.va-course-card__view:hover,
.woocommerce ul.products li.product.va-course-card-product .button.va-course-card__cart:hover {
	transform: translateY(-1px);
}

.va-course-card__view:hover {
	background: var(--va-primary-soft);
}

.woocommerce ul.products li.product.va-course-card-product .button.va-course-card__cart:hover {
	background: linear-gradient(135deg, var(--va-primary-dark), var(--va-primary-darker)) !important;
	box-shadow: 0 11px 22px rgba(36,116,106,.24);
}

.woocommerce ul.products li.product.va-course-card-product span.onsale {
	display: none !important;
}

@media (max-width: 1180px) {
	.va-course-card__specs {
		grid-template-columns: 1fr;
	}

	.va-course-card__spec {
		min-height: 44px;
	}
}

@media (max-width: 640px) {
	.va-custom-product-cards .woocommerce .products.columns-5,
	.va-custom-product-cards .woocommerce .products.columns-4,
	.va-custom-product-cards .woocommerce .products.columns-3,
	.va-custom-product-cards .woocommerce .products.columns-2,
	.woocommerce .products:has(> .va-sample-card-product),
	.woocommerce .products:has(> .va-course-card-product) {
		grid-template-columns: 1fr !important;
		gap: 14px;
	}

	.va-sample-card__media,
	.va-course-card__media {
		margin: 7px 7px 0;
	}

	.va-course-card__body {
		padding: 15px;
	}

	.va-course-card__specs {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 460px) {
	.va-sample-card__media-actions {
		align-items: flex-end;
	}

	.va-card-video-button span,
	.va-course-card__preview > span:last-child {
		display: none;
	}

	.va-card-video-button {
		width: 39px;
		padding: 0;
		justify-content: center;
	}

	.va-course-card__preview {
		width: 42px;
		padding: 5px;
		justify-content: center;
	}

	.va-course-card__specs {
		grid-template-columns: 1fr;
	}

	.va-course-card__actions {
		grid-template-columns: 1fr;
	}

	.va-card-video-dialog {
		width: calc(100vw - 20px);
	}
}

/* ==========================================================================
   Voice Art v0.8.1 — typography, archive descriptions and layout refinements
   ========================================================================== */

/* Course cards: lighter, tighter editorial typography. */
.woocommerce ul.products li.product.va-course-card-product .woocommerce-loop-product__title.va-course-card__title {
	min-height: calc(1.62em * 2);
	margin-bottom: 12px !important;
	font-size: clamp(.86rem, 1.05vw, .96rem) !important;
	font-weight: 700 !important;
	line-height: 1.62;
}

.va-course-card__ribbon,
.va-course-card__sale,
.va-course-card__preview {
	font-weight: 700;
}

.va-course-card__specs {
	gap: 6px;
	margin-bottom: 14px;
}

.va-course-card__spec {
	min-height: 48px;
	padding: 6px;
}

.va-course-card__spec small {
	font-size: .55rem;
	font-weight: 500;
}

.va-course-card__spec b {
	font-size: .63rem;
	font-weight: 600;
}

.va-course-card__price > span {
	font-size: .64rem;
	font-weight: 500;
}

.woocommerce ul.products li.product.va-course-card-product .va-course-card__price .price,
.va-course-card__price .price {
	font-size: .83rem !important;
	font-weight: 700 !important;
}

.woocommerce ul.products li.product.va-course-card-product .va-course-card__price .price *,
.va-course-card__price .price * {
	font-weight: inherit !important;
}

.va-course-card__view,
.woocommerce ul.products li.product.va-course-card-product .button.va-course-card__cart {
	min-height: 42px;
	font-size: .68rem;
	font-weight: 700 !important;
}

/* Footer typography follows the same lighter visual language. */
.va-reference-footer__title,
.va-elementor-footer__title {
	font-size: .92rem;
	font-weight: 700;
}

.va-reference-footer__about-text,
.va-elementor-footer__about-text {
	font-size: .82rem;
	font-weight: 400;
	line-height: 2.05;
}

.va-reference-footer__links a,
.va-elementor-footer__links a {
	font-size: .80rem;
	font-weight: 500;
}

.va-reference-footer__bottom-menu a,
.va-elementor-footer__bottom-link {
	font-size: .78rem;
	font-weight: 550;
}

.va-reference-footer__cta,
.va-elementor-footer__cta {
	font-size: .78rem;
	font-weight: 650;
}

.va-reference-footer__copyright,
.va-elementor-footer__copyright {
	font-size: .74rem;
	font-weight: 400;
}

/* Long archive/category/tag copy is intentionally placed after the listings. */
.va-taxonomy-description-bottom,
.va-archive-description--bottom {
	width: min(calc(100% - 40px), var(--va-container));
	margin: clamp(34px, 5vw, 64px) auto 0;
	padding: clamp(22px, 3vw, 34px);
	border: 1px solid var(--va-border);
	border-radius: 18px;
	background: rgba(255, 255, 255, .72);
	color: var(--va-muted);
	font-size: .9rem;
	line-height: 2.15;
}

.va-content-shell > .va-archive-description--bottom {
	width: 100%;
}

.va-taxonomy-description-bottom > :first-child,
.va-archive-description--bottom > :first-child {
	margin-top: 0;
}

.va-taxonomy-description-bottom > :last-child,
.va-archive-description--bottom > :last-child {
	margin-bottom: 0;
}

@media (max-width: 640px) {
	.va-taxonomy-description-bottom,
	.va-archive-description--bottom {
		width: min(calc(100% - 28px), var(--va-container));
		padding: 18px;
		font-size: .84rem;
		line-height: 2;
	}

	.va-content-shell > .va-archive-description--bottom {
		width: 100%;
	}
}

/* ========================================================================== 
   Voice Art v0.9.2 — Custom WooCommerce Shop browser
   ========================================================================== */
/* Main Shop width fix: always follow the numeric Container Width setting.
   The general --va-container token can become 100% in full-width mode, but
   the Shop must stay aligned to the configured content guide. */
body.va-shop-page .va-site-main > .woocommerce,
body.va-shop-page .va-site-main > main.site-main,
body.va-shop-page .va-site-main > #main.site-main {
	box-sizing: border-box;
	width: min(calc(100% - 40px), var(--va-container-limit, 1280px)) !important;
	max-width: var(--va-container-limit, 1280px) !important;
	margin-inline: auto !important;
}

/* Fallback for WooCommerce integrations that render the loop directly inside
   the theme main without an extra wrapper. */
body.va-shop-page .va-site-main > .va-shop-browser {
	box-sizing: border-box;
	width: min(calc(100% - 40px), var(--va-container-limit, 1280px)) !important;
	max-width: var(--va-container-limit, 1280px) !important;
	margin-inline: auto !important;
}

/* Once an outer WooCommerce/main wrapper is constrained, the browser fills
   that wrapper instead of receiving a second horizontal inset. */
body.va-shop-page .va-site-main > .woocommerce .va-shop-browser,
body.va-shop-page .va-site-main > main.site-main .va-shop-browser,
body.va-shop-page .va-site-main > #main.site-main .va-shop-browser {
	width: 100% !important;
	max-width: none !important;
}

/* The old hero background deliberately used 100vw and visually escaped the
   content guide. Keep the artwork inside the same configured Shop width. */
body.va-shop-page .va-shop-hero::after {
	left: 0;
	right: 0;
	width: auto;
	transform: none;
	border: 1px solid color-mix(in srgb, var(--va-primary) 14%, #fff);
	border-radius: 22px;
}

/* Shop description is already inside the constrained WooCommerce wrapper. */
body.va-shop-page .va-taxonomy-description-bottom {
	width: 100%;
	max-width: none;
}

@media (max-width: 640px) {
	body.va-shop-page .va-site-main > .woocommerce,
	body.va-shop-page .va-site-main > main.site-main,
	body.va-shop-page .va-site-main > #main.site-main,
	body.va-shop-page .va-site-main > .va-shop-browser {
		width: min(calc(100% - 24px), var(--va-container-limit, 1280px)) !important;
	}

	body.va-shop-page .va-site-main > .woocommerce .va-shop-browser,
	body.va-shop-page .va-site-main > main.site-main .va-shop-browser,
	body.va-shop-page .va-site-main > #main.site-main .va-shop-browser {
		width: 100% !important;
	}
}

.post-type-archive-product .woocommerce-products-header__title.page-title {
	display: none;
}

.post-type-archive-product .va-site-main:has(.va-shop-browser) {
	padding-top: 24px;
}

.va-shop-browser {
	--va-range-start: 0%;
	--va-range-end: 100%;
	position: relative;
	width: 100%;
	margin-inline: auto;
}

.va-shop-hero {
	position: relative;
	isolation: isolate;
	overflow: visible;
	margin-bottom: 22px;
	padding: clamp(24px, 3.2vw, 46px);
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

.va-shop-hero::after {
	content: '';
	position: absolute;
	z-index: -2;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	width: auto;
	transform: none;
	border-top: 1px solid color-mix(in srgb, var(--va-primary) 14%, #fff);
	border-bottom: 1px solid color-mix(in srgb, var(--va-primary) 14%, #fff);
	background:
		radial-gradient(circle at 9% 16%, color-mix(in srgb, var(--va-primary) 18%, transparent), transparent 29%),
		radial-gradient(circle at 88% 2%, color-mix(in srgb, var(--va-primary) 12%, transparent), transparent 25%),
		linear-gradient(145deg, #fff, color-mix(in srgb, var(--va-primary) 4%, #fff));
	box-shadow: 0 18px 55px rgba(24, 48, 45, .055);
	pointer-events: none;
}

.va-shop-hero__inner {
	position: relative;
	z-index: 1;
}

.va-shop-hero::before {
	content: '';
	position: absolute;
	inset: auto -80px -150px auto;
	width: 330px;
	height: 330px;
	border: 46px solid color-mix(in srgb, var(--va-primary) 7%, transparent);
	border-radius: 50%;
	pointer-events: none;
	z-index: -1;
}

.va-shop-hero__copy {
	position: relative;
	z-index: 1;
	max-width: 760px;
}

.va-shop-hero__eyebrow {
	display: inline-flex;
	align-items: center;
	min-height: 28px;
	padding: 4px 11px;
	border-radius: 999px;
	background: var(--va-primary-soft);
	color: var(--va-primary-dark);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .08em;
	direction: ltr;
}

.va-shop-hero h1 {
	margin: 12px 0 7px;
	font-size: clamp(25px, 3vw, 40px);
	font-weight: 760;
	line-height: 1.35;
	color: #17312d;
}

.va-shop-hero__copy p {
	margin: 0;
	color: #647873;
	font-size: 14px;
	line-height: 2;
}

.va-shop-search {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	gap: 8px;
	max-width: 900px;
	min-height: 62px;
	margin-top: 26px;
	padding: 7px 9px 7px 7px;
	border: 1px solid #dce8e5;
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 13px 34px rgba(31, 68, 62, .08);
}

.va-shop-search__icon {
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	border-radius: 12px;
	background: var(--va-primary-soft);
	color: var(--va-primary);
	font-size: 26px;
	line-height: 1;
}

.va-shop-search input[type="search"] {
	width: 100%;
	min-width: 0;
	height: 44px;
	padding: 0 6px;
	border: 0 !important;
	outline: 0;
	background: transparent;
	box-shadow: none !important;
	font: inherit;
	font-size: 14px;
	color: #253d39;
}

.va-shop-search input[type="search"]::placeholder {
	color: #99aaa6;
}

.va-shop-search button {
	min-width: 92px;
	height: 46px;
	padding: 0 18px;
	border: 0;
	border-radius: 13px;
	background: linear-gradient(135deg, var(--va-primary), var(--va-primary-dark));
	color: #fff;
	font: inherit;
	font-size: 13px;
	font-weight: 650;
	cursor: pointer;
	box-shadow: 0 9px 20px color-mix(in srgb, var(--va-primary) 24%, transparent);
	transition: transform .2s ease, box-shadow .2s ease;
}

.va-shop-search button:hover {
	transform: translateY(-1px);
	box-shadow: 0 12px 24px color-mix(in srgb, var(--va-primary) 30%, transparent);
}

.va-shop-type-tabs {
	position: relative;
	z-index: 2;
	display: inline-flex;
	flex-wrap: wrap;
	gap: 7px;
	margin-top: 20px;
	padding: 5px;
	border: 1px solid #e1ebe9;
	border-radius: 15px;
	background: rgba(255,255,255,.78);
}

.va-shop-type-tabs label {
	margin: 0;
	cursor: pointer;
}

.va-shop-type-tabs input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.va-shop-type-tabs span {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 38px;
	padding: 7px 18px;
	border-radius: 11px;
	color: #5d716d;
	font-size: 13px;
	font-weight: 550;
	transition: .2s ease;
}

.va-shop-type-tabs input:checked + span {
	background: #183f39;
	color: #fff;
	box-shadow: 0 8px 16px rgba(24,63,57,.15);
}

.va-shop-category-strip {
	position: relative;
	z-index: 2;
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
	margin-top: 15px;
}

.va-shop-category-strip button {
	min-height: 32px;
	padding: 5px 12px;
	border: 1px solid #e1e9e7;
	border-radius: 999px;
	background: #fff;
	color: #5c716c;
	font: inherit;
	font-size: 12px;
	cursor: pointer;
	transition: .18s ease;
}

.va-shop-category-strip button:hover {
	border-color: var(--va-primary-medium);
	color: var(--va-primary-dark);
	background: var(--va-primary-soft);
}

.va-shop-layout {
	display: grid;
	grid-template-columns: minmax(250px, 280px) minmax(0, 1fr);
	gap: 25px;
	align-items: start;
}

.va-shop-layout--left {
	grid-template-columns: minmax(0, 1fr) minmax(250px, 280px);
}

.va-shop-layout--left .va-shop-filters {
	order: 2;
}

.va-shop-layout--left .va-shop-results {
	order: 1;
}

.va-shop-filters {
	position: sticky;
	top: 88px;
	overflow: hidden;
	border: 1px solid #dfe9e7;
	border-radius: 20px;
	background: #fff;
	box-shadow: 0 13px 36px rgba(27, 58, 53, .055);
}

.admin-bar .va-shop-filters {
	top: 120px;
}

.va-shop-filters__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 18px 18px 16px;
	border-bottom: 1px solid #eaf0ee;
	background: linear-gradient(135deg, #f9fbfb, var(--va-primary-soft));
}

.va-shop-filters__head > div {
	display: grid;
	gap: 2px;
}

.va-shop-filters__head strong {
	font-size: 14px;
	font-weight: 720;
	color: #213b36;
}

.va-shop-filters__head small {
	font-size: 11px;
	color: #81918e;
}

.va-shop-filters__head > button {
	display: none;
	width: 34px;
	height: 34px;
	border: 0;
	border-radius: 10px;
	background: #fff;
	color: #38534e;
	font: inherit;
	font-size: 20px;
	cursor: pointer;
}

.va-shop-filter {
	border-bottom: 1px solid #edf2f1;
}

.va-shop-filter:last-of-type {
	border-bottom: 0;
}

.va-shop-filter summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 15px 17px;
	list-style: none;
	cursor: pointer;
	color: #2d4742;
	font-size: 13px;
	font-weight: 650;
	user-select: none;
}

.va-shop-filter summary::-webkit-details-marker { display: none; }
.va-shop-filter summary span { color: #94a5a1; transition: transform .2s ease; }
.va-shop-filter[open] summary span { transform: rotate(180deg); }

.va-shop-filter__content {
	padding: 0 17px 16px;
}

.va-shop-filter__checks {
	display: grid;
	gap: 4px;
	max-height: 235px;
	overflow: auto;
	scrollbar-width: thin;
}

.va-shop-check-row {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	gap: 9px;
	min-height: 33px;
	margin: 0;
	padding: 3px 4px;
	border-radius: 8px;
	cursor: pointer;
	color: #5c706c;
	font-size: 12px;
}

.va-shop-check-row:hover { background: #f7faf9; }
.va-shop-check-row input { accent-color: var(--va-primary); }
.va-shop-check-row small { color: #a0aeab; font-size: 9px; }

.va-shop-price-fields {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 9px;
}

.va-shop-price-fields label {
	display: grid;
	gap: 5px;
	margin: 0;
	font-size: 10.5px;
	color: #83938f;
}

.va-shop-price-fields input {
	width: 100%;
	min-width: 0;
	height: 36px;
	padding: 0 8px;
	border: 1px solid #dfe8e6;
	border-radius: 9px;
	background: #fafcfb;
	font: inherit;
	font-size: 11.5px;
}

.va-shop-filter__chips {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

.va-shop-check-chip {
	position: relative;
	margin: 0;
	cursor: pointer;
}

.va-shop-check-chip input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.va-shop-check-chip span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 30px;
	padding: 4px 10px;
	border: 1px solid #dfe8e6;
	border-radius: 9px;
	background: #fff;
	color: #60736f;
	font-size: 11px;
	font-weight: 500;
	transition: .18s ease;
}

.va-shop-check-chip input:checked + span {
	border-color: color-mix(in srgb, var(--va-primary) 60%, #fff);
	background: var(--va-primary-soft);
	color: var(--va-primary-dark);
	box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--va-primary) 8%, transparent);
}

.va-shop-filter__empty {
	margin: 0;
	color: #98a5a2;
	font-size: 11px;
	line-height: 1.8;
}

.va-shop-bpm-readout {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 7px;
	margin-bottom: 12px;
	font-size: 11.5px;
	color: #91a09c;
	direction: ltr;
}

.va-shop-bpm-readout b {
	padding: 5px 8px;
	border-radius: 8px;
	background: #f5f8f7;
	color: #36504b;
	font-size: 11.5px;
	font-weight: 600;
}

.va-shop-dual-range {
	position: relative;
	height: 24px;
}

.va-shop-dual-range__track,
.va-shop-dual-range__track::after {
	position: absolute;
	top: 10px;
	right: 0;
	left: 0;
	height: 4px;
	border-radius: 999px;
}

.va-shop-dual-range__track {
	background: #e4ecea;
}

.va-shop-dual-range__track::after {
	content: '';
	left: var(--va-range-start);
	right: calc(100% - var(--va-range-end));
	background: var(--va-primary);
}

.va-shop-dual-range input[type="range"] {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 24px;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	pointer-events: none;
	appearance: none;
	-webkit-appearance: none;
}

.va-shop-dual-range input[type="range"]::-webkit-slider-thumb {
	width: 16px;
	height: 16px;
	border: 3px solid #fff;
	border-radius: 50%;
	background: var(--va-primary);
	box-shadow: 0 0 0 1px var(--va-primary), 0 3px 8px rgba(0,0,0,.12);
	pointer-events: auto;
	cursor: grab;
	-webkit-appearance: none;
}

.va-shop-dual-range input[type="range"]::-moz-range-thumb {
	width: 11px;
	height: 11px;
	border: 3px solid #fff;
	border-radius: 50%;
	background: var(--va-primary);
	box-shadow: 0 0 0 1px var(--va-primary), 0 3px 8px rgba(0,0,0,.12);
	pointer-events: auto;
	cursor: grab;
}

.va-shop-filters__footer {
	display: grid;
	grid-template-columns: 1fr;
	gap: 8px;
	padding: 14px 17px 17px;
	border-top: 1px solid #eaf0ee;
	background: #fbfcfc;
}

.va-shop-reset,
.va-shop-show-results {
	min-height: 38px;
	border-radius: 10px;
	font: inherit;
	font-size: 12px;
	cursor: pointer;
}

.va-shop-reset {
	border: 1px solid #dce7e4;
	background: #fff;
	color: #637773;
}

.va-shop-show-results {
	display: none;
	border: 0;
	background: var(--va-primary);
	color: #fff;
	font-weight: 650;
}

.va-shop-results {
	min-width: 0;
}

.va-shop-results__toolbar {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 18px;
	min-height: 58px;
	margin-bottom: 16px;
	padding: 10px 14px;
	border: 1px solid #e1e9e7;
	border-radius: 15px;
	background: rgba(255,255,255,.78);
	backdrop-filter: blur(8px);
}

.va-shop-results__toolbar > div:first-child {
	display: grid;
	gap: 7px;
	min-width: 0;
}

.va-shop-results__toolbar strong {
	font-size: 12.5px;
	font-weight: 600;
	color: #657873;
}

.va-shop-active-filters {
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
}

.va-shop-active-filter {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	min-height: 26px;
	padding: 3px 8px;
	border: 0;
	border-radius: 999px;
	background: var(--va-primary-soft);
	color: var(--va-primary-dark);
	font: inherit;
	font-size: 10.5px;
	cursor: pointer;
}

.va-shop-active-filter b {
	font-size: 13px;
	font-weight: 400;
}

.va-shop-sort,
.va-shop-mobile-sort {
	display: flex;
	align-items: center;
	gap: 7px;
	margin: 0;
	white-space: nowrap;
	color: #7c8d89;
	font-size: 11px;
}

.va-shop-sort select,
.va-shop-mobile-sort select {
	height: 36px;
	padding: 0 10px 0 28px;
	border: 1px solid #dce6e4;
	border-radius: 10px;
	background-color: #fff;
	font: inherit;
	font-size: 11.5px;
	color: #435b56;
}

.va-shop-mobile-bar {
	display: none;
	align-items: center;
	justify-content: space-between;
	gap: 9px;
	margin-bottom: 14px;
}

.va-shop-filter-toggle {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	min-height: 42px;
	padding: 7px 14px;
	border: 0;
	border-radius: 11px;
	background: #183f39;
	color: #fff;
	font: inherit;
	font-size: 12.5px;
	font-weight: 600;
	cursor: pointer;
}

.va-shop-products {
	position: relative;
	min-height: 180px;
	scroll-margin-top: 110px;
}

.va-shop-browser.is-loading .va-shop-products::after {
	content: '';
	position: absolute;
	inset: 0;
	z-index: 20;
	border-radius: 18px;
	background: rgba(245, 245, 245, .68);
	backdrop-filter: blur(2px);
}

.va-shop-browser.is-loading .va-shop-products::before {
	content: '';
	position: absolute;
	z-index: 21;
	top: 90px;
	left: 50%;
	width: 34px;
	height: 34px;
	margin-left: -17px;
	border: 3px solid color-mix(in srgb, var(--va-primary) 18%, #fff);
	border-top-color: var(--va-primary);
	border-radius: 50%;
	animation: vaShopSpin .7s linear infinite;
}

@keyframes vaShopSpin { to { transform: rotate(360deg); } }

.va-shop-browser.has-filter-error::after {
	content: 'فیلتر محصولات انجام نشد';
	position: fixed;
	z-index: 10005;
	left: 24px;
	bottom: 24px;
	padding: 10px 16px;
	border-radius: 10px;
	background: #ad3030;
	color: #fff;
	font-size: 11px;
	box-shadow: 0 10px 30px rgba(0,0,0,.16);
}

.va-shop-empty {
	display: grid;
	place-items: center;
	min-height: 320px;
	padding: 35px;
	border: 1px dashed #cfddda;
	border-radius: 20px;
	background: rgba(255,255,255,.68);
	text-align: center;
	color: #617571;
}

.va-shop-empty > span {
	display: grid;
	place-items: center;
	width: 58px;
	height: 58px;
	margin-bottom: 8px;
	border-radius: 18px;
	background: var(--va-primary-soft);
	color: var(--va-primary);
	font-size: 30px;
}

.va-shop-empty strong { font-size: 14px; font-weight: 650; color: #2c4540; }
.va-shop-empty p { margin: 5px 0 0; font-size: 12px; }

.va-shop-ajax-pagination button.page-numbers {
	border: 0;
	font: inherit;
	cursor: pointer;
}

.va-shop-filter-backdrop { display: none; }

/* Keep custom cards dense enough beside the filter panel. */
.va-shop-browser .woocommerce ul.products,
.woocommerce .va-shop-browser ul.products {
	gap: 18px;
}

@media (max-width: 1280px) and (min-width: 981px) {
	.va-shop-browser .woocommerce .products.columns-5,
	.va-shop-browser .woocommerce .products.columns-4,
	.woocommerce .va-shop-browser .products.columns-5,
	.woocommerce .va-shop-browser .products.columns-4 {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 980px) {
	.va-shop-hero { border-radius: 0; }
	.va-shop-mobile-bar { display: flex; }
	.va-shop-sort { display: none; }
	.va-shop-layout,
	.va-shop-layout--left {
		display: block;
	}
	.va-shop-filters,
	.va-shop-layout--left .va-shop-filters {
		position: fixed;
		z-index: 10003;
		top: 0;
		right: 0;
		bottom: 0;
		width: min(88vw, 360px);
		max-height: none;
		overflow-y: auto;
		border: 0;
		border-radius: 0;
		box-shadow: -18px 0 50px rgba(0,0,0,.18);
		transform: translateX(105%);
		transition: transform .26s ease;
		order: initial;
	}
	.admin-bar .va-shop-filters { top: 0; }
	.va-shop-browser.is-filter-open .va-shop-filters { transform: translateX(0); }
	.va-shop-filters__head {
		position: sticky;
		top: 0;
		z-index: 4;
	}
	.va-shop-filters__head > button { display: block; }
	.va-shop-filters__footer {
		position: sticky;
		bottom: 0;
		z-index: 4;
		grid-template-columns: .75fr 1.25fr;
		box-shadow: 0 -12px 28px rgba(24,48,45,.07);
	}
	.va-shop-show-results { display: block; }
	.va-shop-filter-backdrop {
		position: fixed;
		z-index: 10002;
		inset: 0;
		display: block;
		background: rgba(18, 35, 32, .48);
		opacity: 0;
		visibility: hidden;
		transition: .22s ease;
	}
	.va-shop-browser.is-filter-open .va-shop-filter-backdrop {
		opacity: 1;
		visibility: visible;
	}
	body.va-shop-filter-lock { overflow: hidden; }
	.va-shop-results__toolbar { min-height: 48px; }
	.va-shop-results__toolbar > div:first-child { width: 100%; }
	.va-shop-browser .woocommerce .products.columns-5,
	.va-shop-browser .woocommerce .products.columns-4,
	.va-shop-browser .woocommerce .products.columns-3,
	.woocommerce .va-shop-browser .products.columns-5,
	.woocommerce .va-shop-browser .products.columns-4,
	.woocommerce .va-shop-browser .products.columns-3 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	.post-type-archive-product .va-site-main:has(.va-shop-browser) { padding-top: 14px; }
	.va-shop-hero {
		margin-bottom: 14px;
		padding: 20px 15px;
		border-radius: 0;
	}
	.va-shop-hero h1 { font-size: 24px; }
	.va-shop-hero__copy p { font-size: 12.5px; }
	.va-shop-search {
		grid-template-columns: auto minmax(0, 1fr);
		min-height: 54px;
		margin-top: 18px;
		padding: 5px 8px;
		border-radius: 14px;
	}
	.va-shop-search__icon { width: 35px; height: 35px; font-size: 22px; }
	.va-shop-search input[type="search"] { height: 40px; font-size: 12.5px; }
	.va-shop-search button { grid-column: 1 / -1; width: 100%; height: 40px; }
	.va-shop-type-tabs {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		width: 100%;
	}
	.va-shop-type-tabs span { min-height: 37px; padding: 6px 9px; font-size: 11.5px; }
	.va-shop-category-strip {
		flex-wrap: nowrap;
		overflow-x: auto;
		padding-bottom: 3px;
		scrollbar-width: none;
	}
	.va-shop-category-strip::-webkit-scrollbar { display: none; }
	.va-shop-category-strip button { flex: 0 0 auto; }
	.va-shop-mobile-sort span { display: none; }
	.va-shop-mobile-sort select { max-width: 145px; }
	.va-shop-results__toolbar { padding: 9px 11px; border-radius: 12px; }
	.va-shop-active-filters { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
	.va-shop-active-filter { flex: 0 0 auto; }
	.va-shop-browser .woocommerce .products.columns-5,
	.va-shop-browser .woocommerce .products.columns-4,
	.va-shop-browser .woocommerce .products.columns-3,
	.va-shop-browser .woocommerce .products.columns-2,
	.woocommerce .va-shop-browser .products.columns-5,
	.woocommerce .va-shop-browser .products.columns-4,
	.woocommerce .va-shop-browser .products.columns-3,
	.woocommerce .va-shop-browser .products.columns-2 {
		grid-template-columns: 1fr;
		gap: 16px;
	}
}

.va-shop-sale-filter {
	padding: 13px 17px;
	border-bottom: 1px solid #edf2f1;
}

.va-shop-sale-filter label {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	align-items: center;
	gap: 10px;
	margin: 0;
	padding: 10px;
	border: 1px solid #e4ebe9;
	border-radius: 12px;
	background: linear-gradient(135deg, #fff, #fafcfb);
	cursor: pointer;
}

.va-shop-sale-filter input { accent-color: var(--va-primary); }
.va-shop-sale-filter span { display: grid; gap: 2px; }
.va-shop-sale-filter b { color: #425b56; font-size: 10px; font-weight: 600; }
.va-shop-sale-filter small { color: #93a19e; font-size: 8.5px; }

/* The custom Shop hero replaces WooCommerce's native archive heading/intro. */
.woocommerce-shop .woocommerce-products-header__title.page-title,
.woocommerce-shop .woocommerce-products-header__description {
	display: none;
}

/* ========================================================================== 
   Voice Art v0.9.2 — Shop filter refinements
   ========================================================================== */

/* The native WooCommerce Shop heading (and its reserved whitespace) is fully removed. */
.woocommerce-shop .woocommerce-products-header {
	display: none !important;
}

/* Keep the results toolbar and the product grid on exactly the same horizontal rails. */
.va-shop-results__toolbar {
	width: 100%;
	box-sizing: border-box;
}

.woocommerce .va-shop-browser ul.products,
.va-shop-browser .woocommerce ul.products {
	width: 100% !important;
	max-width: none !important;
	margin-inline: 0 !important;
}

/* Sale-only control is intentionally the first filter under the panel heading. */
.va-shop-sale-filter {
	padding-top: 14px;
	padding-bottom: 14px;
}

.va-shop-sale-filter b {
	font-size: 11.5px;
}

.va-shop-sale-filter small {
	font-size: 10px;
}

/* Price filter: localized text fields plus a dual-thumb rail. */
.va-shop-price-filter {
	display: grid;
	gap: 13px;
}

.va-shop-price-fields {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 9px;
}

.va-shop-price-fields label {
	display: grid;
	gap: 6px;
	margin: 0;
	font-size: 11px;
	color: #7d918c;
}

.va-shop-price-fields input[type="text"] {
	width: 100%;
	min-width: 0;
	height: 39px;
	padding: 0 9px;
	border: 1px solid #dfe8e6;
	border-radius: 10px;
	background: #fafcfb;
	font: inherit;
	font-size: 12px;
	color: #38514c;
	direction: ltr;
	text-align: center;
	box-sizing: border-box;
}

.va-shop-price-fields input[type="text"]:focus {
	outline: 0;
	border-color: color-mix(in srgb, var(--va-primary) 48%, #dfe8e6);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--va-primary) 9%, transparent);
}

.va-shop-price-range {
	--va-price-start: 0%;
	--va-price-end: 100%;
	position: relative;
	height: 28px;
	margin-top: 1px;
}

.va-shop-price-range__track,
.va-shop-price-range__track::after {
	position: absolute;
	top: 12px;
	right: 0;
	left: 0;
	height: 4px;
	border-radius: 999px;
}

.va-shop-price-range__track {
	background: #e4ecea;
}

.va-shop-price-range__track::after {
	content: '';
	left: var(--va-price-start);
	right: calc(100% - var(--va-price-end));
	background: linear-gradient(90deg, var(--va-primary), var(--va-primary-dark));
}

.va-shop-price-range input[type="range"] {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 28px;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	pointer-events: none;
	appearance: none;
	-webkit-appearance: none;
}

.va-shop-price-range input[type="range"]::-webkit-slider-thumb {
	width: 17px;
	height: 17px;
	border: 3px solid #fff;
	border-radius: 50%;
	background: var(--va-primary);
	box-shadow: 0 0 0 1px var(--va-primary), 0 3px 9px rgba(0,0,0,.13);
	pointer-events: auto;
	cursor: grab;
	-webkit-appearance: none;
}

.va-shop-price-range input[type="range"]::-moz-range-thumb {
	width: 11px;
	height: 11px;
	border: 3px solid #fff;
	border-radius: 50%;
	background: var(--va-primary);
	box-shadow: 0 0 0 1px var(--va-primary), 0 3px 9px rgba(0,0,0,.13);
	pointer-events: auto;
	cursor: grab;
}

.va-shop-price-readout {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	min-height: 28px;
	padding: 5px 9px;
	border-radius: 9px;
	background: #f7faf9;
	color: #49615c;
	font-size: 11.5px;
	direction: ltr;
}

.va-shop-price-readout i {
	color: #a0aeab;
	font-style: normal;
}

/* Match Shop pagination to the compact archive pagination dimensions. */
.woocommerce .va-shop-browser nav.woocommerce-pagination {
	width: 100%;
	max-width: none;
	margin: 30px 0 0;
}

.woocommerce .va-shop-browser nav.woocommerce-pagination ul {
	display: inline-flex;
	gap: 6px;
	margin: 0;
	border: 0 !important;
}

.woocommerce .va-shop-browser nav.woocommerce-pagination ul li {
	border: 0 !important;
}

.woocommerce .va-shop-browser nav.woocommerce-pagination ul li a.page-numbers,
.woocommerce .va-shop-browser nav.woocommerce-pagination ul li span.page-numbers,
.woocommerce .va-shop-browser nav.woocommerce-pagination ul li button.page-numbers {
	display: grid !important;
	place-items: center;
	width: 40px;
	min-width: 40px;
	height: 40px;
	padding: 0 !important;
	border: 1px solid var(--va-border) !important;
	border-radius: 10px;
	background: #fff !important;
	color: var(--va-text) !important;
	font: inherit;
	font-size: 12px;
	font-weight: 500;
	line-height: 1;
	cursor: pointer;
	box-sizing: border-box;
}

.woocommerce .va-shop-browser nav.woocommerce-pagination ul li span.current,
.woocommerce .va-shop-browser nav.woocommerce-pagination ul li button.current,
.woocommerce .va-shop-browser nav.woocommerce-pagination ul li a.page-numbers:hover,
.woocommerce .va-shop-browser nav.woocommerce-pagination ul li button.page-numbers:hover {
	border-color: var(--va-primary) !important;
	background: var(--va-primary) !important;
	color: #fff !important;
}

@media (max-width: 640px) {
	.va-shop-price-fields input[type="text"] {
		height: 42px;
		font-size: 12.5px;
	}

	.woocommerce .va-shop-browser nav.woocommerce-pagination ul li a.page-numbers,
	.woocommerce .va-shop-browser nav.woocommerce-pagination ul li span.page-numbers,
	.woocommerce .va-shop-browser nav.woocommerce-pagination ul li button.page-numbers {
		width: 38px;
		min-width: 38px;
		height: 38px;
		border-radius: 9px;
	}
}


/* ==========================================================================
   Voice Art v0.9.3 — responsive course-card metadata
   ========================================================================== */

/*
 * Course metadata must never be truncated. The grid decides how many columns
 * actually fit the card instead of relying on the viewport width, which makes
 * the card safe inside Shop, tags, related products, shortcodes and narrower
 * Elementor columns.
 */
.va-course-card__specs {
	grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));
	align-items: stretch;
}

.va-course-card__spec {
	display: grid;
	grid-template-columns: 28px minmax(0, 1fr);
	align-items: center;
	min-width: 0;
	min-height: 56px;
	padding: 8px;
}

.va-course-card__spec > span:last-child {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	width: 100%;
	min-width: 0;
	gap: 2px;
}

.va-course-card__spec small,
.va-course-card__spec b {
	max-width: 100%;
	white-space: normal;
	overflow: visible;
	text-overflow: clip;
	overflow-wrap: anywhere;
	word-break: normal;
}

.va-course-card__spec small {
	line-height: 1.45;
}

.va-course-card__spec b {
	display: block;
	line-height: 1.55;
}

/* Keep the eye icon crisp and recognizable at every card size. */
.va-course-card__view svg {
	width: 17px;
	height: 17px;
}

@media (max-width: 460px) {
	.va-course-card__specs {
		grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));
	}

	.va-course-card__spec {
		min-height: 54px;
	}
}

/* ==========================================================================
   Voice Art v0.9.5 — lighter sample cards + configurable post archives
   ========================================================================== */

/* Dynamic tag/filter buttons: neutral fill, no stroke. */
.va-shop-check-chip span,
.va-shop-category-strip button {
	border: 0;
	background: #F8F8F8;
	box-shadow: none;
	font-weight: 400;
}

.va-shop-check-chip input:checked + span {
	border: 0;
	background: #F8F8F8;
	box-shadow: none;
	color: var(--va-primary-dark);
	font-weight: 500;
}

.va-shop-category-strip button:hover {
	border: 0;
	background: #F8F8F8;
	color: var(--va-primary-dark);
}

/* Sample-pack archive card: calmer typography and cleaner cover treatment. */
.va-sample-card {
	--va-card-radius: 18px;
	border-color: rgba(37, 75, 69, .08);
	box-shadow: 0 9px 24px rgba(22, 56, 51, .055);
}

.va-sample-card::after {
	display: none;
}

.va-sample-card-product:hover .va-sample-card {
	transform: translateY(-3px);
	border-color: rgba(47, 159, 144, .15);
	box-shadow: 0 15px 32px rgba(19, 72, 64, .09);
}

.va-sample-card__media {
	margin: 7px 7px 0;
}

.woocommerce ul.products li.product.va-sample-card-product .va-sample-card__image-link img {
	object-fit: cover;
}

.va-sample-card__visual-noise {
	display: none;
}

.va-sample-card__sale,
.va-sample-card__formats span,
.va-sample-card__demo,
.va-sample-card__eyebrow,
.va-sample-card__spec b,
.va-sample-card__spec small,
.va-sample-card__price > span {
	font-weight: 400;
}

.va-sample-card__formats span {
	border: 0;
	background: rgba(248, 248, 248, .94);
}

.va-sample-card__demo {
	font-weight: 400;
}

.va-sample-card__body {
	padding: 14px 15px 15px;
}

.va-sample-card__eyebrow {
	font-size: .66rem;
}

.woocommerce ul.products li.product.va-sample-card-product .woocommerce-loop-product__title.va-sample-card__title {
	min-height: calc(1.7em * 2);
	margin-bottom: 10px !important;
	font-size: clamp(.84rem, 1.05vw, .94rem) !important;
	font-weight: 500 !important;
	line-height: 1.7;
}

.va-sample-card__specs {
	gap: 6px;
	margin-bottom: 13px;
}

.va-sample-card__spec,
.va-sample-card__spec--format {
	min-height: 36px;
	border: 0;
	background: #F8F8F8;
	font-weight: 400;
}

.va-sample-card__spec b {
	font-size: .72rem;
	font-weight: 500;
}

.va-sample-card__bottom {
	padding-top: 11px;
	border-top: 1px solid #f0f2f1;
}

.woocommerce ul.products li.product.va-sample-card-product .va-sample-card__price .price,
.va-sample-card__price .price {
	font-size: .86rem !important;
	font-weight: 500 !important;
}

.va-sample-card__view,
.woocommerce ul.products li.product.va-sample-card-product .button.va-sample-card__cart {
	min-height: 41px;
	font-size: .72rem;
	font-weight: 500 !important;
}

/* Post archive shell and tools. */
.va-post-archive .va-archive-header {
	max-width: none;
	margin-bottom: 18px;
}

.va-post-archive__header {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 18px;
}

.va-post-archive__heading {
	min-width: 0;
}

.va-post-archive .va-kicker {
	font-weight: 500;
}

.va-post-archive .va-archive-header h1 {
	margin: 4px 0 0;
	font-size: var(--va-post-archive-title-size, 32px);
	font-weight: 500;
	line-height: 1.45;
	letter-spacing: -.012em;
}

.va-post-archive__count {
	display: inline-flex;
	align-items: baseline;
	gap: 5px;
	flex: 0 0 auto;
	padding-bottom: 4px;
	color: var(--va-muted);
	font-size: .78rem;
	font-weight: 400;
}

.va-post-archive__count strong {
	color: var(--va-text);
	font-size: 1rem;
	font-weight: 500;
}

.va-post-archive__nav {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
	margin-bottom: 20px;
}

.va-post-archive__nav a {
	display: inline-flex;
	align-items: center;
	min-height: 32px;
	padding: 5px 11px;
	border: 0;
	border-radius: 9px;
	background: #F8F8F8;
	color: #667672;
	font-size: .76rem;
	font-weight: 400;
	text-decoration: none;
	transition: background 160ms ease, color 160ms ease;
}

.va-post-archive__nav a:hover,
.va-post-archive__nav a.is-active {
	background: var(--va-primary-soft);
	color: var(--va-primary-dark);
}

.va-post-archive .va-post-grid {
	gap: 16px;
}

.va-post-archive--columns-2 .va-post-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.va-post-archive--columns-3 .va-post-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.va-post-archive--columns-4 .va-post-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.va-post-archive--columns-5 .va-post-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }

.va-post-archive .va-post-card {
	border: 1px solid #ecefee;
	border-radius: 15px;
	box-shadow: 0 6px 18px rgba(22, 56, 51, .04);
	transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.va-post-archive .va-post-card:hover {
	transform: translateY(-2px);
	border-color: rgba(47, 159, 144, .14);
	box-shadow: 0 11px 24px rgba(22, 56, 51, .065);
}

.va-post-archive--ratio-16-9 .va-post-card__media { aspect-ratio: 16 / 9; }
.va-post-archive--ratio-3-2 .va-post-card__media { aspect-ratio: 3 / 2; }
.va-post-archive--ratio-4-3 .va-post-card__media { aspect-ratio: 4 / 3; }
.va-post-archive--ratio-1-1 .va-post-card__media { aspect-ratio: 1 / 1; }

.va-post-archive .va-post-card__body {
	padding: 13px 14px 14px;
}

.va-post-card__meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	margin-bottom: 6px;
	color: #87938f;
	font-size: .69rem;
	font-weight: 400;
}

.va-post-card__meta time {
	flex: 0 0 auto;
}

.va-post-card__categories {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 5px;
	min-width: 0;
	overflow: hidden;
}

.va-post-card__categories a {
	display: inline-flex;
	min-width: 0;
	padding: 3px 7px;
	border-radius: 7px;
	background: #F8F8F8;
	color: #6d7c78;
	font-size: .66rem;
	font-weight: 400;
	white-space: nowrap;
	text-overflow: ellipsis;
	overflow: hidden;
	text-decoration: none;
}

.va-post-archive .va-post-card h2 {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
	margin: 4px 0 7px;
	font-size: var(--va-post-card-title-size, 15px);
	font-weight: 500;
	line-height: 1.65;
}

.va-post-archive .va-post-card h2 a {
	font-weight: inherit;
}

.va-post-archive .va-post-card__excerpt {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
	color: #788783;
	font-size: .82rem;
	font-weight: 400;
	line-height: 1.85;
}

.va-post-archive .va-text-link {
	margin-top: 9px;
	font-size: .75rem;
	font-weight: 500;
}

.va-post-archive .navigation.pagination {
	margin-top: 24px;
}

@media (max-width: 1180px) {
	.va-post-archive--columns-4 .va-post-grid,
	.va-post-archive--columns-5 .va-post-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 900px) {
	.va-post-archive--columns-2 .va-post-grid,
	.va-post-archive--columns-3 .va-post-grid,
	.va-post-archive--columns-4 .va-post-grid,
	.va-post-archive--columns-5 .va-post-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	.va-post-archive__header {
		align-items: flex-start;
		flex-direction: column;
		gap: 5px;
	}

	.va-post-archive__nav {
		flex-wrap: nowrap;
		overflow-x: auto;
		padding-bottom: 3px;
		scrollbar-width: none;
	}

	.va-post-archive__nav::-webkit-scrollbar {
		display: none;
	}

	.va-post-archive__nav a {
		flex: 0 0 auto;
	}

	.va-post-archive--columns-2 .va-post-grid,
	.va-post-archive--columns-3 .va-post-grid,
	.va-post-archive--columns-4 .va-post-grid,
	.va-post-archive--columns-5 .va-post-grid {
		grid-template-columns: 1fr;
	}
}


/* ==========================================================================
   Voice Art v0.9.6 — pagination, adaptive posts, search, cart, checkout
   ========================================================================== */

/* Compact pagination based on the supplied reference. */
.va-pagination {
	width: 100%;
	margin: 28px 0 0;
}

.va-pagination .nav-links {
	display: flex;
	direction: rtl;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 7px;
}

.va-pagination .page-numbers {
	display: inline-grid;
	place-items: center;
	width: 40px;
	min-width: 40px;
	height: 40px;
	padding: 0;
	border: 1px solid #dbe5e2;
	border-radius: 10px;
	background: #fff;
	color: #29443f;
	font-size: 12px;
	font-weight: 500;
	line-height: 1;
	text-decoration: none;
	box-sizing: border-box;
	transition: background 160ms ease, border-color 160ms ease, color 160ms ease, transform 160ms ease;
}

.va-pagination a.page-numbers:hover,
.va-pagination a.page-numbers:focus-visible,
.va-pagination .page-numbers.current {
	border-color: var(--va-primary);
	background: var(--va-primary);
	color: #fff;
	outline: none;
}

.va-pagination a.page-numbers:hover,
.va-pagination a.page-numbers:focus-visible {
	transform: translateY(-1px);
}

.va-pagination .page-numbers.dots {
	width: 28px;
	min-width: 28px;
	border-color: transparent;
	background: transparent;
	color: var(--va-muted);
}

.va-pagination .prev,
.va-pagination .next {
	font-size: 15px;
}

/* Adaptive archive media: preserve square and landscape artwork while keeping
   every card aligned to the configured frame ratio. */
.va-post-archive .va-post-card__media {
	position: relative;
	isolation: isolate;
}

.va-post-archive--fit-adaptive .va-post-card__media {
	background: #f5f7f6;
}

.va-post-archive--fit-adaptive .va-post-card__media-backdrop {
	position: absolute;
	z-index: 0;
	inset: -16px;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	filter: blur(18px) saturate(.82);
	opacity: .18;
	transform: scale(1.08);
}

.va-post-archive--fit-adaptive .va-post-card__image--adaptive {
	position: relative;
	z-index: 1;
	object-fit: contain !important;
	padding: 7px;
	transform: none !important;
}

.va-post-archive--fit-adaptive .va-post-card:hover .va-post-card__image--adaptive {
	transform: scale(1.012) !important;
}

.va-post-archive--fit-contain .va-post-card__media {
	background: #f7f8f8;
}

.va-post-archive--fit-contain .va-post-card__media img {
	object-fit: contain;
	padding: 8px;
}

.va-post-archive--fit-cover .va-post-card__media img {
	object-fit: cover;
}

/* Search results page. */
.va-search-page {
	padding-top: clamp(28px, 4vw, 54px);
	padding-bottom: clamp(46px, 7vw, 88px);
}

.va-search-page__hero {
	display: grid;
	grid-template-columns: minmax(0, .85fr) minmax(360px, 1.15fr);
	align-items: end;
	gap: 24px;
	margin-bottom: 18px;
	padding: clamp(20px, 3vw, 30px);
	border: 1px solid #e4ebe9;
	border-radius: 20px;
	background: linear-gradient(135deg, #fff, #f7faf9);
}

.va-search-page__heading .va-kicker {
	font-weight: 500;
}

.va-search-page__heading h1 {
	margin: 4px 0 6px;
	font-size: clamp(24px, 3.2vw, 38px);
	font-weight: 600;
	line-height: 1.45;
}

.va-search-page__heading p {
	margin: 0;
	color: var(--va-muted);
	font-size: .84rem;
}

.va-search-page__refine {
	position: relative;
	display: grid;
	grid-template-columns: 22px minmax(0, 1fr) auto;
	align-items: center;
	gap: 8px;
	min-height: 54px;
	padding: 6px 7px 6px 14px;
	border: 1px solid #dce7e4;
	border-radius: 15px;
	background: #fff;
	box-shadow: 0 8px 24px rgba(23, 61, 55, .045);
}

.va-search-page__refine-icon {
	display: grid;
	place-items: center;
	color: #7b8a86;
}

.va-search-page__refine-icon svg {
	width: 19px;
	height: 19px;
}

.va-search-page__refine input[type="search"] {
	width: 100%;
	min-width: 0;
	height: 40px;
	padding: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
	outline: none;
	font: inherit;
	font-size: .86rem;
}

.va-search-page__refine button {
	min-width: 82px;
	height: 40px;
	padding: 0 15px;
	border: 0;
	border-radius: 11px;
	background: var(--va-primary);
	color: #fff;
	font: inherit;
	font-size: .78rem;
	font-weight: 600;
	cursor: pointer;
}

.va-search-tabs {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 26px;
	overflow-x: auto;
	scrollbar-width: none;
}

.va-search-tabs::-webkit-scrollbar { display: none; }

.va-search-tabs a {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	flex: 0 0 auto;
	min-height: 38px;
	padding: 5px 12px;
	border: 0;
	border-radius: 10px;
	background: #f8f8f8;
	color: #5d6f6a;
	font-size: .78rem;
	font-weight: 500;
	text-decoration: none;
}

.va-search-tabs a strong {
	display: inline-grid;
	place-items: center;
	min-width: 23px;
	height: 23px;
	padding: 0 6px;
	border-radius: 7px;
	background: #fff;
	color: inherit;
	font-size: .69rem;
	font-weight: 600;
}

.va-search-tabs a.is-active,
.va-search-tabs a:hover {
	background: var(--va-primary-soft);
	color: var(--va-primary-dark);
}

.va-search-section + .va-search-section {
	margin-top: 34px;
}

.va-search-section__head {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 14px;
}

.va-search-section__head span {
	display: block;
	margin-bottom: 2px;
	color: var(--va-primary-dark);
	font-size: .68rem;
	font-weight: 500;
}

.va-search-section__head h2 {
	margin: 0;
	font-size: 1.1rem;
	font-weight: 600;
}

.va-search-section__head > a {
	color: var(--va-primary-dark);
	font-size: .75rem;
	font-weight: 500;
}

.va-search-products-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 13px;
}

.va-search-product-card {
	display: grid;
	grid-template-columns: 92px minmax(0, 1fr);
	gap: 13px;
	min-height: 118px;
	padding: 12px;
	border: 1px solid #e4ebe9;
	border-radius: 15px;
	background: #fff;
	box-shadow: 0 6px 18px rgba(22, 56, 51, .035);
	transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.va-search-product-card:hover {
	border-color: rgba(47, 159, 144, .2);
	box-shadow: 0 10px 24px rgba(22, 56, 51, .06);
	transform: translateY(-1px);
}

.va-search-product-card__media {
	display: grid;
	place-items: center;
	width: 92px;
	height: 92px;
	overflow: hidden;
	border: 1px solid #e5ecea;
	border-radius: 12px;
	background: #f8f9f9;
}

.va-search-product-card__media img {
	display: block;
	width: 100%;
	height: 100%;
	margin: 0 !important;
	object-fit: contain;
}

.va-search-product-card__placeholder {
	color: var(--va-muted);
	font-size: .7rem;
}

.va-search-product-card__content {
	display: flex;
	min-width: 0;
	flex-direction: column;
	justify-content: center;
}

.va-search-product-card__category {
	align-self: flex-start;
	max-width: 100%;
	overflow: hidden;
	color: var(--va-primary-dark);
	font-size: .67rem;
	font-weight: 500;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.va-search-product-card h3 {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
	margin: 4px 0 7px;
	font-size: .86rem;
	font-weight: 600;
	line-height: 1.65;
}

.va-search-product-card h3 a { color: var(--va-text); }

.va-search-product-card__bottom {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	margin-top: auto;
}

.va-search-product-card__price,
.va-search-product-card__price .price,
.va-search-product-card__price .woocommerce-Price-amount {
	color: var(--va-primary-dark);
	font-size: .75rem;
	font-weight: 600;
}

.va-search-product-card__view {
	flex: 0 0 auto;
	color: #667772;
	font-size: .7rem;
	font-weight: 500;
}

.va-search-posts-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 13px;
}

.va-search-post-card {
	display: grid;
	grid-template-columns: 148px minmax(0, 1fr);
	gap: 14px;
	min-height: 148px;
	padding: 11px;
	border: 1px solid #e4ebe9;
	border-radius: 15px;
	background: #fff;
}

.va-search-post-card__media {
	display: block;
	width: 148px;
	height: 126px;
	overflow: hidden;
	border-radius: 11px;
	background: #f5f7f6;
}

.va-search-post-card__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.va-search-post-card__placeholder {
	display: block;
	width: 100%;
	height: 100%;
	background: linear-gradient(135deg, var(--va-primary-soft), #f7f9f8);
}

.va-search-post-card__content {
	display: flex;
	min-width: 0;
	flex-direction: column;
}

.va-search-post-card__meta {
	display: flex;
	align-items: center;
	gap: 8px;
	color: #8a9693;
	font-size: .66rem;
}

.va-search-post-card__meta a {
	padding: 2px 6px;
	border-radius: 6px;
	background: #f8f8f8;
	color: #687872;
}

.va-search-post-card h3 {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
	margin: 6px 0 5px;
	font-size: .9rem;
	font-weight: 600;
	line-height: 1.65;
}

.va-search-post-card h3 a { color: var(--va-text); }

.va-search-post-card p {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
	margin: 0;
	color: var(--va-muted);
	font-size: .75rem;
	line-height: 1.75;
}

.va-search-post-card__more {
	align-self: flex-start;
	margin-top: auto;
	padding-top: 6px;
	color: var(--va-primary-dark);
	font-size: .7rem;
	font-weight: 500;
}

/* Mini-cart: reserve a physical-left lane and pin the remove action there. */
html body .va-cart-dropdown ul.woocommerce-mini-cart li.woocommerce-mini-cart-item {
	padding-left: 50px !important;
	padding-right: 10px !important;
}

html body .va-cart-dropdown ul.woocommerce-mini-cart li.woocommerce-mini-cart-item > a.remove,
html body .va-cart-dropdown ul.woocommerce-mini-cart li.woocommerce-mini-cart-item > a.remove_from_cart_button {
	position: absolute !important;
	top: 50% !important;
	left: 10px !important;
	right: auto !important;
	inset-inline-start: auto !important;
	inset-inline-end: auto !important;
	margin: 0 !important;
	transform: translateY(-50%) !important;
}

html[dir="rtl"] body .va-cart-dropdown .woocommerce-mini-cart-item > .va-mini-cart-remove,
body.rtl .va-cart-dropdown .woocommerce-mini-cart-item > .va-mini-cart-remove,
html body .va-cart-dropdown .woocommerce-mini-cart-item > .va-mini-cart-remove {
	position: absolute !important;
	top: 50% !important;
	left: 10px !important;
	right: auto !important;
	inset-inline-start: auto !important;
	inset-inline-end: auto !important;
	float: none !important;
	transform: translateY(-50%) !important;
}

/* Compact smart cart recommendations. */
.va-cart-recommendations {
	clear: both;
	width: 100%;
	margin: 22px 0 26px;
	padding: 16px;
	border: 1px solid #e1e9e7;
	border-radius: 17px;
	background: #fff;
}

.va-cart-recommendations__head {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 14px;
	margin-bottom: 12px;
}

.va-cart-recommendations__head span {
	display: block;
	margin-bottom: 2px;
	color: var(--va-primary-dark);
	font-size: .68rem;
	font-weight: 500;
}

.va-cart-recommendations__head h2 {
	margin: 0;
	font-size: 1rem;
	font-weight: 600;
}

.va-cart-recommendations__head > a {
	color: var(--va-primary-dark);
	font-size: .72rem;
	font-weight: 500;
}

.va-cart-recommendations__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
}

.va-cart-recommendation-card {
	display: grid;
	grid-template-columns: 70px minmax(0, 1fr) auto;
	align-items: center;
	gap: 10px;
	min-width: 0;
	padding: 9px;
	border: 1px solid #e7eceb;
	border-radius: 13px;
	background: #fbfcfc;
}

.va-cart-recommendation-card__media {
	display: grid;
	place-items: center;
	width: 70px;
	height: 70px;
	overflow: hidden;
	border: 1px solid #e3e9e7;
	border-radius: 10px;
	background: #fff;
}

.va-cart-recommendation-card__media img {
	display: block;
	width: 100%;
	height: 100%;
	margin: 0 !important;
	object-fit: contain;
}

.va-cart-recommendation-card__content { min-width: 0; }

.va-cart-recommendation-card h3 {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
	margin: 0 0 5px;
	font-size: .78rem;
	font-weight: 600;
	line-height: 1.6;
}

.va-cart-recommendation-card h3 a { color: var(--va-text); }

.va-cart-recommendation-card__price,
.va-cart-recommendation-card__price .woocommerce-Price-amount {
	color: var(--va-primary-dark);
	font-size: .7rem;
	font-weight: 600;
}

.va-cart-recommendation-card__action {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 34px;
	padding: 0 9px;
	border-radius: 9px;
	background: #f8f8f8;
	color: #526863;
	font-size: .68rem;
	font-weight: 500;
	white-space: nowrap;
}

.va-cart-recommendation-card__action:hover {
	background: var(--va-primary-soft);
	color: var(--va-primary-dark);
}

/* Checkout cleanup: coupon invitation is intentionally removed; empty
   secondary customer-detail wrappers are hidden after the JS utility confirms
   they contain no usable fields. */
.woocommerce-checkout .woocommerce-form-coupon-toggle,
.woocommerce-checkout form.checkout_coupon,
.woocommerce-checkout .va-checkout-box-is-empty {
	display: none !important;
}

@media (max-width: 1100px) {
	.va-search-products-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.va-cart-recommendations__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
	.va-search-page__hero {
		grid-template-columns: 1fr;
		align-items: stretch;
	}

	.va-search-posts-grid { grid-template-columns: 1fr; }
	.va-cart-recommendations__grid { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
	.va-pagination .nav-links { gap: 5px; }
	.va-pagination .page-numbers {
		width: 36px;
		min-width: 36px;
		height: 36px;
		border-radius: 9px;
		font-size: 11px;
	}
	.va-pagination .page-numbers.dots {
		width: 18px;
		min-width: 18px;
	}

	.va-search-page { padding-top: 22px; }
	.va-search-page__hero {
		gap: 16px;
		padding: 17px;
		border-radius: 16px;
	}
	.va-search-page__refine {
		grid-template-columns: 20px minmax(0, 1fr);
		padding: 7px 11px;
	}
	.va-search-page__refine button {
		grid-column: 1 / -1;
		width: 100%;
	}
	.va-search-products-grid { grid-template-columns: 1fr; }
	.va-search-product-card { grid-template-columns: 82px minmax(0, 1fr); }
	.va-search-product-card__media { width: 82px; height: 82px; }
	.va-search-section__head { align-items: flex-start; flex-direction: column; gap: 5px; }

	.va-search-post-card {
		grid-template-columns: 104px minmax(0, 1fr);
		gap: 11px;
		min-height: 118px;
	}
	.va-search-post-card__media { width: 104px; height: 96px; }
	.va-search-post-card p { display: none; }

	html body .va-cart-dropdown ul.woocommerce-mini-cart li.woocommerce-mini-cart-item {
		padding-left: 46px !important;
	}

	.va-cart-recommendations {
		margin-top: 18px;
		padding: 12px;
		border-radius: 14px;
	}
	.va-cart-recommendations__head { align-items: flex-start; flex-direction: column; gap: 4px; }
	.va-cart-recommendation-card {
		grid-template-columns: 62px minmax(0, 1fr);
		gap: 9px;
	}
	.va-cart-recommendation-card__media { width: 62px; height: 62px; }
	.va-cart-recommendation-card__action {
		grid-column: 2;
		justify-self: start;
		min-height: 30px;
		margin-top: -2px;
	}
}

/* ==========================================================================
   Voice Art v0.9.7 — cart, checkout, course cards, product taxonomies
   ========================================================================== */

/* Classic cart: keep the product table/recommendations and totals side by side. */
@media (min-width: 1025px) {
	.woocommerce-cart .woocommerce:has(> form.woocommerce-cart-form),
	.voice-art-cart .woocommerce:has(> form.woocommerce-cart-form) {
		display: grid;
		grid-template-columns: minmax(0, 1fr) minmax(310px, 380px);
		gap: 24px;
		align-items: start;
	}

	.woocommerce-cart .woocommerce > .woocommerce-notices-wrapper,
	.woocommerce-cart .woocommerce > .woocommerce-message,
	.woocommerce-cart .woocommerce > .woocommerce-info,
	.woocommerce-cart .woocommerce > .woocommerce-error,
	.voice-art-cart .woocommerce > .woocommerce-notices-wrapper,
	.voice-art-cart .woocommerce > .woocommerce-message,
	.voice-art-cart .woocommerce > .woocommerce-info,
	.voice-art-cart .woocommerce > .woocommerce-error {
		grid-column: 1 / -1;
	}

	.woocommerce-cart form.woocommerce-cart-form,
	.voice-art-cart form.woocommerce-cart-form {
		grid-column: 1;
		min-width: 0;
		margin: 0 !important;
	}

	.woocommerce-cart .cart-collaterals,
	.voice-art-cart .cart-collaterals {
		grid-column: 2;
		grid-row: 2;
		width: 100% !important;
		margin: 0 !important;
		align-self: start;
	}

	.woocommerce-cart .cart-collaterals .cart_totals,
	.voice-art-cart .cart-collaterals .cart_totals {
		width: 100% !important;
		margin: 0 !important;
	}
}

/* Cross-sell: compact dual actions; unavailable products are filtered in PHP. */
.va-cart-recommendation-card {
	grid-template-columns: 64px minmax(0, 1fr);
	grid-template-areas:
		"media content"
		"media actions";
	align-items: center;
}

.va-cart-recommendation-card__media {
	grid-area: media;
	width: 64px;
	height: 64px;
}

.va-cart-recommendation-card__content {
	grid-area: content;
}

.va-cart-recommendation-card__actions {
	grid-area: actions;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 6px;
	margin-top: 2px;
}

.va-cart-recommendation-card__view,
.woocommerce .va-cart-recommendation-card__add.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 31px;
	margin: 0 !important;
	padding: 5px 9px !important;
	border-radius: 8px !important;
	font-size: .65rem !important;
	font-weight: 500 !important;
	line-height: 1.25 !important;
	white-space: nowrap;
}

.va-cart-recommendation-card__view {
	border: 0;
	background: #F8F8F8;
	color: #526863;
}

.woocommerce .va-cart-recommendation-card__add.button {
	border: 0 !important;
	background: var(--va-primary) !important;
	color: #fff !important;
	box-shadow: none !important;
}

.woocommerce .va-cart-recommendation-card__add.button:hover,
.woocommerce .va-cart-recommendation-card__add.button:focus-visible {
	background: var(--va-primary-dark) !important;
	color: #fff !important;
}

.woocommerce .va-cart-recommendation-card__add.button.added::after {
	margin-inline-start: 5px;
}

/* Checkout: remove the standalone "Your order" heading and let the order box
   align with the top of billing details. */
.woocommerce-checkout #order_review_heading {
	display: none !important;
}

@media (min-width: 901px) {
	.woocommerce-checkout #order_review {
		grid-column: 2 !important;
		grid-row: 1 / span 2 !important;
	}
}

/* Course archive card: same calm visual language as the sample-pack card. */
.woocommerce ul.products li.product.va-course-card-product {
	border-radius: 18px;
}

.va-course-card {
	--va-card-radius: 18px;
	border: 1px solid rgba(37, 75, 69, .08);
	border-radius: var(--va-card-radius);
	background: #fff;
	box-shadow: 0 9px 24px rgba(22, 56, 51, .055);
}

.va-course-card::before,
.va-course-card__media-glow {
	display: none;
}

.va-course-card-product:hover .va-course-card {
	transform: translateY(-3px);
	border-color: rgba(47, 159, 144, .15);
	box-shadow: 0 15px 32px rgba(19, 72, 64, .09);
}

.va-course-card__media {
	margin: 7px 7px 0;
	aspect-ratio: 16 / 9;
	border-radius: calc(var(--va-card-radius) - 7px);
	background: #f3f5f4;
}

.woocommerce ul.products li.product.va-course-card-product .va-course-card__image-link img {
	width: 100%;
	height: 100%;
	margin: 0 !important;
	object-fit: cover;
	border-radius: inherit;
}

.va-course-card__media::after {
	background: linear-gradient(180deg, transparent 64%, rgba(9, 35, 31, .20));
}

.va-course-card__ribbon,
.va-course-card__sale {
	min-height: 25px;
	padding: 4px 8px;
	border: 0;
	border-radius: 8px;
	background: rgba(248, 248, 248, .94);
	backdrop-filter: blur(7px);
	color: var(--va-primary-dark);
	font-size: .62rem;
	font-weight: 500;
	box-shadow: none;
}

.va-course-card__sale {
	background: rgba(37, 105, 95, .92);
	color: #fff;
}

.va-course-card__preview {
	min-height: 36px;
	padding: 5px 9px;
	border: 0;
	border-radius: 999px;
	background: rgba(248, 248, 248, .94);
	color: var(--va-primary-dark);
	font-size: .66rem;
	font-weight: 500;
	box-shadow: none;
}

.va-course-card__preview-icon {
	width: 24px;
	height: 24px;
	background: #fff;
	box-shadow: none;
}

.va-course-card__body {
	padding: 14px 15px 15px;
}

.woocommerce ul.products li.product.va-course-card-product .woocommerce-loop-product__title.va-course-card__title {
	min-height: calc(1.7em * 2);
	margin-bottom: 10px !important;
	font-size: clamp(.84rem, 1.05vw, .94rem) !important;
	font-weight: 500 !important;
	line-height: 1.7;
}

.va-course-card__specs {
	gap: 6px;
	margin-bottom: 13px;
}

.va-course-card__spec {
	min-height: 42px;
	padding: 6px 8px;
	border: 0;
	border-radius: 11px;
	background: #F8F8F8;
}

.va-course-card__spec-icon {
	width: 26px;
	height: 26px;
	border-radius: 8px;
	background: #fff;
	box-shadow: none;
}

.va-course-card__spec small {
	font-size: .55rem;
	font-weight: 400;
}

.va-course-card__spec b {
	font-size: .66rem;
	font-weight: 500;
}

.va-course-card__footer {
	padding-top: 11px;
	border-top: 1px solid #f0f2f1;
}

.va-course-card__price > span {
	font-size: .64rem;
	font-weight: 400;
}

.woocommerce ul.products li.product.va-course-card-product .va-course-card__price .price,
.va-course-card__price .price,
.woocommerce ul.products li.product.va-course-card-product .va-course-card__price .price * {
	font-size: .84rem !important;
	font-weight: 500 !important;
}

.va-course-card__view,
.woocommerce ul.products li.product.va-course-card-product .button.va-course-card__cart {
	min-height: 41px;
	border-radius: 11px !important;
	font-size: .7rem;
	font-weight: 500 !important;
	box-shadow: none !important;
}

.va-course-card__view {
	border: 0;
	background: #F8F8F8;
}

.woocommerce ul.products li.product.va-course-card-product .button.va-course-card__cart {
	border: 0 !important;
	background: var(--va-primary) !important;
}

/* Product category/tag archives. */
.va-product-taxonomy-archive .va-site-main {
	padding-block: clamp(26px, 4vw, 52px);
}

.va-product-taxonomy-archive .woocommerce {
	width: min(calc(100% - 40px), var(--va-container));
	margin-inline: auto;
}

.va-product-archive-head {
	margin-bottom: 22px;
	padding: 18px;
	border: 1px solid #e4ebe9;
	border-radius: 18px;
	background: #fff;
}

.va-product-archive-head__main {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 18px;
}

.va-product-archive-head__eyebrow {
	display: block;
	margin-bottom: 4px;
	color: var(--va-primary-dark);
	font-size: .7rem;
	font-weight: 500;
}

.va-product-archive-head h1 {
	margin: 0;
	font-size: var(--va-product-archive-title-size, 30px);
	font-weight: 600;
	line-height: 1.45;
}

.va-product-archive-head__type {
	flex: 0 0 auto;
	padding: 5px 9px;
	border: 0;
	border-radius: 9px;
	background: #F8F8F8;
	color: #657671;
	font-size: .65rem;
	font-weight: 400;
}

.va-product-archive-head__terms {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
	margin-top: 15px;
	padding-top: 14px;
	border-top: 1px solid #f0f2f1;
}

.va-product-archive-head__terms a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 34px;
	padding: 6px 10px;
	border: 0;
	border-radius: 9px;
	background: #F8F8F8;
	color: #536660;
	font-size: .7rem;
	font-weight: 400;
}

.va-product-archive-head__terms a:hover {
	background: var(--va-primary-soft);
	color: var(--va-primary-dark);
}

.va-product-archive-head__terms a span {
	display: inline-grid;
	place-items: center;
	min-width: 20px;
	height: 20px;
	padding: 0 4px;
	border-radius: 6px;
	background: #fff;
	color: var(--va-muted);
	font-size: .58rem;
}

.va-product-archive-head__tools {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-top: 14px;
	padding-top: 12px;
	border-top: 1px solid #f0f2f1;
}

.va-product-archive-head__count .woocommerce-result-count {
	float: none;
	margin: 0;
	color: var(--va-muted);
	font-size: .72rem;
}

.va-product-archive-head__ordering .woocommerce-ordering {
	float: none;
	margin: 0;
}

.va-product-archive-head__ordering select {
	min-height: 38px;
	padding: 5px 10px;
	border: 1px solid #e3e9e7;
	border-radius: 10px;
	background: #fff;
	color: var(--va-text);
	font: inherit;
	font-size: .7rem;
}

.va-product-taxonomy-archive .woocommerce ul.products {
	clear: both;
	margin-top: 0;
}

.va-product-taxonomy-archive .va-taxonomy-description-bottom {
	margin-top: 28px;
	padding: 18px 20px;
	border: 1px solid #e4ebe9;
	border-radius: 16px;
	background: #fff;
	color: var(--va-muted);
	font-size: .82rem;
	line-height: 2;
}

/* Reference pagination: bordered squares, active teal, compact arrow buttons. */
.va-product-taxonomy-archive nav.woocommerce-pagination {
	clear: both;
	margin: 28px 0 0 !important;
	text-align: center;
}

.va-product-taxonomy-archive nav.woocommerce-pagination ul.page-numbers {
	display: inline-flex !important;
	align-items: center;
	gap: 6px;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent;
}

.va-product-taxonomy-archive nav.woocommerce-pagination ul.page-numbers li {
	float: none !important;
	margin: 0 !important;
	border: 0 !important;
}

.va-product-taxonomy-archive nav.woocommerce-pagination ul.page-numbers li .page-numbers {
	display: inline-grid !important;
	place-items: center;
	width: 40px;
	min-width: 40px;
	height: 40px;
	padding: 0 !important;
	border: 1px solid #dce5e2 !important;
	border-radius: 9px;
	background: #fff !important;
	color: #42534f !important;
	font-size: .72rem;
	font-weight: 500;
	line-height: 1;
}

.va-product-taxonomy-archive nav.woocommerce-pagination ul.page-numbers li span.current,
.va-product-taxonomy-archive nav.woocommerce-pagination ul.page-numbers li a:hover,
.va-product-taxonomy-archive nav.woocommerce-pagination ul.page-numbers li a:focus-visible {
	border-color: var(--va-primary) !important;
	background: var(--va-primary) !important;
	color: #fff !important;
}

.va-product-taxonomy-archive nav.woocommerce-pagination .page-numbers.dots {
	width: 20px !important;
	min-width: 20px !important;
	border-color: transparent !important;
	background: transparent !important;
}

@media (max-width: 1024px) {
	.woocommerce-cart .woocommerce,
	.voice-art-cart .woocommerce {
		display: block;
	}

	.woocommerce-cart .cart-collaterals,
	.voice-art-cart .cart-collaterals {
		margin-top: 20px !important;
	}
}

@media (max-width: 760px) {
	.va-product-taxonomy-archive .woocommerce {
		width: min(calc(100% - 24px), var(--va-container));
	}

	.va-product-archive-head {
		padding: 14px;
		border-radius: 15px;
	}

	.va-product-archive-head__main,
	.va-product-archive-head__tools {
		align-items: flex-start;
		flex-direction: column;
	}

	.va-product-archive-head h1 {
		font-size: min(var(--va-product-archive-title-size, 30px), 25px);
	}

	.va-product-archive-head__ordering,
	.va-product-archive-head__ordering .woocommerce-ordering,
	.va-product-archive-head__ordering select {
		width: 100%;
	}

	.va-course-card__specs {
		grid-template-columns: 1fr;
	}

	.va-course-card__actions {
		grid-template-columns: 1fr 1fr;
	}
}

@media (max-width: 640px) {
	.va-cart-recommendation-card {
		grid-template-columns: 58px minmax(0, 1fr);
		grid-template-areas:
			"media content"
			"actions actions";
	}

	.va-cart-recommendation-card__media {
		width: 58px;
		height: 58px;
	}

	.va-cart-recommendation-card__actions {
		width: 100%;
	}

	.va-cart-recommendation-card__view,
	.woocommerce .va-cart-recommendation-card__add.button {
		flex: 1 1 0;
	}

	.va-product-taxonomy-archive nav.woocommerce-pagination ul.page-numbers {
		gap: 5px;
	}

	.va-product-taxonomy-archive nav.woocommerce-pagination ul.page-numbers li .page-numbers {
		width: 36px;
		min-width: 36px;
		height: 36px;
		border-radius: 8px;
		font-size: .68rem;
	}
}

@media (min-width: 1025px) {
	.woocommerce-cart form.woocommerce-cart-form,
	.voice-art-cart form.woocommerce-cart-form {
		grid-row: 2;
	}
}

/* ==========================================================================
   Voice Art v0.9.8 — digital checkout, cross-sell demo, order received
   ========================================================================== */

/* WooCommerce notices: keep the status icon in its own RTL-safe lane. */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	position: relative !important;
	padding-inline-start: 48px !important;
	font-weight: 400 !important;
}

.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before {
	left: auto !important;
	right: auto !important;
	inset-inline-start: 16px !important;
	inset-inline-end: auto !important;
	top: 50% !important;
	width: 20px;
	margin: 0 !important;
	transform: translateY(-50%) !important;
	text-align: center;
	line-height: 1 !important;
}

/* Cart + Checkout should feel lighter; reserve medium weight for emphasis. */
.woocommerce-cart .woocommerce,
.voice-art-cart .woocommerce,
.woocommerce-checkout .woocommerce,
.voice-art-checkout .woocommerce {
	font-weight: 400;
}

.woocommerce-cart .woocommerce h1,
.woocommerce-cart .woocommerce h2,
.woocommerce-cart .woocommerce h3,
.woocommerce-cart .woocommerce th,
.woocommerce-cart .woocommerce label,
.woocommerce-cart .woocommerce strong,
.woocommerce-cart .woocommerce b,
.woocommerce-cart .woocommerce .button,
.voice-art-cart .woocommerce h1,
.voice-art-cart .woocommerce h2,
.voice-art-cart .woocommerce h3,
.voice-art-cart .woocommerce th,
.voice-art-cart .woocommerce label,
.voice-art-cart .woocommerce strong,
.voice-art-cart .woocommerce b,
.voice-art-cart .woocommerce .button,
.woocommerce-checkout .woocommerce h1,
.woocommerce-checkout .woocommerce h2,
.woocommerce-checkout .woocommerce h3,
.woocommerce-checkout .woocommerce th,
.woocommerce-checkout .woocommerce label,
.woocommerce-checkout .woocommerce strong,
.woocommerce-checkout .woocommerce b,
.woocommerce-checkout .woocommerce .button,
.voice-art-checkout .woocommerce h1,
.voice-art-checkout .woocommerce h2,
.voice-art-checkout .woocommerce h3,
.voice-art-checkout .woocommerce th,
.voice-art-checkout .woocommerce label,
.voice-art-checkout .woocommerce strong,
.voice-art-checkout .woocommerce b,
.voice-art-checkout .woocommerce .button {
	font-weight: 500 !important;
}

.woocommerce-cart .product-name a,
.voice-art-cart .product-name a {
	font-weight: 500 !important;
}

.woocommerce-cart .cart_totals h2,
.voice-art-cart .cart_totals h2,
.woocommerce-checkout #customer_details h3 {
	font-weight: 500 !important;
}

/* The proceed button is intentionally a little more compact than before. */
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.voice-art-cart .wc-proceed-to-checkout a.checkout-button {
	min-height: 44px !important;
	padding: 10px 15px !important;
	font-size: .82rem !important;
	line-height: 1.35 !important;
	border-radius: 11px !important;
}

/* Cross-sell cards: image on the right, content in the middle, add button on
   the physical left. The demo player reuses the global audio controller. */
.va-cart-recommendation-card {
	position: relative;
	display: block;
	min-height: 84px;
	padding: 10px 90px 10px 84px;
	border: 1px solid #e7eceb;
	border-radius: 14px;
	background: #fbfcfc;
}

.va-cart-recommendation-card__media {
	position: absolute;
	top: 10px;
	right: 10px;
	left: auto;
	width: 64px;
	height: 64px;
}

.va-cart-recommendation-card__content {
	min-width: 0;
	margin: 0;
	text-align: right;
}

.va-cart-recommendation-card h3 {
	margin: 0 0 5px;
	font-size: .76rem;
	font-weight: 500;
	line-height: 1.65;
}

.va-cart-recommendation-card__meta {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 6px 8px;
}

.va-cart-recommendation-card__price,
.va-cart-recommendation-card__price .woocommerce-Price-amount {
	font-size: .68rem;
	font-weight: 500;
}

.va-cart-recommendation-card__demo,
.va-cart-recommendation-card__view {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 4px;
	min-height: 28px;
	padding: 4px 7px;
	border: 0;
	border-radius: 8px;
	background: #f8f8f8;
	color: #526863;
	font: inherit;
	font-size: .61rem;
	font-weight: 400;
	line-height: 1.3;
	cursor: pointer;
}

.va-cart-recommendation-card__view {
	margin-top: 5px;
}

.va-cart-recommendation-card__demo svg {
	display: block;
	width: 13px;
	height: 13px;
	fill: currentColor;
}

.va-cart-recommendation-card__demo-pause { display: none; }
.va-cart-recommendation-card__demo.is-playing .va-cart-recommendation-card__demo-play { display: none; }
.va-cart-recommendation-card__demo.is-playing .va-cart-recommendation-card__demo-pause { display: inline-flex; }
.va-cart-recommendation-card__audio { display: none; }

.woocommerce .va-cart-recommendation-card__add.button {
	position: absolute !important;
	top: 50%;
	left: 9px;
	right: auto;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	gap: 3px;
	width: 68px;
	min-height: 40px;
	margin: 0 !important;
	padding: 6px 5px !important;
	transform: translateY(-50%);
	border: 0 !important;
	border-radius: 10px !important;
	background: var(--va-primary) !important;
	color: #fff !important;
	font-size: .61rem !important;
	font-weight: 500 !important;
	line-height: 1.25 !important;
	white-space: normal;
	text-align: center;
	box-shadow: none !important;
}

.woocommerce .va-cart-recommendation-card__add.button > span {
	font-size: 1rem;
	font-weight: 400;
	line-height: .8;
}

/* Checkout left-side order box: graphical ticket/coupon styling. */
.woocommerce-checkout #order_review {
	position: relative;
	padding: 0 18px 18px !important;
	border: 1px solid #dfe9e6;
	border-radius: 20px;
	background: #fff;
	box-shadow: 0 15px 42px rgba(24, 72, 65, .07);
	overflow: hidden;
}

.woocommerce-checkout #order_review::before {
	content: "";
	display: block;
	height: 4px;
	margin: 0 -18px 0;
	background: linear-gradient(90deg, var(--va-primary), var(--va-primary-soft-2), var(--va-primary));
}

.woocommerce-checkout .va-checkout-ticket {
	width: 100%;
	margin: 0 !important;
	border: 0 !important;
	border-collapse: separate !important;
	border-spacing: 0 !important;
	background: transparent;
}

.woocommerce-checkout .va-checkout-ticket caption {
	padding: 16px 2px 13px;
	text-align: right;
	caption-side: top;
}

.woocommerce-checkout .va-checkout-ticket caption span,
.woocommerce-checkout .va-checkout-ticket caption small {
	display: block;
}

.woocommerce-checkout .va-checkout-ticket caption span {
	color: var(--va-text);
	font-size: .9rem;
	font-weight: 500;
}

.woocommerce-checkout .va-checkout-ticket caption small {
	margin-top: 2px;
	color: var(--va-muted);
	font-size: .62rem;
	font-weight: 400;
}

.woocommerce-checkout .va-checkout-ticket tbody tr.cart_item td {
	padding: 10px 0 !important;
	border-top: 1px solid #eef2f1 !important;
	vertical-align: middle;
}

.woocommerce-checkout .va-checkout-ticket tbody tr.cart_item:first-child td {
	border-top: 0 !important;
}

.woocommerce-checkout .va-checkout-ticket td.product-name {
	width: 72%;
}

.woocommerce-checkout .va-checkout-ticket td.product-total {
	width: 28%;
	padding-inline-start: 8px !important;
	color: var(--va-primary-dark);
	font-size: .72rem;
	font-weight: 500;
	text-align: left;
	white-space: nowrap;
}

.va-checkout-ticket__product {
	display: grid;
	grid-template-columns: 54px minmax(0, 1fr);
	align-items: center;
	gap: 9px;
}

.va-checkout-ticket__thumb {
	display: grid;
	place-items: center;
	width: 54px;
	height: 54px;
	overflow: hidden;
	border: 1px solid #e5ecea;
	border-radius: 11px;
	background: #f8f9f9;
}

.va-checkout-ticket__thumb img {
	display: block;
	width: 100%;
	height: 100%;
	margin: 0 !important;
	object-fit: contain;
}

.va-checkout-ticket__copy {
	display: block;
	min-width: 0;
	color: var(--va-text);
	font-size: .72rem;
	line-height: 1.65;
}

.va-checkout-ticket__copy > strong {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
	font-weight: 500 !important;
}

.va-checkout-ticket__copy .variation,
.va-checkout-ticket__copy .wc-item-meta {
	margin: 2px 0 0;
	color: var(--va-muted);
	font-size: .6rem;
}

.woocommerce-checkout .va-checkout-ticket tfoot {
	position: relative;
}

.woocommerce-checkout .va-checkout-ticket tfoot::before {
	content: "";
	display: table-row;
	height: 8px;
}

.woocommerce-checkout .va-checkout-ticket tfoot tr th,
.woocommerce-checkout .va-checkout-ticket tfoot tr td {
	padding: 8px 2px !important;
	border: 0 !important;
	font-size: .69rem;
	font-weight: 400 !important;
}

.woocommerce-checkout .va-checkout-ticket tfoot tr.cart-subtotal th,
.woocommerce-checkout .va-checkout-ticket tfoot tr.cart-subtotal td {
	padding-top: 13px !important;
	border-top: 1px dashed #d9e4e1 !important;
}

.woocommerce-checkout .va-checkout-ticket tfoot tr.cart-discount th,
.woocommerce-checkout .va-checkout-ticket tfoot tr.cart-discount td {
	color: var(--va-primary-dark);
}

.woocommerce-checkout .va-checkout-ticket tfoot tr.order-total th,
.woocommerce-checkout .va-checkout-ticket tfoot tr.order-total td {
	padding-top: 12px !important;
	border-top: 1px dashed #d9e4e1 !important;
	font-size: .78rem;
	font-weight: 500 !important;
}

.woocommerce-checkout .va-checkout-ticket tfoot tr td {
	text-align: left;
}

.woocommerce-checkout .va-checkout-ticket .product-quantity {
	display: none !important;
}

/* No postal billing/shipping panels for the digital-only checkout. */
.woocommerce-checkout #customer_details .col-2,
.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-checkout .woocommerce-additional-fields.va-checkout-box-is-empty {
	display: none !important;
}

/* Product category/tag archive: use the numeric Theme Settings container limit
   even when the outer site shell itself is configured as full width. */
.va-product-taxonomy-archive .woocommerce {
	width: min(calc(100% - 40px), var(--va-container-limit, 1280px)) !important;
	max-width: var(--va-container-limit, 1280px) !important;
	margin-inline: auto !important;
}

.va-product-taxonomy-archive nav.woocommerce-pagination {
	display: flex !important;
	justify-content: center !important;
	width: 100% !important;
	max-width: none !important;
	margin: 28px auto 0 !important;
	text-align: center !important;
}

.va-product-taxonomy-archive nav.woocommerce-pagination ul.page-numbers {
	justify-content: center !important;
	margin-inline: auto !important;
}

/* Order received / thank-you page. */
.woocommerce-order-received .va-site-main {
	padding-block: clamp(28px, 5vw, 64px);
}

.woocommerce-order-received .woocommerce {
	width: min(calc(100% - 40px), var(--va-container-limit, 1280px));
	margin-inline: auto;
}

.va-thankyou {
	display: grid;
	gap: 16px;
	font-weight: 400;
}

.va-thankyou strong,
.va-thankyou b,
.va-thankyou h1,
.va-thankyou h2,
.va-thankyou h3,
.va-thankyou .button {
	font-weight: 500 !important;
}

.va-thankyou-hero {
	position: relative;
	display: grid;
	grid-template-columns: 62px minmax(0, 1fr) auto;
	align-items: center;
	gap: 16px;
	padding: clamp(18px, 3vw, 28px);
	border: 1px solid #dceae6;
	border-radius: 22px;
	background:
		radial-gradient(circle at 12% 10%, rgba(47,159,144,.12), transparent 28%),
		linear-gradient(135deg, #fff, #f7fbfa);
	overflow: hidden;
}

.va-thankyou-hero::after {
	content: "";
	position: absolute;
	inset-inline-end: -38px;
	top: -54px;
	width: 150px;
	height: 150px;
	border: 26px solid rgba(47,159,144,.05);
	border-radius: 50%;
	pointer-events: none;
}

.va-thankyou-hero__icon {
	display: grid;
	place-items: center;
	width: 62px;
	height: 62px;
	border-radius: 18px;
	background: var(--va-primary);
	color: #fff;
	font-size: 1.45rem;
	box-shadow: 0 12px 26px rgba(47,159,144,.2);
}

.va-thankyou-hero__icon svg {
	width: 30px;
	height: 30px;
	fill: currentColor;
}

.va-thankyou-hero__eyebrow {
	display: block;
	margin-bottom: 4px;
	color: var(--va-primary-dark);
	font-size: .7rem;
	font-weight: 500;
}

.va-thankyou-hero h1 {
	margin: 0;
	font-size: clamp(1.15rem, 2.4vw, 1.65rem);
	line-height: 1.55;
}

.va-thankyou-hero p {
	margin: 5px 0 0;
	color: var(--va-muted);
	font-size: .78rem;
	line-height: 1.9;
}

.va-thankyou-hero--failed {
	border-color: #f0d9d9;
	background: #fffafa;
}

.va-thankyou-hero--failed .va-thankyou-hero__icon {
	background: #c85c5c;
	box-shadow: 0 12px 26px rgba(180,70,70,.16);
}

.va-thankyou-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	z-index: 1;
}

.va-thankyou-hero__actions .button,
.va-thankyou-actions .button,
.va-thankyou-download .button {
	min-height: 40px;
	padding: 8px 13px !important;
	border: 0 !important;
	border-radius: 10px !important;
	font-size: .7rem !important;
	box-shadow: none !important;
}

.va-thankyou-overview {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 10px;
}

.va-thankyou-overview > div {
	min-width: 0;
	padding: 13px 14px;
	border: 1px solid #e3ebe9;
	border-radius: 14px;
	background: #fff;
}

.va-thankyou-overview span,
.va-thankyou-contact__grid span {
	display: block;
	margin-bottom: 4px;
	color: var(--va-muted);
	font-size: .62rem;
}

.va-thankyou-overview strong,
.va-thankyou-contact__grid strong {
	display: block;
	min-width: 0;
	color: var(--va-text);
	font-size: .75rem;
	font-weight: 500 !important;
	word-break: break-word;
}

.va-thankyou-content {
	display: grid;
	grid-template-columns: minmax(0, 1.45fr) minmax(280px, .72fr);
	gap: 16px;
	align-items: start;
}

.va-thankyou-panel {
	padding: 18px;
	border: 1px solid #e1e9e7;
	border-radius: 18px;
	background: #fff;
}

.va-thankyou-products {
	grid-row: span 3;
}

.va-thankyou-panel__head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 12px;
}

.va-thankyou-panel__head span {
	display: block;
	margin-bottom: 2px;
	color: var(--va-primary-dark);
	font-size: .62rem;
}

.va-thankyou-panel__head h2 {
	margin: 0;
	font-size: .95rem;
	line-height: 1.55;
}

.va-thankyou-panel__head > strong {
	color: var(--va-primary-dark);
	font-size: .78rem;
	white-space: nowrap;
}

.va-thankyou-products__list {
	display: grid;
	gap: 9px;
}

.va-thankyou-product {
	display: grid;
	grid-template-columns: 64px minmax(0, 1fr) auto;
	align-items: center;
	gap: 10px;
	padding: 9px;
	border: 1px solid #edf1f0;
	border-radius: 13px;
	background: #fbfcfc;
}

.va-thankyou-product__image {
	display: grid;
	place-items: center;
	width: 64px;
	height: 64px;
	overflow: hidden;
	border-radius: 10px;
	background: #fff;
}

.va-thankyou-product__image img {
	width: 100%;
	height: 100%;
	margin: 0 !important;
	object-fit: contain;
}

.va-thankyou-product__copy {
	min-width: 0;
}

.va-thankyou-product__copy h3 {
	margin: 0;
	font-size: .76rem;
	line-height: 1.65;
}

.va-thankyou-product__copy h3 a { color: var(--va-text); }

.va-thankyou-product__copy .wc-item-meta {
	margin: 3px 0 0;
	padding: 0;
	color: var(--va-muted);
	font-size: .6rem;
	list-style: none;
}

.va-thankyou-product__price {
	color: var(--va-primary-dark);
	font-size: .72rem;
	font-weight: 500;
	white-space: nowrap;
}

.va-thankyou-total-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-top: 12px;
	padding-top: 13px;
	border-top: 1px dashed #dce6e3;
	font-size: .75rem;
}

.va-thankyou-total-row strong { color: var(--va-primary-dark); }

.va-thankyou-downloads__grid {
	display: grid;
	gap: 8px;
}

.va-thankyou-download {
	display: grid;
	grid-template-columns: 36px minmax(0, 1fr) auto;
	align-items: center;
	gap: 8px;
	padding: 9px;
	border: 1px solid #e5ecea;
	border-radius: 12px;
	background: #f8faf9;
}

.va-thankyou-download__icon {
	display: grid;
	place-items: center;
	width: 36px;
	height: 36px;
	border-radius: 10px;
	background: #fff;
	color: var(--va-primary-dark);
}

.va-thankyou-download__icon svg {
	width: 18px;
	height: 18px;
	fill: currentColor;
}

.va-thankyou-download strong,
.va-thankyou-download span {
	display: block;
}

.va-thankyou-download strong { font-size: .68rem; }
.va-thankyou-download div span { margin-top: 1px; color: var(--va-muted); font-size: .58rem; }

.woocommerce .va-thankyou-download .button,
.woocommerce .va-thankyou-actions__primary {
	background: var(--va-primary) !important;
	color: #fff !important;
}

.va-thankyou-contact__grid {
	display: grid;
	gap: 8px;
}

.va-thankyou-contact__grid > div {
	padding: 9px 10px;
	border-radius: 10px;
	background: #f8f8f8;
}

.va-thankyou-actions {
	grid-column: 2;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.woocommerce .va-thankyou-actions__secondary,
.va-thankyou-hero__actions .button--ghost {
	background: #f8f8f8 !important;
	color: var(--va-primary-dark) !important;
}

/* Defensive cleanup if a plugin injects the old WooCommerce download table on
   order-received despite the custom renderer. */
.woocommerce-order-received .woocommerce-order-downloads .download-remaining,
.woocommerce-order-received .woocommerce-order-downloads .download-expires,
.woocommerce-order-received .woocommerce-thankyou-order-received {
	display: none !important;
}

@media (max-width: 900px) {
	.va-thankyou-overview {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.va-thankyou-content {
		grid-template-columns: 1fr;
	}

	.va-thankyou-products,
	.va-thankyou-actions {
		grid-column: 1;
		grid-row: auto;
	}
}

@media (max-width: 640px) {
	.woocommerce-message,
	.woocommerce-info,
	.woocommerce-error {
		padding-inline-start: 42px !important;
	}

	.woocommerce-message::before,
	.woocommerce-info::before,
	.woocommerce-error::before {
		inset-inline-start: 13px !important;
	}

	.va-cart-recommendation-card {
		min-height: 82px;
		padding: 9px 80px 9px 72px;
	}

	.va-cart-recommendation-card__media {
		top: 9px;
		right: 9px;
		width: 56px;
		height: 56px;
	}

	.woocommerce .va-cart-recommendation-card__add.button {
		left: 8px;
		width: 58px;
		min-height: 38px;
		padding: 5px 4px !important;
		font-size: .56rem !important;
	}

	.va-cart-recommendation-card__view {
		display: none;
	}

	.woocommerce-checkout #order_review {
		padding: 0 13px 14px !important;
		border-radius: 16px;
	}

	.woocommerce-checkout #order_review::before {
		margin-inline: -13px;
	}

	.va-checkout-ticket__product {
		grid-template-columns: 46px minmax(0, 1fr);
		gap: 7px;
	}

	.va-checkout-ticket__thumb {
		width: 46px;
		height: 46px;
		border-radius: 9px;
	}

	.woocommerce-checkout .va-checkout-ticket td.product-name { width: 68%; }
	.woocommerce-checkout .va-checkout-ticket td.product-total { width: 32%; font-size: .65rem; }

	.va-product-taxonomy-archive .woocommerce,
	.woocommerce-order-received .woocommerce {
		width: min(calc(100% - 24px), var(--va-container-limit, 1280px)) !important;
	}

	.va-thankyou-hero {
		grid-template-columns: 48px minmax(0, 1fr);
		gap: 11px;
		padding: 16px;
		border-radius: 17px;
	}

	.va-thankyou-hero__icon {
		width: 48px;
		height: 48px;
		border-radius: 14px;
	}

	.va-thankyou-hero__icon svg { width: 24px; height: 24px; }
	.va-thankyou-hero p { font-size: .7rem; }
	.va-thankyou-hero__actions { grid-column: 1 / -1; }

	.va-thankyou-overview { grid-template-columns: 1fr 1fr; gap: 7px; }
	.va-thankyou-overview > div { padding: 10px; }

	.va-thankyou-panel { padding: 13px; border-radius: 15px; }
	.va-thankyou-product { grid-template-columns: 54px minmax(0, 1fr); }
	.va-thankyou-product__image { width: 54px; height: 54px; }
	.va-thankyou-product__price { grid-column: 2; }

	.va-thankyou-download {
		grid-template-columns: 34px minmax(0, 1fr);
	}
	.va-thankyou-download .button {
		grid-column: 1 / -1;
		width: 100%;
	}

	.va-thankyou-actions .button { flex: 1 1 100%; text-align: center; }
}


/* ==========================================================================
   Voice Art v0.9.9 — compact notices/cross-sells, mobile header refinements
   ========================================================================== */

/* Single-product add-to-cart feedback should obey the configured theme
   container and stay visually compact instead of becoming a full-width bar. */
.single-product .woocommerce-notices-wrapper {
	box-sizing: border-box;
	width: min(calc(100% - 40px), var(--va-container-limit, 1280px));
	max-width: var(--va-container-limit, 1280px);
	margin: 14px auto 0;
}

.single-product .woocommerce-notices-wrapper:empty {
	display: none;
}

.single-product .woocommerce-message,
.single-product .woocommerce-info,
.single-product .woocommerce-error {
	box-sizing: border-box;
	min-height: 0 !important;
	margin: 0 0 14px !important;
	padding: 10px 44px 10px 12px !important;
	border-radius: 12px !important;
	font-size: .7rem !important;
	font-weight: 400 !important;
	line-height: 1.7 !important;
	box-shadow: none !important;
}

.single-product .woocommerce-message::before,
.single-product .woocommerce-info::before,
.single-product .woocommerce-error::before {
	inset-inline-start: 15px !important;
	width: 18px !important;
	font-size: 13px !important;
}

.single-product .woocommerce-message .button,
.single-product .woocommerce-info .button,
.single-product .woocommerce-error .button {
	float: left !important;
	min-height: 34px !important;
	margin: 0 12px 0 0 !important;
	padding: 6px 11px !important;
	border-radius: 9px !important;
	font-size: .64rem !important;
	font-weight: 500 !important;
	line-height: 1.35 !important;
	transform: none !important;
	box-shadow: none !important;
}

/* Cross-sell: exactly two compact recommendations. Keep the purchase control
   on the physical left and make preview/demo actions intentionally quieter. */
.va-cart-recommendations__grid {
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.va-cart-recommendation-card h3 {
	font-size: .71rem !important;
	font-weight: 500 !important;
}

.va-cart-recommendation-card__price,
.va-cart-recommendation-card__price .woocommerce-Price-amount {
	font-size: .62rem !important;
}

.va-cart-recommendation-card__demo {
	width: 28px;
	min-width: 28px;
	height: 28px;
	min-height: 28px;
	padding: 0 !important;
	border-radius: 8px;
	gap: 0;
}

.va-cart-recommendation-card__demo svg {
	width: 12px;
	height: 12px;
}

.va-cart-recommendation-card__view {
	min-height: 26px;
	padding: 4px 7px;
	font-size: .57rem;
}

.woocommerce .va-cart-recommendation-card__add.button {
	left: 9px !important;
	right: auto !important;
	width: 66px;
	min-height: 38px;
	padding: 5px 4px !important;
	font-size: .54rem !important;
	font-weight: 500 !important;
	transform: translateY(-50%) !important;
	box-shadow: none !important;
}

.woocommerce .va-cart-recommendation-card__add.button > span {
	font-size: .78rem;
	font-weight: 400;
	line-height: 1;
}

.woocommerce .va-cart-recommendation-card__add.button:hover,
.woocommerce .va-cart-recommendation-card__add.button:focus,
.woocommerce .va-cart-recommendation-card__add.button:focus-visible {
	background: var(--va-primary) !important;
	color: #fff !important;
	transform: translateY(-50%) !important;
	box-shadow: none !important;
}

/* Mobile header: hamburger on the physical right, centered brand, compact
   account/search/cart actions on the left, plus an always-available teal
   horizontal quick menu. */
.va-mobile-green-nav {
	display: none;
}

@media (max-width: 900px) {
	.va-header-main {
		border-bottom: 1px solid #e7eeec;
		box-shadow: 0 6px 18px rgba(24, 72, 65, .045);
	}

	.va-header-main__inner {
		grid-template-columns: 42px minmax(74px, 1fr) auto !important;
		align-items: center;
		gap: 8px !important;
		min-height: 62px !important;
		padding-block: 6px;
		direction: rtl;
	}

	.va-menu-toggle {
		grid-column: 1;
		display: inline-grid !important;
		justify-self: start;
		width: 40px !important;
		height: 40px !important;
		border: 1px solid #e4ebe9;
		border-radius: 12px;
		background: #f8f8f8;
		color: var(--va-text);
	}

	.va-menu-toggle:hover,
	.va-menu-toggle:focus-visible {
		border-color: var(--va-primary-soft-2);
		background: var(--va-primary-soft);
		color: var(--va-primary-dark);
	}

	.va-brand {
		grid-column: 2;
		justify-content: center !important;
		justify-self: stretch;
	}

	.va-header-logo-image,
	.va-brand .custom-logo {
		max-width: min(var(--va-logo-width), 142px) !important;
		max-height: 40px !important;
	}

	.va-header-actions {
		grid-column: 3;
		justify-self: end;
		justify-content: flex-end !important;
		gap: 2px !important;
		direction: ltr;
	}

	.va-header-actions .va-icon-button,
	.va-account-trigger {
		width: 38px !important;
		height: 38px !important;
		min-height: 38px !important;
		border-radius: 11px !important;
	}

	.va-header-actions .va-icon-button {
		border: 1px solid transparent;
		background: #fff;
	}

	.va-header-actions .va-icon-button:hover,
	.va-header-actions .va-icon-button:focus-visible,
	.va-account-trigger:hover,
	.va-account-trigger:focus-visible {
		background: #f8f8f8;
		border-color: #e8eeec;
	}

	.va-mobile-green-nav {
		display: block;
		position: relative;
		z-index: 115;
		background: var(--va-primary);
		box-shadow: 0 7px 18px rgba(25, 106, 94, .12);
	}

	.va-mobile-green-nav .va-container {
		width: min(calc(100% - 18px), var(--va-container-limit, 1280px));
	}

	.va-mobile-green-nav__scroll {
		overflow-x: auto;
		overscroll-behavior-inline: contain;
		scrollbar-width: none;
		-webkit-overflow-scrolling: touch;
	}

	.va-mobile-green-nav__scroll::-webkit-scrollbar {
		display: none;
	}

	.va-mobile-green-menu {
		display: flex;
		align-items: center;
		gap: 4px;
		width: max-content;
		min-width: 100%;
		margin: 0;
		padding: 5px 0;
		list-style: none;
		direction: rtl;
	}

	.va-mobile-green-menu > li {
		flex: 0 0 auto;
		margin: 0;
		padding: 0;
	}

	.va-mobile-green-menu > li > a {
		display: inline-flex;
		align-items: center;
		min-height: 34px;
		padding: 6px 10px;
		border-radius: 9px;
		color: #fff !important;
		font-size: .68rem;
		font-weight: 500;
		line-height: 1.3;
		white-space: nowrap;
		opacity: .92;
	}

	.va-mobile-green-menu > li.current-menu-item > a,
	.va-mobile-green-menu > li.current-menu-ancestor > a,
	.va-mobile-green-menu > li > a:hover,
	.va-mobile-green-menu > li > a:focus-visible {
		background: rgba(255,255,255,.15);
		color: #fff !important;
		opacity: 1;
	}

	.va-mobile-green-menu .sub-menu {
		display: none !important;
	}
}

@media (max-width: 480px) {
	.va-header-main__inner {
		grid-template-columns: 40px minmax(62px, 1fr) auto !important;
		gap: 5px !important;
	}

	.va-menu-toggle {
		width: 37px !important;
		height: 37px !important;
	}

	.va-header-actions .va-icon-button,
	.va-account-trigger {
		width: 35px !important;
		height: 35px !important;
		min-height: 35px !important;
	}

	.va-header-logo-image,
	.va-brand .custom-logo {
		max-width: min(var(--va-logo-width), 118px) !important;
	}

	.va-mobile-green-menu > li > a {
		min-height: 32px;
		padding-inline: 9px;
		font-size: .64rem;
	}
}

/* Product category/tag heading must be constrained directly, not only through
   WooCommerce wrappers that can vary between templates/plugins. */
.va-product-taxonomy-archive .va-product-archive-head {
	box-sizing: border-box;
	width: 100% !important;
	max-width: var(--va-container-limit, 1280px) !important;
	margin-inline: auto !important;
	margin-bottom: 22px !important;
}

@media (max-width: 760px) {
	.va-product-taxonomy-archive .va-product-archive-head {
		max-width: calc(100vw - 24px) !important;
	}
}

/* Sample-pack artwork gets a real inset and contain fit so square artwork does
   not feel zoomed/cropped inside the archive card. */
.va-sample-card__media {
	padding: 8px;
	background: #f6f8f7;
	box-sizing: border-box;
}

.woocommerce ul.products li.product.va-sample-card-product .va-sample-card__image-link,
.woocommerce ul.products li.product.va-sample-card-product .va-sample-card__image-link:hover {
	overflow: hidden;
	border-radius: calc(var(--va-card-radius) - 10px);
	background: #fff;
}

.woocommerce ul.products li.product.va-sample-card-product .va-sample-card__image-link img {
	width: 100%;
	height: 100%;
	margin: 0 !important;
	object-fit: contain !important;
	background: #fff;
	transform: scale(.96) !important;
}

.va-sample-card-product:hover .va-sample-card__image-link img {
	transform: scale(.98) !important;
}

/* The three primary order facts should span the full row evenly. */
.va-thankyou-overview {
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	width: 100%;
	gap: 12px;
}

.va-thankyou-overview > div {
	display: flex;
	min-height: 78px;
	flex-direction: column;
	justify-content: center;
	padding: 15px 18px;
}

.va-home-account-name {
	margin-inline-start: .32em;
	font-weight: 600;
}

@media (max-width: 640px) {
	.single-product .woocommerce-notices-wrapper {
		width: min(calc(100% - 24px), var(--va-container-limit, 1280px));
		margin-top: 10px;
	}

	.single-product .woocommerce-message,
	.single-product .woocommerce-info,
	.single-product .woocommerce-error {
		padding: 9px 40px 9px 10px !important;
		font-size: .65rem !important;
	}

	.single-product .woocommerce-message .button,
	.single-product .woocommerce-info .button,
	.single-product .woocommerce-error .button {
		min-height: 31px !important;
		margin-inline-start: 8px !important;
		padding: 5px 8px !important;
		font-size: .59rem !important;
	}

	.va-cart-recommendations__grid {
		grid-template-columns: 1fr !important;
	}

	.va-thankyou-overview {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
		gap: 6px;
	}

	.va-thankyou-overview > div {
		min-height: 68px;
		padding: 9px 7px;
		text-align: center;
	}

	.va-thankyou-overview span {
		font-size: .55rem;
	}

	.va-thankyou-overview strong {
		font-size: .64rem;
	}
}

/* ========================================================================== 
   Voice Art v0.9.10 — grouped cross-sell actions, notice alignment,
   single-row sticky mobile header and integrated taxonomy breadcrumb
   ========================================================================== */

/* Cross-sell actions live together on the physical left of each card. */
.va-cart-recommendation-card {
	padding-left: 146px !important;
}

.va-cart-recommendation-card__actions {
	position: absolute;
	top: 50%;
	left: 9px;
	right: auto;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 5px;
	transform: translateY(-50%);
}

.va-cart-recommendation-card__view {
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 50px;
	min-height: 34px;
	margin: 0 !important;
	padding: 5px 8px !important;
	border: 0 !important;
	border-radius: 9px !important;
	background: #edf2f1 !important;
	color: #355b55 !important;
	font-size: .55rem !important;
	font-weight: 500 !important;
	line-height: 1.2 !important;
	box-shadow: none !important;
}

.va-cart-recommendation-card__view:hover,
.va-cart-recommendation-card__view:focus-visible {
	background: #e6eeec !important;
	color: var(--va-primary-dark) !important;
	outline: none !important;
}

.woocommerce .va-cart-recommendation-card__actions .va-cart-recommendation-card__add.button {
	position: static !important;
	top: auto !important;
	left: auto !important;
	right: auto !important;
	width: 66px !important;
	min-height: 34px !important;
	margin: 0 !important;
	padding: 5px 5px !important;
	font-size: .53rem !important;
	transform: none !important;
}

.woocommerce .va-cart-recommendation-card__actions .va-cart-recommendation-card__add.button:hover,
.woocommerce .va-cart-recommendation-card__actions .va-cart-recommendation-card__add.button:focus,
.woocommerce .va-cart-recommendation-card__actions .va-cart-recommendation-card__add.button:focus-visible {
	background: var(--va-primary) !important;
	color: #fff !important;
	transform: none !important;
	box-shadow: none !important;
}

.va-cart-recommendation-card__demo {
	background: #eaf0ef !important;
	color: #2f6d64 !important;
	border: 1px solid #dce7e4 !important;
	box-shadow: none !important;
}

.va-cart-recommendation-card__demo:hover,
.va-cart-recommendation-card__demo:focus-visible,
.va-cart-recommendation-card__demo.is-playing {
	background: #e1ebe8 !important;
	color: var(--va-primary-dark) !important;
	border-color: #d4e2de !important;
	outline: none !important;
}

/* Product add-to-cart notice: true vertical centering, no focus/border flash,
   a little more air above and less below. */
.single-product .woocommerce-notices-wrapper {
	margin-top: 22px !important;
	margin-bottom: 0 !important;
}

.single-product .woocommerce-message,
.single-product .woocommerce-info,
.single-product .woocommerce-error {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 12px !important;
	margin: 0 0 6px !important;
	padding-block: 9px !important;
	padding-inline: 44px 12px !important;
	border: 0 !important;
	border-top: 0 !important;
	outline: 0 !important;
	box-shadow: none !important;
	line-height: 1.65 !important;
}

.single-product .woocommerce-message:focus,
.single-product .woocommerce-info:focus,
.single-product .woocommerce-error:focus,
.single-product .woocommerce-message:focus-visible,
.single-product .woocommerce-info:focus-visible,
.single-product .woocommerce-error:focus-visible {
	border: 0 !important;
	outline: 0 !important;
	box-shadow: none !important;
}

.single-product .woocommerce-message::before,
.single-product .woocommerce-info::before,
.single-product .woocommerce-error::before {
	top: 50% !important;
	margin: 0 !important;
	transform: translateY(-50%) !important;
}

.single-product .woocommerce-message .button,
.single-product .woocommerce-info .button,
.single-product .woocommerce-error .button {
	flex: 0 0 auto !important;
	align-self: center !important;
	float: none !important;
	margin: 0 !important;
}

/* Product category/tag breadcrumb is now part of the same constrained header
   card instead of floating full-width above it. */
.va-product-taxonomy-archive .woocommerce-breadcrumb:not(.va-product-archive-breadcrumb__nav) {
	display: none !important;
}

.va-product-archive-breadcrumb {
	margin: -2px 0 14px;
	padding: 0 0 12px;
	border-bottom: 1px dashed #e4ecea;
}

.va-product-taxonomy-archive .va-product-archive-breadcrumb__nav,
.va-product-taxonomy-archive .woocommerce .va-product-archive-breadcrumb__nav {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 5px;
	width: fit-content;
	max-width: 100%;
	margin: 0 !important;
	padding: 7px 10px !important;
	border: 0 !important;
	border-radius: 10px;
	background: #f8f8f8;
	color: #71827e;
	font-size: .66rem !important;
	font-weight: 400;
	line-height: 1.5;
}

.va-product-archive-breadcrumb__nav a {
	color: #426e67 !important;
	font-weight: 500;
}

.va-product-archive-breadcrumb__separator {
	display: inline-grid;
	place-items: center;
	width: 18px;
	height: 18px;
	border-radius: 6px;
	background: #edf2f1;
	color: #82918e;
	font-size: .58rem;
	line-height: 1;
}

/* Mobile: a single sticky header row. The old green row is intentionally
   removed; the drawer starts at a configurable top offset. */
.va-mobile-green-nav {
	display: none !important;
}

@media (max-width: 900px) {
	.va-site-header,
	.va-site-header--sticky {
		position: sticky !important;
		top: 0 !important;
		z-index: 180 !important;
		background: #fff;
	}

	.admin-bar .va-site-header,
	.admin-bar .va-site-header--sticky {
		top: 46px !important;
	}

	.va-header-main__inner {
		display: grid !important;
		grid-template-columns: 40px minmax(68px, 1fr) auto !important;
		align-items: center !important;
		gap: 7px !important;
		min-height: 60px !important;
		padding-block: 5px !important;
		white-space: nowrap;
	}

	.va-menu-toggle {
		grid-column: 1 !important;
		grid-row: 1 !important;
		justify-self: start !important;
	}

	.va-brand {
		grid-column: 2 !important;
		grid-row: 1 !important;
		justify-self: stretch !important;
		justify-content: center !important;
		min-width: 0 !important;
	}

	.va-header-actions {
		grid-column: 3 !important;
		grid-row: 1 !important;
		justify-self: end !important;
		align-self: center !important;
		flex-wrap: nowrap !important;
		gap: 2px !important;
	}

	.va-header-logo-image,
	.va-brand .custom-logo {
		max-width: min(var(--va-logo-width), 122px) !important;
		max-height: 38px !important;
	}

	.va-mobile-drawer {
		z-index: 220 !important;
	}

	.va-drawer-panel {
		height: calc(100% - var(--va-mobile-drawer-offset, 72px)) !important;
		margin-top: var(--va-mobile-drawer-offset, 72px) !important;
		padding-top: 14px !important;
		border-radius: 18px 0 0 0;
	}

	.va-drawer-backdrop {
		inset: 0 !important;
	}

	.va-mobile-quick-links a {
		font-weight: 500;
	}

	.va-product-archive-breadcrumb {
		margin-bottom: 11px;
		padding-bottom: 10px;
	}

	.va-product-taxonomy-archive .va-product-archive-breadcrumb__nav,
	.va-product-taxonomy-archive .woocommerce .va-product-archive-breadcrumb__nav {
		font-size: .61rem !important;
		padding: 6px 8px !important;
	}
}

@media (min-width: 783px) and (max-width: 900px) {
	.admin-bar .va-site-header,
	.admin-bar .va-site-header--sticky {
		top: 32px !important;
	}
}

@media (max-width: 640px) {
	.single-product .woocommerce-notices-wrapper {
		margin-top: 16px !important;
	}

	.single-product .woocommerce-message,
	.single-product .woocommerce-info,
	.single-product .woocommerce-error {
		gap: 8px !important;
		margin-bottom: 4px !important;
		padding-block: 8px !important;
		padding-inline: 40px 9px !important;
	}

	.va-cart-recommendation-card {
		padding-left: 140px !important;
	}

	.va-cart-recommendation-card__actions {
		left: 8px;
		gap: 4px;
	}

	.va-cart-recommendation-card__view {
		min-width: 47px;
		padding-inline: 6px !important;
	}

	.woocommerce .va-cart-recommendation-card__actions .va-cart-recommendation-card__add.button {
		width: 63px !important;
	}
}

@media (max-width: 360px) {
	.va-header-main__inner {
		grid-template-columns: 37px minmax(54px, 1fr) auto !important;
		gap: 3px !important;
	}

	.va-header-actions .va-icon-button,
	.va-account-trigger,
	.va-menu-toggle {
		width: 33px !important;
		height: 33px !important;
		min-height: 33px !important;
	}

	.va-header-logo-image,
	.va-brand .custom-logo {
		max-width: min(var(--va-logo-width), 102px) !important;
	}
}

/* --------------------------------------------------------------------------
   v0.9.2 SpotPlayer / WooCommerce order-details compatibility
   -------------------------------------------------------------------------- */
.va-thankyou-integration {
	padding: clamp(16px, 2.2vw, 24px);
	overflow: hidden;
}

.va-thankyou-integration > :first-child {
	margin-top: 0 !important;
}

.va-thankyou-integration > :last-child {
	margin-bottom: 0 !important;
}

/* SpotPlayer normally expects to live inside .woocommerce-order-details.
   Keep its generated access UI compact and aligned with our thank-you cards. */
.va-thankyou-integration #sp {
	margin: 0 !important;
	max-width: 100%;
}

.va-thankyou-integration #sp-warn {
	border-radius: 12px;
	padding: 10px 12px;
	margin-bottom: 20px;
}

.va-thankyou-integration #sp_license > textarea {
	box-sizing: border-box;
	border-radius: 10px 10px 0 0;
}

.va-thankyou-integration #sp_license > button {
	border-radius: 0 0 10px 10px;
	min-height: 40px;
}

@media (max-width: 680px) {
	.va-thankyou-integration {
		padding: 13px;
	}

	.va-thankyou-integration #spotplayer {
		height: min(62vw, 420px);
		min-height: 260px;
	}
}

/* --------------------------------------------------------------------------
   v0.9.2 — mini-cart as the universal add-to-cart confirmation
   -------------------------------------------------------------------------- */
.va-cart-hover-wrap.is-va-cart-open .va-cart-dropdown {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
	pointer-events: auto;
}

/* On mobile the normal hover dropdown is intentionally hidden. It is allowed
   to appear only while JS is showing a successful add-to-cart confirmation. */
@media (max-width: 900px) {
	.va-cart-hover-wrap.is-va-cart-open .va-cart-dropdown {
		display: block !important;
		position: fixed;
		top: 68px;
		inset-inline: 10px;
		width: auto;
		max-width: none;
		max-height: min(68vh, 560px);
		overflow: auto;
		z-index: 420;
	}

	.admin-bar .va-cart-hover-wrap.is-va-cart-open .va-cart-dropdown {
		top: 114px;
	}
}

@media (min-width: 783px) and (max-width: 900px) {
	.admin-bar .va-cart-hover-wrap.is-va-cart-open .va-cart-dropdown {
		top: 100px;
	}
}

/* ========================================================================== 
   v0.9.2 hotfix — Shop width must not depend on WooCommerce wrapper markup
   ========================================================================== */
/*
 * WooCommerce, Elementor and compatibility templates can insert extra wrappers
 * between .va-site-main and the Shop loop.  The earlier direct-child selectors
 * therefore were not sufficient in every installation.  Give the Shop page the
 * same horizontal gutter as .va-container and constrain the actual custom Shop
 * browser itself to the numeric Container Width setting.
 */
body.va-shop-page .va-site-main {
	box-sizing: border-box;
	padding-inline: 20px !important;
}

body.va-shop-page .va-site-main .va-shop-browser {
	box-sizing: border-box;
	width: 100% !important;
	max-width: var(--va-container-limit, 1280px) !important;
	margin-inline: auto !important;
}

/* Do not let the generic WooCommerce product-grid width rule create another
 * container inside the already constrained Shop browser. */
body.va-shop-page .va-shop-browser .woocommerce ul.products,
body.va-shop-page .woocommerce .va-shop-browser ul.products,
body.va-shop-page .va-shop-browser ul.products {
	width: 100% !important;
	max-width: none !important;
	margin-inline: 0 !important;
}

/* Hero artwork is also forced to stay inside the Shop browser. */
body.va-shop-page .va-shop-browser .va-shop-hero::after {
	left: 0 !important;
	right: 0 !important;
	width: auto !important;
	max-width: 100% !important;
	transform: none !important;
}

@media (max-width: 640px) {
	body.va-shop-page .va-site-main {
		padding-inline: 14px !important;
	}
}

/* ==========================================================================
   Voice Art v0.9.3 — WooCommerce Shop redesign (digital catalogue)
   Borderless surfaces + #E7E7E7 neutral UI + dynamic product-group filters.
   ========================================================================== */
.va-shop-browser {
	--va-shop-surface: #E7E7E7;
	--va-shop-radius: 18px;
	--va-shop-shadow: 0 18px 46px rgba(24, 48, 45, .08);
}

/* Hero ------------------------------------------------------------------- */
.va-shop-hero {
	overflow: hidden;
	margin-bottom: 26px;
	padding: clamp(26px, 3.6vw, 48px);
	border: 0;
	border-radius: 28px;
	background: linear-gradient(135deg, var(--va-primary-darker), var(--va-primary-dark) 58%, var(--va-primary));
	box-shadow: 0 22px 58px rgba(23, 66, 59, .16);
	color: #fff;
}

.va-shop-hero::after {
	display: none;
}

.va-shop-hero::before {
	inset: auto -95px -190px auto;
	width: 390px;
	height: 390px;
	border: 58px solid rgba(231, 231, 231, .11);
	background: transparent;
}

.va-shop-hero__copy {
	max-width: 820px;
}

.va-shop-hero__eyebrow {
	min-height: 27px;
	padding: 4px 10px;
	border: 0;
	background: var(--va-shop-surface);
	color: var(--va-primary-darker);
	font-weight: 650;
	box-shadow: none;
}

.va-shop-hero h1 {
	color: #fff;
	font-weight: 650;
}

.va-shop-hero__copy p {
	max-width: 760px;
	color: rgba(255,255,255,.78);
	font-size: 14px;
}

.va-shop-search {
	max-width: 920px;
	min-height: 64px;
	margin-top: 25px;
	padding: 8px;
	border: 0;
	border-radius: 18px;
	background: var(--va-shop-surface);
	box-shadow: none;
}

.va-shop-search__icon {
	width: 42px;
	height: 42px;
	border-radius: 12px;
	background: transparent;
	color: var(--va-primary-dark);
}

.va-shop-search input[type="search"] {
	color: #243b37;
}

.va-shop-search input[type="search"]::placeholder {
	color: #768783;
}

.va-shop-search button {
	min-width: 96px;
	height: 47px;
	border: 0;
	background: var(--va-primary-darker);
	box-shadow: none;
	font-weight: 600;
}

.va-shop-search button:hover,
.va-shop-search button:focus-visible {
	background: var(--va-primary-darker);
	box-shadow: none;
	transform: none;
}

/* Two real catalogue groups ------------------------------------------------ */
.va-shop-type-tabs {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 9px;
	width: min(760px, 100%);
	margin-top: 18px;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
}

.va-shop-type-tabs label,
.va-shop-type-tabs .va-shop-type-tab {
	min-width: 0;
}

.va-shop-type-tabs input {
	position: absolute;
	opacity: 0;
}

.va-shop-type-tabs span.va-shop-type-tab__surface {
	display: grid;
	grid-template-columns: 40px minmax(0, 1fr);
	align-items: center;
	justify-content: initial;
	gap: 10px;
	min-height: 67px;
	padding: 10px 12px;
	border: 0;
	border-radius: 16px;
	background: var(--va-shop-surface);
	color: #435b56;
	box-shadow: none;
	text-align: start;
	transition: transform .18s ease, background .18s ease, color .18s ease;
}

.va-shop-type-tabs .va-shop-type-tab__icon {
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	border-radius: 12px;
	background: rgba(47,159,144,.12);
	color: var(--va-primary-dark);
	font-style: normal;
}

.va-shop-type-tabs .va-shop-type-tab__icon svg {
	width: 21px;
	height: 21px;
	fill: currentColor;
}

.va-shop-type-tabs span.va-shop-type-tab__copy {
	display: grid;
	align-items: initial;
	justify-content: initial;
	gap: 2px;
	min-height: 0;
	padding: 0;
	border-radius: 0;
	background: transparent;
	color: inherit;
	font-size: inherit;
	font-weight: inherit;
}

.va-shop-type-tab__copy b {
	font-size: 13px;
	font-weight: 650;
	line-height: 1.55;
}

.va-shop-type-tab__copy small {
	color: #71827e;
	font-size: 10.5px;
	font-weight: 400;
	line-height: 1.6;
}

.va-shop-type-tabs input:checked + span.va-shop-type-tab__surface {
	background: var(--va-primary-darker);
	color: #fff;
	box-shadow: none;
	transform: translateY(-1px);
}

.va-shop-type-tabs input:checked + span.va-shop-type-tab__surface .va-shop-type-tab__icon {
	background: var(--va-primary);
	color: #fff;
}

.va-shop-type-tabs input:checked + span.va-shop-type-tab__surface small {
	color: rgba(255,255,255,.68);
}

/* Digital catalogue assurances -------------------------------------------- */
.va-shop-assurances {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
	max-width: 920px;
	margin-top: 20px;
}

.va-shop-assurance {
	display: grid;
	grid-template-columns: 34px minmax(0, 1fr);
	grid-template-areas: "icon title" "icon text";
	align-items: center;
	column-gap: 9px;
	min-width: 0;
	color: #fff;
}

.va-shop-assurance > span {
	grid-area: icon;
	display: grid;
	place-items: center;
	width: 34px;
	height: 34px;
	border-radius: 10px;
	background: var(--va-shop-surface);
	color: var(--va-primary-dark);
}

.va-shop-assurance svg {
	width: 18px;
	height: 18px;
	fill: currentColor;
}

.va-shop-assurance b {
	grid-area: title;
	font-size: 11px;
	font-weight: 600;
	line-height: 1.5;
}

.va-shop-assurance small {
	grid-area: text;
	color: rgba(255,255,255,.68);
	font-size: 9.5px;
	line-height: 1.55;
}

/* Quick categories -------------------------------------------------------- */
.va-shop-category-shortcuts {
	margin-top: 21px;
}

.va-shop-category-shortcuts__head {
	display: flex;
	align-items: baseline;
	gap: 8px;
	margin-bottom: 8px;
	color: #fff;
}

.va-shop-category-shortcuts__head strong {
	font-size: 11.5px;
	font-weight: 600;
}

.va-shop-category-shortcuts__head span {
	color: rgba(255,255,255,.62);
	font-size: 9.5px;
}

.va-shop-category-strip {
	gap: 7px;
	margin-top: 0;
}

.va-shop-category-strip button {
	min-height: 34px;
	padding: 6px 12px;
	border: 0;
	border-radius: 10px;
	background: var(--va-shop-surface);
	color: #536660;
	box-shadow: none;
	font-size: 11px;
	font-weight: 450;
}

.va-shop-category-strip button:hover,
.va-shop-category-strip button:focus-visible,
.va-shop-category-strip button.is-active {
	border: 0;
	background: var(--va-primary);
	color: #fff;
	box-shadow: none;
	outline: 0;
}

/* Main layout + filter surfaces ------------------------------------------ */
.va-shop-layout {
	gap: 26px;
}

.va-shop-filters {
	overflow: visible;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

.va-shop-filters__head {
	margin-bottom: 9px;
	padding: 16px;
	border: 0;
	border-radius: var(--va-shop-radius);
	background: var(--va-shop-surface);
}

.va-shop-filters__head strong {
	font-size: 13px;
	font-weight: 650;
}

.va-shop-filters__head small {
	font-size: 10px;
	color: #71827e;
}

.va-shop-filters__head > button {
	border: 0;
	background: rgba(47,159,144,.11);
	color: var(--va-primary-dark);
}

.va-shop-sale-filter {
	margin-bottom: 9px;
	padding: 0;
	border: 0;
}

.va-shop-sale-filter label {
	min-height: 64px;
	padding: 12px 14px;
	border: 0;
	border-radius: var(--va-shop-radius);
	background: var(--va-shop-surface);
	box-shadow: none;
}

.va-shop-sale-filter b {
	font-size: 11.5px;
	font-weight: 600;
}

.va-shop-sale-filter small {
	font-size: 9.5px;
}

.va-shop-filter {
	margin: 0 0 9px;
	border: 0;
	border-radius: var(--va-shop-radius);
	background: var(--va-shop-surface);
	overflow: hidden;
}

.va-shop-filter:last-of-type {
	border: 0;
}

.va-shop-filter summary {
	min-height: 49px;
	padding: 13px 15px;
	font-size: 12px;
	font-weight: 600;
}

.va-shop-filter__content {
	padding: 0 15px 15px;
}

.va-shop-check-row {
	min-height: 35px;
	padding: 4px 6px;
	border: 0;
	background: transparent;
}

.va-shop-check-row:hover {
	background: rgba(47,159,144,.08);
}

.va-shop-check-chip span,
.va-shop-check-chip input:checked + span {
	min-height: 30px;
	padding: 4px 9px;
	border: 0;
	background: transparent;
	box-shadow: none;
	font-size: 10.5px;
	font-weight: 450;
}

.va-shop-check-chip input:checked + span {
	background: var(--va-primary);
	color: #fff;
	font-weight: 500;
}

.va-shop-price-fields input {
	border: 0;
	background: transparent;
	box-shadow: none;
}

.va-shop-bpm-readout b,
.va-shop-price-readout span {
	border: 0;
	background: transparent;
	box-shadow: none;
}

.va-shop-dual-range__track,
.va-shop-price-range__track {
	background: rgba(255,255,255,.58);
}

.va-shop-filters__footer {
	gap: 8px;
	margin-top: 3px;
	padding: 0;
	border: 0;
	background: transparent;
}

.va-shop-reset,
.va-shop-show-results {
	min-height: 40px;
	border: 0;
	border-radius: 12px;
	box-shadow: none;
}

.va-shop-reset {
	background: var(--va-shop-surface);
	color: #566b66;
}

.va-shop-show-results {
	background: var(--va-primary);
}

/* Results toolbar --------------------------------------------------------- */
.va-shop-results__toolbar {
	position: sticky;
	top: 82px;
	z-index: 20;
	align-items: center;
	min-height: 64px;
	margin-bottom: 18px;
	padding: 11px 13px;
	border: 0;
	border-radius: 16px;
	background: var(--va-shop-surface);
	box-shadow: 0 12px 30px rgba(24,48,45,.055);
	backdrop-filter: none;
}

.admin-bar .va-shop-results__toolbar {
	top: 114px;
}

.va-shop-results__summary {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
}

.va-shop-results__toolbar strong {
	font-size: 11.5px;
	font-weight: 550;
	color: #536761;
}

.va-shop-toolbar-reset {
	min-height: 27px;
	padding: 3px 8px;
	border: 0;
	border-radius: 8px;
	background: transparent;
	color: #71827e;
	font: inherit;
	font-size: 9.5px;
	cursor: pointer;
}

.va-shop-toolbar-reset[hidden] {
	display: none !important;
}

.va-shop-active-filter {
	min-height: 27px;
	border: 0;
	background: var(--va-primary);
	color: #fff;
	box-shadow: none;
}

.va-shop-sort select,
.va-shop-mobile-sort select {
	height: 38px;
	border: 0;
	background-color: rgba(255,255,255,.48);
	box-shadow: none;
}

.va-shop-filter-toggle {
	background: var(--va-primary-dark);
	box-shadow: none;
}

.va-shop-filter-toggle__count {
	display: grid;
	place-items: center;
	min-width: 20px;
	height: 20px;
	padding: 0 5px;
	border-radius: 999px;
	background: var(--va-shop-surface);
	color: var(--va-primary-dark);
	font-size: 9px;
	font-weight: 650;
}

.va-shop-filter-toggle__count[hidden] {
	display: none;
}

.va-shop-empty {
	border: 0;
	background: var(--va-shop-surface);
	box-shadow: none;
}

.va-shop-empty > span {
	background: var(--va-primary);
	color: #fff;
}

/* Product cards: no strokes, neutral dynamic tags ------------------------- */
.va-sample-card,
.va-course-card {
	border: 0;
	background: transparent;
	box-shadow: none;
}

.va-sample-card-product:hover .va-sample-card,
.va-course-card-product:hover .va-course-card {
	border: 0;
	box-shadow: none;
	transform: translateY(-2px);
}

.va-sample-card__media,
.va-course-card__media {
	margin: 0;
	border-radius: 17px;
}

.va-sample-card__body,
.va-course-card__body {
	padding: 13px 4px 4px;
}

.va-sample-card__formats span,
.va-course-card__ribbon,
.va-course-card__preview {
	border: 0;
	background: #E7E7E7;
	color: var(--va-primary-darker);
	box-shadow: none;
}

.va-sample-card__sale,
.va-course-card__sale {
	border: 0;
	background: var(--va-primary-dark);
	box-shadow: none;
}

.va-sample-card__demo {
	border: 0;
	box-shadow: none;
}

.va-sample-card__spec,
.va-sample-card__spec--format,
.va-course-card__spec {
	border: 0;
	background: var(--va-shop-surface);
	box-shadow: none;
}

.va-course-card__spec-icon {
	background: transparent;
	box-shadow: none;
}

.va-sample-card__bottom,
.va-course-card__footer {
	border: 0;
}

.va-sample-card__view,
.va-course-card__view {
	border: 0;
	background: var(--va-shop-surface);
	box-shadow: none;
}

.woocommerce ul.products li.product.va-sample-card-product .button.va-sample-card__cart,
.woocommerce ul.products li.product.va-course-card-product .button.va-course-card__cart {
	border: 0 !important;
	background: var(--va-primary) !important;
	box-shadow: none !important;
}

.va-sample-card__view:hover,
.va-course-card__view:hover {
	border: 0;
	background: var(--va-shop-surface);
	color: var(--va-primary-dark) !important;
	transform: none;
}

.woocommerce ul.products li.product.va-sample-card-product .button.va-sample-card__cart:hover,
.woocommerce ul.products li.product.va-course-card-product .button.va-course-card__cart:hover {
	background: var(--va-primary-dark) !important;
	box-shadow: none !important;
	transform: none;
}

/* Responsive -------------------------------------------------------------- */
@media (max-width: 980px) {
	.va-shop-hero {
		border-radius: 22px;
	}

	.va-shop-filters,
	.va-shop-layout--left .va-shop-filters {
		padding: 12px;
		background: #E7E7E7;
		box-shadow: -18px 0 50px rgba(0,0,0,.16);
	}

	.va-shop-filters__head {
		top: 12px;
	}

	.va-shop-filters__footer {
		padding: 10px 0 0;
		background: #E7E7E7;
		box-shadow: none;
	}

	.va-shop-results__toolbar,
	.admin-bar .va-shop-results__toolbar {
		position: static;
		top: auto;
	}
}

@media (max-width: 720px) {
	.va-shop-assurances {
		grid-template-columns: 1fr;
		gap: 9px;
	}

	.va-shop-assurance {
		grid-template-columns: 32px minmax(0, 1fr);
	}
}

@media (max-width: 640px) {
	.va-shop-hero {
		margin-bottom: 16px;
		padding: 22px 15px;
		border-radius: 18px;
	}

	.va-shop-search {
		grid-template-columns: 38px minmax(0, 1fr);
		gap: 5px;
		min-height: 54px;
		padding: 6px;
		border-radius: 14px;
	}

	.va-shop-search__icon {
		width: 34px;
		height: 34px;
	}

	.va-shop-search button {
		grid-column: 1 / -1;
		width: 100%;
	}

	.va-shop-type-tabs {
		grid-template-columns: 1fr;
		gap: 7px;
	}

	.va-shop-type-tabs span.va-shop-type-tab__surface {
		min-height: 59px;
	}

	.va-shop-category-shortcuts__head {
		display: grid;
		gap: 2px;
	}

	.va-shop-results__toolbar {
		padding: 10px;
	}

	.va-shop-results__summary {
		justify-content: space-between;
	}

	.va-shop-sort,
	.va-shop-mobile-sort {
		background: var(--va-shop-surface);
		border-radius: 11px;
		padding-inline: 8px;
	}

	.va-sample-card__body,
	.va-course-card__body {
		padding-inline: 2px;
	}
}

/* ==========================================================================
   Voice Art v0.9.4 — Shop refinements + adaptive digital single-product page
   ========================================================================== */

/* Shop refinements -------------------------------------------------------- */
.va-shop-browser {
	--va-shop-tag-surface: #f9f9f9;
	--va-shop-filter-surface: #FFFFFF;
}

/* Search and all filter cards use a clean white surface. */
.va-shop-search,
.va-shop-filters__head,
.va-shop-sale-filter label,
.va-shop-filter,
.va-shop-reset {
	background: var(--va-shop-filter-surface);
}

.va-shop-price-fields input,
.va-shop-bpm-readout b,
.va-shop-price-readout span {
	background: #F5F5F5;
}

/* Keep the desktop filter panel below the complete sticky header when the
   visitor scrolls back upward. Header main row + nav row + breathing room. */
.va-shop-filters {
	top: calc(var(--va-header-height, 68px) + 54px);
}

.admin-bar .va-shop-filters {
	top: calc(var(--va-header-height, 68px) + 86px);
}

/* Result count / ordering bar must scroll normally with the products. */
.va-shop-results__toolbar,
.admin-bar .va-shop-results__toolbar {
	position: static !important;
	top: auto !important;
	z-index: auto;
}

/* Hide course-license reassurance while browsing sample packs. */
.va-shop-assurance[hidden] {
	display: none !important;
}

.va-shop-browser[data-active-type="sample"] .va-shop-assurances {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	max-width: 620px;
}

.va-shop-browser[data-active-type="course"] .va-shop-assurances {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

/* White card frame without a border/stroke. */
.va-sample-card,
.va-course-card {
	padding: 7px;
	border: 0;
	border-radius: 22px;
	background: #FFFFFF;
	box-shadow: none;
}

.va-sample-card__media,
.va-course-card__media {
	border-radius: 16px;
}

.va-sample-card__body,
.va-course-card__body {
	padding: 13px 7px 7px;
}

/* Dynamic tags on archive cards use the requested neutral token. */
.va-sample-card__formats span,
.va-sample-card__spec,
.va-sample-card__spec--format,
.va-course-card__spec {
	background: #f9f9f9 !important;
}

/* Keep non-dynamic secondary controls visually separate from the tags. */
.va-sample-card__view,
.va-course-card__view,
.va-course-card__ribbon,
.va-course-card__preview {
	background: #E7E7E7;
}

@media (max-width: 980px) {
	.va-shop-filters,
	.va-shop-layout--left .va-shop-filters,
	.admin-bar .va-shop-filters {
		top: 0;
		background: #FFFFFF;
	}

	.va-shop-filters__head,
	.va-shop-filters__footer {
		background: #FFFFFF;
	}
}

@media (max-width: 720px) {
	.va-shop-browser[data-active-type="sample"] .va-shop-assurances,
	.va-shop-browser[data-active-type="course"] .va-shop-assurances {
		grid-template-columns: 1fr;
		max-width: none;
	}
}

/* Custom single product --------------------------------------------------- */
.va-single-product-page .va-site-main {
	padding-block: 12px 42px;
}

.single-product .woocommerce > div.product.va-single-product {
	--va-single-muted: #F5F5F5;
	--va-single-neutral: #E7E7E7;
	box-sizing: border-box;
	width: min(calc(100% - 40px), var(--va-container-limit, 1280px));
	max-width: var(--va-container-limit, 1280px);
	margin: 0 auto;
	color: var(--va-text);
}

.va-single-product__breadcrumb {
	margin: 10px 0 14px;
}

.va-single-product__breadcrumb .woocommerce-breadcrumb {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 7px;
	margin: 0;
	color: #84928f;
	font-size: 11px;
	line-height: 1.7;
}

.va-single-product__breadcrumb .woocommerce-breadcrumb a {
	color: #5f746f;
}

.va-single-product__breadcrumb .woocommerce-breadcrumb a:hover {
	color: var(--va-primary-dark);
}

.va-single-product__hero {
	display: grid;
	grid-template-columns: minmax(0, 1.08fr) minmax(340px, .92fr);
	gap: clamp(24px, 4vw, 54px);
	align-items: start;
	padding: clamp(16px, 2.2vw, 28px);
	border-radius: 28px;
	background: #FFFFFF;
}

.va-single-product__media-column,
.va-single-product__summary-column {
	min-width: 0;
}

.va-single-product__media-column {
	display: grid;
	gap: 12px;
}

.va-single-gallery {
	display: grid;
	gap: 10px;
}

.va-single-gallery__stage {
	position: relative;
	display: grid;
	place-items: center;
	width: 100%;
	max-width: 100%;
	margin-inline: auto;
	aspect-ratio: var(--va-product-media-ratio, 1 / 1);
	padding: clamp(10px, 2vw, 20px);
	border-radius: 22px;
	background: var(--va-single-muted);
	overflow: hidden;
}

.va-single-gallery__stage--portrait {
	max-width: 520px;
}

.va-single-gallery__stage--square {
	max-width: 650px;
}

.va-single-gallery__stage--landscape,
.va-single-gallery__stage--adaptive {
	max-width: 100%;
}

.va-single-gallery__main-link {
	display: grid;
	place-items: center;
	width: 100%;
	height: 100%;
	cursor: zoom-in;
}

.va-single-gallery__main-image,
.va-single-gallery__placeholder img {
	display: block;
	width: auto !important;
	max-width: 100% !important;
	height: auto !important;
	max-height: 100%;
	margin: 0 !important;
	object-fit: contain;
	object-position: center;
	border-radius: 14px;
}

.va-single-gallery__placeholder {
	display: grid;
	place-items: center;
	width: 100%;
	height: 100%;
}

.va-single-product__sale-badge {
	position: absolute;
	top: 14px;
	inset-inline-start: 14px;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	min-height: 31px;
	padding: 5px 10px;
	border-radius: 10px;
	background: var(--va-primary-dark);
	color: #FFFFFF;
	font-size: 10px;
	font-weight: 650;
}

.va-single-gallery__thumbs {
	display: flex;
	gap: 8px;
	overflow-x: auto;
	padding: 2px 0 4px;
	scrollbar-width: thin;
}

.va-single-gallery__thumb {
	flex: 0 0 72px;
	display: grid;
	place-items: center;
	width: 72px;
	height: 72px;
	padding: 5px;
	border: 0;
	border-radius: 13px;
	background: var(--va-single-muted);
	cursor: pointer;
	opacity: .68;
	transition: opacity .18s ease, transform .18s ease, background .18s ease;
}

.va-single-gallery__thumb.is-active,
.va-single-gallery__thumb:hover,
.va-single-gallery__thumb:focus-visible {
	background: var(--va-single-neutral);
	opacity: 1;
	outline: 0;
	transform: translateY(-1px);
}

.va-single-gallery__thumb img {
	display: block;
	width: 100%;
	height: 100%;
	margin: 0 !important;
	border-radius: 9px;
	object-fit: contain;
}

.va-single-product__preview-actions {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
}

.va-single-product__preview-actions > :only-child {
	grid-column: 1 / -1;
}

.va-single-demo,
.va-single-demo__toggle,
.va-single-video-button {
	min-width: 0;
}

.va-single-demo__toggle,
.va-single-video-button {
	display: grid;
	grid-template-columns: 38px minmax(0, 1fr);
	align-items: center;
	gap: 9px;
	width: 100%;
	min-height: 58px;
	padding: 9px 11px;
	border: 0;
	border-radius: 15px;
	background: var(--va-single-neutral);
	color: var(--va-primary-darker);
	text-align: start;
	font: inherit;
	cursor: pointer;
}

.va-single-demo__toggle > span:first-child,
.va-single-video-button > span:first-child {
	display: grid;
	place-items: center;
	width: 38px;
	height: 38px;
	border-radius: 11px;
	background: #FFFFFF;
	color: var(--va-primary-dark);
}

.va-single-demo__toggle svg,
.va-single-video-button svg {
	width: 19px;
	height: 19px;
	fill: currentColor;
}

.va-single-demo__toggle > span:last-child,
.va-single-video-button > span:last-child {
	display: grid;
	gap: 1px;
}

.va-single-demo__toggle b,
.va-single-video-button b {
	font-size: 11px;
	font-weight: 650;
}

.va-single-demo__toggle small,
.va-single-video-button small {
	color: #72827f;
	font-size: 9px;
}

.va-single-demo__toggle.is-playing {
	background: var(--va-primary-darker);
	color: #FFFFFF;
}

.va-single-demo__toggle.is-playing small {
	color: rgba(255,255,255,.68);
}

.va-single-product__summary-column {
	display: flex;
	flex-direction: column;
	gap: 15px;
	padding-block: 4px;
}

.va-single-product__type-row {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 6px;
}

.va-single-product__type-row > span {
	display: inline-flex;
	align-items: center;
	min-height: 29px;
	padding: 4px 9px;
	border-radius: 9px;
	background: var(--va-single-muted);
	color: #536964;
	font-size: 9.5px;
	font-weight: 600;
}

.va-single-product__type-row .va-single-product__type-badge {
	background: var(--va-primary-darker);
	color: #FFFFFF;
}

.va-single-product__type-row .va-single-product__license-badge {
	background: #E7E7E7;
	color: var(--va-primary-dark);
}

.woocommerce div.product.va-single-product .va-single-product__title,
.va-single-product__title {
	margin: 0;
	color: #18302D;
	font-size: clamp(24px, 3vw, 40px);
	font-weight: 700;
	line-height: 1.45;
}

.va-single-product__rating {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 7px;
	font-size: 10.5px;
	color: #71827e;
}

.va-single-product__rating .star-rating {
	margin: 0;
}

.va-single-product__rating a {
	color: var(--va-primary-dark);
}

.va-single-product__excerpt {
	color: #526964;
	font-size: 12.5px;
	line-height: 2;
}

.va-single-product__excerpt p:last-child {
	margin-bottom: 0;
}

.va-single-product__dynamic-tags {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 7px;
}

.va-single-product__dynamic-tag {
	display: grid;
	gap: 2px;
	min-width: 0;
	min-height: 61px;
	padding: 10px 11px;
	border-radius: 14px;
	background: var(--va-single-muted);
}

.va-single-product__dynamic-tag small {
	color: #788984;
	font-size: 9px;
	line-height: 1.5;
}

.va-single-product__dynamic-tag b {
	overflow-wrap: anywhere;
	color: #2b4842;
	font-size: 11.5px;
	font-weight: 650;
	line-height: 1.65;
}

.va-single-product__purchase-card {
	display: grid;
	gap: 13px;
	padding: 16px;
	border-radius: 20px;
	background: var(--va-single-neutral);
}

.va-single-product__price-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
}

.va-single-product__price-row > span {
	color: #647a75;
	font-size: 10.5px;
}

.woocommerce div.product.va-single-product .va-single-product__price-row .price,
.va-single-product__price-row .price,
.va-single-product__price-row .price * {
	margin: 0;
	color: var(--va-primary-darker) !important;
	font-size: clamp(18px, 2.1vw, 25px) !important;
	font-weight: 750 !important;
	line-height: 1.4;
}

.va-single-product__price-row .price del,
.va-single-product__price-row .price del * {
	color: #8c9996 !important;
	font-size: 12px !important;
	font-weight: 450 !important;
}

.va-single-product__cart-area form.cart {
	display: flex;
	align-items: stretch;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 !important;
}

.va-single-product__cart-area form.cart .quantity {
	float: none !important;
	margin: 0 !important;
}

.va-single-product__cart-area .quantity .qty {
	width: 70px;
	height: 50px;
	margin: 0;
	border: 0;
	border-radius: 13px;
	background: #FFFFFF;
	box-shadow: none;
	font: inherit;
}

.woocommerce div.product.va-single-product .va-single-product__cart-area .single_add_to_cart_button,
.woocommerce div.product.va-single-product .va-single-product__cart-area button.button,
.woocommerce div.product.va-single-product .va-single-product__cart-area a.button {
	flex: 1 1 190px;
	min-height: 50px;
	margin: 0 !important;
	padding: 10px 16px !important;
	border: 0 !important;
	border-radius: 13px !important;
	background: var(--va-primary) !important;
	color: #FFFFFF !important;
	box-shadow: none !important;
	font-size: 12px !important;
	font-weight: 650 !important;
	line-height: 1.5 !important;
	text-align: center;
}

.woocommerce div.product.va-single-product .va-single-product__cart-area .single_add_to_cart_button:hover,
.woocommerce div.product.va-single-product .va-single-product__cart-area button.button:hover,
.woocommerce div.product.va-single-product .va-single-product__cart-area a.button:hover {
	background: var(--va-primary-dark) !important;
	transform: none !important;
}

.va-single-product__cart-area form.variations_form,
.va-single-product__cart-area form.grouped_form {
	display: block;
	width: 100%;
}

.va-single-product__cart-area table.variations,
.va-single-product__cart-area table.group_table {
	width: 100%;
	margin: 0 0 10px;
	border: 0;
}

.va-single-product__cart-area table.variations th,
.va-single-product__cart-area table.variations td,
.va-single-product__cart-area table.group_table td {
	padding: 5px 0;
	border: 0;
	background: transparent;
}

.va-single-product__cart-area select {
	min-height: 44px;
	border: 0;
	border-radius: 11px;
	background: #FFFFFF;
	box-shadow: none;
}

.va-single-product__cart-area .reset_variations {
	color: var(--va-primary-dark);
	font-size: 10px;
}

.va-single-product__cart-area .woocommerce-variation-price {
	margin-bottom: 8px;
}

.va-single-product__purchase-note {
	display: grid;
	grid-template-columns: 28px minmax(0, 1fr);
	align-items: start;
	gap: 8px;
	padding-top: 3px;
}

.va-single-product__purchase-note > span {
	display: grid;
	place-items: center;
	width: 28px;
	height: 28px;
	border-radius: 9px;
	background: #FFFFFF;
	color: var(--va-primary-dark);
}

.va-single-product__purchase-note svg {
	width: 15px;
	height: 15px;
	fill: currentColor;
}

.va-single-product__purchase-note p {
	margin: 0;
	color: #62736f;
	font-size: 9.5px;
	line-height: 1.8;
}

.va-single-product__assurances {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 7px;
}

.va-single-product__assurances > div {
	display: grid;
	grid-template-columns: 31px minmax(0, 1fr);
	align-items: center;
	gap: 7px;
	min-width: 0;
	padding: 9px;
	border-radius: 13px;
	background: var(--va-single-muted);
}

.va-single-product__assurances > div > span {
	display: grid;
	place-items: center;
	width: 31px;
	height: 31px;
	border-radius: 9px;
	background: #FFFFFF;
	color: var(--va-primary-dark);
}

.va-single-product__assurances svg {
	width: 16px;
	height: 16px;
	fill: currentColor;
}

.va-single-product__assurances p {
	display: grid;
	gap: 1px;
	min-width: 0;
	margin: 0;
}

.va-single-product__assurances b {
	font-size: 9.5px;
	font-weight: 650;
}

.va-single-product__assurances small {
	color: #7a8986;
	font-size: 8.5px;
	line-height: 1.5;
}

.va-single-product__meta {
	display: grid;
	gap: 8px;
	padding-top: 2px;
}

.va-single-product__meta > div {
	display: grid;
	grid-template-columns: 72px minmax(0, 1fr);
	align-items: start;
	gap: 8px;
	font-size: 10px;
}

.va-single-product__meta > div > span {
	color: #84928f;
}

.va-single-product__meta b {
	font-weight: 600;
	color: #425954;
}

.va-single-product__meta p {
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
	margin: 0;
}

.va-single-product__meta a {
	display: inline-flex;
	align-items: center;
	min-height: 25px;
	padding: 3px 8px;
	border-radius: 8px;
	background: var(--va-single-muted);
	color: #566c67;
	font-size: 9px;
}

.va-single-product__meta a:hover {
	background: var(--va-single-neutral);
	color: var(--va-primary-dark);
}

.va-single-product__extension:empty {
	display: none;
}

.va-single-product__extension {
	min-width: 0;
}

.va-single-product__spec-section,
.va-single-product__details-section,
.va-single-product__recommendations,
.va-single-product__extension--after-summary {
	margin-top: 22px;
	padding: clamp(16px, 2.2vw, 26px);
	border-radius: 24px;
	background: #FFFFFF;
}

.va-single-product__section-head {
	display: grid;
	gap: 2px;
	margin-bottom: 14px;
}

.va-single-product__section-head > span {
	color: var(--va-primary-dark);
	font-size: 9.5px;
	font-weight: 600;
}

.va-single-product__section-head h2 {
	margin: 0;
	font-size: clamp(18px, 2vw, 25px);
	font-weight: 700;
}

.va-single-product__spec-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 9px;
}

.va-single-product__spec-card {
	display: grid;
	grid-template-columns: 42px minmax(0, 1fr);
	align-items: center;
	gap: 10px;
	min-height: 78px;
	padding: 12px;
	border-radius: 16px;
	background: var(--va-single-muted);
}

.va-single-product__spec-icon {
	display: grid;
	place-items: center;
	width: 42px;
	height: 42px;
	border-radius: 12px;
	background: #FFFFFF;
	color: var(--va-primary-dark);
}

.va-single-product__spec-icon svg {
	width: 21px;
	height: 21px;
	fill: currentColor;
}

.va-single-product__spec-card > div {
	display: grid;
	gap: 2px;
	min-width: 0;
}

.va-single-product__spec-card small {
	color: #7a8b87;
	font-size: 9px;
}

.va-single-product__spec-card strong {
	overflow-wrap: anywhere;
	color: #29453f;
	font-size: 12px;
	font-weight: 650;
}

/* WooCommerce data tabs restyled as clean digital-product content cards. */
.woocommerce div.product.va-single-product .woocommerce-tabs {
	margin: 0;
}

.woocommerce div.product.va-single-product .woocommerce-tabs ul.tabs {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 6px;
	margin: 0 0 16px !important;
	padding: 0 !important;
}

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

.woocommerce div.product.va-single-product .woocommerce-tabs ul.tabs li {
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 10px !important;
	background: var(--va-single-muted) !important;
}

.woocommerce div.product.va-single-product .woocommerce-tabs ul.tabs li.active {
	background: var(--va-primary-darker) !important;
}

.woocommerce div.product.va-single-product .woocommerce-tabs ul.tabs li a {
	padding: 8px 12px !important;
	color: #586d68 !important;
	font-size: 10px;
	font-weight: 600;
}

.woocommerce div.product.va-single-product .woocommerce-tabs ul.tabs li.active a {
	color: #FFFFFF !important;
}

.woocommerce div.product.va-single-product .woocommerce-tabs .panel {
	margin: 0 !important;
	padding: 0 !important;
	color: #526964;
	font-size: 12px;
	line-height: 2;
}

.woocommerce div.product.va-single-product .woocommerce-tabs .panel > h2:first-child {
	margin-top: 0;
	font-size: 20px;
}

.woocommerce div.product.va-single-product table.shop_attributes {
	border: 0;
}

.woocommerce div.product.va-single-product table.shop_attributes th,
.woocommerce div.product.va-single-product table.shop_attributes td {
	padding: 10px 12px;
	border: 0;
	background: var(--va-single-muted);
}

.woocommerce div.product.va-single-product table.shop_attributes tr:nth-child(even) th,
.woocommerce div.product.va-single-product table.shop_attributes tr:nth-child(even) td {
	background: #E7E7E7;
}

.woocommerce div.product.va-single-product #reviews #comments ol.commentlist {
	padding: 0;
}

.woocommerce div.product.va-single-product #reviews #comments ol.commentlist li .comment-text {
	margin: 0 0 12px;
	padding: 12px;
	border: 0;
	border-radius: 14px;
	background: var(--va-single-muted);
}

.woocommerce div.product.va-single-product #review_form_wrapper {
	padding: 14px;
	border-radius: 16px;
	background: var(--va-single-neutral);
}

.woocommerce div.product.va-single-product #review_form_wrapper input,
.woocommerce div.product.va-single-product #review_form_wrapper textarea {
	border: 0;
	background: #FFFFFF;
	box-shadow: none;
}

.woocommerce div.product.va-single-product #review_form_wrapper .submit {
	border: 0 !important;
	border-radius: 11px !important;
	background: var(--va-primary) !important;
	color: #FFFFFF !important;
}

/* Related / upsell products inherit the archive card system. */
.va-single-product__recommendations > section + section {
	margin-top: 28px;
}

.va-single-product__recommendations .products > h2,
.va-single-product__recommendations > section > h2,
.va-single-product__recommendations .related > h2,
.va-single-product__recommendations .up-sells > h2 {
	margin: 0 0 14px;
	font-size: clamp(17px, 2vw, 23px);
	font-weight: 700;
}

.va-single-product__recommendations ul.products {
	margin-bottom: 0 !important;
}

.va-single-video-dialog .va-card-video-dialog__shell {
	width: min(920px, calc(100vw - 30px));
}

@media (max-width: 980px) {
	.va-single-product__hero {
		grid-template-columns: minmax(0, 1fr) minmax(310px, .9fr);
		gap: 22px;
	}

	.va-single-product__dynamic-tags,
	.va-single-product__assurances,
	.va-single-product__spec-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.va-single-product__assurances > div:last-child:nth-child(odd),
	.va-single-product__dynamic-tag:last-child:nth-child(odd),
	.va-single-product__spec-card:last-child:nth-child(odd) {
		grid-column: 1 / -1;
	}
}

@media (max-width: 780px) {
	.single-product .woocommerce > div.product.va-single-product {
		width: min(calc(100% - 28px), var(--va-container-limit, 1280px));
	}

	.va-single-product__hero {
		grid-template-columns: 1fr;
		padding: 14px;
		border-radius: 21px;
	}

	.va-single-product__media-column {
		order: 1;
	}

	.va-single-product__summary-column {
		order: 2;
	}

	.va-single-gallery__stage--portrait {
		max-width: min(100%, 500px);
	}

	.va-single-product__spec-section,
	.va-single-product__details-section,
	.va-single-product__recommendations,
	.va-single-product__extension--after-summary {
		margin-top: 14px;
		padding: 14px;
		border-radius: 19px;
	}
}

@media (max-width: 560px) {
	.va-single-product-page .va-site-main {
		padding-block: 6px 28px;
	}

	.va-single-product__breadcrumb {
		margin-block: 6px 10px;
	}

	.va-single-product__hero {
		gap: 16px;
	}

	.va-single-gallery__stage {
		padding: 8px;
		border-radius: 16px;
	}

	.va-single-gallery__stage--portrait {
		max-width: 100%;
	}

	.va-single-gallery__thumb {
		flex-basis: 62px;
		width: 62px;
		height: 62px;
	}

	.va-single-product__preview-actions,
	.va-single-product__dynamic-tags,
	.va-single-product__assurances,
	.va-single-product__spec-grid {
		grid-template-columns: 1fr;
	}

	.va-single-product__preview-actions > :only-child,
	.va-single-product__assurances > div:last-child:nth-child(odd),
	.va-single-product__dynamic-tag:last-child:nth-child(odd),
	.va-single-product__spec-card:last-child:nth-child(odd) {
		grid-column: auto;
	}

	.va-single-product__summary-column {
		gap: 12px;
	}

	.woocommerce div.product.va-single-product .va-single-product__title,
	.va-single-product__title {
		font-size: 23px;
	}

	.va-single-product__purchase-card {
		padding: 13px;
		border-radius: 16px;
	}

	.va-single-product__price-row {
		align-items: flex-start;
		flex-direction: column;
		gap: 4px;
	}

	.va-single-product__cart-area form.cart {
		display: grid;
		grid-template-columns: 64px minmax(0, 1fr);
	}

	.va-single-product__cart-area form.variations_form,
	.va-single-product__cart-area form.grouped_form {
		display: block;
	}

	.va-single-product__cart-area .quantity .qty {
		width: 64px;
	}

	.va-single-product__meta > div {
		grid-template-columns: 1fr;
		gap: 3px;
	}

	.woocommerce div.product.va-single-product .woocommerce-tabs ul.tabs {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.woocommerce div.product.va-single-product .woocommerce-tabs ul.tabs li a {
		display: block;
		text-align: center;
	}
}

/* Neutralize WooCommerce's legacy floated summary inside the custom grid. */
.woocommerce div.product.va-single-product div.summary.va-single-product__summary-column {
	float: none;
	width: auto;
	margin: 0;
	clear: none;
}

/* ========================================================================== 
   Voice Art v0.9.5 — manual Shop shortcuts + reference-inspired single product
   ========================================================================== */

/* Shop: filter chips have a visible neutral surface, while the complete
   desktop filter column scrolls naturally with the document. */
.va-shop-check-chip span {
	background: #F5F5F5 !important;
}

.va-shop-check-chip input:checked + span {
	background: var(--va-primary) !important;
	color: #fff !important;
}

@media (min-width: 981px) {
	.va-shop-filters,
	.va-shop-layout--left .va-shop-filters,
	.admin-bar .va-shop-filters {
		position: static !important;
		top: auto !important;
	}
}

/* Quick access is now a manual list of real links configured in Theme Settings. */
.va-shop-category-strip {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 7px;
}

.va-shop-category-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 34px;
	padding: 6px 13px;
	border: 0;
	border-radius: 10px;
	background: #fff;
	color: #536660;
	box-shadow: none;
	font-size: 11px;
	font-weight: 500;
	text-decoration: none;
	transition: background .18s ease, color .18s ease, transform .18s ease;
}

.va-shop-category-button:hover,
.va-shop-category-button:focus-visible {
	background: var(--va-primary);
	color: #fff;
	outline: 0;
	transform: translateY(-1px);
}

@media (max-width: 980px) {
	.va-shop-filters,
	.va-shop-layout--left .va-shop-filters,
	.admin-bar .va-shop-filters {
		position: fixed !important;
		top: 0 !important;
	}

	.va-shop-filters__head,
	.va-shop-filters__footer {
		position: static !important;
	}
}

/* Single product: container width comes from the same --va-container token
   used by the rest of the theme. This intentionally avoids a hard-coded
   product-page max width. */
.single-product .woocommerce > div.product.va-single-product--reference {
	box-sizing: border-box;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.va-single-product--reference > .va-single-product__container.va-container {
	width: min(calc(100% - 40px), var(--va-container)) !important;
	max-width: var(--va-container) !important;
	margin-inline: auto !important;
}

.va-single-product--reference {
	--va-single-surface: #FFFFFF;
	--va-single-muted: #F5F5F5;
	--va-single-neutral: #E7E7E7;
}

.va-single-product-page .va-site-main {
	padding-block: 12px 44px;
}

.va-single-product--reference .va-single-product__breadcrumb {
	margin: 0 0 10px;
	padding: 10px 14px;
	border-radius: 10px;
	background: var(--va-single-muted);
}

.va-single-product--reference .va-single-product__breadcrumb .woocommerce-breadcrumb {
	margin: 0;
	font-size: 10px;
	color: #899592;
}

/* Reference top area: artwork, information and purchase panel. */
.va-single-overview {
	display: grid;
	grid-template-columns: minmax(270px, .88fr) minmax(360px, 1.32fr) minmax(255px, .76fr);
	gap: clamp(16px, 2.3vw, 30px);
	align-items: start;
	padding: clamp(16px, 2vw, 24px);
	border-radius: 18px;
	background: var(--va-single-surface);
}

.va-single-overview__media,
.va-single-overview__info,
.va-single-overview__buy {
	min-width: 0;
}

.va-single-overview__media {
	display: grid;
	gap: 10px;
}

.va-single-sale-banner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	min-height: 38px;
	padding: 7px 12px;
	border-radius: 9px;
	background: #ff696f;
	color: #fff;
	font-size: 10px;
}

.va-single-sale-banner strong {
	font-weight: 650;
}

.va-single-sale-banner span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 38px;
	min-height: 24px;
	padding-inline: 7px;
	border-radius: 7px;
	background: rgba(255,255,255,.18);
	font-weight: 750;
}

.va-single-product--reference .va-single-gallery {
	display: grid;
	gap: 8px;
}

.va-single-product--reference .va-single-gallery__stage {
	width: 100%;
	max-width: 100%;
	aspect-ratio: var(--va-product-media-ratio, 1 / 1);
	margin-inline: auto;
	padding: clamp(10px, 1.5vw, 18px);
	border-radius: 14px;
	background: var(--va-single-muted);
	overflow: hidden;
}

.va-single-product--reference .va-single-gallery__stage--portrait {
	max-width: 380px;
}

.va-single-product--reference .va-single-gallery__stage--square {
	max-width: 440px;
}

.va-single-product--reference .va-single-gallery__stage--landscape,
.va-single-product--reference .va-single-gallery__stage--adaptive {
	max-width: 100%;
}

.va-single-product--reference .va-single-gallery__main-link {
	display: grid;
	place-items: center;
	width: 100%;
	height: 100%;
}

.va-single-product--reference .va-single-gallery__main-image,
.va-single-product--reference .va-single-gallery__placeholder img {
	display: block;
	width: auto !important;
	max-width: 100% !important;
	height: auto !important;
	max-height: 100% !important;
	margin: 0 !important;
	object-fit: contain !important;
	object-position: center !important;
	border-radius: 10px;
}

.va-single-product--reference .va-single-gallery__thumbs {
	display: flex;
	gap: 6px;
	overflow-x: auto;
	padding: 1px 0 3px;
}

.va-single-product--reference .va-single-gallery__thumb {
	flex: 0 0 58px;
	width: 58px;
	height: 58px;
	padding: 4px;
	border: 0;
	border-radius: 10px;
	background: var(--va-single-muted);
	opacity: .65;
}

.va-single-product--reference .va-single-gallery__thumb.is-active,
.va-single-product--reference .va-single-gallery__thumb:hover,
.va-single-product--reference .va-single-gallery__thumb:focus-visible {
	background: var(--va-single-neutral);
	opacity: 1;
	outline: 0;
}

.va-single-overview__info {
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding-top: 3px;
}

.va-single-product--reference .va-single-product__type-row {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

.va-single-product--reference .va-single-product__type-row > span {
	min-height: 27px;
	padding: 4px 9px;
	border-radius: 8px;
	background: var(--va-single-muted);
	color: #5f706d;
	font-size: 9px;
	font-weight: 550;
}

.va-single-product--reference .va-single-product__type-row .va-single-product__type-badge {
	background: var(--va-primary);
	color: #fff;
}

.woocommerce div.product.va-single-product--reference .va-single-product__title,
.va-single-product--reference .va-single-product__title {
	margin: 0;
	color: #243c38;
	font-size: clamp(21px, 2vw, 31px);
	font-weight: 750;
	line-height: 1.55;
}

.va-single-product__micro-meta {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 7px 12px;
	color: #7b8986;
	font-size: 9.5px;
}

.va-single-product__micro-meta > span {
	display: inline-flex;
	align-items: center;
	gap: 5px;
}

.va-single-product__micro-meta a {
	color: var(--va-primary-dark);
}

.va-single-product--reference .va-single-product__rating {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	font-size: inherit;
}

.va-single-product--reference .va-single-product__dynamic-tags {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 6px;
}

.va-single-product--reference .va-single-product__dynamic-tag {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	align-items: center;
	gap: 7px;
	min-height: 36px;
	padding: 7px 9px;
	border-radius: 9px;
	background: var(--va-single-muted);
}

.va-single-product--reference .va-single-product__dynamic-tag:last-child:nth-child(odd) {
	grid-column: 1 / -1;
}

.va-single-product--reference .va-single-product__dynamic-tag small {
	color: #899491;
	font-size: 8.5px;
	white-space: nowrap;
}

.va-single-product--reference .va-single-product__dynamic-tag b {
	overflow-wrap: anywhere;
	color: #405650;
	font-size: 9.5px;
	font-weight: 650;
	text-align: end;
}

.va-single-audio-preview {
	display: grid;
	grid-template-columns: 34px minmax(0, 1fr) auto;
	align-items: center;
	gap: 9px;
	min-height: 52px;
	padding: 8px 10px;
	border-radius: 10px;
	background: var(--va-single-muted);
}

.va-single-audio-preview__play {
	display: grid;
	place-items: center;
	width: 34px;
	height: 34px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: #fff;
	color: var(--va-primary-dark);
	cursor: pointer;
}

.va-single-audio-preview__play.is-playing {
	background: var(--va-primary);
	color: #fff;
}

.va-single-audio-preview__play svg {
	width: 16px;
	height: 16px;
	fill: currentColor;
}

.va-single-audio-preview__body {
	display: grid;
	gap: 4px;
	min-width: 0;
}

.va-single-audio-preview__body b {
	font-size: 9px;
	font-weight: 600;
}

.va-single-audio-preview__wave {
	display: block;
	height: 16px;
	border-radius: 4px;
	background: repeating-linear-gradient(90deg, #95a39f 0 2px, transparent 2px 5px);
	-webkit-mask-image: linear-gradient(180deg, transparent 6%, #000 48%, transparent 94%);
	mask-image: linear-gradient(180deg, transparent 6%, #000 48%, transparent 94%);
	opacity: .68;
}

.va-single-audio-preview > small {
	color: #8a9693;
	font-size: 8px;
}

.va-single-video-jump {
	display: inline-flex;
	align-items: center;
	align-self: flex-start;
	gap: 7px;
	min-height: 32px;
	padding: 5px 9px;
	border-radius: 8px;
	background: var(--va-single-muted);
	color: var(--va-primary-dark);
	font-size: 9.5px;
	font-weight: 600;
}

.va-single-video-jump span {
	display: grid;
	place-items: center;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: var(--va-primary);
	color: #fff;
	font-size: 8px;
}

.va-single-product--reference .va-single-product__excerpt {
	max-height: 120px;
	overflow: auto;
	color: #667873;
	font-size: 10.5px;
	line-height: 1.95;
}

.va-single-product--reference .va-single-product__excerpt p {
	margin: 0;
}

.va-single-overview__buy {
	display: grid;
	gap: 10px;
}

.va-single-buy-card {
	display: grid;
	gap: 12px;
	padding: 14px;
	border-radius: 14px;
	background: var(--va-single-muted);
}

.va-single-buy-card__eyebrow {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	color: #72817d;
	font-size: 9px;
}

.va-single-buy-card__eyebrow b {
	padding: 3px 7px;
	border-radius: 7px;
	background: #ff696f;
	color: #fff;
	font-size: 8px;
}

.va-single-buy-card__price {
	display: grid;
	gap: 3px;
	padding: 10px;
	border-radius: 10px;
	background: #fff;
}

.va-single-buy-card__price small {
	color: #899592;
	font-size: 8.5px;
}

.woocommerce div.product.va-single-product--reference .va-single-buy-card__price .price,
.woocommerce div.product.va-single-product--reference .va-single-buy-card__price .price * {
	margin: 0;
	color: var(--va-primary-dark) !important;
	font-size: clamp(16px, 1.6vw, 22px) !important;
	font-weight: 750 !important;
}

.woocommerce div.product.va-single-product--reference .va-single-buy-card__price .price del,
.woocommerce div.product.va-single-product--reference .va-single-buy-card__price .price del * {
	color: #9aa4a1 !important;
	font-size: 10px !important;
	font-weight: 450 !important;
}

.va-single-product--reference .va-single-product__cart-area form.cart {
	display: grid;
	grid-template-columns: 58px minmax(0, 1fr);
	gap: 7px;
	margin: 0 !important;
}

.va-single-product--reference .va-single-product__cart-area form.cart .quantity {
	float: none !important;
	margin: 0 !important;
}

.va-single-product--reference .va-single-product__cart-area .quantity .qty {
	width: 58px;
	height: 42px;
	border: 0;
	border-radius: 9px;
	background: #fff;
	box-shadow: none;
}

.woocommerce div.product.va-single-product--reference .va-single-product__cart-area .single_add_to_cart_button,
.woocommerce div.product.va-single-product--reference .va-single-product__cart-area button.button,
.woocommerce div.product.va-single-product--reference .va-single-product__cart-area a.button {
	min-height: 42px;
	margin: 0 !important;
	padding: 8px 10px !important;
	border: 0 !important;
	border-radius: 9px !important;
	background: var(--va-primary) !important;
	color: #fff !important;
	box-shadow: none !important;
	font-size: 10px !important;
	font-weight: 650 !important;
}

.va-single-product--reference .va-single-product__cart-area form.variations_form,
.va-single-product--reference .va-single-product__cart-area form.grouped_form {
	display: block;
}

.va-single-product--reference .va-single-product__cart-area table.variations,
.va-single-product--reference .va-single-product__cart-area table.group_table {
	margin-bottom: 8px;
}

.va-single-buy-card__facts {
	display: grid;
	gap: 6px;
	margin: 0;
	padding: 0;
	list-style: none;
	color: #667773;
	font-size: 9px;
}

.va-single-buy-card__facts li {
	display: flex;
	align-items: center;
	gap: 6px;
}

.va-single-buy-card__facts span {
	display: grid;
	place-items: center;
	width: 18px;
	height: 18px;
	border-radius: 6px;
	background: #fff;
	color: var(--va-primary-dark);
	font-weight: 800;
}

.va-single-buy-card__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
}

.va-single-buy-card__tags a {
	padding: 3px 7px;
	border-radius: 7px;
	background: #fff;
	color: #6f7f7b;
	font-size: 8px;
}

/* Product contents summary, inspired by the middle reference card. */
.va-single-includes {
	display: grid;
	grid-template-columns: minmax(180px, .38fr) minmax(0, 1fr);
	gap: 22px;
	align-items: center;
	margin-top: 10px;
	padding: 16px 20px;
	border-radius: 14px;
	background: var(--va-single-surface);
}

.va-single-includes__head {
	display: grid;
	gap: 2px;
}

.va-single-includes__head > span {
	color: var(--va-primary-dark);
	font-size: 8.5px;
	font-weight: 650;
}

.va-single-includes__head h2 {
	margin: 0;
	font-size: 15px;
	font-weight: 700;
}

.va-single-includes__items {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 7px;
}

.va-single-includes__items > span {
	display: grid;
	gap: 2px;
	min-width: 0;
	padding: 9px 10px;
	border-radius: 9px;
	background: var(--va-single-muted);
	color: #7c8986;
	font-size: 8px;
}

.va-single-includes__items b {
	overflow-wrap: anywhere;
	color: #3e5550;
	font-size: 9.5px;
	font-weight: 650;
}

/* Three benefit cards like the reference, but with digital-store semantics. */
.va-single-benefits {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
	margin-top: 10px;
}

.va-single-benefit {
	display: grid;
	grid-template-columns: 36px minmax(0, 1fr);
	gap: 10px;
	align-items: start;
	min-width: 0;
	padding: 14px;
	border-radius: 12px;
	background: var(--va-single-surface);
}

.va-single-benefit__icon {
	display: grid;
	place-items: center;
	width: 36px;
	height: 36px;
	border-radius: 10px;
	background: var(--va-single-muted);
	color: var(--va-primary-dark);
}

.va-single-benefit__icon svg {
	width: 17px;
	height: 17px;
	fill: currentColor;
}

.va-single-benefit h3 {
	margin: 0 0 4px;
	font-size: 10px;
	font-weight: 700;
}

.va-single-benefit p {
	margin: 0;
	color: #7b8986;
	font-size: 8.5px;
	line-height: 1.85;
}

/* Main content + compact purchase card, matching the lower reference layout. */
.va-single-content-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(250px, 285px);
	gap: 10px;
	align-items: start;
	margin-top: 10px;
}

.va-single-content-layout__main {
	display: grid;
	gap: 10px;
	min-width: 0;
}

.va-single-preview-card,
.va-single-product--reference .va-single-product__details-section,
.va-single-mini-buy,
.va-single-product--reference .va-single-product__recommendations,
.va-single-product--reference .va-single-product__extension--after-summary {
	padding: 14px;
	border-radius: 14px;
	background: var(--va-single-surface);
}

.va-single-preview-card {
	display: grid;
	gap: 10px;
}

.va-single-preview-card header {
	display: grid;
	gap: 2px;
}

.va-single-preview-card header span {
	color: var(--va-primary-dark);
	font-size: 8.5px;
	font-weight: 650;
}

.va-single-preview-card header h2 {
	margin: 0;
	font-size: 15px;
	font-weight: 700;
}

.va-single-preview-card__media {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
	border-radius: 11px;
	background: #202824;
	overflow: hidden;
}

.va-single-preview-card__media iframe,
.va-single-preview-card__media video {
	display: block;
	width: 100% !important;
	height: 100% !important;
	border: 0;
	object-fit: contain;
}

.va-single-preview-card__media > a {
	display: grid;
	place-items: center;
	height: 100%;
	color: #fff;
}

.va-single-product--reference .va-single-product__details-section {
	margin-top: 0;
}

.va-single-product--reference .woocommerce-tabs .panel {
	font-size: 10.5px !important;
	line-height: 2 !important;
}

.va-single-product--reference .woocommerce-tabs ul.tabs {
	margin-bottom: 12px !important;
}

.va-single-product--reference .woocommerce-tabs ul.tabs li {
	background: var(--va-single-muted) !important;
}

.va-single-mini-buy {
	padding: 10px;
}

.va-single-mini-buy__image {
	display: grid;
	place-items: center;
	min-height: 170px;
	padding: 10px;
	border-radius: 11px;
	background: var(--va-single-muted);
}

.va-single-mini-buy__image img {
	display: block;
	width: auto;
	max-width: 100%;
	height: auto;
	max-height: 220px;
	object-fit: contain;
}

.va-single-mini-buy__body {
	display: grid;
	gap: 8px;
	padding: 10px 4px 3px;
}

.va-single-mini-buy__body > span {
	color: var(--va-primary-dark);
	font-size: 8px;
	font-weight: 650;
}

.va-single-mini-buy__body h3 {
	margin: 0;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.7;
}

.va-single-mini-buy__specs {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 5px;
}

.va-single-mini-buy__specs span {
	display: grid;
	gap: 1px;
	padding: 6px 7px;
	border-radius: 8px;
	background: var(--va-single-muted);
}

.va-single-mini-buy__specs span:last-child:nth-child(odd) {
	grid-column: 1 / -1;
}

.va-single-mini-buy__specs small {
	color: #8a9693;
	font-size: 7.5px;
}

.va-single-mini-buy__specs b {
	overflow-wrap: anywhere;
	color: #4d625d;
	font-size: 8.5px;
	font-weight: 650;
}

.woocommerce div.product.va-single-product--reference .va-single-mini-buy__body > .price,
.woocommerce div.product.va-single-product--reference .va-single-mini-buy__body > .price * {
	color: var(--va-primary-dark) !important;
	font-size: 14px !important;
	font-weight: 750 !important;
}

.va-single-mini-buy__button {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	min-height: 39px;
	border: 0 !important;
	border-radius: 9px !important;
	background: var(--va-primary) !important;
	color: #fff !important;
	box-shadow: none !important;
	font-size: 9.5px !important;
	font-weight: 650 !important;
}

.va-single-product--reference .va-single-product__recommendations {
	margin-top: 10px;
}

.va-single-product--reference .va-single-product__recommendations > section > h2,
.va-single-product--reference .va-single-product__recommendations .related > h2,
.va-single-product--reference .va-single-product__recommendations .up-sells > h2 {
	font-size: 16px;
}

.va-single-product--reference .va-single-product__extension--after-summary {
	margin-top: 10px;
}

@media (max-width: 1120px) {
	.va-single-overview {
		grid-template-columns: minmax(280px, .9fr) minmax(0, 1.1fr);
	}

	.va-single-overview__buy {
		grid-column: 1 / -1;
	}

	.va-single-buy-card {
		grid-template-columns: minmax(180px, .6fr) minmax(260px, 1fr) minmax(260px, 1fr);
		align-items: center;
	}

	.va-single-buy-card__eyebrow,
	.va-single-buy-card__facts,
	.va-single-buy-card__tags {
		grid-column: auto;
	}

	.va-single-buy-card__tags {
		display: none;
	}

	.va-single-includes__items {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 820px) {
	.va-single-product--reference > .va-single-product__container.va-container {
		width: min(calc(100% - 28px), var(--va-container)) !important;
	}

	.va-single-overview {
		grid-template-columns: 1fr;
		gap: 16px;
		padding: 14px;
	}

	.va-single-overview__media,
	.va-single-overview__info,
	.va-single-overview__buy {
		grid-column: auto;
	}

	.va-single-buy-card {
		grid-template-columns: 1fr;
	}

	.va-single-includes {
		grid-template-columns: 1fr;
		gap: 10px;
	}

	.va-single-benefits {
		grid-template-columns: 1fr;
	}

	.va-single-content-layout {
		grid-template-columns: 1fr;
	}

	.va-single-content-layout__aside {
		order: -1;
	}

	.va-single-mini-buy {
		display: grid;
		grid-template-columns: 150px minmax(0, 1fr);
		gap: 10px;
	}

	.va-single-mini-buy__image {
		min-height: 150px;
	}
}

@media (max-width: 560px) {
	.va-single-product--reference > .va-single-product__container.va-container {
		width: min(calc(100% - 20px), var(--va-container)) !important;
	}

	.va-single-product--reference .va-single-product__breadcrumb {
		padding: 8px 10px;
	}

	.va-single-product--reference .va-single-product__dynamic-tags,
	.va-single-includes__items {
		grid-template-columns: 1fr;
	}

	.va-single-product--reference .va-single-product__dynamic-tag:last-child:nth-child(odd) {
		grid-column: auto;
	}

	.va-single-product--reference .va-single-product__cart-area form.cart {
		grid-template-columns: 54px minmax(0, 1fr);
	}

	.va-single-mini-buy {
		grid-template-columns: 1fr;
	}

	.va-single-mini-buy__image {
		min-height: 190px;
	}

	.va-single-preview-card,
	.va-single-product--reference .va-single-product__details-section,
	.va-single-mini-buy,
	.va-single-product--reference .va-single-product__recommendations,
	.va-single-product--reference .va-single-product__extension--after-summary {
		padding: 11px;
		border-radius: 11px;
	}
}

/* ========================================================================
   Voice Art v0.9.6 — refined single product purchase experience
   ======================================================================== */

.va-single-product--reference {
	--va-single-sale: #ff696f;
	--va-single-ink: #263d39;
}

/* Slightly roomier typography: the previous reference pass was too small. */
.va-single-product--reference .va-single-product__breadcrumb .woocommerce-breadcrumb {
	font-size: 11.5px;
}

.va-single-product--reference .va-single-product__type-row > span {
	min-height: 30px;
	padding: 5px 11px;
	font-size: 11px;
}

.woocommerce div.product.va-single-product--reference .va-single-product__title,
.va-single-product--reference .va-single-product__title {
	font-size: clamp(24px, 2.25vw, 34px);
}

.va-single-product--reference .va-single-product__micro-meta {
	gap: 9px 14px;
	font-size: 11.5px;
}

/* Make an existing WooCommerce rating unmistakably visible at the top. */
.va-single-product--reference .va-single-product__rating {
	gap: 8px;
}

.va-single-product--reference .va-single-product__rating .star-rating {
	width: 6.2em;
	margin: 0;
	font-size: 14px;
	letter-spacing: 1px;
	color: #f4ae2b;
}

.va-single-product--reference .va-single-product__rating .star-rating::before,
.va-single-product--reference .va-single-product__rating .star-rating span::before {
	color: #f4ae2b;
}

.va-single-product--reference .va-single-product__rating a,
.va-single-product--reference .va-single-product__review-link a {
	font-weight: 600;
}

/* Product artwork itself has no background surface. Intrinsic image ratio is
   still supplied by PHP/JS so square, portrait and landscape files stay safe. */
.va-single-product--reference .va-single-gallery__stage {
	padding: 4px;
	background: transparent !important;
	border-radius: 0;
}

.va-single-product--reference .va-single-gallery__main-image,
.va-single-product--reference .va-single-gallery__placeholder img {
	border-radius: 0;
}

.va-single-product--reference .va-single-gallery__thumb {
	background: #F5F5F5;
}

/* Dynamic attributes sit immediately beside the artwork, as in the supplied
   reference, and are large enough to scan without zooming. */
.va-single-product--reference .va-single-product__dynamic-tags {
	gap: 8px;
}

.va-single-product--reference .va-single-product__dynamic-tag {
	min-height: 44px;
	padding: 9px 11px;
	border-radius: 10px;
	background: #F5F5F5;
}

.va-single-product--reference .va-single-product__dynamic-tag small {
	font-size: 10.5px;
}

.va-single-product--reference .va-single-product__dynamic-tag b {
	font-size: 12px;
}

.va-single-product--reference .va-single-product__excerpt {
	max-height: 170px;
	font-size: 13px;
	line-height: 2;
}

.va-single-product--reference .va-single-video-jump {
	min-height: 36px;
	padding: 6px 11px;
	font-size: 11.5px;
}

/* ------------------------------------------------------------------------
   Graphic audio player: play button fixed to the left, waveform/progress,
   seek support, elapsed time and duration. No descriptive labels around it.
   ------------------------------------------------------------------------ */
.va-single-audio-player {
	--va-audio-progress: 0%;
	direction: ltr;
	display: grid;
	grid-template-columns: 50px minmax(0, 1fr) auto;
	align-items: center;
	gap: 12px;
	min-height: 72px;
	padding: 10px 12px;
	border-radius: 15px;
	background: #F5F5F5;
	box-shadow: 0 12px 30px rgba(28, 57, 51, .06);
}

.va-single-audio-player__play {
	display: grid;
	place-items: center;
	width: 50px;
	height: 50px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: var(--va-primary);
	color: #fff;
	box-shadow: 0 8px 20px rgba(47, 159, 144, .24);
	cursor: pointer;
	transition: transform .18s ease, box-shadow .18s ease;
}

.va-single-audio-player__play:hover,
.va-single-audio-player__play:focus-visible {
	transform: translateY(-1px);
	box-shadow: 0 10px 24px rgba(47, 159, 144, .3);
	outline: 0;
}

.va-single-audio-player__play svg {
	width: 21px;
	height: 21px;
	fill: currentColor;
}

.va-single-audio-player__pause-icon {
	display: none;
}

.va-single-audio-player__play.is-playing .va-single-audio-player__play-icon {
	display: none;
}

.va-single-audio-player__play.is-playing .va-single-audio-player__pause-icon {
	display: block;
}

.va-single-audio-player__timeline {
	position: relative;
	height: 38px;
	min-width: 0;
}

.va-single-audio-player__wave,
.va-single-audio-player__wave i {
	position: absolute;
	inset: 5px 0;
	display: block;
	border-radius: 5px;
	-webkit-mask-image: linear-gradient(180deg, transparent 4%, #000 22%, #000 78%, transparent 96%);
	mask-image: linear-gradient(180deg, transparent 4%, #000 22%, #000 78%, transparent 96%);
}

.va-single-audio-player__wave {
	background: repeating-linear-gradient(90deg, #c8d1cf 0 3px, transparent 3px 6px);
}

.va-single-audio-player__wave i {
	inset: 0 auto 0 0;
	width: var(--va-audio-progress);
	background: repeating-linear-gradient(90deg, var(--va-primary) 0 3px, transparent 3px 6px);
	transition: width .08s linear;
}

.va-single-audio-player__timeline input[type="range"] {
	position: absolute;
	inset: 0;
	z-index: 2;
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	appearance: none;
	-webkit-appearance: none;
	background: transparent;
	cursor: pointer;
	opacity: .001;
}

.va-single-audio-player__time {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	min-width: 88px;
	color: #64736f;
	font-size: 11px;
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}

.va-single-audio-player__time i {
	font-style: normal;
	opacity: .45;
}

/* ------------------------------------------------------------------------
   Sale timer + ticket price, based closely on the user's visual reference.
   ------------------------------------------------------------------------ */
.va-single-buy-card {
	gap: 13px;
	padding: 16px;
	background: #F5F5F5;
}

.va-single-sale-countdown {
	position: relative;
	padding: 19px 12px 13px;
	border: 1px dashed var(--va-single-sale);
	border-radius: 13px;
}

.va-single-sale-countdown__title {
	position: absolute;
	top: -10px;
	inset-inline: 12px;
	display: flex;
	align-items: center;
	gap: 8px;
	color: var(--va-single-sale);
	font-size: 11px;
	white-space: nowrap;
}

.va-single-sale-countdown__title::before,
.va-single-sale-countdown__title::after {
	content: "";
	height: 1px;
	flex: 1 1 auto;
	background: repeating-linear-gradient(90deg, var(--va-single-sale) 0 4px, transparent 4px 7px);
	opacity: .65;
}

.va-single-sale-countdown__title span {
	padding-inline: 3px;
	background: #F5F5F5;
}

.va-single-sale-countdown__boxes {
	direction: ltr;
	display: flex;
	justify-content: center;
	gap: 4px;
}

.va-single-sale-countdown__boxes > span {
	direction: rtl;
	display: grid;
	place-items: center;
	align-content: center;
	width: 56px;
	height: 58px;
	border-radius: 8px;
	background: var(--va-single-sale);
	color: #fff;
}

.va-single-sale-countdown__boxes small {
	font-size: 9.5px;
	font-weight: 700;
	line-height: 1.2;
}

.va-single-sale-countdown__boxes b {
	font-size: 18px;
	font-weight: 800;
	line-height: 1.25;
	font-variant-numeric: tabular-nums;
}

.va-single-sale-label {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	min-height: 36px;
	padding: 7px 10px;
	border-radius: 9px;
	background: var(--va-single-sale);
	color: #fff;
	font-size: 11px;
	font-weight: 650;
}

.va-single-sale-label b {
	padding: 3px 7px;
	border-radius: 7px;
	background: rgba(255,255,255,.18);
}

.va-single-price-ticket {
	position: relative;
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	align-items: center;
	gap: 14px;
	min-height: 78px;
	padding: 13px 22px;
	border-radius: 9px;
	background:
		repeating-linear-gradient(90deg, #dfe4e2 0 5px, transparent 5px 9px) top / 100% 1px no-repeat,
		repeating-linear-gradient(90deg, #dfe4e2 0 5px, transparent 5px 9px) bottom / 100% 1px no-repeat,
		#fff;
	overflow: visible;
}

.va-single-price-ticket::before,
.va-single-price-ticket::after {
	content: "";
	position: absolute;
	top: 50%;
	width: 27px;
	height: 40px;
	margin-top: -20px;
	border-radius: 50%;
	background: #F5F5F5;
	box-shadow: inset 0 0 0 1px #e3e7e5;
}

.va-single-price-ticket::before {
	right: -14px;
}

.va-single-price-ticket::after {
	left: -14px;
}

.va-single-price-ticket__label {
	padding-inline-start: 2px;
	color: #6f7d79;
	font-size: 13px;
	font-weight: 550;
	white-space: nowrap;
}

.va-single-price-ticket__value {
	display: grid;
	justify-items: start;
	gap: 2px;
	min-width: 0;
}

.va-single-price-ticket__value del,
.va-single-price-ticket__value del * {
	color: #8e9895 !important;
	font-size: 11px !important;
	font-weight: 450 !important;
}

.va-single-price-ticket__value strong,
.woocommerce div.product.va-single-product--reference .va-single-price-ticket__value strong .amount,
.woocommerce div.product.va-single-product--reference .va-single-price-ticket__value strong .amount * {
	color: #009f90 !important;
	font-size: clamp(19px, 1.8vw, 25px) !important;
	font-weight: 800 !important;
	line-height: 1.35;
}

.va-single-price-ticket__value strong > .price,
.va-single-price-ticket__value strong .price,
.va-single-price-ticket__value strong .price * {
	margin: 0 !important;
	color: #009f90 !important;
}

/* Digital products are sold as one entitlement/download in this theme. The
   reference purchase card therefore keeps the CTA full width. */
.va-single-product--reference .va-single-product__cart-area form.cart {
	display: block;
	margin: 0 !important;
}

.va-single-product--reference .va-single-product__cart-area form.cart .quantity {
	display: none !important;
}

.woocommerce div.product.va-single-product--reference .va-single-product__cart-area .single_add_to_cart_button,
.woocommerce div.product.va-single-product--reference .va-single-product__cart-area button.button,
.woocommerce div.product.va-single-product--reference .va-single-product__cart-area a.button {
	width: 100%;
	min-height: 48px;
	border-radius: 10px !important;
	font-size: 13px !important;
	font-weight: 750 !important;
}

.va-single-buy-card__facts {
	gap: 8px;
	font-size: 11.5px;
}

.va-single-buy-card__facts span {
	width: 21px;
	height: 21px;
}

.va-single-buy-card__tags a {
	padding: 4px 8px;
	font-size: 10px;
}

/* Content text and supporting cards receive the same readability lift. */
.va-single-includes__head > span,
.va-single-preview-card header span {
	font-size: 10.5px;
}

.va-single-includes__head h2,
.va-single-preview-card header h2 {
	font-size: 17px;
}

.va-single-includes__items > span {
	font-size: 10px;
}

.va-single-includes__items b {
	font-size: 12px;
}

.va-single-benefit h3 {
	font-size: 12.5px;
}

.va-single-benefit p {
	font-size: 10.5px;
	line-height: 1.95;
}

/* The lower content column is intentionally narrower and the purchase sidebar
   wider than v0.9.5. */
.va-single-content-layout {
	grid-template-columns: minmax(0, 1fr) minmax(320px, 38%);
	gap: 14px;
}

.va-single-preview-card__media {
	width: min(100%, 660px);
	margin-inline: auto;
}

.va-single-product--reference .woocommerce-tabs .panel {
	font-size: 13px !important;
	line-height: 2.05 !important;
}

.va-single-product--reference .woocommerce-tabs ul.tabs li a {
	font-size: 11.5px;
}

.va-single-mini-buy {
	padding: 13px;
}

.va-single-mini-buy__image {
	min-height: 200px;
	padding: 8px;
	background: transparent;
}

.va-single-mini-buy__body > span {
	font-size: 10px;
}

.va-single-mini-buy__body h3 {
	font-size: 14px;
}

.va-single-mini-buy__specs small {
	font-size: 9px;
}

.va-single-mini-buy__specs b {
	font-size: 10.5px;
}

.woocommerce div.product.va-single-product--reference .va-single-mini-buy__body > .price,
.woocommerce div.product.va-single-product--reference .va-single-mini-buy__body > .price * {
	font-size: 16px !important;
}

.va-single-mini-buy__button {
	min-height: 43px;
	font-size: 11.5px !important;
}

/* Reviews live as a full, dedicated section at the end instead of a tab. */
.va-single-reviews-section {
	margin-top: 12px;
	padding: clamp(16px, 2vw, 24px);
	border-radius: 14px;
	background: #fff;
}

.va-single-reviews-section #reviews,
.va-single-reviews-section #comments,
.va-single-reviews-section #review_form_wrapper {
	margin: 0;
}

.va-single-reviews-section #reviews #comments h2,
.va-single-reviews-section #review_form_wrapper .comment-reply-title {
	font-size: 17px;
	font-weight: 750;
}

.va-single-product--reference .va-single-reviews-section #reviews #comments ol.commentlist li .comment-text {
	font-size: 12px;
	line-height: 1.9;
}

.va-single-product--reference .va-single-reviews-section #review_form_wrapper {
	margin-top: 18px;
	padding: 16px;
	border-radius: 12px;
	background: #F5F5F5;
}

/* The last product rail is sale-driven, not WooCommerce related products. */
.va-single-product--reference .va-single-product__sale-products {
	margin-top: 12px;
}

.va-single-product--reference .va-single-product__sale-products > h2 {
	margin: 0 0 14px;
	font-size: 18px;
	font-weight: 750;
}

@media (max-width: 1120px) {
	.va-single-content-layout {
		grid-template-columns: minmax(0, 1fr) minmax(300px, 36%);
	}
}

@media (max-width: 900px) {
	.va-single-content-layout {
		grid-template-columns: 1fr;
	}

	.va-single-content-layout__aside {
		order: -1;
	}

	.va-single-preview-card__media {
		width: min(100%, 680px);
	}
}

@media (max-width: 560px) {
	.va-single-product--reference .va-single-product__micro-meta {
		font-size: 10.5px;
	}

	.va-single-audio-player {
		grid-template-columns: 46px minmax(0, 1fr);
		gap: 9px;
		padding: 9px 10px;
	}

	.va-single-audio-player__play {
		width: 46px;
		height: 46px;
	}

	.va-single-audio-player__time {
		grid-column: 2;
		justify-self: end;
		min-width: 0;
		margin-top: -8px;
		font-size: 10px;
	}

	.va-single-price-ticket {
		grid-template-columns: 1fr;
		gap: 6px;
		padding-inline: 22px;
	}

	.va-single-price-ticket__value {
		justify-items: start;
	}

	.va-single-sale-countdown__boxes > span {
		width: 52px;
		height: 56px;
	}

	.va-single-reviews-section {
		padding: 13px;
	}
}

/* v0.9.7: deterministic mini-cart layout and add-to-cart toast. */
html body .va-cart-dropdown ul.woocommerce-mini-cart li.woocommerce-mini-cart-item {
	direction: ltr !important;
	display: grid !important;
	grid-template-columns: 34px minmax(0, 1fr) !important;
	grid-template-rows: auto !important;
	align-items: center !important;
	gap: 10px !important;
	padding: 10px !important;
}

html body .va-cart-dropdown ul.woocommerce-mini-cart li.woocommerce-mini-cart-item > .va-mini-cart-remove {
	position: static !important;
	grid-column: 1 !important;
	grid-row: 1 !important;
	align-self: center !important;
	justify-self: start !important;
	float: none !important;
	inset: auto !important;
	margin: 0 !important;
	transform: none !important;
}

html body .va-cart-dropdown ul.woocommerce-mini-cart li.woocommerce-mini-cart-item > .va-mini-cart-product {
	direction: rtl !important;
	display: grid !important;
	grid-column: 2 !important;
	grid-row: 1 !important;
	grid-template-columns: 78px minmax(0, 1fr) !important;
	align-items: center !important;
	width: 100% !important;
	min-width: 0 !important;
}

.woocommerce a.added_to_cart.wc-forward,
.woocommerce a.added_to_cart {
	display: none !important;
}

.va-cart-toast {
	position: fixed;
	z-index: 10020;
	bottom: var(--va-cart-toast-bottom, 24px);
	left: var(--va-cart-toast-left, 24px);
	display: flex;
	align-items: center;
	gap: 10px;
	max-width: min(340px, calc(100vw - 24px));
	min-height: 50px;
	padding: 10px 14px;
	border: 1px solid #cfe3de;
	border-radius: 8px;
	background: #fff;
	color: var(--va-text);
	box-shadow: 0 14px 38px rgba(24, 48, 45, .16);
	font-size: .82rem;
	font-weight: 800;
	opacity: 0;
	pointer-events: none;
	transform: translateY(14px);
	transition: opacity 180ms ease, transform 180ms ease;
}

.va-cart-toast.is-visible {
	opacity: 1;
	transform: translateY(0);
}

.va-cart-toast__icon {
	display: grid;
	flex: 0 0 30px;
	width: 30px;
	height: 30px;
	place-items: center;
	border-radius: 50%;
	background: var(--va-primary-soft);
	color: var(--va-primary-dark);
}

.va-cart-toast__icon svg {
	width: 18px;
	height: 18px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 2.4;
}

/* Elementor search widget. */
.va-elementor-search {
	position: relative;
	width: 100%;
	margin-inline: auto;
}

.va-elementor-search__form {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	gap: 10px;
	min-height: 58px;
	padding: 6px 7px 6px 14px;
	border: 1px solid var(--va-border);
	background: #fff;
}

.va-elementor-search--pill .va-elementor-search__form { border-radius: 999px; }
.va-elementor-search--boxed .va-elementor-search__form { border-radius: 8px; box-shadow: 0 12px 34px rgba(24, 48, 45, .1); }
.va-elementor-search--underline .va-elementor-search__form { padding-inline: 0; border-width: 0 0 2px; border-radius: 0; background: transparent; }

.va-elementor-search__leading {
	display: grid;
	width: 22px;
	height: 22px;
	place-items: center;
	color: var(--va-muted);
}

.va-elementor-search__leading svg,
.va-elementor-search__submit svg { width: 19px; height: 19px; fill: currentColor; }

.va-elementor-search__input {
	width: 100%;
	min-width: 0;
	height: 100%;
	padding: 0;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: var(--va-text);
	font: inherit;
	outline: none;
}

.va-elementor-search__submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	min-width: 46px;
	min-height: 44px;
	padding: 8px 16px;
	border: 0;
	border-radius: 999px;
	background: var(--va-primary);
	color: #fff;
	font: inherit;
	font-size: .78rem;
	font-weight: 800;
	cursor: pointer;
}

.va-elementor-search--boxed .va-elementor-search__submit { border-radius: 6px; }
.va-elementor-search--underline .va-elementor-search__submit { border-radius: 6px 6px 0 0; }

.va-elementor-search__results {
	top: calc(100% + 8px);
	inset-inline: 0;
	width: 100%;
}

/* Elementor post cards widget. */
.va-posts-widget { width: 100%; min-width: 0; }
.va-posts-widget__items { margin: 0; padding: 0; }

.va-posts-widget--grid .va-posts-widget__items {
	display: grid;
	grid-template-columns: repeat(var(--va-posts-columns, 3), minmax(0, 1fr));
	align-items: stretch;
}

.va-posts-widget--list .va-posts-widget__items { display: grid; grid-template-columns: 1fr; }

.va-posts-widget--masonry .va-posts-widget__items {
	display: block;
	columns: var(--va-posts-columns, 3);
	column-gap: 22px;
}

.va-posts-widget__card {
	display: flex;
	min-width: 0;
	height: 100%;
	overflow: hidden;
	flex-direction: column;
	border: 1px solid var(--va-border);
	border-radius: 8px;
	background: #fff;
	box-shadow: var(--va-shadow-sm);
}

.va-posts-widget--masonry .va-posts-widget__card {
	display: inline-flex;
	width: 100%;
	height: auto;
	margin: 0 0 22px;
	break-inside: avoid;
}

.va-posts-widget--list .va-posts-widget__card {
	display: grid;
	grid-template-columns: minmax(180px, 32%) minmax(0, 1fr);
	align-items: stretch;
}

.va-posts-widget__media {
	display: block;
	width: 100%;
	overflow: hidden;
	aspect-ratio: var(--va-posts-ratio, 16/9);
	background: var(--va-primary-soft);
}

.va-posts-widget--image-natural .va-posts-widget__media { aspect-ratio: auto; }
.va-posts-widget--list .va-posts-widget__media { height: 210px; aspect-ratio: auto; }

.va-posts-widget__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 220ms ease;
}

.va-posts-widget--image-natural:not(.va-posts-widget--list) .va-posts-widget__image { height: auto; object-fit: contain; }
.va-posts-widget--fit-contain .va-posts-widget__image { object-fit: contain; }
.va-posts-widget__card:hover .va-posts-widget__image { transform: scale(1.02); }
.va-posts-widget--image-natural .va-posts-widget__card:hover .va-posts-widget__image { transform: none; }

.va-posts-widget__placeholder { display: block; width: 100%; min-height: 180px; background: var(--va-primary-soft); }
.va-posts-widget__body { display: flex; min-width: 0; flex: 1; flex-direction: column; padding: 15px; }
.va-posts-widget__meta { display: flex; align-items: center; justify-content: space-between; gap: 8px; color: var(--va-muted); font-size: .7rem; }
.va-posts-widget__categories { display: flex; gap: 5px; min-width: 0; overflow: hidden; }
.va-posts-widget__categories a { overflow: hidden; padding: 3px 7px; border-radius: 6px; background: #f9f9f9; color: var(--va-primary-dark); text-overflow: ellipsis; white-space: nowrap; }
.va-posts-widget__title { margin: 8px 0 7px; font-size: 1rem; line-height: 1.65; }
.va-posts-widget__title a { color: var(--va-text); }
.va-posts-widget__excerpt { color: var(--va-muted); font-size: .82rem; line-height: 1.8; }
.va-posts-widget__more { display: inline-flex; align-items: center; gap: 5px; align-self: flex-start; margin-top: auto; padding-top: 12px; color: var(--va-primary-dark); font-size: .76rem; font-weight: 800; }
.va-posts-widget__more svg { width: 15px; height: 15px; fill: currentColor; }

.va-posts-widget__carousel { position: relative; padding-inline: 52px; }
.va-posts-widget__swiper { overflow: hidden; }
.va-posts-widget__swiper .va-posts-widget__items { display: flex; box-sizing: content-box; gap: 0 !important; }
.va-posts-widget__swiper .swiper-slide { flex: 0 0 auto; height: auto; }
.va-posts-widget__arrow { position: absolute; z-index: 3; top: 50%; display: grid; width: 42px; height: 42px; padding: 0; place-items: center; border: 1px solid var(--va-border); border-radius: 50%; background: #fff; color: var(--va-primary-dark); font-size: 28px; cursor: pointer; transform: translateY(-50%); }
.va-posts-widget__prev { left: 0; }
.va-posts-widget__next { right: 0; }
.va-posts-widget__pagination { position: static !important; display: flex; justify-content: center; gap: 6px; margin-top: 18px; }
.va-posts-widget__pagination .swiper-pagination-bullet { width: 8px; height: 8px; margin: 0 !important; background: #d7e4e1; opacity: 1; }
.va-posts-widget__pagination .swiper-pagination-bullet-active { width: 22px; border-radius: 999px; background: var(--va-primary); }
.va-posts-widget__page-nav { display: flex; justify-content: center; gap: 7px; margin-top: 26px; }
.va-posts-widget__page-nav .page-numbers { display: grid; min-width: 38px; height: 38px; padding: 0 8px; place-items: center; border: 1px solid var(--va-border); border-radius: 7px; background: #fff; color: var(--va-text); }
.va-posts-widget__page-nav .current { border-color: var(--va-primary); background: var(--va-primary); color: #fff; }
.va-posts-widget__empty { padding: 24px; border: 1px dashed var(--va-border); border-radius: 8px; text-align: center; }

@media (max-width: 1024px) {
	.va-posts-widget--grid .va-posts-widget__items { grid-template-columns: repeat(var(--va-posts-columns-tablet, 2), minmax(0, 1fr)); }
	.va-posts-widget--masonry .va-posts-widget__items { columns: var(--va-posts-columns-tablet, 2); }
}

@media (max-width: 767px) {
	.va-elementor-search__submit span { display: none; }
	.va-elementor-search__submit { padding-inline: 12px; }
	.va-posts-widget--grid .va-posts-widget__items { grid-template-columns: repeat(var(--va-posts-columns-mobile, 1), minmax(0, 1fr)); }
	.va-posts-widget--masonry .va-posts-widget__items { columns: var(--va-posts-columns-mobile, 1); }
	.va-posts-widget--list .va-posts-widget__card { grid-template-columns: 1fr; }
	.va-posts-widget--list .va-posts-widget__media { height: auto; aspect-ratio: var(--va-posts-ratio, 16/9); }
	.va-posts-widget__carousel { padding-inline: 0; padding-bottom: 48px; }
	.va-posts-widget__arrow { top: auto; bottom: 0; width: 38px; height: 38px; transform: none; }
	.va-posts-widget__prev { left: calc(50% - 44px); }
	.va-posts-widget__next { right: calc(50% - 44px); }
}

/* Natural featured-image sizing and masonry mode for native post archives. */
.va-post-archive--natural-image .va-post-card__media {
	aspect-ratio: auto !important;
	background: transparent;
}

.va-post-archive--natural-image .va-post-card__image--natural {
	display: block;
	width: 100%;
	height: auto !important;
	padding: 0;
	object-fit: contain !important;
	transform: none !important;
}

.va-post-archive--masonry .va-post-grid {
	display: block;
	columns: var(--va-post-archive-columns, 4);
	column-gap: 22px;
}

.va-post-archive--masonry.va-post-archive--columns-2 .va-post-grid { --va-post-archive-columns: 2; }
.va-post-archive--masonry.va-post-archive--columns-3 .va-post-grid { --va-post-archive-columns: 3; }
.va-post-archive--masonry.va-post-archive--columns-4 .va-post-grid { --va-post-archive-columns: 4; }
.va-post-archive--masonry.va-post-archive--columns-5 .va-post-grid { --va-post-archive-columns: 5; }

.va-post-archive--masonry .va-post-card {
	display: inline-block;
	width: 100%;
	margin: 0 0 22px;
	break-inside: avoid;
}

@media (max-width: 980px) {
	.va-post-archive--masonry .va-post-grid { columns: 2; }
}

@media (max-width: 620px) {
	.va-post-archive--masonry .va-post-grid { columns: 1; }
}

/* Prevent viewport-width decorations and transformed off-canvas UI from
   creating a persistent horizontal scrollbar. */
html,
body {
	max-width: 100%;
	overflow-x: clip;
}

@supports not (overflow: clip) {
	html,
	body { overflow-x: hidden; }
}
