/**
 * La Niña Shops WP - Estilos del selector de cantidad en el carrito
 *
 * Astra Pro (módulo WooCommerce) es quien normalmente estiliza las
 * etiquetas `.ast-qty-placeholder` como botones redondeados. Con ese
 * módulo desactivado, Astra base inyecta el HTML pero los +/- quedan
 * sin estilo. Este archivo los convierte en un control consistente
 * con la identidad visual del sitio (morado #59143A).
 *
 * Ámbito: exclusivamente `form.woocommerce-cart-form`. Fuera del
 * carrito no tocamos ningún selector para no chocar con la ficha de
 * producto ni con otros contextos donde Astra Pro sí pinte los botones.
 */

.woocommerce-cart-form .quantity {
	display: inline-flex !important;
	align-items: stretch;
	position: relative;
	border: 1px solid #d9d9d9;
	border-radius: 30px;
	overflow: hidden;
	background: #fff;
	line-height: 1;
}

.woocommerce-cart-form .quantity .ast-qty-placeholder {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 34px;
	position: static !important;
	float: none !important;
	top: auto !important;
	right: auto !important;
	bottom: auto !important;
	left: auto !important;
	transform: none !important;
	width: 34px;
	min-width: 34px;
	height: 38px;
	padding: 0;
	margin: 0 !important;
	background: transparent;
	color: #59143a;
	font-size: 18px;
	font-weight: 500;
	line-height: 1;
	text-decoration: none;
	cursor: pointer !important;
	user-select: none;
	border: 0;
	transition: background-color 0.15s ease, color 0.15s ease;
}

.woocommerce-cart-form .quantity .ast-qty-placeholder.minus {
	order: 1;
}

.woocommerce-cart-form .quantity .ast-qty-placeholder.plus {
	order: 3;
}

.woocommerce-cart-form .quantity .ast-qty-placeholder:hover,
.woocommerce-cart-form .quantity .ast-qty-placeholder:focus,
.woocommerce-cart-form .quantity .ast-qty-placeholder:focus-visible {
	background: #59143a;
	color: #fff;
	cursor: pointer !important;
	outline: none;
	text-decoration: none;
}

.woocommerce-cart-form .quantity .ast-qty-placeholder:active {
	background: #3d0d28;
	color: #fff;
}

.woocommerce-cart-form .quantity input.qty,
.woocommerce-cart-form .quantity input[type="number"].qty {
	order: 2;
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	flex: 0 0 56px;
	min-width: 56px;
	max-width: 56px;
	width: 56px;
	height: 38px;
	padding: 0 6px;
	margin: 0 !important;
	text-align: center;
	border: 0;
	border-left: 1px solid #e6e6e6;
	border-right: 1px solid #e6e6e6;
	border-radius: 0;
	background: transparent;
	font-size: 14px;
	color: #1a1a1a;
	box-shadow: none;
	-moz-appearance: textfield;
	appearance: textfield;
	z-index: 1;
}

/* Astra puede inyectar reglas muy específicas para colocar +/- en absoluto.
 * Reaplicamos layout estable con mayor especificidad para el carrito clásico. */
.woocommerce-cart-form table.shop_table .quantity .ast-qty-placeholder.minus {
	position: static !important;
	left: auto !important;
	right: auto !important;
	transform: none !important;
}

.woocommerce-cart-form table.shop_table .quantity .ast-qty-placeholder.plus {
	position: static !important;
	left: auto !important;
	right: auto !important;
	transform: none !important;
}

.woocommerce-cart-form table.shop_table .quantity input.qty {
	position: static !important;
	left: auto !important;
	right: auto !important;
	transform: none !important;
}

.woocommerce-cart-form .quantity input.qty::-webkit-outer-spin-button,
.woocommerce-cart-form .quantity input.qty::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.woocommerce-cart-form .quantity input.qty:focus {
	outline: none;
	background: #fafafa;
}

/* Estado "valor en el límite": el JS añade la clase `is-at-max` sobre el
 * botón plus y `is-at-min` sobre el minus. Antes usábamos
 * `cursor: not-allowed`, pero el usuario lo interpretaba como botón
 * deshabilitado (prohibido) aunque el click sigue funcionando. Mantenemos
 * sólo una leve atenuación visual para indicar el límite sin confundir. */
.woocommerce-cart-form .quantity .ast-qty-placeholder.is-at-max,
.woocommerce-cart-form .quantity .ast-qty-placeholder.is-at-min {
	opacity: 0.55;
	cursor: pointer !important;
}

.woocommerce-cart-form .quantity .ast-qty-placeholder.is-at-max:hover,
.woocommerce-cart-form .quantity .ast-qty-placeholder.is-at-min:hover {
	background: #59143a;
	color: #fff;
	opacity: 1;
	cursor: pointer !important;
}

/* Botón eliminar (X): centrado robusto incluso con overrides del tema. */
.woocommerce-cart-form td.product-remove a.remove,
.woocommerce-cart-form td.product-remove .remove {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 24px;
	height: 24px;
	min-width: 24px;
	line-height: 1 !important;
	padding: 0 !important;
	margin: 0 auto;
	border-radius: 50%;
	text-decoration: none;
	box-sizing: border-box;
}

/* Cupón: sólo reubicar arriba, sin redibujar estética nativa del tema. */
.woocommerce-cart-form .laninashops-coupon-top {
	margin: 0 0 18px;
	padding: 0;
	background: transparent;
	border: 0;
	border-radius: 0;
}

.woocommerce-cart-form .laninashops-coupon-top .coupon {
	margin: 0;
	padding: 0;
	float: none;
}
