/* Namsbel WP theme - nav enhancer styles */
.nb-nav { display: none; align-items: center; gap: 2px; }
@media (min-width: 1280px) { .nb-nav { display: flex; } }
.nb-nav-item { position: relative; }
.nb-nav-link {
  display: inline-flex; align-items: center; gap: 4px;
  padding: 8px 12px; font-size: 17px; font-weight: 500;
  color: rgba(20,20,20,.85); white-space: nowrap;
  text-decoration: none; transition: color .2s ease;
}
.nb-nav-link:hover, .nb-nav-item:hover > .nb-nav-link { color: var(--coral, #E85A4F); }

.nb-mega {
  position: absolute; top: 100%; left: 50%; transform: translateX(-50%) translateY(6px);
  min-width: min(1100px, 90vw); max-width: 92vw;
  background: #fff; color: #111;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 14px;
  box-shadow: 0 24px 60px rgba(0,0,0,.14), 0 4px 12px rgba(0,0,0,.06);
  padding: 22px;
  opacity: 0; visibility: hidden; pointer-events: none;
  transition: opacity .18s ease, transform .18s ease;
  z-index: 60;
}
.nb-nav-item:hover > .nb-mega,
.nb-nav-item:focus-within > .nb-mega { opacity: 1; visibility: visible; pointer-events: auto; transform: translateX(-50%) translateY(0); }

.nb-mega-inner { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 22px 28px; }
@media (max-width: 900px) { .nb-mega-inner { grid-template-columns: repeat(2, minmax(0,1fr)); } }
.nb-mega-title { font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: #6b6b6b; margin: 0 0 10px; }
.nb-mega-list { list-style: none; padding: 0; margin: 0; display: grid; gap: 4px; }
.nb-mega-list a { display: block; padding: 6px 8px; border-radius: 8px; font-size: 14px; color: #1a1a1a; text-decoration: none; transition: background .15s, color .15s; }
.nb-mega-list a:hover { background: rgba(232,90,79,.08); color: var(--coral, #E85A4F); }

/* Mobile panel */
.nb-mobile-panel { display: none; position: fixed; inset: 64px 0 0 0; background: #fff; z-index: 55; overflow-y: auto; padding: 16px 20px 40px; }
.nb-mobile-panel.is-open { display: block; }
@media (min-width: 1280px) { .nb-mobile-panel.is-open { display: none; } }
.nb-mobile-inner { display: flex; flex-direction: column; gap: 6px; }
.nb-mobile-link, .nb-mobile-summary, .nb-mobile-sub-summary, .nb-mobile-sublink, .nb-mobile-cta {
  display: block; text-decoration: none; color: #1a1a1a;
}
.nb-mobile-link { padding: 12px 8px; font-weight: 500; font-size: 17px; border-bottom: 1px solid rgba(0,0,0,.06); }
.nb-mobile-group { border-bottom: 1px solid rgba(0,0,0,.06); }
.nb-mobile-summary { padding: 12px 8px; font-weight: 600; font-size: 17px; cursor: pointer; list-style: none; }
.nb-mobile-summary::-webkit-details-marker { display: none; }
.nb-mobile-summary::after { content: "+"; float: right; opacity: .6; }
.nb-mobile-group[open] .nb-mobile-summary::after { content: "−"; }
.nb-mobile-sub { padding: 4px 12px; }
.nb-mobile-sub-summary { padding: 8px 4px; font-size: 14px; color: #555; cursor: pointer; list-style: none; }
.nb-mobile-sub-summary::-webkit-details-marker { display: none; }
.nb-mobile-sub-summary::after { content: "+"; float: right; opacity: .5; }
.nb-mobile-sub[open] .nb-mobile-sub-summary::after { content: "−"; }
.nb-mobile-sublink { padding: 6px 8px; font-size: 14px; color: #333; }
.nb-mobile-sublink:hover { color: var(--coral, #E85A4F); }
.nb-mobile-cta { margin-top: 16px; text-align: center; background: var(--coral, #E85A4F); color: #fff !important; padding: 14px; border-radius: 999px; font-weight: 600; }
