/* ── Barra v4 en cápsula (10-oct-2026) ──────────────────────────────────────
   Cápsula flotante translúcida que se compacta al bajar, indicador que se desliza
   bajo el producto, y un desplegable por producto que cambia de tamaño al pasar de
   uno a otro (como Stripe/Linear) con un mini clip del panel (escenas-barra/).
   Va en su propio fichero y se enlaza desde v4_barra(): las reglas viejas de .barra
   y .menu (estilo-v4.css, v4-web.css) se anulan aquí, no se tocan allí.
   Lógica: assets/js/v4-barra.js. */

.barra.bn{
  --bn-alto:52px;
  --bn-curva:cubic-bezier(.22,.8,.24,1);
  position:sticky;top:0;z-index:60;height:68px;padding:0 var(--pad);
  background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;border:0;
}
.barra.bn.borde{border:0}

/* La cápsula */
.bn-cap{
  position:relative;isolation:isolate;max-width:1200px;height:var(--bn-alto);margin:10px auto 0;
  display:flex;align-items:center;gap:18px;padding:0 7px 0 20px;border-radius:999px;
  background:rgba(14,14,16,.56);
  -webkit-backdrop-filter:blur(18px) saturate(1.6);backdrop-filter:blur(18px) saturate(1.6);
  border:1px solid rgba(255,255,255,.075);
  box-shadow:0 12px 32px -14px rgba(0,0,0,.75),inset 0 1px 0 rgba(255,255,255,.05);
  transition:max-width .55s var(--bn-curva),height .45s var(--bn-curva),margin .45s var(--bn-curva),background .4s,box-shadow .4s,border-color .4s;
}
/* Foco de luz que sigue al puntero y filo brillante del borde */
.bn-cap::before,.bn-cap::after{content:"";position:absolute;inset:-1px;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .35s}
.bn-cap::before{z-index:-1;background:radial-gradient(220px 120px at var(--mx,50%) var(--my,50%),rgba(124,147,255,.10),transparent 70%)}
.bn-cap::after{
  padding:1px;
  background:radial-gradient(160px 60px at var(--mx,50%) 0,rgba(180,195,255,.55),transparent 75%),
             radial-gradient(160px 60px at var(--mx,50%) 100%,rgba(124,147,255,.35),transparent 75%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;
  mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);
}
.bn-cap:hover::before,.bn-cap:hover::after,.barra.bn.abierta .bn-cap::after{opacity:1}

/* Al bajar: más estrecha, más baja y más opaca */
.barra.bn.compacta{--bn-alto:48px}
.barra.bn.compacta .bn-cap{
  max-width:1100px;margin-top:9px;background:rgba(12,12,14,.78);border-color:rgba(255,255,255,.09);
  box-shadow:0 18px 40px -14px rgba(0,0,0,.9),0 0 0 1px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.06);
}

.barra.bn .logo{flex:none}

