/*
 * Popups de la grilla de la tienda (plugin propio Unique Cart Adder), sin tocar ese plugin. Lo carga
 * class-tienda.php solo donde está la grilla.
 *
 * Los selectores son largos a propósito: el plugin y el CSS del Personalizador usan reglas con !important
 * (p. ej. ".popup-overlay.uc-global .options-popup .adder-btn") y hay que ganarles sin tocarlos.
 */

/* ---------- Popup "Elegir" de granel: el botón "Añadir al carrito" medía 28×28 px ---------- */

.popup-overlay.bulk-overlay .options-popup .adder-btn,
.popup-overlay.bulk-overlay.uc-global .options-popup .adder-btn {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	max-width: 320px !important;
	min-width: 0 !important;
	height: auto !important;
	margin: 1.2rem auto 0 !important;
	padding: 12px 20px !important;
	border-radius: 12px !important;
	font-size: 16px !important;
	line-height: 1.2 !important;
	white-space: nowrap;
}

/* ---------- Popup "Info" ---------- */

.popup-overlay.info-overlay.alm-info {
	background: rgba(33, 18, 12, 0.55) !important;
}

/* Panel: columna con contenido que se desplaza y acciones fijas al pie (nunca quedan escondidas). */
.popup-overlay.info-overlay.alm-info .options-popup.info-popup {
	box-sizing: border-box;
	display: flex !important;
	flex-direction: column !important;
	width: min(920px, 94vw) !important;
	max-width: 94vw !important;
	min-width: 0 !important;
	max-height: 88vh !important;
	overflow: hidden !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 16px !important;
	background: #fff !important;
	color: #272727 !important;
	text-align: left !important;
	box-shadow: 0 18px 50px rgba(0, 0, 0, 0.28) !important;
	font-family: "Poppins", system-ui, -apple-system, "Segoe UI", sans-serif !important;
	font-size: 15px !important;
}

.popup-overlay.info-overlay.alm-info .options-popup.info-popup .popup-content {
	flex: 1 1 auto;
	min-height: 0;
	overflow-y: auto;
	overscroll-behavior: contain;
	gap: 10px !important; /* UCA le pone 1.1rem, que se sumaba a los márgenes */
	padding: 20px 24px 16px !important;
	color: #272727 !important;
	text-align: left !important;
}

.popup-overlay.info-overlay.alm-info .options-popup.info-popup h3 {
	margin: 0 48px 0 0 !important;
	color: #3d1d17 !important;
	font-family: inherit !important;
	font-size: 21px !important;
	font-weight: 600 !important;
	line-height: 1.25 !important;
	letter-spacing: 0 !important;
	text-align: left !important;
}

.popup-overlay.info-overlay.alm-info .options-popup.info-popup .info-badges {
	justify-content: flex-start !important;
	margin: 0 !important;
}

/* Insignias: con el fondo claro heredaban texto oscuro sobre fondo oscuro (ilegibles). */
.popup-overlay.info-overlay.alm-info .options-popup.info-popup .uca-badge {
	padding: 4px 10px !important;
	border: 0 !important;
	color: #fff !important;
	font-size: 12px !important;
	font-weight: 500 !important;
}

.popup-overlay.info-overlay.alm-info .options-popup.info-popup .uca-badge-bulk {
	background: #f7f2ef !important;
	color: #5a2d22 !important;
}

.popup-overlay.info-overlay.alm-info .options-popup.info-popup .info-grid {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr) !important;
	gap: 24px !important;
	align-items: start !important;
}

.popup-overlay.info-overlay.alm-info .options-popup.info-popup .info-media {
	padding: 12px !important;
	border-radius: 12px !important;
	background: #f7f2ef !important;
}

.popup-overlay.info-overlay.alm-info .options-popup.info-popup .info-media img {
	width: 100%;
	max-height: 340px !important;
	object-fit: contain;
}

/* Producto sin foto (25 de las 30 primeras de /tienda/): sin el recuadro gris del placeholder. */
.popup-overlay.info-overlay.alm-info .options-popup.info-popup .info-grid:has(.info-media .woocommerce-placeholder) {
	grid-template-columns: minmax(0, 1fr) !important;
}

.popup-overlay.info-overlay.alm-info .options-popup.info-popup .info-media:has(.woocommerce-placeholder) {
	display: none !important;
}

.popup-overlay.info-overlay.alm-info .options-popup.info-popup .info-meta {
	display: flex !important;
	flex-direction: column !important;
	gap: 12px !important;
	min-width: 0;
}

/* Precio: protagonista. */
.popup-overlay.info-overlay.alm-info .options-popup.info-popup .info-price {
	order: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: none !important;
	font-size: 24px !important;
	font-weight: 600 !important;
	line-height: 1.2 !important;
}

.popup-overlay.info-overlay.alm-info .options-popup.info-popup .info-price,
.popup-overlay.info-overlay.alm-info .options-popup.info-popup .info-price * {
	color: #855a3b !important;
}

.popup-overlay.info-overlay.alm-info .options-popup.info-popup .info-price del,
.popup-overlay.info-overlay.alm-info .options-popup.info-popup .info-price del * {
	margin-right: 6px;
	color: #8c8c8c !important;
	font-size: 16px !important;
	font-weight: 400 !important;
}

.popup-overlay.info-overlay.alm-info .options-popup.info-popup .info-price ins {
	padding: 0 !important;
	background: none !important;
	text-decoration: none !important;
}

.popup-overlay.info-overlay.alm-info .options-popup.info-popup .info-price .alm-info__sin-precio {
	color: #6b6b6b !important;
	font-size: 16px !important;
	font-weight: 500 !important;
}

