/* ============================================================
   Header menu readability fix — 2026-08-25
   Keeps the desktop navigation on one line and consistent.
   ============================================================ */

/* Never split Japanese navigation labels into vertical stacks. */
.header-nav a {
  white-space: nowrap !important;
  word-break: keep-all !important;
  overflow-wrap: normal !important;
  line-break: strict;
}

/* The consultation link remains the single highlighted header action. */
.header-nav .nav-contact {
  background: #c05030 !important;
  color: #fff !important;
  font-weight: 700 !important;
  border-radius: 8px !important;
}
.header-nav .nav-contact:hover {
  background: #a8432a !important;
  color: #fff !important;
}

@media (min-width: 1025px) {
  .header-inner {
    max-width: 1240px !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
    gap: 14px !important;
  }

  .header-logo,
  .header-brand {
    flex: 0 0 auto !important;
    white-space: nowrap !important;
  }

  .header-nav {
    display: flex !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    align-items: center !important;
    justify-content: flex-end !important;
    flex-wrap: nowrap !important;
    gap: 2px !important;
  }

  .header-nav a {
    flex: 0 0 auto !important;
    padding: 9px 9px !important;
    font-size: 0.82rem !important;
    line-height: 1.25 !important;
  }

  /* These two actions were causing the menu to wrap on some pages.
     Both remain available elsewhere on the page/site. */
  .header-right .header-tel,
  .header-right .header-cta {
    display: none !important;
  }

  .header-right {
    flex: 0 0 auto !important;
    gap: 0 !important;
  }
}

/* Slightly tighter at small desktop widths, without shrinking to unreadable text. */
@media (min-width: 1025px) and (max-width: 1180px) {
  .header-inner {
    padding-left: 14px !important;
    padding-right: 14px !important;
    gap: 8px !important;
  }
  .header-logo small,
  .header-logo .logo-sub,
  .header-brand span {
    display: none !important;
  }
  .header-nav a {
    padding: 8px 6px !important;
    font-size: 0.77rem !important;
  }
}

/* Tablet widths used by the simpler header template: keep labels readable. */
@media (min-width: 768px) and (max-width: 1024px) {
  .header .header-inner {
    gap: 8px !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
  .header .header-logo small {
    display: none !important;
  }
  .header .header-nav {
    flex-wrap: nowrap !important;
    gap: 0 !important;
    min-width: 0 !important;
  }
  .header .header-nav a {
    flex: 0 0 auto !important;
    font-size: 0.70rem !important;
    padding: 0.35em 0.42em !important;
  }
}
