/* 釣船DB AI掲載情報管理 v0.9.5 - 共通標準本文デザイン
   すべて .tdb-boat-article 内だけに作用。編集はこの1ファイルのみ。
   ListingPro の他のページを変更しません。
*/
/* AI標準本文のクラスだけに適用。既存の船・地域・魚種ページには影響しません。 */
.tdb-boat-article {
  --tdb-accent: #12638a;
  --tdb-dark: #133d56;
  --tdb-text: #263946;
  --tdb-border: #dce7ec;
  --tdb-soft: #f1f7fa;
}

/* --- 船の概要の見出しと紹介文 --- */
.tdb-boat-article h2.wp-block-heading {
  margin: 20px 0 17px !important;
  padding: 0 0 14px !important;
  background: none !important;
  border: 0 !important;
  border-bottom: 2px solid #dce7ec !important;
  color: #133d56 !important;
  font-size: clamp(22px, 2.6vw, 27px) !important;
  line-height: 1.45 !important;
  box-shadow: none !important;
}
.tdb-boat-article h2.wp-block-heading::before,
.tdb-boat-article h2.wp-block-heading::after {
  content: none !important;
  display: none !important;
}
.tdb-boat-article > p:not(.tdb-final-note) {
  color: #263946;
  font-size: 16px;
  line-height: 1.9;
}

/* --- 本文のセクション見出し --- */
.tdb-boat-article h3.wp-block-heading,
.tdb-boat-article h3:has(+ ul),
.tdb-boat-article h3:has(+ figure.wp-block-table) {
  position: relative !important;
  display: block !important;
  margin: 40px 0 20px !important;
  padding: 10px 14px 11px 19px !important;
  background: #f0f6f9 !important;
  border: 0 !important;
  border-left: 5px solid var(--tdb-accent) !important;
  border-radius: 4px 8px 8px 4px !important;
  box-shadow: none !important;
  color: var(--tdb-dark) !important;
  font-size: 22px !important;
  font-weight: 750 !important;
  line-height: 1.48 !important;
}
.tdb-boat-article h3.wp-block-heading::before,
.tdb-boat-article h3.wp-block-heading::after,
.tdb-boat-article h3:has(+ ul)::before,
.tdb-boat-article h3:has(+ ul)::after,
.tdb-boat-article h3:has(+ figure.wp-block-table)::before,
.tdb-boat-article h3:has(+ figure.wp-block-table)::after {
  content: none !important;
  display: none !important;
}

/* --- 対象魚・設備等の箇条書きはカード型 --- */
.tdb-boat-article h3.wp-block-heading + ul,
.tdb-boat-article h3 + ul {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
  padding: 0 !important;
  margin: 0 0 24px !important;
  list-style: none !important;
}
.tdb-boat-article h3.wp-block-heading + ul > li,
.tdb-boat-article h3 + ul > li {
  display: block !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 12px 15px !important;
  list-style: none !important;
  background: #f3f8fb !important;
  border: 1px solid #dce9f0 !important;
  border-radius: 9px !important;
  color: #2a4657 !important;
  line-height: 1.6 !important;
  font-size: 16px !important;
  overflow-wrap: anywhere;
}
.tdb-boat-article h3 + ul > li::marker { content: '' !important; }
.tdb-boat-article h3 + ul > li::before { content: none !important; display: none !important; }

/* =====================================================
   料金表：Excel風の罫線を廃止し、料金カードに変更
   - PC: 2列のカード
   - スマホ: 1列、釣り物と料金を左右に
   - テーブル本体は変更せずCSSのみで見た目を変更
   ===================================================== */
