/* ==========================================================================
   Pro Kennex Bolivia — sistema de diseño global (child theme)
   Cómo se usa: las clases .pkb-* se pegan en Elementor > Avanzado > Clases CSS
   del contenedor/widget. Colores y fuentes también se cargan en
   Elementor > Ajustes del sitio > Colores/Tipografías globales (ver LEEME).
   ========================================================================== */

:root{
	--pkb-black:#0b0b0c;
	--pkb-ink:#141416;
	--pkb-white:#fafaf8;
	--pkb-paper:#f2f1ee;
	--pkb-grey:#8a8a86;
	--pkb-line:rgba(255,255,255,.14);
	--pkb-line-dark:rgba(0,0,0,.1);
	--pkb-accent:#e2241b;
	--pkb-accent-dark:#c11d15;
	--pkb-wa:#25D366;
	--pkb-font:'Barlow', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
	--pkb-font-display:'Barlow Condensed', 'Barlow', 'Arial Narrow', system-ui, sans-serif;
	--pkb-gutter:clamp(20px, 5vw, 40px);
	--pkb-section-pad:clamp(72px, 10vw, 128px);
}

body{
	font-family:var(--pkb-font);
	background:var(--pkb-white);
	color:var(--pkb-black);
	-webkit-font-smoothing:antialiased;
	text-rendering:optimizeLegibility;
}

/* ---------- Títulos tipo "display" ---------- */
.pkb-display,
.pkb-display .elementor-heading-title{
	font-family:var(--pkb-font-display);
	font-weight:700;
	line-height:.94;
	letter-spacing:-.015em;
	text-transform:uppercase;
	text-wrap:balance;
}
.pkb-italic,
.pkb-italic .elementor-heading-title{font-style:italic;}

