/*
 * Reservado para ajustes globales posteriores al CSS heredado.
 * El mini-carrito utiliza nuevamente los estilos nativos de Elementor.
 */

/* Evita iconos/pseudo-elementos y texto solapado en los botones del drawer. */
.elementor-menu-cart__footer-buttons a,
.woocommerce-mini-cart__buttons a {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-width: 0 !important;
	min-height: 46px !important;
	padding: 10px 12px !important;
	font-size: 16px !important;
	line-height: 1.2 !important;
	white-space: nowrap !important;
	overflow: hidden !important;
	text-align: center !important;
}

.elementor-menu-cart__footer-buttons a::before,
.elementor-menu-cart__footer-buttons a::after,
.woocommerce-mini-cart__buttons a::before,
.woocommerce-mini-cart__buttons a::after {
	display: none !important;
	content: none !important;
}

.elementor-menu-cart__footer-buttons a *,
.woocommerce-mini-cart__buttons a * {
	position: static !important;
	margin: 0 !important;
	transform: none !important;
}

/* Permite que el drawer salga del header cuando este se vuelve sticky. */
.elementor-location-header,
.elementor-location-header .elementor-sticky--active,
.elementor-location-header .c36-header-wrap,
.elementor-location-header .c36-cart,
.elementor-location-header .c36-cart .elementor-widget-container,
.elementor-location-header .elementor-menu-cart__wrapper,
.elementor-location-header .elementor-menu-cart__toggle_wrapper {
	overflow: visible !important;
	contain: none !important;
}

.elementor-location-header .elementor-menu-cart__container {
	max-height: none !important;
	clip: auto !important;
	clip-path: none !important;
}

/*
 * backdrop-filter crea un containing block para hijos fixed. Al abrir el
 * carrito lo desactivamos momentáneamente para que el drawer vuelva a tomar
 * como referencia el viewport completo, incluso después de hacer scroll.
 */
.elementor-location-header:has(.elementor-menu-cart__container.elementor-menu-cart--shown) .c36-header,
.elementor-location-header:has(.elementor-menu-cart__container[aria-hidden="false"]) .c36-header {
	-webkit-backdrop-filter: none !important;
	backdrop-filter: none !important;
	filter: none !important;
	transform: none !important;
}

/*
 * El drawer debe dominar todas las capas móviles. Elementor lo inserta dentro
 * del header y, sin elevar ese contexto, la barra sticky del catálogo queda
 * visualmente por encima.
 */
.elementor-location-header:has(.elementor-menu-cart__container.elementor-menu-cart--shown),
.elementor-location-header:has(.elementor-menu-cart__container[aria-hidden="false"]) {
	position: relative !important;
	z-index: 2147482000 !important;
}

.elementor-location-header .elementor-menu-cart__container.elementor-menu-cart--shown,
.elementor-location-header .elementor-menu-cart__container[aria-hidden="false"] {
	z-index: 2147483000 !important;
}

