/* One-row desktop navigation; smaller screens use the Sections menu. */
.site-header.kingdom-header { display: grid; grid-template-columns: auto minmax(0,1fr) auto; gap: 16px; padding: 14px 24px; min-height: 0; }
.kingdom-header .brand { justify-self: start; }
.kingdom-header .header-controls { grid-column: 3; grid-row: 1; display: flex; align-items: center; gap: 14px; }
.site-header.kingdom-header nav { grid-column: 2; grid-row: 1; display: flex; flex-wrap: nowrap; justify-content: center; gap: 12px; padding: 0; border-top: 0; overflow: visible; align-items: center; }
.site-header.kingdom-header nav a { display: inline-flex; align-items: center; justify-content: center; padding: 10px 0; font-size: 11px; line-height: 1.4; min-height: 38px; }
.site-header.kingdom-header nav .nav-mge { color: #222a25; background: linear-gradient(120deg,#e1c795,#bd995b); border: 1px solid #ead0a0; padding: 9px 13px; border-radius: 4px; font-weight: 700; }
.site-header.kingdom-header nav .nav-mge::after { display: none; }
.site-header.kingdom-header nav .nav-mge:hover { filter: brightness(1.08); }
.kingdom-header .navigation-toggle { display: none; }
@media(max-width:1350px) {
  .site-header.kingdom-header { grid-template-columns: 1fr auto; padding: 14px 18px; gap: 14px; position: relative; }
  .kingdom-header .header-controls { grid-column: 2; gap: 8px; }
  .kingdom-header .navigation-toggle { display: flex; align-items: center; gap: 10px; min-height: 40px; padding: 8px 11px; border: 1px solid #d9b67566; border-radius: 4px; color: var(--gold); background: transparent; font: 600 12px var(--sans); }
  .site-header.kingdom-header nav { grid-column: 1/-1; grid-row: 2; display: none; margin: 0; padding-top: 14px; gap: 6px; border-top: 1px solid var(--line); }
  .site-header.kingdom-header.nav-open nav { display: grid; grid-template-columns: 1fr 1fr; }
  .site-header.kingdom-header nav a { white-space: normal; text-align: left; justify-content: flex-start; padding: 12px; min-height: 46px; border: 1px solid var(--line); border-radius: 4px; background: #ffffff03; }
  .site-header.kingdom-header nav a.active { border-color: #d9b67555; background: #d9b6750c; }
  .site-header.kingdom-header nav a::after { display: none; }
  .site-header.kingdom-header nav .nav-mge { background: linear-gradient(120deg,#e1c795,#bd995b); border-color: #ead0a0; }
  .kingdom-header .languages button { min-width: 28px; }
}
@media(max-width:410px) {
  .site-header.kingdom-header { column-gap: 8px; padding-inline: 12px; }
  .site-header.kingdom-header .brand { gap: 7px; }
  .site-header.kingdom-header .brand-name { font-size: 10px; }
  .site-header.kingdom-header .brand-name b { font-size: 13px; }
  .site-header.kingdom-header .brand small { font-size: 6px; letter-spacing: 1px; }
  .kingdom-header .navigation-toggle { padding: 8px; gap: 6px; font-size: 11px; }
  .kingdom-header .header-controls { gap: 5px; }
}

@media(min-width:1351px) {
  .site-header.kingdom-header .brand { gap: 9px; }
  .site-header.kingdom-header .crest { width: 34px; height: 40px; font-size: 24px; }
  .site-header.kingdom-header .brand-name { font-size: 11px; }
  .site-header.kingdom-header .brand-name b { font-size: 14px; }
  .site-header.kingdom-header .brand small { font-size: 7px; letter-spacing: 1.5px; }
}
@media(min-width:1600px) {
  .site-header.kingdom-header { padding-inline: 32px; gap: 24px; }
  .site-header.kingdom-header nav { gap: 18px; }
  .site-header.kingdom-header nav a { font-size: 12px; }
}
/* The session role comes from the authenticated server response. */
.portal-access-bar[data-role=council],
.portal-access-bar[data-role=player] { max-width: 1216px; margin: 14px auto 0; padding: 10px 16px; gap: 16px; border: 1px solid #d9b67540; border-left: 3px solid var(--gold); border-radius: 6px; background: linear-gradient(100deg,#d9b67512,#182325); }
.portal-access-bar .portal-role { display: inline-flex; align-items: center; gap: 10px; margin-right: auto; line-height: 1.5; }
.portal-access-bar[data-role=council] .portal-role,
.portal-access-bar[data-role=player] .portal-role { color: #e6cc96; font-weight: 650; font-size: 13px; }
.portal-role-icon { display: grid; place-items: center; width: 30px; height: 30px; border: 1px solid #d9b67555; border-radius: 50%; background: #d9b67512; font-size: 19px; font-variant-emoji: text; flex-shrink: 0; }
.portal-access-bar[data-role=council] a,
.portal-access-bar[data-role=player] a { color: #e6cc96; text-decoration-color: #d9b67566; }
.portal-access-bar[data-role=council] button,
.portal-access-bar[data-role=player] button { border-color: #d9b67540; }
@media(max-width:1280px) {
  .portal-access-bar[data-role=council],
  .portal-access-bar[data-role=player] { margin-inline: 18px; }
}
@media(max-width:600px) {
  .portal-access-bar[data-role=council],
  .portal-access-bar[data-role=player] { gap: 10px; padding: 12px; margin-inline: 12px; }
  .portal-access-bar .portal-role { flex-basis: 100%; }
  .portal-access-bar[data-role=council] button,
  .portal-access-bar[data-role=player] button { padding: 7px 10px; min-height: 36px; }
}