.popup-overlay.info-overlay.alm-info .options-popup.info-popup .info-price small,
.popup-overlay.info-overlay.alm-info .options-popup.info-popup .info-price small * {
	color: #6b6b6b !important;
	font-size: 14px !important;
	font-weight: 400 !important;
}

/* Granel: la regla de venta en una línea (en lugar del aviso gigante de KILOGRAMOS). */
.popup-overlay.info-overlay.alm-info .options-popup.info-popup .alm-info__nota {
	order: 1;
	align-self: flex-start;
	margin: -4px 0 0 !important;
	padding: 4px 12px;
	border-radius: 999px;
	background: #f7f2ef;
	color: #5a2d22;
	font-size: 13px;
	line-height: 1.5;
}

.popup-overlay.info-overlay.alm-info .options-popup.info-popup .info-desc {
	order: 2 !important;
	max-height: none !important;
	overflow: visible !important;
	padding: 0 !important;
	border: 0 !important;
	background: none !important;
	color: #454545 !important;
	font-size: 14.5px !important;
	line-height: 1.6 !important;
}

.popup-overlay.info-overlay.alm-info .options-popup.info-popup .info-desc p {
	margin: 0 0 0.6em;
}

/* Descripciones con estilo pegado (letra y tamaño de otra herramienta): todas iguales. */
.popup-overlay.info-overlay.alm-info .options-popup.info-popup .info-desc [style],
.popup-overlay.info-overlay.alm-info .options-popup.info-popup .uca-acc-panel [style] {
	color: inherit !important;
	font-family: inherit !important;
	font-size: inherit !important;
	line-height: inherit !important;
}

.popup-overlay.info-overlay.alm-info .options-popup.info-popup .info-more {
	order: 3 !important;
}

.popup-overlay.info-overlay.alm-info .options-popup.info-popup .uca-accordion .uca-acc-toggle {
	padding: 10px 14px !important;
	border: 1px solid #e4d9d2 !important;
	border-radius: 10px !important;
	background: #f7f2ef !important;
	color: #3d1d17 !important;
	font-size: 14px !important;
	font-weight: 500 !important;
}

.popup-overlay.info-overlay.alm-info .options-popup.info-popup .uca-accordion .uca-acc-panel {
	padding: 8px 2px 0 !important;
	border: 0 !important;
	background: none !important;
	color: #454545 !important;
	font-size: 14px;
}

/* Avisos: dos líneas grises al final, que no se roben la ficha; se abren enteros al tocarlos (grilla.js). */
.popup-overlay.info-overlay.alm-info .options-popup.info-popup .info-extra.aviso-almendra {
	order: 4 !important;
	display: flex !important;
	flex-direction: column;
	gap: 6px;
	padding: 10px 0 0 !important;
	border: 0 !important;
	border-top: 1px solid #efe7e1 !important;
	border-radius: 0 !important;
	background: none !important;
}

.popup-overlay.info-overlay.alm-info .options-popup.info-popup .info-extra.aviso-almendra:empty {
	display: none !important;
}

.popup-overlay.info-overlay.alm-info .options-popup.info-popup .aviso-estatico {
	display: flex !important;
	gap: 6px !important;
	align-items: flex-start !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: none !important;
	box-shadow: none !important;
	color: #6b6b6b !important;
}

.popup-overlay.info-overlay.alm-info .options-popup.info-popup .aviso-estatico,
.popup-overlay.info-overlay.alm-info .options-popup.info-popup .aviso-estatico * {
	text-align: left !important; /* venían justificados: en celular quedaban llenos de huecos */
}

.popup-overlay.info-overlay.alm-info .options-popup.info-popup .aviso-estatico .aviso-icon {
	flex: 0 0 14px !important;
	width: 14px !important;
	margin: 2px 0 0 !important;
	padding: 0 !important;
}

.popup-overlay.info-overlay.alm-info .options-popup.info-popup .aviso-estatico .aviso-icon img {
	width: 14px !important;
	max-width: 14px !important;
	height: auto !important;
	filter: grayscale(1) opacity(0.55);
}

.popup-overlay.info-overlay.alm-info .options-popup.info-popup .aviso-estatico :is(.aviso-text, span, strong, b, em, i, p, div, h1, h2, h3, h4, h5, h6) {
	margin: 0 !important;
	color: inherit !important;
	font-size: 12px !important;
	font-style: normal !important;
	font-weight: 400 !important;
	line-height: 1.45 !important;
}

