/**
 * Carrito lateral de Florestudio.
 *
 * El panel lo dibuja el widget de Elementor con la plantilla mini-cart de
 * WooCommerce. Aquí se le da la forma del resto del sitio: la misma paleta
 * del kit de Elementor y de los correos, titulares en serif, líneas
 * finísimas.
 *
 *   #0D281A casi negro · #204E36 verde oscuro · #22A366 verde
 *   #E3F1E5 verde claro · #FAF9F6 crema · #E4E4DF líneas
 */

.elementor-menu-cart__main {
	--fs-negro: #0D281A;
	--fs-verde-osc: #204E36;
	--fs-linea: #E4E4DF;
	--fs-texto: #3A3A3A;
	--fs-suave: #8A8A8A;
	--fs-crema: #FAF9F6;
	--fs-serif: Georgia, "Times New Roman", Times, serif;

	background: #fff !important;
	padding: 0 !important;
	display: flex !important;
	flex-direction: column;
}

/* ---- Cabecera ---- */

.elementor-menu-cart__main .elementor-menu-cart__close-button {
	top: 18px !important;
	right: 18px !important;
}

.elementor-menu-cart__products {
	padding: 22px 24px 0 !important;
	flex: 1 1 auto;
	overflow-y: auto;
}

/* ---- Cada producto ---- */

.elementor-menu-cart__main .woocommerce-mini-cart-item {
	padding: 0 0 18px !important;
	margin: 0 0 18px !important;
	border-bottom: 1px solid var(--fs-linea) !important;
}

.elementor-menu-cart__main .woocommerce-mini-cart-item img {
	border-radius: 8px;
	width: 74px !important;
	max-width: 74px !important;
}

.elementor-menu-cart__main .woocommerce-mini-cart-item a:not(.remove) {
	font-family: var(--fs-serif) !important;
	font-size: 16px !important;
    font-weight: 400 !important;
	line-height: 1.3 !important;
	color: var(--fs-negro) !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
}

.elementor-menu-cart__main .woocommerce-mini-cart-item .quantity {
	display: block;
	margin-top: 5px;
	font-size: 14px;
	color: var(--fs-texto);
}

.elementor-menu-cart__main .woocommerce-mini-cart-item .amount {
	font-weight: 600;
	color: var(--fs-negro);
}

/* ---- Sugerencias: lo que le falta al homenaje ---- */

.fs-car-sugerencias {
	margin: 4px 0 22px;
	padding: 18px 0 0;
	border-top: 1px solid var(--fs-linea);
}

.fs-car-sugerencias__rotulo {
	display: block;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
	font-size: 10px;
	font-weight: 600;
	letter-spacing: .11em;
	text-transform: uppercase;
	color: var(--fs-suave);
	margin: 0 0 12px;
}

.fs-car-sug {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px;
	margin: 0 0 8px;
	border: 1px solid var(--fs-linea);
	border-radius: 11px;
	background: var(--fs-crema);
	transition: border-color .16s ease, background .16s ease;
}

.fs-car-sug:hover {
	border-color: #C5E2CC;
	background: #fff;
}

.fs-car-sug__foto {
	flex: 0 0 52px;
	line-height: 0;
}

.fs-car-sug__foto img {
	width: 52px !important;
	height: 52px;
	object-fit: cover;
	border-radius: 7px;
	display: block;
}

.fs-car-sug__txt {
	flex: 1 1 auto;
	min-width: 0;
}

.fs-car-sug__nombre {
	display: block;
	font-size: 13.5px !important;
	font-weight: 500 !important;
	line-height: 1.35 !important;
	color: var(--fs-negro) !important;
	text-decoration: none !important;
	font-family: inherit !important;
}

.fs-car-sug__precio {
	display: block;
	margin-top: 2px;
	font-size: 13px;
	color: var(--fs-verde-osc);
}

.fs-car-sug__precio .amount {
	font-weight: 600;
}

.fs-car-sug__precio del {
	color: var(--fs-suave);
	font-weight: 400;
	margin-right: 5px;
}

/* El botón de añadir: un signo, no una frase. */
.fs-car-sug__mas,
.fs-car-sug__mas.added_to_cart {
	flex: 0 0 auto;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border: 1px solid var(--fs-linea) !important;
	border-radius: 50% !important;
	background: #fff !important;
	color: var(--fs-verde-osc) !important;
	font-size: 19px !important;
	font-weight: 400 !important;
	line-height: 1 !important;
	text-decoration: none !important;
	padding: 0 !important;
	margin: 0 !important;
	transition: background .16s ease, border-color .16s ease, color .16s ease;
}

.fs-car-sug__mas:hover {
	background: var(--fs-verde-osc) !important;
	border-color: var(--fs-verde-osc) !important;
	color: #fff !important;
}

.fs-car-sug__mas.loading {
	opacity: .5;
}

/* WooCommerce añade un «Ver carrito» detrás de cada botón AJAX. Aquí
   sobra: el carrito ya está abierto delante del cliente. */
.fs-car-sug .added_to_cart:not(.fs-car-sug__mas) {
	display: none !important;
}

/* ---- Totales ---- */

.elementor-menu-cart__footer-buttons,
.elementor-menu-cart__main .woocommerce-mini-cart__total,
.elementor-menu-cart__main .woocommerce-mini-cart__buttons {
	padding-left: 24px !important;
	padding-right: 24px !important;
}

