/*
Theme Name: Kallpa Tienda
Theme URI: https://kallpaindustrial.com.pe
Description: Tema hijo de Kadence para la tienda online de Kallpa Industrial: cabecera con productos y buscador, portada con banners, categorías, productos destacados, bloques por categoría y marcas.
Author: Kallpa Industrial
Template: kadence
Version: 1.1.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: kallpa-tienda
*/

/* ---------- Colores y base ---------- */
html:root {
	--kp-blue: #0275d0;
	--kp-btn: #0563b5;
	--kp-btn-dark: #044c8c;
	--kp-navy: #0a3d78;
	--kp-ink: #262626;
	--kp-text: #3d3d3d;
	--kp-muted: #6e6e6e;
	--kp-line: #cfd3d8;
	--kp-soft: #f4f4f4;
	--kp-radius: 10px;
	--kp-shadow: 0 8px 24px rgba(10, 61, 120, .10);
	--kp-font: 'Montserrat', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;

	/* Paleta de Kadence con los colores de Kallpa */
	--global-palette1: #0563b5;
	--global-palette2: #044c8c;
	--global-palette3: #262626;
	--global-palette4: #333333;
	--global-palette5: #555555;
	--global-palette6: #6e6e6e;
	--global-palette7: #eef0f3;
	--global-palette8: #f6f7f9;
	--global-palette9: #ffffff;
	--global-body-font-family: var(--kp-font);
	--global-heading-font-family: var(--kp-font);
}

body {
	font-family: var(--kp-font);
	color: var(--kp-text);
	background: #fff;
}

html.kp-lock { overflow: hidden; }

.kp-container {
	width: 100%;
	max-width: 1320px;
	margin: 0 auto;
	padding: 0 24px;
	box-sizing: border-box;
}

.kp-icon { width: 20px; height: 20px; flex: none; }

