/*! Vaporex Design · vx-header */

.vx-header .hdr{position:sticky;top:0;z-index:100;background:#fff;box-shadow:0 1px 0 var(--vx-line);transition:box-shadow .35s}
.vx-header .hdr.is-scrolled{box-shadow:0 1px 0 var(--vx-line),0 12px 30px -24px rgba(15,35,64,.35)}
.vx-header .hdr__in{width:min(var(--vx-wrap),100% - 2*var(--vx-gutter));margin-inline:auto;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:32px;height:92px;transition:height .35s var(--vx-ease)}
.vx-header .hdr.is-scrolled .hdr__in{height:72px}
.vx-header .hdr__logo img{width:190px;height:auto;transition:width .35s var(--vx-ease)}
.vx-header .hdr.is-scrolled .hdr__logo img{width:160px}
.vx-header .nav{justify-self:center}
.vx-header .nav__list{display:flex;gap:10px}
.vx-header .nav__list>li{position:relative}
.vx-header .nav__list>li>a{display:block;padding:10px 14px;font-weight:500;font-size:16px;position:relative;color:#1f3b5c}
.vx-header .nav__list>li>a::after{content:"";position:absolute;left:14px;right:14px;bottom:2px;height:2px;background:var(--vx-blue);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--vx-ease)}
.vx-header .nav__list>li>a:hover::after,.vx-header .nav__list>li>a.is-current::after{transform:scaleX(1)}
.vx-header .sub{position:absolute;top:100%;left:-8px;padding:20px 22px 22px;background:#fff;border:1px solid var(--vx-line);border-radius:14px;box-shadow:0 30px 60px -30px rgba(15,35,64,.35);display:grid;grid-template-columns:auto auto;gap:28px;opacity:0;pointer-events:none;transform:translateY(8px);transition:opacity .25s,transform .35s var(--vx-ease);min-width:460px}
.vx-header .nav__has-sub:hover .sub,.vx-header .nav__has-sub:focus-within .sub{opacity:1;pointer-events:auto;transform:none}
.vx-header .sub__t{font-size:12px;color:var(--vx-muted);margin:0 0 8px;font-weight:600}
.vx-header .sub a{display:block;padding:7px 0;font-size:15px;white-space:nowrap;border-bottom:1px solid transparent}
.vx-header .sub a:hover{color:var(--vx-blue)}
.vx-header .hdr__tools{display:flex;align-items:center;gap:28px;justify-self:end}
.vx-header .lang{position:relative}
.vx-header .lang__btn{display:flex;align-items:center;gap:6px;padding:8px 6px;font-size:15px;font-weight:500;color:#1f3b5c}
.vx-header .lang__btn svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;transition:transform .3s var(--vx-ease)}
.vx-header .lang__btn[aria-expanded="true"] svg{transform:rotate(180deg)}
.vx-header .lang__menu{position:absolute;top:calc(100% + 8px);right:0;background:#fff;border:1px solid var(--vx-line);border-radius:6px;box-shadow:0 24px 50px -24px rgba(15,35,64,.35);min-width:150px;padding:6px;z-index:5}
.vx-header .lang__menu[hidden]{display:none}
.vx-header .lang__menu li{padding:9px 12px;font-size:15px;cursor:pointer;border-radius:4px}
.vx-header .lang__menu li:hover{background:var(--vx-mist);color:var(--vx-blue)}
.vx-header .lang__menu li[aria-selected="true"]{font-weight:600;color:var(--vx-blue)}
.vx-header .burger{display:none;width:44px;height:44px;position:relative}
.vx-header .burger span{position:absolute;left:11px;right:11px;height:2px;background:var(--vx-ink);transition:transform .35s var(--vx-ease),top .35s var(--vx-ease)}
.vx-header .burger span:nth-child(1){top:17px}
.vx-header .burger span:nth-child(2){top:25px}
.vx-header .burger[aria-expanded="true"] span:nth-child(1){top:21px;transform:rotate(45deg)}
.vx-header .burger[aria-expanded="true"] span:nth-child(2){top:21px;transform:rotate(-45deg)}
.vx-header .mnav{position:fixed;inset:72px 0 0;background:#fff;z-index:99;padding:24px var(--vx-gutter);overflow:auto;display:flex;flex-direction:column;gap:32px}
.vx-header .mnav[hidden]{display:none}
.vx-header .mnav nav{display:flex;flex-direction:column}
.vx-header .mnav nav a{font-family:var(--vx-f-display);font-size:clamp(1.35rem,5vw,1.7rem);font-weight:600;letter-spacing:-.01em;padding:14px 0;border-bottom:1px solid var(--vx-line)}
.vx-header .mnav__foot{display:flex;flex-direction:column;gap:12px;margin-top:auto;padding-bottom:90px}
.vx-header .mnav__foot p{color:var(--vx-muted);font-size:var(--vx-fz);line-height:1.7}
.vx-header .toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:var(--vx-ink);color:#fff;padding:12px 18px;border-radius:999px;font-size:14px;z-index:200;box-shadow:0 20px 40px -20px rgba(0,0,0,.5);animation:vx-fade .3s var(--vx-ease)}
.vx-header .toast[hidden]{display:none}
@media (max-width:1100px){
  .vx-header .hdr__cta{display:none}
  .vx-header .nav__list>li>a{padding:10px 10px;font-size:15px}
  .vx-header .hdr__in{gap:16px}
}
@media (max-width:860px){
  .vx-header .nav,.vx-header .hdr__cta{display:none}
  .vx-header .burger{display:block}
  .vx-header .lang__btn{font-size:14px;padding:8px 2px 8px 6px;gap:4px}
  .vx-header .lang__menu{min-width:140px}
  .vx-header .hdr__in{height:72px;gap:8px;grid-template-columns:auto 1fr auto}
  .vx-header .hdr__tools{gap:4px}
  .vx-header .hdr__logo img{width:140px}
  .vx-header .toast{bottom:88px;max-width:calc(100% - 32px);text-align:center}
}


/* ---- ajustes para WordPress/Elementor ---- */
/* Cabecera fija dentro del Theme Builder: se fija la plantilla de cabecera entera. */
.vx-sticky-host,[data-elementor-type="header"]:has(.vx-header){position:sticky;top:0;z-index:100}
body.admin-bar .vx-sticky-host,body.admin-bar [data-elementor-type="header"]:has(.vx-header){top:32px}
@media (max-width:782px){body.admin-bar .vx-sticky-host,body.admin-bar [data-elementor-type="header"]:has(.vx-header){top:46px}}
@media (max-width:600px){body.admin-bar .vx-sticky-host,body.admin-bar [data-elementor-type="header"]:has(.vx-header){top:0}}
body.vx-menu-open{overflow:hidden}
.vx-header .nav .vx-editor-notice{margin:0;font-size:12px}
.vx-header .burger span{display:block}
/* El desplegable no debe crear desplazamiento lateral (en el HTML lo recortaba el body). */
.vx-header{overflow-x:clip}