.popup-overlay.info-overlay.alm-info .options-popup.info-popup .aviso-estatico .aviso-text {
	flex: 1 1 auto !important;
	min-width: 0;
	display: -webkit-box !important;
	overflow: hidden;
	padding: 0 !important;
	cursor: pointer;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.popup-overlay.info-overlay.alm-info .options-popup.info-popup .aviso-estatico.is-abierto .aviso-text {
	-webkit-line-clamp: unset;
}

/* Acciones al pie, siempre a la vista. */
.popup-overlay.info-overlay.alm-info .options-popup.info-popup .alm-info__acciones {
	flex: 0 0 auto;
	display: flex;
	gap: 10px;
	padding: 12px 24px calc(12px + env(safe-area-inset-bottom));
	border-top: 1px solid #efe7e1;
	background: #fff;
	box-shadow: 0 -6px 16px rgba(0, 0, 0, 0.05);
}

.popup-overlay.info-overlay.alm-info .options-popup.info-popup .alm-info__acciones .info-action-btn.alm-info__principal,
.popup-overlay.info-overlay.alm-info .options-popup.info-popup .alm-info__acciones .info-action-btn.alm-info__principal:focus {
	flex: 1 1 auto;
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: auto !important;
	max-width: none !important;
	min-height: 48px;
	margin: 0 !important;
	padding: 12px 18px !important;
	border: 2px solid #3d1d17 !important;
	border-radius: 10px !important;
	background: #3d1d17 !important;
	color: #fff !important;
	font-family: inherit !important;
	font-size: 16px !important;
	font-weight: 500 !important;
	line-height: 1.2 !important;
	cursor: pointer;
}

.popup-overlay.info-overlay.alm-info .options-popup.info-popup .alm-info__acciones .info-action-btn.alm-info__principal:hover {
	border-color: #5a2d22 !important;
	background: #5a2d22 !important;
}

.popup-overlay.info-overlay.alm-info .options-popup.info-popup .alm-info__ver,
.popup-overlay.info-overlay.alm-info .options-popup.info-popup .alm-info__ver:visited {
	flex: 0 1 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 12px 18px;
	border: 2px solid #b3784f;
	border-radius: 10px;
	background: #fff;
	color: #3d1d17 !important;
	font-family: inherit;
	font-size: 15px;
	font-weight: 500;
	line-height: 1.2;
	text-decoration: none !important;
	white-space: nowrap;
}

.popup-overlay.info-overlay.alm-info .options-popup.info-popup .alm-info__ver:hover {
	background: #f7f2ef;
}

.popup-overlay.info-overlay.alm-info .options-popup.info-popup .alm-info__ver:only-child {
	flex: 1 1 auto;
}

/* ✖ para cerrar (el panel no se desplaza: siempre a la vista). */
.popup-overlay.info-overlay.alm-info .options-popup.info-popup .alm-info__cerrar,
.popup-overlay.info-overlay.alm-info .options-popup.info-popup .alm-info__cerrar:hover,
.popup-overlay.info-overlay.alm-info .options-popup.info-popup .alm-info__cerrar:focus {
	position: absolute;
	top: 10px;
	right: 10px;
	z-index: 3;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 50% !important;
	background: #f7f2ef !important;
	color: #3d1d17 !important;
	font-size: 26px !important;
	line-height: 1 !important;
	box-shadow: 0 0 0 4px #fff, 0 2px 8px rgba(0, 0, 0, 0.12) !important; /* el texto que se desplaza no se le pega */
	cursor: pointer;
}

.popup-overlay.info-overlay.alm-info .options-popup.info-popup .alm-info__cerrar:hover {
	background: #efe7e1 !important;
}

.popup-overlay.info-overlay.alm-info .options-popup.info-popup :is(.alm-info__cerrar, .alm-info__ver, .alm-info__principal):focus-visible {
	outline: 3px solid #b3784f !important;
	outline-offset: 2px;
}

/* Con un popup abierto, la burbuja de WhatsApp tapaba "Ver producto" (en celular, justo encima). */
body.uc-popup-open .wws-popup-container,
body.uc-popup-open .wws-gradient {
	display: none !important;
}

/* Popups encadenados (Info → Elegir): al cerrar el primero UCA le saca la clase al body y le devuelve el scroll.
   Mientras haya un popup abierto en <body> (UCA lo mueve ahí al abrirlo), el fondo no se desplaza ni vuelve la burbuja. */
body:has(> .popup-overlay.uc-global[style*="display: block"]) {
	overflow: hidden !important;
}

body:has(> .popup-overlay.uc-global[style*="display: block"]) :is(.wws-popup-container, .wws-gradient) {
	display: none !important;
}

/* Tablet: una columna, foto más baja. */
@media (max-width: 760px) {
	.popup-overlay.info-overlay.alm-info .options-popup.info-popup .info-grid {
		grid-template-columns: minmax(0, 1fr) !important;
		gap: 14px !important;
	}

	.popup-overlay.info-overlay.alm-info .options-popup.info-popup .info-media img {
		max-height: 30vh !important;
	}
}

/* Celular: hoja desde abajo, a lo ancho. */
@media (max-width: 600px) {
	.popup-overlay.info-overlay.alm-info .options-popup.info-popup {
		top: auto !important;
		bottom: 0 !important;
		left: 0 !important;
		transform: none !important;
		width: 100vw !important;
		max-width: 100vw !important;
		max-height: 92vh !important;
		border-radius: 16px 16px 0 0 !important;
	}

	.popup-overlay.info-overlay.alm-info .options-popup.info-popup .popup-content {
		padding: 16px 16px 12px !important;
	}

	/* Foto chica al lado del precio y la regla de venta: todo lo importante entra en la primera vista.
	   (En el celular la galería se recorre en "Ver producto".) */
	.popup-overlay.info-overlay.alm-info .options-popup.info-popup .info-grid {
		grid-template-columns: 104px minmax(0, 1fr) !important;
		grid-template-rows: min-content 1fr !important;
		column-gap: 14px !important;
		row-gap: 10px !important;
		align-items: start !important;
	}

	.popup-overlay.info-overlay.alm-info .options-popup.info-popup .info-meta {
		display: contents !important;
	}

	.popup-overlay.info-overlay.alm-info .options-popup.info-popup .info-media {
		grid-row: span 2;
		padding: 4px !important;
		border-radius: 10px !important;
	}

	.popup-overlay.info-overlay.alm-info .options-popup.info-popup :is(.info-media img, .uca-main-img) {
		max-height: 96px !important;
		border-radius: 6px;
	}

	.popup-overlay.info-overlay.alm-info .options-popup.info-popup :is(.info-desc, .info-more, .info-extra.aviso-almendra) {
		grid-column: 1 / -1;
	}

	.popup-overlay.info-overlay.alm-info .options-popup.info-popup :is(.uca-gallery-thumbs, .uca-g-prev, .uca-g-next, .uca-t-prev, .uca-t-next) {
		display: none !important;
	}

	.popup-overlay.info-overlay.alm-info .options-popup.info-popup .alm-info__nota {
		margin: 0 !important;
		justify-self: start;
	}

	.popup-overlay.info-overlay.alm-info .options-popup.info-popup .info-price {
		align-self: start;
	}

	.popup-overlay.info-overlay.alm-info .options-popup.info-popup h3 {
		font-size: 18px !important;
	}

	.popup-overlay.info-overlay.alm-info .options-popup.info-popup .info-price {
		font-size: 21px !important;
	}

	.popup-overlay.info-overlay.alm-info .options-popup.info-popup .alm-info__acciones {
		padding: 10px 16px calc(10px + env(safe-area-inset-bottom));
	}

	.popup-overlay.info-overlay.alm-info .options-popup.info-popup .alm-info__ver {
		padding: 12px 14px;
	}
}

/* Celular acostado (844×390): más alto para el contenido y la foto entera. */
@media (max-height: 500px) and (min-width: 601px) {
	.popup-overlay.info-overlay.alm-info .options-popup.info-popup {
		max-height: 96vh !important;
	}

	.popup-overlay.info-overlay.alm-info .options-popup.info-popup .popup-content {
		padding: 14px 20px 10px !important;
	}

	.popup-overlay.info-overlay.alm-info .options-popup.info-popup h3 {
		font-size: 18px !important;
	}

	.popup-overlay.info-overlay.alm-info .options-popup.info-popup .info-grid {
		grid-template-columns: minmax(0, 0.7fr) minmax(0, 1.3fr) !important;
	}

	.popup-overlay.info-overlay.alm-info .options-popup.info-popup :is(.info-media img, .uca-main-img) {
		max-height: 52vh !important;
	}

	.popup-overlay.info-overlay.alm-info .options-popup.info-popup .uca-gallery-thumbs,
	.popup-overlay.info-overlay.alm-info .options-popup.info-popup .uca-t-prev,
	.popup-overlay.info-overlay.alm-info .options-popup.info-popup .uca-t-next {
		display: none !important;
	}

	.popup-overlay.info-overlay.alm-info .options-popup.info-popup .alm-info__acciones {
		padding: 8px 20px calc(8px + env(safe-area-inset-bottom));
	}

	.popup-overlay.info-overlay.alm-info .options-popup.info-popup :is(.alm-info__principal, .alm-info__ver) {
		min-height: 44px !important;
		padding-top: 8px !important;
		padding-bottom: 8px !important;
	}
}

/* ==========================================================================
   0.1.3: compra dentro del Info (.alm-info--compra, detrás de la opción almendra_grilla_compra).
   6 clases: gana a las reglas de 0.1.2, al Personalizador y a Hello Elementor (que pinta botones y campos con #c36).
   ========================================================================== */

.popup-overlay.info-overlay.alm-info.alm-info--compra .options-popup.info-popup .alm-info__form {
	display: contents;
}

/* Orden de los bloques (0.1.2 ya fija precio, nota, descripción, "más" y avisos). */
.popup-overlay.info-overlay.alm-info.alm-info--compra .options-popup.info-popup .info-price {
	order: 0 !important;
}

.popup-overlay.info-overlay.alm-info.alm-info--compra .options-popup.info-popup .alm-info__nota {
	order: 1 !important;
}

.popup-overlay.info-overlay.alm-info.alm-info--compra .options-popup.info-popup .alm-info__compra {
	order: 2 !important;
	display: flex;
	flex-direction: column;
	gap: 10px;
	min-width: 0;
}

.popup-overlay.info-overlay.alm-info.alm-info--compra .options-popup.info-popup :is(.info-desc, .alm-info__mas) {
	order: 3 !important;
}

.popup-overlay.info-overlay.alm-info.alm-info--compra .options-popup.info-popup .info-more {
	order: 4 !important;
}

.popup-overlay.info-overlay.alm-info.alm-info--compra .options-popup.info-popup .info-extra.aviso-almendra {
	order: 5 !important;
}

.popup-overlay.info-overlay.alm-info.alm-info--compra .options-popup.info-popup .alm-info__compra--vacia {
	display: none !important;
}

.popup-overlay.info-overlay.alm-info.alm-info--compra .options-popup.info-popup .alm-info__grupo {
	min-width: 0;
	min-inline-size: 0;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: none !important;
}

.popup-overlay.info-overlay.alm-info.alm-info--compra .options-popup.info-popup .alm-info__etiqueta {
	display: block;
	float: none;
	width: auto;
	margin: 0 0 6px !important;
	padding: 0 !important;
	border: 0;
	color: #3d1d17 !important;
	font-family: inherit;
	font-size: 14px !important;
	font-weight: 600 !important;
	line-height: 1.3 !important;
}

.popup-overlay.info-overlay.alm-info.alm-info--compra .options-popup.info-popup .alm-info__precio {
	color: #855a3b;
}

.popup-overlay.info-overlay.alm-info.alm-info--compra .options-popup.info-popup .info-price small {
	color: #6b6b6b;
	font-size: 14px;
	font-weight: 400;
}

.popup-overlay.info-overlay.alm-info.alm-info--compra .options-popup.info-popup .info-price del {
	margin-right: 4px;
	color: #6b6b6b !important;
	font-size: 15px !important;
	font-weight: 400 !important;
	text-decoration: line-through !important;
	opacity: 1 !important;
}

/* ---------- Chips de presentaciones (granel) ---------- */

.popup-overlay.info-overlay.alm-info.alm-info--compra .options-popup.info-popup .alm-info__chips {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(76px, 1fr));
	gap: 8px;
}

