:root{
  --ink:#141414;
}

body{
  margin:0;
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  color:var(--ink);
}

header,
footer{
  padding:1rem 0;
}

main{
  padding:2rem 0;
}

.navbar-toggler,
.jayo-burger{
  border:0;
  background:transparent;
}

.navbar-toggler:focus,
.jayo-burger:focus{
  box-shadow:none;
}

.navbar-toggler-icon{
  background-image:var(--bs-navbar-toggler-icon-bg);
}

.navbar-nav .nav-link{
  font-weight:500;
}

.navbar-nav .nav-link.active,
.navbar-nav .nav-item.active > .nav-link{
  text-decoration:underline;
  text-underline-offset:6px;
}

.custom-logo-link{
  display:inline-flex;
  align-items:center;
}

.custom-logo-link img{
  display:block;
  max-height:48px;
  width:auto;
  height:auto;
}

@media (max-width:575px){
  .custom-logo-link img{
    max-height:40px;
  }
}

/*Optional: Sticky header*/
/*
.site-header{
  position:sticky;
  top:0;
  z-index:1020;
  background:#fff;
}
*/

/* Desktop CTA (last menu item) */
.navbar-nav > li:last-child{
  display:none;
}

@media (min-width:992px){
  .navbar-nav > li:last-child{
    display:list-item;
    margin-left:.75rem;
  }

  .navbar-nav > li:last-child > a{
    padding:.6rem 1rem;
    border-radius:999px;
    background:#0d6efd;
    color:#fff !important;
    font-weight:600;
    text-decoration:none;
  }

  .navbar-nav > li:last-child > a:hover,
  .navbar-nav > li:last-child > a:focus{
    opacity:.92;
  }
}

/* Mobile fullscreen menu, no fixed logo/burger */
@media (max-width:991.98px){

  .navbar > .container{
    gap:.75rem;
  }

  /* Keep logo left, burger right */
  .navbar-brand{
    margin-right:auto;
  }

  /* Ensure burger stays above overlay and remains tappable */
  .jayo-burger{
    position:relative;
    z-index:1201;
    padding:.25rem .5rem;
  }

  /* Fullscreen overlay starts below header row */
  .navbar-collapse{
    position:fixed;
    left:0;
    right:0;
    top:72px;        /* header height, adjust if needed */
    bottom:0;
    background:#fff;
    padding:24px;
    display:flex !important;
    align-items:center;
    justify-content:center;
    opacity:0;
    transform:translateY(-8px);
    pointer-events:none;
    transition:opacity .22s ease, transform .22s ease;
    z-index:1200;
  }

  .navbar-collapse.show{
    opacity:1;
    transform:translateY(0);
    pointer-events:auto;
  }

  .navbar-nav{
    width:100%;
    max-width:520px;
    text-align:center;
    gap:.25rem;
  }

  .navbar-nav .nav-link{
    padding:.9rem 1rem;
    font-size:1.1rem;
  }

  html.nav-open,
  html.nav-open body{
    overflow:hidden;
  }
}

/* Burger animation (hamburger → X) */
.jayo-burger-lines{
  width:26px;
  height:18px;
  display:inline-flex;
  flex-direction:column;
  justify-content:space-between;
}

.jayo-burger-lines span{
  display:block;
  width:100%;
  height:2px;
  background:#141414;
  border-radius:2px;
  transition:transform .22s ease, opacity .18s ease;
}

.jayo-burger.is-open .jayo-burger-lines span:nth-child(1){
  transform:translateY(8px) rotate(45deg);
}

.jayo-burger.is-open .jayo-burger-lines span:nth-child(2){
  opacity:0;
}

.jayo-burger.is-open .jayo-burger-lines span:nth-child(3){
  transform:translateY(-8px) rotate(-45deg);
}
