/* =====================================================================
   旧トップページ用CSS  bl-legacy.css
   ---------------------------------------------------------------------
   ・WordPress「追加CSS」に入っていたものを、そのまま移したファイル
   ・ただし .bl-reasons / .bl-voice は「:not(.bl-sec)」で旧HTMLだけに
     効くよう限定した(新しいブロックを上書きしてしまっていたため)
   ・トップページを新ブロックで作り直したら、このファイルは削除してよい
     (プラグイン設定:bridge-lounge-blocks.php の BL_BLOCKS_LOAD_LEGACY を false に)
   ===================================================================== */

/* ---------- 1. 共感カード(旧) ---------- */
.bl-empathy-section { margin: 0 0 48px; padding: 32px 24px; border-radius: 16px; background: #f0f6f8; }
.bl-empathy-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; max-width: 1180px; margin: 0 auto; }
.bl-empathy-grid > p { display: none !important; }
.bl-empathy-card { display: flex; flex-direction: column; align-items: center; border-radius: 16px; background: #fff; text-align: center; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04); padding: 16px !important; }
.bl-empathy-card__img-wrap { width: 100%; max-width: 200px; margin-bottom: 12px !important; }
.bl-empathy-card__img-wrap img { display: block; width: 100%; height: auto; border-radius: 4px; }
.bl-empathy-card__title { color: #07829f; font-family: "Yu Mincho", "Hiragino Mincho ProN", "MS PMincho", serif; font-size: 22px; font-weight: 400; line-height: 1.3; letter-spacing: 0.05em; margin: 0 0 10px !important; }
.bl-empathy-card__divider { width: 80%; height: 1px; background: #c6ced4; margin-bottom: 12px !important; }
.bl-empathy-card__text, .bl-empathy-card > p { margin: 0 !important; }
.bl-empathy-card__text { color: #3c4043; font-size: 14px; line-height: 1.7; letter-spacing: 0.03em; }

/* 見出しと共感カードの間隔(TCDページビルダー) */
.tcd-pb-widget.widget1 .p-headline02,
.tcd-pb-widget.widget1 .p-headline02__title,
.tcd-pb-widget.widget1 .p-headline02 > p { margin-bottom: 0 !important; }
.tcd-pb-row.row1 .tcd-pb-col.col1 .tcd-pb-widget.widget1 { margin-bottom: 8px !important; }

/* ---------- 2. 選ばれる理由(旧) ---------- */
.bl-reasons:not(.bl-sec) { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); width: 100% !important; max-width: 1180px !important; background: #e4e9ed; box-sizing: border-box; margin: 30px auto 0 !important; }
.bl-reasons:not(.bl-sec) > * { min-width: 0; }
.bl-reasons:not(.bl-sec) .bl-reasons__photo { min-width: 0; min-height: 400px; }
.bl-reasons:not(.bl-sec) .bl-reasons__photo img { display: block; width: 100%; height: 100%; min-height: 400px; object-fit: cover; }
.bl-reasons:not(.bl-sec) .bl-reasons__list { display: flex; flex-direction: column; justify-content: center; gap: 8px; width: 100% !important; margin: 24px 0 0 !important; padding: 0 18px !important; list-style: none; box-sizing: border-box; }
.bl-reasons:not(.bl-sec) .bl-reasons__item { display: flex; flex: 1 1 0%; align-items: center; gap: 12px; min-width: 0; min-height: 68px; padding: 8px 10px; border-radius: 4px; background: #fff; color: #3c4043; font-size: 18px; line-height: 1.6; overflow-wrap: anywhere; box-sizing: border-box; }
.bl-reasons:not(.bl-sec) .bl-reasons__icon { flex: 0 0 48px; width: 48px; height: 48px; border-radius: 50%; object-fit: cover; }

/* ---------- 3. 成婚者の声スライダー(旧) ---------- */
.bl-voice:not(.bl-sec) { overflow: hidden; }
.bl-voice:not(.bl-sec) > p:empty { display: none !important; }
.bl-voice:not(.bl-sec) .bl-voice__hero { position: relative; overflow: hidden; isolation: isolate; margin: 0 !important; }
.bl-voice:not(.bl-sec) .bl-voice__hero img { display: block; width: 100%; aspect-ratio: 5.4 / 1; object-fit: cover; vertical-align: top; margin: 0 !important; }
.bl-voice:not(.bl-sec) .bl-voice__hero::before { content: ""; position: absolute; z-index: 1; inset: 0; background: rgba(0, 0, 0, 0.25); pointer-events: none; }
.bl-voice:not(.bl-sec) .bl-voice__hero-title { position: absolute; z-index: 2; inset: 0; display: grid; place-items: center; padding: 0 12px; color: #fff; font-family: "Yu Mincho", "Hiragino Mincho ProN", "Noto Serif JP", "MS PMincho", serif; font-size: clamp(20px, 3.2vw, 38px); font-weight: 400; letter-spacing: 0.12em; text-align: center; text-shadow: 0 1px 6px rgba(0, 0, 0, 0.45); pointer-events: none; }
.bl-voice:not(.bl-sec) .bl-voice__carousel { position: relative; padding: 36px 0; background: #b5d3d9; margin: -36px 0 0 !important; }
.bl-voice:not(.bl-sec) .bl-voice__carousel > p { padding: 0; line-height: 0; margin: 0 !important; }
.bl-voice:not(.bl-sec) .bl-voice__viewport { width: calc(100% - 130px); margin-inline: auto; overflow: hidden; touch-action: pan-y; }
.bl-voice:not(.bl-sec) .bl-voice__viewport > p:empty,
.bl-voice:not(.bl-sec) .bl-voice__slide > p:empty { display: none !important; }
.bl-voice:not(.bl-sec) .bl-voice__track { display: flex; width: 100%; gap: 24px; transition: transform 0.45s; }
.bl-voice:not(.bl-sec) .bl-voice__slide { display: flex; flex: 0 0 100%; align-items: center; gap: 20px; min-height: 128px; padding: 14px 24px; border-radius: 16px; background: #fff; box-sizing: border-box; border: 0 !important; }
.bl-voice:not(.bl-sec) .bl-voice__slide > div { flex: 1 1 0%; min-width: 0; }
.bl-voice:not(.bl-sec) .bl-voice__thumb { overflow: hidden; display: block !important; flex: 0 0 96px !important; width: 96px !important; min-width: 96px !important; max-width: 96px !important; height: 96px !important; min-height: 96px !important; max-height: 96px !important; aspect-ratio: 1 / 1 !important; border-radius: 50% !important; object-fit: cover !important; }
.bl-voice:not(.bl-sec) .bl-voice__slide h3 { margin: 0 0 10px; color: #07829f; font-size: 18px; font-weight: 400; line-height: 1.5; }
.bl-voice:not(.bl-sec) .bl-voice__slide p { margin: 0; color: #3c4043; font-size: 15px; line-height: 1.7; }
.bl-voice:not(.bl-sec) .bl-voice__arrow { position: absolute; z-index: 2; top: 50%; display: grid; width: 44px; height: 52px; place-items: center; transform: translateY(-50%); border: 0; background: transparent; color: #07829f; font-size: 40px; cursor: pointer; }
.bl-voice:not(.bl-sec) .bl-voice__arrow--prev { left: 2%; }
.bl-voice:not(.bl-sec) .bl-voice__arrow--next { right: 2%; }
.bl-voice:not(.bl-sec) .bl-voice__dots { display: none !important; }
.tcd-pb-widget:has(.bl-voice:not(.bl-sec)) { margin-block: 0 !important; padding-block: 0 !important; background: transparent !important; }
.tcd-pb-widget:has(.bl-voice:not(.bl-sec)) > p:empty { display: none !important; }

/* ---------- 4. 無料お相手診断(旧) ---------- */
.bl-diagnosis { width: 100%; color: #3c4043; box-sizing: border-box; }
.bl-diagnosis *, .bl-diagnosis ::before, .bl-diagnosis ::after { box-sizing: inherit; }
.bl-diagnosis__hero { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 40px; }
.bl-diagnosis__image img { display: block; width: 100%; aspect-ratio: 1.35 / 1; object-fit: cover; border-radius: 20px; }
.bl-diagnosis__description p { margin: 0; font-family: "Yu Mincho", "Hiragino Mincho ProN", "MS PMincho", serif; font-size: 16px; line-height: 2; }
.bl-diagnosis__description { border-radius: 14px; background: #f4f9fa; padding: 24px 28px 28px !important; border: 1px solid #d8e8eb !important; }
.bl-diagnosis__label { display: inline-block; margin: 0 0 18px; padding: 8px 14px; border: 0; border-left: 3px solid #54b6d1; border-radius: 4px; background: #fff; color: #07829f; font-family: "Yu Mincho", "Hiragino Mincho ProN", "MS PMincho", serif; font-size: 18px; font-weight: 400; letter-spacing: 0.12em; }
section.bl-diagnosis .bl-diagnosis__hero { margin-bottom: 0 !important; }
section.bl-diagnosis .bl-diagnosis__description { margin-top: -40px !important; }
section.bl-diagnosis .bl-diagnosis__content { padding: 24px; text-align: center !important; }
section.bl-diagnosis .bl-diagnosis__eyebrow { margin: 0 0 8px !important; color: #54aabd !important; font-size: 15px !important; font-weight: 600; letter-spacing: 0.16em; line-height: 1.5 !important; }
section.bl-diagnosis .bl-diagnosis__title { margin: 0 !important; color: #07829f !important; font-family: "Yu Mincho", "Hiragino Mincho ProN", "MS PMincho", serif; font-size: 42px !important; font-weight: 400 !important; line-height: 1.4 !important; letter-spacing: 0.14em !important; }
section.bl-diagnosis .bl-diagnosis__divider { width: 400px !important; max-width: 100% !important; height: 1px; margin: 30px auto !important; background: #555; }
section.bl-diagnosis .bl-diagnosis__lead { width: 400px !important; max-width: 100% !important; margin: 0 auto !important; font-family: "Yu Mincho", "Hiragino Mincho ProN", "MS PMincho", serif; text-align: left !important; font-size: 16px !important; line-height: 2 !important; }
section.bl-diagnosis a.bl-diagnosis__button,
section.bl-diagnosis a.bl-diagnosis__button:hover { position: relative !important; display: block !important; width: 240px !important; height: 50px !important; min-height: 50px !important; margin: 30px auto 0 !important; padding: 0 !important; border: 0 !important; border-radius: 999px !important; background: #e6a0a3 !important; box-shadow: none !important; color: #fff !important; font-size: 18px !important; font-weight: 600 !important; letter-spacing: 0.08em; line-height: normal !important; text-align: center !important; text-decoration: none !important; text-indent: 0 !important; }
section.bl-diagnosis a.bl-diagnosis__button > span { position: absolute !important; inset: 0 !important; display: grid !important; place-items: center !important; width: 100% !important; height: 100% !important; margin: 0 !important; padding: 0 !important; color: #fff !important; line-height: 1 !important; text-align: center !important; }
section.bl-diagnosis a.bl-diagnosis__button::before,
section.bl-diagnosis a.bl-diagnosis__button::after { display: none !important; content: none !important; }

/* ---------- 5. レスポンシブ(旧) ---------- */
@media (max-width: 1024px) {
  .bl-empathy-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .bl-reasons:not(.bl-sec) { grid-template-columns: minmax(0, 1fr) !important; width: 100% !important; max-width: 100% !important; min-width: 0 !important; }
  .bl-reasons:not(.bl-sec) .bl-reasons__photo,
  .bl-reasons:not(.bl-sec) .bl-reasons__photo img { min-height: 0; }
  .bl-reasons:not(.bl-sec) .bl-reasons__photo img { aspect-ratio: 1.35 / 1; }
  .bl-reasons:not(.bl-sec) .bl-reasons__list { width: 100% !important; max-width: 100% !important; min-width: 0 !important; margin: 0 auto !important; padding: 16px !important; }
  .bl-reasons:not(.bl-sec) .bl-reasons__item { min-height: 56px; font-size: 15px; flex: 0 0 auto !important; width: 100% !important; max-width: 100% !important; min-width: 0 !important; }
  .bl-reasons:not(.bl-sec) .bl-reasons__icon { flex-basis: 44px; width: 44px; height: 44px; }

  .bl-voice:not(.bl-sec) .bl-voice__hero img { aspect-ratio: 2.2 / 1; }
  .bl-voice:not(.bl-sec) .bl-voice__hero-title { font-size: clamp(18px, 5vw, 26px); }
  .bl-voice:not(.bl-sec) .bl-voice__carousel { padding: 24px 0; margin-top: -24px !important; }
  .bl-voice:not(.bl-sec) .bl-voice__viewport { width: calc(100% - 32px) !important; }
  .bl-voice:not(.bl-sec) .bl-voice__track { gap: 12px; }
  .bl-voice:not(.bl-sec) .bl-voice__slide { flex-direction: column; align-items: center; gap: 12px; height: auto; min-height: 0; padding: 20px 16px; text-align: center; }
  .bl-voice:not(.bl-sec) .bl-voice__thumb { margin: 0 auto; flex: 0 0 84px !important; width: 84px !important; min-width: 84px !important; max-width: 84px !important; height: 84px !important; min-height: 84px !important; max-height: 84px !important; }
  .bl-voice:not(.bl-sec) .bl-voice__slide > div { flex: 0 0 auto; width: 100%; text-align: center; }
  .bl-voice:not(.bl-sec) .bl-voice__slide h3 { margin-bottom: 8px; font-size: 15px; text-align: center; }
  .bl-voice:not(.bl-sec) .bl-voice__slide p { font-size: 13px; text-align: center; }
  .bl-voice:not(.bl-sec) .bl-voice__carousel button.bl-voice__arrow { display: none !important; }
  .bl-voice:not(.bl-sec) .bl-voice__dots { display: flex !important; justify-content: center; align-items: center; gap: 9px; margin: 16px auto 0; }
  .bl-voice:not(.bl-sec) .bl-voice__dot { display: block; width: 10px; height: 10px; min-width: 10px; padding: 0; border: 1px solid #07829f; border-radius: 50%; background: transparent; cursor: pointer; }
  .bl-voice:not(.bl-sec) .bl-voice__dot[aria-current="true"] { background: #07829f; }

  section.bl-diagnosis .bl-diagnosis__hero { display: flex !important; flex-direction: column !important; align-items: stretch !important; gap: 0 !important; }
  section.bl-diagnosis .bl-diagnosis__image,
  section.bl-diagnosis .bl-diagnosis__content { width: 100% !important; min-width: 0 !important; }
  section.bl-diagnosis .bl-diagnosis__image img { aspect-ratio: 1.25 / 1; display: block !important; width: 100% !important; height: auto !important; object-fit: cover !important; border-radius: 16px !important; }
  section.bl-diagnosis .bl-diagnosis__content { padding: 24px 16px !important; }
  section.bl-diagnosis .bl-diagnosis__title { font-size: clamp(24px, 7vw, 30px) !important; letter-spacing: 0.1em !important; }
  section.bl-diagnosis .bl-diagnosis__divider { width: 100% !important; max-width: 400px !important; margin: 18px auto !important; }
  section.bl-diagnosis .bl-diagnosis__lead { width: 100% !important; max-width: 400px !important; margin: 0 auto !important; font-size: 15px; }
  section.bl-diagnosis a.bl-diagnosis__button { margin: 22px auto 0 !important; }
  .bl-diagnosis__description { padding: 18px 16px 20px !important; }
  .bl-diagnosis__description p { font-size: 14px; line-height: 1.9; }
}
@media (max-width: 600px) {
  .bl-empathy-section { padding: 20px 12px; border-radius: 12px; }
  .bl-empathy-grid { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .bl-empathy-card { padding: 12px 16px !important; }
  .bl-empathy-card__title { font-size: 18px; }
  .bl-empathy-card__text { font-size: 13px; }
}
