/* ======== TOP NAV – Modern glass ======== */
.topnav-modern{
  --bg: rgba(255,255,255,.75);
  --text:#0f172a;
  --muted:#667085;
  --ring:#6366f1;
  --line:rgba(15,23,42,.08);
  --brandH:40px;         /* alto logo */
  --navH:64px;           /* alto base */
  --navH-scrolled:56px;  /* alto con scroll */
  --radius:16px;
  --shadow:0 8px 30px rgba(2,6,23,.10);
  backdrop-filter: saturate(1.2) blur(10px);
  -webkit-backdrop-filter: saturate(1.2) blur(10px);
  box-shadow: var(--shadow);
  border-bottom:1px solid var(--line);
}
html[data-theme="dark"] .topnav-modern{
  --bg: rgba(13,19,38,.60);
  --text:#e5e7eb;
  --muted:#9aa3b2;
  --ring:#8b9cfb;
  --line:rgba(148,163,184,.12);
  --shadow:0 10px 30px rgba(0,0,0,.45);
}
.topnav-modern .navbar{
  background:var(--bg) !important;
  min-height:var(--navH);
  transition:min-height .2s ease, background .2s ease, box-shadow .2s ease;
}
.topnav-modern.is-scrolled .navbar{ min-height:var(--navH-scrolled); }

/* Brand */
.topnav-modern .navbar-brand-item{
  height: var(--brandH);
  max-height: var(--brandH);
  object-fit: contain;
}
.topnav-modern.is-scrolled .navbar-brand-item{ height: calc(var(--brandH) - 6px); }

/* Sidebar burger */
.topnav-modern .sidebar-start-toggle{
  border:1px solid var(--line);
  border-radius:12px;
  padding:.4rem .5rem !important;
}
.topnav-modern .sidebar-start-toggle:hover{
  border-color: color-mix(in oklab, var(--ring) 40%, var(--line));
}

/* Search */
.topnav-modern .nav-search-wrap{ max-width:640px; flex:1 1 auto; }
.topnav-modern .searchbar{
  border:1px solid var(--line);
  border-radius:999px;
  background:color-mix(in oklab, var(--ring) 4%, transparent);
  padding:.55rem .9rem;
  display:flex; align-items:center; gap:.5rem;
  transition:border-color .2s ease, background .2s ease, box-shadow .2s ease;
}
.topnav-modern .searchbar:focus-within{
  border-color: color-mix(in oklab, var(--ring) 55%, var(--line));
  box-shadow: 0 0 0 3px color-mix(in oklab, var(--ring) 20%, transparent);
}
.topnav-modern .searchbar input{
  border:0; background:transparent; outline:0; width:100%; color:var(--text);
}
.topnav-modern .kbd{
  font-size:.75rem; line-height:1; padding:.25rem .4rem; border-radius:6px;
  border:1px solid var(--line); color:var(--muted);
}

/* Primary nav */
.topnav-modern .nav-primary .nav-link{
  border-radius:12px; padding:.5rem .75rem; font-weight:600; color:var(--muted);
}
.topnav-modern .nav-primary .nav-link:hover{
  color:var(--text); background:color-mix(in oklab, var(--ring) 8%, transparent);
}
.topnav-modern .nav-primary .nav-link.active{
  background: color-mix(in oklab, var(--ring) 18%, transparent); color:var(--text);
  box-shadow: inset 0 -2px 0 color-mix(in oklab, var(--ring) 60%, transparent);
}

/* New Post */
.topnav-modern .btn-newpost{
  border:0; border-radius:999px; font-weight:700; padding:.55rem 1rem;
  background: linear-gradient(135deg, #22c55e 0%, #10b981 60%, #2dd4bf 100%);
  color:#fff !important; box-shadow: 0 6px 18px rgba(16,185,129,.35);
}
.topnav-modern .btn-newpost:hover{ filter: brightness(1.02); }

/* Icon buttons */
.topnav-modern .icon-btn{
  border:1px solid var(--line); border-radius:12px; width:40px; height:40px;
  display:grid; place-items:center;
}
.topnav-modern .icon-btn:hover{
  border-color: color-mix(in oklab, var(--ring) 40%, var(--line));
}

/* Dropdowns */
.topnav-modern .dropdown-menu{
  border-radius:16px; border:1px solid var(--line); box-shadow:var(--shadow);
  overflow:hidden;
}
.topnav-modern .dropdown-item{ border-radius:10px; }

/* Mobile collapse + backdrop */
.topnav-modern .navbar-collapse{
  background:var(--bg);
}
@media (max-width: 991.98px){
  .topnav-modern .navbar-collapse{
    position:fixed; inset: var(--navH) 0 0 0; padding:12px 16px; overflow:auto;
  }
  .topnav-modern.is-scrolled .navbar-collapse{ inset: var(--navH-scrolled) 0 0 0; }
  .topnav-modern .collapse-backdrop{
    content:""; position:fixed; inset:0; background:rgba(0,0,0,.22); backdrop-filter: blur(2px);
  }
  .topnav-modern .close-navbar-toggler{
    position:absolute; top:8px; right:16px;
    border:1px solid var(--line); border-radius:10px; width:38px; height:38px;
  }
}

/* Site select (owner) */
.topnav-modern #siteSelect{
  background:transparent; border:1px solid var(--line); border-radius:12px;
  padding:.35rem .6rem; color:var(--text);
}

.topnav-modern{ z-index: 1040; }
:root{ --header-offset: 72px; }      
body.has-topnav-offset{ padding-top: var(--header-offset); }

.topnav-modern .nav-primary{ display:none !important; }
.topnav-modern .nav-search-wrap{ display:none !important; }
#globalSearchMobile{ display:none !important; }
