/*
  file: header-nav.css
  scope: global header/nav
  purpose:
  - site header
  - logo
  - contact/tel
  - nav bars
*/

body.site-theme-conversion .tp-logo-wrap {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  line-height: 1;
}

/* ヘッダー横長ロゴ（.tp-site-logo__img）は除外。小アイコンのみ 44px 固定 */
body.site-theme-conversion .tp-logo-icon,
body.site-theme-conversion .tp-logo-img:not(.tp-site-logo__img) {
  width: 44px;
  height: 44px;
  object-fit: contain;
  flex: 0 0 44px;
  display: inline-block;
}

body.site-theme-conversion .tp-site-header .tp-site-logo,
body.site-theme-conversion .tp-header .tp-site-logo {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

body.site-theme-conversion .tp-site-header .tp-site-logo .tp-logo-text,
body.site-theme-conversion .tp-header .tp-site-logo .tp-logo-text {
  display: inline-block;
  white-space: nowrap;
}

body.site-theme-conversion .tp-site-header .tp-site-logo__img,
body.site-theme-conversion .tp-site-header .tp-logo-img.tp-site-logo__img,
body.site-theme-conversion .tp-header .tp-site-logo__img,
body.site-theme-conversion .tp-header .tp-logo-img.tp-site-logo__img {
  display: block;
  width: auto;
  max-width: var(--site-logo-max-width, 210px);
  max-height: var(--site-logo-max-height, 80px);
  height: auto;
  object-fit: contain;
  flex: 0 0 auto;
}

body.site-theme-conversion .tp-logo-text {
  display: inline-block;
}

@media (max-width: 700px) {
  body.site-theme-conversion .tp-logo-wrap {
    gap: 8px;
  }

  body.site-theme-conversion .tp-logo-icon,
  body.site-theme-conversion .tp-logo-img:not(.tp-site-logo__img) {
    width: 34px;
    height: 34px;
    flex-basis: 34px;
  }

  body.site-theme-conversion .tp-site-header .tp-site-logo__img,
  body.site-theme-conversion .tp-site-header .tp-logo-img.tp-site-logo__img,
  body.site-theme-conversion .tp-header .tp-site-logo__img,
  body.site-theme-conversion .tp-header .tp-logo-img.tp-site-logo__img {
    max-width: min(var(--site-logo-max-width, 210px), 160px);
    max-height: min(var(--site-logo-max-height, 80px), 60px);
  }
}

/* ----- 公開サイトヘッダー：横長ロゴの寸法固定（home/list-cards を統合・後読みでも確実に効く） ----- */
body.site-theme-conversion .tp-site-header img.tp-site-logo__img,
body.site-theme-conversion .tp-site-header .tp-site-logo__img {
  display: block !important;
  width: auto !important;
  height: auto !important;
  max-width: var(--site-logo-max-width, 210px) !important;
  max-height: var(--site-logo-max-height, 80px) !important;
  object-fit: contain !important;
}

body.site-theme-conversion .tp-site-header .tp-logo-img:not(.tp-site-logo__img) {
  width: 44px !important;
  height: 44px !important;
}

@media (max-width: 700px) {
  body.site-theme-conversion .tp-site-header .tp-logo-img:not(.tp-site-logo__img) {
    width: 34px !important;
    height: 34px !important;
  }
}

/*
 * styles.css の body.site-theme-conversion .tp-logo { font-size: clamp(38px,…) } が、
 * 画像未取得時の alt および横並びの .tp-logo-text に継承され過大表示になるのを防ぐ。
 */
body.site-theme-conversion .tp-site-header a.tp-logo.tp-site-logo:has(img.tp-site-logo__img) {
  font-size: 0;
  line-height: 0;
  letter-spacing: 0;
}

body.site-theme-conversion .tp-site-header a.tp-logo.tp-site-logo img.tp-site-logo__img {
  font-size: clamp(12px, 2.5vw, 16px);
}

/* 横長ロゴ表示時は視覚的に img と重複するテキストを隠す（アクセシビリティ用 span は残す） */
body.site-theme-conversion .tp-site-header .tp-site-logo img.tp-site-logo__img ~ .tp-logo-text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
