/* =====================================================================
   KODEUZ v2 · piezas comunes (encabezado, pie, botones, barra móvil, banda de industria)
   Se carga en TODAS las páginas, también en las 18 de industria (que conservan su propia hoja).
   Por eso todo va con prefijo kz2- y variables --kz-*: no choca con los estilos de cada industria.

   ►► PARA AJUSTAR EL DISEÑO (p. ej. cuando llegue la referencia del diseñador) cambia solo este bloque :root
   ===================================================================== */
:root{
  /* Marca */
  --kz-noche:#081725;          /* azul noche, fondo principal */
  --kz-noche-2:#0b1e30;        /* franja alterna */
  --kz-panel:#0e2336;          /* tarjetas sobre fondo oscuro */
  --kz-panel-2:#132b42;
  --kz-claro:#f4f6fb;          /* secciones claras */
  --kz-claro-2:#ffffff;
  --kz-g1:#5E47F7; --kz-g2:#A437E8; --kz-g3:#EE43A9; --kz-g4:#FDA54B;
  --kz-grad:linear-gradient(100deg,var(--kz-g1) 0%,var(--kz-g2) 36%,var(--kz-g3) 68%,var(--kz-g4) 100%);
  /* Degradado del botón: solo hasta el magenta oscuro para que el texto blanco tenga contraste AA (≥4.5:1) */
  --kz-grad-boton:linear-gradient(100deg,#5E47F7 0%,#A437E8 55%,#C2338A 100%);
  /* Texto */
  --kz-texto:#eef2f8; --kz-suave:#b8c3d4; --kz-tenue:#8f9db2;
  --kz-tinta:#081725; --kz-tinta-suave:#3d4a5e; --kz-tinta-tenue:#5b6578;
  --kz-linea:rgba(160,190,230,.14); --kz-linea-2:rgba(160,190,230,.08); --kz-linea-clara:rgba(8,23,37,.1);
  /* Forma y tipografía */
  --kz-radio:20px; --kz-radio-s:12px;
  --kz-disp:'Manrope',system-ui,-apple-system,'Segoe UI',sans-serif;
  --kz-sans:'DM Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
  --kz-pad:clamp(16px,5vw,72px);
  --kz-max:1200px;
  --kz-alto-header:72px;
}

/* ---- Saltar al contenido (accesibilidad) ---- */
.kz2-skip{position:absolute;left:12px;top:-60px;z-index:200;background:#fff;color:var(--kz-tinta);padding:10px 16px;border-radius:10px;font:600 14px var(--kz-sans);text-decoration:none}
.kz2-skip:focus{top:12px}

/* ---- Botones ---- */
.kz2-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 24px;border-radius:999px;font:700 15px/1 var(--kz-sans);letter-spacing:.005em;text-decoration:none;cursor:pointer;border:0;transition:transform .2s ease,box-shadow .25s ease,background-color .2s ease,color .2s ease;white-space:nowrap}
.kz2-btn:focus-visible{outline:3px solid var(--kz-g4);outline-offset:3px}
.kz2-btn .kz2-flecha{transition:transform .2s ease}
.kz2-btn:hover .kz2-flecha{transform:translateX(3px)}
.kz2-btn--grad{color:#fff;background:var(--kz-grad-boton);box-shadow:0 10px 30px -12px rgba(164,55,232,.7)}
.kz2-btn--grad:hover{transform:translateY(-1px);box-shadow:0 16px 40px -12px rgba(238,67,169,.65)}
.kz2-btn--claro{color:var(--kz-tinta);background:#fff}
.kz2-btn--claro:hover{transform:translateY(-1px);box-shadow:0 14px 34px -14px rgba(253,165,75,.7)}
.kz2-btn--borde{color:var(--kz-texto);background:transparent;box-shadow:inset 0 0 0 1px rgba(238,242,248,.28)}
.kz2-btn--borde:hover{box-shadow:inset 0 0 0 1px rgba(238,242,248,.6)}
.kz2-btn--borde-oscuro{color:var(--kz-tinta);background:transparent;box-shadow:inset 0 0 0 1px rgba(8,23,37,.25)}
.kz2-btn--borde-oscuro:hover{box-shadow:inset 0 0 0 1px rgba(8,23,37,.6)}
.kz2-btn--grande{min-height:56px;padding:0 30px;font-size:16px}

/* ---- Distintivo oficial «Odoo Ready Partner» (odoo.com/page/brand-assets): archivo SVG original, sin alterar,
   en sus colores, sobre fondo blanco, con aire alrededor y el logo de Odoo por encima de 20 px de alto ---- */
a.kz2-partner,.kz2-partner{display:inline-flex;align-items:center;gap:6px;background:#fff;color:var(--kz-tinta);border-radius:14px;padding:0 16px 0 2px;min-height:60px;font:700 12.5px/1.25 var(--kz-sans);letter-spacing:.01em;text-decoration:none;white-space:nowrap;box-shadow:0 0 0 1px rgba(8,23,37,.06)}
.kz2-partner img{height:60px;width:120px;display:block;flex:none}
.kz2-partner span{padding-left:12px;border-left:1px solid rgba(8,23,37,.15)}
.kz2-partner:focus-visible{outline:3px solid var(--kz-g4);outline-offset:3px}

/* ---- Encabezado ---- */
.kz2-header{position:fixed;inset:0 0 auto 0;z-index:100;height:var(--kz-alto-header);background:rgba(8,23,37,.72);backdrop-filter:saturate(140%) blur(14px);-webkit-backdrop-filter:saturate(140%) blur(14px);border-bottom:1px solid transparent;transition:background-color .25s,border-color .25s;font-family:var(--kz-sans)}
.kz2-header.is-scrolled{background:rgba(8,23,37,.92);border-bottom-color:var(--kz-linea)}
.kz2-header__in{height:100%;max-width:calc(var(--kz-max) + 2*var(--kz-pad));margin:0 auto;padding:0 var(--kz-pad);display:flex;align-items:center;gap:28px}
.kz2-logo{display:inline-flex;align-items:center;flex:none}
.kz2-logo img{height:30px;width:auto;display:block}
.kz2-nav{display:flex;align-items:center;gap:26px;margin-left:auto}
.kz2-nav a{color:var(--kz-suave);font:500 14.5px/1 var(--kz-sans);text-decoration:none;padding:8px 0;position:relative}
.kz2-nav a:hover,.kz2-nav a[aria-current="page"]{color:#fff}
.kz2-nav a[aria-current="page"]:after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;border-radius:2px;background:var(--kz-grad)}
.kz2-nav a:focus-visible,.kz2-logo:focus-visible,.kz2-burger:focus-visible{outline:3px solid var(--kz-g4);outline-offset:4px;border-radius:6px}
.kz2-nav__cta-movil{display:none!important}
.kz2-header__cta{min-height:42px;padding:0 18px;font-size:14px}
.kz2-burger{display:none;margin-left:auto;width:44px;height:44px;border-radius:12px;border:1px solid var(--kz-linea);background:transparent;cursor:pointer;place-items:center;gap:5px;padding:0}
.kz2-burger span{display:block;width:18px;height:2px;border-radius:2px;background:#fff;transition:transform .2s}
.kz2-header.is-open .kz2-burger span:first-child{transform:translateY(3.5px) rotate(45deg)}
.kz2-header.is-open .kz2-burger span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
@media (max-width:980px){
  .kz2-burger{display:grid}
  .kz2-header__cta{display:none}
  .kz2-nav{position:fixed;top:var(--kz-alto-header);left:0;right:0;flex-direction:column;align-items:stretch;gap:0;margin:0;padding:8px var(--kz-pad) 22px;background:var(--kz-noche);border-bottom:1px solid var(--kz-linea);transform:translateY(-12px);opacity:0;visibility:hidden;transition:opacity .2s,transform .2s,visibility .2s}
  .kz2-header.is-open .kz2-nav{transform:none;opacity:1;visibility:visible}
  .kz2-nav a{padding:16px 0;font-size:17px;border-bottom:1px solid var(--kz-linea-2)}
  .kz2-nav a[aria-current="page"]:after{display:none}
  .kz2-nav__cta-movil{display:flex!important;justify-content:center;margin-top:16px;border:0!important;border-radius:999px;color:#fff!important;background:var(--kz-grad-boton);font-weight:700!important}
}

/* ---- Barra fija en celular: los dos CTA siempre a mano ---- */
.kz2-sticky{display:none}
@media (max-width:760px){
  .kz2-sticky{position:fixed;left:0;right:0;bottom:0;z-index:90;display:grid;grid-template-columns:1fr 1.25fr;gap:10px;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:rgba(8,23,37,.94);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--kz-linea);transform:translateY(110%);transition:transform .3s ease}
  .kz2-sticky.is-visible{transform:none}
  .kz2-sticky .kz2-btn{min-height:46px;padding:0 12px;font-size:14.5px}
  body.kz2-con-sticky{padding-bottom:78px}
}

/* ---- Banda «Diagnóstico» al final de cada industria ---- */
.kz2-banda{position:relative;overflow:hidden;background:var(--kz-noche);color:var(--kz-texto);font-family:var(--kz-sans);padding:clamp(56px,8vw,96px) var(--kz-pad)}
.kz2-banda:before{content:"";position:absolute;inset:auto -10% -60% -10%;height:120%;background:radial-gradient(60% 50% at 50% 50%,rgba(164,55,232,.28),transparent 70%);pointer-events:none}
.kz2-banda__in{position:relative;max-width:var(--kz-max);margin:0 auto;display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(28px,5vw,64px);align-items:center}
.kz2-banda__eti{display:inline-block;font:700 12px/1 var(--kz-sans);letter-spacing:.16em;text-transform:uppercase;background:var(--kz-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.kz2-banda h2{font:800 clamp(28px,3.6vw,46px)/1.08 var(--kz-disp);letter-spacing:-.02em;margin:14px 0 14px;color:#fff}
.kz2-banda p{color:var(--kz-suave);font-size:17px;line-height:1.6;margin:0;max-width:56ch}
.kz2-banda__acciones{display:grid;gap:12px;justify-items:start}
.kz2-banda__nota{font-size:13.5px!important;color:var(--kz-tenue)!important}
@media (max-width:820px){.kz2-banda__in{grid-template-columns:1fr}}

/* ---- Pie ---- */
footer.kz2-foot{display:block;grid-template-columns:none;border-top:1px solid var(--kz-linea);background:#06111c;color:var(--kz-suave);font-family:var(--kz-sans);padding:clamp(48px,6vw,72px) var(--kz-pad) 28px}
.kz2-foot__in{max-width:var(--kz-max);margin:0 auto}
.kz2-foot__grid{display:grid;grid-template-columns:1.3fr repeat(3,1fr);gap:36px}
.kz2-foot__marca img.kz2-foot__logo{height:30px;width:auto;display:block}
.kz2-foot__marca p{margin:16px 0 18px;max-width:34ch;font-size:14.5px;line-height:1.6;color:var(--kz-suave);text-align:left;justify-self:auto}
.kz2-foot h3{font:700 12px/1 var(--kz-sans);letter-spacing:.14em;text-transform:uppercase;color:#fff;margin:6px 0 16px}
.kz2-foot ul{list-style:none;margin:0;padding:0;display:grid;gap:11px}
.kz2-foot a{color:var(--kz-suave);text-decoration:none;font-size:14.5px}
.kz2-foot a:hover{color:#fff}
.kz2-foot a:focus-visible{outline:3px solid var(--kz-g4);outline-offset:3px;border-radius:4px}
.kz2-foot__legal{margin-top:44px;padding-top:22px;border-top:1px solid var(--kz-linea-2);display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 24px;font-size:12.5px;line-height:1.6;color:var(--kz-tenue)}
.kz2-foot__legal small{grid-column:auto;border:0;padding:0;font-size:12.5px;color:var(--kz-tenue)}
@media (max-width:860px){.kz2-foot__grid{grid-template-columns:1fr 1fr}.kz2-foot__marca{grid-column:1/-1}}
@media (max-width:480px){.kz2-foot__grid{grid-template-columns:1fr}}

@media (prefers-reduced-motion:reduce){
  .kz2-btn,.kz2-header,.kz2-nav,.kz2-sticky{transition:none!important}
}
/* El texto del distintivo siempre oscuro sobre su fondo blanco (también dentro del pie) */
.kz2-foot a.kz2-partner,.kz2-foot a.kz2-partner:hover{color:var(--kz-tinta)}