.popup-overlay.info-overlay.alm-info.alm-info--compra .options-popup.info-popup .alm-info__chip,
.popup-overlay.info-overlay.alm-info.alm-info--compra .options-popup.info-popup .alm-info__chip:hover,
.popup-overlay.info-overlay.alm-info.alm-info--compra .options-popup.info-popup .alm-info__chip:focus {
	position: relative;
	display: block;
	width: auto;
	min-width: 0;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 10px !important;
	background: none !important;
	box-shadow: none !important;
	color: inherit !important;
	font: inherit;
	text-transform: none !important;
	cursor: pointer;
}

.popup-overlay.info-overlay.alm-info.alm-info--compra .options-popup.info-popup :is(.alm-info__chip, .alm-info__variedad) input {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: 0;
	opacity: 0;
	pointer-events: none;
}

.popup-overlay.info-overlay.alm-info.alm-info--compra .options-popup.info-popup .alm-info__cara {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	min-height: 52px;
	padding: 6px 2px;
	border: 1.5px solid #e4d9d2;
	border-radius: 10px;
	background: #fff;
	touch-action: manipulation;
	transition: border-color 0.12s, background 0.12s;
}

@media (hover: hover) {
	.popup-overlay.info-overlay.alm-info.alm-info--compra .options-popup.info-popup :is(.alm-info__chip, .alm-info__variedad):hover .alm-info__cara {
		border-color: #b3784f;
	}
}

