.elementor-kit-11{--e-global-color-primary:#0E2A2D;--e-global-color-secondary:#54595F;--e-global-color-text:#5C6B6D;--e-global-color-accent:#0A6E78;--e-global-color-78f53a6:#00CED1;--e-global-color-6393dd4:#14ADFF;--e-global-color-c33ebdf:#6EA203;--e-global-color-e816ffc:#F2DFD0;--e-global-color-8042c5a:#20BF55;--e-global-typography-primary-font-family:"Poppins";--e-global-typography-primary-font-weight:700;--e-global-typography-secondary-font-family:"Poppins";--e-global-typography-secondary-font-weight:600;--e-global-typography-text-font-family:"Inter";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Inter";--e-global-typography-accent-font-weight:700;}.elementor-kit-11 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}:root { --hel-teal-600:#137057; --hel-teal-700:#0e5a47; --hel-sand-100:#f5ead9; --hel-ink-900:#121821; --hel-ink-500:#5d6675; --hel-lime-500:#9be036; --hel-cyan-500:#00d1ff; --hel-sky-100:#e6f3f5; --brand-navy:#0B1925; --brand-steel:#3E5F7E; --brand-aqua:#CBEEF5; }
/* Start custom CSS *//* === HELYORA DESIGN SYSTEM === */

:root {
  --hel-teal-600: #0A6E78;
  --hel-teal-700: #074E56;
  --hel-teal-50: #E6FBF9;
  --hel-sand-100: #EDF8F6;
  --hel-sand-50: #F6FBFB;
  --hel-lime-500: #CBFC85;
  --hel-cyan-500: #00EFF5;
  --hel-sky-100: #EFFBF8;
  --hel-ink-900: #121821;
  --hel-ink-700: #2a3340;
  --hel-ink-500: #5d6675;
  --hel-ink-100: #eef0f3;
  --hel-font-serif: "Poppins", sans-serif;
  --hel-font-sans: "Inter", sans-serif;
  --hel-radius-pill: 999px;
  --hel-radius-md: 12px;
  --hel-radius-lg: 16px;
  --hel-shadow-card: 0 2px 12px rgba(18,24,33,0.07);
  --hel-shadow-md: 0 8px 24px rgba(18,24,33,0.10);
}

body { font-family: var(--hel-font-sans); color: var(--hel-ink-900); }

/* ============================================================
   Helyora — home.static.css importado desde Claude Design
   ============================================================ */

/* ---------- NAVBAR ---------- */
.hel-nav {
  position: sticky; top: 0; z-index: 50;
  background: rgba(255,255,255,0.82);
  backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid transparent;
  transition: background .24s, border-color .24s;
}

.hel-nav.is-scrolled, .hel-nav.is-menu-open {
  background: rgba(255,255,255,0.96);
  border-bottom-color: var(--hel-ink-100);
}

.hel-nav__inner {
  display: flex; align-items: center; justify-content: space-between;
  padding: 16px 0; gap: 24px;
}

.hel-nav__brand { display: inline-flex; align-items: center; line-height: 1; }

.hel-nav__logo { height: 28px; width: auto; display: block; }

.hel-nav__links { display: flex; gap: 22px; align-items: center; font-size: 13.5px; font-weight: 500; }

.hel-nav__link {
  color: var(--hel-ink-500); text-decoration: none;
  padding-bottom: 3px; border-bottom: 1.5px solid transparent;
  transition: color .16s, border-color .16s;
}

.hel-nav__link:hover { color: var(--hel-ink-900); }

.hel-nav__link.is-active { color: var(--hel-ink-900); border-bottom-color: var(--hel-teal-600); }

.hel-nav__right { display: flex; align-items: center; gap: 14px; }

.hel-nav__cart {
  position: relative; width: 38px; height: 38px; border-radius: 999px;
  border: 1px solid var(--hel-ink-200); background: transparent;
  color: var(--hel-ink-700); cursor: pointer;
  display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0;
}

.hel-nav__cart:hover { background: var(--hel-ink-50); color: var(--hel-ink-900); }

.hel-nav__lang-trigger {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 7px 12px; border-radius: 999px;
  border: 1px solid var(--hel-ink-200); background: transparent;
  color: var(--hel-ink-700); font-size: 12px; font-weight: 600; letter-spacing: .04em; cursor: pointer;
}

.hel-nav__lang-trigger:hover { background: var(--hel-ink-50); }

.hel-nav__burger {
  display: none; flex-direction: column; justify-content: center; gap: 5px;
  width: 40px; height: 40px; border-radius: 10px;
  border: 1px solid var(--hel-ink-200); background: transparent; cursor: pointer;
  padding: 0 9px; flex-shrink: 0;
}

.hel-nav__burger-bar { display: block; height: 2px; width: 100%; background: var(--hel-ink-900); border-radius: 2px; transition: transform .16s, opacity .16s; }

@media (max-width: 980px) {
  .hel-nav__links, .hel-nav__cta { display: none; }
  .hel-nav__burger { display: flex; }
}

/* ---------- SHARED SECTION HEADER ---------- */
.hel-sechead { display: flex; flex-direction: column; gap: 12px; max-width: 720px; }

.hel-sechead--center { align-items: center; text-align: center; margin: 0 auto; }

.hel-sechead .lead { max-width: 560px; }

/* ---------- HERO ---------- */
.home-hero { position: relative; min-height: 640px; overflow: hidden; isolation: isolate; }

.home-hero__overlay {
  position: absolute; inset: 0; pointer-events: none;
  background:
    linear-gradient(110deg, rgba(0,0,0,0.42) 0%, rgba(0,0,0,0.15) 50%, rgba(0,0,0,0) 75%),
    linear-gradient(180deg, rgba(0,0,0,0.08) 0%, rgba(0,0,0,0) 35%);
}

.home-hero__inner {
  position: relative; z-index: 1; min-height: 640px;
  padding-top: 120px; padding-bottom: 120px;
  display: flex; flex-direction: column; gap: 18px; justify-content: center; max-width: 600px;
}

.home-hero__pill { background: transparent; }

.home-hero__title { color: #fff; text-shadow: 0 2px 22px rgba(0,0,0,0.25); }

.home-hero__title .italic-em { color: var(--hel-lime-300); }

.home-hero__sub { color: rgba(255,255,255,0.94); max-width: 480px; text-shadow: 0 1px 12px rgba(0,0,0,0.18); }

.home-hero__actions { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 14px; }

/* ---------- FEATURES ---------- */
.home-feat { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; margin-top: 56px; }

.home-feat__tile { background: #fff; border-radius: var(--hel-radius-md); padding: 28px 24px; box-shadow: var(--hel-shadow-sm); text-align: center; display: flex; flex-direction: column; align-items: center; gap: 14px; }

@media (max-width: 800px) { .home-feat { grid-template-columns: 1fr; } }

/* ---------- SPOTLIGHT ---------- */
.home-spot { display: grid; grid-template-columns: 1.05fr 1fr; gap: clamp(28px,5vw,72px); align-items: center; }

.home-spot__copy { display: flex; flex-direction: column; gap: 14px; }

@media (max-width: 880px) { .home-spot { grid-template-columns: 1fr; } }

/* ---------- COLLECTION ---------- */
.home-coll__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 28px; flex-wrap: wrap; }

.home-coll { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; }

.home-coll__card { background: #fff; border-radius: var(--hel-radius-md); overflow: hidden; box-shadow: var(--hel-shadow-card); display: flex; flex-direction: column; cursor: pointer; text-decoration: none; }

.home-coll__body { padding: 18px 20px 20px; display: flex; flex-direction: column; gap: 10px; }

.home-coll__cta { align-self: stretch; border: 1px solid var(--hel-ink-200); margin-top: 4px; }

@media (max-width: 880px) { .home-coll { grid-template-columns: 1fr; } }

/* ---------- DARK CTA ---------- */
.home-dark {
  background: radial-gradient(at 85% 0%, var(--hel-teal-600) 0%, var(--hel-teal-700) 50%, var(--hel-teal-800) 100%);
  border-radius: var(--hel-radius-xl); padding: clamp(36px,5vw,64px); color: #fff;
  display: grid; grid-template-columns: 1.4fr 1fr; align-items: center; gap: clamp(24px,5vw,56px);
  box-shadow: var(--hel-shadow-float); position: relative; overflow: hidden;
  margin: 0 auto; max-width: 1200px;
}

.home-dark__copy { display: flex; flex-direction: column; gap: 20px; }

@media (max-width: 800px) { .home-dark { grid-template-columns: 1fr; } }

/* ---------- FAQ ---------- */
.hel-w--faq { max-width: 820px; margin: 0 auto; }

.hel-w__head { text-align: center; margin-bottom: 32px; display: flex; flex-direction: column; gap: 10px; align-items: center; }

.hel-w__foot { text-align: center; margin-top: 28px; }

.hel-faq-item { background: #fff; border: 1px solid var(--hel-ink-100); border-radius: var(--hel-radius-md); overflow: hidden; transition: border-color .16s, box-shadow .16s; }

.hel-faq-item__q { font-weight: 600; font-size: 16px; color: var(--hel-ink-900); }

/* ---------- FOOTER ---------- */
.hel-foot { background: var(--hel-sand-100); color: var(--hel-ink-700); }

.hel-foot__news { border-bottom: 1px solid rgba(18,24,33,0.08); }

.hel-foot__news-inner { display: grid; grid-template-columns: 1.4fr 1fr; gap: 32px; align-items: center; padding: clamp(36px,5vw,56px) var(--hel-gutter); }

.hel-foot__main { display: grid; grid-template-columns: 1.5fr 2.5fr; gap: clamp(32px,5vw,72px); padding: clamp(48px,6vw,72px) var(--hel-gutter); }

.hel-foot__cols { display: grid; grid-template-columns: repeat(3,1fr); gap: 28px; }

.hel-foot__col h4 { font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--hel-ink-700); margin: 0 0 14px; }

.hel-foot__col ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 10px; }

.hel-foot__col a { font-size: 14px; color: var(--hel-ink-500); text-decoration: none; transition: color .16s; }

.hel-foot__col a:hover { color: var(--hel-teal-700); }

.hel-foot__legal { border-top: 1px solid rgba(18,24,33,0.08); }

.hel-foot__legal-inner { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; padding: 20px var(--hel-gutter); font-size: 12px; color: var(--hel-ink-500); }

.hel-foot__socials { display: flex; gap: 10px; }

.hel-foot__socials a { display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; border-radius: 999px; background: rgba(255,255,255,0.55); border: 1px solid rgba(18,24,33,0.08); color: var(--hel-ink-500); transition: all .16s; }

.hel-foot__socials a:hover { background: var(--hel-teal-600); color: #fff; border-color: var(--hel-teal-600); transform: translateY(-2px); }

@media (max-width: 860px) { .hel-foot__main { grid-template-columns: 1fr; gap: 40px; } }

@media (max-width: 760px) { .hel-foot__news-inner { grid-template-columns: 1fr; } }

@media (max-width: 520px) { .hel-foot__cols { grid-template-columns: 1fr 1fr; } }

/* ---------- WHATSAPP FAB ---------- */
.wa-fab {
  position: fixed; right: clamp(16px,3vw,28px); bottom: clamp(16px,3vw,28px); z-index: 60;
  width: 56px; height: 56px; border-radius: 999px; background: #25D366; color: #fff;
  display: inline-flex; align-items: center; justify-content: center; text-decoration: none;
  box-shadow: 0 12px 28px -8px rgba(37,211,102,0.45), 0 4px 12px -4px rgba(0,0,0,0.18);
  transition: transform .16s;
}

.wa-fab:hover { transform: translateY(-2px) scale(1.04); }

/* ---- Elementor overrides para que las clases Helyora funcionen ---- */
/* Hero: el contenedor de Elementor recibe la clase home-hero */
.elementor-element.home-hero {
  padding: 0 !important;
}

.elementor-element.home-hero > .e-con-inner,
.elementor-element.home-hero > .elementor-container {
  padding: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
}

/* Features grid con 3 columnas */
.elementor-element.home-feat > .e-con-inner,
.elementor-element.home-feat > .elementor-container {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 18px !important;
}

@media (max-width: 800px) {
  .elementor-element.home-feat > .e-con-inner,
  .elementor-element.home-feat > .elementor-container {
    grid-template-columns: 1fr !important;
  }
}

/* Spotlight dos columnas */
.elementor-element.home-spot > .e-con-inner,
.elementor-element.home-spot > .elementor-container {
  display: grid !important;
  grid-template-columns: 1.05fr 1fr !important;
  gap: clamp(28px,5vw,72px) !important;
  align-items: center !important;
}

@media (max-width: 880px) {
  .elementor-element.home-spot > .e-con-inner,
  .elementor-element.home-spot > .elementor-container {
    grid-template-columns: 1fr !important;
  }
}

/* ---- FOOTER: .elementor-element-footer-wrap ---- */
.elementor-element-footer-wrap {
  background: #EDF8F6 !important;
}

.elementor-element-footer-newsletter > .e-con-inner {
  border-bottom: 1px solid rgba(18,24,33,0.08) !important;
  padding: clamp(36px,5vw,56px) 24px !important;
  display: grid !important;
  grid-template-columns: 1.4fr 1fr !important;
  gap: 32px !important;
  align-items: center !important;
}

.elementor-element-footer-cols > .e-con-inner {
  display: grid !important;
  grid-template-columns: 1.5fr 2.5fr !important;
  gap: clamp(32px,5vw,72px) !important;
  padding: clamp(48px,6vw,72px) 24px !important;
}

.elementor-element-footer-col1 > .e-con-inner {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 14px !important;
  padding: 0 !important;
}

.elementor-element-footer-social .elementor-icon-list-items {
  display: flex !important;
  gap: 10px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.elementor-element-footer-social .elementor-icon-list-item a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 38px !important;
  height: 38px !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,0.55) !important;
  border: 1px solid rgba(18,24,33,0.08) !important;
  color: var(--hel-ink-500) !important;
  transition: all .16s !important;
}

.elementor-element-footer-social .elementor-icon-list-item a:hover {
  background: #0A6E78 !important;
  color: #fff !important;
  border-color: #0A6E78 !important;
  transform: translateY(-2px) !important;
}

.elementor-element-footer-legal {
  border-top: 1px solid rgba(18,24,33,0.08) !important;
}

.elementor-element-footer-legal > .e-con-inner {
  padding: 20px 24px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.elementor-element-footer-copyright p,
.elementor-element-footer-copyright .elementor-text-editor {
  font-size: 13px !important;
  color: var(--hel-ink-500) !important;
}

@media (max-width: 860px) {
  .elementor-element-footer-cols > .e-con-inner {
    grid-template-columns: 1fr !important;
    gap: 40px !important;
  }
  .elementor-element-footer-newsletter > .e-con-inner {
    grid-template-columns: 1fr !important;
  }
}

/* === FOOTER NEWSLETTER FIX === */

/* Newsletter: campo + botón en línea */
.elementor-element-footer-nl-form .elementor-form-fields-wrapper {
  flex-direction: row !important;
  align-items: stretch !important;
  flex-wrap: nowrap !important;
  gap: 8px !important;
}

.elementor-element-footer-nl-form .elementor-field-type-email {
  flex: 1 !important;
  min-width: 0 !important;
}

.elementor-element-footer-nl-form .elementor-field-group-email,
.elementor-element-footer-nl-form .elementor-col-80 {
  width: auto !important;
  flex: 1 !important;
}

.elementor-element-footer-nl-form .elementor-field-group.e-form__buttons,
.elementor-element-footer-nl-form .elementor-col-100.e-form__buttons {
  width: auto !important;
  flex-shrink: 0 !important;
}

.elementor-element-footer-nl-form .elementor-field-textual {
  height: 44px !important;
  padding: 0 16px !important;
  border: 1px solid var(--hel-ink-200) !important;
  border-radius: 8px !important;
  font-size: 14px !important;
  width: 100% !important;
}

.elementor-element-footer-nl-form .elementor-button {
  height: 44px !important;
  padding: 0 20px !important;
  background: #0A6E78 !important;
  color: #fff !important;
  border-radius: 8px !important;
  font-family: "Inter", sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  border: none !important;
  cursor: pointer !important;
  white-space: nowrap !important;
}

.elementor-element-footer-nl-form .elementor-button:hover {
  background: #074E56 !important;
}

/* Newsletter layout: 2 columnas */
.elementor-element-footer-newsletter > .e-con-inner {
  display: grid !important;
  grid-template-columns: 1.4fr 1fr !important;
  gap: 40px !important;
  align-items: center !important;
  padding: 48px 24px !important;
  border-bottom: 1px solid rgba(18,24,33,0.08) !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  width: 100% !important;
}

/* Footer main: 2 columnas */
.elementor-element-footer-cols > .e-con-inner {
  display: grid !important;
  grid-template-columns: 1fr 2fr !important;
  gap: 64px !important;
  padding: 64px 24px !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  width: 100% !important;
  align-items: start !important;
}

/* Col 1 brand */
.elementor-element-footer-col1 > .e-con-inner {
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 12px !important;
  padding: 0 !important;
}

/* Cols 2/3/4 — subgrid de 3 */
.elementor-element-footer-col2,
.elementor-element-footer-col3,
.elementor-element-footer-col4 {
  min-height: 0 !important;
  padding: 0 !important;
}

/* Agrupar col2-col4 en una cuadrícula horizontal */
/* Como son 3 hijos dentro de footer-cols junto a col1, 
   necesitamos que col1 sea la 1a columna y 
   col2+col3+col4 compartan la 2a columna.  
   Usamos un wrapper implícito via nth-child */
.elementor-element-footer-cols > .e-con-inner > .e-con:nth-child(2),
.elementor-element-footer-cols > .e-con-inner > .e-con:nth-child(3),
.elementor-element-footer-cols > .e-con-inner > .e-con:nth-child(4) {
  /* Por defecto están en la segunda columna del grid */
}

/* Si col2/3/4 están dentro del grid de 2-col, se necesita que
   ocupen el espacio disponible de la segunda columna.
   Solución: cambiar a 4 columnas y que col1 ocupe 1 col */
.elementor-element-footer-cols > .e-con-inner {
  grid-template-columns: 1fr 1fr 1fr 1fr !important;
  gap: 40px !important;
}

.elementor-element-footer-col1 {
  grid-column: 1 / 2 !important;
}

.elementor-element-footer-col2 {
  grid-column: 2 / 3 !important;
}

.elementor-element-footer-col3 {
  grid-column: 3 / 4 !important;
}

.elementor-element-footer-col4 {
  grid-column: 4 / 5 !important;
}

/* Col headers (PISCINAS, EMPRESA, LEGAL) */
.elementor-element-footer-col2 .elementor-heading-title,
.elementor-element-footer-col3 .elementor-heading-title,
.elementor-element-footer-col4 .elementor-heading-title {
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: var(--hel-ink-500) !important;
  margin-bottom: 14px !important;
}

/* Icon lists (links del footer) */
.elementor-element-footer-col2 .elementor-icon-list-items,
.elementor-element-footer-col3 .elementor-icon-list-items,
.elementor-element-footer-col4 .elementor-icon-list-items {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.elementor-element-footer-col2 .elementor-icon-list-item a,
.elementor-element-footer-col3 .elementor-icon-list-item a,
.elementor-element-footer-col4 .elementor-icon-list-item a {
  font-size: 14px !important;
  color: var(--hel-ink-500) !important;
  text-decoration: none !important;
  transition: color .16s !important;
}

.elementor-element-footer-col2 .elementor-icon-list-item a:hover,
.elementor-element-footer-col3 .elementor-icon-list-item a:hover,
.elementor-element-footer-col4 .elementor-icon-list-item a:hover {
  color: var(--hel-teal-700) !important;
}

.elementor-icon-list-icon { display: none !important; }

/* Quitar bullet icons */

/* Footer logo */
.elementor-element-footer-logo .elementor-heading-title {
  font-family: "Poppins", serif !important;
  font-size: 24px !important;
  font-style: italic !important;
  font-weight: 600 !important;
  color: #0A6E78 !important;
}

/* Mobile */
@media (max-width: 860px) {
  .elementor-element-footer-cols > .e-con-inner {
    grid-template-columns: 1fr 1fr !important;
    gap: 32px !important;
  }
  .elementor-element-footer-col1 { grid-column: 1 / -1 !important; }
  .elementor-element-footer-col2 { grid-column: 1 / 2 !important; }
  .elementor-element-footer-col3 { grid-column: 2 / 3 !important; }
  .elementor-element-footer-col4 { grid-column: 1 / 2 !important; }
}

@media (max-width: 760px) {
  .elementor-element-footer-newsletter > .e-con-inner {
    grid-template-columns: 1fr !important;
  }
  .elementor-element-footer-nl-form .elementor-form-fields-wrapper {
    flex-direction: column !important;
  }
}

/* ======================================================
   Helyora — CSS de páginas internas (B2B, FAQ, Contacto,
   Tecnología, Sobre Helyora)
   ====================================================== */

/* --- TECNOLOGÍA --- */
.tech-hero { padding: 80px 0; background: linear-gradient(180deg,#fff 0%,var(--hel-sky-100) 60%,#fff 100%); }

.tech-hero__inner { display: grid; grid-template-columns: 1.05fr 1fr; gap: 56px; align-items: center; }

.tech-hero__copy { display: flex; flex-direction: column; gap: 16px; }

.tech-hero__img { aspect-ratio: 4/5; border-radius: var(--hel-radius-lg); position: relative; }

.tech-hero__jump { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 12px; }

.tech-hero__jump-item { display: flex; align-items: center; gap: 12px; padding: 14px 16px; border-radius: var(--hel-radius-md); background: #fff; border: 1px solid var(--hel-ink-100); transition: transform .2s, box-shadow .2s, border-color .2s; text-decoration: none; }

.tech-hero__jump-item:hover { transform: translateY(-1px); box-shadow: var(--hel-shadow-sm); border-color: var(--hel-teal-300); }

.tech-hero__jump-num { font-family: var(--hel-font-serif); font-style: italic; font-size: 22px; color: var(--hel-teal-600); line-height: 1; }

.tech-hero__jump-t { display: block; font-weight: 600; font-size: 14px; color: var(--hel-ink-900); }

.tech-hero__jump-s { display: block; font-size: 12px; color: var(--hel-ink-500); margin-top: 1px; }

.tech-block { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: center; margin-top: 48px; }

.tech-block--reverse .tech-block__art { order: 2; }

.tech-block--reverse .tech-block__copy { order: 1; }

.tech-block__copy { display: flex; flex-direction: column; gap: 16px; }

.tech-anchor { display: flex; align-items: center; gap: 14px; margin-bottom: 36px; }

.tech-anchor__num { font-family: var(--hel-font-serif); font-style: italic; font-size: 48px; color: var(--hel-teal-100); line-height: 1; }

.tech-anchor__line { flex: 1; height: 1px; background: var(--hel-ink-100); }

.tech-anchor__label { font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--hel-teal-600); }

@media (max-width: 880px) { .tech-hero__inner, .tech-block { grid-template-columns: 1fr; } .tech-block--reverse .tech-block__art, .tech-block--reverse .tech-block__copy { order: initial; } }

@media (max-width: 600px) { .tech-hero__jump { grid-template-columns: 1fr; } }

/* --- B2B --- */
.b2b-hero { padding: 80px 0; background: linear-gradient(180deg, var(--hel-sand-50) 0%, #fff 100%); }

.b2b-hero__inner { display: grid; grid-template-columns: 1.1fr 1fr; gap: 56px; align-items: center; }

.b2b-hero__copy { display: flex; flex-direction: column; gap: 14px; }

.b2b-hero__stats { display: flex; gap: 36px; margin-top: 28px; padding-top: 24px; border-top: 1px solid var(--hel-ink-100); }

.b2b-hero__stats div { display: flex; flex-direction: column; gap: 2px; }

.b2b-hero__stats b { font-family: var(--hel-font-serif); font-weight: 600; font-size: 28px; color: var(--hel-ink-900); line-height: 1; }

.b2b-hero__stats span { font-size: 12px; color: var(--hel-ink-500); }

.b2b-hero__art { position: relative; }

.b2b-hero__img { aspect-ratio: 4/5; border-radius: var(--hel-radius-lg); }

.b2b-aud { display: grid; grid-template-columns: repeat(4,1fr); gap: 18px; margin-top: 48px; }

.b2b-aud__card { background: #fff; border-radius: var(--hel-radius-md); padding: 24px; box-shadow: var(--hel-shadow-sm); display: flex; flex-direction: column; transition: transform .2s, box-shadow .2s; }

.b2b-aud__card:hover { transform: translateY(-2px); box-shadow: var(--hel-shadow-md); }

.b2b-ben { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: center; }

.b2b-ben__media { position: relative; }

.b2b-ben__img { aspect-ratio: 1/1; border-radius: var(--hel-radius-lg); }

.b2b-form-wrap { max-width: 760px; margin: 0 auto; }

.b2b-form { margin-top: 36px; background: #fff; border-radius: var(--hel-radius-lg); padding: clamp(24px,4vw,40px); box-shadow: var(--hel-shadow-card); }

.b2b-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-bottom: 14px; }

@media (max-width: 880px) { .b2b-hero__inner, .b2b-ben { grid-template-columns: 1fr; } .b2b-aud { grid-template-columns: 1fr 1fr; } }

@media (max-width: 560px) { .b2b-aud { grid-template-columns: 1fr; } .b2b-form__row { grid-template-columns: 1fr; } }

/* --- SOBRE HELYORA --- */
.about-hero { padding: 80px 0; background: linear-gradient(180deg, var(--hel-sand-50) 0%, #fff 100%); }

.about-hero__inner { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(32px,5vw,64px); align-items: center; }

.about-hero__copy { display: flex; flex-direction: column; gap: 14px; }

.about-hero__bg { aspect-ratio: 4/5; width: 100%; border-radius: var(--hel-radius-lg); background: radial-gradient(ellipse at 70% 35%, #ffd996 0%, #f0a86b 30%, #b86535 60%, #4a2718 100%); }

.about-mission { display: grid; grid-template-columns: 1.4fr 1fr; gap: 32px; align-items: center; }

.about-mission__card { background: #fff; padding: clamp(28px,4vw,48px); border-radius: var(--hel-radius-lg); box-shadow: var(--hel-shadow-sm); }

.about-mission__img { aspect-ratio: 4/3; border-radius: var(--hel-radius-lg); background: radial-gradient(ellipse at 50% 50%, #d8f0ea 0%, #9bccc4 50%, #4a8a82 100%); }

.about-vals { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; margin-top: 48px; }

.about-val { text-align: center; padding: 24px 16px; display: flex; flex-direction: column; align-items: center; background: #fff; border-radius: var(--hel-radius-md); }

.about-journey { position: relative; margin-top: 48px; }

.about-journey__row { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center; margin-bottom: 56px; }

.about-journey__media { aspect-ratio: 4/3; border-radius: var(--hel-radius-md); max-width: 360px; width: 100%; }

@media (max-width: 880px) { .about-hero__inner, .about-mission { grid-template-columns: 1fr; } }

@media (max-width: 720px) { .about-vals, .about-journey__row { grid-template-columns: 1fr; } }

/* --- CONTACTO --- */
.ct-grid { display: grid; grid-template-columns: 1.6fr 1fr; gap: 28px; align-items: start; }

.ct-form { background: #fff; border-radius: var(--hel-radius-lg); padding: clamp(24px,3vw,36px); box-shadow: var(--hel-shadow-card); }

.ct-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }

.ct-side { display: flex; flex-direction: column; gap: 14px; }

.ct-tile { display: flex; gap: 14px; align-items: flex-start; background: #fff; border-radius: var(--hel-radius-md); padding: 18px; box-shadow: var(--hel-shadow-sm); }

.ct-urgent { background: var(--hel-sand-50); border-radius: var(--hel-radius-md); padding: 18px; display: flex; flex-direction: column; }

@media (max-width: 880px) { .ct-grid { grid-template-columns: 1fr; } .ct-form__row { grid-template-columns: 1fr; } }

/* --- FAQ --- */
.faq-search { margin-top: 24px; position: relative; }

.faq-tabs { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 36px; margin-bottom: 28px; }

.cat-tab { padding: 8px 18px; border-radius: 999px; border: 1px solid var(--hel-ink-200); background: transparent; font-size: 13px; font-weight: 500; cursor: pointer; color: var(--hel-ink-500); transition: all .16s; }

.cat-tab.is-active, .cat-tab:hover { background: var(--hel-teal-600); color: #fff; border-color: var(--hel-teal-600); }

/* --- CAMPOS DE FORMULARIO --- */
.field { display: flex; flex-direction: column; gap: 6px; }

.field label { font-size: 13px; font-weight: 600; color: var(--hel-ink-700); }

.input, .select, .textarea { width: 100%; padding: 10px 14px; border: 1px solid var(--hel-ink-200); border-radius: 8px; font-family: var(--hel-font-sans); font-size: 14px; color: var(--hel-ink-900); background: #fff; outline: none; transition: border-color .16s; }

.input:focus, .select:focus, .textarea:focus { border-color: var(--hel-teal-600); }

.textarea { min-height: 120px; resize: vertical; }

/* ===== FIX ICONOS FONT AWESOME ===== */
/* Asegurar que Font Awesome carga */
.elementor-icon-list-icon i { display: inline-flex !important; align-items: center !important; justify-content: center !important; font-style: normal !important; }

.elementor-icon-list-icon { display: inline-flex !important; }

/* Footer social icons - forzar visibilidad */
.elementor-element-footer-social .elementor-icon-list-icon { display: inline-flex !important; width: 38px !important; height: 38px !important; border-radius: 999px !important; background: rgba(255,255,255,0.55) !important; border: 1px solid rgba(18,24,33,0.08) !important; align-items: center !important; justify-content: center !important; }

.elementor-element-footer-social .elementor-icon-list-icon i { font-size: 15px !important; color: var(--hel-ink-500) !important; }

.elementor-element-footer-social .elementor-icon-list-item a:hover .elementor-icon-list-icon { background: #0A6E78 !important; border-color: #0A6E78 !important; }

.elementor-element-footer-social .elementor-icon-list-item a:hover .elementor-icon-list-icon i { color: #fff !important; }

.elementor-element-footer-social .elementor-icon-list-text { display: none !important; }

.elementor-element-footer-social .elementor-icon-list-items { display: flex !important; flex-direction: row !important; gap: 10px !important; flex-wrap: wrap !important; }

.elementor-element-footer-social .elementor-icon-list-item { width: auto !important; }

/* Footer más compacto */
.elementor-element-footer-newsletter > .e-con-inner { padding-top: 28px !important; padding-bottom: 28px !important; }

.elementor-element-footer-cols > .e-con-inner { padding-top: 32px !important; padding-bottom: 32px !important; gap: 24px !important; }

.elementor-element-footer-col1 > .e-con-inner { gap: 8px !important; }

.elementor-element-footer-col2 > .e-con-inner,
.elementor-element-footer-col3 > .e-con-inner,
.elementor-element-footer-col4 > .e-con-inner { gap: 6px !important; }

.elementor-element-footer-col2 .elementor-icon-list-items,
.elementor-element-footer-col3 .elementor-icon-list-items,
.elementor-element-footer-col4 .elementor-icon-list-items { gap: 6px !important; }

.elementor-element-footer-legal > .e-con-inner { padding-top: 14px !important; padding-bottom: 14px !important; }

/* === Helyora footer bg (forzado claro) === */
.elementor-element-footer-wrap{background:#EDF8F6 !important;background-image:none !important;}

/* ===================== HELYORA HEADER - bloque unico, reescrito de raiz (jun 2026) ===================== */
/* Logo */
.elementor-location-header .elementor-element-header-logo{flex-shrink:0;}
.elementor-location-header .elementor-element-header-logo img{width:164px;height:auto;}
/* Grupo derecho: idioma . carrito . CTA */
.elementor-location-header .elementor-element-header-right,
.elementor-location-header .elementor-element-header-right.e-con{flex-shrink:0;width:auto;}
.elementor-location-header .elementor-element-header-right > .e-con-inner{display:flex;flex-direction:row;align-items:center;justify-content:flex-end;gap:14px;padding:0;}
/* ---- Menu DESKTOP (>=768px) ---- */
@media (min-width:768px){
.elementor-location-header .elementor-element-header-nav{display:flex;flex:1;align-items:center;justify-content:center;}
.elementor-location-header .elementor-element-header-nav .elementor-nav-menu--main{display:flex;flex-direction:row;gap:0;margin:0;padding:0;list-style:none;}
.elementor-location-header .elementor-element-header-nav .elementor-menu-toggle{display:none !important;}
.elementor-location-header .elementor-element-header-nav .elementor-item{font-family:"Inter",sans-serif;font-size:13.5px;font-weight:500;color:#5d6675;letter-spacing:.2px;padding:8px 12px;border-radius:8px;text-decoration:none;transition:background-color .2s ease,color .16s;}
.elementor-location-header .elementor-element-header-nav .elementor-item:hover,
.elementor-location-header .elementor-element-header-nav .elementor-item.elementor-item-active{color:#121821;background-color:#EFFBF8;}
}
/* ---- Menu MOVIL (<=767px): una sola fila + hamburguesa ---- */
@media (max-width:767px){
.elementor-location-header .elementor-element-header-inner > .e-con-inner{flex-wrap:nowrap !important;width:100% !important;max-width:100% !important;box-sizing:border-box !important;padding-left:16px !important;padding-right:16px !important;gap:8px !important;}
.elementor-location-header .elementor-element-header-logo{order:1;flex:0 0 auto;}
.elementor-location-header .elementor-element-header-logo img{width:116px;max-width:116px;}
.elementor-location-header .elementor-element-header-right{order:3;margin-left:auto;flex:0 0 auto;}
.elementor-location-header .elementor-element-header-nav{order:2;display:flex !important;flex:0 0 auto;align-items:center;justify-content:center;margin-left:8px;}
.elementor-location-header .elementor-element-header-nav .elementor-nav-menu--main{display:none !important;}
.elementor-location-header .elementor-element-header-nav .elementor-menu-toggle{display:flex !important;color:#0A6E78 !important;background:transparent !important;width:40px;height:40px;align-items:center;justify-content:center;padding:0;margin:0;}
.elementor-location-header .elementor-element-header-nav .elementor-menu-toggle svg{fill:#0A6E78 !important;width:30px;height:30px;}
.elementor-location-header .elementor-element-header-cta{display:none !important;}
}
/* Panel desplegable movil */
.elementor-location-header .elementor-nav-menu--dropdown{background-color:#FBF9F8 !important;border-top:1px solid rgba(18,24,33,0.08);box-shadow:0 18px 40px rgba(18,24,33,0.10);}
.elementor-location-header .elementor-nav-menu--dropdown a.elementor-item{color:#12202A !important;font-weight:600;padding:15px 20px !important;border-bottom:1px solid rgba(18,24,33,0.05);}
.elementor-location-header .elementor-nav-menu--dropdown a.elementor-item:hover{background:#e6f3f5 !important;}
/* Carrito: sin recuadro */
.elementor-location-header .elementor-element-header-cart .elementor-button,
.elementor-location-header .elementor-element-header-cart .elementor-menu-cart__toggle .elementor-button{border:0 !important;background:transparent !important;box-shadow:none !important;padding:4px !important;}
.elementor-location-header .elementor-element-header-cart .elementor-button:hover{background:transparent !important;}
/* Selector de idioma: bandera de Espana en vez de texto */
.elementor-location-header .elementor-element-header-lang ul{list-style:none !important;margin:0 !important;padding:0 !important;display:flex;align-items:center;}
.elementor-location-header .elementor-element-header-lang li{list-style:none !important;margin:0 !important;}
.elementor-location-header .elementor-element-header-lang li::marker{content:"" !important;}
.elementor-location-header .elementor-element-header-lang a{font-size:0 !important;line-height:0 !important;display:inline-flex;align-items:center;text-decoration:none;}
.elementor-location-header .elementor-element-header-lang a::before{content:"";display:inline-block;width:24px;height:16px;border-radius:3px;box-shadow:0 0 0 1px rgba(0,0,0,0.10);background-size:cover;background-position:center;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 3 2'%3E%3Crect width='3' height='2' fill='%23AA151B'/%3E%3Crect y='0.5' width='3' height='1' fill='%23F1BF00'/%3E%3C/svg%3E");}

/* Anti-desbordamiento horizontal (movil) */
html,body{overflow-x:clip;max-width:100%;}/* End custom CSS */
