/*
 * AV Tienda 0.10.32
 * CSS estructural. No impone familias tipográficas ni colores de identidad.
 */

.avt-products {
	--avt-cols-desktop: 4;
	--avt-cols-tablet: 2;
	--avt-cols-mobile: 1;
	--avt-grid-gap: 24px;
	--avt-grid-gap-x: var(--avt-grid-gap);
	--avt-grid-gap-y: 40px;
	--avt-card-radius: 8px;
	--avt-button-radius: 8px;
	--avt-elevated-border-width: 8px;
	--avt-radius: var(--avt-card-radius);
	--avt-card-bg: #fff;
	--avt-shadow: 0 8px 24px rgba(0, 0, 0, 0.10);
	box-sizing: border-box;
}

/* El plugin administra columnas y separaciones únicamente en su catálogo y [av_tienda]. */
.avt-products.avt-products--managed-grid {
	display: grid !important;
	grid-template-columns: repeat(var(--avt-cols-desktop), minmax(0, 1fr));
	column-gap: var(--avt-grid-gap-x);
	row-gap: var(--avt-grid-gap-y);
	width: 100%;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.avt-products--managed-grid::before,
.avt-products--managed-grid::after {
	display: none !important;
	content: none !important;
}

.avt-products--managed-grid > li.product.avt-product-card {
	box-sizing: border-box;
	position: relative;
	z-index: 1;
	float: none !important;
	clear: none !important;
	width: auto !important;
	min-width: 0;
	margin: 0 !important;
	padding: 0 !important;
	text-align: inherit;
}

/* En loops nativos, WooCommerce, Divi o el tema conservan display, columnas, ancho, gap y márgenes. */
.avt-products--native-grid > li.product.avt-product-card {
	box-sizing: border-box;
	position: relative;
	z-index: 1;
	min-width: 0;
}

.avt-products > li.product.avt-product-card {
	transition: filter 180ms ease;
}

.avt-products > li.product.avt-product-card:hover {
	z-index: 20;
}

.avt-product-card *,
.avt-product-card *::before,
.avt-product-card *::after {
	box-sizing: border-box;
}

.avt-product-card__shell {
	position: relative;
	display: flex;
	flex-direction: column;
	height: 100%;
	border-radius: var(--avt-card-radius);
	transition: transform 180ms ease, box-shadow 180ms ease;
}

.avt-template-minimal .avt-product-card__shell {
	background: transparent;
}

.avt-template-elevated .avt-product-card__shell {
	background: var(--avt-card-bg);
	box-shadow: var(--avt-shadow);
}

.avt-template-side-actions .avt-product-card__shell {
	background: transparent;
}

/* El área multimedia es el límite estricto de botones e iconos. */
.avt-template-side-actions .avt-product-card__media {
	overflow: hidden;
}

.avt-product-card__media {
	position: relative;
	min-width: 0;
	background: transparent;
	border-radius: var(--avt-card-radius) var(--avt-card-radius) 0 0;
	isolation: isolate;
}

.avt-product-card__image-link {
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
	overflow: hidden;
	border-radius: inherit;
}

.avt-ratio-square .avt-product-card__media {
	aspect-ratio: 1 / 1;
}

.avt-ratio-portrait .avt-product-card__media {
	aspect-ratio: 4 / 5;
}

.avt-ratio-classic .avt-product-card__media {
	aspect-ratio: 3 / 4;
}

.avt-ratio-auto .avt-product-card__media,
.avt-ratio-auto .avt-product-card__image-link {
	height: auto;
}

.avt-product-card__picture {
	display: block;
	width: 100%;
	height: 100%;
}

.avt-product-card__image {
	display: block;
	width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
	transition: transform 240ms ease, opacity 220ms ease;
}

.avt-ratio-auto .avt-product-card__picture,
.avt-ratio-auto .avt-product-card__image {
	height: auto !important;
}

.avt-fit-contain .avt-product-card__image {
	object-fit: contain;
}

.avt-fit-cover .avt-product-card__image {
	object-fit: cover;
}

.avt-product-card__image--secondary {
	position: absolute;
	inset: 0;
	opacity: 0;
}

.avt-product-card__badges {
	position: absolute !important;
	top: 12px !important;
	left: 12px !important;
	right: auto !important;
	z-index: 6 !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	gap: var(--avt-badge-gap, 6px) !important;
	visibility: visible !important;
	opacity: 1 !important;
	transform: none !important;
	pointer-events: none;
}

.avt-product-card__badges--right {
	left: auto !important;
	right: 12px !important;
	align-items: flex-end !important;
}

.avt-product-card__badge {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: auto !important;
	min-width: 0 !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: var(--avt-badge-padding-y, 4px) var(--avt-badge-padding-x, 9px) !important;
	border: 0 !important;
	border-radius: var(--avt-badge-radius, 999px) !important;
	background: var(--avt-badge-bg, #e52421) !important;
	box-shadow: none !important;
	color: var(--avt-badge-color, #fff) !important;
	font-family: inherit !important;
	font-size: var(--avt-badge-font-size, 11px) !important;
	font-style: normal !important;
	font-weight: var(--avt-badge-font-weight, 700) !important;
	line-height: 1.2 !important;
	letter-spacing: 0.03em !important;
	text-align: center !important;
	text-decoration: none !important;
	text-indent: 0 !important;
	text-transform: uppercase !important;
	white-space: nowrap !important;
	visibility: visible !important;
	opacity: 1 !important;
	transform: none !important;
}


/* Acciones laterales: controles compactos sin librerías ni icon fonts. */
.avt-product-card__side-actions {
	position: absolute;
	top: 12px;
	right: 12px;
	left: auto;
	z-index: 4;
	display: flex;
	flex-direction: column;
	gap: var(--avt-side-action-gap, 6px);
	visibility: hidden;
	opacity: 0;
	transform: translateX(8px);
	transition: opacity 160ms ease, transform 160ms ease, visibility 160ms ease;
}

.avt-template-side-actions.avt-side-actions-position-left .avt-product-card__side-actions {
	right: auto;
	left: 12px;
}

.avt-template-side-actions.avt-side-actions-position-left .avt-product-card__side-actions {
	transform: translateX(-8px);
}

.avt-side-action__control,
.avt-side-action__control.button {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: var(--avt-side-action-size, 40px) !important;
	min-width: var(--avt-side-action-size, 40px) !important;
	height: var(--avt-side-action-size, 40px) !important;
	min-height: var(--avt-side-action-size, 40px) !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: var(--avt-button-radius) !important;
	background: #fff !important;
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.12) !important;
	color: #222 !important;
	font-size: 0 !important;
	line-height: 1 !important;
	text-decoration: none !important;
}

.avt-side-action__control::before,
.avt-side-action__control::after {
	display: none !important;
	content: none !important;
}

.avt-side-action__control:hover,
.avt-side-action__control:focus {
	color: var(--avt-accent-color, #222) !important;
	transform: translateY(-1px);
}

.avt-side-action__icon {
	display: block;
	width: 19px;
	height: 19px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

/*
 * Los colores generales de botones pueden ser blancos. Estas reglas aíslan
 * los controles compactos para que la lupa y el carrito siempre conserven
 * contraste sobre su fondo blanco, incluso durante hover y focus.
 */
.avt-products.avt-custom-style .avt-template-side-actions .avt-product-card__side-actions .avt-side-action__control,
.avt-products.avt-custom-style .avt-template-side-actions .avt-product-card__side-actions .avt-side-action__control:visited {
	background: #fff !important;
	color: #222 !important;
	opacity: 1 !important;
}

.avt-products.avt-custom-style .avt-template-side-actions .avt-product-card__side-actions .avt-side-action__control:hover,
.avt-products.avt-custom-style .avt-template-side-actions .avt-product-card__side-actions .avt-side-action__control:focus,
.avt-products.avt-custom-style .avt-template-side-actions .avt-product-card__side-actions .avt-side-action__control:focus-visible {
	background: #fff !important;
	color: var(--avt-accent-color, #222) !important;
	opacity: 1 !important;
}

.avt-products .avt-product-card__side-actions .avt-side-action__icon {
	color: inherit !important;
	stroke: currentColor !important;
	opacity: 1 !important;
	visibility: visible !important;
}

/*
 * El botón pertenece al área de imagen. En escritorio aparece completo dentro
 * de la fotografía; en pantallas táctiles permanece visible en el borde inferior.
 */
.avt-product-card__side-button {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 5;
	width: auto !important;
	max-width: none !important;
	margin: 0 !important;
	overflow: hidden;
	pointer-events: none;
}

/*
 * El bloque también lleva la clase .woocommerce. Esta regla evita que la regla
 * general de acciones le asigne width:100% además de left/right y lo desplace.
 */
.avt-product-card__actions.avt-product-card__side-button.woocommerce {
	width: auto !important;
	max-width: none !important;
}

.avt-template-side-actions .avt-product-card__side-button .button {
	display: flex !important;
	width: 100% !important;
	max-width: 100% !important;
	min-height: 40px;
	opacity: 0;
	transform: translateY(8px);
	transition: opacity 160ms ease, transform 160ms ease;
	pointer-events: none;
}

/*
 * Divi añade el icono mediante ::after. Se reserva espacio simétrico y se fija
 * el icono al extremo derecho para que nunca se superponga sobre el texto.
 */
.avt-template-side-actions .avt-product-card__side-button .et_pb_button {
	padding-right: 2.35em !important;
	padding-left: 2.35em !important;
}

.avt-template-side-actions .avt-product-card__side-button .et_pb_button::after {
	top: 50% !important;
	right: 0.75em !important;
	left: auto !important;
	margin: 0 !important;
	transform: translateY(-50%) !important;
}

.avt-product-card__content {
	position: relative;
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	min-width: 0;
}

.avt-template-minimal .avt-product-card__content {
	padding: 14px 0 0;
}

.avt-template-elevated .avt-product-card__content {
	padding: 16px 18px 18px;
}

.avt-template-elevated.avt-elevated-divider .avt-product-card__content {
	border-top: var(--avt-elevated-divider-thickness, 1px) solid var(--avt-elevated-divider-color, #e5e7eb);
}

.avt-template-side-actions .avt-product-card__content {
	padding: 14px 0 0;
}

.avt-template-side-actions .avt-product-card__category {
	margin-top: 6px;
	margin-bottom: 0;
}

.avt-product-card__category {
	margin: 0 0 5px;
	font-size: 0.78em;
	line-height: 1.35;
	opacity: 0.68;
	overflow-wrap: anywhere;
}

.avt-product-card__category a {
	display: inline;
}

.avt-product-card__category a,
.avt-product-card__title a {
	color: inherit;
	text-decoration: none;
}

.avt-product-card__title {
	margin: 0 !important;
	padding: 0 !important;
}

.avt-product-card__rating {
	display: flex;
	align-items: center;
	min-height: 1em;
	margin-top: 8px;
}

/*
 * Conserva el HTML nativo de WooCommerce y asegura que sus estrellas se
 * representen aun cuando el tema limite los estilos al contexto .woocommerce.
 */
.avt-product-card__rating .star-rating {
	position: relative;
	float: none !important;
	width: 5.4em;
	height: 1em;
	margin: 0 !important;
	overflow: hidden;
	font-family: star;
	font-size: 1em;
	line-height: 1;
}

.avt-product-card__rating .star-rating::before {
	position: absolute;
	top: 0;
	left: 0;
	content: "sssss";
	opacity: 0.25;
}

.avt-product-card__rating .star-rating span {
	position: absolute;
	top: 0;
	left: 0;
	float: left;
	width: 0;
	height: 1em;
	overflow: hidden;
	padding-top: 1.5em;
}

.avt-product-card__rating .star-rating span::before {
	position: absolute;
	top: 0;
	left: 0;
	content: "SSSSS";
}

.avt-product-card__price {
	margin: 9px 0 0 !important;
}

.avt-product-card__price del {
	opacity: 0.55;
}

.avt-product-card__price ins {
	text-decoration: none;
}

.avt-product-card__reveal {
	margin-top: auto;
}

.avt-product-card__excerpt {
	display: -webkit-box;
	overflow: hidden;
	margin-top: 12px;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: var(--avt-excerpt-lines, 3);
	line-height: 1.55;
	opacity: 0.78;
}

/*
 * El contexto .woocommerce se limita al bloque del botón para que el tema
 * reconozca su botón nativo sin alterar títulos, precios ni tipografía de la tarjeta.
 */
.avt-product-card__actions {
	margin-top: 14px;
}

.avt-product-card__actions.woocommerce {
	width: 100%;
}

.avt-product-card__actions.avt-product-card__side-button.woocommerce {
	width: auto !important;
}


/* WooCommerce agrega este enlace después de añadir un producto por AJAX.
 * AV Tienda lo oculta dentro de sus propias tarjetas porque el carrito lateral
 * ya confirma la acción y ofrece el siguiente paso. */
.avt-products .added_to_cart.wc-forward {
	display: none !important;
}

.avt-product-card__actions .button {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	max-width: 100%;
	margin: 0 !important;
	text-decoration: none;
}

/*
 * Hover personalizado del botón de tienda.
 * Las clases se imprimen únicamente cuando el usuario configura cada color,
 * por lo que los campos vacíos siguen heredando el hover real del tema.
 */
.avt-products.avt-custom-style.avt-button-hover-bg-custom .avt-product-card .avt-product-card__actions a.button.avt-product-button:hover,
.avt-products.avt-custom-style.avt-button-hover-bg-custom .avt-product-card .avt-product-card__actions a.button.avt-product-button:focus,
.avt-products.avt-custom-style.avt-button-hover-bg-custom .avt-product-card .avt-product-card__actions a.button.avt-product-button:focus-visible {
	background: var(--avt-button-hover-bg) !important;
	background-color: var(--avt-button-hover-bg) !important;
	background-image: none !important;
}

.avt-products.avt-custom-style.avt-button-hover-text-custom .avt-product-card .avt-product-card__actions a.button.avt-product-button:hover,
.avt-products.avt-custom-style.avt-button-hover-text-custom .avt-product-card .avt-product-card__actions a.button.avt-product-button:focus,
.avt-products.avt-custom-style.avt-button-hover-text-custom .avt-product-card .avt-product-card__actions a.button.avt-product-button:focus-visible {
	color: var(--avt-button-hover-text) !important;
}

.avt-products.avt-custom-style.avt-button-hover-text-custom .avt-product-card .avt-product-card__actions a.button.avt-product-button:hover::before,
.avt-products.avt-custom-style.avt-button-hover-text-custom .avt-product-card .avt-product-card__actions a.button.avt-product-button:hover::after,
.avt-products.avt-custom-style.avt-button-hover-text-custom .avt-product-card .avt-product-card__actions a.button.avt-product-button:focus::before,
.avt-products.avt-custom-style.avt-button-hover-text-custom .avt-product-card .avt-product-card__actions a.button.avt-product-button:focus::after,
.avt-products.avt-custom-style.avt-button-hover-text-custom .avt-product-card .avt-product-card__actions a.button.avt-product-button:focus-visible::before,
.avt-products.avt-custom-style.avt-button-hover-text-custom .avt-product-card .avt-product-card__actions a.button.avt-product-button:focus-visible::after {
	color: var(--avt-button-hover-text) !important;
}

.avt-products.avt-custom-style.avt-button-hover-border-custom .avt-product-card .avt-product-card__actions a.button.avt-product-button:hover,
.avt-products.avt-custom-style.avt-button-hover-border-custom .avt-product-card .avt-product-card__actions a.button.avt-product-button:focus,
.avt-products.avt-custom-style.avt-button-hover-border-custom .avt-product-card .avt-product-card__actions a.button.avt-product-button:focus-visible {
	border-color: var(--avt-button-hover-border) !important;
}

/*
 * Respaldo de alta especificidad para temas como Divi que generan selectores
 * globales con !important. Las variables y clases viven en el propio enlace,
 * por lo que no dependen de que el CSS generado o el contenedor se actualicen.
 */
html body ul.products.avt-products li.product.avt-product-card .avt-product-card__actions.woocommerce a.button.avt-product-button.avt-button-hover-bg-custom:hover,
html body ul.products.avt-products li.product.avt-product-card .avt-product-card__actions.woocommerce a.button.avt-product-button.avt-button-hover-bg-custom:focus,
html body ul.products.avt-products li.product.avt-product-card .avt-product-card__actions.woocommerce a.button.avt-product-button.avt-button-hover-bg-custom:focus-visible {
	background: var(--avt-button-hover-bg) !important;
	background-color: var(--avt-button-hover-bg) !important;
	background-image: none !important;
}

html body ul.products.avt-products li.product.avt-product-card .avt-product-card__actions.woocommerce a.button.avt-product-button.avt-button-hover-text-custom:hover,
html body ul.products.avt-products li.product.avt-product-card .avt-product-card__actions.woocommerce a.button.avt-product-button.avt-button-hover-text-custom:focus,
html body ul.products.avt-products li.product.avt-product-card .avt-product-card__actions.woocommerce a.button.avt-product-button.avt-button-hover-text-custom:focus-visible {
	color: var(--avt-button-hover-text) !important;
}

html body ul.products.avt-products li.product.avt-product-card .avt-product-card__actions.woocommerce a.button.avt-product-button.avt-button-hover-text-custom:hover::before,
html body ul.products.avt-products li.product.avt-product-card .avt-product-card__actions.woocommerce a.button.avt-product-button.avt-button-hover-text-custom:hover::after,
html body ul.products.avt-products li.product.avt-product-card .avt-product-card__actions.woocommerce a.button.avt-product-button.avt-button-hover-text-custom:focus::before,
html body ul.products.avt-products li.product.avt-product-card .avt-product-card__actions.woocommerce a.button.avt-product-button.avt-button-hover-text-custom:focus::after,
html body ul.products.avt-products li.product.avt-product-card .avt-product-card__actions.woocommerce a.button.avt-product-button.avt-button-hover-text-custom:focus-visible::before,
html body ul.products.avt-products li.product.avt-product-card .avt-product-card__actions.woocommerce a.button.avt-product-button.avt-button-hover-text-custom:focus-visible::after {
	color: var(--avt-button-hover-text) !important;
}

html body ul.products.avt-products li.product.avt-product-card .avt-product-card__actions.woocommerce a.button.avt-product-button.avt-button-hover-border-custom:hover,
html body ul.products.avt-products li.product.avt-product-card .avt-product-card__actions.woocommerce a.button.avt-product-button.avt-button-hover-border-custom:focus,
html body ul.products.avt-products li.product.avt-product-card .avt-product-card__actions.woocommerce a.button.avt-product-button.avt-button-hover-border-custom:focus-visible {
	border-color: var(--avt-button-hover-border) !important;
}

html body ul.products.avt-products li.product.avt-product-card .avt-product-card__actions.woocommerce a.button.avt-product-button.avt-button-font-size-custom {
	font-size: var(--avt-button-font-size) !important;
}

html body ul.products.avt-products li.product.avt-product-card .avt-product-card__actions.woocommerce a.button.avt-product-button.avt-button-font-size-custom::before,
html body ul.products.avt-products li.product.avt-product-card .avt-product-card__actions.woocommerce a.button.avt-product-button.avt-button-font-size-custom::after {
	font-size: 1.35em !important;
}

.avt-template-elevated .avt-product-card__actions .button {
	width: 100%;
}


/* Plantilla horizontal: una fila completa por producto, sin consultas adicionales. */
.avt-products.avt-products--managed-grid.avt-layout-horizontal {
	grid-template-columns: minmax(0, 1fr) !important;
}

.avt-template-horizontal .avt-product-card__shell {
	flex-direction: row;
	align-items: stretch;
	background: transparent;
	box-shadow: none;
	transform: none;
}

.avt-template-horizontal .avt-product-card__media {
	flex: 0 0 var(--avt-horizontal-image-desktop, 30%);
	width: var(--avt-horizontal-image-desktop, 30%);
	max-width: var(--avt-horizontal-image-desktop, 30%);
	align-self: flex-start;
	border-radius: var(--avt-card-radius);
}

.avt-template-horizontal .avt-product-card__content {
	justify-content: var(--avt-horizontal-align, center);
	padding: 18px 24px;
}

.avt-template-horizontal .avt-product-card__actions {
	margin-top: 14px;
}

.avt-template-horizontal .avt-product-card__actions .button {
	width: auto;
}

.avt-template-horizontal .avt-product-card__horizontal-excerpt {
	display: none;
}

@media (min-width: 768px) {
	.avt-template-horizontal.avt-horizontal-excerpt-desktop-on .avt-product-card__horizontal-excerpt {
		display: -webkit-box;
	}
}

.avt-products.avt-layout-horizontal.avt-horizontal-separator > li.product.avt-product-card {
	padding-bottom: 24px !important;
	border-bottom: 1px solid #e5e5e5;
	border-color: color-mix(in srgb, currentColor 14%, transparent);
}

.avt-products.avt-layout-horizontal.avt-horizontal-separator > li.product.avt-product-card:last-child {
	padding-bottom: 0 !important;
	border-bottom: 0;
}

.avt-pagination {
	margin-top: 28px;
}

@media (hover: hover) and (pointer: fine) {
	.avt-second-image-hover:hover .avt-product-card__image--primary {
		opacity: 0;
	}

	.avt-second-image-hover:hover .avt-product-card__image--secondary {
		opacity: 1;
	}

	.avt-hover-lift:hover .avt-product-card__shell {
		transform: translateY(-5px);
	}

	.avt-template-horizontal.avt-hover-lift:hover .avt-product-card__shell {
		transform: none;
	}

	.avt-hover-zoom:hover .avt-product-card__image {
		transform: scale(1.045);
	}


	.avt-template-side-actions:hover .avt-product-card__side-actions,
	.avt-template-side-actions:focus-within .avt-product-card__side-actions {
		visibility: visible;
		opacity: 1;
		transform: translateX(0);
	}

	.avt-template-side-actions:hover .avt-product-card__side-button,
	.avt-template-side-actions:focus-within .avt-product-card__side-button {
		pointer-events: auto;
	}

	.avt-template-side-actions:hover .avt-product-card__side-button .button,
	.avt-template-side-actions:focus-within .avt-product-card__side-button .button {
		opacity: 1;
		transform: translateY(0);
		pointer-events: auto;
	}

	/*
	 * Marco blanco exterior de la tarjeta elevada. Se genera como una capa de
	 * fondo extendida detrás del contenido, no como un borde superpuesto. Esto
	 * evita el canto interior gris que aparece con escalas fraccionarias.
	 */
	.avt-template-elevated .avt-product-card__shell {
		z-index: 0;
		border: 0 !important;
		outline: 0 !important;
		isolation: isolate;
	}

	.avt-template-elevated .avt-product-card__shell::after {
		position: absolute;
		z-index: -1;
		top: calc(0px - var(--avt-elevated-border-width));
		right: calc(0px - var(--avt-elevated-border-width));
		bottom: 0;
		left: calc(0px - var(--avt-elevated-border-width));
		background: #fff;
		border: 0;
		border-radius: var(--avt-card-radius) var(--avt-card-radius) 0 0;
		content: "";
		opacity: 0;
		pointer-events: none;
		transition: opacity 160ms ease;
	}

	.avt-template-elevated .avt-product-card__reveal {
		position: absolute;
		z-index: 1;
		top: 100%;
		left: 0;
		width: 100%;
		margin: -2px 0 0;
		padding: 0 18px 18px;
		visibility: hidden;
		background: var(--avt-card-bg);
		border: 0 !important;
		outline: 0 !important;
		border-radius: 0 0 var(--avt-card-radius) var(--avt-card-radius);
		box-shadow: 0 18px 28px rgba(0, 0, 0, 0.13);
		isolation: isolate;
		opacity: 0;
		transform: translateY(-6px);
		transition: opacity 160ms ease, transform 160ms ease, visibility 160ms ease;
	}

	.avt-template-elevated .avt-product-card__reveal::after {
		position: absolute;
		z-index: -1;
		top: 0;
		right: calc(0px - var(--avt-elevated-border-width));
		bottom: calc(0px - var(--avt-elevated-border-width));
		left: calc(0px - var(--avt-elevated-border-width));
		background: #fff;
		border: 0;
		border-radius: 0 0 var(--avt-card-radius) var(--avt-card-radius);
		content: "";
		opacity: 0;
		pointer-events: none;
		transition: opacity 160ms ease;
	}

	.avt-template-elevated:hover .avt-product-card__shell::after,
	.avt-template-elevated:focus-within .avt-product-card__shell::after,
	.avt-template-elevated:hover .avt-product-card__reveal::after,
	.avt-template-elevated:focus-within .avt-product-card__reveal::after {
		opacity: 1;
	}

	.avt-template-elevated:hover .avt-product-card__reveal,
	.avt-template-elevated:focus-within .avt-product-card__reveal {
		visibility: visible;
		opacity: 1;
		transform: translateY(0);
	}

	/*
	 * En hover se eliminan las sombras independientes de la caja principal y
	 * del contenido desplegable. El contenedor exterior genera una sola sombra
	 * continua, sin el borde interior que aparecía con escalado de pantalla.
	 */
	.avt-template-elevated:hover .avt-product-card__shell,
	.avt-template-elevated:focus-within .avt-product-card__shell,
	.avt-template-elevated:hover .avt-product-card__reveal,
	.avt-template-elevated:focus-within .avt-product-card__reveal {
		box-shadow: none;
	}

	.avt-template-elevated:hover,
	.avt-template-elevated:focus-within {
		filter: drop-shadow(0 16px 22px rgba(0, 0, 0, .17));
	}
}


/* Amplía el grid en computadora sin alterar el número de columnas ni las tarjetas. */
@media (min-width: 981px) {
	.avt-products.avt-products--managed-grid.avt-desktop-width-expanded {
		width: calc(100vw - var(--avt-desktop-side-margin, 24px) - var(--avt-desktop-side-margin, 24px)) !important;
		max-width: none !important;
		margin-left: calc(50% - 50vw + var(--avt-desktop-side-margin, 24px)) !important;
		margin-right: 0 !important;
	}

	.avt-products.avt-products--managed-grid.avt-desktop-width-full {
		width: 100vw !important;
		max-width: none !important;
		margin-left: calc(50% - 50vw) !important;
		margin-right: 0 !important;
	}
}

@media (max-width: 980px) {
	.avt-products.avt-products--managed-grid {
		grid-template-columns: repeat(var(--avt-cols-tablet), minmax(0, 1fr));
	}

	.avt-products.avt-products--managed-grid.avt-layout-horizontal {
		grid-template-columns: minmax(0, 1fr) !important;
	}
}


/* En cualquier dispositivo táctil, el botón permanece accesible sin hover. */
@media (hover: none), (pointer: coarse) {
	.avt-template-side-actions .avt-product-card__side-actions {
		display: none !important;
	}

	.avt-template-side-actions .avt-product-card__side-button {
		right: 0;
		bottom: 0;
		left: 0;
		width: auto !important;
		margin: 0 !important;
		pointer-events: auto;
	}

	.avt-template-side-actions .avt-product-card__side-button .button {
		display: flex !important;
		width: 100% !important;
		opacity: 1;
		transform: none !important;
		pointer-events: auto;
	}
}


@media (max-width: 767px) {
	.avt-products.avt-products--managed-grid {
		grid-template-columns: repeat(var(--avt-cols-mobile), minmax(0, 1fr));
	}


	.avt-products.avt-products--managed-grid.avt-layout-horizontal {
		grid-template-columns: minmax(0, 1fr) !important;
	}

	.avt-template-horizontal .avt-product-card__shell {
		flex-direction: row;
		align-items: stretch;
	}

	.avt-template-horizontal .avt-product-card__media {
		flex-basis: var(--avt-horizontal-image-mobile, 40%);
		width: var(--avt-horizontal-image-mobile, 40%);
		max-width: var(--avt-horizontal-image-mobile, 40%);
	}

	.avt-template-horizontal .avt-product-card__content {
		justify-content: var(--avt-horizontal-align, center);
		padding: 6px 0 6px 12px;
	}

	.avt-template-horizontal .avt-product-card__category {
		margin-bottom: 3px;
	}

	.avt-template-horizontal .avt-product-card__rating,
	.avt-template-horizontal .avt-product-card__price,
	.avt-template-horizontal .avt-product-card__actions {
		margin-top: 7px;
	}

	.avt-template-horizontal .avt-product-card__actions .button {
		max-width: 100%;
	}

	.avt-template-horizontal.avt-horizontal-excerpt-mobile-on .avt-product-card__horizontal-excerpt {
		display: -webkit-box;
		margin-top: 7px;
	}

	.avt-template-horizontal.avt-horizontal-excerpt-mobile-off .avt-product-card__horizontal-excerpt {
		display: none !important;
	}

	/*
	 * Amplía únicamente el contenedor del grid. Las tarjetas siguen usando las
	 * mismas columnas, gaps y proporciones configuradas.
	 */
	.avt-products.avt-products--managed-grid.avt-mobile-width-expanded {
		width: calc(100vw - var(--avt-mobile-side-margin, 12px) - var(--avt-mobile-side-margin, 12px)) !important;
		max-width: none !important;
		margin-left: calc(50% - 50vw + var(--avt-mobile-side-margin, 12px)) !important;
		margin-right: 0 !important;
	}

	.avt-products.avt-products--managed-grid.avt-mobile-width-full {
		width: 100vw !important;
		max-width: none !important;
		margin-left: calc(50% - 50vw) !important;
		margin-right: 0 !important;
	}

	/*
	 * Los loops secundarios de WooCommerce —destacados, más vendidos,
	 * ofertas, relacionados y shortcodes clásicos— usan dos columnas y el
	 * mismo ancho útil que la tienda en celular. Divi coloca la clase de
	 * columnas en un contenedor padre, no en el UL; por eso se usa una clase
	 * propia del plugin en lugar de depender de .columns-2.
	 */
	.avt-products.avt-products--secondary-grid {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		column-gap: var(--avt-secondary-mobile-gap, 12px) !important;
		row-gap: var(--avt-grid-gap-y, 32px) !important;
		width: calc(100vw - var(--avt-mobile-side-margin, 12px) - var(--avt-mobile-side-margin, 12px)) !important;
		max-width: none !important;
		margin-left: calc(50% - 50vw + var(--avt-mobile-side-margin, 12px)) !important;
		margin-right: 0 !important;
		padding: 0 !important;
		list-style: none !important;
	}

	.avt-products.avt-products--secondary-grid::before,
	.avt-products.avt-products--secondary-grid::after {
		display: none !important;
		content: none !important;
	}

	/*
	 * Divi conserva en li.product el ancho de su clase columns-4 (20.875%)
	 * mediante selectores con IDs. Estos selectores equivalentes o más
	 * específicos hacen que cada tarjeta llene su track del grid móvil.
	 */
	.avt-products.avt-products--secondary-grid > li.product.avt-product-card,
	#page-container .avt-products.avt-products--secondary-grid > li.product.avt-product-card,
	#page-container #et-boc .et-l .avt-products.avt-products--secondary-grid > li.product.avt-product-card {
		display: block !important;
		float: none !important;
		clear: none !important;
		grid-column: auto !important;
		justify-self: stretch !important;
		width: 100% !important;
		min-width: 0 !important;
		max-width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	#page-container #et-boc .et-l .avt-products.avt-products--secondary-grid > li.product.avt-product-card > .avt-product-card__shell {
		width: 100% !important;
		min-width: 0 !important;
		max-width: none !important;
	}

	/* En pantallas táctiles la tarjeta responde al primer toque sin hover intermedio. */
	.avt-product-card__shell,
	.avt-product-card__image {
		transform: none !important;
	}

	/* Solo cuando el hover de escritorio también necesita ambas imágenes. */
	.avt-mobile-image-secondary.avt-has-second-image .avt-product-card__image--primary {
		opacity: 0;
	}

	.avt-mobile-image-secondary.avt-has-second-image .avt-product-card__image--secondary {
		opacity: 1;
	}

	/*
	 * En móvil, la plantilla elevada conserva la apariencia de tarjeta del
	 * estado normal de escritorio. El contenido reservado para hover permanece
	 * oculto para que el primer toque abra el producto sin pasos intermedios.
	 */
	.avt-products .avt-template-elevated .avt-product-card__shell {
		background: var(--avt-card-bg, #fff) !important;
		border-radius: var(--avt-card-radius) !important;
		box-shadow: var(--avt-shadow) !important;
		overflow: hidden;
	}

	.avt-products .avt-template-elevated .avt-product-card__media {
		border-radius: var(--avt-card-radius) var(--avt-card-radius) 0 0;
	}

	.avt-products .avt-template-elevated .avt-product-card__content {
		padding: 14px 14px 16px;
	}

	.avt-products .avt-template-elevated .avt-product-card__reveal {
		display: none !important;
	}


	/* Acciones laterales: controles configurables para celular. */
	.avt-template-side-actions.avt-side-mobile-rail-off .avt-product-card__side-actions {
		display: none !important;
	}

	.avt-template-side-actions.avt-side-mobile-rail-on .avt-product-card__side-actions {
		display: flex !important;
		visibility: visible !important;
		opacity: 1 !important;
		transform: none !important;
		gap: var(--avt-side-action-mobile-gap, 10px) !important;
	}

	.avt-template-side-actions.avt-side-mobile-view-off .avt-side-action__view,
	.avt-template-side-actions.avt-side-mobile-cart-off .avt-side-action__cart,
	.avt-template-side-actions.avt-side-mobile-compare-off .avt-compare-button--side,
	.avt-template-side-actions.avt-side-mobile-wishlist-off .avt-wishlist-action--side {
		display: none !important;
	}

	.avt-template-side-actions.avt-side-mobile-button-off .avt-product-card__side-button {
		display: none !important;
	}

	.avt-template-side-actions .avt-product-card__side-button {
		right: 0;
		bottom: 0;
		left: 0;
		width: auto !important;
		margin: 0 !important;
		overflow: hidden;
		pointer-events: auto;
	}

	.avt-template-side-actions .avt-product-card__side-button .button {
		display: flex !important;
		width: 100% !important;
		opacity: 1;
		transform: none !important;
		pointer-events: auto;
	}

	.avt-template-side-actions .avt-product-card__content {
		padding-top: 12px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.avt-product-card__shell,
	.avt-product-card__image,
	.avt-product-card__reveal {
		transition: none !important;
	}
}

/* Estructura mínima para paginación; colores y tipografía permanecen en el tema. */
.avt-pagination ul.page-numbers {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

/* =========================================================
 * Filtros básicos
 * Interfaz sin AJAX; el script nativo se carga solo con [av_filtros].
 * ======================================================= */
.avt-filters {
	--avt-filter-price-accent: var(--avt-accent-color, currentColor);
	--avt-filter-price-track: rgba(0, 0, 0, 0.18);
	--avt-filter-price-button-text: var(--avt-button-text-color, #fff);
	--avt-filter-selection-color: var(--avt-filter-price-accent, var(--avt-accent-color, currentColor));
	box-sizing: border-box;
	width: 100%;
	margin: 0 0 28px;
	font: inherit;
	color: inherit;
}

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

.avt-filters__form {
	margin: 0;
}

.avt-filters__toggle {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	margin: -1px !important;
	padding: 0 !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	clip-path: inset(50%) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

.avt-filters__summary {
	display: none;
	align-items: center;
	gap: 9px;
	margin: 0;
	padding: 14px 16px;
	border: 1px solid rgba(0, 0, 0, 0.10);
	border-radius: var(--avt-radius, 8px);
	background: var(--avt-card-bg, #fff);
	font-weight: 700;
	cursor: pointer;
}

.avt-filters__panel {
	display: block;
}

.avt-filters__body {
	display: block;
	padding: 0;
}

.avt-filters__group {
	min-width: 0;
	margin: 0;
	padding: 18px 0;
	border: 0;
	border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

.avt-filters__group > label,
.avt-filters__group > legend {
	display: block;
	width: 100%;
	margin: 0 0 7px;
	padding: 0;
	font: inherit;
	font-size: var(--avt-filter-heading-size, inherit);
	font-weight: 700;
	color: var(--avt-filter-heading-color, inherit);
}

.avt-filters__group > legend {
	padding-top: 12px;
}


.avt-filters__group + .avt-filters__group {
	padding-top: 12px;
}

.avt-filters__dropdown-content {
	display: block;
}

.avt-filter-label--desktop {
	display: none;
}

.avt-filter-label--mobile {
	display: inline;
}

.avt-filter-toggle__count {
	display: none;
	align-items: center;
	justify-content: center;
	min-width: 20px;
	height: 20px;
	margin-left: 7px;
	padding: 0 6px;
	border-radius: 999px;
	background: var(--avt-filter-selection-color);
	color: #fff;
	font-size: 11px;
	line-height: 1;
}

.avt-filters input[type="checkbox"],
.avt-filters input[type="radio"] {
	accent-color: var(--avt-filter-selection-color);
}

.avt-filters__select,
.avt-filters input[type="text"] {
	display: block;
	width: 100%;
	min-height: 42px;
	margin: 0;
	padding: 8px 10px;
	border: 1px solid rgba(0, 0, 0, 0.18);
	border-radius: 4px;
	background: #fff;
	color: inherit;
	font: inherit;
}

.avt-filters__price-row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
	align-items: center;
	gap: 8px;
}

.avt-filters__price-row label {
	margin: 0;
}


/* Rango de precio doble. No usa AJAX y aplica el filtro automáticamente al terminar de mover el control. */

.avt-price-range__slider {
	position: relative;
	height: 34px;
	margin: 2px 8px 10px;
}

.avt-price-range__track {
	position: absolute;
	top: 50%;
	right: 0;
	left: 0;
	height: 1px;
	border-radius: 999px;
	background: var(--avt-filter-price-track);
	transform: translateY(-50%);
}

.avt-price-range__fill {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	border-radius: inherit;
	background: var(--avt-filter-price-accent);
}

.avt-price-range__input {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 34px;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	appearance: none;
	-webkit-appearance: none;
	pointer-events: none;
}

.avt-price-range__input::-webkit-slider-runnable-track {
	height: 1px;
	background: transparent;
	border: 0;
}

.avt-price-range__input::-webkit-slider-thumb {
	width: 8px;
	height: 14px;
	margin-top: -6.5px;
	border: 0;
	border-radius: 2px;
	background: var(--avt-filter-price-accent);
	box-shadow: none;
	appearance: none;
	-webkit-appearance: none;
	cursor: ew-resize;
	pointer-events: auto;
}

.avt-price-range__input::-moz-range-track {
	height: 1px;
	background: transparent;
	border: 0;
}

.avt-price-range__input::-moz-range-progress {
	background: transparent;
}

.avt-price-range__input::-moz-range-thumb {
	width: 8px;
	height: 14px;
	border: 0;
	border-radius: 2px;
	background: var(--avt-filter-price-accent);
	box-shadow: none;
	cursor: ew-resize;
	pointer-events: auto;
}

.avt-price-range__input:focus {
	outline: none;
}

.avt-price-range__input:focus-visible::-webkit-slider-thumb {
	outline: 2px solid currentColor;
	outline-offset: 3px;
}

.avt-price-range__input:focus-visible::-moz-range-thumb {
	outline: 2px solid currentColor;
	outline-offset: 3px;
}

.avt-price-range__footer {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 12px;
}

.avt-price-range__value {
	min-width: 0;
	line-height: 1.45;
}

.avt-price-range__value strong {
	white-space: nowrap;
}

.avt-price-range__apply.button {
	flex: 0 0 auto;
	min-height: 36px;
	margin: 0 !important;
	padding: 8px 16px !important;
	border-color: var(--avt-filter-price-accent) !important;
	border-radius: 999px !important;
	background: var(--avt-filter-price-accent) !important;
	color: var(--avt-filter-price-button-text) !important;
	font-size: 0.82em;
	line-height: 1;
	text-transform: uppercase;
}

.avt-price-range__apply.button::before,
.avt-price-range__apply.button::after {
	color: inherit !important;
}

.avt-price-range__apply.button:hover,
.avt-price-range__apply.button:focus {
	filter: brightness(.92);
}

@media (max-width: 420px) {
	.avt-price-range__footer {
		align-items: stretch;
		flex-direction: column;
	}

	.avt-price-range__apply.button {
		align-self: flex-start;
	}
}

.avt-filters__group small {
	display: block;
	margin-top: 7px;
	opacity: 0.72;
}

.avt-filters__choices {
	display: grid;
	gap: 7px;
	max-height: 220px;
	overflow: auto;
	padding-right: 4px;
}

.avt-filters__choices label {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	margin: 0;
	font-weight: 400;
	cursor: pointer;
}

.avt-filters__choices input {
	flex: 0 0 auto;
	margin: 3px 0 0;
}

.avt-filters__actions {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px;
	padding-top: 16px;
}

.avt-filters__actions .button {
	margin: 0 !important;
}

.avt-filters__clear {
	text-decoration: underline;
	text-underline-offset: 3px;
}

.avt-filters__active {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 12px;
}

.avt-filters__chip {
	display: inline-flex;
	align-items: center;
	min-height: 30px;
	padding: 5px 10px;
	border-radius: 999px;
	background: rgba(0, 0, 0, 0.07);
	font-size: 0.9em;
	line-height: 1.2;
}

.avt-filters__active > a {
	font-size: 0.9em;
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* Filtro horizontal en computadora. En celular se conserva el panel vertical. */
@media (min-width: 768px) {
	.avt-filters--desktop-horizontal {
		position: relative;
		z-index: 30;
	}

	.avt-filters--desktop-horizontal .avt-filters__body {
		display: flex;
		align-items: flex-start;
		flex-wrap: wrap;
		gap: 10px;
		overflow: visible;
	}

	.avt-filters--desktop-horizontal .avt-filters__group,
	.avt-filters--desktop-horizontal .avt-filters__group + .avt-filters__group {
		position: relative;
		width: auto;
		min-width: 0;
		margin: 0;
		padding: 0;
		border: 0;
		overflow: visible;
	}

	.avt-filters--desktop-horizontal .avt-filters__group > label,
	.avt-filters--desktop-horizontal .avt-filters__group > legend {
		position: relative;
		display: flex;
		align-items: center;
		width: auto;
		min-height: 42px;
		margin: 0;
		padding: 9px 38px 9px 14px;
		border: 1px solid rgba(0, 0, 0, 0.16);
		border-radius: 6px;
		background: var(--avt-card-bg, #fff);
		color: var(--avt-filter-heading-color, inherit);
		font-size: var(--avt-filter-heading-size, inherit);
		font-weight: 600;
		line-height: 1.2;
		white-space: nowrap;
		cursor: pointer;
		user-select: none;
	}

	.avt-filters--desktop-horizontal .avt-filters__group > legend {
		float: none;
		max-width: none;
		padding-top: 9px;
	}

	.avt-filters--desktop-horizontal .avt-filters__group > label::after,
	.avt-filters--desktop-horizontal .avt-filters__group > legend::after {
		position: absolute;
		top: 50%;
		right: 14px;
		width: 7px;
		height: 7px;
		border-right: 2px solid currentColor;
		border-bottom: 2px solid currentColor;
		content: "";
		transform: translateY(-65%) rotate(45deg);
		transition: transform 150ms ease;
	}

	.avt-filters--desktop-horizontal .avt-filters__group.is-open > label::after,
	.avt-filters--desktop-horizontal .avt-filters__group.is-open > legend::after {
		transform: translateY(-30%) rotate(225deg);
	}

	.avt-filters--desktop-horizontal .avt-filters__group.is-active > label,
	.avt-filters--desktop-horizontal .avt-filters__group.is-active > legend {
		border-color: var(--avt-filter-selection-color);
		box-shadow: inset 0 0 0 1px var(--avt-filter-selection-color);
	}

	.avt-filters--desktop-horizontal .avt-filters__group.is-open > label,
	.avt-filters--desktop-horizontal .avt-filters__group.is-open > legend {
		border-color: var(--avt-filter-selection-color);
		box-shadow: inset 0 0 0 1px var(--avt-filter-selection-color), 0 0 0 2px rgba(0, 0, 0, 0.04);
	}

	.avt-filters--desktop-horizontal .avt-filters__dropdown-content {
		position: absolute;
		top: calc(100% + 8px);
		left: 0;
		display: none;
		width: max-content;
		min-width: 270px;
		max-width: min(380px, calc(100vw - 40px));
		padding: 18px;
		border: 1px solid rgba(0, 0, 0, 0.12);
		border-radius: 8px;
		background: var(--avt-card-bg, #fff);
		box-shadow: 0 12px 32px rgba(0, 0, 0, 0.14);
		z-index: 100;
	}

	.avt-filters--desktop-horizontal .avt-filters__group.is-align-right > .avt-filters__dropdown-content {
		right: 0;
		left: auto;
	}

	.avt-filters--desktop-horizontal .avt-filters__group.is-open > .avt-filters__dropdown-content {
		display: block;
	}

	.avt-filters--desktop-horizontal .avt-filters__dropdown-content--price {
		width: min(340px, calc(100vw - 40px));
	}

	.avt-filters--desktop-horizontal .avt-filters__dropdown-content .avt-filters__select {
		min-width: 235px;
	}

	.avt-filters--desktop-horizontal .avt-filters__choices {
		min-width: 230px;
		max-height: 300px;
	}

	.avt-filters--desktop-horizontal .avt-filters__actions {
		align-self: center;
		min-height: 42px;
		margin-left: auto;
		padding-top: 0;
	}

	.avt-filters--desktop-horizontal .avt-filters__clear {
		display: inline-flex;
		align-items: center;
		min-height: 42px;
		padding: 8px 4px;
		white-space: nowrap;
	}

	.avt-filters--desktop-horizontal .avt-filter-toggle__count {
		display: inline-flex;
	}

	.avt-filters--desktop-horizontal .avt-filter-label--desktop {
		display: inline;
	}

	.avt-filters--desktop-horizontal .avt-filter-label--mobile {
		display: none;
	}
}

@media (max-width: 767px) {
	.avt-filters {
		margin-bottom: 20px;
	}

	.avt-filters__summary {
		display: flex;
	}

	.avt-filters__panel {
		display: none;
		margin-top: 10px;
		padding: 4px 16px 16px;
		border: 1px solid rgba(0, 0, 0, 0.10);
		border-radius: var(--avt-radius, 8px);
		background: var(--avt-card-bg, #fff);
	}

	.avt-filters__toggle:checked ~ .avt-filters__panel {
		display: block;
	}

	.avt-filters__actions {
		align-items: stretch;
	}

	.avt-filters__actions .button {
		flex: 1 1 auto;
		text-align: center;
	}
}

/* El filtro se envía automáticamente. La opacidad confirma el cambio mientras recarga. */
.avt-filters__form.is-loading {
	opacity: .62;
	pointer-events: none;
}

.avt-filters__form.is-loading .avt-filters__panel {
	cursor: progress;
}

/* =====================================================
   Vista Categoría 0.6.0 — Plantilla Full
   ===================================================== */
.avt-category-grid {
	--avt-cat-cols-desktop: 3;
	--avt-cat-cols-tablet: 2;
	--avt-cat-cols-mobile: 1;
	--avt-cat-gap-x: 16px;
	--avt-cat-gap-y: 16px;
	--avt-cat-content-padding: 16px;
	--avt-cat-radius: 0px;
	--avt-cat-border-width: 0px;
	--avt-cat-border-color: rgba(0, 0, 0, 0.10);
	--avt-cat-card-bg: transparent;
	--avt-cat-shadow: none;
	--avt-cat-overlay: rgba(0, 0, 0, .35);
	--avt-cat-overlay-transparent: rgba(0, 0, 0, 0);
	display: grid !important;
	grid-template-columns: repeat(var(--avt-cat-cols-desktop), minmax(0, 1fr));
	column-gap: var(--avt-cat-gap-x);
	row-gap: var(--avt-cat-gap-y);
	width: 100%;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.avt-category-grid::before,
.avt-category-grid::after {
	display: none !important;
	content: none !important;
}

.avt-category-card,
.avt-category-card * {
	box-sizing: border-box;
}

.avt-category-card {
	min-width: 0;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.avt-category-card__link {
	position: relative;
	display: flex;
	overflow: hidden;
	min-width: 0;
	height: 100%;
	flex-direction: column;
	border: var(--avt-cat-border-width) solid var(--avt-cat-border-color);
	border-radius: var(--avt-cat-radius);
	background: var(--avt-cat-card-bg);
	box-shadow: var(--avt-cat-shadow);
	color: inherit;
	text-decoration: none !important;
	transition: box-shadow 180ms ease, transform 180ms ease;
}

.avt-category-card__media {
	position: relative;
	display: block;
	overflow: hidden;
	width: 100%;
	min-width: 0;
	background: rgba(0, 0, 0, .035);
}

.avt-cat-ratio-square .avt-category-card__media {
	aspect-ratio: 1 / 1;
}

.avt-cat-ratio-portrait .avt-category-card__media {
	aspect-ratio: 4 / 5;
}

.avt-cat-ratio-landscape .avt-category-card__media {
	aspect-ratio: 4 / 3;
}

.avt-cat-ratio-auto .avt-category-card__media {
	aspect-ratio: auto;
}

.avt-category-card__image {
	display: block;
	width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
	transition: transform 260ms ease;
}

.avt-cat-ratio-auto .avt-category-card__image {
	height: auto !important;
}

.avt-cat-fit-cover .avt-category-card__image {
	object-fit: cover;
}

.avt-cat-fit-contain .avt-category-card__image {
	object-fit: contain;
}

.avt-category-card__content {
	position: relative;
	display: flex;
	min-width: 0;
	flex-direction: column;
	gap: 5px;
	padding: var(--avt-cat-content-padding);
	text-align: left;
}

.avt-cat-align-center .avt-category-card__content {
	text-align: center;
}

.avt-cat-align-right .avt-category-card__content {
	text-align: right;
}

.avt-category-card__title {
	margin: 0 !important;
	padding: 0 !important;
	color: inherit;
	font: inherit;
	line-height: inherit;
}

.avt-category-card__count {
	display: block;
	margin: 0;
	opacity: .72;
}

.avt-category-card__description {
	margin: 4px 0 0 !important;
	line-height: 1.5;
	opacity: .82;
}

.avt-cat-position-overlay .avt-category-card__link {
	position: relative;
}

.avt-cat-position-overlay .avt-category-card__media::after {
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(
		to top,
		var(--avt-cat-overlay) 0%,
		var(--avt-cat-overlay) 18%,
		var(--avt-cat-overlay-transparent) 72%
	);
	content: "";
	pointer-events: none;
}

.avt-cat-position-overlay .avt-category-card__content {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 2;
	padding-top: calc(var(--avt-cat-content-padding) * 2.5);
	background: transparent !important;
	color: #fff;
}

.avt-cat-position-overlay .avt-category-card__title,
.avt-cat-position-overlay .avt-category-card__count,
.avt-cat-position-overlay .avt-category-card__description,
#et-boc .avt-cat-position-overlay .avt-category-card__title,
#et-boc .avt-cat-position-overlay .avt-category-card__count,
#et-boc .avt-cat-position-overlay .avt-category-card__description {
	color: inherit !important;
}

.avt-category-custom-style .avt-category-card__title {
	font-size: var(--avt-cat-title-size, inherit);
	font-weight: var(--avt-cat-title-weight, inherit);
	line-height: var(--avt-cat-title-line-height, inherit);
}

.avt-category-custom-style .avt-category-card__count {
	font-size: var(--avt-cat-count-size, inherit);
}

.avt-category-title-custom-color .avt-category-card__title,
.avt-category-title-custom-color .avt-category-card__link:visited .avt-category-card__title,
.avt-category-title-custom-color .avt-category-card__link:hover .avt-category-card__title,
.avt-category-title-custom-color .avt-category-card__link:focus .avt-category-card__title,
#et-boc .avt-category-title-custom-color .avt-category-card__title,
#et-boc .avt-category-title-custom-color .avt-category-card__link:visited .avt-category-card__title,
#et-boc .avt-category-title-custom-color .avt-category-card__link:hover .avt-category-card__title,
#et-boc .avt-category-title-custom-color .avt-category-card__link:focus .avt-category-card__title {
	color: var(--avt-cat-title-color) !important;
}

.avt-category-count-custom-color .avt-category-card__count,
.avt-category-count-custom-color .avt-category-card__link:visited .avt-category-card__count,
.avt-category-count-custom-color .avt-category-card__link:hover .avt-category-card__count,
.avt-category-count-custom-color .avt-category-card__link:focus .avt-category-card__count,
#et-boc .avt-category-count-custom-color .avt-category-card__count,
#et-boc .avt-category-count-custom-color .avt-category-card__link:visited .avt-category-card__count,
#et-boc .avt-category-count-custom-color .avt-category-card__link:hover .avt-category-card__count,
#et-boc .avt-category-count-custom-color .avt-category-card__link:focus .avt-category-card__count {
	color: var(--avt-cat-count-color) !important;
}

.avt-category-description-custom-color .avt-category-card__description,
.avt-category-description-custom-color .avt-category-card__link:visited .avt-category-card__description,
.avt-category-description-custom-color .avt-category-card__link:hover .avt-category-card__description,
.avt-category-description-custom-color .avt-category-card__link:focus .avt-category-card__description,
#et-boc .avt-category-description-custom-color .avt-category-card__description,
#et-boc .avt-category-description-custom-color .avt-category-card__link:visited .avt-category-card__description,
#et-boc .avt-category-description-custom-color .avt-category-card__link:hover .avt-category-card__description,
#et-boc .avt-category-description-custom-color .avt-category-card__link:focus .avt-category-card__description {
	color: var(--avt-cat-description-color) !important;
}

.avt-cat-hover-zoom .avt-category-card__link:hover .avt-category-card__image,
.avt-cat-hover-zoom .avt-category-card__link:focus-visible .avt-category-card__image {
	transform: scale(1.045);
}

.avt-cat-hover-lift .avt-category-card__link:hover,
.avt-cat-hover-lift .avt-category-card__link:focus-visible {
	box-shadow: 0 14px 30px rgba(0, 0, 0, .14);
	transform: translateY(-4px);
}

.avt-category-card__link:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 3px;
}

@media (max-width: 767px) {
	.avt-category-carousel__arrow {
		width: 38px;
		height: 38px;
		font-size: 18px;
	}

	.avt-category-carousel__arrow--prev {
		left: 6px;
	}

	.avt-category-carousel__arrow--next {
		right: 6px;
	}
}

@media (max-width: 1024px) {
	.avt-category-grid {
		grid-template-columns: repeat(var(--avt-cat-cols-tablet), minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	.avt-category-grid {
		grid-template-columns: repeat(var(--avt-cat-cols-mobile), minmax(0, 1fr));
	}

	.avt-category-custom-style .avt-category-card__title {
		font-size: var(--avt-cat-title-size-mobile, var(--avt-cat-title-size, inherit));
	}
}

@media (hover: none), (pointer: coarse) {
	.avt-cat-hover-zoom .avt-category-card__link:hover .avt-category-card__image,
	.avt-cat-hover-lift .avt-category-card__link:hover {
		box-shadow: var(--avt-cat-shadow);
		transform: none;
	}
}

/* =====================================================
   Vista Categoría 0.6.2 — Mosaic
   ===================================================== */
.avt-category-grid--mosaic {
	grid-template-columns: repeat(12, minmax(0, 1fr));
	grid-auto-rows: calc((var(--avt-mosaic-height) - var(--avt-mosaic-gap)) / 2);
	gap: var(--avt-mosaic-gap);
}

.avt-category-grid--mosaic .avt-category-card__link {
	min-height: 0;
}

.avt-category-grid--mosaic .avt-category-card__media {
	position: absolute;
	inset: 0;
	height: 100%;
	aspect-ratio: auto !important;
}

.avt-category-grid--mosaic .avt-category-card__image {
	height: 100% !important;
	object-fit: cover;
}

.avt-category-grid--mosaic .avt-category-card__content {
	justify-content: flex-end;
}

.avt-mosaic-pattern-large-left .avt-category-card:nth-child(1) {
	grid-column: 1 / 7;
	grid-row: span 2;
}

.avt-mosaic-pattern-large-left .avt-category-card:nth-child(2) {
	grid-column: 7 / 13;
}

.avt-mosaic-pattern-large-left .avt-category-card:nth-child(3) {
	grid-column: 7 / 10;
}

.avt-mosaic-pattern-large-left .avt-category-card:nth-child(4) {
	grid-column: 10 / 13;
}

.avt-mosaic-pattern-large-right .avt-category-card:nth-child(1) {
	grid-column: 7 / 13;
	grid-row: span 2;
}

.avt-mosaic-pattern-large-right .avt-category-card:nth-child(2) {
	grid-column: 1 / 7;
}

.avt-mosaic-pattern-large-right .avt-category-card:nth-child(3) {
	grid-column: 1 / 4;
}

.avt-mosaic-pattern-large-right .avt-category-card:nth-child(4) {
	grid-column: 4 / 7;
}

.avt-mosaic-pattern-featured-top .avt-category-card:nth-child(1) {
	grid-column: 1 / 13;
}

.avt-mosaic-pattern-featured-top .avt-category-card:nth-child(n+2):nth-child(-n+4) {
	grid-column: span 4;
}

.avt-category-grid--mosaic .avt-category-card:nth-child(n+5) {
	grid-column: span 4;
}

/* =====================================================
   Vista Categoría 0.6.2 — Carousel
   ===================================================== */
.avt-category-carousel {
	position: relative;
	width: 100%;
}

.avt-category-carousel__viewport {
	position: relative;
	overflow: hidden;
	width: 100%;
}

.avt-category-grid--carousel {
	display: flex !important;
	grid-template-columns: none !important;
	gap: var(--avt-carousel-gap);
	width: 100%;
	transition: transform var(--avt-carousel-speed) ease;
	will-change: transform;
	touch-action: pan-y;
}

.avt-category-grid--carousel .avt-category-card {
	flex: 0 0 var(--avt-carousel-basis);
	max-width: var(--avt-carousel-basis);
}

.avt-category-grid--carousel .avt-category-card__link {
	height: 100%;
}

.avt-category-carousel__arrows {
	position: absolute;
	inset: 0;
	z-index: 4;
	pointer-events: none;
}

.avt-category-carousel__arrow--prev {
	left: 8px;
}

.avt-category-carousel__arrow--next {
	right: 8px;
}

.avt-category-carousel__arrow {
	position: absolute;
	top: 0;
	bottom: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 64px;
	height: auto;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: linear-gradient(90deg, rgba(9, 18, 30, .58) 0%, rgba(9, 18, 30, .18) 60%, rgba(9, 18, 30, 0) 100%);
	box-shadow: none;
	color: #fff;
	font: inherit;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 52px;
	font-weight: 400;
	line-height: 1;
	cursor: pointer;
	pointer-events: auto;
	transform: none;
	transition: opacity 160ms ease, background 160ms ease, color 160ms ease;
}

.avt-category-carousel__arrow--next {
	background: linear-gradient(270deg, rgba(9, 18, 30, .58) 0%, rgba(9, 18, 30, .18) 60%, rgba(9, 18, 30, 0) 100%);
}

.avt-category-carousel__arrow:hover,
.avt-category-carousel__arrow:focus-visible {
	background: linear-gradient(90deg, rgba(9, 18, 30, .7) 0%, rgba(9, 18, 30, .24) 60%, rgba(9, 18, 30, 0) 100%);
}

.avt-category-carousel__arrow--next:hover,
.avt-category-carousel__arrow--next:focus-visible {
	background: linear-gradient(270deg, rgba(9, 18, 30, .7) 0%, rgba(9, 18, 30, .24) 60%, rgba(9, 18, 30, 0) 100%);
}


.avt-category-carousel__arrow[disabled] {
	cursor: default;
	opacity: .3;
}

.avt-category-carousel__dots {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	min-height: 12px;
	margin-top: 12px;
}

.avt-category-carousel__dots:empty {
	display: none;
}

.avt-category-carousel__dot {
	width: 8px;
	height: 8px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 999px;
	background: currentColor;
	opacity: .25;
	cursor: pointer;
}

.avt-category-carousel__dot.is-active {
	opacity: 1;
}

@media (max-width: 1024px) {
	.avt-category-grid--mosaic {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		grid-auto-rows: auto;
	}

	.avt-category-grid--mosaic .avt-category-card,
	.avt-category-grid--mosaic .avt-category-card:nth-child(n) {
		grid-column: auto;
		grid-row: auto;
	}

	.avt-category-grid--mosaic .avt-category-card__link {
		aspect-ratio: 4 / 3;
	}

	.avt-category-grid--carousel .avt-category-card {
		flex-basis: var(--avt-carousel-basis-tablet);
		max-width: var(--avt-carousel-basis-tablet);
	}
}

@media (max-width: 767px) {
	.avt-category-grid--mosaic {
		grid-template-columns: repeat(var(--avt-mosaic-mobile-cols), minmax(0, 1fr));
	}

	.avt-category-grid--mosaic .avt-category-card__link {
		aspect-ratio: 4 / 3;
	}

	.avt-category-grid--carousel .avt-category-card {
		flex-basis: var(--avt-carousel-basis-mobile);
		max-width: var(--avt-carousel-basis-mobile);
	}
}

@media (prefers-reduced-motion: reduce) {
	.avt-category-grid--carousel,
	.avt-category-grid--carousel .avt-category-card__image {
		transition-duration: 1ms !important;
	}
}

/* =====================================================
   Vista Producto 0.7.0 — Plantilla Clásica
   ===================================================== */
.avt-product-view {
	--avt-product-gallery-width: 55%;
	--avt-product-gap: 40px;
	--avt-product-title-size: 36px;
	--avt-product-title-size-mobile: 28px;
	--avt-product-title-line-height: 1.15;
	--avt-product-title-weight: inherit;
	--avt-product-title-color: inherit;
	--avt-product-title-divider-width: 25%;
	--avt-product-title-divider-thickness: 3px;
	--avt-product-title-divider-color: var(--avt-product-accent, currentColor);
	--avt-product-tabs-title-increase: 2px;
	--avt-product-tabs-line-thickness: 3px;
	--avt-product-tabs-line-color: var(--avt-product-accent, currentColor);
	--avt-product-tabs-margin-top: 72px;
	--avt-product-tabs-margin-bottom: 24px;
	--avt-product-price-size: 24px;
	--avt-product-button-radius: 4px;
	--avt-product-accent: var(--wd-primary-color, var(--e-global-color-primary, var(--wp--preset--color--primary, var(--avt-accent-color, #333))));
	--avt-product-button-text: #fff;
	--avt-variation-border-width: 1px;
	--avt-variation-radius: 6px;
	--avt-variation-font-size: 14px;
	--avt-variation-padding-x: 14px;
	--avt-variation-padding-y: 9px;
	--avt-variation-gap-x: 8px;
	--avt-variation-gap-y: 8px;
	--avt-variation-swatch-size: 30px;
	width: 100%;
	min-width: 0;
}

.avt-product-breadcrumb {
	margin-bottom: 24px;
}

.avt-product-breadcrumb .woocommerce-breadcrumb {
	margin: 0;
}

.avt-product-main {
	display: grid;
	grid-template-columns: minmax(0, var(--avt-product-gallery-width)) minmax(0, 1fr);
	align-items: start;
	gap: var(--avt-product-gap);
}

.avt-product-gallery {
	display: grid;
	grid-template-columns: 82px minmax(0, 1fr);
	gap: 14px;
	min-width: 0;
}

/* Una sola imagen (o miniaturas ocultas): la principal debe ocupar todo el ancho. */
.avt-product-gallery--no-thumbs {
	grid-template-columns: minmax(0, 1fr);
}

.avt-product-thumbs--bottom .avt-product-gallery {
	grid-template-columns: minmax(0, 1fr);
}

.avt-product-thumbs--bottom .avt-product-gallery__stage {
	grid-row: 1;
}

.avt-product-thumbs--bottom .avt-product-gallery__thumbs {
	grid-row: 2;
	grid-template-columns: repeat(auto-fit, minmax(64px, 82px));
	grid-auto-flow: column;
	overflow-x: auto;
}

.avt-product-thumbs--none .avt-product-gallery {
	grid-template-columns: minmax(0, 1fr);
}

.avt-product-gallery__thumbs {
	display: grid;
	align-content: start;
	gap: 10px;
	max-height: 660px;
	overflow-y: auto;
	scrollbar-width: thin;
}

.avt-product-gallery__thumb {
	display: block;
	width: 100%;
	aspect-ratio: 1;
	margin: 0;
	padding: 3px;
	border: 1px solid rgba(0, 0, 0, .14);
	border-radius: 3px;
	background: transparent;
	cursor: pointer;
	overflow: hidden;
}

.avt-product-gallery__thumb.is-active,
.avt-product-gallery__thumb:focus-visible {
	border-color: var(--avt-product-accent);
	outline: none;
}

.avt-product-gallery__thumb img,
.avt-product-gallery__stage img {
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
}

.avt-product-gallery__thumb img {
	object-fit: cover;
}

.avt-product-gallery__stage {
	position: relative;
	min-width: 0;
	aspect-ratio: 1;
	overflow: hidden;
}

.avt-product-image-ratio--portrait .avt-product-gallery__stage { aspect-ratio: 4 / 5; }
.avt-product-image-ratio--landscape .avt-product-gallery__stage { aspect-ratio: 4 / 3; }
.avt-product-image-ratio--auto .avt-product-gallery__stage { aspect-ratio: auto; }
.avt-product-image-fit--contain .avt-product-gallery__stage img { object-fit: contain; }
.avt-product-image-fit--cover .avt-product-gallery__stage img { object-fit: cover; }
.avt-product-image-ratio--auto .avt-product-gallery__stage img { height: auto; }


/* Zoom de alta resolución para la galería de producto. */
.avt-product-gallery--zoom .avt-product-gallery__stage {
	cursor: zoom-in;
}

.avt-product-gallery__zoom-pane {
	position: absolute;
	inset: 0;
	z-index: 2;
	display: block;
	overflow: hidden;
	background: inherit;
	opacity: 0;
	pointer-events: none;
	transition: opacity 120ms ease;
}

.avt-product-gallery__zoom-image {
	position: absolute;
	inset: 0;
	display: block;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	transform: scale(2.15);
	transform-origin: 50% 50%;
	will-change: transform;
}

.avt-product-gallery__stage.is-zooming .avt-product-gallery__zoom-pane {
	opacity: 1;
}

.avt-product-gallery__zoom-icon {
	position: absolute;
	top: 14px;
	right: 14px;
	z-index: 3;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: rgba(255, 255, 255, .9);
	box-shadow: 0 2px 10px rgba(0, 0, 0, .1);
	color: #111;
	pointer-events: none;
	transition: opacity 120ms ease;
}

.avt-product-gallery__zoom-icon svg {
	width: 19px;
	height: 19px;
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
	stroke-linecap: round;
}

.avt-product-gallery__stage.is-zooming .avt-product-gallery__zoom-icon {
	opacity: 0;
}

@media (hover: none), (pointer: coarse) {
	.avt-product-gallery--zoom .avt-product-gallery__stage {
		cursor: default;
	}

	.avt-product-gallery__zoom-pane,
	.avt-product-gallery__zoom-icon {
		display: none;
	}
}

.avt-product-summary {
	min-width: 0;
}

.avt-product-summary .avt-product-title {
	margin: 0;
	font-weight: var(--avt-product-title-weight, inherit);
}

/* Un color seleccionado en Vista Producto debe vencer el H1 de Divi sin alterar su tipografía. */
html body #et-boc .avt-product-view.avt-product-title-color--custom .avt-product-summary h1.avt-product-title,
html body .avt-product-view.avt-product-title-color--custom .avt-product-summary h1.avt-product-title,
html body .avt-product-view.avt-product-title-color--custom .avt-product-summary .product_title.entry-title {
	color: var(--avt-product-title-color) !important;
}

/* Solo se altera la tipografía cuando el usuario desactiva la herencia del tema. */
.avt-product-view--custom.avt-product-typography--custom .avt-product-title {
	font-size: var(--avt-product-title-size);
	line-height: var(--avt-product-title-line-height);
}

.avt-product-title-divider {
	display: block;
	width: var(--avt-product-title-divider-width);
	height: var(--avt-product-title-divider-thickness);
	margin: 8px 0 22px;
	background: var(--avt-product-title-divider-color);
}

.avt-product-summary .woocommerce-product-rating {
	margin: 0 0 14px;
}

.avt-product-price,
.avt-product-price.price,
p.avt-product-price.price {
	margin: 28px 0 28px !important;
}

.avt-product-view--custom .avt-product-price,
.avt-product-view--custom .avt-product-price.price,
.avt-product-view--custom p.avt-product-price.price {
	color: var(--avt-product-price-color, inherit);
}

.avt-product-view--custom.avt-product-typography--custom .avt-product-price,
.avt-product-view--custom.avt-product-typography--custom .avt-product-price.price,
.avt-product-view--custom.avt-product-typography--custom p.avt-product-price.price {
	font-size: var(--avt-product-price-size);
}

.avt-product-short-description {
	margin-bottom: 24px;
}

.avt-product-view--custom .avt-product-short-description,
.avt-product-view--custom .avt-product-short-description p {
	font-size: var(--avt-product-description-size, inherit);
}

.avt-product-short-description,
.avt-product-short-description p,
.avt-product-sections .woocommerce-Tabs-panel {
	font-family: inherit;
	font-size: inherit;
	line-height: inherit;
	color: inherit;
}

.avt-product-purchase form.cart,
.avt-product-purchase form.variations_form {
	margin-bottom: 20px;
}

.avt-product-purchase form.cart:not(.variations_form),
.avt-product-purchase .woocommerce-variation-add-to-cart {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px;
}

.avt-product-purchase .quantity {
	display: inline-flex;
	align-items: center;
	float: none;
	margin: 0 !important;
}

/* Espacio suficiente para cantidades de hasta tres dígitos sin ocultarlas tras los controles nativos. */
.avt-product-purchase .quantity .qty {
	box-sizing: border-box;
	width: 82px;
	min-width: 82px;
	padding-right: 26px;
	padding-left: 12px;
	text-align: center;
}

.avt-product-purchase .single_add_to_cart_button {
	position: relative;
	align-self: center;
	float: none;
	margin: 0 !important;
	border-radius: var(--avt-product-button-radius) !important;
}

/*
 * Cuando Divi imprime su icono en ::after, se reserva espacio permanente para
 * mantener una separación cómoda respecto al texto sin cambiar la geometría
 * durante hover, foco o clic.
 */
.avt-product-purchase .single_add_to_cart_button.et_pb_button {
	padding-right: 2.55em !important;
}

/*
 * Divi dibuja el icono del botón mediante ::after y modifica su margen o
 * transform durante hover, focus y active. En el clic ese cambio puede verse
 * como un salto breve. Se fija únicamente la geometría del pseudo-elemento;
 * el contenido, color y visibilidad continúan heredándose del tema.
 */
.avt-product-purchase .single_add_to_cart_button::after {
	position: absolute !important;
	top: 50% !important;
	right: .72em !important;
	width: 1em;
	height: 1em;
	margin: 0 !important;
	line-height: 1 !important;
	transform: translateY(-50%) !important;
	transform-origin: center !important;
	pointer-events: none;
	transition: color .2s ease, opacity .2s ease !important;
}

.avt-product-purchase .single_add_to_cart_button:hover::after,
.avt-product-purchase .single_add_to_cart_button:focus::after,
.avt-product-purchase .single_add_to_cart_button:focus-visible::after,
.avt-product-purchase .single_add_to_cart_button:active::after,
.avt-product-purchase .single_add_to_cart_button.loading::after,
.avt-product-purchase .single_add_to_cart_button.added::after {
	top: 50% !important;
	right: .72em !important;
	margin: 0 !important;
	transform: translateY(-50%) !important;
}

/*
 * El botón hereda íntegramente el tema mientras los colores estén vacíos.
 * Solo se sustituyen fondo/borde o texto cuando el usuario configura esos
 * valores expresamente en Vista Producto.
 */
.avt-product-view--custom.avt-product-button-bg--custom .avt-product-purchase .single_add_to_cart_button {
	border-color: var(--avt-product-accent) !important;
	background-color: var(--avt-product-accent) !important;
	color: var(--avt-product-button-text, #fff) !important;
}

.avt-product-view--custom.avt-product-button-text--custom .avt-product-purchase .single_add_to_cart_button {
	color: var(--avt-product-button-text) !important;
}

.avt-product-button--full .avt-product-purchase .single_add_to_cart_button {
	display: block;
	flex: 1 0 100%;
	float: none;
	width: 100%;
	margin-top: 10px !important;
}

.avt-product-meta,
.avt-product-share {
	margin-top: 18px;
}

.avt-product-meta__details {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 4px;
}

.avt-product-meta__details > .sku_wrapper,
.avt-product-meta__details > .posted_in,
.avt-product-meta__details > .tagged_as {
	display: inline;
}

.avt-product-meta__separator {
	display: inline-block;
	margin: 0 2px;
	opacity: .72;
}

.avt-product-meta__rating {
	margin-top: 10px;
}

.avt-product-meta__rating .woocommerce-product-rating {
	margin: 0 0 10px;
}

.avt-product-sections,
.avt-product-upsells {
	margin-top: 48px;
}

/* Da más aire entre el cierre de la información principal —incluidos los
 * métodos de pago— y el inicio de las pestañas del producto. */
.avt-product-main + .avt-product-sections {
	margin-top: 72px;
}

.avt-product-related {
	width: 100%;
	max-width: none;
	margin-top: 56px;
	padding-top: 40px;
	border-top: var(--avt-product-related-divider-thickness, 1px) solid var(--avt-product-related-divider-color, rgba(0, 0, 0, .12));
}

.avt-product-related > .related,
.avt-product-related > .related.products {
	display: block !important;
	width: 100%;
	max-width: none;
	margin: 0;
}

/* WooCommerce conserva la consulta, pero la ficha de AV Tienda limita este
 * bloque a cuatro productos y mantiene una cuadrícula de cuatro columnas.
 * Se apunta únicamente al UL para que el H2 permanezca en un renglón propio. */
.avt-product-related .related > ul.products,
.avt-product-related .related.products > ul.products {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	gap: 28px !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.avt-product-related .related > ul.products::before,
.avt-product-related .related > ul.products::after,
.avt-product-related .related.products > ul.products::before,
.avt-product-related .related.products > ul.products::after {
	display: none !important;
}

.avt-product-related .related > ul.products > li.product,
.avt-product-related .related.products > ul.products > li.product {
	float: none !important;
	clear: none !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
}

.avt-product-related .related > h2,
.avt-product-related .related.products > h2 {
	display: block;
	margin: 0 0 28px;
}

.avt-product-related-title-size--custom .avt-product-related .related > h2 {
	font-size: var(--avt-product-related-title-size) !important;
}

.avt-product-related-title-weight--custom .avt-product-related .related > h2 {
	font-weight: var(--avt-product-related-title-weight) !important;
}

.avt-product-related-title-color--custom .avt-product-related .related > h2 {
	color: var(--avt-product-related-title-color) !important;
}

.avt-product-sections .woocommerce-tabs {
	width: 100%;
}

/* Encabezados de acordeón para celular; permanecen ocultos en escritorio. */
.avt-product-mobile-tab {
	display: none;
}

/* Pestañas limpias tipo editorial: WooCommerce conserva la interacción y AV Tienda controla el look. */
.avt-product-sections--tabs,
.avt-product-sections--tabs .woocommerce-tabs {
	width: 100%;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	outline: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

/* El reset visual anterior no debe borrar el espacio exterior del bloque.
 * Se usa un selector más específico porque la sección comparte la clase
 * avt-product-sections--tabs con el contenedor que se normaliza. */
.avt-product-sections.avt-product-sections--tabs {
	margin-top: var(--avt-product-tabs-margin-top, 72px) !important;
	margin-bottom: var(--avt-product-tabs-margin-bottom, 24px) !important;
}

.avt-product-sections--tabs .woocommerce-tabs > ul.tabs {
	display: flex !important;
	align-items: flex-end;
	justify-content: center;
	flex-wrap: wrap;
	gap: 0 34px;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-bottom: 1px solid rgba(0, 0, 0, .12) !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	overflow: visible !important;
}

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

.avt-product-sections--tabs .woocommerce-tabs > ul.tabs > li {
	position: relative !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

.avt-product-sections--tabs .woocommerce-tabs > ul.tabs > li::before {
	display: none !important;
}

.avt-product-sections--tabs .woocommerce-tabs > ul.tabs > li::after {
	display: none !important;
}

.avt-product-sections--tabs .woocommerce-tabs > ul.tabs > li > a {
	position: relative !important;
	display: block !important;
	padding: 20px 0 !important;
	border: 0 !important;
	background: transparent !important;
	color: inherit !important;
	font-family: inherit;
	font-size: calc(1em + var(--avt-product-tabs-title-increase, 2px)) !important;
	font-weight: inherit;
	line-height: inherit;
	text-decoration: none !important;
	opacity: .62;
	overflow: visible !important;
	transition: opacity 160ms ease, color 160ms ease;
}

.avt-product-sections--tabs .woocommerce-tabs > ul.tabs > li > a::after {
	content: "" !important;
	position: absolute !important;
	right: 0 !important;
	bottom: -1px !important;
	left: 0 !important;
	display: block !important;
	width: 100% !important;
	min-width: 100% !important;
	max-width: none !important;
	height: 0;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	opacity: 1 !important;
	transform: none !important;
}

.avt-product-sections--tabs .woocommerce-tabs > ul.tabs > li.active > a::after {
	height: var(--avt-product-tabs-line-thickness) !important;
	background: var(--avt-product-tabs-line-color) !important;
}

.avt-product-sections--tabs .woocommerce-tabs > ul.tabs > li.active > a,
.avt-product-sections--tabs .woocommerce-tabs > ul.tabs > li > a:hover,
.avt-product-sections--tabs .woocommerce-tabs > ul.tabs > li > a:focus-visible {
	opacity: 1;
}

.avt-product-sections--tabs .woocommerce-tabs > .woocommerce-Tabs-panel,
.avt-product-sections--tabs .woocommerce-tabs > .panel,
.avt-product-sections--tabs .woocommerce-tabs > div[id^="tab-"] {
	margin: 0 !important;
	padding: 30px 0 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	outline: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

/* Espaciado superior de encabezados editoriales dentro de la descripción larga.
 * Solo se controla margin-top; margin-bottom sigue heredándose de Divi o del tema. */
.avt-product-sections #tab-description :is(h1, h2, h3, h4, h5, h6),
.avt-product-sections .woocommerce-Tabs-panel--description :is(h1, h2, h3, h4, h5, h6),
.avt-product-open-section--description .avt-product-open-section__content :is(h1, h2, h3, h4, h5, h6) {
	margin-top: var(--avt-product-description-heading-margin-top, 24px) !important;
}

/* El nombre ya está en la pestaña; ocultamos el H2 que WooCommerce repite dentro del contenido. */
.avt-product-sections--tabs .woocommerce-tabs > .woocommerce-Tabs-panel > h2:first-child,
.avt-product-sections--tabs .woocommerce-tabs > .panel > h2:first-child,
.avt-product-sections--tabs .woocommerce-tabs > div[id^="tab-"] > h2:first-child {
	display: none !important;
}

/* Tabla de información adicional con estilo limpio y contenido centrado. */
.avt-product-sections--tabs .woocommerce-tabs .shop_attributes {
	width: 100% !important;
	max-width: 760px;
	margin: 0 auto !important;
	border: 0 !important;
	border-collapse: collapse !important;
	border-spacing: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

.avt-product-sections--tabs .woocommerce-tabs .shop_attributes tbody,
.avt-product-sections--tabs .woocommerce-tabs .shop_attributes tr,
.avt-product-sections--tabs .woocommerce-tabs .shop_attributes th,
.avt-product-sections--tabs .woocommerce-tabs .shop_attributes td {
	border: 0 !important;
	background: transparent !important;
}

.avt-product-sections--tabs .woocommerce-tabs .shop_attributes tr {
	border-bottom: 1px solid rgba(0, 0, 0, .12) !important;
}

.avt-product-sections--tabs .woocommerce-tabs .shop_attributes tr:first-child {
	border-top: 1px solid rgba(0, 0, 0, .12) !important;
}

.avt-product-sections--tabs .woocommerce-tabs .shop_attributes th,
.avt-product-sections--tabs .woocommerce-tabs .shop_attributes td {
	padding: 18px 0 !important;
	font-size: inherit;
	line-height: 1.55;
	vertical-align: middle !important;
}

.avt-product-sections--tabs .woocommerce-tabs .shop_attributes th {
	width: 42%;
	padding-right: 28px !important;
	text-align: left !important;
	font-weight: 700;
	color: inherit !important;
}

.avt-product-sections--tabs .woocommerce-tabs .shop_attributes td {
	text-align: right !important;
	font-weight: 400;
	color: inherit !important;
	opacity: .72;
}

.avt-product-open-section {
	padding: 28px 0;
	border-top: 1px solid rgba(0, 0, 0, .1);
}

.avt-product-open-section:last-child {
	border-bottom: 1px solid rgba(0, 0, 0, .1);
}

/*
 * El select nativo permanece en el DOM para que WooCommerce controle las
 * combinaciones, pero se oculta desde el primer render para evitar destellos.
 */
.avt-product-view select[data-avt-native-variation="1"] {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	margin: -1px !important;
	padding: 0 !important;
	clip: rect(0 0 0 0) !important;
	clip-path: inset(50%) !important;
	overflow: hidden !important;
	white-space: nowrap !important;
	border: 0 !important;
}

/*
 * Compatibilidad de primer render con Woo Variation Swatches. Cuando una celda
 * contiene controles propios de AV Tienda, su interfaz alternativa se oculta
 * mediante CSS antes de que JavaScript se ejecute. El observador JS permanece
 * como respaldo para navegadores antiguos y contenido insertado después.
 */
.avt-product-view .value:has(.avt-variation-options[data-avt-select-name]) .variable-items-wrapper {
	display: none !important;
}

.avt-product-variations-ready .avt-third-party-variation-ui-hidden {
	display: none !important;
}

.avt-variation-options {
	display: flex;
	flex-wrap: wrap;
	gap: var(--avt-variation-gap-y) var(--avt-variation-gap-x);
	width: 100%;
}

.avt-variation-options--list {
	align-items: stretch;
	flex-direction: column;
}

.avt-variation-options--radio {
	align-items: flex-start;
	flex-direction: column;
}

.avt-variation-option {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 38px;
	margin: 0;
	padding: var(--avt-variation-padding-y) var(--avt-variation-padding-x);
	border: var(--avt-variation-border-width) solid currentColor;
	border-radius: var(--avt-variation-radius);
	background: transparent;
	color: inherit;
	font: inherit;
	font-size: var(--avt-variation-font-size);
	line-height: 1.2;
	text-align: center;
	cursor: pointer;
	transition: border-color 150ms ease, background-color 150ms ease, color 150ms ease, opacity 150ms ease;
}

.avt-variation-option--list {
	justify-content: flex-start;
	width: 100%;
	text-align: left;
}

/*
 * Radio: opción compacta y limpia. No reutiliza el relleno ni el marco de los
 * chips; solo el punto activo toma el color principal de la ficha o del tema.
 */
.avt-product-view .avt-variation-options--radio .avt-variation-option--radio {
	justify-content: flex-start;
	width: auto;
	min-height: 28px;
	padding: 3px 0;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: inherit !important;
	text-align: left;
}

/*
 * Chips: las opciones disponibles permanecen neutras y la selección toma el
 * color principal. Los controles personalizados del panel pueden sobrescribir
 * cualquiera de estos valores.
 */
.avt-product-view .avt-variation-options--chips .avt-variation-option {
	border-color: var(--avt-variation-border, #d5d7da) !important;
	background: var(--avt-variation-bg, #f3f4f5) !important;
	color: var(--avt-variation-text, #30343a) !important;
}

.avt-product-view .avt-variation-options--chips .avt-variation-option:hover,
.avt-product-view .avt-variation-options--chips .avt-variation-option:focus-visible {
	border-color: var(--avt-variation-hover-border, var(--avt-product-accent)) !important;
	background: var(--avt-variation-hover-bg, #e9eaec) !important;
	color: var(--avt-variation-hover-text, #202328) !important;
	outline: none;
}

.avt-product-view .avt-variation-options--chips .avt-variation-option.is-selected {
	border-color: var(--avt-variation-selected-border, var(--avt-product-accent)) !important;
	background: var(--avt-variation-selected-bg, var(--avt-product-accent)) !important;
	color: var(--avt-variation-selected-text, #fff) !important;
	box-shadow: 0 0 0 1px var(--avt-variation-selected-border, var(--avt-product-accent));
}

.avt-variation-option--radio {
	cursor: pointer;
}

.avt-variation-option--radio input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.avt-variation-option__radio-mark {
	flex: 0 0 auto;
	width: 17px;
	height: 17px;
	border: 1px solid currentColor;
	border-radius: 50%;
	background: transparent;
	box-shadow: inset 0 0 0 4px transparent;
	transition: border-color 150ms ease, background-color 150ms ease, box-shadow 150ms ease;
}

.avt-product-view .avt-variation-options--radio .avt-variation-option--radio:hover .avt-variation-option__radio-mark,
.avt-product-view .avt-variation-options--radio .avt-variation-option--radio:focus-within .avt-variation-option__radio-mark {
	border-color: var(--avt-product-accent, currentColor);
}

.avt-product-view .avt-variation-options--radio .avt-variation-option--radio.is-selected .avt-variation-option__radio-mark {
	border-color: var(--avt-product-accent, currentColor);
	background: var(--avt-product-accent, currentColor);
	box-shadow: inset 0 0 0 4px #fff;
}

.avt-product-view .avt-variation-options--radio .avt-variation-option--radio.is-selected .avt-variation-option__label {
	font-weight: 700;
}

.avt-variation-option--color {
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	gap: 10px;
}

.avt-variation-options--color .avt-variation-option__label {
	color: var(--avt-variation-text, inherit);
	transition: color 150ms ease;
}

.avt-variation-options--color .avt-variation-option:hover .avt-variation-option__label,
.avt-variation-options--color .avt-variation-option:focus-visible .avt-variation-option__label {
	color: var(--avt-variation-hover-text, var(--avt-variation-text, inherit));
}

.avt-variation-options--color .avt-variation-option.is-selected .avt-variation-option__label {
	color: var(--avt-variation-selected-text, var(--avt-product-accent, inherit));
	font-weight: 700;
}

.avt-variation-option__swatch {
	display: block;
	width: var(--avt-variation-swatch-size);
	height: var(--avt-variation-swatch-size);
	border: 0;
	background: var(--avt-term-color-bg, var(--avt-term-color, #d9d9d9));
	box-shadow: var(--avt-term-color-outline, none);
}

.avt-variation-shape--circle .avt-variation-option__swatch { border-radius: 50%; }
.avt-variation-shape--square .avt-variation-option__swatch { border-radius: 0; }
.avt-variation-shape--rounded .avt-variation-option__swatch { border-radius: 6px; }

.avt-product-view.avt-product-variations--custom .avt-variation-option {
	border-color: var(--avt-variation-border, currentColor) !important;
	background: var(--avt-variation-bg, transparent) !important;
	color: var(--avt-variation-text, inherit) !important;
}

.avt-product-view.avt-product-variations--custom .avt-variation-option:hover,
.avt-product-view.avt-product-variations--custom .avt-variation-option:focus-visible {
	border-color: var(--avt-variation-hover-border, var(--avt-product-accent)) !important;
	background: var(--avt-variation-hover-bg, transparent) !important;
	color: var(--avt-variation-hover-text, inherit) !important;
	outline: none;
}

.avt-product-view.avt-product-variations--custom .avt-variation-option.is-selected {
	border-color: var(--avt-variation-selected-border, var(--avt-product-accent)) !important;
	background: var(--avt-variation-selected-bg, var(--avt-product-accent)) !important;
	color: var(--avt-variation-selected-text, #fff) !important;
}


/* Los colores de relleno configurados para chips/listas no convierten los radios en cajas. */
.avt-product-view.avt-product-variations--custom .avt-variation-options--radio .avt-variation-option--radio,
.avt-product-view.avt-product-variations--custom .avt-variation-options--radio .avt-variation-option--radio:hover,
.avt-product-view.avt-product-variations--custom .avt-variation-options--radio .avt-variation-option--radio:focus-within,
.avt-product-view.avt-product-variations--custom .avt-variation-options--radio .avt-variation-option--radio.is-selected {
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: inherit !important;
}

.avt-product-view.avt-product-variations--custom .avt-variation-options--radio .avt-variation-option--radio.is-selected .avt-variation-option__radio-mark {
	border-color: var(--avt-variation-selected-bg, var(--avt-product-accent)) !important;
	background: var(--avt-variation-selected-bg, var(--avt-product-accent)) !important;
}

/* Las muestras de color conservan una presentación limpia sin caja.
 * Solo cambia el color del texto según la configuración de chips/listas. */
.avt-product-view.avt-product-variations--custom .avt-variation-options--color .avt-variation-option,
.avt-product-view.avt-product-variations--custom .avt-variation-options--color .avt-variation-option:hover,
.avt-product-view.avt-product-variations--custom .avt-variation-options--color .avt-variation-option:focus-visible,
.avt-product-view.avt-product-variations--custom .avt-variation-options--color .avt-variation-option.is-selected {
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

.avt-product-view.avt-product-variations--custom .avt-variation-options--color .avt-variation-option .avt-variation-option__label {
	color: var(--avt-variation-text, inherit) !important;
}

.avt-product-view.avt-product-variations--custom .avt-variation-options--color .avt-variation-option:hover .avt-variation-option__label,
.avt-product-view.avt-product-variations--custom .avt-variation-options--color .avt-variation-option:focus-visible .avt-variation-option__label {
	color: var(--avt-variation-hover-text, var(--avt-variation-text, inherit)) !important;
}

.avt-product-view.avt-product-variations--custom .avt-variation-options--color .avt-variation-option.is-selected .avt-variation-option__label {
	color: var(--avt-variation-selected-text, var(--avt-product-accent)) !important;
	font-weight: 700;
}

.avt-variation-option.is-disabled,
.avt-variation-option:disabled {
	color: var(--avt-variation-disabled, #999) !important;
	cursor: not-allowed;
	opacity: .45;
	text-decoration: line-through;
}

.avt-product-purchase table.variations {
	width: 100%;
	margin-bottom: 14px;
}

.avt-product-purchase table.variations th,
.avt-product-purchase table.variations td {
	display: block;
	width: 100%;
	padding: 0 0 8px;
	text-align: left;
}

.avt-product-purchase table.variations tr + tr th {
	padding-top: 14px;
}

@media (max-width: 767px) {
	.avt-product-main {
		grid-template-columns: minmax(0, 1fr);
		gap: 28px;
	}

	.avt-product-gallery {
		grid-template-columns: minmax(0, 1fr);
	}

	.avt-product-gallery__stage {
		grid-row: 1;
		touch-action: pan-y pinch-zoom;
	}

	.avt-product-gallery__main-image {
		-webkit-user-drag: none;
		user-select: none;
		will-change: transform, opacity;
	}

	.avt-product-gallery__stage.is-swiping .avt-product-gallery__main-image {
		pointer-events: none;
	}

	.avt-product-gallery__thumbs {
		grid-row: 2;
		grid-template-columns: repeat(auto-fit, minmax(58px, 72px));
		grid-auto-flow: column;
		max-height: none;
		overflow-x: auto;
		overflow-y: hidden;
	}

	.avt-product-view--custom.avt-product-typography--custom .avt-product-title {
		font-size: var(--avt-product-title-size-mobile);
	}

	.avt-product-sections--tabs .woocommerce-tabs > ul.tabs {
		gap: 0 20px;
	}

	.avt-product-sections,
	.avt-product-upsells,
	.avt-product-related {
		margin-top: 36px;
	}
}

.avt-product-variations--custom select[data-avt-variation-style="select"] {
	min-height: 42px;
	padding: var(--avt-variation-padding-y) var(--avt-variation-padding-x);
	border: var(--avt-variation-border-width) solid var(--avt-variation-border, currentColor);
	border-radius: var(--avt-variation-radius);
	background-color: var(--avt-variation-bg, transparent);
	color: var(--avt-variation-text, inherit);
	font-size: var(--avt-variation-font-size);
}

.avt-product-variations--custom select[data-avt-variation-style="select"]:hover,
.avt-product-variations--custom select[data-avt-variation-style="select"]:focus {
	border-color: var(--avt-variation-hover-border, var(--avt-product-accent));
	background-color: var(--avt-variation-hover-bg, transparent);
	color: var(--avt-variation-hover-text, inherit);
	outline: none;
}


@media (max-width: 767px) {
	.avt-product-sections--tabs .woocommerce-tabs > ul.tabs {
		justify-content: flex-start;
		gap: 0 22px;
		overflow-x: auto !important;
		flex-wrap: nowrap;
		-webkit-overflow-scrolling: touch;
	}

	.avt-product-sections--tabs .woocommerce-tabs > ul.tabs > li {
		flex: 0 0 auto;
	}

	.avt-product-sections--tabs .woocommerce-tabs .shop_attributes {
		max-width: none;
	}

	.avt-product-sections--tabs .woocommerce-tabs .shop_attributes th,
	.avt-product-sections--tabs .woocommerce-tabs .shop_attributes td {
		display: block;
		width: 100% !important;
		padding: 12px 0 !important;
		text-align: left !important;
	}

	.avt-product-sections--tabs .woocommerce-tabs .shop_attributes th {
		padding-bottom: 4px !important;
		padding-right: 0 !important;
	}

	.avt-product-sections--tabs .woocommerce-tabs .shop_attributes td {
		padding-top: 0 !important;
	}

	/* En celular las pestañas se convierten en acordeón. */
	.avt-product-sections--mobile-accordion .woocommerce-tabs > ul.tabs {
		display: none !important;
	}

	.avt-product-sections--mobile-accordion .avt-product-mobile-tab {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 16px;
		width: 100%;
		margin: 0;
		padding: 18px 0;
		border: 0;
		border-top: 1px solid rgba(0, 0, 0, .12);
		border-radius: 0;
		background: transparent;
		color: inherit;
		font: inherit;
		font-size: calc(1em + var(--avt-product-tabs-title-increase, 2px));
		font-weight: 700;
		line-height: 1.35;
		text-align: left;
		cursor: pointer;
	}

	.avt-product-sections--mobile-accordion .avt-product-mobile-tab:last-of-type {
		border-bottom: 1px solid rgba(0, 0, 0, .12);
	}

	.avt-product-sections--mobile-accordion .avt-product-mobile-tab.is-active {
		color: var(--avt-product-tabs-line-color, var(--avt-product-accent, currentColor));
	}

	.avt-product-mobile-tab__icon {
		flex: 0 0 auto;
		width: 8px;
		height: 8px;
		margin-right: 3px;
		border-right: 1.5px solid currentColor;
		border-bottom: 1.5px solid currentColor;
		transform: rotate(45deg);
		transition: transform 160ms ease;
	}

	.avt-product-mobile-tab[aria-expanded="true"] .avt-product-mobile-tab__icon {
		transform: rotate(225deg);
	}

	.avt-product-sections--mobile-accordion .woocommerce-tabs > .woocommerce-Tabs-panel,
	.avt-product-sections--mobile-accordion .woocommerce-tabs > .panel,
	.avt-product-sections--mobile-accordion .woocommerce-tabs > div[id^="tab-"] {
		padding: 20px 0 24px !important;
	}

	.avt-product-sections--mobile-accordion .woocommerce-tabs > [hidden] {
		display: none !important;
	}
}

@media (max-width: 980px) {
	.avt-product-related .related > ul.products,
	.avt-product-related .related.products > ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 767px) {
	.avt-product-related {
		margin-top: 40px;
		padding-top: 30px;
	}

	.avt-product-related .related > ul.products,
	.avt-product-related .related.products > ul.products {
		grid-template-columns: minmax(0, 1fr) !important;
		gap: 24px !important;
	}
}

/* =====================================================
   Pago y envío 0.8.0
   ===================================================== */
.avt-payment-methods {
	margin-top: 22px;
	padding-top: 20px;
	border-top: 1px solid rgba(0, 0, 0, .12);
}

.avt-payment-methods__heading {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 16px;
}

.avt-payment-methods__icon {
	display: inline-flex;
	width: 26px;
	height: 26px;
	flex: 0 0 auto;
	align-items: center;
	justify-content: center;
	color: var(--avt-product-accent, currentColor);
}

.avt-payment-methods__icon svg {
	display: block;
	width: 100%;
	height: 100%;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.8;
}

.avt-payment-methods__title {
	margin: 0 !important;
	padding: 0 !important;
	font: inherit;
	font-size: 1.05em;
	font-weight: 700;
	line-height: 1.3;
	text-transform: uppercase;
}

.avt-payment-methods__logos {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: var(--avt-payment-logo-gap, 18px);
	margin: 0;
	padding: 0;
	list-style: none;
}

.avt-payment-methods__logos li {
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	padding: 0;
}

.avt-payment-methods__logos img {
	display: block;
	width: auto;
	max-width: 150px;
	height: auto;
	max-height: var(--avt-payment-logo-height, 42px);
	object-fit: contain;
}

.avt-payment-methods__note {
	margin-top: 14px;
	opacity: .78;
}

.avt-payment-methods__note > :first-child,
.avt-shipping-info__content > :first-child {
	margin-top: 0;
}

.avt-payment-methods__note > :last-child,
.avt-shipping-info__content > :last-child {
	margin-bottom: 0;
}

.avt-payment-methods--center .avt-payment-methods__heading,
.avt-payment-methods--center .avt-payment-methods__logos {
	justify-content: center;
}

.avt-payment-methods--center .avt-payment-methods__note {
	text-align: center;
}

.avt-payment-methods--right .avt-payment-methods__heading,
.avt-payment-methods--right .avt-payment-methods__logos {
	justify-content: flex-end;
}

.avt-payment-methods--right .avt-payment-methods__note {
	text-align: right;
}

.avt-shipping-info {
	max-width: 920px;
	margin-right: auto;
	margin-left: auto;
}

.avt-shipping-info__title {
	margin-top: 0;
}

.avt-shipping-info__link {
	margin-top: 18px;
}

.avt-shipping-info__link a {
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 3px;
}

@media (max-width: 767px) {
	.avt-payment-methods__logos img {
		max-width: 112px;
	}
}

/* =========================================================
 * Comparador de productos
 * ======================================================= */
.avt-compare-button {
	--avt-compare-accent: #345ca5;
	--avt-compare-on-accent: #fff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 40px;
	margin: 0;
	padding: 8px 14px;
	border: 1px solid rgba(0, 0, 0, .18);
	border-radius: var(--avt-button-radius, 6px);
	background: #fff;
	color: inherit;
	font: inherit;
	line-height: 1.2;
	cursor: pointer;
	transition: color 160ms ease, background 160ms ease, border-color 160ms ease, transform 160ms ease;
}

.avt-compare-button:hover,
.avt-compare-button:focus-visible {
	border-color: var(--avt-compare-accent);
	color: var(--avt-compare-accent);
	outline: 0;
}

.avt-compare-button.is-selected {
	border-color: var(--avt-compare-accent);
	background: var(--avt-compare-accent);
	color: var(--avt-compare-on-accent);
}

.avt-compare-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 16px;
	height: 16px;
	flex: 0 0 auto;
}

.avt-compare-icon img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.avt-compare-button.is-selected .avt-compare-icon img,
.avt-compare-button--side.avt-side-action__control.is-selected .avt-compare-icon img {
	filter: brightness(0) invert(1);
}

.avt-compare-button--card {
	position: absolute;
	top: 12px;
	z-index: 8;
	width: 40px;
	min-width: 40px;
	height: 40px;
	min-height: 40px;
	padding: 0;
	border: 0;
	border-radius: var(--avt-button-radius, 6px);
	box-shadow: 0 4px 14px rgba(0, 0, 0, .12);
}

.avt-compare-button--card.avt-compare-button--left { left: 12px; }
.avt-compare-button--card.avt-compare-button--right { right: 12px; }

.avt-product-card__shell > .avt-compare-button--card {
	background: #fff;
	color: #222;
}

.avt-product-card__shell > .avt-compare-button--card.is-selected {
	background: var(--avt-compare-accent);
	color: var(--avt-compare-on-accent);
}

.avt-compare-button--side.avt-side-action__control.is-selected {
	background: var(--avt-compare-accent) !important;
	color: var(--avt-compare-on-accent) !important;
}

/*
 * Acciones laterales: el estado seleccionado del comparador debe tener
 * prioridad sobre las reglas de contraste que fuerzan fondo blanco.
 */
.avt-products.avt-custom-style .avt-template-side-actions .avt-product-card__side-actions .avt-compare-button--side.avt-side-action__control.is-selected,
.avt-products.avt-custom-style .avt-template-side-actions .avt-product-card__side-actions .avt-compare-button--side.avt-side-action__control.is-selected:visited,
.avt-products.avt-custom-style .avt-template-side-actions .avt-product-card__side-actions .avt-compare-button--side.avt-side-action__control.is-selected:hover,
.avt-products.avt-custom-style .avt-template-side-actions .avt-product-card__side-actions .avt-compare-button--side.avt-side-action__control.is-selected:focus,
.avt-products.avt-custom-style .avt-template-side-actions .avt-product-card__side-actions .avt-compare-button--side.avt-side-action__control.is-selected:focus-visible {
	background: var(--avt-compare-accent) !important;
	color: var(--avt-compare-on-accent) !important;
	opacity: 1 !important;
}

.avt-product-secondary-actions {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 18px;
}

.avt-product-secondary-actions:empty {
	display: none;
}

.avt-product-secondary-actions .avt-product-compare-action {
	margin: 0;
}

.avt-product-secondary-actions .avt-wishlist-action--product {
	position: relative;
	flex: 0 0 var(--avt-side-action-size, 40px);
	margin: 0;
}

.avt-compare-tray {
	--avt-compare-accent: #345ca5;
	--avt-compare-on-accent: #fff;
	position: fixed;
	right: 20px;
	bottom: 20px;
	z-index: 99990;
	display: flex;
	align-items: center;
	gap: 10px;
	max-width: calc(100vw - 40px);
	padding: 10px;
	border: 1px solid rgba(0, 0, 0, .12);
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 14px 38px rgba(0, 0, 0, .2);
}

.avt-compare-tray[hidden] { display: none !important; }

.avt-compare-tray__items {
	display: flex;
	align-items: center;
	gap: 6px;
}

.avt-compare-tray__item {
	position: relative;
	display: block;
	width: 44px;
	height: 44px;
	border: 1px solid rgba(0, 0, 0, .1);
	border-radius: 6px;
	background: #fff;
}

.avt-compare-tray__item img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	border-radius: inherit;
}

.avt-compare-tray__item button {
	position: absolute;
	top: -7px;
	right: -7px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 19px;
	height: 19px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: #222;
	color: #fff;
	font-size: 15px;
	line-height: 1;
	cursor: pointer;
}

.avt-compare-tray__count {
	min-width: 30px;
	font-weight: 700;
	text-align: center;
}

.avt-compare-tray__clear,
.avt-compare-toolbar button {
	padding: 6px 8px;
	border: 0;
	background: transparent;
	color: inherit;
	text-decoration: underline;
	cursor: pointer;
}

.avt-compare-tray__open,
.avt-compare-view-product {
	padding: 10px 16px !important;
	border: 1px solid var(--avt-compare-accent) !important;
	border-radius: 6px !important;
	background: var(--avt-compare-accent) !important;
	color: var(--avt-compare-on-accent) !important;
	font: inherit;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none !important;
	cursor: pointer;
}

.avt-compare-dialog {
	--avt-compare-accent: #345ca5;
	--avt-compare-on-accent: #fff;
	width: min(1180px, calc(100vw - 32px));
	max-width: none;
	max-height: 90vh;
	margin: auto;
	padding: 0;
	border: 0;
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 24px 80px rgba(0, 0, 0, .28);
	overflow: hidden;
}

.avt-compare-dialog::backdrop { background: rgba(0, 0, 0, .56); }

.avt-compare-dialog.is-open {
	position: fixed;
	inset: 5vh 16px auto;
	z-index: 99999;
	display: block;
}

.avt-compare-dialog__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: 18px 22px;
	border-bottom: 1px solid rgba(0, 0, 0, .12);
}

.avt-compare-dialog__header h2 { margin: 0; }

.avt-compare-dialog__close {
	width: 40px;
	height: 40px;
	padding: 0;
	border: 0;
	background: transparent;
	color: inherit;
	font-size: 30px;
	line-height: 1;
	cursor: pointer;
}

.avt-compare-dialog > .avt-compare-output {
	max-height: calc(90vh - 78px);
	padding: 20px 22px 26px;
	overflow: auto;
}

html.avt-compare-open { overflow: hidden; }

.avt-compare-page {
	--avt-compare-accent: #345ca5;
	--avt-compare-on-accent: #fff;
	width: 100%;
}

.avt-compare-page__title { margin-bottom: 24px; }

.avt-compare-toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 16px;
}

.avt-compare-table-wrap {
	width: 100%;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.avt-compare-table {
	width: 100%;
	min-width: 760px;
	margin: 0;
	border: 0;
	border-collapse: collapse;
	background: #fff;
	table-layout: fixed;
}

.avt-compare-table th,
.avt-compare-table td {
	position: relative;
	padding: 16px;
	border: 0;
	border-bottom: 1px solid rgba(0, 0, 0, .11);
	background: #fff;
	text-align: center;
	vertical-align: middle;
}

.avt-compare-table th:first-child,
.avt-compare-table td:first-child {
	width: 180px;
	text-align: left;
	font-weight: 700;
}

.avt-compare-table thead th {
	padding-top: 20px;
	font-size: 16px;
	vertical-align: top;
}

.avt-compare-table thead th:first-child {
	position: sticky;
	left: 0;
	z-index: 3;
}

.avt-compare-table tbody th {
	position: sticky;
	left: 0;
	z-index: 2;
}

.avt-compare-table img {
	display: block;
	width: min(180px, 100%);
	height: auto;
	margin: 0 auto;
}

.avt-compare-table__remove {
	position: absolute;
	top: 4px;
	right: 6px;
	width: 28px;
	height: 28px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: transparent;
	color: inherit;
	font-size: 23px;
	line-height: 1;
	cursor: pointer;
}

.avt-compare-empty,
.avt-compare-loading {
	padding: 24px;
	text-align: center;
}

.avt-compare-toast {
	position: fixed;
	left: 50%;
	bottom: 24px;
	z-index: 100000;
	max-width: calc(100vw - 32px);
	padding: 11px 16px;
	border-radius: 7px;
	background: #222;
	color: #fff;
	box-shadow: 0 10px 28px rgba(0, 0, 0, .24);
	opacity: 0;
	transform: translate(-50%, 12px);
	transition: opacity 180ms ease, transform 180ms ease;
}

.avt-compare-toast.is-visible {
	opacity: 1;
	transform: translate(-50%, 0);
}

@media (max-width: 767px) {
	.avt-compare-tray {
		right: 8px;
		bottom: 8px;
		left: 8px;
		justify-content: center;
		max-width: none;
		padding: 8px;
	}

	.avt-compare-tray__item {
		width: 38px;
		height: 38px;
	}

	.avt-compare-tray__clear { display: none; }

	.avt-compare-dialog {
		width: calc(100vw - 12px);
		max-height: 94vh;
		border-radius: 8px;
	}

	.avt-compare-dialog > .avt-compare-output {
		max-height: calc(94vh - 72px);
		padding: 12px;
	}

	.avt-compare-dialog__header { padding: 14px; }
	.avt-compare-toolbar { align-items: flex-start; flex-direction: column; }
	.avt-compare-table { min-width: 680px; }
	.avt-compare-table th,
	.avt-compare-table td { padding: 12px; }
	.avt-compare-table th:first-child,
	.avt-compare-table td:first-child { width: 140px; }
}

/* =========================================================
 * Integración nativa de YITH Wishlist en tarjetas
 * ======================================================= */
.avt-wishlist-action {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	min-width: 40px;
	height: 40px;
	min-height: 40px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: var(--avt-button-radius, 6px);
	background: #fff;
	box-shadow: 0 4px 14px rgba(0, 0, 0, .12);
	color: #222;
	line-height: 1;
	transition: transform 160ms ease, box-shadow 160ms ease;
}

.avt-wishlist-action--card {
	position: absolute;
	top: 12px;
	z-index: 8;
}

.avt-wishlist-action--card.avt-wishlist-action--stacked {
	top: 60px;
}

.avt-wishlist-action--left { left: 12px; }
.avt-wishlist-action--right { right: 12px; }

.avt-wishlist-action:hover,
.avt-wishlist-action:focus-within {
	transform: translateY(-1px);
	box-shadow: 0 6px 17px rgba(0, 0, 0, .15);
}

.avt-wishlist-action__native,
.avt-wishlist-action__native > .yith-add-to-wishlist-button-block,
.avt-wishlist-action__native .yith-wcwl-add-to-wishlist,
.avt-wishlist-action__native .yith-wcwl-add-button,
.avt-wishlist-action__native .yith-wcwl-wishlistaddedbrowse,
.avt-wishlist-action__native .yith-wcwl-wishlistexistsbrowse {
	position: absolute;
	z-index: 2;
	inset: 0;
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 100% !important;
	height: 100% !important;
	min-width: 0 !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
}

.avt-wishlist-action__native a,
.avt-wishlist-action__native button,
.avt-wishlist-action__native .yith-wcwl-add-to-wishlist-button {
	position: absolute !important;
	inset: 0 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 0 !important;
	width: 100% !important;
	height: 100% !important;
	min-width: 0 !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: inherit !important;
	background: transparent !important;
	box-shadow: none !important;
	font-size: 0 !important;
	line-height: 1 !important;
	text-decoration: none !important;
	transform: none !important;
}

/* Conserva el icono seleccionado desde la configuración de YITH. */
.avt-wishlist-action__native .yith-wcwl-icon,
.avt-wishlist-action__native svg,
.avt-wishlist-action__native i {
	display: block !important;
	width: 20px !important;
	height: 20px !important;
	max-width: 20px !important;
	max-height: 20px !important;
	margin: 0 !important;
	padding: 0 !important;
	font-size: 20px !important;
	line-height: 20px !important;
	visibility: visible !important;
	opacity: 1 !important;
	pointer-events: none;
}

.avt-wishlist-action__native img.yith-wcwl-custom-icon,
.avt-wishlist-action__native img[class*="wishlist"] {
	display: block !important;
	width: 20px !important;
	height: 20px !important;
	max-width: 20px !important;
	max-height: 20px !important;
	margin: 0 !important;
	object-fit: contain;
	visibility: visible !important;
	opacity: 1 !important;
	pointer-events: none;
}

/* Oculta solo los textos; nunca el icono o el control interactivo de YITH. */
.avt-wishlist-action__native .yith-wcwl-add-to-wishlist-button__label,
.avt-wishlist-action__native .feedback,
.avt-wishlist-action__native .yith-wcwl-wishlistaddedbrowse > span,
.avt-wishlist-action__native .yith-wcwl-wishlistexistsbrowse > span {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	margin: -1px !important;
	padding: 0 !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

.avt-wishlist-action__native .blockOverlay,
.avt-wishlist-action__native .ajax-loading {
	position: absolute !important;
	inset: 0 !important;
	width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
}

.avt-wishlist-action--side.avt-side-action__control {
	position: relative;
	flex: 0 0 40px;
}

/* En la ficha individual se conserva el icono, la leyenda y el AJAX nativos de YITH. */
.avt-product-secondary-actions .avt-wishlist-action--product {
	position: relative;
	display: inline-flex;
	width: auto;
	min-width: 0;
	height: auto;
	min-height: 40px;
	flex: 0 1 auto;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	transform: none;
}

.avt-product-secondary-actions .avt-wishlist-action--product:hover,
.avt-product-secondary-actions .avt-wishlist-action--product:focus-within {
	box-shadow: none;
	transform: none;
}

.avt-product-secondary-actions .avt-wishlist-action--product .avt-wishlist-action__native,
.avt-product-secondary-actions .avt-wishlist-action--product .avt-wishlist-action__native > .yith-add-to-wishlist-button-block,
.avt-product-secondary-actions .avt-wishlist-action--product .avt-wishlist-action__native .yith-wcwl-add-to-wishlist,
.avt-product-secondary-actions .avt-wishlist-action--product .avt-wishlist-action__native .yith-wcwl-add-button,
.avt-product-secondary-actions .avt-wishlist-action--product .avt-wishlist-action__native .yith-wcwl-wishlistaddedbrowse,
.avt-product-secondary-actions .avt-wishlist-action--product .avt-wishlist-action__native .yith-wcwl-wishlistexistsbrowse {
	position: relative;
	inset: auto;
	display: inline-flex !important;
	align-items: center;
	justify-content: flex-start;
	width: auto !important;
	height: auto !important;
	min-width: 0 !important;
	min-height: 40px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
}

.avt-product-secondary-actions .avt-wishlist-action--product .avt-wishlist-action__native a,
.avt-product-secondary-actions .avt-wishlist-action--product .avt-wishlist-action__native button,
.avt-product-secondary-actions .avt-wishlist-action--product .avt-wishlist-action__native .yith-wcwl-add-to-wishlist-button {
	position: relative !important;
	inset: auto !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 8px !important;
	width: auto !important;
	height: auto !important;
	min-width: 0 !important;
	min-height: 40px !important;
	margin: 0 !important;
	text-decoration: none !important;
	transform: none !important;
}

/* Heredar de YITH: AV Tienda solo coloca el control junto a Comparar. */
.avt-product-secondary-actions .avt-wishlist-action--product-style-yith .avt-wishlist-action__native a,
.avt-product-secondary-actions .avt-wishlist-action--product-style-yith .avt-wishlist-action__native button,
.avt-product-secondary-actions .avt-wishlist-action--product-style-yith .avt-wishlist-action__native .yith-wcwl-add-to-wishlist-button {
	font-size: inherit;
	line-height: inherit;
}

/* Igualar a Comparar: mismo alto, padding, borde, radio y estados. */
.avt-product-secondary-actions .avt-wishlist-action--product-style-match .avt-wishlist-action__native a,
.avt-product-secondary-actions .avt-wishlist-action--product-style-match .avt-wishlist-action__native button,
.avt-product-secondary-actions .avt-wishlist-action--product-style-match .avt-wishlist-action__native .yith-wcwl-add-to-wishlist-button {
	padding: 8px 14px !important;
	border: 1px solid rgba(0, 0, 0, .18) !important;
	border-radius: var(--avt-button-radius, 6px) !important;
	background: #fff !important;
	box-shadow: none !important;
	color: inherit !important;
	font: inherit !important;
	font-size: inherit !important;
	line-height: 1.2 !important;
	transition: color 160ms ease, background 160ms ease, border-color 160ms ease !important;
}

.avt-product-secondary-actions .avt-wishlist-action--product-style-match:not(.is-selected):hover .avt-wishlist-action__native a,
.avt-product-secondary-actions .avt-wishlist-action--product-style-match:not(.is-selected):focus-within .avt-wishlist-action__native a,
.avt-product-secondary-actions .avt-wishlist-action--product-style-match:not(.is-selected):hover .avt-wishlist-action__native button,
.avt-product-secondary-actions .avt-wishlist-action--product-style-match:not(.is-selected):focus-within .avt-wishlist-action__native button,
.avt-product-secondary-actions .avt-wishlist-action--product-style-match:not(.is-selected):hover .avt-wishlist-action__native .yith-wcwl-add-to-wishlist-button,
.avt-product-secondary-actions .avt-wishlist-action--product-style-match:not(.is-selected):focus-within .avt-wishlist-action__native .yith-wcwl-add-to-wishlist-button {
	border-color: var(--avt-product-accent, #345ca5) !important;
	color: var(--avt-product-accent, #345ca5) !important;
}

.avt-product-secondary-actions .avt-wishlist-action--product-style-match.is-selected .avt-wishlist-action__native a,
.avt-product-secondary-actions .avt-wishlist-action--product-style-match.is-selected .avt-wishlist-action__native button,
.avt-product-secondary-actions .avt-wishlist-action--product-style-match.is-selected .avt-wishlist-action__native .yith-wcwl-add-to-wishlist-button {
	border-color: var(--avt-product-accent, #345ca5) !important;
	background: var(--avt-product-accent, #345ca5) !important;
	color: #fff !important;
}

/* Personalizado: solo afecta el botón completo dentro de la ficha individual. */
.avt-product-secondary-actions .avt-wishlist-action--product-style-custom .avt-wishlist-action__native a,
.avt-product-secondary-actions .avt-wishlist-action--product-style-custom .avt-wishlist-action__native button,
.avt-product-secondary-actions .avt-wishlist-action--product-style-custom .avt-wishlist-action__native .yith-wcwl-add-to-wishlist-button {
	padding: 8px 14px !important;
	border: var(--avt-product-wishlist-border-width, 1px) solid var(--avt-product-wishlist-border, currentColor) !important;
	border-radius: var(--avt-product-wishlist-radius, 6px) !important;
	background: var(--avt-product-wishlist-bg, transparent) !important;
	box-shadow: none !important;
	color: var(--avt-product-wishlist-text, inherit) !important;
	font: inherit !important;
	font-size: inherit !important;
	line-height: 1.2 !important;
	transition: color 160ms ease, background 160ms ease, border-color 160ms ease !important;
}

.avt-product-secondary-actions .avt-wishlist-action--product-style-custom:hover .avt-wishlist-action__native a,
.avt-product-secondary-actions .avt-wishlist-action--product-style-custom:focus-within .avt-wishlist-action__native a,
.avt-product-secondary-actions .avt-wishlist-action--product-style-custom:hover .avt-wishlist-action__native button,
.avt-product-secondary-actions .avt-wishlist-action--product-style-custom:focus-within .avt-wishlist-action__native button,
.avt-product-secondary-actions .avt-wishlist-action--product-style-custom:hover .avt-wishlist-action__native .yith-wcwl-add-to-wishlist-button,
.avt-product-secondary-actions .avt-wishlist-action--product-style-custom:focus-within .avt-wishlist-action__native .yith-wcwl-add-to-wishlist-button,
.avt-product-secondary-actions .avt-wishlist-action--product-style-custom.is-selected .avt-wishlist-action__native a,
.avt-product-secondary-actions .avt-wishlist-action--product-style-custom.is-selected .avt-wishlist-action__native button,
.avt-product-secondary-actions .avt-wishlist-action--product-style-custom.is-selected .avt-wishlist-action__native .yith-wcwl-add-to-wishlist-button {
	border-color: var(--avt-product-wishlist-hover-border, var(--avt-product-wishlist-border, currentColor)) !important;
	background: var(--avt-product-wishlist-hover-bg, var(--avt-product-wishlist-bg, transparent)) !important;
	color: var(--avt-product-wishlist-hover-text, var(--avt-product-wishlist-text, inherit)) !important;
}

.avt-product-secondary-actions .avt-wishlist-action--product .avt-wishlist-action__native .yith-wcwl-add-to-wishlist-button__label,
.avt-product-secondary-actions .avt-wishlist-action--product .avt-wishlist-action__native .feedback,
.avt-product-secondary-actions .avt-wishlist-action--product .avt-wishlist-action__native .yith-wcwl-wishlistaddedbrowse > span,
.avt-product-secondary-actions .avt-wishlist-action--product .avt-wishlist-action__native .yith-wcwl-wishlistexistsbrowse > span {
	position: static !important;
	display: inline !important;
	width: auto !important;
	height: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: visible !important;
	clip: auto !important;
	white-space: normal !important;
	border: 0 !important;
	font-size: inherit !important;
	line-height: inherit !important;
	visibility: visible !important;
	opacity: 1 !important;
}

/* =====================================================
   Marcas de producto — WooCommerce product_brand
   ===================================================== */
.avt-brand-list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 10px;
	min-width: 0;
}

.avt-brand__item {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	max-width: 100%;
	color: inherit;
	text-decoration: none;
}

.avt-brand__item--link,
.avt-brand__item--link:hover,
.avt-brand__item--link:focus,
.avt-brand__item--link:visited {
	color: inherit;
	text-decoration: none;
}

.avt-brand__logo {
	display: block;
	width: auto;
	max-width: min(100%, var(--avt-brand-logo-width, 96px));
	max-height: var(--avt-brand-logo-width, 96px);
	height: auto;
	margin: 0;
	object-fit: contain;
}

.avt-brand__name {
	display: inline-block;
	line-height: 1.25;
}

/* Marca dentro de las tarjetas de producto. */
.avt-product-card__brand {
	margin: 0 0 6px;
	font-size: .78em;
	line-height: 1.3;
	opacity: .78;
}

.avt-product-card__brand .avt-brand__logo {
	max-height: 34px;
}

.avt-template-side-actions .avt-product-card__brand {
	margin-bottom: 6px;
}

/* El grid de marcas comparte el sistema visual Full de categorías, pero los logos nunca se recortan. */
.avt-brand-grid .avt-brand-card__media {
	background: #fff;
}

.avt-brand-grid .avt-category-card__image {
	object-fit: contain !important;
	padding: 10px;
}

/* Marca en Vista Producto. */
.avt-product-summary {
	position: relative;
}

.avt-product-brand {
	margin: 0 0 14px;
}

.avt-product-brand .avt-brand-list {
	--avt-brand-logo-width: var(--avt-product-brand-logo-width, 96px);
}

.avt-product-brand .avt-brand__name {
	line-height: inherit;
}

/*
 * Los valores personalizados reciben clases explícitas para poder vencer
 * estilos fuertes de Divi/WoodMart sin alterar la herencia cuando el campo
 * se deja vacío.
 */
.avt-product-brand.avt-product-brand-name-size--custom .avt-brand__name {
	font-size: var(--avt-product-brand-name-size) !important;
}

.avt-product-brand.avt-product-brand-name-weight--custom .avt-brand__name {
	font-weight: var(--avt-product-brand-name-weight) !important;
}

.avt-product-brand.avt-product-brand-name-color--custom .avt-brand__item,
.avt-product-brand.avt-product-brand-name-color--custom .avt-brand__item:visited,
.avt-product-brand.avt-product-brand-name-color--custom .avt-brand__name {
	color: var(--avt-product-brand-name-color) !important;
}

.avt-product-brand.avt-product-brand-name-hover-color--custom .avt-brand__item--link:hover,
.avt-product-brand.avt-product-brand-name-hover-color--custom .avt-brand__item--link:focus,
.avt-product-brand.avt-product-brand-name-hover-color--custom .avt-brand__item--link:hover .avt-brand__name,
.avt-product-brand.avt-product-brand-name-hover-color--custom .avt-brand__item--link:focus .avt-brand__name {
	color: var(--avt-product-brand-name-hover-color) !important;
}

/* Tarjeta clicable: el recuadro debe ser visible aun sobre fondos blancos. */
.avt-product-brand.avt-product-brand--card .avt-brand-list > .avt-brand__item {
	box-sizing: border-box !important;
	padding: var(--avt-product-brand-box-padding-y, 10px) var(--avt-product-brand-box-padding-x, 12px) !important;
	background-color: var(--avt-product-brand-box-background, #fff) !important;
	border: var(--avt-product-brand-box-border-width, 1px) solid var(--avt-product-brand-box-border-color, #e3e3e3) !important;
	border-radius: var(--avt-product-brand-box-radius, 0) !important;
	box-shadow: 0 2px 10px rgba(0, 0, 0, .09) !important;
	text-decoration: none !important;
	transform: none !important;
	transition: background-color .18s ease, border-color .18s ease, box-shadow .18s ease !important;
}

.avt-product-brand.avt-product-brand--card .avt-brand-list > .avt-brand__item--link {
	cursor: pointer !important;
}

.avt-product-brand.avt-product-brand--card .avt-brand-list > .avt-brand__item--link:hover,
.avt-product-brand.avt-product-brand--card .avt-brand-list > .avt-brand__item--link:focus,
.avt-product-brand.avt-product-brand--card .avt-brand-list > .avt-brand__item--link:focus-visible {
	background-color: var(--avt-product-brand-box-hover-background, var(--avt-product-brand-box-background, #fff)) !important;
	border-color: var(--avt-product-brand-box-border-color, #e3e3e3) !important;
	text-decoration: none !important;
	transform: none !important;
}

.avt-product-brand.avt-product-brand--card.avt-product-brand--hover-shadow .avt-brand-list > .avt-brand__item--link:hover,
.avt-product-brand.avt-product-brand--card.avt-product-brand--hover-shadow .avt-brand-list > .avt-brand__item--link:focus,
.avt-product-brand.avt-product-brand--card.avt-product-brand--hover-shadow .avt-brand-list > .avt-brand__item--link:focus-visible {
	box-shadow: 0 8px 24px rgba(0, 0, 0, .16) !important;
}

.avt-product-brand--shortcode {
	display: inline-block;
	max-width: 100%;
}

.avt-product-brand--top-right {
	position: absolute;
	top: 0;
	right: 0;
	z-index: 1;
	max-width: 32%;
	margin: 0;
	text-align: right;
}

.avt-product-brand--top-right .avt-brand-list {
	justify-content: flex-end;
}

.avt-product-brand-position--top-right .avt-product-summary .avt-product-title {
	max-width: 64%;
}

.avt-product-brand--above-title {
	margin-bottom: 14px;
}

.avt-product-brand--below-title {
	margin-top: 10px;
	margin-bottom: 8px;
}

.avt-brand-shortcode {
	width: fit-content;
	max-width: 100%;
}

@media (max-width: 767px) {
	.avt-product-brand--top-right {
		position: static;
		max-width: 100%;
		margin-bottom: 14px;
		text-align: left;
	}

	.avt-product-brand--top-right .avt-brand-list {
		justify-content: flex-start;
	}

	.avt-product-brand-position--top-right .avt-product-summary .avt-product-title {
		max-width: none;
	}

	.avt-product-brand.avt-product-brand-name-size--custom .avt-brand__name {
		font-size: var(--avt-product-brand-name-size-mobile, var(--avt-product-brand-name-size)) !important;
	}
}
