/**
 * Ficha de producto. Estructura común a los 4 tipos (simple, variable,
 * cotización, set); cada uno solo cambia el contenido de
 * .mka-producto-info__* vía su propio template-part de PHP.
 */

.mka-producto-pagina {
	max-width: 1400px;
	margin: 0 auto;
	padding: 0 var(--mka-espaciado-lg);
}

.mka-producto-breadcrumb {
	padding: var(--mka-espaciado-md) 0 0 0;
	font-size: 0.75rem;
	letter-spacing: 0.02em;
	color: var(--mka-color-texto-suave);
}

.mka-producto-breadcrumb a {
	color: var(--mka-color-texto-suave);
}

.mka-producto-breadcrumb a:hover,
.mka-producto-breadcrumb a:focus-visible {
	color: var(--mka-color-burdeos);
}

.mka-producto {
	display: grid;
	grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
	gap: var(--mka-espaciado-xl);
	padding: var(--mka-espaciado-lg) 0;
}

/* minmax(0, 1fr), no 1fr: con 1fr la columna crece hasta el ancho del slider de la galería (flexslider) y la ficha se desborda horizontalmente en móvil. */
.mka-producto__galeria,
.mka-producto__info {
	min-width: 0;
}

@media (max-width: 1024px) {
	.mka-producto {
		grid-template-columns: minmax(0, 1fr);
		gap: var(--mka-espaciado-lg);
		padding: var(--mka-espaciado-md) 0;
	}
}

/**
 * Galería nativa de WooCommerce (theme support ya declarado en
 * inc/setup.php: zoom + lightbox + slider). Aquí solo se le quita el
 * aspecto "plugin por defecto" y se fuerza 1:1 (sección 12 del brief).
 */
.woocommerce-product-gallery__wrapper {
	margin: 0;
}

.woocommerce-product-gallery__image {
	aspect-ratio: var(--mka-ratio-producto-zoom);
	overflow: hidden;
}

.woocommerce-product-gallery__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.woocommerce-product-gallery .flex-control-thumbs {
	display: flex;
	flex-wrap: wrap;
	gap: var(--mka-espaciado-sm);
	margin: var(--mka-espaciado-sm) 0 0 0;
	padding: 0;
	list-style: none;
}

.woocommerce-product-gallery .flex-control-thumbs li {
	width: 4.5rem;
}

.woocommerce-product-gallery .flex-control-thumbs img {
	display: block;
	width: 100%;
	aspect-ratio: var(--mka-ratio-producto-zoom);
	object-fit: cover;
	cursor: pointer;
	opacity: 0.6;
	transition: opacity 200ms ease;
}

.woocommerce-product-gallery .flex-control-thumbs img.flex-active,
.woocommerce-product-gallery .flex-control-thumbs img:hover,
.woocommerce-product-gallery .flex-control-thumbs img:focus-visible {
	opacity: 1;
}

@media (prefers-reduced-motion: reduce) {
	.woocommerce-product-gallery .flex-control-thumbs img {
		transition: none;
	}
}

/* Info */
.mka-producto-info__nombre {
	font-family: var(--mka-font-display);
	font-size: clamp(1.5rem, 2.5vw, 2rem);
	font-weight: 400;
	color: var(--mka-color-texto);
	margin: 0 0 var(--mka-espaciado-sm) 0;
}

.mka-producto-info__precio {
	font-size: 1.125rem;
	color: var(--mka-color-texto);
	margin: 0 0 var(--mka-espaciado-md) 0;
}

.mka-producto-info__precio--cotizar {
	color: var(--mka-color-texto-suave);
	font-style: italic;
}

.mka-producto-info__disponibilidad {
	font-size: 0.8125rem;
	color: var(--mka-color-texto-suave);
	margin: 0 0 var(--mka-espaciado-md) 0;
}

.mka-producto-info__anticipo {
	font-size: 0.8125rem;
	font-style: italic;
	color: var(--mka-color-texto-suave);
	margin: 0 0 var(--mka-espaciado-sm) 0;
}

