/* V215 — increase public site header, logo, nav text and portal CTA sizing. */

/* Desktop / large tablets */
@media (min-width: 1151px) {
  body header.top .bar,
  body header.top.sc .bar,
  body header.top.scrolled-deep .bar {
    min-height: 104px !important;
    gap: 28px !important;
    grid-template-columns: minmax(220px,1fr) auto minmax(220px,1fr) !important;
  }

  body header.top .logo img,
  body header.top.sc .logo img,
  body header.top.scrolled-deep .logo img {
    width: 210px !important;
    height: auto !important;
    max-width: 100% !important;
  }

  body header.top nav ul,
  body header.top.sc nav ul,
  body header.top.scrolled-deep nav ul {
    gap: clamp(18px, 1.65vw, 34px) !important;
  }

  body header.top nav li a,
  body header.top.sc nav li a,
  body header.top.scrolled-deep nav li a {
    min-height: 104px !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
  }

  body header.top nav li a::after,
  body header.top.sc nav li a::after,
  body header.top.scrolled-deep nav li a::after {
    bottom: 27px !important;
  }

  body header.top > .bar > a.portal,
  body header.top.sc > .bar > a.portal,
  body header.top.scrolled-deep > .bar > a.portal,
  body header.top .portal-desktop,
  body header.top.sc .portal-desktop,
  body header.top.scrolled-deep .portal-desktop {
    min-height: 56px !important;
    padding: 14px 26px !important;
    font-size: .98rem !important;
    font-weight: 700 !important;
    border-radius: 8px !important;
  }
}

/* Medium desktop / tablet landscape */
@media (min-width: 901px) and (max-width: 1150px) {
  body header.top .bar,
  body header.top.sc .bar,
  body header.top.scrolled-deep .bar {
    min-height: 96px !important;
    gap: 20px !important;
    grid-template-columns: minmax(180px,.95fr) auto minmax(180px,.95fr) !important;
  }

  body header.top .logo img,
  body header.top.sc .logo img,
  body header.top.scrolled-deep .logo img {
    width: 186px !important;
    height: auto !important;
    max-width: 100% !important;
  }

  body header.top nav ul,
  body header.top.sc nav ul,
  body header.top.scrolled-deep nav ul {
    gap: clamp(12px, 1.1vw, 22px) !important;
  }

  body header.top nav li a,
  body header.top.sc nav li a,
  body header.top.scrolled-deep nav li a {
    min-height: 96px !important;
    font-size: .92rem !important;
    font-weight: 700 !important;
  }

  body header.top nav li a::after,
  body header.top.sc nav li a::after,
  body header.top.scrolled-deep nav li a::after {
    bottom: 24px !important;
  }

  body header.top > .bar > a.portal,
  body header.top.sc > .bar > a.portal,
  body header.top.scrolled-deep > .bar > a.portal,
  body header.top .portal-desktop,
  body header.top.sc .portal-desktop,
  body header.top.scrolled-deep .portal-desktop {
    min-height: 50px !important;
    padding: 12px 22px !important;
    font-size: .9rem !important;
    font-weight: 700 !important;
    border-radius: 8px !important;
  }
}

/* Mobile and small tablets: slightly larger header and logo, keep drawer logic intact */
@media (max-width: 900px) {
  body header.top .bar,
  body header.top.sc .bar,
  body header.top.scrolled-deep .bar {
    min-height: 82px !important;
  }

  body header.top .logo img,
  body header.top.sc .logo img,
  body header.top.scrolled-deep .logo img {
    width: 178px !important;
    height: auto !important;
  }

  body header.top button.menu,
  body header.top.sc button.menu,
  body header.top.scrolled-deep button.menu,
  body header.top .menu,
  body header.top.sc .menu,
  body header.top.scrolled-deep .menu {
    min-width: 46px !important;
    min-height: 46px !important;
  }

  body header.top nav li a,
  body header.top.sc nav li a,
  body header.top.scrolled-deep nav li a {
    font-size: 1rem !important;
  }
}