.tdb-boat-article figure.wp-block-table {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 0 18px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}
.tdb-boat-article figure.wp-block-table > table {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  table-layout: auto !important;
}
/* 見出し行は視覚的に省略、文書内の見出し情報は残す */
.tdb-boat-article figure.wp-block-table thead {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
}
.tdb-boat-article figure.wp-block-table tbody {
  display: grid !important;
  width: 100% !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
  background: transparent !important;
}
.tdb-boat-article figure.wp-block-table tbody tr {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  width: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #fff !important;
  border: 1px solid #d8e5ee !important;
  border-radius: 12px !important;
  box-shadow: 0 2px 8px rgba(18, 57, 84, .055) !important;
  overflow: hidden !important;
}
.tdb-boat-article figure.wp-block-table tbody tr:nth-child(even),
.tdb-boat-article figure.wp-block-table tbody tr:nth-child(even) td {
  background: #fff !important;
}
.tdb-boat-article figure.wp-block-table tbody tr:hover {
  border-color: #aacbdc !important;
  background: #fff !important;
}
.tdb-boat-article figure.wp-block-table tbody td {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  margin: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  float: none !important;
  text-align: left !important;
  vertical-align: middle !important;
  box-sizing: border-box !important;
  overflow-wrap: anywhere;
}
.tdb-boat-article figure.wp-block-table tbody td:first-child {
  padding: 17px 17px 4px !important;
  font-size: 17px !important;
  font-weight: 650 !important;
  color: #445a6a !important;
  line-height: 1.55 !important;
}
.tdb-boat-article figure.wp-block-table tbody td:last-child {
  padding: 2px 17px 17px !important;
  font-size: 25px !important;
  font-weight: 800 !important;
  letter-spacing: .015em !important;
  color: var(--tdb-accent) !important;
  line-height: 1.45 !important;
  font-variant-numeric: tabular-nums;
}

/* --- 料金表直後の黄色い補足：小さくしない --- */
.tdb-boat-article figure.wp-block-table + p {
  display: block !important;
  margin: 2px 0 26px !important;
  padding: 18px 20px !important;
  border: 1px solid #eddcb7 !important;
  border-left: 5px solid #d69b3a !important;
  border-radius: 8px !important;
  background: #fff9eb !important;
  box-shadow: none !important;
  color: #4e4433 !important;
  font-size: 18px !important;
  font-weight: 500 !important;
  line-height: 1.85 !important;
  letter-spacing: 0 !important;
}

/* --- 公式ブログ・公式サイトへの独立したリンクを明確なボタンに --- */
.tdb-boat-article p > a[target="_blank"]:only-child {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 13px 22px !important;
  margin: 4px 0 14px !important;
  background: #12638a !important;
  color: #fff !important;
  border: 1px solid #12638a !important;
  border-radius: 9px !important;
  font-size: 17px !important;
  line-height: 1.5 !important;
  font-weight: 750 !important;
  text-decoration: none !important;
  box-shadow: 0 3px 7px rgba(18, 57, 84, .12) !important;
}
.tdb-boat-article p > a[target="_blank"]:only-child:hover {
  background: #0d4d6e !important;
  color: #fff !important;
}
.tdb-boat-article p > a[target="_blank"]:only-child:focus-visible {
  outline: 3px solid #a1cfe5 !important;
  outline-offset: 3px !important;
}

/* --- 末尾の簡潔な注意書き：料金の補足とは別デザイン --- */
.tdb-boat-article p.tdb-final-note {
  display: block !important;
  margin: 34px 0 0 !important;
  padding: 13px 15px !important;
  border: 1px solid #e0e9ee !important;
  border-left: 3px solid #9bb8c8 !important;
  border-radius: 7px !important;
  background: #f4f8fb !important;
  color: #516471 !important;
  font-size: 15px !important;
  line-height: 1.75 !important;
  font-weight: 400 !important;
}
.tdb-boat-article p.tdb-final-note::before,
.tdb-boat-article p.tdb-final-note::after { content: none !important; }

/* --- maps: keep existing iframe code but responsive presentation --- */
.tdb-boat-article iframe[src*="google.com/maps/embed"] {
  display: block;
  max-width: 100%;
  width: 100% !important;
  aspect-ratio: 4 / 3;
  height: auto !important;
  border-radius: 10px;
}

