/*
Theme Name: Polykey — NireWeb
Theme URI: https://www.nireweb.es/
Description: Child de Hello Elementor para polykey.eu. Tokens de diseño extraídos de la web original (tema pom): paleta teal/coral, tipografía Archivo, escala 9-50px.
Author: NireWeb
Author URI: https://www.nireweb.es/
Template: hello-elementor
Version: 1.0.0
Text Domain: polykey-nireweb
*/

:root{
  /* Teal — color principal de marca */
  --pk-teal-900:#284e56; --pk-teal-700:#537178; --pk-teal-500:#7e959a;
  --pk-teal-300:#a9b8bb; --pk-teal-100:#d4dcdd;
  /* Coral — acento (botones CTA, píldora "Catalogue") */
  --pk-coral-600:#c46246; --pk-coral-400:#d0816b;
  --pk-coral-300:#dca190; --pk-coral-200:#e7c0b5;
  /* Neutros */
  --pk-sand:#f4f0ed; --pk-white:#ffffff; --pk-grey-100:#f2f2f2;
  --pk-grey-400:#adadad; --pk-grey-600:#636363; --pk-ink:#212121;
  /* Tipografía */
  --pk-font:"Archivo",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Ubuntu,"Helvetica Neue",sans-serif;
}

/* Archivo autoalojada — mismos ficheros que la web original */
@font-face{font-family:"Archivo";font-style:normal;font-weight:200;font-display:swap;
  src:url("assets/fonts/Archivo-ExtraLight.woff2") format("woff2"),url("assets/fonts/Archivo-ExtraLight.woff") format("woff");}
@font-face{font-family:"Archivo";font-style:normal;font-weight:400;font-display:swap;
  src:url("assets/fonts/Archivo-Regular.woff2") format("woff2"),url("assets/fonts/Archivo-Regular.woff") format("woff");}

body{font-family:var(--pk-font);color:var(--pk-ink);background:var(--pk-white);}
h1,h2,h3,h4,h5,h6{font-family:var(--pk-font);color:var(--pk-ink);}

/* ---------- Barra de búsqueda superior ---------- */
.pk-search{display:flex;gap:10px;justify-content:center;align-items:center;flex-wrap:wrap}
.pk-search__text,.pk-search__cat{
  height:44px;padding:12px 20px;font:400 15px/1 var(--pk-font);
  color:var(--pk-ink);background:var(--pk-white);
  border:1px solid var(--pk-teal-300);border-radius:5px;}
.pk-search__text{width:250px}
.pk-search__cat{width:250px;cursor:pointer}
.pk-search__text:focus,.pk-search__cat:focus{outline:2px solid var(--pk-teal-500);outline-offset:1px}
.pk-search__submit{
  height:44px;min-width:250px;padding:10px 24px;border:0;border-radius:5px;cursor:pointer;
  font:400 15px/1 var(--pk-font);color:var(--pk-white);background:var(--pk-teal-900);
  transition:background .18s ease;}
.pk-search__submit:hover,.pk-search__submit:focus-visible{background:var(--pk-teal-700)}

/* ---------- Selector de idioma ---------- */
.pk-langs{display:inline-flex;align-items:center;gap:2px}
.pk-langs .pk-lang{
  padding:6px 4px;font:700 18px/1.5 var(--pk-font);text-decoration:none;
  color:var(--pk-white);opacity:.7;transition:opacity .15s ease;}
.pk-langs .pk-lang:hover{opacity:1}
.pk-langs .pk-lang.is-active{opacity:1;text-decoration:underline;text-underline-offset:4px}

/* ---------- Cabecera transparente que se vuelve sólida al hacer scroll ---------- */
.pk-header{transition:background-color .25s ease,box-shadow .25s ease}
.pk-header.elementor-sticky--effects{
  background-color:var(--pk-teal-900)!important;
  box-shadow:0 2px 18px rgba(33,33,33,.18);}
/* En páginas con hero oscuro la cabecera va superpuesta; en el resto, sólida desde el inicio. */
body:not(.pk-hero-overlay) .pk-header{background-color:var(--pk-teal-900)}

/* ---------- Pie ---------- */
.pk-foot-col-title{font:700 12px/1.2 var(--pk-font);color:var(--pk-teal-300);
  letter-spacing:.04em;text-transform:uppercase;margin:0 0 14px}
.pk-foot-links{list-style:none;margin:0;padding:0}
.pk-foot-links li{border-bottom:1px solid rgba(255,255,255,.22)}
.pk-foot-links a{display:block;padding:14px 0;font:400 18px/1.15 var(--pk-font);
  color:var(--pk-white);text-decoration:none;transition:opacity .15s ease}
