/*
 * お気に入りの演者・お知らせメール（hanashi-notify）。
 * 噺家のページ・番組表（今日の寄席）と同じ配色。「お気に入り」の色は、サイトの赤（#b52929）と金（#b8983a）。
 */

/* ── お気に入りの演者の名前（番組表・公演ページ・配信ページ） ───────────────── */
.hn-yose-name.is-fav,
a.hn-dir-link.is-fav {
  color: #b52929;
  font-weight: 700;
}
a.hn-yose-name.is-fav { border-bottom: 1px solid #b52929; }
a.hn-dir-link.is-fav { border-bottom-color: #b52929; }
.hn-yose-name.is-fav::before,
a.hn-dir-link.is-fav::before {
  content: "★";
  margin-right: 2px;
  color: #b8983a;
  font-size: .85em;
  font-weight: 400;
}
/* 出番の行そのもの（番組表）。search の is-hit（淡い黄色）と区別するため、淡い赤 */
.hn-yose-act.has-fav {
  background: #fdf1ef;
  box-shadow: 0 0 0 4px #fdf1ef;
  border-radius: 2px;
}

/* 番組表の上の一言 */
.hn-notify-yosebar {
  margin: 0 0 16px;
  padding: 9px 14px;
  border-left: 3px solid #b52929;
  background: #fdf1ef;
  color: #2c2820;
  font-size: 14px;
  line-height: 1.7;
}
.hn-notify-yosebar b { color: #b52929; }
.hn-notify-yosebar.is-guide {
  border-left-color: #b8983a;
  background: #faf8f4;
  color: #6a6560;
  font-size: 13px;
}
.hn-notify-yosebar a { color: #2271b1; }

/* ── 「お気に入りに追加」ボタン（噺家のページ） ───────────────────────────── */
.hn-fav { margin: 0; }
.hn-fav-btn {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 8px 18px;
  border: 1px solid #b52929; background: transparent; color: #b52929;
  font-size: 13px; font-family: "游ゴシック体", YuGothic, sans-serif;
  letter-spacing: .06em; line-height: 1;
  border-radius: 2px; cursor: pointer;
  transition: background .15s, color .15s;
}
.hn-fav-btn:hover { background: #b52929; color: #fff; }
.hn-fav-btn.is-fav { background: #b52929; color: #fff; }
.hn-fav-btn.is-fav:hover { background: #9a2020; border-color: #9a2020; }
.hn-fav-btn__icon { flex-shrink: 0; fill: none; stroke: currentColor; stroke-width: 2; stroke-linejoin: round; }
.hn-fav-btn.is-fav .hn-fav-btn__icon { fill: currentColor; }
.hn-fav-btn.is-loading { opacity: .6; pointer-events: none; }
.hn-fav-note { margin: 8px 0 0; color: #8a8078; font-size: 12px; line-height: 1.7; }

/* ── 押したあとの知らせ（画面の下に出る） ───────────────────────────────── */
.hn-notify-toast {
  position: fixed; left: 50%; bottom: 24px; z-index: 9999;
  box-sizing: border-box; width: calc(100% - 32px); max-width: 420px;
  padding: 14px 18px;
  background: #1a1815; color: #fff; border-radius: 4px;
  box-shadow: 0 8px 28px rgba(0, 0, 0, .25);
  font-size: 14px; line-height: 1.7; text-align: left;
  transform: translate(-50%, 12px); opacity: 0; pointer-events: none;
  transition: opacity .2s, transform .2s;
}
.hn-notify-toast.is-visible { opacity: 1; transform: translate(-50%, 0); pointer-events: auto; }
.hn-notify-toast b { display: block; font-weight: 700; letter-spacing: .06em; }
.hn-notify-toast small { display: block; margin-top: 2px; color: #d9d3c8; font-size: 12px; }
.hn-notify-toast a { display: inline-block; margin-top: 6px; color: #f0d98a; }
.hn-notify-toast.is-error { background: #8a1f1f; }

/* ── マイページ ───────────────────────────────────────────────────────── */
.hn-notify-wrap { font-family: "游ゴシック体", YuGothic, sans-serif; padding: 0 5vw; text-align: left; }
.hn-notify-h { margin: 22px 0 8px; padding: 0; border: 0; font-size: 15px; font-weight: 700; color: #1a1815; }
.hn-notify-h small { margin-left: 8px; font-size: 12px; font-weight: 400; color: #8a8078; }
.hn-notify-favs { list-style: none; margin: 0; padding: 0; }
.hn-notify-favs__item {
  display: flex; align-items: center; gap: 12px;
  padding: 12px 0; border-bottom: 1px solid #e2dcd3;
}
.hn-notify-favs__item:first-child { border-top: 1px solid #e2dcd3; }
.hn-notify-favs__name { flex: 1; min-width: 0; color: #1a1815; font-family: "游明朝", "YuMincho", Georgia, serif; font-size: 15px; text-decoration: none; }
.hn-notify-favs__name::before { content: "★"; margin-right: 4px; color: #b8983a; font-size: .85em; }
.hn-notify-favs__name:hover { color: #b52929; }
.hn-notify-favs__meta { flex-shrink: 0; color: #8a8078; font-size: 12px; }
.hn-notify-fav-remove {
  flex-shrink: 0; padding: 8px; border: 0; background: none; color: #b3a99d;
  font-size: 18px; line-height: 1; cursor: pointer; transition: color .12s;
}
.hn-notify-fav-remove:hover { color: #b52929; }
.hn-notify-empty { margin: 0; padding: 14px 0; color: #8a8078; font-size: 14px; }
.hn-notify-empty[hidden] { display: none; }
.hn-notify-help { margin: 10px 0 0; color: #8a8078; font-size: 12px; line-height: 1.8; }
.hn-notify-prefs { margin: 0; }
.hn-notify-check { display: flex; align-items: flex-start; gap: 10px; margin: 0 0 12px; font-size: 14px; line-height: 1.7; cursor: pointer; }
.hn-notify-check input { flex-shrink: 0; margin-top: 6px; }
.hn-notify-check small { display: block; color: #8a8078; font-size: 12px; }
.hn-notify-to { margin: 0 0 12px; color: #6a6560; font-size: 12px; line-height: 1.8; }
.hn-notify-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin: 0; }
.hn-notify-save {
  padding: 10px 26px; border: 1px solid #b8983a; background: #b8983a; color: #fff;
  font-size: 13px; font-family: inherit; letter-spacing: .06em; border-radius: 2px; cursor: pointer;
}
.hn-notify-save:hover { background: #a0853a; border-color: #a0853a; }
.hn-notify-save[disabled] { opacity: .6; pointer-events: none; }
.hn-notify-status { color: #2a6aad; font-size: 13px; }
.hn-notify-status.is-error { color: #b52929; }

/* ── マイページ: お知らせメールの説明 ───────────────────────────────────── */
.hn-notify-about {
  margin: 0 0 22px; padding: 16px 18px;
  background: #faf8f4; border-left: 3px solid #b8983a; border-radius: 2px;
  color: #4a4540; font-size: 13px; line-height: 1.9;
}
.hn-notify-about p { margin: 0 0 8px; }
.hn-notify-about__t { margin: 0 0 8px; padding: 0; border: 0; color: #1a1815; font-size: 15px; font-weight: 700; }
.hn-notify-about__soon {
  margin: 0 0 10px; padding: 8px 12px;
  background: #fff6cf; border: 1px solid #ecd97c; border-radius: 2px;
  color: #6b5a14; font-size: 13px;
}
.hn-notify-about__off {
  margin: 8px 0 0; padding: 8px 12px;
  background: #fff; border: 1px solid #e2dcd3; border-radius: 2px;
  color: #4a4540; font-size: 13px;
}
.hn-notify-about__list { margin: 0 0 8px; }
.hn-notify-about__list dt { margin: 10px 0 2px; color: #1a1815; font-weight: 700; }
.hn-notify-about__list dd { margin: 0; }
.hn-notify-about b { color: #b52929; font-weight: 700; }
.hn-notify-about__notes { margin: 8px 0 0; padding: 0 0 0 1.3em; list-style: disc; color: #6a6560; font-size: 12px; line-height: 1.8; }
.hn-notify-about__notes li { margin: 0 0 3px; }
.hn-notify-about a { color: #2271b1; }
