/* Minicarrito del encabezado (shortcode koncepto_minicarrito, ver minicarrito.php). */
.kp-minicarrito {
	position: relative;
	display: inline-block;
}

/* La sección del encabezado que contiene el minicarrito va por encima de la barra de categorías,
   que es la sección siguiente (su fila con menú usa z-index 999); si no, el menú se pinta sobre el panel. */
.et-l--header .et_pb_section:has(.kp-minicarrito) {
	z-index: 1000;
}

.kp-minicarrito__boton {
	position: relative;
	display: flex;
	align-items: center;
	gap: 0.3vw;
	padding: 0.45vw 1vw;
	border-radius: 5px;
	background: #eb5460;
	color: #fff;
	font-size: 0.9vw;
	line-height: 1.3;
	white-space: nowrap;
}

.kp-minicarrito__boton,
.kp-minicarrito__boton:link,
.kp-minicarrito__boton:visited,
.kp-minicarrito__boton:hover,
.kp-minicarrito__boton:focus,
.kp-minicarrito__boton:active,
.kp-minicarrito__boton .kp-minicarrito__texto {
	color: #fff !important;
}

.kp-minicarrito__icono {
	display: block;
	width: 1.6vw;
	height: auto;
}

.kp-minicarrito__contador {
	position: absolute;
	top: -7px;
	right: -7px;
	min-width: 18px;
	height: 18px;
	padding: 0 4px;
	border-radius: 9px;
	background: #fff;
	box-shadow: 0 0 0 1px #eb5460;
	color: #eb5460;
	font-size: 11px;
	line-height: 18px;
	text-align: center;
}

.kp-minicarrito--dorado .kp-minicarrito__boton {
	background: #cfaf70;
}

.kp-minicarrito--dorado .kp-minicarrito__contador {
	box-shadow: 0 0 0 1px #cfaf70;
	color: #cfaf70;
}

.kp-minicarrito__contador.is-vacio {
	display: none;
}

.kp-minicarrito__panel {
	display: none;
	position: absolute;
	top: 100%;
	right: 0;
	z-index: 9999;
	width: 340px;
	padding-top: 10px;
}

@media (hover: hover) and (min-width: 981px) {
	.kp-minicarrito:hover .kp-minicarrito__panel,
	.kp-minicarrito:focus-within .kp-minicarrito__panel {
		display: block;
	}
}

.kp-minicarrito__panel .widget_shopping_cart_content {
	max-height: 70vh;
	overflow: auto;
	padding: 20px;
	border-radius: 5px;
	background: #fff;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
	color: #333;
	font-size: 14px;
	line-height: 1.4;
}

.kp-minicarrito .woocommerce-mini-cart {
	margin: 0;
	padding: 0;
	list-style: none;
}

/* Cada producto en tres columnas fijas (foto, texto, quitar): el título nunca pasa por debajo de la foto.
   El enlace del producto (foto + nombre) se "disuelve" con display: contents para que sus partes ocupen columnas. */
.kp-minicarrito .woocommerce-mini-cart-item {
	display: grid;
	grid-template-columns: 50px minmax(0, 1fr) 24px;
	column-gap: 10px;
	row-gap: 4px;
	align-items: start;
	margin: 0;
	padding: 10px 0;
	border-bottom: 1px solid #eee;
	line-height: 1.4;
}

.kp-minicarrito .woocommerce-mini-cart-item > a:not(.remove) {
	display: contents;
	color: #333;
	font-weight: 500;
	line-height: 1.35;
}

.kp-minicarrito .woocommerce-mini-cart-item img {
	grid-column: 1;
	grid-row: 1 / span 3;
	float: none !important;
	width: 50px !important;
	height: 50px !important;
	margin: 0 !important;
	object-fit: contain;
}

.kp-minicarrito .woocommerce-mini-cart-item a.remove {
	position: static;
	grid-column: 3;
	grid-row: 1;
	justify-self: end;
	color: #eb5460 !important;
	font-size: 18px;
	line-height: 1;
}

.kp-minicarrito .woocommerce-mini-cart-item > a:not(.remove),
.kp-minicarrito .woocommerce-mini-cart-item .variation,
.kp-minicarrito .woocommerce-mini-cart-item .quantity {
	grid-column: 2;
}

.kp-minicarrito .woocommerce-mini-cart-item .variation {
	margin: 0;
	font-size: 13px;
}

.kp-minicarrito .woocommerce-mini-cart-item .quantity {
	display: block;
	margin: 0;
	color: #767676;
	white-space: nowrap;
}

.kp-minicarrito .woocommerce-mini-cart-item .quantity .amount,
.kp-minicarrito .woocommerce-mini-cart-item .quantity bdi {
	display: inline;
}

.kp-minicarrito .woocommerce-mini-cart__total {
	display: flex;
	justify-content: space-between;
	margin: 0;
	padding: 12px 0;
}

.kp-minicarrito .woocommerce-mini-cart__buttons {
	display: flex;
	gap: 8px;
	margin: 0;
}

.kp-minicarrito .woocommerce-mini-cart__buttons .button {
	flex: 1;
	padding: 8px !important;
	border: 1px solid #eb5460 !important;
	border-radius: 5px;
	background: #fff !important;
	color: #eb5460 !important;
	font-size: 14px !important;
	text-align: center;
}

.kp-minicarrito .woocommerce-mini-cart__buttons .button.checkout {
	background: #eb5460 !important;
	color: #fff !important;
}

.kp-minicarrito .woocommerce-mini-cart__buttons .button:after {
	display: none;
}

.kp-minicarrito .woocommerce-mini-cart__empty-message {
	margin: 0;
	text-align: center;
}

@media (max-width: 980px) {
	.kp-minicarrito__boton {
		padding: 5px;
		font-size: 14px;
	}

	.kp-minicarrito__icono {
		width: 20px;
	}
}

/* Tras añadir un producto sin recargar (carrito-ajax.js) el panel se muestra unos segundos. */
@media (hover: hover) and (min-width: 981px) {
	.kp-minicarrito--abierto .kp-minicarrito__panel {
		display: block;
	}
}

/* Panel desplegado al tocar el botón (móvil, tableta y pantallas táctiles; script en minicarrito.php). */
.kp-minicarrito__cabecera {
	display: none;
}

.kp-minicarrito--desplegado .kp-minicarrito__panel {
	display: block;
	width: min(340px, calc(100vw - 32px));
}

.kp-minicarrito--desplegado .kp-minicarrito__cabecera {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 14px 20px 12px;
	border-bottom: 1px solid #eee;
	border-radius: 5px 5px 0 0;
	background: #fff;
	color: #333;
	font-size: 16px;
}

.kp-minicarrito--desplegado .kp-minicarrito__panel .widget_shopping_cart_content {
	border-radius: 0 0 5px 5px;
}

.kp-minicarrito__cerrar {
	width: 32px;
	height: 32px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: #f2f2f2;
	color: #333;
	font-size: 22px;
	line-height: 32px;
	cursor: pointer;
}
