/* Portal title spacing overrides */

/* Offline-safe system fonts (replaces Google Fonts) */
html body,
.font-family-primary,
.font-family-poppins,
.font-family-nunito,
.font-family-outfit,
.header .header-menu .nav .nav-item .nav-link,
.theme-font-nunito .header .header-menu .nav .nav-item .nav-link {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
}

.font-family-playfair {
  font-family: Georgia, "Songti SC", "Noto Serif SC", serif;
}

/* Inner page banner title */
.section-xl.bg-overlay.bg-image.parallax > .bg-dark-05 {
  display: flex;
  align-items: center;
  min-height: 320px;
  padding-top: 80px;
}

.section-xl.bg-overlay.bg-image.parallax > .bg-dark-05 .container {
  padding-top: 72px !important;
  padding-bottom: 72px !important;
}

.section-xl.bg-overlay.bg-image.parallax .container h1.letter-spacing-1 {
  letter-spacing: 0.14em;
  line-height: 1.45;
}

/* Hero / carousel titles */
.section-fullscreen .container h5.fw-normal,
.bg-gradient-2 .container h5.fw-normal {
  margin-bottom: 1.5rem !important;
}

.section-fullscreen .container h1,
.bg-gradient-2 .container h1.display-4,
.corporate-business .section-lg .container h1 {
  margin-bottom: 1.75rem;
  line-height: 1.4;
  letter-spacing: 0.06em;
}

.section-fullscreen .container h1 + .button,
.section-fullscreen .container h1 + a.button,
.bg-gradient-2 .container h1 + ul,
.corporate-business .section-lg .container h1 + div {
  margin-top: 2.25rem !important;
}

/* Section headings below page banner */
.section .display-6,
.section.border-top .display-6 {
  line-height: 1.5;
  margin-bottom: 0.75rem;
}

.section .mb-5 .display-6 + p,
.section.border-top .display-6 + p {
  margin-top: 1.25rem;
}

@media (max-width: 767.98px) {
  .section-xl.bg-overlay.bg-image.parallax > .bg-dark-05 {
    min-height: 260px;
    padding-top: 70px;
  }

  .section-xl.bg-overlay.bg-image.parallax > .bg-dark-05 .container {
    padding-top: 52px !important;
    padding-bottom: 52px !important;
  }

  .section-fullscreen .container h5.fw-normal,
  .bg-gradient-2 .container h5.fw-normal {
    margin-bottom: 1.25rem !important;
  }

  .section-fullscreen .container h1,
  .bg-gradient-2 .container h1.display-4 {
    margin-bottom: 1.25rem;
    letter-spacing: 0.04em;
  }
}

/* Portal navigation: hover dropdown (level 2 menu) */
:root {
  --portal-nav-accent: #e0536f;
}

.header.portal-header {
  background: #fff;
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.06);
}

.header.portal-header .header-logo h3,
.header.portal-header .header-logo h3 a,
.header.portal-header .portal-nav-menu .nav-link,
.header.portal-header .header-menu-extra a:not([class^="button"]) {
  color: #333;
}

.header.portal-header .header-toggle span,
.header.portal-header .header-toggle span:before,
.header.portal-header .header-toggle span:after {
  background: #333;
}

.header.portal-header .lang-switcher::before {
  background: rgba(0, 0, 0, 0.12);
}

.header.portal-header .header-menu-extra .lang-switcher-toggle {
  color: #333;
}

@media (min-width: 992px) {
  .portal-nav-menu .nav {
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
    gap: 4px;
  }

  .portal-nav-menu .nav-item {
    position: relative;
  }

  .portal-nav-menu .nav-item::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    height: 12px;
  }

  .portal-nav-menu .nav-item > .nav-link {
    padding: 0 14px;
    font-size: 15px;
    white-space: nowrap;
    transition: color 0.2s;
  }

  .portal-nav-menu .nav-item:hover > .nav-link,
  .portal-nav-menu .nav-item > .nav-link.active {
    color: var(--portal-nav-accent);
  }

  .portal-nav-menu .nav-item > .nav-link:before {
    display: none;
  }

  .portal-nav-menu .nav-dropdown-toggle {
    display: none !important;
  }

  .portal-nav-menu .nav-dropdown {
    top: 100%;
    left: 50%;
    transform: translateX(-50%) translateY(8px);
    width: auto;
    min-width: 168px;
    margin-top: 8px;
    padding: 0;
    border: 1px solid #ececec;
    border-radius: 0;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.08);
    overflow: hidden;
  }

  .portal-nav-menu .nav-dropdown:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background: var(--portal-nav-accent);
  }

  .portal-nav-menu .nav-item:hover > .nav-dropdown {
    transform: translateX(-50%) translateY(0);
    visibility: visible;
    opacity: 1;
  }

  .portal-nav-menu .nav-dropdown-item {
    padding: 0;
    margin: 0;
    border-bottom: 1px solid #f2f2f2;
  }

  .portal-nav-menu .nav-dropdown-item:last-child {
    border-bottom: none;
  }

  .portal-nav-menu .nav-dropdown-link {
    display: block;
    padding: 11px 24px;
    text-align: center;
    color: #333;
    border-radius: 0;
    white-space: nowrap;
  }

  .portal-nav-menu .nav-dropdown-link:hover,
  .portal-nav-menu .nav-dropdown-link:focus {
    background: #fff5f7;
    color: var(--portal-nav-accent);
    padding: 11px 24px;
  }
}

@media (max-width: 991.98px) {
  .portal-nav-menu .nav-dropdown {
    position: static;
    visibility: visible;
    opacity: 1;
    transform: none;
    width: 100%;
    box-shadow: none;
    border: 0;
    padding: 0 0 8px 12px;
    background: transparent;
  }

  .portal-nav-menu .nav-dropdown:before {
    display: none;
  }

  .portal-nav-menu .nav-dropdown-link {
    text-align: left;
    padding: 8px 0;
  }
}
