/* BBS Header Público 1.0.2 · línea de diseño v5 · 2026-10-15 */

/* la plantilla de Elementor que contiene el shortcode se vuelve la barra fija, sin rellenos propios */
/* con barra de aviso, el «top» negativo deja que la barra de aviso se vaya con el scroll y la principal quede fija */
.elementor-location-header:has(.bbshp){--bbshp-top:0px;position:sticky;top:calc(var(--bbshp-adm,0px) - var(--bbshp-top));z-index:999}
.elementor-location-header:has(.bbshp.con-barra){--bbshp-top:38px}
body.admin-bar .elementor-location-header:has(.bbshp){--bbshp-adm:32px}
@media (max-width:782px){body.admin-bar .elementor-location-header:has(.bbshp){--bbshp-adm:46px}}
@media (max-width:720px){.elementor-location-header:has(.bbshp.con-barra){--bbshp-top:34px}}
@media (max-width:600px){body.admin-bar .elementor-location-header:has(.bbshp){--bbshp-adm:0px}}
.elementor-location-header .e-con:has(.bbshp),.elementor-location-header .elementor-widget:has(.bbshp),.elementor-location-header .elementor-widget-container:has(.bbshp),.elementor-location-header .elementor-shortcode:has(.bbshp){padding:0!important;margin:0!important;max-width:none!important;--padding-top:0px;--padding-right:0px;--padding-bottom:0px;--padding-left:0px;--content-width:100%;--gap:0px;background:none!important;border:0!important;overflow:visible!important}
/* 1.0.2: el contenedor de Elementor trae overflow:hidden y recortaba el menú desplegable del celular */

.bbshp{--ink:#0B1B2E;--body:#3B4656;--navy:#0F2D4F;--navy2:#163C66;--gold:#C29A43;--rule:rgba(231,227,218,.9);
  position:relative;font-family:"Inter",system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased;
  background:rgba(252,251,248,.84);-webkit-backdrop-filter:saturate(1.6) blur(14px);backdrop-filter:saturate(1.6) blur(14px);
  border-bottom:1px solid var(--rule);transition:box-shadow .3s ease,background .3s ease}