@media (max-width: 767px) {
  .tdb-boat-article h3.wp-block-heading,
  .tdb-boat-article h3:has(+ ul),
  .tdb-boat-article h3:has(+ figure.wp-block-table) {
    margin: 31px 0 15px !important;
    padding: 10px 12px 10px 15px !important;
    font-size: 19px !important;
  }
  .tdb-boat-article h3.wp-block-heading + ul,
  .tdb-boat-article h3 + ul {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
  }
  .tdb-boat-article h3.wp-block-heading + ul > li,
  .tdb-boat-article h3 + ul > li {
    flex: 0 1 auto !important;
    max-width: 100% !important;
    padding: 11px 13px !important;
    font-size: 15.5px !important;
  }
  .tdb-boat-article figure.wp-block-table tbody {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }
  .tdb-boat-article figure.wp-block-table tbody tr {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0 !important;
    padding: 13px 15px !important;
  }
  .tdb-boat-article figure.wp-block-table tbody td:first-child {
    width: 100% !important;
    flex: auto !important;
    padding: 0 0 4px !important;
    font-size: 15.5px !important;
  }
  .tdb-boat-article figure.wp-block-table tbody td:last-child {
    width: 100% !important;
    flex: auto !important;
    padding: 0 !important;
    text-align: left !important;
    font-size: 23px !important;
  }
  .tdb-boat-article figure.wp-block-table + p {
    padding: 16px 15px !important;
    font-size: 16px !important;
    line-height: 1.8 !important;
  }
  .tdb-boat-article p > a[target="_blank"]:only-child {
    display: flex !important;
    width: 100% !important;
    box-sizing: border-box !important;
    font-size: 16px !important;
  }
  .tdb-boat-article p.tdb-final-note { font-size: 14px !important; }
  .tdb-boat-article iframe[src*="google.com/maps/embed"] { aspect-ratio: 1.2 / 1; }
}
@media (max-width: 360px) {
  .tdb-boat-article figure.wp-block-table tbody tr {
    flex-direction: column !important;
    align-items: flex-start !important;
  }
  .tdb-boat-article figure.wp-block-table tbody td:first-child,
  .tdb-boat-article figure.wp-block-table tbody td:last-child {
    width: 100% !important;
    flex: auto !important;
    text-align: left !important;
  }
}

/* ==========================================================
   釣船DB 標準本文 × 船別最新釣果デザイン統一
   AI掲載情報管理 v0.9.7 の standard-body.css への追記
   対象: 船ページに自動挿入される .tdb-rss-boat-auto のみ
   全国釣果一覧（.tdb-rss-grid 単独）には適用しない
   ========================================================== */

/* 標準本文と同じ色、余白、セクション見出し */
.tdb-rss-boat-auto {
  --tdb-rss-accent: #12638a;
  --tdb-rss-dark: #133d56;
  margin: 32px 0 30px !important;
  padding: 0 !important;
  max-width: 100%;
  clear: both;
}
.tdb-rss-boat-auto > h2.tdb-rss-boat-auto-heading {
  position: relative !important;
  display: block !important;
  margin: 40px 0 20px !important;
  padding: 10px 14px 11px 19px !important;
  background: #f0f6f9 !important;
  border: 0 !important;
  border-left: 5px solid var(--tdb-rss-accent) !important;
  border-radius: 4px 8px 8px 4px !important;
  color: var(--tdb-rss-dark) !important;
  font-size: 22px !important;
  line-height: 1.48 !important;
  font-weight: 750 !important;
  text-align: left !important;
  letter-spacing: normal !important;
  box-shadow: none !important;
}
.tdb-rss-boat-auto > h2.tdb-rss-boat-auto-heading::before,
.tdb-rss-boat-auto > h2.tdb-rss-boat-auto-heading::after {
  content: none !important;
  display: none !important;
}

