/* ===== Nav (Swiss Minimal · Dark) ===== */
.nav{
  position:sticky;top:0;z-index:100;
  background:rgba(13,13,13,.9);backdrop-filter:blur(14px);
  border-bottom:1px solid var(--border);padding:.75rem 2rem;
}
.nav-inner{
  max-width:1200px;margin:0 auto;
  display:flex;align-items:center;justify-content:space-between;
  flex-wrap:wrap;gap:.5rem;
}
.nav-logo{font-family:'Inter',sans-serif;font-weight:700;color:var(--text-bright);font-size:.95rem;letter-spacing:.02em;text-decoration:none}
.nav-search{
  display:flex;align-items:center;gap:.5rem;
  background:transparent;border:1px solid var(--border);border-radius:var(--radius);
  padding:.45rem .9rem;
  flex:1;max-width:360px;min-width:0;
}
.nav-search:focus-within{border-color:var(--border-strong)}
.nav-search input{
  background:none;border:none;outline:none;color:var(--text);width:100%;font-size:.85rem;
}
.nav-search input::placeholder{color:var(--text-dim)}
.nav-search svg{color:var(--text-dim);width:16px}
.nav-actions{
  display:flex;align-items:center;gap:.5rem;
}

/* ===== Hamburger Menu (Mobile) ===== */
.hamburger{display:none;background:none;border:none;cursor:pointer;padding:4px;width:32px;height:28px;flex-direction:column;justify-content:space-between;align-items:stretch}
.hamburger span{display:block;width:100%;height:2px;background:var(--text);border-radius:2px;transition:var(--transition);transform-origin:center}
.hamburger.open span:nth-child(1){transform:translateY(9px) rotate(45deg)}
.hamburger.open span:nth-child(2){opacity:0}
.hamburger.open span:nth-child(3){transform:translateY(-9px) rotate(-45deg)}

.mobile-menu-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:199;opacity:0;transition:opacity .3s}
.mobile-menu-overlay.active{display:block;opacity:1}

.mobile-menu{position:fixed;top:0;right:-320px;width:280px;height:100vh;height:100dvh;z-index:200;background:var(--bg);border-left:1px solid var(--border);display:flex;flex-direction:column;transition:right .3s cubic-bezier(.4,0,.2,1);overflow-y:auto}
.mobile-menu.open{right:0}
.mobile-menu-header{display:flex;align-items:center;justify-content:space-between;padding:1.2rem;border-bottom:1px solid var(--border)}
.mobile-menu-brand{font-weight:700;color:var(--text-bright);font-size:.95rem;letter-spacing:.02em}
.mobile-menu-close{background:none;border:none;color:var(--text);font-size:1.6rem;cursor:pointer;line-height:1;padding:0}

.mobile-menu-body{padding:1.2rem;display:flex;flex-direction:column;gap:.1rem}
.mobile-menu-link{display:block;padding:.85rem 0;color:var(--text);text-decoration:none;font-size:.95rem;font-weight:500;border-bottom:1px solid var(--border);transition:var(--transition)}
.mobile-menu-link:hover,.mobile-menu-link:active{color:var(--text-bright);padding-left:.4rem}
.mobile-menu-divider{height:1px;background:var(--border);margin:.3rem 0}
.mobile-menu-lang{display:block;width:100%;padding:.85rem 0;background:none;border:none;border-bottom:1px solid var(--border);color:var(--text-dim);font-size:.95rem;cursor:pointer;text-align:left;transition:var(--transition)}
.mobile-menu-lang:hover{color:var(--text-bright)}

/* ===== Filter Bar (Swiss: text tabs, no pills) ===== */
.filter-bar{
  padding:1.4rem 2rem;display:flex;flex-wrap:wrap;gap:.4rem;
  align-items:center;
  max-width:1200px;margin:0 auto;
  background:var(--bg);
}
.sort-wrapper{
  margin-right:.8rem;
}
.sort-select{
  background:transparent;border:1px solid var(--border);border-radius:var(--radius);
  color:var(--text-dim);font-size:.78rem;padding:.4rem .7rem;cursor:pointer;
  outline:none;appearance:none;-webkit-appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6' fill='%238a8a85'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right .6rem center;
  padding-right:1.6rem;
}
.sort-select:hover{border-color:var(--border-strong);color:var(--text)}
.sort-select option{background:var(--bg-card);color:var(--text)}
.filter-btns{
  display:flex;flex-wrap:wrap;gap:.2rem;align-items:center;
}
.filter-btn{
  padding:.35rem .7rem;border:none;border-bottom:1px solid transparent;
  background:none;color:var(--text-dim);cursor:pointer;
  font-size:.82rem;transition:var(--transition);white-space:nowrap;
}
.filter-btn:hover{color:var(--text-bright)}
.filter-btn.active{
  color:var(--text-bright);font-weight:600;
  border-bottom-color:var(--border-strong);
  background:none;box-shadow:none;
}
.filter-count{font-size:.68rem;opacity:.55;margin-left:.25rem;font-variant-numeric:tabular-nums}