.pk-foot-links a:hover{opacity:.72}
.pk-foot-links a::after{content:" ↗";font-size:.8em}

/* ---------- Menú principal ---------- */
.pk-nav__list{display:flex;align-items:center;gap:0;list-style:none;margin:0;padding:0}
.pk-nav__list > li{position:relative}
.pk-nav__list > li > a{
  display:block;padding:6px 20px;font:700 18px/1.5 var(--pk-font);
  color:var(--pk-white);text-decoration:none;transition:opacity .15s ease}
.pk-nav__list > li > a:hover{opacity:.72}
.pk-nav__list .sub-menu{
  position:absolute;left:12px;top:100%;min-width:220px;margin:0;padding:8px 0;
  list-style:none;background:var(--pk-white);border-radius:8px;
  box-shadow:0 8px 28px rgba(33,33,33,.16);opacity:0;visibility:hidden;
  transform:translateY(6px);transition:opacity .16s ease,transform .16s ease,visibility .16s}
.pk-nav__list > li:hover .sub-menu,.pk-nav__list > li:focus-within .sub-menu{
  opacity:1;visibility:visible;transform:translateY(0)}
.pk-nav__list .sub-menu a{
  display:block;padding:9px 18px;font:400 16px/1.35 var(--pk-font);
  color:var(--pk-ink);text-decoration:none}
.pk-nav__list .sub-menu a:hover{background:var(--pk-sand);color:var(--pk-teal-900)}

/* ---------- Enlaces legales del pie ---------- */
.pk-legal__list{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 26px;
  list-style:none;margin:0;padding:0}
.pk-legal__list a{font:400 15px/1.5 var(--pk-font);color:var(--pk-ink);text-decoration:none}
.pk-legal__list a:hover{text-decoration:underline}

@media(max-width:1024px){
  .pk-nav__list{display:none}
  .pk-search__text,.pk-search__cat,.pk-search__submit{width:100%;min-width:0}
}

/* ---------- Boletín ---------- */
.pk-news{max-width:510px;margin:22px auto 0;text-align:left}
.pk-news__label{display:block;margin:0 0 8px;font:400 15px/1.4 var(--pk-font);color:var(--pk-ink)}
.pk-news__input{width:100%;height:44px;padding:12px 20px;font:400 15px/1 var(--pk-font);
  color:var(--pk-ink);background:var(--pk-white);border:1px solid var(--pk-teal-300);border-radius:5px}
.pk-news__input:focus{outline:2px solid var(--pk-teal-500);outline-offset:1px}
.pk-news__submit{width:100%;height:40px;margin-top:18px;border:0;border-radius:10px;cursor:pointer;
  font:400 15px/1 var(--pk-font);color:var(--pk-white);background:var(--pk-teal-500);
  transition:background .18s ease}
.pk-news__submit:hover,.pk-news__submit:focus-visible{background:var(--pk-teal-700)}

/* ---------- Copyright ---------- */
.pk-copy{margin:14px 0 0;text-align:center;font:400 15px/1.6 var(--pk-font);color:var(--pk-ink)}
.pk-copy a{color:var(--pk-teal-900)}

@media(max-width:1024px){
  .pk-footer-box{flex-wrap:wrap}
  .pk-footer-box > .e-con-inner > *,.pk-footer-box > *{width:100%!important}
}

/* ---------- Correcciones de especificidad frente a Hello Elementor / WooCommerce ---------- */
.pk-search .pk-search__text,
.pk-search .pk-search__cat{flex:0 0 250px;width:250px;max-width:250px}
.pk-search .pk-search__submit{flex:0 0 250px;width:250px;min-width:0}
.pk-header-search .elementor-shortcode{width:100%}

/* Logo a su tamaño real (el SVG es 250x55) */
.pk-header img{width:250px;height:auto;max-width:none}

/* Carrito: icono discreto, sin caja */
.pk-header .elementor-menu-cart__toggle .elementor-button{
  padding:0;background:transparent;border:0;color:var(--pk-white)}
.pk-header .elementor-menu-cart__toggle .elementor-button-icon{font-size:20px}
.pk-header .elementor-menu-cart__toggle .elementor-button-text{display:none}

/* Reparto de la fila de cabecera: logo fijo · menú elástico · acciones al contenido.
   Elementor da --width:100% a los contenedores hijos y, sin esto, el tercero
   se come el ancho y los otros dos colapsan a 0. */