.mka-producto-info__aviso-admin {
	font-size: 0.75rem;
	color: var(--mka-color-burdeos);
	border: 1px solid var(--mka-color-burdeos);
	padding: var(--mka-espaciado-xs) var(--mka-espaciado-sm);
	margin: 0 0 var(--mka-espaciado-md) 0;
}

/* CTA — botón nativo de WooCommerce (simple/variable/set) */
.mka-producto__info .single_add_to_cart_button,
.mka-producto-info__cta {
	display: inline-block;
	width: 100%;
	text-align: center;
	padding: var(--mka-espaciado-sm) var(--mka-espaciado-md);
	font-size: 0.8125rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--mka-color-blanco-calido);
	background-color: var(--mka-color-texto);
	border: 1px solid var(--mka-color-texto);
	cursor: pointer;
	transition: background-color 200ms ease, border-color 200ms ease;
}

.mka-producto__info .single_add_to_cart_button:hover,
.mka-producto__info .single_add_to_cart_button:focus-visible,
.mka-producto-info__cta:hover,
.mka-producto-info__cta:focus-visible {
	background-color: var(--mka-color-burdeos);
	border-color: var(--mka-color-burdeos);
	color: var(--mka-color-blanco-calido);
}

/* El botón nativo de compra debe ganarle a los estilos de botón "alt" de Astra/WooCommerce (azul global): mayor especificidad, mismos colores de marca que el resto de CTA. */
.mka-producto__info button.single_add_to_cart_button.button.alt {
	background-color: var(--mka-color-texto);
	border-color: var(--mka-color-texto);
	color: var(--mka-color-blanco-calido);
}

.mka-producto__info button.single_add_to_cart_button.button.alt:hover,
.mka-producto__info button.single_add_to_cart_button.button.alt:focus-visible {
	background-color: var(--mka-color-burdeos);
	border-color: var(--mka-color-burdeos);
	color: var(--mka-color-blanco-calido);
}

.mka-producto__info .quantity {
	display: block;
	margin-bottom: var(--mka-espaciado-sm);
}

.mka-producto__info .quantity .qty {
	width: 5rem;
	padding: var(--mka-espaciado-xs);
	border: 1px solid var(--mka-color-plata);
	background: transparent;
	font-family: inherit;
	color: var(--mka-color-texto);
}

/* Variaciones nativas de WooCommerce */
.mka-producto__info table.variations {
	width: 100%;
	margin-bottom: var(--mka-espaciado-sm);
}

.mka-producto__info table.variations td {
	padding: 0;
	display: block;
}

.mka-producto__info table.variations select {
	width: 100%;
	padding: var(--mka-espaciado-xs) 0;
	border: none;
	border-bottom: 1px solid var(--mka-color-plata);
	background: transparent;
	font-family: inherit;
	font-size: 0.9375rem;
	color: var(--mka-color-texto);
}

.mka-producto__info .woocommerce-variation-price .price,
.mka-producto__info .woocommerce-variation-availability {
	font-size: 0.9375rem;
	color: var(--mka-color-texto-suave);
}

.mka-producto-info__dudas {
	display: block;
	margin-top: var(--mka-espaciado-sm);
	font-size: 0.8125rem;
	text-align: center;
	text-decoration: underline;
	text-decoration-color: var(--mka-color-plata);
	color: var(--mka-color-texto-suave);
}

.mka-producto-info__dudas:hover,
.mka-producto-info__dudas:focus-visible {
	color: var(--mka-color-burdeos);
	text-decoration-color: currentColor;
}

.mka-producto-info__confianza {
	margin: var(--mka-espaciado-md) 0 0 0;
	font-size: 0.8125rem;
	text-align: center;
	color: var(--mka-color-texto-suave);
}

.mka-producto-info__gema {
	margin: var(--mka-espaciado-md) 0 0 0;
}

.mka-producto-info__gema a {
	font-size: 0.8125rem;
	color: var(--mka-color-texto-suave);
	text-decoration: none;
}