.popup-overlay.info-overlay.alm-info.alm-info--compra .options-popup.info-popup .alm-info__peso {
	color: #3d1d17;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.2;
}

.popup-overlay.info-overlay.alm-info.alm-info--compra .options-popup.info-popup .alm-info__monto {
	color: #6b6b6b;
	font-size: 12.5px;
	line-height: 1.3;
	white-space: nowrap;
}

.popup-overlay.info-overlay.alm-info.alm-info--compra .options-popup.info-popup input:checked + .alm-info__cara,
.popup-overlay.info-overlay.alm-info.alm-info--compra .options-popup.info-popup .alm-info__chip--otra[aria-expanded="true"] .alm-info__cara {
	border-color: #3d1d17;
	background: #f7f2ef;
	box-shadow: inset 0 0 0 1px #3d1d17;
}

.popup-overlay.info-overlay.alm-info.alm-info--compra .options-popup.info-popup input:checked + .alm-info__cara .alm-info__monto {
	color: #855a3b;
}

.popup-overlay.info-overlay.alm-info.alm-info--compra .options-popup.info-popup input:focus-visible + .alm-info__cara,
.popup-overlay.info-overlay.alm-info.alm-info--compra .options-popup.info-popup .alm-info__chip--otra:focus-visible .alm-info__cara {
	outline: 3px solid #b3784f;
	outline-offset: 2px;
}

/* ---------- "Otra cantidad" y − / + ---------- */

.popup-overlay.info-overlay.alm-info.alm-info--compra .options-popup.info-popup .alm-info__otra {
	display: flex; /* el HTML trae display:none en línea; el JS lo saca al abrir "Otra" */
	flex-direction: column;
	gap: 6px;
}

.popup-overlay.info-overlay.alm-info.alm-info--compra .options-popup.info-popup .alm-info__stepper {
	display: inline-flex;
	align-items: center;
	align-self: flex-start;
	height: 44px;
	overflow: hidden;
	border: 1.5px solid #e4d9d2;
	border-radius: 10px;
	background: #fff;
}

.popup-overlay.info-overlay.alm-info.alm-info--compra .options-popup.info-popup .alm-info__paso,
.popup-overlay.info-overlay.alm-info.alm-info--compra .options-popup.info-popup .alm-info__paso:hover,
.popup-overlay.info-overlay.alm-info.alm-info--compra .options-popup.info-popup .alm-info__paso:focus {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: #f7f2ef !important;
	box-shadow: none !important;
	color: #3d1d17 !important;
	font-family: inherit;
	font-size: 20px !important;
	font-weight: 500;
	line-height: 1 !important;
	text-transform: none !important;
	cursor: pointer;
	touch-action: manipulation;
}

@media (hover: hover) {
	.popup-overlay.info-overlay.alm-info.alm-info--compra .options-popup.info-popup .alm-info__paso:hover {
		background: #efe7e1 !important;
	}
}

.popup-overlay.info-overlay.alm-info.alm-info--compra .options-popup.info-popup .alm-info__paso:disabled,
.popup-overlay.info-overlay.alm-info.alm-info--compra .options-popup.info-popup .alm-info__paso[aria-disabled="true"] {
	opacity: 0.4;
	cursor: default;
}

.popup-overlay.info-overlay.alm-info.alm-info--compra .options-popup.info-popup .alm-info__num,
.popup-overlay.info-overlay.alm-info.alm-info--compra .options-popup.info-popup .alm-info__num:focus {
	width: 44px !important;
	height: 44px !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: #fff !important;
	box-shadow: none !important;
	outline: 0;
	color: #272727 !important;
	font-family: inherit;
	font-size: 16px !important; /* con menos, iOS agranda la pantalla */
	line-height: 44px;
	text-align: center;
}

