:root {
	--k3-rojo: #e31c23;
	--k3-rojo-hover: #c4161c;
	--k3-texto: #222222;
	--k3-muted: #6b6b6b;
	--k3-borde: #e6e6e6;
	--k3-fondo: #ffffff;
	--k3-superficie: #f6f6f6;
	--k3-whatsapp: #25d366;
	--k3-whatsapp-hover: #1ebe57;
	--k3-radio: 6px;
	--k3-max: 1240px;
}

.k3-catalogo .price,
.k3-catalogo .woocommerce-Price-amount,
.k3-catalogo .add_to_cart_button,
.k3-catalogo .ajax_add_to_cart,
.k3-catalogo .added_to_cart,
.k3-catalogo .onsale,
.k3-catalogo .star-rating,
.k3-catalogo .woocommerce-product-rating,
.k3-catalogo .quantity,
.k3-catalogo form.cart,
.k3-catalogo .product_meta .posted_in,
.k3-catalogo .product_meta .tagged_as {
	display: none !important;
}

/* Buscador */
.k3-buscador {
	width: 100%;
}

.elementor-widget-shortcode:has(.k3-buscador),
.elementor-widget-shortcode:has(.k3-buscador) .elementor-widget-container {
	width: 100%;
}

.k3-buscador .woocommerce-product-search {
	display: flex;
	width: 100%;
	max-width: none;
	margin: 0;
	border: 0;
	border-radius: 0;
	overflow: hidden;
	background: #fff;
}

.k3-buscador .woocommerce-product-search input[type="search"] {
	flex: 1 1 auto;
	min-width: 0;
	height: 46px;
	border: 0;
	border-radius: 0;
	margin: 0;
	padding: 0 16px;
	font-size: 14px;
	line-height: 46px;
	background: #fff;
	box-shadow: none;
	color: #333;
}

.k3-buscador .woocommerce-product-search input[type="search"]::placeholder {
	color: #9a9a9a;
}

.k3-buscador .woocommerce-product-search button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 46px;
	width: 46px;
	height: 46px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: #332e33;
	color: #fff;
	font-size: 0;
	line-height: 0;
	cursor: pointer;
}

.k3-buscador .woocommerce-product-search button:hover {
	background: #241f24;
}