.mka-producto-info__gema a:hover,
.mka-producto-info__gema a:focus-visible {
	color: var(--mka-color-burdeos);
}

/* Nota de gema natural — mismo tratamiento discreto que .mka-producto-info__confianza. */
.mka-producto-info__nota-gema-natural {
	margin: var(--mka-espaciado-sm) 0 0 0;
	font-size: 0.75rem;
	font-style: italic;
	color: var(--mka-color-texto-suave);
}

/* Pieza agotada, etiqueta manual "Últimas unidades" y talla específica (sets) */
.mka-producto-info__agotado {
	margin: 0 0 var(--mka-espaciado-md) 0;
	font-size: 0.875rem;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--mka-color-texto-suave);
}

.mka-producto-info__etiqueta {
	display: inline-block;
	margin: 0 0 var(--mka-espaciado-md) 0;
	padding: 0.125rem var(--mka-espaciado-sm);
	font-size: 0.6875rem;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--mka-color-burdeos);
	border: 1px solid var(--mka-color-burdeos);
}

.mka-producto-info__talla {
	margin: var(--mka-espaciado-sm) 0 0 0;
	font-size: 0.8125rem;
	text-align: center;
}

.mka-producto-info__talla a {
	color: var(--mka-color-texto-suave);
	text-decoration: underline;
	text-decoration-color: var(--mka-color-plata);
}

.mka-producto-info__talla a:hover,
.mka-producto-info__talla a:focus-visible {
	color: var(--mka-color-burdeos);
	text-decoration-color: currentColor;
}

/* Producto variable + Bajo pedido (Tennis): selector de medidas */
.mka-producto-variable-pedido__grupo {
	margin-bottom: var(--mka-espaciado-md);
}

.mka-producto-variable-pedido__label {
	display: block;
	font-size: 0.8125rem;
	color: var(--mka-color-texto-suave);
	margin-bottom: var(--mka-espaciado-xs);
}

.mka-producto-variable-pedido__select {
	width: 100%;
	padding: var(--mka-espaciado-xs) 0;
	border: none;
	border-bottom: 1px solid var(--mka-color-plata);
	background: transparent;
	font-family: inherit;
	font-size: 0.9375rem;
	color: var(--mka-color-texto);
}

/* Astra imprime "Disponibilidad: Hay existencias" en la ficha: duplica nuestro "Disponible para envío" e insinúa inventario. Solo mostramos nuestros estados. */
.mka-producto__info .ast-stock-detail {
	display: none;
}

/* CTA de WhatsApp sin combinación válida elegida */
.mka-producto-info__cta[aria-disabled="true"],
.mka-producto-info__cta[aria-disabled="true"]:hover,
.mka-producto-info__cta[aria-disabled="true"]:focus-visible {
	opacity: 0.45;
	cursor: not-allowed;
	background-color: var(--mka-color-texto);
	border-color: var(--mka-color-texto);
}

/* Cotización */
.mka-producto-cotizacion__grupo {
	margin-bottom: var(--mka-espaciado-md);
}

.mka-producto-cotizacion__label {
	display: block;
	font-size: 0.8125rem;
	color: var(--mka-color-texto-suave);
	margin-bottom: var(--mka-espaciado-xs);
}

.mka-producto-cotizacion__select {
	width: 100%;
	padding: var(--mka-espaciado-xs) 0;
	border: none;
	border-bottom: 1px solid var(--mka-color-plata);
	background: transparent;
	font-family: inherit;
	font-size: 0.9375rem;
	color: var(--mka-color-texto);
}

.mka-producto-guia-medida {
	margin-top: var(--mka-espaciado-xs);
	font-size: 0.8125rem;
	color: var(--mka-color-texto-suave);
}

.mka-producto-guia-medida summary {
	cursor: pointer;
	text-decoration: underline;
	text-decoration-color: var(--mka-color-plata);
}

.mka-producto-guia-medida summary:hover,
.mka-producto-guia-medida summary:focus-visible {
	color: var(--mka-color-burdeos);
}