body:has(.elementor-menu-cart__container.elementor-menu-cart--shown) .c36-shop-toolbar,
body:has(.elementor-menu-cart__container[aria-hidden="false"]) .c36-shop-toolbar,
body:has(.elementor-menu-cart__container.elementor-menu-cart--shown) .c36-whatsapp-float,
body:has(.elementor-menu-cart__container[aria-hidden="false"]) .c36-whatsapp-float {
	visibility: hidden !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

/*
 * Galería "Diseñado para ti" de la portada.
 *
 * Elementor conserva en ocasiones una versión anterior de estas imágenes en
 * su CSS generado. El tema fija el juego publicado actual y site-fixes.css se
 * versiona por fecha de modificación, evitando que una caché vieja lo reemplace.
 */
.home .c36-spirit-grid .c36-whisky {
	background-image: url("https://n36.shop/wp-content/uploads/2026/07/bluelabel.png") !important;
}

.home .c36-spirit-grid .c36-rum {
	background-image: url("https://n36.shop/wp-content/uploads/2026/07/1888.png") !important;
}

.home .c36-spirit-grid .c36-gin {
	background-image: url("https://n36.shop/wp-content/uploads/2026/07/mezcal.png") !important;
}

.home .c36-spirit-grid .c36-vodka {
	background-image: url("https://n36.shop/wp-content/uploads/2026/07/stoly.png") !important;
}

.home .c36-spirit-grid .c36-tequila {
	background-image: url("https://n36.shop/wp-content/uploads/2026/07/1800.png") !important;
}

/*
 * El buscador móvil permanece compacto hasta tocar la lupa. Cuando Elementor
 * añade c36-search-open reservamos ancho real en el header y eliminamos el
 * padding que dejaba apenas unos 40px para escribir.
 */
@media (max-width: 767px) {
	.elementor-location-header .c36-header-row .c36-center:has(.c36-search-open) {
		flex: 0 0 170px !important;
		width: 170px !important;
		min-width: 170px !important;
	}

	.elementor-location-header .c36-search.c36-search-open {
		width: 180px !important;
		min-width: 180px !important;
		max-width: 180px !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	.elementor-location-header .c36-search.c36-search-open .e-search,
	.elementor-location-header .c36-search.c36-search-open .e-search-form {
		display: flex !important;
		align-items: center !important;
		width: 100% !important;
		min-width: 0 !important;
		overflow: visible !important;
	}

	.elementor-location-header .c36-search.c36-search-open .e-search-input-wrapper {
		flex: 1 1 0 !important;
		width: auto !important;
		min-width: 0 !important;
	}

	.elementor-location-header .c36-search.c36-search-open .e-search-input {
		display: block !important;
		width: 100% !important;
		min-width: 0 !important;
		padding-inline: 11px !important;
		opacity: 1 !important;
		visibility: visible !important;
		pointer-events: auto !important;
	}
}

/*
 * Mini carrito — lenguaje visual Churchill 36.
 * Se limita al drawer de Elementor para no alterar carrito ni checkout.
 */
.elementor-location-header .elementor-menu-cart__container {
	background: rgba(17, 17, 17, 0.38) !important;
	backdrop-filter: blur(7px) !important;
	-webkit-backdrop-filter: blur(7px) !important;
}

.elementor-location-header .elementor-menu-cart__main {
	width: min(92vw, 440px) !important;
	max-width: 440px !important;
	height: 100dvh !important;
	padding: clamp(24px, 5vw, 34px) !important;
	background: rgba(252, 252, 251, 0.985) !important;
	border-left: 1px solid rgba(17, 17, 17, 0.08) !important;
	box-shadow: -24px 0 70px rgba(17, 17, 17, 0.18) !important;
	overflow-y: auto !important;
}

.elementor-location-header .elementor-menu-cart__close-button {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 44px !important;
	height: 44px !important;
	margin: 0 0 22px auto !important;
	padding: 0 !important;
	color: #171717 !important;
	background: #f1f1ef !important;
	border: 1px solid #e2e2df !important;
	border-radius: 50% !important;
	transition: background-color 0.2s ease, transform 0.2s ease !important;
}

.elementor-location-header .elementor-menu-cart__close-button:hover {
	background: #e8e8e5 !important;
	transform: rotate(4deg) !important;
}

.elementor-location-header .elementor-menu-cart__products {
	margin: 0 !important;
	border: 0 !important;
}

.elementor-location-header .elementor-menu-cart__product {
	display: grid !important;
	grid-template-columns: 82px minmax(0, 1fr) 34px !important;
	grid-template-rows: auto auto !important;
	column-gap: 15px !important;
	row-gap: 6px !important;
	align-items: center !important;
	padding: 17px 0 !important;
	border-bottom: 1px solid #e6e6e3 !important;
}

.elementor-location-header .elementor-menu-cart__product-image {
	grid-column: 1 !important;
	grid-row: 1 / span 2 !important;
	width: 82px !important;
	height: 88px !important;
	margin: 0 !important;
	padding: 8px !important;
	background: #f3f3f1 !important;
	border-radius: 15px !important;
	overflow: hidden !important;
}

.elementor-location-header .elementor-menu-cart__product-image img {
	width: 100% !important;
	height: 100% !important;
	object-fit: contain !important;
	mix-blend-mode: multiply;
}

.elementor-location-header .elementor-menu-cart__product-name {
	grid-column: 2 !important;
	grid-row: 1 !important;
	margin: 0 !important;
	padding: 0 !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
}

.elementor-location-header .elementor-menu-cart__product-name a,
.elementor-location-header .elementor-menu-cart__product-name a:hover {
	color: #171717 !important;
	text-decoration: none !important;
}

.elementor-location-header .elementor-menu-cart__product-price {
	grid-column: 2 !important;
	grid-row: 2 !important;
	margin: 0 !important;
	padding: 0 !important;
	color: #737373 !important;
	font-size: 14px !important;
	font-weight: 500 !important;
	line-height: 1.35 !important;
}

.elementor-location-header .elementor-menu-cart__product-remove {
	grid-column: 3 !important;
	grid-row: 1 / span 2 !important;
	position: relative !important;
	top: auto !important;
	right: auto !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 30px !important;
	height: 30px !important;
	margin: 0 !important;
	color: #777 !important;
	background: #fff !important;
	border: 1px solid #dadad7 !important;
	border-radius: 50% !important;
}

.elementor-location-header .elementor-menu-cart__subtotal {
	display: flex !important;
	align-items: baseline !important;
	justify-content: space-between !important;
	gap: 20px !important;
	margin: 22px 0 18px !important;
	padding: 0 0 20px !important;
	color: #171717 !important;
	border-bottom: 1px solid #dededb !important;
	font-size: 19px !important;
	font-weight: 700 !important;
	line-height: 1.25 !important;
}

.elementor-location-header .elementor-menu-cart__subtotal strong {
	font-weight: 700 !important;
}

.elementor-location-header .elementor-menu-cart__footer-buttons {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: 10px !important;
	padding: 0 !important;
}

.elementor-location-header .elementor-menu-cart__footer-buttons .elementor-button {
	min-width: 0 !important;
	min-height: 50px !important;
	padding: 12px 14px !important;
	color: #171717 !important;
	background: #fff !important;
	border: 1px solid #d9d9d6 !important;
	border-radius: 999px !important;
	box-shadow: none !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	text-align: center !important;
}

.elementor-location-header .elementor-menu-cart__footer-buttons .elementor-button--checkout {
	color: #fff !important;
	background: #171717 !important;
	border-color: #171717 !important;
}

.elementor-location-header .elementor-menu-cart__footer-buttons .elementor-button:hover {
	color: #fff !important;
	background: #303030 !important;
	border-color: #303030 !important;
}

@media (max-width: 480px) {
	.elementor-location-header .elementor-menu-cart__main {
		width: min(94vw, 410px) !important;
		padding: 22px 20px 30px !important;
	}

	.elementor-location-header .elementor-menu-cart__product {
		grid-template-columns: 72px minmax(0, 1fr) 32px !important;
		column-gap: 12px !important;
	}

	.elementor-location-header .elementor-menu-cart__product-image {
		width: 72px !important;
		height: 80px !important;
	}

	.elementor-location-header .elementor-menu-cart__footer-buttons {
		gap: 8px !important;
	}

	.elementor-location-header .elementor-menu-cart__footer-buttons .elementor-button {
		padding-inline: 10px !important;
		font-size: 13px !important;
	}
}

@media (max-width: 350px) {
	.elementor-location-header .c36-header-row .c36-center:has(.c36-search-open) {
		flex-basis: 145px !important;
		width: 145px !important;
		min-width: 145px !important;
	}

	.elementor-location-header .c36-search.c36-search-open {
		width: 155px !important;
		min-width: 155px !important;
		max-width: 155px !important;
	}
}

/*
 * Buscador de "Explora por categoría".
 * El modo compacto pertenece únicamente al header; este segundo widget debe
 * permanecer abierto también fuera del editor de Elementor.
 */
@media (max-width: 767px) {
	.home .elementor-element-264ea1d.c36-search {
		width: 100% !important;
		max-width: 620px !important;
		min-width: 0 !important;
		box-sizing: border-box !important;
	}

	.home .elementor-element-264ea1d.c36-search .e-search,
	.home .elementor-element-264ea1d.c36-search .e-search-form {
		display: flex !important;
		align-items: center !important;
		width: 100% !important;
		min-width: 0 !important;
		height: 36px !important;
		gap: 8px !important;
		overflow: visible !important;
	}

	.home .elementor-element-264ea1d.c36-search .e-search-input-wrapper {
		display: block !important;
		flex: 1 1 0 !important;
		width: auto !important;
		min-width: 0 !important;
		overflow: visible !important;
	}

	.home .elementor-element-264ea1d.c36-search .e-search-input {
		display: block !important;
		flex: 1 1 0 !important;
		width: 100% !important;
		min-width: 0 !important;
		height: 36px !important;
		margin: 0 !important;
		padding: 0 14px !important;
		border-width: 1px !important;
		border-radius: 999px !important;
		opacity: 1 !important;
		visibility: visible !important;
		pointer-events: auto !important;
	}

	.home .elementor-element-264ea1d.c36-search .e-search-submit {
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		flex: 0 0 36px !important;
		width: 36px !important;
		min-width: 36px !important;
		height: 36px !important;
		margin: 0 !important;
	}
}
