/* Luvizora header: own markup, independent of the theme's navigation block. */

/* Our header replaces the theme header on every page. */
body.lvz-nav header.wp-block-template-part,
body.lvz-nav .wp-site-blocks>header,
body.lvz-nav footer.wp-block-template-part,
body.lvz-nav .wp-site-blocks>footer{display:none!important}

.lvzn{--lvz-nav-h:68px;position:sticky;top:0;z-index:1000;height:var(--lvz-nav-h);background:#10142f;color:#fff;border-bottom:1px solid rgba(255,255,255,.08);font-family:inherit}
.admin-bar .lvzn{top:32px}
@media (max-width:782px){.admin-bar .lvzn{top:46px}}
.lvzn *{box-sizing:border-box}
.lvzn-in{max-width:1180px;height:100%;margin:0 auto;padding:0 clamp(16px,4vw,32px);display:flex;align-items:center;justify-content:space-between;gap:16px}
.lvzn a{text-decoration:none}
.lvzn a:focus-visible,.lvzn button:focus-visible{outline:3px solid #9d86ff;outline-offset:2px}

.lvzn-brand{display:inline-flex;align-items:center;gap:10px;color:#fff!important;font-weight:800;font-size:19px;letter-spacing:-.01em;white-space:nowrap}
.lvzn-mark{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,#7a5cff,#39d5b0);color:#fff;font-size:17px;font-weight:800}

.lvzn-toggle{display:none;align-items:center;justify-content:center;flex-direction:column;gap:5px;width:44px;height:44px;border:0;border-radius:12px;background:rgba(255,255,255,.08);cursor:pointer;padding:0}
.lvzn-toggle span{display:block;width:22px;height:2px;border-radius:2px;background:#fff;transition:transform .2s,opacity .2s}
.lvzn.is-open .lvzn-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.lvzn.is-open .lvzn-toggle span:nth-child(2){opacity:0}
.lvzn.is-open .lvzn-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

.lvzn-panel{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex:1}
.lvzn-links{display:flex;align-items:center;gap:2px;list-style:none;margin:0;padding:0}
.lvzn-links>li{display:flex;align-items:center;height:var(--lvz-nav-h);position:relative;margin:0;padding:0}
.lvzn-links a{display:block;color:#e4e7ff!important;font-size:15px;font-weight:600;line-height:1;padding:11px 14px;border-radius:999px;transition:background-color .15s,color .15s}
.lvzn-links a:hover{background:rgba(255,255,255,.1);color:#fff!important}
.lvzn-links a[aria-current="page"]{background:rgba(124,92,255,.38);color:#fff!important}

.lvzn-subtoggle{width:26px;height:26px;margin-left:-6px;border:0;border-radius:50%;background:transparent;color:#e4e7ff;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0}
.lvzn-subtoggle:hover{background:rgba(255,255,255,.1)}
.lvzn-subtoggle svg{width:14px;height:14px;transition:transform .2s}
.lvzn-has-sub.is-open .lvzn-subtoggle svg{transform:rotate(180deg)}
.lvzn-sub{display:none;position:absolute;top:100%;left:0;min-width:270px;margin:0;padding:8px;list-style:none;background:#fff;border:1px solid #e6e8f5;border-radius:16px;box-shadow:0 18px 40px rgba(20,24,58,.3)}
.lvzn-sub li{margin:0;padding:0;height:auto;display:block}
.lvzn-sub a{color:#14183a!important;font-size:15px;padding:11px 14px;border-radius:10px;line-height:1.2}
.lvzn-sub a:hover{background:#f0edff;color:#6b4cff!important}
.lvzn-has-sub:hover>.lvzn-sub,.lvzn-has-sub:focus-within>.lvzn-sub,.lvzn-has-sub.is-open>.lvzn-sub{display:block}

.lvzn-actions{display:flex;align-items:center;gap:8px;margin-left:8px}
.lvzn a.lvzn-login{color:#e4e7ff!important;font-weight:600;font-size:15px;padding:11px 14px;border-radius:999px}
.lvzn a.lvzn-login:hover{background:rgba(255,255,255,.1)}
.lvzn a.lvzn-cta{background:linear-gradient(135deg,#7a5cff,#5a3de6);color:#fff!important;font-weight:700;font-size:15px;padding:12px 20px;border-radius:999px;box-shadow:0 8px 20px rgba(107,76,255,.35);white-space:nowrap;transition:transform .15s,box-shadow .15s}
.lvzn a.lvzn-cta:hover{transform:translateY(-1px);box-shadow:0 12px 26px rgba(107,76,255,.45)}

/* Tablets: tighter so everything stays on one row */
@media (min-width:901px) and (max-width:1100px){
  .lvzn-links a{padding:10px 9px;font-size:14px}
  .lvzn a.lvzn-login{padding:10px 9px;font-size:14px}
  .lvzn a.lvzn-cta{padding:11px 14px;font-size:14px}
  .lvzn-brand{font-size:17px}
}

/* ---- Phones and small tablets ----
   Without JavaScript the links stay visible as a normal stacked header (nothing can freeze).
   With JavaScript (.lvzn-js) the menu collapses behind the hamburger. The page itself is never locked. */
@media (max-width:900px){
  .lvzn{height:auto;min-height:var(--lvz-nav-h)}
  .lvzn-in{flex-wrap:wrap;height:auto;min-height:var(--lvz-nav-h);padding-top:0;padding-bottom:0}
  .lvzn-brand{height:var(--lvz-nav-h)}
  .lvzn.lvzn-js .lvzn-toggle{display:inline-flex!important}
  .lvzn-panel{position:static;flex:0 0 100%;width:100%;display:block;padding:0 0 28px;background:transparent}
  .lvzn.lvzn-js{height:var(--lvz-nav-h)}
  .lvzn.lvzn-js .lvzn-in{flex-wrap:nowrap;height:100%}
  .lvzn.lvzn-js .lvzn-brand{height:auto}
  .lvzn.lvzn-js .lvzn-panel{display:none!important;position:absolute;left:0;right:0;top:100%;width:auto;
    max-height:calc(100vh - var(--lvz-nav-h) - 46px);max-height:calc(100svh - var(--lvz-nav-h) - 46px);
    overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background:#10142f;
    padding:6px clamp(16px,4vw,32px) 32px;border-bottom:1px solid rgba(255,255,255,.12);box-shadow:0 24px 40px rgba(5,8,30,.45)}
  .lvzn.lvzn-js.is-open .lvzn-panel{display:block!important}
  .lvzn-links{display:block}
  .lvzn-links>li{display:flex;flex-wrap:wrap;align-items:center;height:auto;border-bottom:1px solid rgba(255,255,255,.1)}
  .lvzn-links>li>a{flex:1;font-size:19px;padding:17px 4px;border-radius:0;background:transparent!important}
  .lvzn-links a[aria-current="page"]{color:#b9a8ff!important}
  .lvzn-subtoggle{width:48px;height:48px;margin:0;border-radius:12px;background:rgba(255,255,255,.06)}
  .lvzn-subtoggle svg{width:18px;height:18px}
  .lvzn-sub{position:static;display:none;flex:0 0 100%;min-width:0;width:100%;margin:0 0 10px;padding:0 0 4px 14px;background:transparent;border:0;border-left:2px solid rgba(124,92,255,.7);border-radius:0;box-shadow:none}
  .lvzn-has-sub:hover>.lvzn-sub,.lvzn-has-sub:focus-within>.lvzn-sub{display:none}
  .lvzn-has-sub.is-open>.lvzn-sub{display:block}
  .lvzn-sub a{color:#c9cdf0!important;font-size:17px;padding:13px 4px;border-radius:0}
  .lvzn-sub a:hover{background:transparent;color:#fff!important}
  .lvzn-actions{display:flex;flex-direction:column;align-items:stretch;gap:10px;margin:24px 0 0}
  .lvzn a.lvzn-login{text-align:center;font-size:17px;padding:15px;border:1.5px solid rgba(255,255,255,.2);border-radius:14px}
  .lvzn a.lvzn-cta{text-align:center;font-size:17px;padding:16px;border-radius:14px}
}

/* ---- Footer: replaces the theme footer, same dark colours as the header ---- */
.lvzf{background:#10142f;color:#c9cdf0;border-top:1px solid rgba(255,255,255,.08);font-size:15px;line-height:1.6;clear:both}
.lvzf *{box-sizing:border-box}
.lvzf-in{max-width:1180px;margin:0 auto;padding:clamp(40px,6vw,64px) clamp(16px,4vw,32px) 26px}
.lvzf-grid{display:grid;grid-template-columns:1.5fr 1fr 1.3fr 1fr;gap:clamp(24px,4vw,56px)}
.lvzf a{color:#c9cdf0;text-decoration:none}
.lvzf a:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}
.lvzf a:focus-visible{outline:3px solid #9d86ff;outline-offset:2px;border-radius:4px}
.lvzf-brand{display:inline-flex;align-items:center;gap:10px;color:#fff!important;font-weight:800;font-size:19px;text-decoration:none!important}
.lvzf-about p{margin:14px 0 12px;max-width:26em;color:#aeb4e0}
.lvzf-mail{font-weight:600;color:#b9a8ff!important}
.lvzf-col h2{margin:0 0 14px;font-size:13px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:#fff}
.lvzf-col ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.lvzf-col li{margin:0;padding:0}
.lvzf-bar{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px;margin-top:clamp(28px,4vw,44px);padding-top:20px;border-top:1px solid rgba(255,255,255,.1);font-size:13.5px;color:#8f95c4}
@media (max-width:900px){.lvzf-grid{grid-template-columns:1fr 1fr}.lvzf-about{grid-column:1/-1}}
@media (max-width:520px){.lvzf-grid{grid-template-columns:1fr}}