.bbshp.sc{background:rgba(252,251,248,.92);box-shadow:0 8px 24px -18px rgba(11,27,46,.35)}
.bbshp *{box-sizing:border-box}
.bbshp a{text-decoration:none!important}
.bbshp ul{list-style:none;margin:0;padding:0}
.bbshp-in{max-width:1200px;margin:0 auto;padding:0 40px;height:68px;display:flex;align-items:center;gap:36px}
.bbshp-logo{display:flex;align-items:center;flex:none;border-radius:6px}
/* «.bbshp» delante y !important: el CSS de Elementor (.elementor img{height:auto;max-width:100%}) carga después y estiraba el logo */
.bbshp .bbshp-logo img{display:block;height:34px!important;width:auto!important;max-width:none!important;border:0}
.bbshp-nav ul{display:flex;align-items:center;gap:4px}
.bbshp-nav a{position:relative;display:block;padding:8px 11px;border-radius:8px;font-size:15px;font-weight:500;line-height:1.2;color:var(--body);letter-spacing:-.005em;white-space:nowrap;transition:color .2s,background .2s}
.bbshp-nav a:hover{color:var(--ink);background:rgba(11,27,46,.045)}
.bbshp-nav a.on{color:var(--ink);font-weight:600}
.bbshp-nav a.on::after{content:"";position:absolute;left:11px;right:11px;bottom:1px;height:2px;border-radius:2px;background:var(--gold)}
.bbshp-r{margin-left:auto;display:flex;align-items:center;gap:20px;flex:none}
.bbshp-login{font-size:15px;font-weight:500;color:var(--ink);white-space:nowrap}
.bbshp-login:hover{color:var(--navy2)}
.bbshp-cta{display:inline-flex;align-items:center;gap:7px;height:40px;padding:0 18px;border-radius:999px;background:var(--navy);color:#fff!important;font-size:15px;font-weight:600;white-space:nowrap;transition:background .2s,box-shadow .2s}
.bbshp-cta span{display:inline-block;transition:transform .25s ease}
.bbshp-cta:hover{background:var(--navy2);box-shadow:0 8px 20px -10px rgba(15,45,79,.6)}
.bbshp-cta:hover span{transform:translateX(3px)}
.bbshp a:focus-visible,.bbshp button:focus-visible{outline:2px solid var(--gold);outline-offset:2px}

/* botón de menú (solo en pantallas medianas y chicas) */
.bbshp-burger{display:none;position:relative;width:44px;height:44px;margin-right:-10px;border:0;background:none;border-radius:10px;cursor:pointer;padding:0}
.bbshp-burger i{position:absolute;left:12px;right:12px;height:2px;border-radius:2px;background:var(--ink);transition:transform .3s ease,opacity .2s ease}
.bbshp-burger i:nth-child(1){top:15px}.bbshp-burger i:nth-child(2){top:21px}.bbshp-burger i:nth-child(3){top:27px}
.bbshp.open .bbshp-burger i:nth-child(1){transform:translateY(6px) rotate(45deg)}
.bbshp.open .bbshp-burger i:nth-child(2){opacity:0}
.bbshp.open .bbshp-burger i:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

/* panel desplegable */
.bbshp-panel{position:absolute;left:0;right:0;top:100%;background:#FCFBF8;border-bottom:1px solid var(--rule);box-shadow:0 30px 60px -30px rgba(11,27,46,.35);padding:8px 20px 24px;max-height:calc(100vh - 68px);overflow-y:auto;
  opacity:0;transform:translateY(-8px);transition:opacity .25s ease,transform .25s ease}
.bbshp-panel[hidden]{display:none}
.bbshp.open .bbshp-panel{opacity:1;transform:none}
.bbshp-panel li a{display:flex;align-items:center;justify-content:space-between;padding:15px 4px;border-bottom:1px solid #EFEBE2;font-size:19px;font-weight:600;letter-spacing:-.02em;color:var(--ink)}
.bbshp-panel li a span{color:var(--navy);font-weight:500}
.bbshp-panel li a.on{color:var(--navy)}
.bbshp-panel-cta{display:flex;flex-direction:column;align-items:stretch;gap:14px;margin-top:22px;text-align:center}
.bbshp-panel-cta .bbshp-cta{justify-content:center;height:48px;font-size:16px}
.bbshp-panel-cta .bbshp-login{padding:6px}


/* ---------- barra de aviso: información viva, no adorno ---------- */
.bbshp-top{position:relative;background:#0B1626;color:#C9D0DA;overflow:hidden}
.bbshp-top::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent 0%,rgba(194,154,67,.0) 20%,rgba(227,194,122,.85) 50%,rgba(194,154,67,0) 80%,transparent 100%);background-size:60% 100%;background-repeat:no-repeat;animation:bbshp-brillo 7s ease-in-out infinite}
@keyframes bbshp-brillo{0%{background-position:-60% 0}100%{background-position:160% 0}}
.bbshp-top-in{max-width:1200px;margin:0 auto;padding:0 40px;height:38px;display:flex;align-items:center;gap:24px;font-size:13px;line-height:1}
.bbshp-mkt{display:inline-flex;align-items:center;gap:8px;flex:none;font-variant-numeric:tabular-nums;color:#AEB6C2}
.bbshp-mkt i{width:7px;height:7px;border-radius:50%;background:#6B7380}
.bbshp-mkt.abierto i{background:#3FCF8E;box-shadow:0 0 0 3px rgba(63,207,142,.18)}
.bbshp-mkt b{color:#fff;font-weight:600}
.bbshp-aviso{flex:1;min-width:0;display:flex;align-items:center;justify-content:center;gap:8px;color:#fff!important;font-weight:500;white-space:nowrap;overflow:hidden}
.bbshp-aviso [data-bbshp-txt]{overflow:hidden;text-overflow:ellipsis}
.bbshp-aviso b{color:#E3C27A;font-weight:600;transition:transform .25s ease}
.bbshp-aviso:hover b{transform:translateX(3px)}
.bbshp-aviso .vivo{display:inline-flex;align-items:center;gap:7px;color:#FFB4A8;font-weight:600}
.bbshp-aviso .vivo::before{content:"";width:7px;height:7px;border-radius:50%;background:#FF8A7A;animation:bbshp-late 1.8s ease-out infinite}
@keyframes bbshp-late{0%{box-shadow:0 0 0 0 rgba(255,138,122,.55)}70%{box-shadow:0 0 0 7px rgba(255,138,122,0)}100%{box-shadow:0 0 0 0 rgba(255,138,122,0)}}
.bbshp-util{display:flex;gap:18px;flex:none}
.bbshp-util a{color:#C9D0DA;font-weight:500;transition:color .2s}
.bbshp-util a:hover,.bbshp-util a.on{color:#fff}
.bbshp-panel li.ex a{font-size:16px;font-weight:500;color:#3B4656}
@media (max-width:1360px){.bbshp-top-in{padding:0 28px}}
@media (max-width:900px){.bbshp-util{display:none}}
@media (max-width:720px){
  .bbshp-top-in{height:34px;padding:0 16px;gap:12px;font-size:12.5px}
  .bbshp-mkt{display:none}
  .bbshp-aviso{justify-content:flex-start}
}
@media (max-width:1360px){
  .bbshp-in{gap:22px;padding:0 28px}
  .bbshp-nav a{padding:8px 7px}
  .bbshp-nav a.on::after{left:7px;right:7px}
  .bbshp-r{gap:14px}
}
@media (max-width:1180px){
  .bbshp-nav,.bbshp-r>.bbshp-login{display:none}
  .bbshp-burger{display:block}
  .bbshp-r{gap:10px}
}
@media (max-width:720px){
  .bbshp-in{height:62px;padding:0 20px;gap:12px}
  .bbshp .bbshp-logo img{height:28px!important}
  .bbshp-r>.bbshp-cta{height:38px;padding:0 14px;font-size:14px}
  .bbshp-panel{max-height:calc(100vh - 62px)}
}
@media (max-width:360px){.bbshp-r>.bbshp-cta span{display:none}}
@media (prefers-reduced-motion:reduce){.bbshp,.bbshp *,.bbshp *::before,.bbshp-top::after{transition:none!important;animation:none!important}}
