/*
 * Carrito lateral 2026 (Estilo de Bebé): widget «Carrito» de Elementor en la cabecera con la plantilla cart/mini-cart.php
 * del plugin 024. Reemplaza el bloque «Carrito lateral de la cabecera» que estaba en uploads/edb-cabecera/cabecera-2026.css.
 * Todo cuelga de :has(.edb-lat), así solo actúa cuando la plantilla nueva está activa.
 */

.elementor-menu-cart__main:has(.edb-lat) {
	width: min(100vw, 440px) !important; max-width: 100vw !important; padding: 0 !important;
	display: flex !important; flex-direction: column !important; align-items: stretch !important;
	font-family: var(--edb-fuente); color: var(--edb-texto); background: var(--edb-blanco) !important;
}
.elementor-menu-cart__main:has(.edb-lat)::before,
.elementor-menu-cart__main:has(.edb-lat)::after { content: none !important; display: none !important; }
.elementor-menu-cart__main:has(.edb-lat) .elementor-menu-cart__close-button {
	position: absolute !important; top: 12px !important; right: 12px !important; z-index: 3;
	width: 44px !important; height: 44px !important; margin: 0 !important; border-radius: 50%; transition: background-color var(--edb-transicion);
}
.elementor-menu-cart__main:has(.edb-lat) .elementor-menu-cart__close-button:hover { background: var(--edb-lienzo); }
.elementor-menu-cart__main:has(.edb-lat) .elementor-menu-cart__close-button::before,
.elementor-menu-cart__main:has(.edb-lat) .elementor-menu-cart__close-button::after {
	left: 11px !important; width: 22px !important; height: 2px !important; margin-top: -1px !important; border-radius: 2px; background: var(--edb-azul-logo) !important;
}
.elementor-menu-cart__main:has(.edb-lat) .widget_shopping_cart_content { flex: 1 1 auto; min-height: 0; height: auto !important; display: flex !important; flex-direction: column !important; }