.pk-header > .e-con:nth-child(1){flex:0 0 250px;width:250px}
.pk-header > .e-con:nth-child(2){flex:1 1 auto;width:auto;justify-content:center}
.pk-header > .pk-actions{flex:0 0 auto;width:auto}
.pk-header .pk-actions > .elementor-widget{width:auto;flex:0 0 auto}

/* ---------- Ajuste fino del pie al original ---------- */
.pk-footer-box .elementor-widget-button{width:100%}
.pk-footer-box .elementor-button{width:100%;justify-content:center;min-height:76px}
.pk-footer-box .elementor-social-icon{width:56px;height:56px;font-size:19px}
.pk-footer-box .elementor-social-icons-wrapper{gap:14px}

/* ---------- Móvil ---------- */
@media(max-width:1024px){
  .pk-header{padding:16px 20px!important}
  .pk-header > .e-con:nth-child(1){flex:0 0 180px;width:180px}
  .pk-header img{width:180px}
  .pk-header > .e-con:nth-child(2){display:none}
  .pk-header-search .pk-search{flex-direction:column}
  .pk-footer-box{flex-wrap:wrap}
  .pk-footer-box > .e-con{flex:1 1 100%!important;width:100%!important}
}
@media(max-width:767px){
  .pk-legal__list{gap:6px 16px}
  .pk-legal__list a{font-size:14px}
}

/* ---------- Ficha de producto: tabla de especificaciones ---------- */
.pk-specs{width:100%;border-collapse:collapse;margin:26px 0 0;font-family:var(--pk-font)}
.pk-specs th,.pk-specs td{padding:13px 0;text-align:left;vertical-align:top;
  border-bottom:1px solid var(--pk-teal-100);font-size:15px;line-height:1.5}
.pk-specs th{width:38%;font-weight:700;color:var(--pk-teal-700);padding-right:20px}
.pk-specs td{color:var(--pk-ink)}
.pk-specs__pdf{margin:18px 0 0}
.pk-specs__pdf a{font:700 15px/1.5 var(--pk-font);color:var(--pk-teal-900);text-decoration:none;
  border-bottom:1px solid var(--pk-teal-300)}
.pk-specs__pdf a:hover{border-bottom-color:var(--pk-teal-900)}

/* ---------- Botón de consulta ---------- */
.pk-ask{margin:22px 0 0}
.pk-ask__ok{margin:0 0 14px;padding:12px 18px;border-radius:10px;
  background:var(--pk-teal-100);color:var(--pk-teal-900);font:400 15px/1.5 var(--pk-font)}
.pk-ask__open{width:100%;min-height:56px;padding:14px 28px;border:1px solid var(--pk-teal-900);
  border-radius:50px;cursor:pointer;background:transparent;color:var(--pk-teal-900);
  font:700 15px/1.4 var(--pk-font);transition:background .18s ease,color .18s ease}
.pk-ask__open:hover{background:var(--pk-teal-900);color:var(--pk-white)}

/* ---------- Ventana emergente ---------- */
.pk-modal{width:min(520px,calc(100vw - 32px));padding:0;border:0;border-radius:16px;
  background:var(--pk-white);color:var(--pk-ink)}
.pk-modal::backdrop{background:rgba(33,33,33,.55)}
.pk-modal__form{position:relative;display:flex;flex-direction:column;gap:14px;padding:36px 32px 32px}
.pk-modal__close{position:absolute;top:10px;right:14px;border:0;background:none;cursor:pointer;
  font-size:30px;line-height:1;color:var(--pk-grey-400)}
.pk-modal__close:hover{color:var(--pk-ink)}
.pk-modal__title{margin:0;font:700 20px/1.3 var(--pk-font);color:var(--pk-teal-900)}
.pk-modal__cas{margin:-6px 0 0;font:400 14px/1.4 var(--pk-font);color:var(--pk-teal-700)}
.pk-modal label{display:flex;flex-direction:column;gap:6px;font:400 14px/1.4 var(--pk-font);color:var(--pk-grey-600)}
.pk-modal input[type=text],.pk-modal input[type=email],.pk-modal textarea{
  padding:11px 14px;font:400 15px/1.4 var(--pk-font);color:var(--pk-ink);
  border:1px solid var(--pk-teal-300);border-radius:5px;background:var(--pk-white)}