/* Texto con contorno (títulos del hero y números de tecnología) */
@supports ((-webkit-text-stroke:1px #fff) or (text-stroke:1px #fff)){
	@media (min-width:760px){
		.pkb-stroke{color:transparent !important; -webkit-text-stroke:1.5px rgba(255,255,255,.92);}
	}
	.pkb-tech-num,
	.pkb-tech-num .elementor-heading-title{
		color:transparent !important;
		-webkit-text-stroke:1.4px rgba(255,255,255,.42);
	}
}
.pkb-tech-num,
.pkb-tech-num .elementor-heading-title{
	font-family:var(--pkb-font-display); font-weight:700; font-style:italic;
	font-size:clamp(40px,6vw,84px); line-height:.8; letter-spacing:-.03em;
	color:rgba(255,255,255,.34);
}

/* Eyebrow: etiqueta chica con línea */
.pkb-eyebrow,
.pkb-eyebrow .elementor-heading-title{
	display:inline-flex; align-items:flex-start; gap:12px;
	font-family:var(--pkb-font); font-size:clamp(10px,1.1vw,12px); letter-spacing:.28em;
	text-transform:uppercase; color:var(--pkb-accent); font-weight:700;
}
.pkb-eyebrow::before{content:''; width:26px; height:2px; margin-top:.6em; background:currentColor; flex:none;}

/* ---------- Botones ---------- */
.pkb-btn .elementor-button,
a.pkb-btn,
button.pkb-btn{
	display:inline-flex; align-items:center; justify-content:center; gap:8px;
	padding:16px 28px; font-family:var(--pkb-font); font-size:12px; letter-spacing:.16em;
	text-transform:uppercase; font-weight:700; border-radius:999px;
	border:1px solid transparent; transition:all .25s ease; white-space:nowrap; cursor:pointer;
}
.pkb-btn--primary .elementor-button,
a.pkb-btn--primary{background:var(--pkb-accent); color:#fff;}
.pkb-btn--primary .elementor-button:hover,
a.pkb-btn--primary:hover{background:var(--pkb-accent-dark); color:#fff; transform:translateY(-2px);}
.pkb-btn--light .elementor-button,
a.pkb-btn--light{background:#fff; color:var(--pkb-black);}
.pkb-btn--light .elementor-button:hover,
a.pkb-btn--light:hover{background:var(--pkb-accent); color:#fff; transform:translateY(-2px);}
.pkb-btn--outline .elementor-button,
a.pkb-btn--outline{background:transparent; border-color:currentColor;}
.pkb-btn--outline .elementor-button:hover,
a.pkb-btn--outline:hover{background:var(--pkb-black); color:#fff; border-color:var(--pkb-black);}

/* ---------- Header ---------- */
.pkb-header{transition:background .35s ease, padding .35s ease, box-shadow .35s ease;}
.pkb-header.pkb-scrolled{
	background:rgba(11,11,12,.94) !important;
	-webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px);
	box-shadow:0 10px 30px rgba(0,0,0,.28);
}
.pkb-logo-badge{display:inline-flex; align-items:center; flex:none; background:#fff; border-radius:8px; padding:12px 20px; box-shadow:0 6px 20px rgba(0,0,0,.25);}
/* El archivo es 2x (312x56): se muestra a 156x28 para que quede nítido. */
.pkb-logo-badge img{display:block; height:28px; width:auto; max-width:none; flex:none;}
@media (max-width:767px){
	.pkb-logo-badge{padding:10px 14px;}
	.pkb-logo-badge img{height:22px;}
}
.pkb-nav .elementor-item{font-size:12px !important; letter-spacing:.14em; text-transform:uppercase; font-weight:600;}

/* Pastillas (selector de deporte del hero y filtros por categoría) */
.pkb-pills{display:inline-flex; flex-wrap:wrap; gap:4px; padding:4px; border:1px solid var(--pkb-line); border-radius:999px; background:rgba(255,255,255,.06); -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px);}
.pkb-pills a{padding:11px 22px; border-radius:999px; color:#fff; font-size:11px; letter-spacing:.14em; text-transform:uppercase; font-weight:700; opacity:.7; transition:all .25s;}
.pkb-pills a:hover{opacity:1;}
.pkb-pills a.is-active{background:#fff; color:var(--pkb-black); opacity:1;}

/* ---------- Secciones ---------- */
.pkb-section-dark{background:var(--pkb-black); color:#fff;}
.pkb-section-paper{background:var(--pkb-paper);}
.pkb-lead{font-size:clamp(15px,1.5vw,18px); line-height:1.62; color:rgba(255,255,255,.8); max-width:46ch;}

/* Animación de entrada (solo si <html> tiene .js-anim; ver functions.php) */
/* Se usa @keyframes (no transition) para no pisar los hover de las tarjetas, que también usan transform. */
@keyframes pkbUp{from{opacity:0; transform:translateY(34px);} to{opacity:1; transform:none;}}
@keyframes pkbDown{from{opacity:0; transform:translateY(-18px);} to{opacity:1; transform:none;}}
.js-anim .pkb-reveal{opacity:0;}
.js-anim .pkb-reveal.in{opacity:1; animation:pkbUp .85s cubic-bezier(.2,.7,.2,1) backwards;}
.js-anim .pkb-reveal.pkb-d1.in{animation-delay:.1s;}
.js-anim .pkb-reveal.pkb-d2.in{animation-delay:.2s;}
.js-anim .pkb-reveal.pkb-d3.in{animation-delay:.3s;}

/* Entrada escalonada del hero al cargar la página */
.js-anim .pkb-hero .pkb-in{opacity:0; animation:pkbUp .95s cubic-bezier(.2,.7,.2,1) both;}
.js-anim .pkb-hero .pkb-in-1{animation-delay:.15s;}
.js-anim .pkb-hero .pkb-in-2{animation-delay:.3s;}
.js-anim .pkb-hero .pkb-in-3{animation-delay:.5s;}
.js-anim .pkb-hero .pkb-in-4{animation-delay:.65s;}
.js-anim .pkb-hero .pkb-in-5{animation-delay:.8s;}
/* Header: baja suave al cargar */
.js-anim .pkb-header{animation:pkbDown .8s cubic-bezier(.2,.7,.2,1) backwards;}
@media (prefers-reduced-motion:reduce){
	.pkb-reveal,.js-anim .pkb-reveal,.js-anim .pkb-hero .pkb-in,.js-anim .pkb-header{opacity:1; animation:none;}
}

/* Tarjetas de equipo y novedades */
.pkb-team-card,.pkb-news-card{position:relative; overflow:hidden; border-radius:6px; transition:transform .4s cubic-bezier(.2,.7,.2,1), box-shadow .4s ease;}
.pkb-team-card:hover,.pkb-news-card:hover{transform:translateY(-6px); box-shadow:0 22px 40px -18px rgba(0,0,0,.5);}

/* Foto de fondo con zoom al pasar el mouse. La imagen va en ::after (z-index -1) para poder escalarla sin mover el texto;
   el degradé oscuro de Elementor (::before) y el texto quedan por encima. Rutas relativas: sirven igual al cambiar de dominio. */
.pkb-photo{position:relative; overflow:hidden; isolation:isolate;}
.pkb-photo::after{content:''; position:absolute; inset:0; z-index:-1; background:var(--pkb-img) center/cover no-repeat; transform:scale(1); transition:transform .9s cubic-bezier(.2,.7,.2,1), filter .5s ease;}
.pkb-photo:hover::after{transform:scale(1.08);}
.pkb-team-card::after{filter:grayscale(35%);}
.pkb-team-card:hover::after{filter:grayscale(0);}
.pkb-photo--angelica-barrios{--pkb-img:url(/wp-content/uploads/2026/10/angelica-barrios.jpg);}
.pkb-photo--kadim-carrasco{--pkb-img:url(/wp-content/uploads/2026/10/kadim-carrasco.jpg);}
.pkb-photo--carlos-keller{--pkb-img:url(/wp-content/uploads/2026/10/carlos-keller.jpg);}
.pkb-photo--news-technology{--pkb-img:url(/wp-content/uploads/2026/10/news-technology.jpg);}
.pkb-photo--news-bags{--pkb-img:url(/wp-content/uploads/2026/10/news-bags.jpg);}
.pkb-photo--news-wholesale{--pkb-img:url(/wp-content/uploads/2026/10/news-wholesale.jpg);}
@media (prefers-reduced-motion:reduce){.pkb-photo::after{transition:none;} .pkb-photo:hover::after{transform:none;}}

/* ==========================================================================
   WooCommerce — catálogo
   ========================================================================== */
.woocommerce ul.products{display:flex; flex-wrap:wrap; gap:1px; margin:0; padding:0;}
.woocommerce ul.products li.product{
	flex:1 1 260px; max-width:400px; margin:0 !important; width:auto !important;
	background:#fff; box-shadow:0 0 0 1px var(--pkb-line-dark);
	display:flex; flex-direction:column; overflow:hidden; position:relative;
	transition:transform .4s cubic-bezier(.2,.7,.2,1), box-shadow .4s ease;
}
.woocommerce ul.products li.product:hover{transform:translateY(-6px); box-shadow:0 0 0 1px var(--pkb-line-dark), 0 20px 36px -16px rgba(0,0,0,.3); z-index:2;}
.woocommerce ul.products li.product img{aspect-ratio:1/1.1; object-fit:cover; width:100%; margin:0; transition:transform .6s ease;}
.woocommerce ul.products li.product:hover img{transform:scale(1.07);}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
	font-family:var(--pkb-font-display); font-weight:600; text-transform:uppercase;
	font-size:clamp(18px,1.5vw,21px); line-height:.98; letter-spacing:-.01em; padding:22px 20px 0;
}
.woocommerce ul.products li.product .price{
	font-family:var(--pkb-font-display); font-weight:700; font-style:italic; font-size:19px;
	color:var(--pkb-black); padding:12px 20px 0; display:block;
}
.woocommerce ul.products li.product .price del{color:var(--pkb-grey); font-weight:500; font-size:14px;}
.woocommerce ul.products li.product .price ins{text-decoration:none;}
.woocommerce ul.products li.product .onsale,
.woocommerce span.onsale{
	position:absolute; top:14px; left:14px; right:auto; margin:0; min-height:0; min-width:0; line-height:1;
	background:var(--pkb-accent); color:#fff; font-size:10px; letter-spacing:.08em; text-transform:uppercase;
	padding:6px 10px; border-radius:3px; font-weight:700;
}
.woocommerce ul.products li.product .button,
.woocommerce a.button.add_to_cart_button{
	margin:14px 20px 22px; display:flex; align-items:center; justify-content:center;
	background:var(--pkb-black); color:#fff; padding:13px 14px; border-radius:999px;
	font-family:var(--pkb-font); font-size:11px; letter-spacing:.1em; text-transform:uppercase; font-weight:700;
	transition:all .25s;
}
.woocommerce ul.products li.product .button:hover{background:var(--pkb-accent); color:#fff;}
.woocommerce ul.products li.product .button.added{background:#4c8f52;}
.woocommerce ul.products li.product .added_to_cart{display:none;} /* el carrito lateral ya se abre solo */
.woocommerce ul.products li.product .stock{margin:6px 20px 0; font-size:11px; font-weight:600; color:#4c8f52;}
.woocommerce ul.products li.product.outofstock .button{background:var(--pkb-grey);}

@media (max-width:900px){.woocommerce ul.products li.product{flex:0 1 calc(50% - 1px); max-width:none;}}
@media (max-width:600px){.woocommerce ul.products li.product{flex-basis:100%;}}

/* ==========================================================================
   Carrito lateral — Elementor Pro > widget "Carrito del menú" (Menu Cart), tipo "Carrito lateral".
   La mayor parte se configura en el panel de estilo del widget; esto solo afina marca.
   Si Elementor cambia clases en una versión nueva, inspeccionar y ajustar los selectores.
   ========================================================================== */
.elementor-menu-cart__toggle_button{border-radius:50%;}
.elementor-menu-cart__main{font-family:var(--pkb-font);}
.elementor-menu-cart__close-button{opacity:.8; transition:opacity .2s;}
.elementor-menu-cart__close-button:hover{opacity:1;}
.elementor-menu-cart__product-name a{font-weight:600; font-size:13.5px;}
.elementor-menu-cart__subtotal{font-family:var(--pkb-font-display); font-weight:700; font-style:italic; font-size:22px;}
.elementor-menu-cart__footer-buttons .elementor-button{
	border-radius:999px; font-family:var(--pkb-font); font-size:12px; letter-spacing:.16em; text-transform:uppercase; font-weight:700;
}
.elementor-menu-cart__footer-buttons .elementor-button--checkout{background:var(--pkb-accent); color:#fff;}
.elementor-menu-cart__footer-buttons .elementor-button--checkout:hover{background:var(--pkb-accent-dark);}

/* ==========================================================================
   Checkout con pago por QR
   ========================================================================== */
.woocommerce-checkout #payment{background:#fff; border-radius:10px; box-shadow:0 4px 24px rgba(0,0,0,.05);}
.woocommerce-checkout #payment ul.payment_methods{border-bottom:1px solid #eee; padding:20px;}
.woocommerce-checkout #payment div.payment_box{background:var(--pkb-paper); color:#3a3a38; border-radius:8px;}
.woocommerce-checkout #payment div.payment_box::before{display:none;}
.woocommerce-checkout #place_order{
	width:100%; background:var(--pkb-accent); color:#fff; border-radius:999px; padding:18px;
	font-family:var(--pkb-font); font-size:12px; letter-spacing:.16em; text-transform:uppercase; font-weight:700;
}
.woocommerce-checkout #place_order:hover{background:var(--pkb-accent-dark);}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select{border:1px solid #e2e0da; border-radius:6px; padding:12px 14px; background:#fbfbfa; font-family:var(--pkb-font);}
.woocommerce form .form-row label{font-size:11px; text-transform:uppercase; letter-spacing:.06em; color:var(--pkb-grey); font-weight:700;}

/* Bloque del QR (se pega en las "Instrucciones" del método de pago; ver LEEME) */
.pkb-qr{text-align:center; padding:22px; border:1px dashed #d8d6d0; border-radius:10px; background:#fbfbfa;}
.pkb-qr img{width:180px; height:180px; object-fit:contain; margin:0 auto 14px; border-radius:8px; background:#fff; border:1px solid #eee;}
.pkb-qr .pkb-qr-alias{font-size:15px; font-weight:700; letter-spacing:.03em;}
.pkb-qr .pkb-qr-titular{font-size:12px; color:var(--pkb-grey);}

/* Página de "pedido recibido" */
.pkb-order-confirm{margin:28px 0; text-align:center;}
.pkb-status-pill{display:inline-flex; align-items:center; gap:6px; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; background:#fff3cd; color:#8a6d00; padding:6px 12px; border-radius:999px;}
.pkb-status-pill::before{content:''; width:6px; height:6px; border-radius:50%; background:#8a6d00;}
.pkb-wa-confirm{
	display:flex; align-items:center; justify-content:center; gap:10px; margin:18px auto 0; max-width:420px;
	background:var(--pkb-wa); color:#fff !important; padding:16px 22px; border-radius:999px;
	font-weight:700; letter-spacing:.06em; text-transform:uppercase; font-size:13px; transition:all .2s;
}
.pkb-wa-confirm:hover{transform:translateY(-2px); box-shadow:0 12px 30px rgba(37,211,102,.3);}
.pkb-order-note{margin-top:14px; font-size:12px; color:var(--pkb-grey); line-height:1.6;}

/* Botón flotante/CTA de WhatsApp */
.pkb-wa-btn{display:inline-flex; align-items:center; gap:12px; background:var(--pkb-wa); color:#fff; padding:19px 36px; border-radius:999px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; font-size:clamp(12px,1.4vw,14px); transition:transform .25s ease, box-shadow .25s ease;}
.pkb-wa-btn:hover{transform:translateY(-3px) scale(1.02); box-shadow:0 16px 40px rgba(37,211,102,.35); color:#fff;}

/* ==========================================================================
   Base de marca sobre Hello Elementor + WooCommerce
   Cubre las páginas que todavía no tienen plantilla de Elementor (producto, carrito, checkout,
   header/footer por defecto). Cuando una plantilla de Elementor las reemplaza, estas reglas
   quedan sin efecto en esa zona.
   ========================================================================== */
a{color:var(--pkb-accent); text-decoration:none;}
a:hover{color:var(--pkb-accent-dark);}

/* Header y footer por defecto del tema (se reemplazan al armar el Header/Footer en Theme Builder) */
.site-header{background:var(--pkb-black); padding:18px var(--pkb-gutter);}
.site-header .site-title,
.site-header .site-title a{color:#fff !important; font-family:var(--pkb-font-display); font-weight:700; text-transform:uppercase; letter-spacing:.02em; font-size:24px; margin:0;}
.site-header .site-navigation a,
.site-header .site-navigation-toggle-holder a{color:#fff; text-transform:uppercase; font-size:12px; letter-spacing:.14em; font-weight:600;}
.site-header .site-navigation a:hover{color:var(--pkb-accent);}
.site-footer{background:var(--pkb-black); color:rgba(255,255,255,.7); padding:32px var(--pkb-gutter); margin-top:64px;}
.site-footer a{color:#fff;}

/* Ancho y títulos de las páginas de la tienda */
body.woocommerce-page .site-main{max-width:1280px; margin-inline:auto; padding:32px var(--pkb-gutter) 64px;}
.woocommerce-page h1,
.woocommerce-page h2,
.woocommerce-page h3{font-family:var(--pkb-font-display); color:var(--pkb-black); text-transform:uppercase; letter-spacing:-.01em; line-height:1;}
.woocommerce-page .page-header .entry-title,
.woocommerce-page .woocommerce-products-header__title{font-size:clamp(36px,5vw,64px); font-weight:700;}
.woocommerce-breadcrumb,
.woocommerce-breadcrumb a{font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--pkb-grey);}
.woocommerce-breadcrumb a:hover{color:var(--pkb-accent);}

/* Botones de WooCommerce (reemplazan el violeta y el rosa por defecto) */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt{
	background:var(--pkb-black); color:#fff; border:1px solid var(--pkb-black); border-radius:999px; padding:14px 26px;
	font-family:var(--pkb-font); font-size:12px; letter-spacing:.14em; text-transform:uppercase; font-weight:700; line-height:1.2;
	transition:all .25s ease;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover{background:var(--pkb-accent); border-color:var(--pkb-accent); color:#fff;}
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce button.single_add_to_cart_button{background:var(--pkb-accent); border-color:var(--pkb-accent); color:#fff;}
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover,
.woocommerce button.single_add_to_cart_button:hover{background:var(--pkb-accent-dark); border-color:var(--pkb-accent-dark); color:#fff;}
.woocommerce button.button.disabled,
.woocommerce button.button:disabled,
.woocommerce button.button:disabled[disabled]{opacity:.4; cursor:not-allowed;}

/* Ficha de producto */
.woocommerce div.product .product_title{font-family:var(--pkb-font-display); font-weight:700; text-transform:uppercase; font-size:clamp(34px,4.4vw,58px); line-height:.96; letter-spacing:-.015em; margin-bottom:.25em;}
.woocommerce div.product p.price,
.woocommerce div.product span.price{color:var(--pkb-black); font-family:var(--pkb-font-display); font-weight:700; font-style:italic; font-size:clamp(26px,3vw,34px);}
.woocommerce div.product .woocommerce-product-details__short-description{color:#3a3a38; font-size:16px; line-height:1.6; margin-bottom:1.4em;}
.woocommerce div.product p.stock{color:#4c8f52; font-weight:600; font-size:13px;}
.woocommerce div.product p.stock.out-of-stock{color:var(--pkb-accent);}
.woocommerce div.product .product_meta{font-size:12px; color:var(--pkb-grey); margin-top:1.6em; padding-top:1em; border-top:1px solid var(--pkb-line-dark);}
.woocommerce div.product .product_meta > span{display:block; margin-bottom:4px;}

/* Variaciones (grip, talla, color, mano) */
.woocommerce div.product form.cart .variations{width:100%; margin-bottom:1em; border:0;}
.woocommerce div.product form.cart .variations tr{background:none;}
.woocommerce div.product form.cart .variations th,
.woocommerce div.product form.cart .variations td{display:block; padding:6px 0; text-align:left; background:none; border:0;}
.woocommerce div.product form.cart .variations label{font-size:11px; text-transform:uppercase; letter-spacing:.1em; font-weight:700; color:var(--pkb-grey);}
.woocommerce div.product form.cart .variations select{width:100%; padding:13px 14px; border:1px solid #e2e0da; border-radius:6px; background:#fff; font-family:var(--pkb-font); font-size:15px;}
.woocommerce div.product form.cart .reset_variations{font-size:12px; color:var(--pkb-grey);}
.woocommerce div.product form.cart .woocommerce-variation-add-to-cart,
.woocommerce div.product form.cart:not(.variations_form){display:flex; gap:12px; align-items:stretch;}
.woocommerce div.product form.cart div.quantity .qty{width:76px; height:100%; min-height:48px; border:1px solid #e2e0da; border-radius:6px; text-align:center; font-weight:600; background:#fff;}

/* Pestañas de la ficha */
.woocommerce div.product .woocommerce-tabs ul.tabs{padding:0; margin:0 0 1.6em; border-bottom:1px solid var(--pkb-line-dark);}
.woocommerce div.product .woocommerce-tabs ul.tabs::before{border:0;}
.woocommerce div.product .woocommerce-tabs ul.tabs li{background:none; border:0; border-radius:0; margin:0 28px 0 0; padding:0;}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after{display:none;}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{padding:12px 0; font-size:12px; letter-spacing:.14em; text-transform:uppercase; font-weight:700; color:var(--pkb-grey);}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{background:none;}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--pkb-black); box-shadow:inset 0 -2px 0 var(--pkb-accent);}
.woocommerce div.product .woocommerce-Tabs-panel > h2:first-child{display:none;}
.woocommerce div.product .woocommerce-Tabs-panel{max-width:78ch;}
.woocommerce div.product .woocommerce-Tabs-panel ul{list-style:disc; padding-left:1.2em;}
.woocommerce div.product .woocommerce-Tabs-panel h3{font-size:22px; margin:1.4em 0 .5em;}
.woocommerce .related.products > h2,
.woocommerce .upsells.products > h2{font-size:clamp(26px,3vw,36px); margin:2em 0 .7em;}

/* Avisos, tablas del carrito y listados */
.woocommerce .woocommerce-message,
.woocommerce .woocommerce-info{border-top-color:var(--pkb-accent); background:var(--pkb-paper);}
.woocommerce .woocommerce-message::before,
.woocommerce .woocommerce-info::before{color:var(--pkb-accent);}
.woocommerce table.shop_table{background:#fff; border:1px solid var(--pkb-line-dark); border-radius:10px; border-collapse:separate; overflow:hidden;}
.woocommerce table.shop_table th,
.woocommerce table.shop_table td{background:transparent; border-color:var(--pkb-line-dark);}
.woocommerce table.shop_table th{font-size:11px; text-transform:uppercase; letter-spacing:.08em; color:var(--pkb-grey);}
.woocommerce .woocommerce-ordering select,
.woocommerce .quantity .qty{font-family:var(--pkb-font);}
.woocommerce .woocommerce-result-count{font-size:12px; color:var(--pkb-grey);}

/* ==========================================================================
   Plantillas de Elementor: header, home y footer (pkb-elementor/*.json)
   ========================================================================== */
.pkb-logo-link{display:inline-flex; align-items:center; gap:16px; flex:none;}
.pkb-logo-link:hover{color:inherit;}
.pkb-header .elementor-widget-html{flex:none; width:auto;}

/* CTA "Consultar" del header: rojo + pelotita que rebota al pasar el mouse */
.pkb-nav-cta{display:inline-flex; align-items:center; background:var(--pkb-accent); color:#fff; padding:13px 20px 13px 24px; border-radius:999px; font-size:11px; letter-spacing:.14em; text-transform:uppercase; font-weight:700; line-height:1; white-space:nowrap; transition:background .25s ease, transform .25s ease;}
.pkb-nav-cta:hover,.pkb-nav-cta:focus-visible{background:var(--pkb-accent-dark); color:#fff; transform:translateY(-2px);}
.pkb-nav-cta .rq{width:13px; height:13px; flex:none; margin-left:0; overflow:visible; opacity:0; max-width:0; transform:translateY(-13px) scale(.85); transform-origin:50% 100%; transition:opacity .18s ease, max-width .25s ease, margin-left .25s ease;}
.pkb-nav-cta:hover .rq,.pkb-nav-cta:focus-visible .rq{opacity:1; max-width:13px; margin-left:8px; animation:pkbBall .62s cubic-bezier(.3,.6,.35,1) forwards;}
@keyframes pkbBall{
	0%{transform:translateY(-13px) scale(.85);}
	32%{transform:translateY(0) scale(1);}
	46%{transform:translateY(0) scaleX(1.2) scaleY(.8);}
	60%{transform:translateY(-5px) scale(1);}
	76%{transform:translateY(0) scaleX(1.08) scaleY(.93);}
	88%{transform:translateY(-2px) scale(1);}
	100%{transform:translateY(0) scale(1);}
}
@media (prefers-reduced-motion:reduce){
	.pkb-nav-cta:hover .rq{animation:none; transform:none;}
}
.pkb-logo-tag{font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:rgba(255,255,255,.8); font-weight:600; white-space:nowrap;}
@media (max-width:600px){.pkb-logo-tag{display:none;}}
.pkb-header .elementor-menu-cart__toggle_button,
.pkb-header .elementor-button-icon,
.pkb-header .elementor-menu-toggle{color:#fff; background:transparent;}
.pkb-header .elementor-menu-toggle svg{fill:#fff;}

.pkb-hint{margin:0 0 10px; font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:rgba(255,255,255,.6); font-weight:600;}
.pkb-filters{display:flex; flex-wrap:wrap; gap:8px;}
.pkb-filters a{padding:10px 20px; border-radius:999px; border:1px solid var(--pkb-line-dark); color:var(--pkb-black); font-size:11px; letter-spacing:.14em; text-transform:uppercase; font-weight:700; transition:all .25s;}
.pkb-filters a:hover,
.pkb-filters a.is-active{background:var(--pkb-black); color:#fff; border-color:var(--pkb-black);}

.pkb-tech-row{border-top:1px solid var(--pkb-line);}
.pkb-team-card,
.pkb-news-card{border-radius:6px; overflow:hidden;}
.pkb-news-tag .elementor-heading-title{display:inline-block; background:var(--pkb-accent); padding:5px 10px; border-radius:3px;}
.pkb-about-img img{width:100%; border-radius:10px; box-shadow:0 24px 50px -24px rgba(0,0,0,.35);}
.pkb-badges{display:grid; grid-template-columns:repeat(2,1fr); gap:14px; margin-top:8px;}
.pkb-badge{padding:18px; background:#fff; border-radius:8px; box-shadow:0 0 0 1px var(--pkb-line-dark);}
.pkb-badge b{display:block; font-family:var(--pkb-font-display); font-size:26px; text-transform:uppercase; font-style:italic; line-height:1; margin-bottom:6px; color:var(--pkb-black);}
.pkb-badge span{font-size:12px; color:var(--pkb-grey);}
@media (max-width:600px){.pkb-badges{grid-template-columns:1fr;}}

.pkb-footer-col h4{font-family:var(--pkb-font); font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:rgba(255,255,255,.55); margin:0 0 16px; font-weight:700;}
.pkb-footer-col ul{list-style:none; margin:0; padding:0;}
.pkb-footer-col li{margin-bottom:10px;}
.pkb-footer-col a{color:rgba(255,255,255,.8);}
.pkb-footer-col a:hover{color:#fff;}
.pkb-footer-col p{color:rgba(255,255,255,.65); font-size:14px; line-height:1.6; margin:14px 0 0;}
.pkb-footer-col p.pkb-kicker{font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:rgba(255,255,255,.8); font-weight:600;}
.pkb-social{display:flex; gap:12px;}
.pkb-social a{width:42px; height:42px; display:inline-flex; align-items:center; justify-content:center; border:1px solid var(--pkb-line); border-radius:50%; color:#fff; transition:all .25s;}
.pkb-social a:hover{background:var(--pkb-accent); border-color:var(--pkb-accent); color:#fff;}
.pkb-social svg{width:18px; height:18px;}
.pkb-footer-bottom{display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; padding-top:24px; border-top:1px solid var(--pkb-line); font-size:12px; color:rgba(255,255,255,.5);}