.k3-buscador__lupa {
	display: block;
	width: 18px;
	height: 18px;
	background: #fff;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M15.5 14h-.8l-.3-.3a6.5 6.5 0 1 0-.7.7l.3.3v.8l5 5 1.5-1.5-5-5zm-6 0C7 14 5 12 5 9.5S7 5 9.5 5 14 7 14 9.5 12 14 9.5 14z'/%3E%3C/svg%3E") center / contain no-repeat;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M15.5 14h-.8l-.3-.3a6.5 6.5 0 1 0-.7.7l.3.3v.8l5 5 1.5-1.5-5-5zm-6 0C7 14 5 12 5 9.5S7 5 9.5 5 14 7 14 9.5 12 14 9.5 14z'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* Redes */
.k3-redes {
	display: flex;
	gap: 8px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.k3-redes__link {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border: 1px solid var(--k3-borde);
	border-radius: 50%;
	background: #fff;
}

.k3-redes__icon {
	width: 16px;
	height: 16px;
	display: block;
	background: var(--k3-texto);
	mask-size: contain;
	mask-repeat: no-repeat;
	mask-position: center;
	-webkit-mask-size: contain;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: center;
}

.k3-redes__link:hover {
	border-color: var(--k3-rojo);
}

.k3-redes__link:hover .k3-redes__icon {
	background: var(--k3-rojo);
}

.k3-redes__link--facebook .k3-redes__icon {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M14 9h3V6h-3c-2.2 0-4 1.8-4 4v2H8v3h2v7h3v-7h3l1-3h-4v-2c0-.6.4-1 1-1z'/%3E%3C/svg%3E");
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M14 9h3V6h-3c-2.2 0-4 1.8-4 4v2H8v3h2v7h3v-7h3l1-3h-4v-2c0-.6.4-1 1-1z'/%3E%3C/svg%3E");
}

.k3-redes__link--instagram .k3-redes__icon {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M7 3h10a4 4 0 0 1 4 4v10a4 4 0 0 1-4 4H7a4 4 0 0 1-4-4V7a4 4 0 0 1 4-4zm10 2H7a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2zm-5 3.2A3.8 3.8 0 1 1 8.2 12 3.8 3.8 0 0 1 12 8.2zm0 2A1.8 1.8 0 1 0 13.8 12 1.8 1.8 0 0 0 12 10.2zM17.2 6.6a1 1 0 1 1-1 1 1 1 0 0 1 1-1z'/%3E%3C/svg%3E");
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M7 3h10a4 4 0 0 1 4 4v10a4 4 0 0 1-4 4H7a4 4 0 0 1-4-4V7a4 4 0 0 1 4-4zm10 2H7a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2zm-5 3.2A3.8 3.8 0 1 1 8.2 12 3.8 3.8 0 0 1 12 8.2zm0 2A1.8 1.8 0 1 0 13.8 12 1.8 1.8 0 0 0 12 10.2zM17.2 6.6a1 1 0 1 1-1 1 1 1 0 0 1 1-1z'/%3E%3C/svg%3E");
}

.k3-redes__link--youtube .k3-redes__icon {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M23 12.2s0-3.2-.4-4.6c-.2-.9-.9-1.6-1.8-1.8C18.9 5.4 12 5.4 12 5.4s-6.9 0-8.8.4c-.9.2-1.6.9-1.8 1.8C1 9 1 12.2 1 12.2s0 3.2.4 4.6c.2.9.9 1.6 1.8 1.8 1.9.4 8.8.4 8.8.4s6.9 0 8.8-.4c.9-.2 1.6-.9 1.8-1.8.4-1.4.4-4.6.4-4.6zM9.8 15.5V8.9l6.2 3.3-6.2 3.3z'/%3E%3C/svg%3E");
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M23 12.2s0-3.2-.4-4.6c-.2-.9-.9-1.6-1.8-1.8C18.9 5.4 12 5.4 12 5.4s-6.9 0-8.8.4c-.9.2-1.6.9-1.8 1.8C1 9 1 12.2 1 12.2s0 3.2.4 4.6c.2.9.9 1.6 1.8 1.8 1.9.4 8.8.4 8.8.4s6.9 0 8.8-.4c.9-.2 1.6-.9 1.8-1.8.4-1.4.4-4.6.4-4.6zM9.8 15.5V8.9l6.2 3.3-6.2 3.3z'/%3E%3C/svg%3E");
}

.k3-redes__link--linkedin .k3-redes__icon {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M6.5 9H3.7v11h2.8zm.2-3.2A1.7 1.7 0 1 1 5 4.1a1.7 1.7 0 0 1 1.7 1.7zM20.3 13.4c0-3.2-1.7-4.7-4-4.7a3.4 3.4 0 0 0-3 1.6h-.1V9H10.5v11h2.8v-5.5c0-1.4.3-2.8 2-2.8s1.7 1.5 1.7 2.9V20h2.8z'/%3E%3C/svg%3E");
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M6.5 9H3.7v11h2.8zm.2-3.2A1.7 1.7 0 1 1 5 4.1a1.7 1.7 0 0 1 1.7 1.7zM20.3 13.4c0-3.2-1.7-4.7-4-4.7a3.4 3.4 0 0 0-3 1.6h-.1V9H10.5v11h2.8v-5.5c0-1.4.3-2.8 2-2.8s1.7 1.5 1.7 2.9V20h2.8z'/%3E%3C/svg%3E");
}

/* WhatsApp */
.k3-wa {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 13px 22px;
	background: var(--k3-whatsapp);
	color: #fff !important;
	font-weight: 700;
	font-size: 13px;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	text-decoration: none !important;
	border-radius: 4px;
	line-height: 1.2;
	box-sizing: border-box;
}

.k3-wa:hover {
	background: var(--k3-whatsapp-hover);
	color: #fff !important;
}

.k3-wa__icon {
	display: flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
}

.k3-wa__icon svg {
	display: block;
	width: 22px;
	height: 22px;
}

.k3-wa--destacado {
	display: flex;
	width: 100%;
	max-width: 100%;
	padding: 18px 24px;
	font-size: 18px;
	letter-spacing: 0.05em;
	border-radius: 6px;
}

.k3-wa--destacado .k3-wa__icon,
.k3-wa--destacado .k3-wa__icon svg {
	width: 28px;
	height: 28px;
}

.k3-wa--compact {
	padding: 10px 16px;
	font-size: 12px;
}

.k3-wa--block {
	width: 100%;
}

.k3-sku {
	margin: 0 0 16px;
	color: var(--k3-muted);
	font-size: 13px;
}

/* Categorías */
.k3-cats--sidebar > .k3-cats__toggle {
	display: none !important;
}

.k3-cats__title,
h2.k3-cats__title,
h3.k3-cats__title {
	margin: 0 0 12px !important;
	padding: 0 !important;
	font-size: 16px !important;
	font-weight: 600 !important;
	line-height: 1.35 !important;
	color: var(--k3-texto) !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
}

.k3-cats__toggle {
	display: none;
	width: 100%;
	padding: 10px 14px;
	border: 1px solid var(--k3-borde);
	background: #fff;
	color: var(--k3-texto);
	font-weight: 600;
	font-size: 14px;
	text-align: left;
	text-transform: none;
	cursor: pointer;
}

.k3-cats__list,
.k3-cats__sub {
	list-style: none;
	margin: 0;
	padding: 0;
}

.k3-cats__item {
	border-bottom: 1px solid var(--k3-borde);
}

.k3-cats__row {
	display: flex;
	align-items: center;
	gap: 8px;
}

.k3-cats__link,
.k3-cats__sublink {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	flex: 1;
	min-width: 0;
	padding: 12px 0;
	color: var(--k3-texto);
	text-decoration: none;
	font-size: 14px;
}

.k3-cats__label {
	display: inline-flex;
	align-items: baseline;
	gap: 6px;
	min-width: 0;
}

.k3-cats__name {
	min-width: 0;
}

.k3-cats__link:hover,
.k3-cats__sublink:hover,
.k3-cats__item.is-current > .k3-cats__row > .k3-cats__link,
.k3-cats__subitem.is-current .k3-cats__sublink {
	color: var(--k3-rojo);
}

.k3-cats__count {
	color: var(--k3-muted);
	font-size: 12px;
	font-weight: 400;
	white-space: nowrap;
}

.k3-cats__chevron {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 22px;
	height: 22px;
	margin-left: auto;
	padding: 0;
	border: 0;
	border-radius: 3px;
	background: var(--k3-rojo);
	color: #fff;
	cursor: pointer;
	position: relative;
}

.k3-cats__chevron::before {
	content: "";
	display: block;
	width: 0;
	height: 0;
	border-left: 4px solid transparent;
	border-right: 4px solid transparent;
	border-top: 5px solid #fff;
}

.k3-cats__item.is-open > .k3-cats__row > .k3-cats__chevron::before {
	border-top: 0;
	border-bottom: 5px solid #fff;
}

.k3-cats__sub {
	display: none;
	margin: 0 0 6px;
	padding: 2px 0 8px 6px;
	list-style: none;
}

.k3-cats__item.is-open > .k3-cats__sub {
	display: block;
}

.k3-cats__subitem {
	position: relative;
	padding-left: 16px;
	border-bottom: 1px dotted #dcdcdc;
}

.k3-cats__subitem::before {
	content: "";
	position: absolute;
	left: 2px;
	top: 50%;
	width: 5px;
	height: 5px;
	margin-top: -3px;
	border-radius: 50%;
	background: #bdbdbd;
}

.k3-cats__sublink {
	padding: 9px 0;
	font-size: 13px;
	color: #555;
}

.k3-cats--footer .k3-cats__title {
	color: #fff !important;
	font-size: 15px !important;
}

.k3-cats--footer .k3-cats__item {
	border: 0;
}

.k3-cats--footer .k3-cats__link,
.k3-cats--footer .k3-cats__sublink {
	color: #fff !important;
	padding: 6px 0;
}

.k3-cats--footer .k3-cats__link:hover,
.k3-cats--footer .k3-cats__sublink:hover {
	color: var(--k3-rojo) !important;
}

.k3-cats--footer .k3-cats__sub {
	display: none;
}

.k3-cats--footer .k3-cats__chevron,
.k3-cats--footer .k3-cats__count,
.k3-cats--footer .k3-cats__toggle {
	display: none;
}

.k3-contacto,
.k3-contacto a,
.k3-contacto__vacio {
	color: #fff !important;
}

.k3-contacto a:hover {
	color: var(--k3-rojo) !important;
}

.k3-contacto {
	list-style: none;
	margin: 0;
	padding: 0;
	font-size: 14px;
}

.k3-contacto a {
	text-decoration: none;
}

.k3-contacto li {
	margin: 0 0 10px;
}

.elementor-location-footer .k3-redes__link,
footer .k3-redes__link {
	border-color: rgba(255, 255, 255, 0.35);
	background: transparent;
}

.elementor-location-footer .k3-redes__icon,
footer .k3-redes__icon {
	background: #fff;
}

.elementor-location-footer .k3-redes__link:hover,
footer .k3-redes__link:hover {
	border-color: var(--k3-rojo);
}

.elementor-location-footer .k3-redes__link:hover .k3-redes__icon,
footer .k3-redes__link:hover .k3-redes__icon {
	background: var(--k3-rojo);
}

/* Archive cards */
.k3-catalogo ul.products {
	display: grid !important;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.k3-catalogo ul.products::before,
.k3-catalogo ul.products::after {
	display: none !important;
}

.k3-catalogo ul.products li.product {
	width: auto !important;
	margin: 0 !important;
	float: none !important;
	padding: 16px;
	border: 1px solid var(--k3-borde);
	background: #fff;
	text-align: center;
}

.k3-catalogo ul.products li.product a img {
	width: 100%;
	height: 240px;
	object-fit: contain;
	background: #fff;
	margin: 0 0 16px;
}

.k3-catalogo ul.products li.product .woocommerce-loop-product__title {
	font-size: 15px;
	font-weight: 700;
	color: var(--k3-texto);
	padding: 0;
	margin: 0;
	line-height: 1.35;
}

.k3-catalogo ul.products li.product:hover {
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
}

.k3-catalogo ul.products li.product:hover .woocommerce-loop-product__title {
	color: var(--k3-rojo);
}

.k3-catalogo .woocommerce-result-count,
.k3-catalogo .woocommerce-ordering {
	margin-bottom: 20px;
}

.k3-catalogo nav.woocommerce-pagination ul {
	border: 0;
}

.k3-catalogo nav.woocommerce-pagination li {
	border: 0;
	margin: 0 4px;
}

.k3-catalogo nav.woocommerce-pagination a,
.k3-catalogo nav.woocommerce-pagination span {
	min-width: 40px;
	height: 40px;
	line-height: 40px;
	border: 1px solid var(--k3-borde) !important;
	background: #fff;
}

.k3-catalogo nav.woocommerce-pagination span.current {
	background: var(--k3-rojo);
	border-color: var(--k3-rojo) !important;
	color: #fff;
}

/* Ficha técnica */
.k3-ficha {
	margin: 28px 0 8px;
	padding: 24px 0 0;
	border-top: 1px solid var(--k3-borde);
}

.k3-ficha__title {
	margin: 0 0 16px;
	font-size: 22px;
	color: var(--k3-rojo);
}

.k3-ficha__body {
	color: var(--k3-texto);
	font-size: 15px;
	line-height: 1.7;
}

.k3-ficha__body ul {
	margin: 0;
	padding-left: 18px;
}

.k3-ficha__body li {
	margin: 0 0 8px;
}

.k3-ficha__btn {
	display: inline-flex;
	align-items: center;
	margin-top: 12px;
	padding: 12px 20px;
	border: 1px solid var(--k3-rojo);
	color: var(--k3-rojo) !important;
	font-weight: 700;
	text-transform: uppercase;
	font-size: 12px;
	letter-spacing: 0.05em;
	text-decoration: none !important;
}

.k3-ficha__btn:hover {
	background: var(--k3-rojo);
	color: #fff !important;
}

/* Producto detalle */
.k3-catalogo.single-product .woocommerce-product-gallery {
	margin-bottom: 0;
}

.k3-catalogo.single-product .product_title {
	font-size: 28px;
	line-height: 1.25;
	margin: 0 0 12px;
}

.k3-catalogo .related.products > h2 {
	font-size: 24px;
	margin: 0 0 24px;
	color: var(--k3-texto);
}

.k3-catalogo .related ul.products {
	grid-template-columns: repeat(4, 1fr);
}

@media (max-width: 1024px) {
	.k3-catalogo ul.products,
	.k3-catalogo .related ul.products {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 767px) {
	.k3-cats--sidebar > .k3-cats__toggle {
		display: block !important;
		background: #fff;
		color: var(--k3-texto);
		border: 1px solid var(--k3-borde);
	}

	.k3-cats--sidebar .k3-cats__panel {
		display: none;
		margin-top: 8px;
		padding: 8px 12px;
		border: 1px solid var(--k3-borde);
		background: #fff;
	}

	.k3-cats--sidebar.is-open .k3-cats__panel {
		display: block;
	}

	.k3-cats--sidebar .k3-cats__title {
		display: none;
	}

	.k3-catalogo ul.products,
	.k3-catalogo .related ul.products {
		grid-template-columns: 1fr;
	}

	.k3-catalogo.single-product .product_title {
		font-size: 22px;
	}

	.k3-wa {
		width: 100%;
	}
}