/* Productos */
.bn-nav{position:relative;margin:0 auto;height:100%;display:flex;align-items:center}
.bn-lista{display:flex;align-items:center;gap:2px;margin:0;padding:0;list-style:none}
.bn-li{position:relative;z-index:1;display:flex;align-items:center;height:36px}
.bn-enl{padding:0 3px 0 14px;height:100%;display:flex;align-items:center;font:400 14.5px/1 var(--disp);color:var(--tinta-2);white-space:nowrap;transition:color .2s}
.bn-abre{height:100%;width:26px;padding:0 10px 0 2px;display:grid;place-items:center;border:0;background:none;color:var(--tinta-3);cursor:pointer;border-radius:0 999px 999px 0;transition:color .2s}
.bn-abre svg{width:12px;height:12px;transition:transform .35s var(--bn-curva)}
.bn-li:hover .bn-enl,.bn-li:hover .bn-abre,.bn-abre[aria-expanded="true"],.bn-li:has([aria-expanded="true"]) .bn-enl{color:var(--tinta)}
.bn-abre[aria-expanded="true"] svg{transform:rotate(180deg)}
.bn-li.activa .bn-enl{color:var(--tinta);font-weight:500}
.bn-enl:focus-visible,.bn-abre:focus-visible{outline:2px solid var(--azul-claro,#7c93ff);outline-offset:-2px;border-radius:999px}
html:not(.js) .bn-abre{display:none}
html:not(.js) .bn-enl{padding-right:14px}

/* Indicador: una píldora que se desliza y una raya de luz en el filo de la cápsula */
.bn-ind{
  position:absolute;top:50%;left:0;height:36px;width:var(--iw,0);margin-top:-18px;border-radius:999px;
  transform:translateX(var(--ix,0));opacity:0;pointer-events:none;
  background:rgba(255,255,255,.065);box-shadow:inset 0 0 0 1px rgba(255,255,255,.06);
  transition:transform .42s var(--bn-curva),width .42s var(--bn-curva),opacity .25s;
}
.bn-ind::after{
  content:"";position:absolute;left:50%;bottom:calc((36px - var(--bn-alto)) / 2 - 1px);width:22px;height:2px;margin-left:-11px;border-radius:2px;
  background:linear-gradient(90deg,transparent,#9fb0ff,transparent);box-shadow:0 0 12px 1px rgba(59,91,255,.9);
}
.bn-nav.ind-on .bn-ind{opacity:1}
.bn-nav.ind-quieto .bn-ind{transition:opacity .25s}

/* Acciones */
.barra.bn .acciones{flex:none;gap:6px}
.barra.bn .acceder{height:38px}
.barra.bn.compacta .acceder{height:36px}
.bn-hamb{display:none}

/* ── El desplegable ─────────────────────────────────────────────────────── */
.bn-escena{
  position:absolute;top:70px;left:0;width:var(--ew,680px);height:var(--eh,300px);
  transform:translateX(var(--ex,0)) translateY(-6px) scale(.97);transform-origin:var(--px,50%) 0;
  opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity .22s,transform .4s var(--bn-curva),width .4s var(--bn-curva),height .4s var(--bn-curva),visibility 0s linear .22s;
}
.barra.bn.compacta .bn-escena{top:64px}
.barra.bn.abierta .bn-escena{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(var(--ex,0));transition:opacity .22s,transform .4s var(--bn-curva),width .4s var(--bn-curva),height .4s var(--bn-curva),visibility 0s}
.bn-escena.sin-mover{transition:opacity .22s,visibility 0s linear .22s}
/* Puente invisible entre la cápsula y el desplegable: el puntero no lo cierra al bajar */
.bn-escena::before{content:"";position:absolute;left:0;right:0;top:-14px;height:14px}
.bn-fondo{
  position:absolute;inset:0;border-radius:22px;overflow:hidden;
  background:rgba(13,13,15,.9);-webkit-backdrop-filter:blur(22px) saturate(1.6);backdrop-filter:blur(22px) saturate(1.6);
  border:1px solid rgba(255,255,255,.09);
  box-shadow:0 34px 80px -24px rgba(0,0,0,.95),0 0 0 1px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.06);
}
.bn-fondo::after{content:"";position:absolute;inset:0;background:radial-gradient(420px 220px at var(--px,50%) -40px,rgba(59,91,255,.13),transparent 70%);transition:background-position .4s}
.bn-pico{
  position:absolute;z-index:1;top:-6px;left:var(--px,50%);width:12px;height:12px;margin-left:-6px;transform:rotate(45deg);
  background:#141418;border-left:1px solid rgba(255,255,255,.1);border-top:1px solid rgba(255,255,255,.1);border-radius:3px 0 0 0;
  transition:left .4s var(--bn-curva);
}

.bn-panel{
  position:absolute;top:0;left:0;z-index:2;width:680px;padding:22px;
  display:grid;grid-template-columns:1fr 320px;gap:22px;
  opacity:0;visibility:hidden;transition:opacity .2s,transform .4s var(--bn-curva),visibility 0s linear .2s;
}
.bn-panel.ver{opacity:1;visibility:visible;transform:none;transition:opacity .28s .05s,transform .4s var(--bn-curva),visibility 0s}
.bn-col{display:flex;flex-direction:column;min-width:0;padding:4px 0 2px 4px}
.bn-ojo{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;font:500 11px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--tinta-3)}
.bn-ojo span{font:500 12.5px/1 var(--disp);letter-spacing:0;text-transform:none;color:#b8c4ff;background:rgba(59,91,255,.13);box-shadow:inset 0 0 0 1px rgba(124,147,255,.22);padding:5px 9px;border-radius:999px}
.bn-lema{margin:12px 0 12px;font:500 17px/1.3 var(--disp);letter-spacing:-.015em;color:var(--tinta)}
.bn-sub{list-style:none;margin:0 -10px;padding:0;display:grid;gap:1px}
.bn-sub a{position:relative;display:grid;gap:3px;padding:9px 30px 9px 10px;border-radius:12px;transition:background .18s}
.bn-sub b{font:500 14.5px/1.2 var(--disp);color:var(--tinta)}
.bn-sub span{font:400 13px/1.3 var(--disp);color:var(--tinta-3);transition:color .18s}
.bn-sub a::after{content:"→";position:absolute;right:12px;top:50%;margin-top:-9px;font:400 14px/18px var(--disp);color:var(--tinta-2);opacity:0;transform:translateX(-6px);transition:opacity .18s,transform .25s var(--bn-curva)}
.bn-sub a:hover,.bn-sub a:focus-visible{background:rgba(255,255,255,.05)}
.bn-sub a:hover span,.bn-sub a:focus-visible span{color:var(--tinta-2)}
.bn-sub a:hover::after,.bn-sub a:focus-visible::after{opacity:1;transform:none}
.bn-sub a:focus-visible,.bn-todo:focus-visible{outline:2px solid var(--azul-claro,#7c93ff);outline-offset:-2px}
.bn-todo{margin-top:auto;padding-top:12px;align-self:flex-start;display:inline-flex;align-items:center;gap:6px;font:500 13.5px/1 var(--disp);color:#a9b8ff;border-radius:8px;transition:gap .25s var(--bn-curva),color .2s}
.bn-todo svg{width:14px;height:14px}
.bn-todo:hover{gap:10px;color:#c9d2ff}

/* El hueco del clip: rejilla tenue + halo azul, y el vídeo transparente encima */
.bn-clip{
  position:relative;width:320px;height:220px;border-radius:16px;overflow:hidden;align-self:center;
  background:
    radial-gradient(70% 70% at 50% 55%,rgba(59,91,255,.16),transparent 70%),
    linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px) 0 0/22px 22px,
    linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px) 0 0/22px 22px,
    #0a0a0c;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.06);
}
.bn-clip::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(120% 90% at 50% 50%,transparent 55%,rgba(10,10,12,.85))}
.bn-clip video,.bn-clip img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:block}
.bn-clip video{opacity:0;transition:opacity .35s}
.bn-clip video.va{opacity:1}

/* ── Móvil y tableta ───────────────────────────────────────────────────── */
.bn-movil{display:none}
@media (max-width:1080px){
  .bn-nav,.bn-escena{display:none}
  .bn-cap{padding:0 6px 0 16px;gap:10px}
  .barra.bn .acciones{margin-left:auto}
  .bn-hamb{display:grid;width:40px;height:40px;border-radius:999px}
  .bn-hamb span{position:relative;width:18px;height:12px;display:block}
  .bn-hamb i{position:absolute;left:0;width:18px;height:1.6px;border-radius:2px;background:currentColor;transition:transform .35s var(--bn-curva),top .35s var(--bn-curva)}
  .bn-hamb i:first-child{top:2px}
  .bn-hamb i:last-child{top:8.4px}
  .bn-hamb[aria-expanded="true"]{background:rgba(255,255,255,.07);color:var(--tinta)}
  .bn-hamb[aria-expanded="true"] i:first-child{top:5.2px;transform:rotate(45deg)}
  .bn-hamb[aria-expanded="true"] i:last-child{top:5.2px;transform:rotate(-45deg)}

  .bn-movil{
    display:block;position:absolute;top:70px;left:var(--pad);right:var(--pad);max-height:calc(100svh - 84px);overflow:auto;overscroll-behavior:contain;
    padding:8px;border-radius:22px;background:rgba(13,13,15,.94);
    -webkit-backdrop-filter:blur(22px) saturate(1.6);backdrop-filter:blur(22px) saturate(1.6);
    border:1px solid rgba(255,255,255,.09);box-shadow:0 34px 80px -20px rgba(0,0,0,.95);
    transform-origin:top right;transform:translateY(-8px) scale(.97);opacity:0;visibility:hidden;
    transition:opacity .22s,transform .35s var(--bn-curva),visibility 0s linear .22s;
  }
  .barra.bn.compacta .bn-movil{top:64px}
  .barra.bn.movil-abierto .bn-movil{opacity:1;visibility:visible;transform:none;transition:opacity .22s,transform .35s var(--bn-curva),visibility 0s}
  .bn-m{border-radius:16px;transition:background .2s}
  .bn-m[open]{background:rgba(255,255,255,.035)}
  .bn-m summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 14px;border-radius:16px;cursor:pointer}
  .bn-m summary::-webkit-details-marker{display:none}
  .bn-m summary>span{display:grid;gap:4px;font:500 18px/1.15 var(--disp);color:var(--tinta);letter-spacing:-.01em}
  .bn-m summary small{font:400 13px/1.2 var(--disp);color:var(--tinta-3);letter-spacing:0}
  .bn-m summary svg{width:16px;height:16px;flex:none;color:var(--tinta-3);transition:transform .3s var(--bn-curva)}
  .bn-m[open] summary svg{transform:rotate(180deg)}
  .bn-m summary:focus-visible{outline:2px solid var(--azul-claro,#7c93ff);outline-offset:-2px}
  .bn-m ul{list-style:none;margin:0;padding:0 10px 10px 14px;display:flex;flex-wrap:wrap;gap:6px}
  .bn-m li a{display:inline-flex;align-items:center;height:36px;padding:0 13px;border-radius:999px;font:400 14px/1 var(--disp);color:var(--tinta-2);background:rgba(255,255,255,.05);box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}
  .bn-m li:first-child a{color:#c9d2ff;background:rgba(59,91,255,.16);box-shadow:inset 0 0 0 1px rgba(124,147,255,.25)}
  .bn-m li a:hover{color:var(--tinta)}
  .bn-m-consola{display:flex;width:100%;height:48px;margin-top:8px;justify-content:center;background:var(--inv,#f2f2f2);color:var(--inv-t,#08080a);border:0}
}
@media (max-width:560px){
  .barra.bn{padding:0 12px}
  .bn-cap{padding:0 5px 0 14px;gap:6px}
  .barra.bn .logo{font-size:17px;gap:9px}
  .barra.bn .logo i{width:22px;height:20px}
  .barra.bn .idi{padding:0 7px}
  .barra.bn .idi b{display:none}
  .bn-movil{left:12px;right:12px}
}

@media (prefers-reduced-motion:reduce){
  .bn-cap,.bn-ind,.bn-escena,.bn-panel,.bn-pico,.bn-movil,.bn-hamb i,.bn-abre svg,.bn-sub a::after,.bn-todo{transition-duration:.01ms!important;transition-delay:0s!important}
  .bn-cap::before,.bn-cap::after{display:none}
}
