/* Keep the catalogue anchored to the navbar, independently of legacy mega-menu rules. */
#premiumNav { position: relative; }
/* Compact primary navigation; keep comfortable pointer targets. */
#premiumNav .navbar-nav { gap: 2px !important; }
#premiumNav .navbar-nav > .nav-item > .nav-link { font-size: 15px; letter-spacing: 0; padding: 10px 8px !important; white-space: nowrap; }
.topbar .psyran-link { display: inline-flex; align-items: center; gap: 9px; padding: 5px 12px; border: 1px solid #c6a15b40; border-radius: 30px; color: #f4e4c2; text-decoration: none; background: linear-gradient(110deg,#c6a15b15,transparent); transition: background .2s ease, border-color .2s ease; }
.psyran-wordmark { font-size: 10px; font-weight: 700; letter-spacing: .14em; }
.psyran-caption { padding-left: 9px; border-left: 1px solid #c6a15b55; font-size: 11px; color: #e2e8f0; }
.psyran-link > i { font-size: 11px; }
.topbar .psyran-link:hover { color: #fff; background: #c6a15b25; border-color: #c6a15b; }
.psyran-link:focus-visible { outline: 2px solid #c6a15b; outline-offset: 3px; }
@media (min-width: 992px) and (max-width: 1199px) { #premiumNav .navbar-nav > .nav-item > .nav-link { font-size: 14px; padding-inline: 6px !important; } }
/* Leave room for longer translated labels at the narrow desktop breakpoint. */
@media (min-width: 992px) and (max-width: 1199px) {
    #premiumNav .brand-text { display: none !important; }
    #premiumNav .navbar-nav { flex-wrap: nowrap; }
}
#premiumNav .training-nav-item { position: static; }
#premiumNav .training-menu {
    left: 50%; right: auto; top: 100%; transform: translateX(-50%);
    width: min(1120px, calc(100vw - 48px)); min-width: 0; margin: 0;
    padding: 20px; border: 1px solid #e2e8f0; border-radius: 16px;
    background: #fff; box-shadow: 0 20px 48px #0f172a24;
    max-height: calc(100dvh - 150px); overflow-y: auto;
}
.training-menu-heading { display: flex; justify-content: space-between; gap: 16px; padding-bottom: 14px; margin-bottom: 16px; border-bottom: 1px solid #e2e8f0; color: #0f172a; font-weight: 600; }
.training-menu-heading span:last-child { font-size: 12px; color: #64748b; font-weight: 400; }
.training-menu-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px 28px; }
.training-menu-group { min-width: 0; }
.training-menu .dd-title { white-space: normal; font-size: 11px; line-height: 1.5; color: #806125; margin: 0 0 8px; }
.training-menu .dd-link { width: 100%; white-space: normal; font-size: 13px; line-height: 1.45; padding: 5px 8px; margin-left: -8px; min-height: 30px; text-decoration: none; }

.training-menu a:focus-visible { outline: 2px solid #806125; outline-offset: 3px; }
.training-menu-group { padding: 16px; border: 1px solid #edf0f4; border-radius: 12px; background: linear-gradient(145deg,#fafbfd,#fff 70%); }
.training-menu .dd-title { display: flex; align-items: center; gap: 10px; color: #0f172a; font-size: 12px; font-weight: 700; text-transform: none; letter-spacing: 0; margin-bottom: 12px; }
.training-menu .dd-title i { display: grid; place-items: center; width: 30px; height: 30px; flex: 0 0 30px; border: 1px solid #e9dfcb; border-radius: 9px; background: #faf6ed; color: #937137; font-size: 16px; }
.training-menu .dd-link { display: flex; align-items: center; gap: 8px; width: calc(100% + 8px); border-radius: 6px; transition: background .18s ease, color .18s ease; }
.training-menu .dd-link::after { content: "\2197"; margin-left: auto; color: #937137; opacity: 0; }
.training-menu .dd-link:hover, .training-menu .dd-link:focus-visible { background: #f0ece3; color: #0f172a; }
.training-menu .dd-link:hover::after, .training-menu .dd-link:focus-visible::after { opacity: 1; }
@media (prefers-reduced-motion: reduce) { .training-menu .dd-link { transition: none; } }