.popup-overlay.info-overlay.alm-info.alm-info--compra .options-popup.info-popup .alm-info__num--g,
.popup-overlay.info-overlay.alm-info.alm-info--compra .options-popup.info-popup .alm-info__num--g:focus {
	width: 64px !important;
	padding-right: 4px !important;
	text-align: right;
}

/* Foco del campo: el recuadro entero se marca (el contorno del navegador quedaba negro y cortado). */
.popup-overlay.info-overlay.alm-info.alm-info--compra .options-popup.info-popup .alm-info__stepper:focus-within {
	border-color: #b3784f;
	box-shadow: 0 0 0 2px rgba(179, 120, 79, 0.35);
}

.popup-overlay.info-overlay.alm-info.alm-info--compra .options-popup.info-popup .alm-info__sufijo {
	padding: 0 8px 0 2px;
	background: #fff;
	color: #6b6b6b;
	font-size: 14px;
	line-height: 44px;
}

.popup-overlay.info-overlay.alm-info.alm-info--compra .options-popup.info-popup .alm-info__ayuda {
	margin: 0 !important;
	color: #6b6b6b;
	font-size: 12.5px;
	line-height: 1.4;
}

.popup-overlay.info-overlay.alm-info.alm-info--compra .options-popup.info-popup .alm-info__ayuda.is-error {
	color: #a01d1d;
}

/* ---------- Variedades (agrupados) ---------- */

.popup-overlay.info-overlay.alm-info.alm-info--compra .options-popup.info-popup .alm-info__variedades {
	display: grid;
	gap: 6px;
	max-width: 560px;
}

.popup-overlay.info-overlay.alm-info.alm-info--compra .options-popup.info-popup .alm-info__variedad {
	position: relative;
	display: block;
	margin: 0;
	cursor: pointer;
}

.popup-overlay.info-overlay.alm-info.alm-info--compra .options-popup.info-popup .alm-info__variedad .alm-info__cara {
	display: grid;
	grid-template-columns: 18px minmax(0, 1fr) auto;
	align-items: center;
	justify-items: start;
	gap: 10px;
	min-height: 48px;
	padding: 6px 12px 6px 10px;
}

.popup-overlay.info-overlay.alm-info.alm-info--compra .options-popup.info-popup .alm-info__variedades--fotos .alm-info__cara {
	grid-template-columns: 18px 40px minmax(0, 1fr) auto;
}

.popup-overlay.info-overlay.alm-info.alm-info--compra .options-popup.info-popup .alm-info__variedad .alm-info__cara::before {
	content: "";
	box-sizing: border-box;
	width: 18px;
	height: 18px;
	border: 2px solid #9c8579;
	border-radius: 50%;
	background: #fff;
}

.popup-overlay.info-overlay.alm-info.alm-info--compra .options-popup.info-popup .alm-info__variedad input:checked + .alm-info__cara::before {
	border: 6px solid #3d1d17;
}

.popup-overlay.info-overlay.alm-info.alm-info--compra .options-popup.info-popup .alm-info__variedad--unica {
	cursor: default;
}

.popup-overlay.info-overlay.alm-info.alm-info--compra .options-popup.info-popup .alm-info__variedad--unica .alm-info__cara {
	grid-template-columns: minmax(0, 1fr) auto;
	background: #fbf7f4;
}

.popup-overlay.info-overlay.alm-info.alm-info--compra .options-popup.info-popup .alm-info__variedad--unica.alm-info__variedad--foto .alm-info__cara {
	grid-template-columns: 40px minmax(0, 1fr) auto;
}

.popup-overlay.info-overlay.alm-info.alm-info--compra .options-popup.info-popup .alm-info__variedad--unica .alm-info__cara::before {
	display: none;
}

.popup-overlay.info-overlay.alm-info.alm-info--compra .options-popup.info-popup .alm-info__foto {
	width: 40px !important;
	height: 40px !important;
	max-width: none !important;
	border-radius: 6px;
	object-fit: cover;
}

