/* Porto International OLR — larger borderless header identity v13 */

/* Desktop and tablet header identity */
.navbar .logo {
  gap: 17px;
  flex: 0 1 auto;
  overflow: visible;
}

.navbar .logo-icon {
  width: 74px;
  height: 74px;
  flex: 0 0 74px;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible;
}

.navbar .logo-icon::after {
  display: none !important;
}

.navbar .logo-icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  transform: none !important;
  filter: drop-shadow(0 8px 14px rgba(0, 25, 54, .24));
}

.navbar .logo-text {
  max-width: none;
  font-size: clamp(24px, 1.85vw, 30px);
  line-height: 1.04;
  letter-spacing: .55px;
  white-space: nowrap;
  overflow: visible;
  text-overflow: clip;
}

.navbar .logo-text span {
  margin-top: 7px;
  font-size: clamp(10px, .78vw, 13px);
  line-height: 1.15;
  letter-spacing: 2.8px;
}

.navbar:not(.scrolled) {
  padding-top: 10px;
  padding-bottom: 10px;
}

.navbar.scrolled .logo-icon {
  width: 62px;
  height: 62px;
  flex-basis: 62px;
}

.navbar.scrolled .logo-text {
  font-size: clamp(21px, 1.6vw, 27px);
}

/* Keep the navigation balanced on medium desktop widths. */
@media (max-width: 1240px) and (min-width: 769px) {
  .nav-container { padding-inline: 20px; }
  .navbar .logo { gap: 12px; }
  .navbar .logo-icon {
    width: 64px;
    height: 64px;
    flex-basis: 64px;
  }
  .navbar .logo-text { font-size: 21px; }
  .navbar .logo-text span { font-size: 9px; letter-spacing: 1.8px; }
  .nav-links { gap: 18px; }
  .nav-links a { font-size: 13px; }
}

/* Mobile: visibly larger than before, but still leaves room for the menu button. */
@media (max-width: 768px) {
  .navbar .nav-container {
    min-height: 62px;
    gap: 9px;
  }

  .navbar .logo {
    gap: 9px;
    min-width: 0;
    overflow: hidden;
  }

  .navbar .logo-icon,
  .navbar.scrolled .logo-icon {
    width: 54px;
    height: 54px;
    flex: 0 0 54px;
  }

  .navbar .logo-text,
  .navbar.scrolled .logo-text {
    min-width: 0;
    max-width: none;
    font-size: clamp(15px, 4.35vw, 19px);
    line-height: 1.02;
    letter-spacing: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .navbar .logo-text span {
    margin-top: 4px;
    max-width: 100%;
    font-size: clamp(7px, 2vw, 9px);
    letter-spacing: .8px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
}

@media (max-width: 390px) {
  .navbar .nav-container { padding-inline: 8px; }
  .navbar .logo { gap: 6px; }
  .navbar .logo-icon,
  .navbar.scrolled .logo-icon {
    width: 48px;
    height: 48px;
    flex-basis: 48px;
  }
  .navbar .logo-text,
  .navbar.scrolled .logo-text {
    font-size: 14px;
  }
  .navbar .logo-text span {
    font-size: 6.7px;
    letter-spacing: .45px;
  }
}
