/* Общая навигация — вариант 1 */
.site-nav {
  position: relative; z-index: 50; width: 100%; min-height: 96px;
  margin: 16px 0 0; padding: 12px 18px; display: flex; align-items: center;
  gap: 22px; border: 1px solid var(--border); border-radius: 18px;
  background: var(--surface); box-shadow: var(--shadow);
}
.site-nav-brand { flex: 0 0 auto; display:flex; align-items:center; gap:12px; min-width:245px; }
.site-nav-logo { width:58px; height:58px; flex:0 0 58px; display:grid; place-items:center;
  border-radius:15px; background:linear-gradient(145deg,#15947f,#0f766e);
  color:#fff; box-shadow:0 7px 18px rgba(15,118,110,.18); }
.site-nav-logo span { font-size:42px; line-height:1; font-weight:500; }
.site-nav-brand-text { display:grid; gap:3px; }
.site-nav-brand-text strong { font-size:21px; line-height:1.1; letter-spacing:-.025em; }
.site-nav-brand-text span { color:var(--muted); font-size:12px; line-height:1.25; }
.site-nav-links { flex:1 1 auto; display:flex; align-items:stretch; justify-content:flex-end; gap:4px; min-width:0; }
.site-nav-link { position:relative; display:inline-flex; align-items:center; justify-content:center; gap:8px;
  min-height:62px; padding:8px 13px; border:0 !important; border-radius:12px;
  background:transparent !important; color:var(--text) !important; text-decoration:none;
  font-size:13px; font-weight:750; text-align:center; transition:.18s ease; }
.site-nav-link:hover { color:var(--accent-dark)!important; background:var(--surface-soft)!important; transform:none; }
.site-nav-link.active { color:var(--accent-dark)!important; background:var(--accent-soft)!important; }
.site-nav-link.active::after { content:""; position:absolute; right:14px; bottom:4px; left:14px;
  height:3px; border-radius:3px; background:var(--accent); }
.site-nav-icon { display:inline-grid; place-items:center; width:24px; height:24px; color:var(--accent); font-size:21px; line-height:1; }
.site-nav-toggle { display:none; width:46px; height:46px; flex:0 0 46px; border:1px solid var(--border);
  border-radius:12px; background:var(--surface); padding:10px; }
.site-nav-toggle span { display:block; width:24px; height:2px; margin:5px auto; border-radius:2px; background:var(--accent-dark); }
.site-nav-backdrop { position:fixed; z-index:90; inset:0; background:rgba(23,35,41,.32); backdrop-filter:blur(2px); }
.site-nav-drawer { position:fixed; z-index:100; top:0; right:0; bottom:0; width:min(360px,88vw);
  padding:20px; background:var(--surface); box-shadow:-18px 0 45px rgba(25,45,52,.16);
  transform:translateX(105%); transition:transform .22s ease; overflow-y:auto; }
.site-nav-drawer.open { transform:translateX(0); }
.site-nav-drawer-head { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:20px; }
.site-nav-drawer-head strong { font-size:22px; }
.site-nav-close { width:42px; height:42px; border:1px solid var(--border); border-radius:12px;
  background:var(--surface-soft); color:var(--text); font-size:28px; line-height:1; }
.site-nav-drawer-links { display:grid; gap:8px; }
.site-nav-drawer .site-nav-link { justify-content:flex-start; min-height:52px; padding:10px 13px; border-radius:12px;
  font-size:14px; text-align:left; }
.site-nav-drawer .site-nav-link.active::after { display:none; }
.site-nav-drawer .site-nav-link.active { background:var(--accent-soft)!important; }
@media (max-width:1050px) {
  .site-nav { gap:12px; } .site-nav-brand { min-width:215px; }
  .site-nav-brand-text strong { font-size:19px; } .site-nav-link { padding-inline:9px; font-size:12px; }
}
@media (max-width:760px) {
  .site-nav { min-height:70px; margin-top:10px; padding:10px 12px; border-radius:15px; }
  .site-nav-brand { min-width:0; gap:10px; } .site-nav-logo { width:48px; height:48px; flex-basis:48px; border-radius:13px; }
  .site-nav-logo span { font-size:34px; } .site-nav-brand-text strong { font-size:18px; }
  .site-nav-brand-text span { font-size:11px; } .site-nav-links { display:none; }
  .site-nav-toggle { display:block; margin-left:auto; } body.nav-open { overflow:hidden; }
}
@media (max-width:430px) { .site-nav-brand-text span { max-width:130px; } .site-nav-drawer { padding:16px; } }

.site-nav-logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  border-radius: 15px;
}
