/* Velura — header, nav, footer, cookie banner (bem double-dash) */

.nav-bar{
  position:sticky;top:0;z-index:100;
  background:var(--bg);
  border-bottom:1px solid var(--border);
}
.nav-bar--row{
  display:flex;align-items:center;justify-content:space-between;
  min-height:70px;gap:24px;
}
.logo{display:inline-flex;align-items:center;gap:10px}
.logo svg{height:30px;width:auto}
.logo--name{font-family:var(--ff-display);font-size:1.35rem;font-weight:600;letter-spacing:.04em;color:var(--text)}

.nav-bar--links{display:flex;align-items:center;gap:28px}
.nav-bar--links a{
  font-size:.96rem;color:var(--text-soft);padding:6px 0;position:relative;
  transition:color .2s var(--ease);
}
.nav-bar--links a::after{
  content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;
  background:var(--holo);border-radius:2px;transform:scaleX(0);transform-origin:left;
  transition:transform .25s var(--ease);
}
.nav-bar--links a:hover{color:var(--text)}
.nav-bar--links a:hover::after,.nav-bar--links a.is-active::after{transform:scaleX(1)}
.nav-bar--cta{display:inline-flex}

.menu-open{
  display:none;width:46px;height:46px;border:1px solid var(--border);border-radius:10px;
  background:var(--bg-2);position:relative;
}
.menu-open span,.menu-open span::before,.menu-open span::after{
  content:"";position:absolute;left:50%;width:20px;height:2px;background:var(--text);
  transform:translateX(-50%);transition:transform .2s var(--ease),opacity .2s var(--ease);
}
.menu-open span{top:50%;margin-top:-1px}
.menu-open span::before{top:-7px}
.menu-open span::after{top:7px}

/* mobile overlay */
.nav-sheet{
  position:fixed;inset:0;z-index:160;background:var(--bg);
  display:flex;flex-direction:column;padding:24px 26px;
  transform:translateX(100%);transition:transform .28s var(--ease);visibility:hidden;
}
.nav-sheet.is-open{transform:translateX(0);visibility:visible}
.nav-sheet--top{display:flex;justify-content:space-between;align-items:center;min-height:46px}
.nav-sheet--close{
  width:46px;height:46px;border:1px solid var(--border);border-radius:10px;background:var(--bg-2);
  color:var(--text);font-size:1.5rem;line-height:1;
}
.nav-sheet--links{display:flex;flex-direction:column;gap:6px;margin-top:36px}
.nav-sheet--links a{
  font-family:var(--ff-display);font-size:1.55rem;padding:12px 0;
  border-bottom:1px solid var(--border);color:var(--text);
}
.nav-sheet .btn{margin-top:28px;align-self:flex-start}

/* footer */
.foot{background:var(--bg-2);border-top:1px solid var(--border);margin-top:96px;padding:56px 0 32px}
.foot--grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px}
.foot--brand p{margin-top:14px;font-size:.95rem}
.foot h4{font-family:var(--ff-body);font-size:.82rem;text-transform:uppercase;letter-spacing:.14em;color:var(--accent-2);margin-bottom:16px}
.foot--col ul{list-style:none;padding:0;display:flex;flex-direction:column;gap:10px}
.foot--col a{color:var(--text-soft);font-size:.96rem;transition:color .2s var(--ease)}
.foot--col a:hover{color:var(--text)}
.foot--bottom{
  margin-top:44px;padding-top:24px;border-top:1px solid var(--border);
  display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;
  font-size:.86rem;color:var(--text-soft);
}

/* cookie banner — bottom-right card */
.gdpr-bar{
  position:fixed;right:20px;bottom:20px;z-index:200;max-width:380px;width:calc(100% - 40px);
  background:var(--bg-3);border:1px solid var(--border);border-radius:var(--radius);
  box-shadow:var(--shadow);padding:20px 22px;
}
.gdpr-bar[hidden]{display:none}
.gdpr-bar::before{content:"";display:block;height:2px;width:54px;background:var(--holo);border-radius:2px;margin-bottom:14px}
.gdpr-bar--text{font-size:.9rem;color:var(--text-soft);margin-bottom:16px}
.gdpr-bar--text a{color:var(--accent-2);text-decoration:underline;text-underline-offset:3px}
.gdpr-bar--actions{display:flex;gap:10px}
.gdpr-bar--actions .btn{min-height:44px;padding:10px 18px;font-size:.92rem;flex:1}

/* toast */
.toast{
  position:fixed;left:50%;bottom:26px;transform:translate(-50%,20px);z-index:240;
  background:var(--bg-3);border:1px solid var(--accent);color:var(--text);
  padding:14px 22px;border-radius:999px;box-shadow:var(--shadow);
  font-size:.95rem;opacity:0;pointer-events:none;transition:opacity .25s var(--ease),transform .25s var(--ease);
}
.toast.is-show{opacity:1;transform:translate(-50%,0)}

@media (max-width:860px){
  .nav-bar--links,.nav-bar--cta{display:none}
  .menu-open{display:inline-block}
  .foot--grid{grid-template-columns:1fr;gap:32px}
}
