/* WordPressテーマ用 補完スタイル */

/* モバイル追従LINEバーの表示制御 */
.sticky-line-bar {
  opacity: 0;
  transform: translateY(1.5rem);
  pointer-events: none;
  transition: opacity 0.3s ease, transform 0.3s ease;
}
.sticky-line-bar.is-visible {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

/* FAQアコーディオン開閉 */
.faq-content {
  max-height: 0;
  transition: max-height 0.28s cubic-bezier(0.23, 1, 0.32, 1);
}
[data-faq-item].is-open [data-slot="accordion-trigger"] svg {
  transform: rotate(180deg);
}
[data-slot="accordion-trigger"] svg {
  transition: transform 0.25s cubic-bezier(0.23, 1, 0.32, 1);
}

/* WP管理バー表示時のヘッダー位置調整 */
.admin-bar header.sticky {
  top: 32px;
}
@media screen and (max-width: 782px) {
  .admin-bar header.sticky {
    top: 46px;
  }
}

/* ============================================
   モバイル可読性向上: 文字サイズの底上げ
   本文16px・注記13〜14px を最低ラインにする
   ============================================ */
@media screen and (max-width: 767px) {
  /* 本文系 (Tailwind text-sm/text-base 相当を底上げ) */
  .text-sm {
    font-size: 0.9375rem !important; /* 15px */
    line-height: 1.75 !important;
  }
  .text-base {
    font-size: 1.0625rem !important; /* 17px */
    line-height: 1.85 !important;
  }
  p.text-sm,
  li.text-sm,
  dd.text-sm {
    font-size: 1rem !important; /* 16px */
  }
  /* 注記・ラベル系 */
  .text-xs {
    font-size: 0.8125rem !important; /* 13px */
    line-height: 1.6 !important;
  }
  .text-\[0\.65rem\],
  .text-\[0\.7rem\],
  .text-\[0\.75rem\] {
    font-size: 0.8125rem !important; /* 13px */
  }
  /* FAQの質問・回答 */
  [data-slot="accordion-trigger"] {
    font-size: 1rem !important; /* 16px */
    line-height: 1.7 !important;
  }
  .faq-content p,
  .faq-content div {
    font-size: 0.9375rem !important; /* 15px */
    line-height: 1.8 !important;
  }
}