.elementor-menu-cart__main .woocommerce-mini-cart__total {
	border-top: 1px solid var(--fs-linea) !important;
	border-bottom: 0 !important;
	padding-top: 18px !important;
	padding-bottom: 4px !important;
	margin: 0 !important;
}

.fs-car-totales {
	display: block;
}

.fs-car-totales__fila {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 14px;
	padding: 5px 0;
	font-size: 14px;
	color: var(--fs-texto);
}

.fs-car-totales__fila--suave {
	color: var(--fs-suave);
	font-size: 13px;
}

.fs-car-totales__valor {
	font-weight: 600;
	color: var(--fs-negro);
	white-space: nowrap;
}

.fs-car-totales__fila--total {
	margin-top: 6px;
	padding-top: 12px;
	border-top: 1px solid var(--fs-linea);
}

.fs-car-totales__fila--total > span:first-child {
	font-family: var(--fs-serif);
	font-size: 18px;
	color: var(--fs-negro);
}

.fs-car-totales__fila--total .fs-car-totales__valor,
.fs-car-totales__fila--total .amount {
	font-family: var(--fs-serif) !important;
	font-size: 24px !important;
	font-weight: 400 !important;
	color: var(--fs-negro) !important;
}

/* ---- Botones ---- */

.elementor-menu-cart__main .woocommerce-mini-cart__buttons {
	display: flex !important;
	flex-direction: column;
	gap: 9px;
	margin: 14px 0 0 !important;
	padding-bottom: 4px !important;
}

.elementor-menu-cart__main .woocommerce-mini-cart__buttons a {
	display: block !important;
	width: 100% !important;
	text-align: center;
	border-radius: 999px !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	padding: 15px 22px !important;
	line-height: 1.2 !important;
	margin: 0 !important;
}

/* Primero el que continúa la compra. */
.elementor-menu-cart__main .woocommerce-mini-cart__buttons a.checkout {
	order: -1;
	background: var(--fs-verde-osc) !important;
	border: 1px solid var(--fs-verde-osc) !important;
	color: #fff !important;
}

.elementor-menu-cart__main .woocommerce-mini-cart__buttons a.checkout:hover {
	background: var(--fs-negro) !important;
	border-color: var(--fs-negro) !important;
}

.elementor-menu-cart__main .woocommerce-mini-cart__buttons a:not(.checkout) {
	background: #fff !important;
	border: 1px solid var(--fs-linea) !important;
	color: var(--fs-texto) !important;
}

.elementor-menu-cart__main .woocommerce-mini-cart__buttons a:not(.checkout):hover {
	border-color: var(--fs-verde-osc) !important;
	color: var(--fs-negro) !important;
}

/* ---- Pie ---- */

.fs-car-pie {
	margin: 12px 24px 22px !important;
	font-size: 12px;
	line-height: 1.5;
	color: var(--fs-suave);
	text-align: center;
}

/* ---- Carrito vacío ---- */

.elementor-menu-cart__main .woocommerce-mini-cart__empty-message {
	padding: 40px 24px !important;
	text-align: center;
	font-size: 15px;
	color: var(--fs-suave);
}

@media (max-width: 480px) {
	.elementor-menu-cart__products,
	.elementor-menu-cart__main .woocommerce-mini-cart__total,
	.elementor-menu-cart__main .woocommerce-mini-cart__buttons {
		padding-left: 18px !important;
		padding-right: 18px !important;
	}
	.fs-car-pie { margin-left: 18px !important; margin-right: 18px !important; }
}

/* =================================================================
 * EL PIE QUE PINTA ELEMENTOR
 *
 * El widget no usa el pie de la plantilla de WooCommerce: pone el suyo.
 * Se esconde su subtotal —el nuestro lo sustituye, con el aviso del
 * envío— y se reestilizan sus botones, que sí sirven.
 * ============================================================== */

.elementor-menu-cart__subtotal {
	display: none !important;
}

.elementor-menu-cart__footer-buttons {
	display: flex !important;
	flex-direction: column;
	gap: 9px;
	padding: 0 24px 20px !important;
	margin: 0 !important;
	border-top: 0 !important;
}

.elementor-menu-cart__footer-buttons .elementor-button {
	display: block !important;
	width: 100% !important;
	text-align: center;
	border-radius: 999px !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	padding: 15px 22px !important;
	line-height: 1.2 !important;
	margin: 0 !important;
	border: 1px solid var(--fs-linea) !important;
	background: #fff !important;
	color: var(--fs-texto) !important;
}

/* Primero el que continúa la compra. */
.elementor-menu-cart__footer-buttons .elementor-button--checkout {
	order: -1;
	background: var(--fs-verde-osc) !important;
	border-color: var(--fs-verde-osc) !important;
	color: #fff !important;
}

.elementor-menu-cart__footer-buttons .elementor-button--checkout:hover {
	background: var(--fs-negro) !important;
	border-color: var(--fs-negro) !important;
}

.elementor-menu-cart__footer-buttons .elementor-button--view-cart:hover {
	border-color: var(--fs-verde-osc) !important;
	color: var(--fs-negro) !important;
}

/* Los totales y el pie viven dentro de la zona con desplazamiento, así que
   se separan del listado con una línea. */
.fs-car-totales {
	margin: 4px 0 0;
	padding: 16px 0 0;
	border-top: 1px solid var(--fs-linea);
}

.fs-car-pie {
	margin: 14px 0 6px !important;
}
