/*
Theme Name: keytek
Theme URI: https://keytek.es
Author: RuedaQrueda Systems
Description: Tema de la tienda keytek — tecnología al precio justo. Marca metálica rojo sangre + aluminio.
Version: 1.0
License: GPLv2 or later
Text Domain: keytek
*/
:root{--sangre:#A4111C;--rojo:#D11423;--alu:#C9CCCE;--tinta:#14100F;--perla:#F1EDEA;--oro:#C9A24B;--grafito:#2A2422}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:Inter,system-ui,sans-serif;background:var(--perla);color:#1d1715;overflow-x:hidden}
h1,h2,h3,.dsp{font-family:'Archivo Black',Inter,sans-serif;font-weight:400;letter-spacing:-.5px}
a{text-decoration:none;color:inherit}
.wrap{max-width:1280px;margin:0 auto;padding:0 24px}
/* ---------- BARRA SUPERIOR ---------- */
.top{background:#0b0807;color:#a89a96;font-size:12.5px;padding:8px 0;border-bottom:1px solid #241b19}
.top .wrap{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.top b{color:var(--alu)}
/* ---------- HEADER ---------- */
header{position:sticky;top:0;z-index:60;background:rgba(11,8,7,.96);backdrop-filter:blur(12px);border-bottom:1px solid #2a1f1d}
header .wrap{display:flex;align-items:center;gap:26px;padding-top:14px;padding-bottom:14px}
.logo img{height:62px;display:block}
nav.main{display:flex;gap:22px;margin-left:auto;font-size:13.5px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:#cfc3bf}
nav.main a{padding:6px 0;border-bottom:2px solid transparent;transition:.15s;white-space:nowrap}
nav.main a:hover,nav.main a.on{color:#fff;border-color:var(--rojo)}
.hicons{display:flex;gap:18px;align-items:center;color:#cfc3bf}
.hicons a{display:flex;flex-direction:column;align-items:center;font-size:10.5px;gap:3px;transition:.15s}
.hicons a:hover{color:#fff}.hicons svg{width:21px;height:21px;stroke:currentColor;fill:none;stroke-width:1.7}
/* ---------- HERO ---------- */
.hero{position:relative;min-height:640px;display:flex;align-items:center;background:#0b0807;overflow:hidden}
.hero .bg{position:absolute;inset:0;background-size:cover;background-position:center}') center/cover no-repeat" if hero_bg else "radial-gradient(900px 600px at 70% 30%,#3a1116,#0b0807)"}}
.hero .veil{position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,6,6,.97) 0%,rgba(9,6,6,.88) 38%,rgba(9,6,6,.35) 68%,rgba(9,6,6,.55) 100%)}
.hero .wrap{position:relative;z-index:2;display:grid;grid-template-columns:1.15fr .85fr;gap:50px;align-items:center;padding-top:70px;padding-bottom:110px}
.kick{color:var(--oro);font-size:12.5px;font-weight:800;letter-spacing:3.4px;text-transform:uppercase;margin-bottom:20px}
.hero h1{font-size:clamp(40px,5.4vw,74px);line-height:1.02;color:#fff;text-transform:uppercase}
.hero h1 em{font-style:normal;color:var(--rojo);display:block}
.hero p.sub{color:#cbbdb9;font-size:17px;line-height:1.65;margin-top:24px;max-width:560px}
.ctas{display:flex;gap:14px;margin-top:34px;flex-wrap:wrap}
.btn{background:linear-gradient(100deg,var(--sangre),var(--rojo));color:#fff;padding:16px 34px;border-radius:6px;
 font-weight:800;font-size:14.5px;letter-spacing:.8px;text-transform:uppercase;border:none;cursor:pointer;
 box-shadow:0 10px 32px rgba(180,20,35,.34);transition:.16s}
.btn:hover{transform:translateY(-2px);box-shadow:0 14px 38px rgba(209,20,35,.46)}
.btn.ghost{background:transparent;border:1.5px solid #6d5f5c;color:#eadedb;box-shadow:none}
.btn.ghost:hover{border-color:#fff;background:rgba(255,255,255,.06)}
.trust{display:flex;gap:28px;margin-top:38px;flex-wrap:wrap;color:#a89995;font-size:13px}
.trust b{color:#fff;display:block;font-size:15px;font-family:'Archivo Black'}
/* tarjeta flotante B2B */
.b2b{background:linear-gradient(160deg,rgba(24,16,15,.97),rgba(46,17,22,.97));border:1px solid rgba(201,162,75,.42);
 border-radius:14px;padding:32px;color:#fff;box-shadow:0 26px 70px rgba(0,0,0,.6);position:relative}
.b2b:before{content:"";position:absolute;top:14px;left:14px;width:32px;height:32px;border-left:2px solid var(--oro);border-top:2px solid var(--oro);border-radius:4px 0 0 0}
.b2b .k{color:var(--oro);font-size:11px;letter-spacing:2.6px;font-weight:800;text-transform:uppercase}
.b2b h3{font-size:23px;margin-top:14px;line-height:1.2}
.b2b h3 span{color:var(--rojo);display:block}
.b2b p{color:#c3b4b1;font-size:14px;line-height:1.6;margin-top:14px}
.b2b .btn{margin-top:22px;width:100%;text-align:center;display:block;background:linear-gradient(100deg,#b8852f,var(--oro));color:#1a1210;box-shadow:0 10px 28px rgba(201,162,75,.3)}
.dots{display:flex;gap:7px;justify-content:center;margin-top:18px}
.dots i{width:7px;height:7px;border-radius:50%;background:#5a4b48}.dots i.on{background:var(--oro);width:20px;border-radius:4px}
.cut{position:absolute;bottom:-1px;left:0;width:100%;height:78px;background:var(--perla);clip-path:polygon(0 100%,100% 22%,100% 100%)}
/* ---------- FAMILIAS ---------- */
.sec{padding:76px 0}
.shead{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:34px;flex-wrap:wrap}
.shead .l{display:flex;align-items:center;gap:15px}
.shead .bar{width:6px;height:40px;background:linear-gradient(var(--sangre),var(--rojo));border-radius:3px}
.shead h2{font-size:31px;text-transform:uppercase}
.shead p{color:#7d6f6b;font-size:14.5px;margin-top:5px;font-family:Inter;font-weight:500}
.shead a.all{color:var(--sangre);font-weight:800;font-size:13.5px;letter-spacing:.6px;text-transform:uppercase;white-space:nowrap}
.fams{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.fam{position:relative;border-radius:12px;overflow:hidden;background:var(--tinta);min-height:230px;display:flex;align-items:flex-end;
 border:1px solid #e3d9d4;transition:.2s}
.fam:hover{transform:translateY(-5px);box-shadow:0 20px 44px rgba(90,15,22,.24)}
.fimg{position:absolute;inset:0}.fimg img{width:100%;height:100%;object-fit:cover;opacity:.82;transition:.4s}
.fam:hover .fimg img{transform:scale(1.06);opacity:.95}
.ftx{position:relative;z-index:2;padding:24px;width:100%;
 background:linear-gradient(0deg,rgba(9,6,6,.96) 30%,rgba(9,6,6,.55) 70%,transparent)}
.ftx h3{color:#fff;font-size:20px}.ftx p{color:#bcaca8;font-size:13px;margin-top:5px}
.fgo{color:var(--oro);font-size:12.5px;font-weight:800;letter-spacing:.8px;margin-top:12px;display:inline-block}
/* ---------- PRODUCTOS ---------- */
.band{background:#fff;border-top:1px solid #eadfd9;border-bottom:1px solid #eadfd9}
.grid{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}
.card{background:#fff;border:1px solid #ece2dd;border-radius:12px;overflow:hidden;display:flex;flex-direction:column;transition:.17s}
.card:hover{transform:translateY(-5px);box-shadow:0 18px 38px rgba(120,15,22,.15);border-color:#f0ccd0}
.ph{position:relative;aspect-ratio:1;background:#fff;display:flex;align-items:center;justify-content:center;padding:18px;border-bottom:1px solid #f4efec}
.ph img{max-width:100%;max-height:100%;object-fit:contain}
.badge{position:absolute;top:11px;left:11px;background:var(--sangre);color:#fff;font-size:10px;font-weight:800;
 letter-spacing:1px;text-transform:uppercase;padding:4px 9px;border-radius:3px;z-index:2}
.cb{padding:14px 15px 16px;display:flex;flex-direction:column;gap:10px;flex:1}
.cb h3{font-family:Inter;font-weight:600;font-size:13.5px;line-height:1.35;min-height:37px;letter-spacing:0}
.cb .row{display:flex;align-items:baseline;justify-content:space-between;gap:8px}
.pr{font-family:'Archivo Black';font-size:24px;color:var(--sangre)}.pr span{font-size:15px;margin-left:1px}
.stk{color:#2e8b45;font-size:11.5px;font-weight:700}
.add{margin-top:auto;background:var(--tinta);color:#fff;border:none;border-radius:7px;padding:11px;
 font-weight:700;font-size:13px;cursor:pointer;transition:.16s;font-family:Inter}
.add:hover{background:linear-gradient(100deg,var(--sangre),var(--rojo))}
/* ---------- GARANTIAS ---------- */
.why{background:var(--tinta);color:#fff;padding:60px 0}
.why .g{display:grid;grid-template-columns:repeat(4,1fr);gap:34px}
.why .it{border-left:3px solid var(--sangre);padding-left:18px}
.why h4{font-family:'Archivo Black';font-size:16px;text-transform:uppercase}
.why p{color:#b0a19d;font-size:13.5px;line-height:1.6;margin-top:8px}
/* ---------- SYSTEMS ---------- */
.sysb{background:linear-gradient(105deg,#0f0a0b,#2a1016 60%,#4d1622);color:#fff;padding:52px 0;
 border-top:1px solid rgba(201,162,75,.28);border-bottom:1px solid rgba(201,162,75,.28)}
.sysb .wrap{display:flex;align-items:center;gap:36px;flex-wrap:wrap}
.sysb .t{flex:1;min-width:300px}.sysb h3{font-size:27px;color:var(--oro);text-transform:uppercase}
.sysb p{color:#cdbdba;margin-top:12px;line-height:1.65;font-size:15px;max-width:640px}
/* ---------- FOOTER ---------- */
footer{background:#0b0807;color:#8d807c;padding:56px 0 30px;font-size:13.5px}
footer .cols{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:34px;padding-bottom:34px;border-bottom:1px solid #241b19}
footer img.flogo{height:52px;margin-bottom:16px}
footer h5{color:#fff;font-family:'Archivo Black';font-size:12.5px;letter-spacing:1.4px;text-transform:uppercase;margin-bottom:14px}
footer li{list-style:none;margin-bottom:9px}footer a:hover{color:var(--alu)}
footer .grupo{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
footer .grupo span{border:1px solid #362926;border-radius:20px;padding:5px 13px;font-size:11.5px;color:#a2938f}
footer .end{padding-top:22px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:12.5px;color:#6d605c}
footer b{color:var(--oro)}
@media(max-width:1080px){.grid{grid-template-columns:repeat(3,1fr)}.fams{grid-template-columns:repeat(2,1fr)}
 .hero .wrap{grid-template-columns:1fr}.b2b{max-width:520px}.why .g{grid-template-columns:repeat(2,1fr)}
 footer .cols{grid-template-columns:1fr 1fr}nav.main{display:none}}
@media(max-width:640px){.grid{grid-template-columns:repeat(2,1fr)}.fams{grid-template-columns:1fr}
 .logo img{height:46px}.hero{min-height:540px}.why .g{grid-template-columns:1fr}}

/* ================= WooCommerce (sin depender del contenedor) ================= */
ul.products{display:grid!important;grid-template-columns:repeat(5,1fr)!important;gap:20px;list-style:none;margin:26px 0 0;padding:0}
ul.products::before,ul.products::after{display:none!important}
ul.products li.product{width:auto!important;float:none!important;margin:0!important;clear:none!important;
 background:#fff;border:1px solid #ece2dd;border-radius:14px;overflow:hidden;padding:0;display:flex;
 flex-direction:column;transition:.17s;text-align:left}
ul.products li.product:hover{transform:translateY(-5px);box-shadow:0 18px 38px rgba(120,15,22,.15);border-color:#f0cdd0}
ul.products li.product>a{display:block;padding:16px 16px 0;text-decoration:none;color:inherit}
ul.products li.product img{width:100%!important;height:180px!important;object-fit:contain!important;
 background:#fff;margin:0 0 12px!important;display:block}
ul.products li.product .woocommerce-loop-product__title{font-family:Inter,sans-serif!important;font-size:13.5px!important;
 font-weight:600!important;line-height:1.35;min-height:38px;margin:0 16px 8px!important;padding:0!important;
 color:#1d1715;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
ul.products li.product .price{font-family:'Archivo Black',Inter,sans-serif!important;font-size:22px!important;
 color:var(--sangre)!important;margin:0 16px 12px!important;display:block}
ul.products li.product .price del{font-size:13px;color:#9a8b86;font-family:Inter;margin-right:6px}
ul.products li.product .price ins{text-decoration:none}
ul.products li.product .button{margin:auto 16px 16px!important;background:var(--tinta);color:#fff;border:none;
 border-radius:8px;padding:11px 10px;font-weight:700;font-size:13px;font-family:Inter;text-align:center;
 display:block;text-decoration:none;white-space:nowrap;transition:.16s}
ul.products li.product .button:hover{background:linear-gradient(100deg,var(--sangre),var(--rojo));color:#fff}
ul.products li.product .onsale{position:absolute;margin:10px;background:var(--sangre);color:#fff;font-size:10px;
 font-weight:800;letter-spacing:1px;padding:4px 9px;border-radius:3px;z-index:2}
/* barra de orden y resultados */
.woocommerce-result-count{color:#7d6f6b;font-size:14px;margin:0}
.woocommerce-ordering select{padding:11px 14px;border:1px solid #ddd1cc;border-radius:8px;font-size:14px;
 font-family:Inter;background:#fff}
.woocommerce-ordering{margin:0}
/* ficha de producto */
.single-product div.product{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}
.single-product div.product .images img{border-radius:14px;border:1px solid #ece2dd;background:#fff}
.single-product div.product .summary{margin:0!important;width:auto!important;float:none!important}
.single-product .summary .price{font-family:'Archivo Black';font-size:34px;color:var(--sangre);margin:14px 0}
.single-product .summary h1{font-size:27px;line-height:1.2}
.single-product .quantity input{padding:11px;border:1px solid #ddd1cc;border-radius:8px;width:80px}
.single-product .single_add_to_cart_button{background:linear-gradient(100deg,var(--sangre),var(--rojo))!important;
 color:#fff!important;border:none;border-radius:8px;padding:15px 30px!important;font-weight:800;font-size:15px;
 text-transform:uppercase;letter-spacing:.6px;cursor:pointer;margin-left:10px}
.woocommerce-tabs{grid-column:1/-1;margin-top:34px}
.woocommerce-tabs ul.tabs{display:flex;gap:8px;list-style:none;padding:0;border-bottom:2px solid #eadfd9}
.woocommerce-tabs ul.tabs li{margin:0}
.woocommerce-tabs ul.tabs a{display:block;padding:12px 20px;text-decoration:none;color:#5c514e;font-weight:700;font-size:14px}
.woocommerce-tabs ul.tabs li.active a{color:var(--sangre);border-bottom:3px solid var(--sangre)}
/* botones, tablas y formularios generales */
.woocommerce .button,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,
.wc-block-components-button{background:var(--tinta);color:#fff;border:none;border-radius:8px;padding:12px 22px;
 font-weight:700;font-size:14px;font-family:Inter;cursor:pointer;text-decoration:none;display:inline-block}
.woocommerce .button.alt,.woocommerce .checkout-button,.woocommerce #place_order,.wc-block-components-checkout-place-order-button{
 background:linear-gradient(100deg,var(--sangre),var(--rojo))!important;text-transform:uppercase;letter-spacing:.6px}
.woocommerce table.shop_table{width:100%;border-collapse:collapse;background:#fff;border:1px solid #ece2dd;border-radius:12px;overflow:hidden}
.woocommerce table.shop_table th,.woocommerce table.shop_table td{padding:14px;border-bottom:1px solid #f0e8e4;font-size:14px}
.woocommerce table.shop_table th{background:#faf6f4;font-weight:700;text-align:left}
.woocommerce form .form-row input,.woocommerce form .form-row select,.woocommerce form .form-row textarea{
 width:100%;padding:12px 13px;border:1px solid #ddd1cc;border-radius:8px;font-size:14px;font-family:Inter}
.woocommerce-message,.woocommerce-info,.woocommerce-error{background:#fff;border-top:3px solid var(--sangre);
 padding:16px 20px;border-radius:10px;margin-bottom:22px;list-style:none;border-left:1px solid #ece2dd;
 border-right:1px solid #ece2dd;border-bottom:1px solid #ece2dd}
.woocommerce-pagination ul{display:flex;gap:6px;list-style:none;padding:0;margin:30px 0 0}
.woocommerce-pagination a,.woocommerce-pagination span{display:block;padding:10px 15px;border:1px solid #e3d9d4;
 border-radius:8px;text-decoration:none;color:#3a2c2e;font-weight:600}
.woocommerce-pagination .current{background:var(--sangre);color:#fff;border-color:var(--sangre)}
.woocommerce-breadcrumb{color:#8b7d79;font-size:13px;margin-bottom:18px}
@media(max-width:1080px){ul.products{grid-template-columns:repeat(3,1fr)!important}
 .single-product div.product{grid-template-columns:1fr;gap:24px}}
@media(max-width:640px){ul.products{grid-template-columns:repeat(2,1fr)!important;gap:12px}
 ul.products li.product img{height:130px!important}
 ul.products li.product .button{font-size:12px;padding:10px 6px}}