.popup-overlay.info-overlay.alm-info.alm-info--compra .options-popup.info-popup .alm-info__nombre {
	display: -webkit-box;
	overflow: hidden;
	color: #272727;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.3;
	text-align: left;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.popup-overlay.info-overlay.alm-info.alm-info--compra .options-popup.info-popup .alm-info__variedad .alm-info__monto {
	justify-self: end;
	color: #855a3b;
	font-size: 14px;
	font-weight: 600;
}

/* ---------- Cantidad (simples y variedades) ---------- */

.popup-overlay.info-overlay.alm-info.alm-info--compra .options-popup.info-popup .alm-info__cantidad {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 12px;
}

.popup-overlay.info-overlay.alm-info.alm-info--compra .options-popup.info-popup .alm-info__cantidad .alm-info__etiqueta {
	margin: 0 !important;
}

.popup-overlay.info-overlay.alm-info.alm-info--compra .options-popup.info-popup .alm-info__stock {
	color: #9a5b16;
	font-size: 13px;
	font-weight: 600;
}

/* ---------- Barra: mensaje + "Agregar …" ---------- */

.popup-overlay.info-overlay.alm-info.alm-info--compra .options-popup.info-popup .alm-info__acciones {
	flex-wrap: wrap;
	row-gap: 8px;
}

.popup-overlay.info-overlay.alm-info.alm-info--compra .options-popup.info-popup .alm-info__mensaje {
	flex: 1 0 100%;
	margin: 0 !important;
	color: #a01d1d;
	font-size: 14px;
	line-height: 1.35;
}

.popup-overlay.info-overlay.alm-info.alm-info--compra .options-popup.info-popup .alm-info__mensaje:empty {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip-path: inset(50%);
}

.popup-overlay.info-overlay.alm-info.alm-info--compra .options-popup.info-popup .alm-info__mensaje.is-ok {
	color: #2e6b35;
}

.popup-overlay.info-overlay.alm-info.alm-info--compra .options-popup.info-popup .alm-info__mensaje.is-info {
	color: #5a2d22;
}

.popup-overlay.info-overlay.alm-info.alm-info--compra .options-popup.info-popup .alm-info__carrito {
	color: inherit !important;
	font-weight: 600;
	text-decoration: underline !important;
}

.popup-overlay.info-overlay.alm-info.alm-info--compra .options-popup.info-popup .alm-info__acciones .alm-info__agregar,
.popup-overlay.info-overlay.alm-info.alm-info--compra .options-popup.info-popup .alm-info__acciones .alm-info__agregar:focus {
	flex: 1 1 auto;
	display: flex !important;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 0 0.45em;
	width: auto !important;
	max-width: none !important;
	min-height: 48px;
	margin: 0 !important;
	padding: 12px 18px !important;
	border: 2px solid #3d1d17 !important;
	border-radius: 10px !important;
	background: #3d1d17 !important;
	box-shadow: none !important;
	color: #fff !important;
	font-family: inherit !important;
	font-size: 16px !important;
	font-weight: 500 !important;
	line-height: 1.2 !important;
	text-transform: none !important;
	cursor: pointer;
}

.popup-overlay.info-overlay.alm-info.alm-info--compra .options-popup.info-popup .alm-info__acciones .alm-info__agregar:hover {
	border-color: #5a2d22 !important;
	background: #5a2d22 !important;
	color: #fff !important;
}

.popup-overlay.info-overlay.alm-info.alm-info--compra .options-popup.info-popup .alm-info__acciones .alm-info__agregar:disabled,
.popup-overlay.info-overlay.alm-info.alm-info--compra .options-popup.info-popup .alm-info__acciones .alm-info__agregar[aria-disabled="true"] {
	opacity: 0.8;
	cursor: progress;
}

.popup-overlay.info-overlay.alm-info.alm-info--compra .options-popup.info-popup .alm-info__accion {
	white-space: nowrap;
}

.popup-overlay.info-overlay.alm-info.alm-info--compra .options-popup.info-popup .alm-info__total {
	max-width: 100%;
	overflow: hidden;
	font-weight: 400;
	font-variant-numeric: tabular-nums;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.popup-overlay.info-overlay.alm-info.alm-info--compra .options-popup.info-popup .alm-info__total:empty {
	display: none;
}

/* Agotados: "Consultar por WhatsApp" con la misma caja que el botón principal. */
.popup-overlay.info-overlay.alm-info .options-popup.info-popup .alm-info__acciones a.alm-info__wa,
.popup-overlay.info-overlay.alm-info .options-popup.info-popup .alm-info__acciones a.alm-info__wa:visited {
	flex: 1 1 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 12px 18px;
	border: 2px solid #2e6b35;
	border-radius: 10px;
	background: #2e6b35;
	color: #fff !important;
	font-family: inherit;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.2;
	text-align: center;
	text-decoration: none !important;
}

.popup-overlay.info-overlay.alm-info .options-popup.info-popup .alm-info__acciones a.alm-info__wa:hover {
	border-color: #25542a;
	background: #25542a;
}

/* ---------- Descripción larga: recortada con "Ver más" (solo si corre el JS) ---------- */

.popup-overlay.info-overlay.alm-info.alm-info--compra .options-popup.info-popup form[data-alm-js] .alm-info__desc--larga:not(.is-abierta) {
	max-height: 9.6em !important;
	overflow: hidden !important;
	-webkit-mask-image: linear-gradient(#000 60%, transparent);
	mask-image: linear-gradient(#000 60%, transparent);
}

.popup-overlay.info-overlay.alm-info.alm-info--compra .options-popup.info-popup .alm-info__mas,
.popup-overlay.info-overlay.alm-info.alm-info--compra .options-popup.info-popup .alm-info__mas:hover,
.popup-overlay.info-overlay.alm-info.alm-info--compra .options-popup.info-popup .alm-info__mas:focus {
	align-self: flex-start;
	justify-self: start;
	min-height: 44px;
	margin: -10px 0 -6px !important;
	padding: 12px 0 !important;
	border: 0 !important;
	background: none !important;
	box-shadow: none !important;
	color: #855a3b !important;
	font-family: inherit;
	font-size: 14px !important;
	font-weight: 500;
	text-decoration: underline;
	text-transform: none !important;
	cursor: pointer;
}

.popup-overlay.info-overlay.alm-info.alm-info--compra .options-popup.info-popup :is(.alm-info__paso, .alm-info__mas, .alm-info__agregar):focus-visible {
	outline: 3px solid #b3784f !important;
	outline-offset: 2px;
}

.popup-overlay.info-overlay.alm-info.alm-info--compra .options-popup.info-popup .alm-info__paso:focus-visible {
	outline-offset: -5px;
}

/* N. Agrupados con lista larga: el − / + queda a la vista al pie mientras se recorre la lista. */
.popup-overlay.info-overlay.alm-info.alm-info--compra .options-popup.info-popup .alm-info__compra--agrupado .alm-info__cantidad {
	position: sticky;
	bottom: -10px; /* compensa el padding inferior de .popup-content: no queda una franja por donde pasan las variedades */
	z-index: 1;
	padding: 8px 0;
	background: #fff;
	box-shadow: 0 -1px 0 #efe7e1, 0 6px 0 #fff;
}

/* ---------- Aviso flotante (el de comun.js; tarjetas.css no se carga en la tienda) ---------- */

#alm-aviso.alm-aviso {
	position: fixed;
	left: 50%;
	bottom: 20px;
	z-index: 100000000; /* arriba del carrito lateral (WPC Fly Cart usa 99999998) */
	max-width: min(92vw, 520px);
	padding: 12px 16px;
	border-radius: 10px;
	background: #2b1510;
	color: #fff;
	font-family: "Poppins", system-ui, -apple-system, "Segoe UI", sans-serif;
	font-size: 14px;
	line-height: 1.4;
	box-shadow: 0 6px 24px rgba(0, 0, 0, 0.25);
	opacity: 0;
	pointer-events: none;
	transform: translate(-50%, 16px);
	transition: opacity 0.2s, transform 0.2s;
}

#alm-aviso.alm-aviso--visible {
	opacity: 1;
	pointer-events: auto;
	transform: translate(-50%, 0);
}

#alm-aviso.alm-aviso--error {
	background: #7a1414;
}

#alm-aviso.alm-aviso a {
	margin-left: 4px;
	color: #fff;
	font-weight: 600;
	text-decoration: underline;
}

