/* Brightcomms hotfix v2: header/menu + hero sizing (desktop + mobile) */

/* --- Global guards --- */
html { box-sizing: border-box; -webkit-text-size-adjust: 100%; }
*, *::before, *::after { box-sizing: inherit; }
img, video { max-width: 100%; height: auto; }
body { margin: 0; }

/* Keep a sane reading width on very large desktops */
.container, .header .container, .footer-bottom .container {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 16px;
  padding-right: 16px;
}

/* --- Header / Menu --- */
.header .container {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

/* Logo too tall on web: cap it */
.header .logo, .header img.logo {
  max-height: 72px !important;
  width: auto;
}

/* Desktop nav spacing and font-size */
@media (min-width: 1024px) {
  .header .nav .nav-list {
    display: flex;
    align-items: center;
    gap: 20px !important; /* was 32px; tighten */
  }
  .header .nav .nav-list > li > a {
    font-size: 16px;
    line-height: 1.2;
    padding: 8px 6px;
  }
  .header .nav .btn-orange {
    padding: 10px 16px !important; /* reduce oversized CTA */
    font-size: 15px;
  }
}

/* Mobile menu polish */
@media (max-width: 1023.98px) {
  .menu-toggle { font-size: 20px; }
  .mobile-nav.show { max-height: 85vh; overflow-y: auto; }
}

/* --- Hero sizing --- */
/* Many screens show hero too big because of inline padding-left:20%.
   Neutralize excessive left padding and clamp title sizes. */
.true-left-hero .hero-overlay-inner {
  max-width: 820px;
}

@media (min-width: 1024px) {
  .true-left-hero .hero-overlay-inner {
    padding-left: 0 !important;      /* override inline */
    margin-left: 6%;                  /* subtle left bias */
  }
  .true-left-hero h1 {
    font-size: clamp(36px, 4.2vw, 56px);
    line-height: 1.1;
  }
  .hero-subtitle {
    font-size: clamp(16px, 1.4vw, 20px);
  }
  .hero-ctas-group a.btn,
  .hero-ctas-group a.btn.btn-outline {
    padding: 12px 18px;
    font-size: 15px;
  }
}

/* Tablet/Mobile text guards */
@media (max-width: 1024px){
  html { font-size: 16px; }
  h1 { font-size: clamp(28px, 5vw, 40px); }
  h2 { font-size: clamp(22px, 4.2vw, 32px); }
  p, li { font-size: clamp(14px, 2.8vw, 18px); line-height: 1.55; }
}

/* --- Cards / sections subtle reductions on desktop --- */
@media (min-width: 1024px){
  .card.card-centered { padding-top: 64px; }
  #services .section-title { margin-bottom: 72px !important; }
  .cta-center .cta-secondary-link { font-size: 1rem; }
  .btn-orange { padding: 10px 18px; font-size: 15px; }
}

/* Footer minor tune */
.footer-advanced p, .footer-advanced li, .footer-advanced a { font-size: 14px; }
.tmforum-logo { height: 48px !important; }