.pk-modal input:focus,.pk-modal textarea:focus{outline:2px solid var(--pk-teal-500);outline-offset:1px}
.pk-modal__consent{flex-direction:row;align-items:flex-start;gap:9px}
.pk-modal__consent input{margin-top:3px}
.pk-modal__send{min-height:52px;border:0;border-radius:50px;cursor:pointer;
  background:var(--pk-teal-900);color:var(--pk-white);font:700 15px/1.4 var(--pk-font)}
.pk-modal__send:hover{background:var(--pk-teal-700)}
.pk-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* ---------- Relacionados ---------- */
.pk-related{margin:0}
.pk-related ul.products{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;
  margin:0;padding:0;list-style:none}
.pk-related ul.products::before,.pk-related ul.products::after{display:none}
.pk-related ul.products li.product{width:auto!important;margin:0!important;float:none!important}
.pk-related ul.products li.product img{border-radius:12px;background:var(--pk-sand)}
.pk-related ul.products li.product .woocommerce-loop-product__title{
  font:400 16px/1.35 var(--pk-font);color:var(--pk-ink);padding:12px 0 0}
.pk-related .price{display:none}
@media(max-width:1024px){.pk-related ul.products{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.pk-related ul.products{grid-template-columns:1fr}}

/* ---------- Ficha de producto: ajustes al diseño original ---------- */
.pk-prod-img .woocommerce-product-gallery__image img,
.pk-prod-img img{border-radius:16px;background:var(--pk-sand)}

/* Línea de categorías: en el original van en tinta, no en el rosa de Woo */
.pk-prod-sum .product_meta,.pk-prod-sum .posted_in{font:400 17px/1.5 var(--pk-font);color:var(--pk-ink)}
.pk-prod-sum .product_meta a,.pk-prod-sum .posted_in a{color:var(--pk-teal-700);text-decoration:none}
.pk-prod-sum .product_meta a:hover{text-decoration:underline}
.pk-prod-sum .sku_wrapper,.pk-prod-sum .tagged_as{display:none}

/* Carrito: el widget no acepta el color por settings, se fija aquí */
.pk-prod-sum form.cart{display:block}
.pk-prod-sum form.cart .wc-pao-addon-container{margin:0 0 18px}
.pk-prod-sum .single_add_to_cart_button{
  width:100%;min-height:52px;padding:12px 25px;border:0;border-radius:10px;
  background:var(--pk-teal-900)!important;color:var(--pk-sand)!important;
  font:700 15px/1.4 var(--pk-font);cursor:pointer;transition:background .18s ease}
.pk-prod-sum .single_add_to_cart_button:hover{background:var(--pk-teal-700)!important}

/* La tabla de especificaciones no debe heredar cabeceras grises de Woo */
.pk-specs th{background:transparent!important}
.pk-specs tr:nth-child(odd) td,.pk-specs tr:nth-child(odd) th{background:transparent!important}

/* Precios a 0 € no aportan nada en un catálogo de muestra */
.pk-related .price,.pk-related .woocommerce-Price-amount{display:none!important}

/* La tabla de Woo/Hello mete marco y fondo en las celdas; los quitamos */
.pk-specs,.pk-specs tr,.pk-specs th,.pk-specs td{border:0!important;background:transparent!important}
.pk-specs th,.pk-specs td{border-bottom:1px solid var(--pk-teal-100)!important}
.pk-specs{margin-top:8px}

/* Lote arriba a todo el ancho, botón debajo — como en el original */
.pk-prod-sum form.cart{display:block!important}
.pk-prod-sum form.cart .wc-pao-addon-container,
.pk-prod-sum form.cart .wc-pao-addon{width:100%;margin:0 0 16px}
.pk-prod-sum form.cart select{width:100%;height:44px;padding:10px 14px;
  font:400 15px/1 var(--pk-font);color:var(--pk-ink);
  border:1px solid var(--pk-teal-300);border-radius:5px;background:var(--pk-sand)}
.pk-prod-sum form.cart .quantity{display:none}

/* La × heredaba el botón rojo de Woo, y `.pk-modal label` ganaba en especificidad
   a `.pk-modal__consent` dejando la casilla apilada sobre su texto. */
.pk-modal .pk-modal__close{background:transparent!important;border:0!important;
  padding:0!important;min-height:0!important;border-radius:0!important;
  color:var(--pk-grey-400)!important;font-size:30px!important;line-height:1!important}
.pk-modal .pk-modal__close:hover{background:transparent!important;color:var(--pk-ink)!important}
.pk-modal label.pk-modal__consent{flex-direction:row;align-items:flex-start;gap:9px}
.pk-modal label.pk-modal__consent input{margin-top:3px;flex:0 0 auto;width:auto}
