/* =========================================================
   YO, TURO — COLORES DE PRODUCTOS INDEPENDIENTES
========================================================= */

.turo-color-swatches {
	display: flex !important;
	align-items: center !important;
	flex-wrap: wrap !important;
	gap: 8px !important;
	box-sizing: border-box;
}

.turo-color-swatches__label {
	display: block !important;
	flex: 0 0 100% !important;
	width: 100% !important;
	margin: 0 0 5px !important;
	color: #999;
	font-family: "Poppins", sans-serif;
	font-size: 10px;
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.turo-color-swatch {
	position: relative;
	display: inline-flex;
	flex: 0 0 auto;
	width: 20px;
	height: 20px;
	padding: 0;
	border: 1px solid rgba(17, 17, 17, 0.26);
	border-radius: 50%;
	background: var(--turo-swatch-color, #fff);
	box-shadow: 0 0 0 2px #fff;
	box-sizing: border-box;
	transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.turo-color-swatch:hover,
.turo-color-swatch:focus-visible {
	transform: scale(1.12);
	border-color: #111;
	box-shadow: 0 0 0 2px #fff, 0 0 0 3px rgba(17, 17, 17, .28);
	outline: none;
}

.turo-color-swatch.is-current {
	box-shadow: 0 0 0 2px #fff, 0 0 0 3px #111;
}

/* =========================================================
   GRILLA — debajo del título y antes de los talles
========================================================= */

/*
 * El JS coloca este bloque inmediatamente después del título,
 * dentro del mismo contenedor de contenido de la tarjeta.
 */
.woocommerce ul.products li.product .turo-color-swatches--loop {
	display: flex !important;
	align-items: center !important;
	flex-wrap: nowrap !important;
	gap: 9px !important;
	width: 100% !important;
	margin: 16px 0 14px !important;
	padding: 0 !important;
	background: transparent !important;
	box-sizing: border-box !important;
}

.woocommerce ul.products li.product .turo-color-swatches--loop .turo-color-swatches__label {
	display: inline-block !important;
	flex: 0 0 auto !important;
	width: auto !important;
	margin: 0 3px 0 0 !important;
	font-size: 10px !important;
	line-height: 20px !important;
	white-space: nowrap !important;
}

.woocommerce ul.products li.product .turo-color-swatches--loop .turo-color-swatch {
	width: 20px !important;
	height: 20px !important;
	margin: 0 !important;
}

/* =========================================================
   SINGLE — arriba de los talles
========================================================= */

.single-product div.product .summary {
	display: flex !important;
	flex-direction: column !important;
}

.single-product div.product .summary .product_title { order: 10; }
.single-product div.product .summary .price { order: 20; }
.single-product div.product .summary .woocommerce-product-details__short-description { order: 30; }
.single-product div.product .summary .turo-single-other-color { order: 40; }
.single-product div.product .summary form.cart,
.single-product div.product .summary form.variations_form { order: 50; }
.single-product div.product .summary > .turo-instagram-button { order: 60; }
.single-product div.product .summary > .turo-price-note { order: 70; }

.turo-single-other-color {
	margin: 2px 0 18px !important;
	padding: 16px 18px;
	border: 1px solid rgba(17, 17, 17, .10);
	border-radius: 16px;
	background: #f8f7f5;
	box-sizing: border-box;
}

.turo-single-other-color__eyebrow {
	margin-bottom: 7px;
	color: #888;
	font-size: 10px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.turo-single-other-color__content {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 7px;
}

.turo-single-other-color__label {
	color: #333;
	font-size: 14px;
	font-weight: 500;
}

.turo-single-other-color__link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 7px 11px;
	border: 1px solid rgba(17, 17, 17, .12);
	border-radius: 999px;
	background: #fff;
	color: #111 !important;
	font-size: 14px;
	font-weight: 800;
	line-height: 1;
	text-decoration: none !important;
	transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.turo-single-other-color__link:hover,
.turo-single-other-color__link:focus-visible {
	transform: translateY(-1px);
	border-color: #111;
	box-shadow: 0 6px 18px rgba(0, 0, 0, .08);
	outline: none;
}

.turo-single-other-color__link .turo-color-swatch {
	width: 18px;
	height: 18px;
	box-shadow: none;
}

.turo-single-other-color__arrow {
	margin-left: 2px;
	font-weight: 600;
}

@media (max-width: 767px) {
	.woocommerce ul.products li.product .turo-color-swatches--loop {
		gap: 7px !important;
		margin: 14px 0 12px !important;
	}

	.woocommerce ul.products li.product .turo-color-swatches--loop .turo-color-swatches__label {
		font-size: 9px !important;
	}

	.turo-color-swatches__label {
		font-size: 9px;
	}

	.turo-single-other-color {
		margin: 0 0 16px !important;
		padding: 14px;
	}
}

/* =========================================================
   FIX V5 — CÍRCULOS UNIFORMES EN LA GRILLA
========================================================= */

.woocommerce ul.products li.product
.turo-color-swatches--loop
.turo-color-swatch {
	all: unset !important;
	position: relative !important;
	display: inline-block !important;
	flex: 0 0 20px !important;
	width: 20px !important;
	min-width: 20px !important;
	max-width: 20px !important;
	height: 20px !important;
	min-height: 20px !important;
	max-height: 20px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 1px solid rgba(17, 17, 17, 0.28) !important;
	border-radius: 50% !important;
	background: var(--turo-swatch-color, #ffffff) !important;
	box-shadow: none !important;
	box-sizing: border-box !important;
	line-height: 0 !important;
	vertical-align: middle !important;
	cursor: pointer !important;
	overflow: hidden !important;
	-webkit-appearance: none !important;
	appearance: none !important;
	transition: transform .2s ease, outline-color .2s ease !important;
}

.woocommerce ul.products li.product
.turo-color-swatches--loop
.turo-color-swatch.is-current {
	outline: 2px solid #111111 !important;
	outline-offset: 2px !important;
	cursor: default !important;
}

.woocommerce ul.products li.product
.turo-color-swatches--loop
.turo-color-swatch:not(.is-current):hover,
.woocommerce ul.products li.product
.turo-color-swatches--loop
.turo-color-swatch:not(.is-current):focus-visible {
	transform: scale(1.08) !important;
	outline: 1px solid rgba(17, 17, 17, 0.35) !important;
	outline-offset: 2px !important;
}

.woocommerce ul.products li.product
.turo-color-swatches--loop
.turo-color-swatch .screen-reader-text {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

/* =========================================================
   FIX V6 — ORDEN ESTABLE + CÍRCULOS IDÉNTICOS
   Funciona también cuando la grilla se reemplaza por filtros.
========================================================= */

/* El orden visual no depende del orden del HTML recibido por AJAX. */
.woocommerce ul.products li.product .astra-shop-summary-wrap {
	display: flex !important;
	flex-direction: column !important;
}

.woocommerce ul.products li.product .astra-shop-summary-wrap > .ast-woo-product-category {
	order: 10 !important;
}

.woocommerce ul.products li.product .astra-shop-summary-wrap > .woocommerce-loop-product__title {
	order: 20 !important;
}

.woocommerce ul.products li.product .astra-shop-summary-wrap > .turo-color-swatches--loop {
	order: 30 !important;
}

.woocommerce ul.products li.product .astra-shop-summary-wrap > form.cart,
.woocommerce ul.products li.product .astra-shop-summary-wrap > form.variations_form,
.woocommerce ul.products li.product .astra-shop-summary-wrap > table.variations {
	order: 40 !important;
}

.woocommerce ul.products li.product .astra-shop-summary-wrap > .turo-loop-buy-button,
.woocommerce ul.products li.product .astra-shop-summary-wrap > .button {
	order: 50 !important;
}

/* Bloque perfectamente alineado con título y talles. */
.woocommerce ul.products li.product .turo-color-swatches--loop {
	display: flex !important;
	align-items: center !important;
	justify-content: flex-start !important;
	flex-wrap: nowrap !important;
	gap: 8px !important;
	width: 100% !important;
	margin: 14px 0 15px !important;
	padding: 0 !important;
	line-height: 1 !important;
}

.woocommerce ul.products li.product .turo-color-swatches--loop .turo-color-swatches__label {
	display: inline-block !important;
	flex: 0 0 auto !important;
	width: auto !important;
	margin: 0 2px 0 0 !important;
	padding: 0 !important;
	font-size: 10px !important;
	line-height: 18px !important;
	white-space: nowrap !important;
}

/* Mismo cuadro y mismo diámetro para span y enlace. */
.woocommerce ul.products li.product .turo-color-swatches--loop .turo-color-swatch {
	all: unset !important;
	position: relative !important;
	display: inline-block !important;
	flex: 0 0 18px !important;
	width: 18px !important;
	min-width: 18px !important;
	max-width: 18px !important;
	height: 18px !important;
	min-height: 18px !important;
	max-height: 18px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 1px solid rgba(17, 17, 17, .32) !important;
	border-radius: 50% !important;
	background-color: var(--turo-swatch-color, #fff) !important;
	box-sizing: border-box !important;
	box-shadow: none !important;
	outline: 0 !important;
	line-height: 0 !important;
	vertical-align: middle !important;
	overflow: hidden !important;
	-webkit-appearance: none !important;
	appearance: none !important;
	cursor: pointer !important;
	transform: none !important;
}

/* El seleccionado se marca hacia adentro: nunca aumenta de tamaño. */
.woocommerce ul.products li.product .turo-color-swatches--loop .turo-color-swatch.is-current {
	box-shadow:
		inset 0 0 0 2px #fff,
		inset 0 0 0 3px #111 !important;
	cursor: default !important;
}

.woocommerce ul.products li.product .turo-color-swatches--loop .turo-color-swatch:not(.is-current):hover,
.woocommerce ul.products li.product .turo-color-swatches--loop .turo-color-swatch:not(.is-current):focus-visible {
	box-shadow: inset 0 0 0 1px rgba(17, 17, 17, .25) !important;
	transform: none !important;
}

@media (max-width: 767px) {
	.woocommerce ul.products li.product .turo-color-swatches--loop {
		gap: 7px !important;
		margin: 12px 0 13px !important;
	}

	.woocommerce ul.products li.product .turo-color-swatches--loop .turo-color-swatches__label {
		font-size: 9px !important;
		line-height: 18px !important;
	}
}

/* =========================================================
   FIX DEFINITIVO — ORDEN DE LA TARJETA + ESPACIO EN COLORES
========================================================= */

/*
 * Convertimos el contenido de la tarjeta en columna
 * para controlar el orden real.
 */
.woocommerce ul.products li.product
.astra-shop-summary-wrap {
	display: flex !important;
	flex-direction: column !important;
}


/* 1. Categoría inmediatamente debajo de la foto */
.woocommerce ul.products li.product
.astra-shop-summary-wrap
> .ast-woo-product-category {
	order: 1 !important;

	margin: 0 0 8px !important;
	padding: 0 !important;
}


/* 2. Título debajo de la categoría */
.woocommerce ul.products li.product
.astra-shop-summary-wrap
> a.ast-loop-product__link {
	order: 2 !important;

	margin: 0 !important;
	padding: 0 !important;
}


/* Evitar márgenes extra dentro del título */
.woocommerce ul.products li.product
.astra-shop-summary-wrap
> a.ast-loop-product__link
.woocommerce-loop-product__title {
	margin: 0 !important;
}


/* 3. Colores debajo del título */
.woocommerce ul.products li.product
.astra-shop-summary-wrap
> .turo-color-swatches--loop {
	order: 3 !important;

	display: flex !important;
	align-items: center !important;
	justify-content: flex-start !important;
	flex-wrap: nowrap !important;

	width: 100% !important;

	margin: 16px 0 22px !important;
	padding: 0 !important;

	column-gap: 8px !important;

	box-sizing: border-box !important;
}


/* Texto “COLORES DISPONIBLES:” */
.woocommerce ul.products li.product
.turo-color-swatches--loop
.turo-color-swatches__label {
	display: inline-block !important;
	flex: 0 0 auto !important;

	width: auto !important;

	margin: 0 !important;
	padding: 0 !important;

	font-size: 10px !important;
	font-weight: 700 !important;
	line-height: 18px !important;
	letter-spacing: 0.12em !important;

	white-space: nowrap !important;
}


/*
 * Separación especial entre los dos puntos
 * y el primer círculo.
 */
.woocommerce ul.products li.product
.turo-color-swatches--loop
.turo-color-swatches__label
+ .turo-color-swatch {
	margin-left: 7px !important;
}


/* Los círculos mantienen espacio entre sí */
.woocommerce ul.products li.product
.turo-color-swatches--loop
.turo-color-swatch
+ .turo-color-swatch {
	margin-left: 2px !important;
}


/* 4. Talles debajo de colores */
.woocommerce ul.products li.product
.astra-shop-summary-wrap
> .cfvsw_variations_form {
	order: 4 !important;

	margin-top: 0 !important;
}


/* 5. Botón al final */
.woocommerce ul.products li.product
.astra-shop-summary-wrap
> .button,
.woocommerce ul.products li.product
.astra-shop-summary-wrap
> .add_to_cart_button {
	order: 5 !important;
}