.mka-producto-guia-medida p {
	margin: var(--mka-espaciado-xs) 0 0 0;
}

/* Descripción + set + acordeones */
.mka-producto__detalle {
	max-width: 60ch;
	margin: 0 auto;
	padding: var(--mka-espaciado-lg) 0;
}

.mka-producto__descripcion {
	font-size: 1rem;
	line-height: 1.7;
	color: var(--mka-color-texto);
}

.mka-producto-set {
	margin-top: var(--mka-espaciado-lg);
	padding-top: var(--mka-espaciado-lg);
	border-top: 1px solid var(--mka-color-plata);
}

.mka-producto-set__titulo {
	font-family: var(--mka-font-display);
	font-size: 1.25rem;
	font-weight: 400;
	margin: 0 0 var(--mka-espaciado-md) 0;
}

.mka-producto-set__lista {
	list-style: none;
	margin: 0;
	padding: 0;
}

.mka-producto-set__item {
	padding: var(--mka-espaciado-sm) 0;
	border-bottom: 1px solid var(--mka-color-plata);
}

.mka-producto-set__nombre {
	display: block;
	font-size: 0.9375rem;
	color: var(--mka-color-texto);
}

.mka-producto-set__descripcion {
	display: block;
	margin-top: var(--mka-espaciado-xs);
	font-size: 0.8125rem;
	color: var(--mka-color-texto-suave);
}

.mka-producto-acordeones {
	margin-top: var(--mka-espaciado-lg);
	padding-top: var(--mka-espaciado-lg);
	border-top: 1px solid var(--mka-color-plata);
}

.mka-producto-acordeon {
	border-bottom: 1px solid var(--mka-color-plata);
}

.mka-producto-acordeon summary {
	padding: var(--mka-espaciado-sm) 0;
	font-size: 0.9375rem;
	color: var(--mka-color-texto);
	cursor: pointer;
	list-style: none;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.mka-producto-acordeon summary::-webkit-details-marker {
	display: none;
}

.mka-producto-acordeon summary::after {
	content: '+';
	font-size: 1.125rem;
	color: var(--mka-color-texto-suave);
	margin-left: var(--mka-espaciado-sm);
}

.mka-producto-acordeon[open] summary::after {
	content: '−';
}

.mka-producto-acordeon summary:hover,
.mka-producto-acordeon summary:focus-visible {
	color: var(--mka-color-burdeos);
}

.mka-producto-acordeon__lista {
	margin: 0 0 var(--mka-espaciado-md) 0;
	font-size: 0.875rem;
}

.mka-producto-acordeon__lista dt {
	color: var(--mka-color-texto-suave);
	margin-top: var(--mka-espaciado-xs);
}

.mka-producto-acordeon__lista dd {
	margin: 0;
	color: var(--mka-color-texto);
}

.mka-producto-acordeon__texto {
	margin: 0 0 var(--mka-espaciado-md) 0;
	font-size: 0.875rem;
	line-height: 1.6;
	color: var(--mka-color-texto);
}

/* Relacionados — mismo criterio de grid que Tienda */
.mka-producto-relacionados {
	padding: 0 0 var(--mka-espaciado-xl) 0;
}

.mka-producto-relacionados__titulo {
	font-family: var(--mka-font-display);
	font-size: 1.5rem;
	font-weight: 400;
	text-align: center;
	margin: 0 0 var(--mka-espaciado-lg) 0;
}

.mka-producto-relacionados__grid {
	max-width: 1600px;
	margin: 0 auto;
	list-style: none;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: var(--mka-espaciado-lg);
}

@media (max-width: 1024px) {
	.mka-producto-relacionados__grid {
		grid-template-columns: repeat(3, 1fr);
	}
}

@media (max-width: 767px) {
	.mka-producto-pagina {
		padding: 0 var(--mka-espaciado-md);
	}

	.mka-producto-relacionados__grid {
		grid-template-columns: repeat(2, 1fr);
	}
}