/* Red de seguridad: si Unique Cart Adder bloquea el scroll sin ningún popup abierto, se destraba. */
body.uc-popup-open:not(:has(> .popup-overlay.uc-global[style*="display: block"])) {
	overflow: auto !important;
}

@media (min-width: 761px) {
	/* La foto queda quieta si la columna de la compra se desplaza. */
	.popup-overlay.info-overlay.alm-info.alm-info--compra .options-popup.info-popup .info-media {
		position: sticky;
		top: 0;
	}
}

@media (max-width: 600px) {
	.popup-overlay.info-overlay.alm-info.alm-info--compra .options-popup.info-popup {
		max-height: 92vh !important;
		max-height: 92dvh !important;
	}

	/* Granel y agrupados a lo ancho; el − / + del simple ocupa el hueco al lado de la foto. */
	.popup-overlay.info-overlay.alm-info.alm-info--compra .options-popup.info-popup :is(.alm-info__compra--granel, .alm-info__compra--agrupado, .alm-info__mas) {
		grid-column: 1 / -1;
	}

	.popup-overlay.info-overlay.alm-info.alm-info--compra .options-popup.info-popup .alm-info__chips {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 6px;
	}

	.popup-overlay.info-overlay.alm-info.alm-info--compra .options-popup.info-popup .alm-info__cara {
		min-height: 50px;
	}

	.popup-overlay.info-overlay.alm-info.alm-info--compra .options-popup.info-popup form[data-alm-js] .alm-info__desc--larga:not(.is-abierta) {
		max-height: 8em !important;
	}

	/* "A granel" ya lo dice la nota: la insignia sola no suma. */
	.popup-overlay.info-overlay.alm-info.alm-info--compra .options-popup.info-popup .uca-badge-bulk {
		display: none !important;
	}

	.popup-overlay.info-overlay.alm-info.alm-info--compra .options-popup.info-popup .info-badges:not(:has(.uca-badge:not(.uca-badge-bulk))) {
		display: none !important;
	}

	/* Botón en dos renglones: "Agregar" y, abajo, qué y cuánto. */
	.popup-overlay.info-overlay.alm-info.alm-info--compra .options-popup.info-popup .alm-info__acciones .alm-info__agregar,
	.popup-overlay.info-overlay.alm-info.alm-info--compra .options-popup.info-popup .alm-info__acciones .alm-info__agregar:focus {
		flex-direction: column;
		flex-wrap: nowrap;
		gap: 0;
		min-width: 0;
		min-height: 52px;
		padding: 8px 12px !important;
	}

	.popup-overlay.info-overlay.alm-info.alm-info--compra .options-popup.info-popup .alm-info__accion {
		font-size: 16px;
		font-weight: 600;
	}

	.popup-overlay.info-overlay.alm-info.alm-info--compra .options-popup.info-popup .alm-info__total {
		font-size: 13px;
		opacity: 0.9;
		white-space: normal;
		text-align: center;
	}

	.popup-overlay.info-overlay.alm-info.alm-info--compra .options-popup.info-popup .alm-info__ver {
		padding: 12px;
	}
}

@media (max-width: 380px) {
	.popup-overlay.info-overlay.alm-info.alm-info--compra .options-popup.info-popup .alm-info__ver {
		padding: 12px 10px;
		font-size: 14px;
	}
}

@media (max-height: 500px) and (min-width: 601px) {
	.popup-overlay.info-overlay.alm-info.alm-info--compra .options-popup.info-popup .alm-info__cara {
		min-height: 44px;
	}

	.popup-overlay.info-overlay.alm-info.alm-info--compra .options-popup.info-popup .alm-info__variedad .alm-info__cara {
		min-height: 40px;
		padding-top: 4px;
		padding-bottom: 4px;
	}

	.popup-overlay.info-overlay.alm-info.alm-info--compra .options-popup.info-popup :is(.alm-info__stepper, .alm-info__paso, .alm-info__num) {
		height: 40px !important;
	}

	.popup-overlay.info-overlay.alm-info.alm-info--compra .options-popup.info-popup .alm-info__acciones .alm-info__agregar {
		min-height: 44px;
	}
}
