/* Public navigation — active states, external markers, unavailable items */

/* Desktop utility bar: logos left, text-size and accessibility links on one line */
.home-page .header-top.destop-sec .gscc-util-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  min-height: 52px;
  padding: 8px 0;
}
.home-page .gscc-util-logos {
  display: flex;
  align-items: center;
  flex: 1 1 auto;
  min-width: 0;
}
.home-page .gscc-util-logos img {
  display: block;
  height: 38px;
  width: auto;
  max-width: 100%;
  object-fit: contain;
  object-position: left center;
}
.home-page .gscc-util-tools {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 14px;
  flex: 0 0 auto;
}
.home-page .gscc-util-size {
  display: inline-flex;
  align-items: stretch;
  border: 1px solid #C5CDD3;
  border-radius: 8px;
  overflow: hidden;
  background: #fff;
}
.home-page .header-top .gscc-util-size .btn.a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 32px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  border-right: 1px solid #DCE3E7;
  background: #fff;
  color: #17212B;
  line-height: 1;
  box-shadow: none;
}
.home-page .header-top .gscc-util-size .btn.a:last-child {
  border-right: 0;
}
.home-page .header-top .gscc-util-size .btn.a strong {
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
}
.home-page .header-top .gscc-util-size .btn.a:hover,
.home-page .header-top .gscc-util-size .btn.a:focus-visible {
  background: var(--gscc-color-primary-soft);
  color: var(--gscc-color-primary-dark);
}
.home-page .header-top .gscc-util-size .firsht_button:focus strong,
.home-page .header-top .gscc-util-size .last_button:focus strong {
  font-size: 14px;
}
.home-page .gscc-util-links {
  display: flex;
  align-items: center;
  gap: 0;
  margin: 0;
  padding-left: 14px;
  border-left: 1px solid #DCE3E7;
}
.home-page .gscc-util-links a {
  color: #1E4D8C;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.2;
  text-decoration: none;
  white-space: nowrap;
}
.home-page .gscc-util-links a + a {
  margin-left: 12px;
  padding-left: 12px;
  border-left: 1px solid #DCE3E7;
}
.home-page .gscc-util-links a:hover,
.home-page .gscc-util-links a:focus-visible {
  color: var(--gscc-color-primary);
  text-decoration: underline;
  text-underline-offset: 2px;
}
@media (max-width: 1199.98px) {
  .home-page .gscc-util-links a {
    font-size: 12px;
  }
  .home-page .gscc-util-links a + a {
    margin-left: 8px;
    padding-left: 8px;
  }
}

.gscc-primary-nav .nav-link.active,
.gscc-primary-nav .dropdown.active > .nav-link,
.home-page .bottom-header .nav-link.active {
  color: var(--gscc-color-accent, #D89B2B) !important;
  font-weight: var(--gscc-fw-bold, 700);
  text-decoration: underline;
  text-underline-offset: 0.25em;
}

.gscc-primary-nav .dropdown-menu {
  display: none;
  width: max-content;
  min-width: 12rem;
  max-width: calc(100vw - 24px);
  z-index: 1050;
}
.gscc-primary-nav .dropdown.show > .dropdown-menu,
.gscc-primary-nav .dropdown.open > .dropdown-menu,
.gscc-primary-nav .dropdown-menu.show {
  display: block;
}

.gscc-primary-nav .dropdown-item > a,
.gscc-primary-nav .dropdown-item > span {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 7px 14px;
  color: var(--gscc-color-text, #17212B);
  text-decoration: none;
  white-space: nowrap;
  line-height: 1.3;
}
.gscc-primary-nav .dropdown-item > a:hover,
.gscc-primary-nav .dropdown-item > a:focus {
  background: var(--gscc-color-primary-soft);
  color: var(--gscc-color-primary-dark);
}

.gscc-nav-unavailable {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  color: var(--gscc-color-muted, #667085) !important;
  cursor: not-allowed;
  opacity: 0.85;
}
.gscc-nav-soon {
  font-size: 0.75em;
  font-weight: 600;
}

a.gscc-external::after {
  content: "";
  display: inline-block;
  width: 0.65em;
  height: 0.65em;
  margin-left: 0.3em;
  vertical-align: middle;
  background: currentColor;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='black' d='M10.5 1H15v4.5L13.5 4 8 9.5 6.5 8 12 2.5 10.5 1zM2 3h5v1.5H3.5V12.5h8V9H13v5H2V3z'/%3E%3C/svg%3E") center / contain no-repeat;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='black' d='M10.5 1H15v4.5L13.5 4 8 9.5 6.5 8 12 2.5 10.5 1zM2 3h5v1.5H3.5V12.5h8V9H13v5H2V3z'/%3E%3C/svg%3E") center / contain no-repeat;
}

.home-page .side-menu__item.active .side-menu__label,
.home-page .slide-item.active {
  color: var(--gscc-color-accent, #D89B2B) !important;
  font-weight: 700;
}

.footer-links-list .gscc-nav-unavailable {
  padding: 0.15rem 0;
  font-size: inherit;
  display: inline-flex;
  align-items: flex-start;
  gap: 6px;
  flex-wrap: wrap;
  line-height: 1.35;
}

/* Dark footer: muted grey fails contrast — use light text + gold “coming soon” */
footer.footer-section .gscc-nav-unavailable,
footer.footer-section .footer-links-list .gscc-nav-unavailable {
  color: rgba(255, 255, 255, 0.78) !important;
  opacity: 1;
}
footer.footer-section .gscc-nav-soon,
footer.footer-section .gscc-nav-unavailable .gscc-nav-soon {
  color: #f0c674 !important;
  font-weight: 600;
}

/* Status / error pages inside public layout */
.gscc-status-page {
  max-width: 40rem;
  margin: 2.5rem auto;
  padding: 1.5rem;
  text-align: center;
  background: var(--gscc-color-surface, #fff);
  border: 1px solid var(--gscc-color-border, #DCE3E7);
  border-radius: var(--gscc-radius-lg, 10px);
}
.gscc-status-page .gscc-status-code {
  font-size: clamp(2.5rem, 8vw, 4rem);
  font-weight: 800;
  color: var(--gscc-color-primary);
  line-height: 1;
  margin: 0 0 0.5rem;
}
.gscc-status-page .gscc-status-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  justify-content: center;
  margin-top: 1.25rem;
}