/* 船別釣果カード: 標準本文の料金カードと統一したトーン */
.tdb-rss-boat-auto .tdb-rss-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
  max-width: 100% !important;
  margin: 0 !important;
}
.tdb-rss-boat-auto .tdb-rss-card {
  box-sizing: border-box !important;
  min-width: 0 !important;
  padding: 17px !important;
  margin: 0 !important;
  background: #fff !important;
  border: 1px solid #d8e5ee !important;
  border-radius: 12px !important;
  box-shadow: 0 2px 8px rgba(18, 57, 84, .055) !important;
  color: #263946 !important;
  overflow-wrap: anywhere;
  transition: border-color .2s ease, box-shadow .2s ease;
}
.tdb-rss-boat-auto .tdb-rss-card:hover {
  border-color: #aacbdc !important;
  box-shadow: 0 3px 12px rgba(18, 57, 84, .09) !important;
}
.tdb-rss-boat-auto .tdb-rss-entry {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  min-width: 0;
}
.tdb-rss-boat-auto .tdb-rss-details {
  flex: 1 1 auto;
  min-width: 0;
}
.tdb-rss-boat-auto .tdb-rss-image-link {
  flex: 0 0 88px;
  max-width: 88px;
}
.tdb-rss-boat-auto .tdb-rss-image {
  display: block;
  width: 88px;
  height: 88px;
  object-fit: cover;
  border-radius: 8px;
}

/* 日付・記事タイトル・本文抜粋・船名のサイズを統一 */
.tdb-rss-boat-auto .tdb-rss-card time {
  display: block;
  margin: 0 0 5px;
  color: #657b8a !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
  font-weight: 400 !important;
}
.tdb-rss-boat-auto .tdb-rss-card h3 {
  display: block !important;
  position: static !important;
  margin: 0 0 9px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: var(--tdb-rss-dark) !important;
  font-size: 17px !important;
  font-weight: 750 !important;
  line-height: 1.55 !important;
  text-align: left !important;
}
.tdb-rss-boat-auto .tdb-rss-card h3::before,
.tdb-rss-boat-auto .tdb-rss-card h3::after {
  content: none !important;
  display: none !important;
}
.tdb-rss-boat-auto .tdb-rss-card h3 a {
  color: var(--tdb-rss-dark) !important;
  text-decoration: none !important;
}
.tdb-rss-boat-auto .tdb-rss-card h3 a:hover,
.tdb-rss-boat-auto .tdb-rss-card h3 a:focus-visible {
  color: var(--tdb-rss-accent) !important;
  text-decoration: underline !important;
}
.tdb-rss-boat-auto .tdb-rss-card .tdb-rss-excerpt {
  display: block;
  margin: 0 0 11px !important;
  padding: 0 !important;
  color: #334b5b !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 1.75 !important;
  background: none !important;
  border: 0 !important;
}
.tdb-rss-boat-auto .tdb-rss-card .tdb-rss-boat {
  color: var(--tdb-rss-accent) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1.6 !important;
  text-decoration: none !important;
}
.tdb-rss-boat-auto .tdb-rss-card .tdb-rss-boat:hover {
  text-decoration: underline !important;
}

/* スマホ: 標準本文と同様に横幅を確保し、カードを1列表示 */
@media (max-width: 767px) {
  .tdb-rss-boat-auto {
    margin: 25px 0 !important;
  }
  .tdb-rss-boat-auto > h2.tdb-rss-boat-auto-heading {
    margin: 31px 0 15px !important;
    padding: 10px 12px 10px 15px !important;
    font-size: 19px !important;
  }
  .tdb-rss-boat-auto .tdb-rss-grid {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 10px !important;
  }
  .tdb-rss-boat-auto .tdb-rss-card {
    padding: 14px !important;
  }
  .tdb-rss-boat-auto .tdb-rss-card h3 {
    font-size: 16px !important;
  }
  .tdb-rss-boat-auto .tdb-rss-card .tdb-rss-excerpt {
    font-size: 15px !important;
  }
}
@media (max-width: 480px) {
  .tdb-rss-boat-auto .tdb-rss-image-link {
    flex-basis: 72px;
    max-width: 72px;
  }
  .tdb-rss-boat-auto .tdb-rss-image {
    width: 72px;
    height: 72px;
  }
}