.edb-lat { flex: 1 1 auto; min-height: 0; display: flex; flex-direction: column; font-family: var(--edb-fuente); color: var(--edb-texto); font-size: 14px; line-height: 1.45; letter-spacing: 0; }
.edb-lat *, .edb-lat *::before, .edb-lat *::after { box-sizing: border-box; }
.edb-lat svg { width: 20px; height: 20px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.edb-lat p { margin: 0; }
.edb-lat .woocommerce-Price-amount, .edb-lat bdi { font: inherit; color: inherit; }
.edb-lat.edb-lat-cargando .edb-lat-cuerpo, .edb-lat.edb-lat-cargando .edb-lat-pie { opacity: .6; pointer-events: none; transition: opacity .15s ease; }

/* Cabecera */
.edb-lat .edb-lat-cab { flex: none; display: flex; align-items: center; gap: 10px; min-height: 68px; padding: 0 68px 0 20px; border-bottom: 1px solid var(--edb-linea); }
.edb-lat .edb-lat-titulo { font-size: 22px; line-height: 1.2; font-weight: 700; color: var(--edb-texto); }
.edb-lat .edb-lat-cuenta { display: inline-grid; place-items: center; min-width: 26px; height: 26px; padding: 0 8px; border-radius: 13px; background: var(--edb-crema); font-size: 13px; font-weight: 700; line-height: 1; }

/* Cuerpo con scroll propio */
.edb-lat .edb-lat-cuerpo { flex: 1 1 auto; min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 14px 20px 10px; display: flex; flex-direction: column; gap: 12px; }
.edb-lat .edb-lat-avisos { display: grid; gap: 8px; }
.edb-lat .edb-lat-avisos:empty { display: none; }
.edb-lat .edb-lat-agregado { display: flex; align-items: center; gap: 10px; padding: 10px 14px; border-radius: var(--edb-r-caja); background: var(--edb-menta-agua); font-size: 14px; line-height: 1.4; }
.edb-lat .edb-lat-agregado svg { width: 18px; height: 18px; color: var(--edb-exito); stroke-width: 2.4; }
.edb-lat .edb-lat-agregado b { font-weight: 700; }
.edb-lat .edb-lat-quitado { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 14px; border: 1px solid var(--edb-linea); border-radius: var(--edb-r-caja); background: var(--edb-lienzo); font-size: 13.5px; }
.edb-lat .edb-lat-quitado button.edb-lat-quitado, .edb-lat .edb-lat-quitado button {
	flex: none; min-height: 0; margin: 0; padding: 4px 0; border: 0; border-radius: 0; background: none !important; box-shadow: none;
	color: var(--edb-texto) !important; font: 700 13.5px/1.3 var(--edb-fuente); text-decoration: underline; text-decoration-color: var(--edb-coral); text-underline-offset: 3px; cursor: pointer;
}

/* Envío gratis (misma pieza del carrito) */
.edb-lat .edb-gratis { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 4px 12px; align-items: center; padding: 12px 14px; border-radius: var(--edb-r-caja); background: var(--edb-crema); }
.edb-lat .edb-gratis > svg { grid-row: span 2; width: 24px; height: 24px; color: var(--edb-coral-profundo); stroke-width: 1.5; }
.edb-lat .edb-gratis p { font-size: 13.5px; line-height: 1.4; }
.edb-lat .edb-gratis p strong { font-weight: 700; }
.edb-lat .edb-gratis p small { display: block; font-size: 12px; color: var(--edb-gris-legible); }
.edb-lat .edb-barra { grid-column: 2; height: 6px; margin-top: 4px; border-radius: 3px; background: var(--edb-blanco); overflow: hidden; }
.edb-lat .edb-barra i { display: block; height: 100%; border-radius: 3px; background: var(--edb-salvia); }
.edb-lat .edb-gratis.edb-logrado .edb-barra i { background: var(--edb-exito); }

/* Productos */
.edb-lat ul.edb-lat-items { margin: 0; padding: 0; list-style: none; border: 0; }
.edb-lat li.edb-lat-item {
	display: grid; grid-template-columns: 76px minmax(0, 1fr) auto; grid-template-areas: "foto info quitar" "foto cant total";
	gap: 6px 12px; margin: 0; padding: 14px 0; border-bottom: 1px solid var(--edb-linea); list-style: none; background: none;
}
.edb-lat li.edb-lat-item:first-child { padding-top: 4px; }
.edb-lat li.edb-lat-item.edb-lat-nuevo { margin-inline: -8px; padding-inline: 8px; border-radius: var(--edb-r-caja); background: linear-gradient(90deg, var(--edb-menta-agua), rgba(233, 247, 245, 0) 75%); }
.edb-lat .edb-lat-foto { grid-area: foto; width: 76px; height: 76px; border-radius: var(--edb-r-caja); background: var(--edb-lienzo); overflow: hidden; display: grid; place-items: center; }
.edb-lat .edb-lat-foto a { display: contents; }
.edb-lat .edb-lat-foto img { display: block; width: 100% !important; height: 100% !important; max-width: none; object-fit: contain; mix-blend-mode: multiply; margin: 0 !important; border-radius: 0; }
.edb-lat .edb-lat-info { grid-area: info; min-width: 0; display: grid; gap: 2px; align-content: start; }
.edb-lat .edb-lat-nombre { font-size: 14px; line-height: 1.35; font-weight: 500; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.edb-lat .edb-lat-nombre a { color: var(--edb-texto) !important; text-decoration: none; font: inherit; }
.edb-lat .edb-lat-nombre a:hover { text-decoration: underline; text-decoration-color: var(--edb-coral); text-underline-offset: 3px; }
.edb-lat .edb-lat-variacion { font-size: 12.5px; color: var(--edb-gris-legible); }
.edb-lat .edb-lat-precio { display: flex; flex-wrap: wrap; gap: 0 6px; align-items: baseline; font-size: 13px; }
.edb-lat .edb-lat-precio b { font-weight: 600; color: var(--edb-texto); }
.edb-lat .edb-lat-precio.edb-lat-oferta b { color: var(--edb-coral-profundo); }
.edb-lat .edb-lat-precio s { font-size: 12px; color: var(--edb-gris-texto); }
.edb-lat button.edb-lat-quitar.edb-lat-quitar {
	grid-area: quitar; align-self: start; justify-self: end; display: grid; place-items: center; width: 36px; height: 36px; min-height: 0; margin: -6px -8px 0 0; padding: 0;
	border: 0; border-radius: 50%; background: transparent; color: var(--edb-gris-legible); box-shadow: none; cursor: pointer;
}
.edb-lat button.edb-lat-quitar.edb-lat-quitar:is(:hover, :focus, :active) { background: var(--edb-lienzo); color: var(--edb-error); }
.edb-lat button.edb-lat-quitar svg { width: 19px; height: 19px; }
.edb-lat .edb-lat-cantidad { grid-area: cant; align-self: center; display: inline-flex; align-items: center; width: fit-content; height: 34px; border: 1px solid var(--edb-borde); border-radius: var(--edb-r-pildora); background: var(--edb-blanco); }
.edb-lat .edb-lat-cantidad button {
	display: grid; place-items: center; width: 34px; height: 32px; min-height: 0; margin: 0; padding: 0; border: 0; border-radius: var(--edb-r-pildora);
	background: transparent; color: var(--edb-texto); box-shadow: none; cursor: pointer;
}
.edb-lat .edb-lat-cantidad button:is(:hover, :focus, :active) { background: var(--edb-lienzo); color: var(--edb-texto); }
.edb-lat .edb-lat-cantidad button:disabled { color: var(--edb-gris-apagado); background: transparent; cursor: not-allowed; }
.edb-lat .edb-lat-cantidad button svg { width: 14px; height: 14px; stroke-width: 2.2; }
.edb-lat .edb-lat-cantidad output { min-width: 22px; text-align: center; font-size: 14px; font-weight: 600; }
.edb-lat .edb-lat-unidad { grid-area: cant; align-self: center; font-size: 12.5px; color: var(--edb-gris-legible); }
.edb-lat .edb-lat-total { grid-area: total; align-self: center; justify-self: end; font-size: 15px; font-weight: 700; color: var(--edb-negro); white-space: nowrap; }
.edb-lat :is(button, a):focus-visible { outline: 2px solid var(--edb-salvia); outline-offset: 2px; }

/* Bolsa de Regalo sugerida */
.edb-lat .edb-lat-regalo { display: grid; grid-template-columns: 52px minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 10px 12px; border: 1px dashed var(--edb-borde); border-radius: var(--edb-r-caja); }
.edb-lat .edb-lat-regalo img { width: 52px !important; height: 52px !important; object-fit: contain; border-radius: 8px; background: var(--edb-lienzo); mix-blend-mode: multiply; margin: 0; }
.edb-lat .edb-lat-regalo p { font-size: 13.5px; line-height: 1.35; }
.edb-lat .edb-lat-regalo p b { display: block; font-weight: 700; }
.edb-lat .edb-lat-regalo button {
	min-height: 36px; margin: 0; padding: 0 14px; border: 1px solid var(--edb-texto); border-radius: var(--edb-r-pildora); background: var(--edb-blanco);
	color: var(--edb-texto); font: 700 13px/1 var(--edb-fuente); box-shadow: none; cursor: pointer;
}
.edb-lat .edb-lat-regalo button:is(:hover, :focus, :active) { background: var(--edb-texto); border-color: var(--edb-texto); color: var(--edb-blanco); }

/* Pie fijo */
.edb-lat .edb-lat-pie { flex: none; display: grid; gap: 10px; padding: 14px 20px calc(16px + env(safe-area-inset-bottom, 0px)); border-top: 1px solid var(--edb-linea); background: var(--edb-blanco); box-shadow: 0 -6px 16px rgba(0, 0, 0, .04); }
.edb-lat .edb-lat-subtotal { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.edb-lat .edb-lat-subtotal > span { font-size: 15px; font-weight: 600; }
.edb-lat .edb-lat-subtotal small { font-size: 13px; font-weight: 400; color: var(--edb-gris-legible); }
.edb-lat .edb-lat-subtotal strong { font-size: 22px; font-weight: 800; color: var(--edb-negro); }
.edb-lat .edb-lat-notas { display: flex; justify-content: space-between; gap: 12px; margin-top: -6px; font-size: 12.5px; color: var(--edb-gris-legible); }
.edb-lat .edb-lat-ahorro { color: var(--edb-coral-profundo); font-weight: 600; white-space: nowrap; }
.edb-lat a.edb-lat-boton {
	display: flex; align-items: center; justify-content: center; gap: 10px; width: 100%; min-height: 52px; margin: 0; padding: 0 24px;
	border: 0; border-radius: var(--edb-r-pildora); background: var(--edb-salvia); color: var(--edb-blanco) !important;
	font: 700 17px/1.1 var(--edb-fuente); text-decoration: none !important; transition: background-color var(--edb-transicion);
}
.edb-lat a.edb-lat-boton:is(:hover, :focus, :active) { background: var(--edb-salvia-hover); color: var(--edb-blanco) !important; }
.edb-lat a.edb-lat-boton svg { width: 18px; height: 18px; }
.edb-lat a.edb-lat-boton.edb-lat-boton--borde { min-height: 46px; border: 1px solid var(--edb-texto); background: var(--edb-blanco); color: var(--edb-texto) !important; font-size: 15px; }
.edb-lat a.edb-lat-boton.edb-lat-boton--borde:is(:hover, :focus, :active) { background: var(--edb-lienzo); color: var(--edb-texto) !important; }
.edb-lat .edb-lat-seguro { display: flex; align-items: center; justify-content: center; gap: 6px; font-size: 12px; color: var(--edb-gris-legible); text-align: center; }
.edb-lat .edb-lat-seguro svg { width: 14px; height: 14px; }

/* Vacío */
.edb-lat .edb-lat-vacio { display: grid; justify-items: center; gap: 10px; padding: 40px 8px 24px; text-align: center; }
.edb-lat .edb-lat-vacio-ico { display: grid; place-items: center; width: 84px; height: 84px; border-radius: 50%; background: var(--edb-crema); color: var(--edb-coral-profundo); }
.edb-lat .edb-lat-vacio-ico svg { width: 38px; height: 38px; stroke-width: 1.5; }
.edb-lat .edb-lat-vacio-titulo { margin-top: 6px; font-size: 20px; font-weight: 700; color: var(--edb-texto); }
.edb-lat .edb-lat-vacio > p:not(.edb-lat-vacio-titulo) { max-width: 30ch; font-size: 14.5px; color: var(--edb-gris-legible); }
.edb-lat .edb-lat-vacio a.edb-lat-boton { width: auto; margin-top: 8px; padding: 0 32px; }
.edb-lat .edb-lat-secciones { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 10px; }
.edb-lat .edb-lat-secciones a { padding: 8px 14px; border-radius: var(--edb-r-pildora); background: var(--edb-gris-pildora); color: var(--edb-negro) !important; font-size: 13px; font-weight: 600; text-decoration: none; }
.edb-lat .edb-lat-secciones a:hover { background: #e3e3e3; }

/* Con el carrito abierto, el botón flotante de WhatsApp (Chaty) no tapa el pie */
body:has(.elementor-menu-cart--shown .edb-lat) .chaty { display: none !important; }
.edb-lat .edb-lat-agregado span { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

/* ---------- Envío gratis según destino (carrito lateral y página del carrito) ----------
   Si no sabemos si recibe en la RM o en regiones, la barra pregunta con dos botones; con la respuesta muestra una sola
   meta y «Cambiar». Esta hoja también carga en la página del carrito, por eso las reglas cubren .edb-lat y .edb-carro. */
:is(.edb-lat, .edb-carro) .edb-gratis > p, :is(.edb-lat, .edb-carro) .edb-gratis > .edb-barra, :is(.edb-lat, .edb-carro) .edb-gratis > .edb-gratis-pregunta { grid-column: 2; }
:is(.edb-lat, .edb-carro) .edb-gratis.edb-gratis--pregunta > svg { grid-row: 1; }
:is(.edb-lat, .edb-carro) .edb-gratis p small b { font-weight: 600; color: var(--edb-texto); }
:is(.edb-lat, .edb-carro) .edb-gratis button.edb-gratis-cambiar.edb-gratis-cambiar {
	display: inline; min-height: 0; margin: 0; padding: 2px 0; border: 0; border-radius: 0; background: none !important; box-shadow: none;
	color: var(--edb-texto) !important; font: 700 1em/1.3 var(--edb-fuente); text-decoration: underline; text-decoration-color: var(--edb-coral); text-decoration-thickness: 2px; text-underline-offset: 3px; cursor: pointer;
}
:is(.edb-lat, .edb-carro) .edb-gratis-pregunta { display: grid; gap: 8px; margin-top: 2px; }
:is(.edb-lat, .edb-carro) .edb-gratis-pregunta[hidden] { display: none !important; }
:is(.edb-lat, .edb-carro) .edb-gratis p.edb-gratis-pregunta-titulo { margin: 0; font-size: 13px; font-weight: 700; line-height: 1.3; color: var(--edb-texto); }
:is(.edb-lat, .edb-carro) .edb-gratis-destinos { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
:is(.edb-lat, .edb-carro) .edb-gratis button.edb-gratis-destino.edb-gratis-destino {
	display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 40px; margin: 0; padding: 6px 10px;
	border: 1px solid var(--edb-borde); border-radius: var(--edb-r-pildora); background: var(--edb-blanco); box-shadow: none;
	color: var(--edb-texto); font: 600 13.5px/1.2 var(--edb-fuente); text-align: center; text-transform: none; letter-spacing: 0; cursor: pointer; transition: border-color var(--edb-transicion);
}
:is(.edb-lat, .edb-carro) .edb-gratis button.edb-gratis-destino.edb-gratis-destino:is(:hover, :focus, :active) { background: var(--edb-blanco); border-color: var(--edb-texto); color: var(--edb-texto); }
:is(.edb-lat, .edb-carro) .edb-gratis button.edb-gratis-destino.edb-gratis-destino[aria-pressed="true"] { border-color: var(--edb-coral); box-shadow: inset 0 0 0 1px var(--edb-coral); }
:is(.edb-lat, .edb-carro) .edb-gratis button.edb-gratis-destino svg { width: 16px; height: 16px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; color: var(--edb-coral-profundo); }
:is(.edb-lat, .edb-carro) .edb-gratis :is(button.edb-gratis-destino, button.edb-gratis-cambiar):focus-visible { outline: 2px solid var(--edb-salvia); outline-offset: 2px; }
.edb-gratis.edb-gratis-cargando { opacity: .6; pointer-events: none; transition: opacity .15s ease; }
.edb-carro .edb-gratis button.edb-gratis-destino.edb-gratis-destino { min-height: 44px; font-size: 14px; }
.edb-carro .edb-gratis p.edb-gratis-pregunta-titulo { font-size: 14px; }
