.nav-toggle{
  display:none;
  background:none;
  border:none;
  cursor:pointer;
  padding:6px;
  margin-left:4px;
  flex-shrink:0;
  order:3;
}
.nav-toggle span{
  display:block;
  width:22px;
  height:2px;
  background:var(--ink, #1D2B22);
  margin:5px 0;
  transition:transform .25s ease, opacity .2s ease;
}
.nav-toggle.is-active span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.nav-toggle.is-active span:nth-child(2){ opacity:0; }
.nav-toggle.is-active span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

@media (max-width:900px){
  .nav-toggle{ display:block; order:2; margin-left:auto; }

  header nav{
    display:none;
    position:absolute;
    top:100%;
    left:0;
    right:0;
    flex-direction:column;
    gap:2px;
    padding:10px 32px 22px;
    background:var(--paper, #FBFAF3);
    border-bottom:1px solid var(--line, rgba(29,43,34,0.14));
    box-shadow:0 14px 26px rgba(0,0,0,0.10);
    max-height:calc(100vh - 80px);
    overflow-y:auto;
    z-index:60;
  }
  header nav.nav-open{ display:flex; }
  header nav a{
    padding:13px 0;
    border-bottom:1px solid var(--line, rgba(29,43,34,0.1));
    font-size:15px;
  }
  header nav a:last-child{ border-bottom:none; }

  .headbar{ flex-wrap:wrap; row-gap:10px; }
  .book-row{ order:3; flex-basis:100%; margin-left:0; justify-content:flex-end; }
}

@media (max-width:520px){
  .book-row .btn{ padding:9px 14px; font-size:12px; }
}