.kp-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 13px 28px;
	border: 0;
	border-radius: 8px;
	background: var(--kp-btn);
	color: #fff;
	font: 600 16px/1.2 var(--kp-font);
	text-decoration: none;
	cursor: pointer;
	transition: background .2s, color .2s, transform .2s;
}
.kp-btn:hover { background: var(--kp-btn-dark); color: #fff; }
.kp-btn--accent { background: #fff; color: var(--kp-btn); }
.kp-btn--accent:hover { background: #e8f2fc; color: var(--kp-btn-dark); }
.kp-btn--outline { background: #fff; color: var(--kp-btn); box-shadow: inset 0 0 0 1.5px var(--kp-btn); padding: 15px 80px; }
.kp-btn--outline:hover { background: var(--kp-btn); color: #fff; }
.kp-btn .kp-icon { width: 18px; height: 18px; }

/* Ocultar la cabecera y el pie de Kadence: este tema usa los suyos */
#masthead,
#mobile-header,
#colophon { display: none !important; }

/* Logo: tamaño fijo en todas las páginas (WooCommerce agranda las imágenes en tienda y producto) */
.kp-logo { display: inline-flex; align-items: center; flex: none; line-height: 0; }
.kp-logo img.kp-logo__img {
	display: block;
	width: auto !important;
	height: 58px !important;
	max-width: 230px !important;
	max-height: none !important;
	margin: 0 !important;
	object-fit: contain;
}
.kp-drawer .kp-logo img.kp-logo__img { height: 44px !important; max-width: 170px !important; }

/* ---------- Cabecera ---------- */
.kp-header {
	position: sticky;
	top: 0;
	z-index: 900;
	background: #fff;
}
.admin-bar .kp-header { top: 32px; }
.kp-header.is-scrolled .kp-nav { box-shadow: 0 6px 14px rgba(0, 0, 0, .10); }

.kp-header__main {
	display: flex;
	align-items: center;
	gap: 22px;
	min-height: 104px;
}

.kp-burger {
	display: none;
	background: none;
	border: 0;
	padding: 8px;
	margin-left: -8px;
	color: var(--kp-ink);
	cursor: pointer;
}
.kp-burger .kp-icon { width: 28px; height: 28px; }

/* Botón y panel de Productos */
.kp-cats { position: relative; flex: none; }
.kp-cats__btn {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	height: 50px;
	padding: 0 22px;
	border: 0;
	border-radius: 8px;
	background: var(--kp-btn);
	color: #fff;
	font: 600 17px/1 var(--kp-font);
	cursor: pointer;
	transition: background .2s;
}
.kp-cats__btn .kp-icon { width: 22px; height: 22px; }
.kp-cats__btn:hover,
.kp-cats.is-open .kp-cats__btn { background: var(--kp-btn-dark); }

.kp-cats__panel {
	position: absolute;
	top: calc(100% + 12px);
	left: 0;
	width: min(880px, 80vw);
	padding: 24px 26px 18px;
	background: #fff;
	border: 1px solid var(--kp-line);
	border-radius: 12px;
	box-shadow: 0 18px 44px rgba(0, 0, 0, .16);
	opacity: 0;
	visibility: hidden;
	transform: translateY(6px);
	transition: opacity .18s, transform .18s, visibility .18s;
	z-index: 950;
}
.kp-cats__panel::before { /* puente para que no se cierre al bajar el mouse */
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	top: -14px;
	height: 14px;
}
.kp-cats:hover .kp-cats__panel,
.kp-cats.is-open .kp-cats__panel {
	opacity: 1;
	visibility: visible;
	transform: none;
}
.kp-cats__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px 30px;
	margin-bottom: 16px;
}
.kp-cats__title {
	display: block;
	margin-bottom: 8px;
	color: var(--kp-ink);
	font-weight: 700;
	font-size: 15px;
	text-decoration: none;
}
.kp-cats__title:hover { color: var(--kp-btn); }
.kp-cats__col ul { list-style: none; margin: 0; padding: 0; }
.kp-cats__col li a {
	display: block;
	padding: 4px 0;
	color: var(--kp-muted);
	font-size: 14px;
	text-decoration: none;
}
.kp-cats__col li a:hover { color: var(--kp-btn); }
.kp-cats__all {
	display: flex;
	align-items: center;
	gap: 6px;
	padding-top: 14px;
	border-top: 1px solid #e6e8eb;
	color: var(--kp-btn);
	font-weight: 600;
	font-size: 14px;
	text-decoration: none;
}
.kp-cats__all .kp-icon { width: 16px; height: 16px; }

/* Buscador */
.kp-search {
	flex: 1;
	display: flex;
	min-width: 0;
	height: 50px;
	border: 1.5px solid var(--kp-btn);
	border-radius: 8px;
	overflow: hidden;
	background: #fff;
}
.kp-search input[type="search"] {
	flex: 1;
	min-width: 0;
	height: 100%;
	padding: 0 22px;
	border: 0 !important;
	border-radius: 0;
	box-shadow: none !important;
	background: transparent;
	color: var(--kp-ink);
	font: 400 16px var(--kp-font);
	outline: none;
}
.kp-search input::placeholder { color: #8a8a8a; }
.kp-search button {
	width: 76px;
	border: 0;
	border-radius: 0;
	background: var(--kp-btn);
	color: #fff;
	cursor: pointer;
	display: grid;
	place-items: center;
	padding: 0;
}
.kp-search button:hover { background: var(--kp-btn-dark); }
.kp-search button .kp-icon { width: 22px; height: 22px; }

/* Cuenta y carrito: ícono arriba, texto abajo */
.kp-actions { display: flex; align-items: center; gap: 18px; flex: none; }
.kp-action {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 4px;
	color: var(--kp-ink);
	text-decoration: none;
	font-size: 13px;
	font-weight: 500;
}
.kp-action:hover { color: var(--kp-btn); }
.kp-action .kp-icon { width: 26px; height: 26px; color: var(--kp-btn); }
.kp-action__icon { position: relative; display: inline-flex; }
.kp-cart-count {
	position: absolute;
	top: -7px;
	right: -11px;
	min-width: 19px;
	height: 19px;
	padding: 0 5px;
	border-radius: 999px;
	background: var(--kp-btn);
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	line-height: 19px;
	text-align: center;
	box-sizing: border-box;
}

/* Barra gris de menú */
.kp-nav {
	background: var(--kp-soft);
	box-shadow: 0 4px 8px rgba(0, 0, 0, .07);
	transition: box-shadow .2s;
}
.kp-nav__inner { display: flex; align-items: center; gap: 20px; min-height: 74px; }
.kp-nav .kp-menu {
	flex: 1;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
	gap: 6px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.kp-nav .kp-menu a {
	display: block;
	padding: 10px 14px;
	color: var(--kp-ink);
	font-weight: 500;
	font-size: 16px;
	text-decoration: none;
	border-radius: 8px;
	transition: color .2s, background .2s;
}
.kp-nav .kp-menu a:hover,
.kp-nav .kp-menu .current-menu-item > a { color: var(--kp-btn); }
.kp-nav__cta {
	flex: none;
	padding: 13px 34px;
	border-radius: 8px;
	background: var(--kp-btn);
	color: #fff;
	font-weight: 600;
	font-size: 16px;
	text-decoration: none;
	transition: background .2s;
}
.kp-nav__cta:hover { background: var(--kp-btn-dark); color: #fff; }

/* Menú lateral (celular) */
.kp-drawer { position: fixed; inset: 0; z-index: 99999; visibility: hidden; }
.kp-drawer.is-open { visibility: visible; }
.kp-drawer__overlay {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, .45);
	opacity: 0;
	transition: opacity .25s;
}
.kp-drawer.is-open .kp-drawer__overlay { opacity: 1; }
.kp-drawer__panel {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	width: min(340px, 88vw);
	padding: 16px 20px 30px;
	background: #fff;
	overflow-y: auto;
	transform: translateX(-100%);
	transition: transform .28s ease;
	box-sizing: border-box;
}
.kp-drawer.is-open .kp-drawer__panel { transform: none; }
.kp-drawer__head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px; }
.kp-drawer__close { background: none; border: 0; padding: 6px; color: var(--kp-ink); cursor: pointer; }
.kp-drawer__close .kp-icon { width: 26px; height: 26px; }
.kp-drawer__label {
	margin: 18px 0 6px;
	color: var(--kp-muted);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}
.kp-drawer__cats,
.kp-drawer .kp-menu { list-style: none; margin: 0; padding: 0; }
.kp-drawer__cats > li,
.kp-drawer .kp-menu > li { border-bottom: 1px solid #e6e8eb; }
.kp-drawer__cats a,
.kp-drawer .kp-menu a {
	display: block;
	padding: 11px 0;
	color: var(--kp-ink);
	font-weight: 600;
	text-decoration: none;
}
.kp-drawer__cats ul { list-style: none; margin: -4px 0 8px; padding: 0 0 0 12px; }
.kp-drawer__cats ul a { padding: 6px 0; color: var(--kp-muted); font-weight: 500; font-size: 14px; }

/* ---------- Portada: banners de ancho completo ---------- */
.kp-hero {
	position: relative;
	overflow: hidden;
	margin-top: 24px;
	background: #0b2a4f;
}
.kp-hero__track { display: flex; transition: transform .6s ease; }
.kp-hero__slide { flex: 0 0 100%; min-width: 100%; }
.kp-hero__slide--img > a,
.kp-hero__slide--img picture { display: block; }
.kp-hero__slide--img img { display: block; width: 100%; height: auto; }

.kp-hero__slide--default {
	position: relative;
	height: clamp(320px, 33vw, 470px);
	background:
		linear-gradient(90deg, rgba(5, 32, 66, .94) 0%, rgba(5, 40, 82, .82) 42%, rgba(5, 50, 100, .25) 72%, rgba(5, 50, 100, .05) 100%),
		var(--kp-bg) center / cover no-repeat;
}
.kp-hero__inner {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
	align-items: center;
	gap: 30px;
	height: 100%;
	padding-left: 110px;
	padding-right: 110px;
}
.kp-hero__kicker {
	display: inline-block;
	margin-bottom: 16px;
	padding: 6px 14px;
	border: 1px solid rgba(255, 255, 255, .45);
	border-radius: 999px;
	color: #fff;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .06em;
	text-transform: uppercase;
}
.kp-hero__title {
	margin: 0 0 26px;
	color: #fff;
	font-size: clamp(28px, 3.1vw, 46px);
	font-weight: 400;
	line-height: 1.15;
}
.kp-hero__title strong { display: block; margin-top: 6px; color: #7cc4ff; font-weight: 700; font-size: .78em; }
.kp-hero__products {
	--kp-ph: calc(clamp(320px, 33vw, 470px) * .78);
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 18px;
	min-width: 0;
}
.kp-hero__products img {
	display: block;
	width: auto !important;
	height: auto !important;
	max-width: 46% !important;
	max-height: var(--kp-ph) !important;
	margin: 0 !important;
	object-fit: contain;
	filter: drop-shadow(0 18px 24px rgba(0, 0, 0, .45));
}
.kp-hero__products--3 img { max-width: 30% !important; max-height: calc(var(--kp-ph) * .9) !important; }
.kp-hero__products--3 img:nth-child(2) { max-height: var(--kp-ph) !important; }
.kp-hero__products--1 img { max-width: 92% !important; }

.kp-hero__arrow {
	position: absolute;
	top: 50%;
	width: 56px;
	height: 56px;
	margin-top: -28px;
	border: 0;
	border-radius: 50%;
	background: #fff;
	color: var(--kp-btn);
	display: grid;
	place-items: center;
	padding: 0;
	cursor: pointer;
	box-shadow: 0 4px 14px rgba(0, 0, 0, .22);
	transition: transform .2s;
}
.kp-hero__arrow .kp-icon { width: 24px; height: 24px; }
.kp-hero__arrow:hover { transform: scale(1.06); }
.kp-hero__arrow--prev { left: 50px; }
.kp-hero__arrow--next { right: 50px; }
.kp-hero__dots {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 16px;
	display: flex;
	justify-content: center;
	gap: 8px;
}
.kp-hero__dots button {
	width: 10px;
	height: 10px;
	padding: 0;
	border: 0;
	border-radius: 999px;
	background: rgba(255, 255, 255, .5);
	cursor: pointer;
	transition: width .25s, background .25s;
}
.kp-hero__dots button.is-active { width: 28px; background: #fff; }
.kp-hero.is-single .kp-hero__arrow,
.kp-hero.is-single .kp-hero__dots { display: none; }

/* Secciones */
.kp-home { padding-bottom: 30px; }
.kp-section { padding: 48px 0 0; }
.kp-section__title {
	margin: 0 0 30px;
	color: var(--kp-ink);
	font-size: clamp(24px, 2.4vw, 36px);
	font-weight: 600;
	line-height: 1.2;
}
.kp-section__title--center { text-align: center; }

/* Categorías */
.kp-catgrid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px 28px;
}
.kp-catcard {
	display: flex;
	align-items: center;
	gap: 16px;
	min-height: 122px;
	padding: 14px 18px;
	border: 1px solid var(--kp-line);
	border-radius: var(--kp-radius);
	background: #fff;
	text-decoration: none;
	transition: border-color .2s, box-shadow .2s;
	box-sizing: border-box;
}
.kp-catcard:hover { border-color: var(--kp-btn); box-shadow: var(--kp-shadow); }
.kp-catcard__img {
	display: grid;
	place-items: center;
	flex: none;
	width: 92px;
	height: 92px;
	color: var(--kp-btn);
}
.kp-catcard__img img { width: auto !important; height: auto !important; max-width: 92px !important; max-height: 92px !important; object-fit: contain; margin: 0 !important; }
.kp-catcard__img .kp-icon { width: 44px; height: 44px; }
.kp-catcard__name { color: var(--kp-ink); font-weight: 600; font-size: 15.5px; line-height: 1.3; }

/* Carrusel de productos */
.kp-shelf { position: relative; }
.kp-shelf .woocommerce { margin: 0; }
.kp-shelf ul.products {
	display: flex !important;
	flex-wrap: nowrap !important;
	gap: 30px !important;
	margin: 0 !important;
	padding: 4px 2px 10px !important;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	grid-template-columns: none !important;
}
.kp-shelf ul.products::-webkit-scrollbar { display: none; }
.kp-shelf ul.products::before,
.kp-shelf ul.products::after { display: none !important; }
.kp-shelf ul.products li.product {
	flex: 0 0 calc((100% - 90px) / 4) !important;
	width: auto !important;
	max-width: none !important;
	margin: 0 !important;
	scroll-snap-align: start;
}
.kp-shelf__arrow {
	position: absolute;
	top: 42%;
	z-index: 5;
	width: 46px;
	height: 46px;
	border: 0;
	border-radius: 50%;
	background: var(--kp-btn);
	color: #fff;
	display: grid;
	place-items: center;
	padding: 0;
	cursor: pointer;
	box-shadow: 0 4px 12px rgba(0, 0, 0, .18);
	transition: opacity .2s, background .2s;
}
.kp-shelf__arrow .kp-icon { width: 22px; height: 22px; }
.kp-shelf__arrow:hover { background: var(--kp-btn-dark); }
.kp-shelf__arrow:disabled { opacity: 0; pointer-events: none; }
.kp-shelf__arrow--prev { left: -28px; }
.kp-shelf__arrow--next { right: -28px; }
.kp-shelf.no-scroll .kp-shelf__arrow { display: none; }

/* Beneficios + marca */
.kp-promos {
	display: grid;
	grid-template-columns: minmax(0, 0.72fr) minmax(0, 1fr);
	gap: 28px;
}
.kp-promo { border-radius: 14px; overflow: hidden; }
.kp-promo--benefits {
	display: flex;
	align-items: center;
	padding: 34px 40px;
	background: linear-gradient(135deg, #eef3fc 0%, #dfe8f8 100%);
}
.kp-promo--benefits ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 18px; }
.kp-promo--benefits li {
	display: flex;
	align-items: center;
	gap: 14px;
	color: var(--kp-navy);
	font-size: clamp(16px, 1.5vw, 21px);
	font-weight: 600;
	line-height: 1.25;
}
.kp-promo--benefits .kp-icon {
	width: 44px;
	height: 44px;
	padding: 10px;
	border-radius: 12px;
	background: #fff;
	color: var(--kp-btn);
	box-sizing: border-box;
}
.kp-promo--brand { position: relative; display: block; background: #121212; min-height: 260px; }
.kp-promo--brand img { position: absolute; inset: 0; width: 100% !important; height: 100% !important; max-width: none !important; object-fit: cover; transition: transform .4s; }
.kp-promo--brand:hover img { transform: scale(1.03); }
.kp-promo__label {
	position: absolute;
	left: 26px;
	bottom: 24px;
	padding: 10px 22px;
	border-radius: 6px;
	background: var(--kp-btn);
	color: #fff;
	font-weight: 700;
	font-size: 18px;
	letter-spacing: .02em;
	text-transform: uppercase;
}

/* Bloque por categoría: banner ancho + 4 productos + Ver más */
.kp-catbanner {
	display: flex;
	align-items: center;
	gap: 24px;
	min-height: 240px;
	padding: 30px 70px;
	border-radius: 14px;
	background: linear-gradient(90deg, #f3f4f6 0%, #e8eaee 100%);
	text-decoration: none;
	box-sizing: border-box;
}
.kp-catbanner__text { display: flex; flex-direction: column; align-items: flex-start; gap: 22px; max-width: 560px; }
.kp-catbanner__text strong { color: var(--kp-navy); font-size: clamp(20px, 2.1vw, 30px); font-weight: 600; line-height: 1.25; }
.kp-catbanner__img { margin-left: auto; height: 200px; flex: none; }
.kp-catbanner__img img { height: 100% !important; width: auto !important; max-width: 420px !important; object-fit: contain; margin: 0 !important; mix-blend-mode: multiply; }
.kp-catbanner:hover .kp-btn { background: var(--kp-btn-dark); }

.kp-grid4 { margin-top: 36px; }
.kp-grid4 .woocommerce { margin: 0; }
.kp-grid4 ul.products {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	gap: 30px !important;
	margin: 0 !important;
	padding: 0 !important;
}
.kp-grid4 ul.products::before,
.kp-grid4 ul.products::after { display: none !important; }
.kp-grid4 ul.products li.product { width: auto !important; margin: 0 !important; max-width: none !important; }
.kp-more { display: flex; justify-content: center; margin-top: 36px; }

/* Marcas */
.kp-brands { padding-bottom: 20px; }
.kp-brands__row {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(170px, 1fr));
	gap: 18px;
}
.kp-brand {
	display: grid;
	place-items: center;
	height: 96px;
	padding: 16px;
	border: 1px solid var(--kp-line);
	border-radius: var(--kp-radius);
	background: #fff;
	color: var(--kp-ink);
	font-weight: 700;
	font-size: 18px;
	text-decoration: none;
	transition: border-color .2s, box-shadow .2s;
}
.kp-brand img { max-height: 60px !important; width: auto !important; margin: 0 !important; filter: grayscale(1); opacity: .75; transition: filter .2s, opacity .2s; }
.kp-brand:hover { border-color: var(--kp-btn); box-shadow: var(--kp-shadow); }
.kp-brand:hover img { filter: none; opacity: 1; }

/* ---------- Tarjetas de producto (portada, tienda y categorías) ---------- */
.woocommerce ul.products li.product,
ul.products li.product {
	position: relative;
	display: flex;
	flex-direction: column;
	padding: 16px 16px 18px;
	border: 1px solid var(--kp-line);
	border-radius: var(--kp-radius);
	background: #fff;
	box-shadow: none;
	text-align: left;
	transition: box-shadow .2s, border-color .2s;
	box-sizing: border-box;
}
ul.products li.product:hover { border-color: #aab7c6; box-shadow: var(--kp-shadow); }
ul.products li.product a img,
ul.products li.product .attachment-woocommerce_thumbnail {
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: contain;
	margin: 0 0 6px;
	background: #fff;
}
ul.products li.product .product-details,
ul.products li.product .entry-content-wrap {
	display: flex;
	flex-direction: column;
	flex: 1;
	padding: 0 !important;
	background: transparent !important;
}
.kp-card-brand {
	display: block;
	margin: 6px 0 10px;
	color: var(--kp-muted);
	font-size: 13px;
	font-weight: 500;
	letter-spacing: .02em;
	text-transform: uppercase;
}
ul.products li.product .woocommerce-loop-product__title {
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
	min-height: 3.9em;
	margin: 0 0 10px;
	padding: 0;
	color: var(--kp-ink);
	font-size: 14px !important;
	font-weight: 700;
	line-height: 1.3;
	text-transform: uppercase;
}
ul.products li.product .woocommerce-loop-product__title a { color: inherit; text-decoration: none; }
.kp-card-sku { display: block; margin: auto 0 10px; color: var(--kp-muted); font-size: 13px; }
ul.products li.product .price {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	margin: 0 0 14px;
	color: var(--kp-navy);
	font-size: 21px !important;
	font-weight: 700;
	line-height: 1.25;
}
ul.products li.product .price .woocommerce-price-suffix { order: -1; margin-bottom: 4px; color: var(--kp-text); font-size: 13px; font-weight: 400; }
ul.products li.product .price del { order: 0; color: var(--kp-muted); font-size: 13px; font-weight: 500; opacity: 1; }
ul.products li.product .price ins { order: 1; text-decoration: none; color: var(--kp-navy); }
ul.products li.product .product-action-wrap,
ul.products li.product .product-action-wrap * { opacity: 1 !important; visibility: visible !important; transform: none !important; }
ul.products li.product .button,
ul.products li.product a.button,
ul.products li.product .add_to_cart_button {
	display: flex !important;
	align-items: center;
	justify-content: center;
	gap: 6px;
	width: 100%;
	margin: 0 !important;
	padding: 11px 14px !important;
	border: 0 !important;
	border-radius: 8px !important;
	background: var(--kp-btn) !important;
	color: #fff !important;
	font-family: var(--kp-font);
	font-size: 16px !important;
	font-weight: 600 !important;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	box-sizing: border-box;
	box-shadow: none !important;
	transition: background .2s;
}
ul.products li.product .button:hover { background: var(--kp-btn-dark) !important; }
ul.products li.product .added_to_cart {
	display: block;
	margin-top: 8px;
	color: var(--kp-btn);
	font-size: 13px;
	font-weight: 600;
	text-align: center;
}
ul.products li.product .onsale,
.woocommerce span.onsale {
	position: absolute;
	z-index: 2;
	top: 16px;
	left: 16px;
	right: auto;
	width: auto;
	height: auto;
	min-height: 0;
	min-width: 0;
	margin: 0;
	padding: 6px 14px;
	border-radius: 999px;
	background: #ffc72c;
	color: #1f1f1f;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.3;
}
ul.products li.product .star-rating { display: none; }

/* Productos sin precio */
.kp-ask-price { color: var(--kp-navy); font-size: 17px; font-weight: 700; }
ul.products li.product .button.kp-quote { background: #fff !important; color: var(--kp-btn) !important; box-shadow: inset 0 0 0 1.5px var(--kp-btn) !important; }
ul.products li.product .button.kp-quote:hover { background: var(--kp-btn) !important; color: #fff !important; }
.kp-quote .kp-icon,
.kp-quote-single .kp-icon { width: 18px; height: 18px; }
.kp-quote-single { margin: 6px 0 18px; padding: 14px 26px; background: #25d366; font-size: 16px; }
.kp-quote-single:hover { background: #1ebe5b; }

/* Botones de WooCommerce en el resto de la tienda */
.woocommerce .single_add_to_cart_button,
.woocommerce .checkout-button,
.woocommerce #place_order {
	border-radius: 8px !important;
	background: var(--kp-btn) !important;
	font-weight: 600 !important;
}
.woocommerce .single_add_to_cart_button:hover,
.woocommerce .checkout-button:hover,
.woocommerce #place_order:hover { background: var(--kp-btn-dark) !important; }
.single-product .product .price { color: var(--kp-navy); font-weight: 700; }

/* Ficha técnica */
.kp-specs { width: 100%; max-width: 760px; margin: 0 0 18px; border-collapse: collapse; font-size: 15px; }
.kp-specs th,
.kp-specs td { padding: 10px 14px; border: 1px solid #e1e4e8; text-align: left; vertical-align: top; }
.kp-specs th { width: 40%; background: #f6f7f9; color: var(--kp-ink); font-weight: 600; }
.kp-datasheet { display: inline-flex; align-items: center; gap: 6px; font-weight: 700; color: var(--kp-btn); }

/* ---------- Pie de página ---------- */
.kp-footer {
	margin-top: 60px;
	background: #2d2d2d;
	color: #fff;
	font-size: 15px;
}
.kp-footer a { color: #fff; text-decoration: none; }
.kp-footer a:hover { color: #9fd0f8; }
.kp-footer__cols {
	display: grid;
	grid-template-columns: 1.25fr 1fr 1.25fr;
	gap: 40px;
	padding-top: 56px;
	padding-bottom: 34px;
}
.kp-footer__title { margin: 0 0 18px; color: #fff; font-size: 16px; font-weight: 700; }
.kp-footer__title--small { margin-top: 28px; margin-bottom: 14px; }
.kp-footer__list { list-style: none; margin: 0; padding: 0; }
.kp-footer__list li { margin: 0 0 10px; line-height: 1.45; }
.kp-footer__contact li { display: flex; align-items: flex-start; gap: 12px; }
.kp-footer__contact .kp-icon { width: 20px; height: 20px; margin-top: 1px; }

.kp-social { display: flex; gap: 12px; }
.kp-social a {
	display: grid;
	place-items: center;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: #fff;
	color: #2d2d2d;
	transition: background .2s;
}
.kp-social a:hover { background: #9fd0f8; color: #2d2d2d; }
.kp-social .kp-icon { width: 20px; height: 20px; }

.kp-reclamo {
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	gap: 2px;
	margin-top: 26px;
	padding: 16px 30px 14px;
	border: 1.5px solid #fff;
	border-radius: 10px;
	text-align: center;
}
.kp-reclamo span { font-size: 12px; letter-spacing: .04em; text-transform: uppercase; }
.kp-reclamo strong { font-size: 15px; letter-spacing: .03em; text-transform: uppercase; }
.kp-reclamo svg { width: 70px; height: 34px; margin-top: 8px; }

.kp-pays { display: flex; flex-wrap: wrap; gap: 8px; }
.kp-pay {
	padding: 6px 10px;
	border: 1px solid rgba(255, 255, 255, .55);
	border-radius: 5px;
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .02em;
}
.kp-footer__izipay { display: flex; align-items: center; gap: 8px; margin: 14px 0 0; font-size: 14px; }
.kp-footer__izipay .kp-icon { width: 18px; height: 18px; }

.kp-footer__bottom {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 6px 30px;
	padding-top: 22px;
	padding-bottom: 26px;
	border-top: 1px solid rgba(255, 255, 255, .25);
	color: #e6e6e6;
	font-size: 14px;
	text-align: center;
}

/* Botón flotante de WhatsApp */
.kp-wa-float {
	position: fixed;
	right: 20px;
	bottom: 20px;
	z-index: 9990;
	display: grid;
	place-items: center;
	width: 60px;
	height: 60px;
	border-radius: 50%;
	background: #25d366;
	color: #fff;
	box-shadow: 0 8px 24px rgba(0, 0, 0, .22);
	transition: transform .2s;
}
.kp-wa-float:hover { color: #fff; transform: scale(1.07); }
.kp-wa-float .kp-icon { width: 32px; height: 32px; }

/* ---------- Tablet ---------- */
@media (max-width: 1180px) {
	.kp-header__main { gap: 14px; }
	.kp-logo img.kp-logo__img { height: 50px !important; max-width: 190px !important; }
	.kp-cats__btn { padding: 0 16px; }
	.kp-hero__inner { padding-left: 90px; padding-right: 90px; }
	.kp-catgrid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.kp-shelf ul.products li.product { flex-basis: calc((100% - 60px) / 3) !important; }
	.kp-grid4 ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 20px !important; }
	.kp-footer__cols { grid-template-columns: 1fr 1fr; }
}

/* ---------- Celular ---------- */
@media (max-width: 900px) {
	.admin-bar .kp-header { top: 0; }
	.kp-container { padding: 0 16px; }
	.kp-header { box-shadow: 0 3px 10px rgba(0, 0, 0, .08); }
	.kp-header__main {
		flex-wrap: wrap;
		gap: 10px 12px;
		min-height: 0;
		padding-top: 10px;
		padding-bottom: 12px;
	}
	.kp-burger { display: inline-flex; }
	.kp-logo { margin-right: auto; }
	.kp-logo img.kp-logo__img { height: 40px !important; max-width: 150px !important; }
	.kp-cats { display: none; }
	.kp-search { order: 5; flex: 0 0 100%; height: 46px; }
	.kp-search input[type="search"] { padding: 0 14px; font-size: 15px; }
	.kp-search button { width: 56px; }
	.kp-actions { gap: 12px; }
	.kp-action { font-size: 11px; }
	.kp-action .kp-icon { width: 24px; height: 24px; }
	.kp-nav { display: none; }

	.kp-hero { margin-top: 0; }
	.kp-hero__slide--default {
		height: 430px;
		background:
			linear-gradient(180deg, rgba(5, 32, 66, .92) 0%, rgba(5, 40, 82, .80) 50%, rgba(5, 50, 100, .35) 100%),
			var(--kp-bg) center / cover no-repeat;
	}
	.kp-hero__inner {
		grid-template-columns: 1fr;
		grid-template-rows: auto 1fr;
		gap: 10px;
		padding: 30px 22px 40px;
	}
	.kp-hero__title { margin-bottom: 18px; font-size: 26px; }
	.kp-hero__kicker { margin-bottom: 12px; }
	.kp-hero__products { --kp-ph: 190px; align-items: flex-end; }
	.kp-hero__arrow { width: 38px; height: 38px; margin-top: -19px; }
	.kp-hero__arrow .kp-icon { width: 18px; height: 18px; }
	.kp-hero__arrow--prev { left: 8px; }
	.kp-hero__arrow--next { right: 8px; }
	.kp-hero__arrow { top: auto; bottom: 18px; margin-top: 0; }
	.kp-hero__dots { bottom: 30px; }

	.kp-section { padding-top: 34px; }
	.kp-section__title { margin-bottom: 20px; }
	.kp-catgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
	.kp-catcard { min-height: 84px; padding: 10px 12px; gap: 10px; }
	.kp-catcard__img { width: 58px; height: 58px; }
	.kp-catcard__img img { max-width: 58px !important; max-height: 58px !important; }
	.kp-catcard__name { font-size: 13px; hyphens: auto; overflow-wrap: anywhere; }
	ul.products li.product .woocommerce-loop-product__title { hyphens: auto; overflow-wrap: anywhere; }

	.kp-shelf ul.products { gap: 12px !important; }
	.kp-shelf ul.products li.product { flex-basis: calc((100% - 12px) / 2) !important; }
	.kp-shelf__arrow { display: none; }

	.kp-promos { grid-template-columns: 1fr; gap: 16px; }
	.kp-promo--benefits { padding: 24px 22px; }
	.kp-promo--benefits .kp-icon { width: 38px; height: 38px; padding: 8px; }
	.kp-promo--brand { min-height: 0; aspect-ratio: 971 / 490; }
	.kp-promo__label { left: 14px; bottom: 14px; padding: 7px 14px; font-size: 14px; }

	.kp-catbanner { flex-direction: column-reverse; align-items: flex-start; min-height: 0; padding: 22px; gap: 14px; }
	.kp-catbanner__img { margin: 0 auto; height: 130px; }
	.kp-catbanner__text { gap: 14px; }
	.kp-grid4 { margin-top: 18px; }
	.kp-grid4 ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 12px !important; }
	.kp-more { margin-top: 22px; }
	.kp-btn--outline { padding: 13px 50px; }

	.kp-footer__cols { grid-template-columns: 1fr; gap: 28px; padding-top: 40px; }
	.kp-wa-float { right: 14px; bottom: 14px; width: 54px; height: 54px; }
}

@media (max-width: 480px) {
	ul.products li.product { padding: 10px 10px 12px; }
	ul.products li.product .woocommerce-loop-product__title { font-size: 12.5px !important; }
	ul.products li.product .price { font-size: 17px !important; }
	ul.products li.product .button { font-size: 14px !important; padding: 10px !important; }
	.kp-card-brand { font-size: 11.5px; margin-bottom: 6px; }
}
