/**
 * Natsy Child — estilos propios.
 *
 * Colores de marca (Elementor kit 6): primario #BAF120, verde #80B500,
 * secundario #092427, texto #071C1F, crema #FDFCF7 / #F6F5EE.
 */

:root {
	--nc-lima: #baf120;
	--nc-verde: #80b500;
	--nc-oscuro: #092427;
	--nc-texto: #071c1f;
	--nc-texto-suave: #55665d;
	--nc-crema: #fdfcf7;
	--nc-crema-2: #f6f5ee;
	--nc-borde: #e3e8dc;
}

/* =============================================================================
   Carrito clásico — móvil (< 768px). Escritorio sin cambios.
   Filas compactas: miniatura a la izquierda, nombre/precio/cantidad a la derecha.
   ========================================================================== */
@media (max-width: 767.98px) {

	body.woocommerce-cart .woocommerce .woocommerce-cart-form .shop_table {
		display: block;
		width: 100%;
		margin-bottom: 1.5rem;
		border: 0;
	}

	body.woocommerce-cart .woocommerce .woocommerce-cart-form .shop_table thead {
		display: none;
	}

	body.woocommerce-cart .woocommerce .woocommerce-cart-form .shop_table tbody {
		display: block;
		width: 100%;
	}

	/* Fila de producto */
	body.woocommerce-cart .woocommerce .woocommerce-cart-form tr.cart_item {
		display: grid;
		grid-template-columns: 84px minmax(0, 1fr);
		column-gap: 14px;
		row-gap: 6px;
		align-items: center;
		padding: 16px 0;
		border-bottom: 1px solid var(--nc-borde);
	}

	body.woocommerce-cart .woocommerce .woocommerce-cart-form tr.cart_item:first-child {
		border-top: 1px solid var(--nc-borde);
	}

	body.woocommerce-cart .woocommerce .woocommerce-cart-form tr.cart_item td {
		display: flex;
		width: auto;
		margin: 0;
		padding: 0 !important;
		border: 0;
		background: none;
		text-align: left !important;
	}

	/* Miniatura */
	body.woocommerce-cart .woocommerce .woocommerce-cart-form tr.cart_item td.product-thumbnail {
		display: block;
		grid-column: 1;
		grid-row: 1 / span 4;
		align-self: start;
		width: 84px;
		text-align: left !important;
	}

	body.woocommerce-cart .woocommerce .woocommerce-cart-form tr.cart_item td.product-thumbnail::before {
		display: none;
	}

	body.woocommerce-cart .woocommerce .woocommerce-cart-form tr.cart_item td.product-thumbnail a {
		display: block;
		width: 84px;
	}

	body.woocommerce-cart .woocommerce .woocommerce-cart-form tr.cart_item td.product-thumbnail img {
		display: block;
		width: 84px !important;
		max-width: 84px !important;
		height: 84px;
		margin: 0;
		object-fit: contain;
		border-radius: 10px;
		background: var(--nc-crema-2);
	}

	/* Nombre + quitar */
	body.woocommerce-cart .woocommerce .woocommerce-cart-form tr.cart_item td.product-name {
		display: flex;
		grid-column: 2;
		margin: 0;
		flex-direction: column;
		align-items: flex-start;
		gap: 4px;
		position: static;
	}

	body.woocommerce-cart .woocommerce .woocommerce-cart-form tr.cart_item td.product-name::before {
		display: none;
	}

	body.woocommerce-cart .woocommerce .woocommerce-cart-form tr.cart_item td.product-name > a:not(.remove) {
		display: block;
		float: none;
		text-align: left;
		font-size: 0.9375rem;
		font-weight: 600;
		line-height: 1.3;
		color: var(--nc-texto);
	}

	body.woocommerce-cart .woocommerce .woocommerce-cart-form tr.cart_item td.product-name a.remove {
		position: static;
		float: none;
		margin: 0;
		font-size: 0.75rem;
		letter-spacing: 0.04em;
		color: var(--nc-texto-suave);
	}

	body.woocommerce-cart .woocommerce .woocommerce-cart-form tr.cart_item td.product-name dl.variation {
		margin: 0;
		font-size: 0.8125rem;
		color: var(--nc-texto-suave);
	}

	/* Precio / cantidad / subtotal: etiqueta a la izquierda, valor a la derecha */
	body.woocommerce-cart .woocommerce .woocommerce-cart-form tr.cart_item td.product-price,
	body.woocommerce-cart .woocommerce .woocommerce-cart-form tr.cart_item td.product-quantity,
	body.woocommerce-cart .woocommerce .woocommerce-cart-form tr.cart_item td.product-subtotal {
		grid-column: 2;
		justify-content: space-between;
		align-items: center;
		gap: 12px;
		min-height: 0;
		font-size: 0.9375rem;
	}

	body.woocommerce-cart .woocommerce .woocommerce-cart-form tr.cart_item td.product-price::before,
	body.woocommerce-cart .woocommerce .woocommerce-cart-form tr.cart_item td.product-quantity::before,
	body.woocommerce-cart .woocommerce .woocommerce-cart-form tr.cart_item td.product-subtotal::before {
		content: attr(data-title);
		display: block;
		float: none;
		margin: 0;
		font-size: 0.8125rem;
		font-weight: 400;
		color: var(--nc-texto-suave);
	}

	body.woocommerce-cart .woocommerce .woocommerce-cart-form tr.cart_item td.product-price .woocommerce-Price-amount {
		font-size: 0.9375rem;
		font-weight: 500;
		color: var(--nc-texto);
	}

	body.woocommerce-cart .woocommerce .woocommerce-cart-form tr.cart_item td.product-subtotal .woocommerce-Price-amount {
		font-size: 1rem;
		font-weight: 700;
		color: var(--nc-texto);
	}

	body.woocommerce-cart .woocommerce .woocommerce-cart-form tr.cart_item td.product-quantity .quantity {
		margin: 0;
	}


	/* Cupón + actualizar: se respeta el estilo del tema, solo a todo lo ancho */
	body.woocommerce-cart .woocommerce .woocommerce-cart-form .shop_table tbody > tr:not(.cart_item) {
		display: block;
		width: 100%;
	}

	body.woocommerce-cart .woocommerce .woocommerce-cart-form td.actions {
		display: block;
		width: 100%;
		padding: 16px 0 0 !important;
		border: 0;
		text-align: left !important;
	}

	body.woocommerce-cart .woocommerce .woocommerce-cart-form td.actions::before {
		display: none;
	}

	body.woocommerce-cart .woocommerce .woocommerce-cart-form td.actions .coupon {
		width: 100%;
	}

	body.woocommerce-cart .woocommerce .woocommerce-cart-form td.actions .coupon #coupon_code {
		width: 100%;
	}


	/* Tarjeta de totales */
	body.woocommerce-cart .woocommerce .cart-collaterals .cart_totals {
		width: 100%;
		margin: 0;
		padding: 20px 18px;
		border: 1px solid var(--nc-borde);
		border-radius: 14px;
		background: var(--nc-crema);
		box-sizing: border-box;
	}

	body.woocommerce-cart .woocommerce .cart-collaterals .cart_totals h2 {
		margin: 0 0 12px;
		font-size: 1.25rem;
	}

	body.woocommerce-cart .woocommerce .cart-collaterals .cart_totals table.shop_table {
		width: 100%;
		margin: 0 0 16px;
		border: 0;
	}

	body.woocommerce-cart .woocommerce .cart-collaterals .cart_totals table.shop_table tr {
		border-bottom: 1px solid var(--nc-borde);
	}

	body.woocommerce-cart .woocommerce .cart-collaterals .cart_totals table.shop_table tr:last-child {
		border-bottom: 0;
	}

	body.woocommerce-cart .woocommerce .cart-collaterals .cart_totals table.shop_table th,
	body.woocommerce-cart .woocommerce .cart-collaterals .cart_totals table.shop_table td {
		padding: 12px 0;
		border: 0;
		vertical-align: top;
		font-size: 0.9375rem;
		line-height: 1.4;
	}

	body.woocommerce-cart .woocommerce .cart-collaterals .cart_totals table.shop_table th {
		width: 38%;
		padding-right: 12px;
		font-weight: 600;
		color: var(--nc-texto);
	}

	body.woocommerce-cart .woocommerce .cart-collaterals .cart_totals table.shop_table td {
		text-align: right !important;
	}

	body.woocommerce-cart .woocommerce .cart-collaterals .cart_totals table.shop_table td::before {
		display: none;
	}

	body.woocommerce-cart .woocommerce .cart-collaterals .cart_totals .woocommerce-shipping-methods {
		margin: 0;
		padding: 0;
		list-style: none;
	}

	body.woocommerce-cart .woocommerce .cart-collaterals .cart_totals .woocommerce-shipping-destination,
	body.woocommerce-cart .woocommerce .cart-collaterals .cart_totals .shipping-calculator-button {
		margin: 6px 0 0;
		font-size: 0.8125rem;
		color: var(--nc-texto-suave);
	}

	body.woocommerce-cart .woocommerce .cart-collaterals .cart_totals tr.order-total th,
	body.woocommerce-cart .woocommerce .cart-collaterals .cart_totals tr.order-total td,
	body.woocommerce-cart .woocommerce .cart-collaterals .cart_totals tr.order-total .woocommerce-Price-amount {
		font-size: 1.125rem;
		font-weight: 700;
	}

	body.woocommerce-cart .woocommerce .cart-collaterals .cart_totals .wc-proceed-to-checkout {
		padding: 0;
	}

	body.woocommerce-cart .woocommerce .cart-collaterals .cart_totals .wc-proceed-to-checkout .checkout-button {
		display: block;
		width: 100%;
		margin: 0;
		padding: 16px 20px;
		border-radius: 10px;
		font-size: 1rem;
		text-align: center;
	}
}

/* Botón de chat (GetButton): en carrito y checkout móvil se oculta para no tapar el total ni el botón de pago (en el resto del sitio sigue visible) */
@media (max-width: 768px) {
	body.woocommerce-cart [id^="gb-widget-"],
	body.woocommerce-checkout [id^="gb-widget-"] { display: none !important; }
}
