/*
Theme Name: Rebirth Child
Template: rebirth_free001
Version: 1.0
*/
html,
body,
#container,
#container::before,
#container::after {
  background: #000 !important;
}


/* ヘッダー周りを黒に（最優先で上書き） */
#header,
#header_top,
#global_menu {
  background: #000 !important;
}

/* ロゴやタイトルの文字を白に */
#header_top,
#header_top a,
#header_top .site-title,
#header_top .site-title a,
#header_top .site-description {
  color: #fff !important;
}

/* スマホ幅で出てくる「白い箱」を黒に寄せる */
@media (max-width: 782px) {

  /* まず外側の背景 */
  html, body, #container, #main_contents, #main_contents * {
    background-color: transparent;
  }

  /* 白くなりがちな「記事/ウィジェット/コンテンツ箱」を黒化 */
  .post, .post_inner, .entry, .entry-content,
  .widget, .widget-area, .side_col, .main_col,
  .home_widget, .front_widget, .box, .inner, .content {
    background: #000 !important;
  }

  /* 文字が黒のままだと読めないので白へ */
  .post, .post_inner, .entry, .entry-content,
  .widget, .widget * {
    color: #fff !important;
  }

  /* リンクも白に */
  a { color: #fff !important; }
}

/* ヘッダー右上のバナー（広告枠）を消す */
#header_banner {
  display: none !important;
}

/* 記事下「この記事のタイトルとURLをコピーする」ボタンを非表示 */
.single_copy_title_url_btn {
  display: none !important;
}

/* コメント関連の保険（テーマ差分用） */
.comment-respond,
#respond,
.commentlist,
.comments-area {
  display: none !important;
}

/* コメントエリアを完全に消す（見出し・件数・メッセージ含む） */
#comments,
#comments * {
  display: none !important;
}

/* 前の記事 / 次の記事 の文字を黒に */
.item.prev_post .nav,
.item.next_post .nav {
  color: #000 !important;
}
.item.prev_post a,
.item.next_post a {
  color: #000 !important;
}

.swiper-wrapper {
  transform: none !important;
}

/* ============================
   LIVE詳細：スマホ時の文字色対策
============================ */
@media screen and (max-width: 750px) {

  /* 記事タイトル（h1） */
  #post_title h1,
  #post_title .entry-title {
    color: #ffffff !important;
  }

  /* 本文テキスト */
  .post_content,
  .post_content p,
  .post_content span,
  .post_content li {
    color: #ffffff !important;
  }

}

/* ============================
   LIVE詳細：見出し帯＋余白調整
============================ */

/* LIVE詳細ブロック内だけに効かせる */
.live-detail h3{
  display: block;
  width: 100%;
  box-sizing: border-box;

  background: #000;
  color: #fff;

  padding: 10px 14px;
  margin: 18px 0 8px;   /* 上=次の塊と離す / 下=値と近づける */

  font-size: 16px;
  line-height: 1.2;
  border-radius: 6px; /* 角丸いらなければ消してOK */
}

/* 見出し直後の「値（p/div）」を整える：上は詰め、下に余白 */
.live-detail h3 + p,
.live-detail h3 + div{
  margin-top: 0;
  margin-bottom: 18px; /* 値→次の見出しを離す */
}

/* もし値が複数行（チケット情報みたいなdiv）でも読みやすく */
.live-detail h3 + div{
  line-height: 1.7;
}

/* 念のため：LIVE詳細内のp全体のデフォ余白が強い時に抑える */
.live-detail p{
  margin-top: 0;
}

.live-ticket-btn-wrap{
  margin: 18px 0 6px;
}

.live-ticket-btn{
  display: inline-block;
  width: 100%;
  max-width: 360px;
  padding: 14px 16px;
  text-align: center;
  font-weight: 700;
  border-radius: 6px;
  text-decoration: none;

  background: #770000;   /* 少し明るめに */
  color: #fff;        /* ← これが重要 */
  border: 1px solid #666;
}

.live-ticket-btn:hover{
  background: #222;
  color: #fff;        /* 念のため */
  opacity: 1;
}

/* ============================
   チケット購入ボタン：最終上書き
============================ */

.live-ticket-btn,
.live-ticket-btn:link,
.live-ticket-btn:visited {
  background: #770000 !important;
  color: #fff !important;
  border-color: #770000 !important;
}

/* hover / tap 時も色を変えない */
.live-ticket-btn:hover,
.live-ticket-btn:active,
.live-ticket-btn:focus {
  background: #770000 !important;
  color: #fff !important;
  opacity: 0.9; /* 少しだけ変化させたい場合 */
}



/* ============================
   スマホ時：LIVE詳細をカード化
============================ */
@media screen and (max-width: 750px){

  /* LIVE詳細 全体を白いカードに */
  .live-detail{
    background: #fff;
    color: #111;
    padding: 18px 16px;
    margin: 18px 0;
    border-radius: 14px;
    box-shadow: 0 10px 30px rgba(0,0,0,.35);
  }

  /* LIVE詳細の中だけ文字色を黒寄りに統一（黒背景サイト対策） */
  .live-detail,
  .live-detail *{
    color: #111;
  }
  /* チケット購入ボタンは白文字＋指定背景に固定 */
  .live-detail .live-ticket-btn{
    background: #c33939 !important;
    color: #fff !important;
  }


  .live-detail .live-ticket-btn:hover{
    background: #c33939;
    color: #fff;
  }

	

  /* 見出し帯（開催日/場所/OPENなど）をPCと同じ黒帯＋白文字 */
  .live-detail h3{
    background: #000;
    color: #fff;
    display: block;
    width: 100%;
    box-sizing: border-box;
    padding: 10px 12px;
    margin: 14px 0 6px;
    border-radius: 10px;
    letter-spacing: .02em;
  }

  /* 値（日時/場所/時間など） */
  .live-detail h3 + p,
  .live-detail h3 + div{
    margin: 0 0 14px;
    font-size: 16px;
    line-height: 1.7;
  }

  /* LIVE詳細タイトル（h2）もカード内で整える */
  .live-detail h2{
    margin: 0 0 12px;
    font-size: 22px;
    line-height: 1.2;
  }

  /* Google Map の埋め込みがカードからはみ出ないように */
  .live-detail .google-map iframe,
  .live-detail iframe{
    max-width: 100%;
  }
}

/* ============================
   スマホ時：LIVE詳細を強制カード化（上書き版）
============================ */
@media screen and (max-width: 750px){

  /* 念のため：このページの本文(タイトル/本文)は白文字に */
  #post_title .title,
  .post_content,
  .post_content p{
    color: #fff !important;
  }

  /* LIVE詳細：白カードを強制 */
  .post_content .live-detail,
  #article .live-detail,
  .live-detail{
    background: #fff !important;
    color: #111 !important;
    padding: 18px 16px !important;
    margin: 18px 0 !important;
    border-radius: 14px !important;
    box-shadow: 0 10px 30px rgba(0,0,0,.35) !important;
  }

  /* LIVE詳細の中は黒文字に統一（テーマの黒文字/白文字混在を潰す） */
  .post_content .live-detail * ,
  #article .live-detail * ,
  .live-detail *{
    color: #111 !important;
  }

  /* 見出し（開催日/場所/OPENなど）を黒帯＋白文字でフル幅 */
  .post_content .live-detail h3,
  #article .live-detail h3,
  .live-detail h3{
    background: #000 !important;
    color: #fff !important;
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
    padding: 10px 12px !important;
    margin: 14px 0 6px !important;
    border-radius: 10px !important;
    letter-spacing: .02em !important;
  }

  /* 見出し直下の値の余白（近すぎ問題を解消） */
  .post_content .live-detail h3 + p,
  .post_content .live-detail h3 + div,
  #article .live-detail h3 + p,
  #article .live-detail h3 + div,
  .live-detail h3 + p,
  .live-detail h3 + div{
    margin: 0 0 14px !important;
    line-height: 1.7 !important;
    font-size: 16px !important;
  }

  /* Google Map iframeがはみ出ないように */
  .live-detail iframe{
    max-width: 100% !important;
  }
}

/* ============================
   ハンバーガーメニューを常に白表示
============================ */

/* ボタン本体 */
#menu_button {
  color: #fff !important;
}

/* 三本線（疑似要素を使っている場合） */
#menu_button span,
#menu_button:before,
#menu_button:after {
  background-color: #fff !important;
}

/* hover / active / 開いた状態でも白固定 */
#menu_button:hover,
#menu_button.active,
#menu_button.is-active {
  color: #fff !important;
}

#menu_button:hover span,
#menu_button.active span,
#menu_button.is-active span {
  background-color: #fff !important;
}

/*カテゴリの記事一覧で説明の文字を見やすくする*/
/* === PC（デフォルト） === */
.blog_list .desc,
.blog_list .desc span {
  color: #333;
}

/* === スマホ（画面幅 781px 以下） === */
@media screen and (max-width: 781px) {
  .blog_list .desc,
  .blog_list .desc span {
    color: #fff;
  }
}

/*プロフィールのXボタンを角丸にするCSS*/
.profile-member__xbtn{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 14px;
  border-radius:999px;
  border:1px solid currentColor;
  text-decoration:none;
  line-height:1;
}
.profile-member__xbtn:hover{
  opacity:.85;
}

/* プロフィール見出し共通 */
.profile-member__row dt {
  display: block;
  width:100%;
  padding: 6px 12px;
  border-radius: 8px;
  font-weight: bold;
  margin-bottom: 6px;
}

/* PCサイズ（黒背景） */
@media screen and (min-width: 769px) {
  .profile-member__row dt {
    background: #000;
    color: #fff;
  }
}

/* スマホサイズ（白背景） */
@media screen and (max-width: 768px){
  .profile-member__row dt{
    background: #fff !important;
    color: #000 !important;
    border: 1px solid #000 !important;
  }
}

/* ===== Discography ===== */
.discography { margin-top: 20px; }

.discography__nav{
  display:flex;
  gap:18px;
  align-items:center;
  margin: 12px 0 18px;
  flex-wrap: wrap;
}
.discography__nav a{
  text-decoration:none;
  font-weight: 600;
  opacity:.9;
}
.discography__nav a:hover{ opacity:1; }

/* 黒帯見出し（右まで伸ばす） */
.discography__bar{
  width: 100%;
  background: #2b0000;
  color: #fff;
  padding: 18px 20px;
  margin: 18px 0 18px;
  border-radius: 0; /* 角丸にしたければ 10px とか */
  box-sizing: border-box;
}

/* 作品1件 */
.discography__item{
  display:flex;
  gap: 22px;
  padding: 18px 0;
  border-bottom: 1px solid rgba(0,0,0,.15);
}
.discography__jacket{
  width: 220px;
  flex: 0 0 220px;
}
.discography__jacket img{
  width:100%;
  height:auto;
  display:block;
}
.discography__info{ flex:1; min-width: 0; }

.discography__title{
  font-size: 28px;
  margin: 0 0 10px;
  font-weight: 700;
}

.discography__meta div{
  display:flex;
  gap: 10px;
  line-height: 1.8;
}
.discography__meta dt{
  min-width: 70px;
  font-weight: 700;
}
.discography__meta dd{ margin:0; }

.discography__tracks{
  margin-top: 10px;
  line-height: 1.8;
}

.discography__note{
  margin-top: 14px;
  font-size: 14px;
  opacity: .85;
}

.discography__link a{
  text-decoration:none;
  border-bottom: 1px solid currentColor;
}

/* スマホ */
@media (max-width: 768px){
  .discography__item{
    flex-direction: column;
  }
  .discography__jacket{
    width: 100%;
    flex: none;
    max-width: 360px;
  }
  .discography__title{
    font-size: 22px;
  }
}

/* YouTube（レスポンシブ埋め込み） */
.discography__video{
  margin: 14px 10px 0 0;
}

.discography__video-inner{
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
}

.discography__video-inner iframe{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

/* ============================
   Discography ナビ周り 改修
============================ */

/* ナビ全体の背景を黒に */
.discography__nav-wrap {
  background: #000;
  padding: 24px 20px 18px;
  margin-bottom: 10px;
}

/* 「ディスコグラフィー」見出し */
.discography__title {
  font-size: 32px;
  font-weight: 700;
  color: #000;
  margin: 0 0 14px;
  letter-spacing: .04em;
}

/* ナビ（Single / Albumなど） */
.discography__nav {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

/* ボタン化 */
.discography__nav a {
  display: inline-block;
  padding: 8px 16px;
  border-radius: 999px;
  background: #111;
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  transition: background .2s, opacity .2s;
}

/* hover */
.discography__nav a:hover {
  background: #222;
  opacity: 1;
}

/* =====================================
   Discography：ページ見出しを Profile と同じ帯にする
   （h1.entry-title の所）
===================================== */

/* Chrome等でOK：.discography がある記事だけに限定して効かせる */
@supports selector(article:has(.discography)) {

  /* PC：グレー帯 */
  @media screen and (min-width: 769px) {
    article:has(.discography) .entry-header{
      background: #3a3a3a;
      padding: 20px 20px 18px;
      box-sizing: border-box;
    }
    article:has(.discography) .entry-header .entry-title{
      color: #fff;
      margin: 0;
      line-height: 1.2;
    }
  }

  /* スマホ：黒帯 */
  @media screen and (max-width: 768px) {
    article:has(.discography) .entry-header{
      background: #000 !important;
      padding: 20px 20px 18px;
      box-sizing: border-box;
    }
    article:has(.discography) .entry-header .entry-title{
      color: #fff !important;
      margin: 0;
      line-height: 1.2;
    }
	.discography__title {
  font-size: 32px;
  font-weight: 700;
  color: #fff;
  margin: 0 0 14px;
  letter-spacing: .04em;
}
  }
}

/* もし :has が効かない環境が出た時の保険（効きすぎ注意）
@media screen and (min-width: 769px) {
  .entry-header { background:#3a3a3a; padding:20px 20px 18px; }
  .entry-header .entry-title{ color:#fff; margin:0; }
}
*/

/* ============================
   Discography：スマホ用 区切り線を強調
============================ */
@media screen and (max-width: 768px){

  /* 各作品の区切りを明示 */
  .discography__item{
    border-bottom: 1px solid rgba(255,255,255,.35);
    padding-bottom: 28px;   /* 線の下に余白 */
    margin-bottom: 28px;    /* 次の作品と距離 */
  }

  /* 最後の作品だけ線を消す（好みで） */
  .discography__item:last-child{
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
  }

}

/* 配信ダウンロードボタン */
.discography__download{
  margin-top: 14px;
}

.discography__download-btn{
  display: inline-block;
  padding: 12px 18px;
  border-radius: 10px;
  background: #111;
  color: #fff;
  text-decoration: none;
  font-weight: 700;
  border: 1px solid rgba(255,255,255,.25);
}

.discography__download-btn:hover{
  opacity: .9;
}

/* スマホは横幅いっぱい寄りに */
@media (max-width: 768px){
  .discography__download-btn{
    display: block;
    width: 100%;
    text-align: center;
    box-sizing: border-box;
  }
}

/* ============================
   CF7フォーム：スマホだけ入力文字を白にする
============================ */
@media screen and (max-width: 768px) {

  .wpcf7 input,
  .wpcf7 textarea,
  .wpcf7 select {
    color: #fff !important;
    background: rgba(0,0,0,0.6) !important;
    border-color: rgba(255,255,255,0.35) !important;
  }

  .wpcf7 input::placeholder,
  .wpcf7 textarea::placeholder {
    color: rgba(255,255,255,0.6) !important;
  }

  /* iOSの自動入力（オートフィル）対策 */
  .wpcf7 input:-webkit-autofill,
  .wpcf7 textarea:-webkit-autofill,
  .wpcf7 select:-webkit-autofill {
    -webkit-text-fill-color: #fff !important;
    box-shadow: 0 0 0 1000px #000 inset !important;
    transition: background-color 9999s ease-out 0s;
  }

  /* selectのoptionは端末によって白背景なので黒文字のまま */
  .wpcf7 select option {
    color: #000 !important;
    background: #fff !important;
  }
}

/* ============================
   CF7：送信完了/エラー表示をスマホだけ見やすく
============================ */
@media screen and (max-width: 768px) {

  /* 「送信が完了しました」などの枠 */
  .wpcf7 form .wpcf7-response-output {
    color: #fff !important;
    background: rgba(0,0,0,0.75) !important;
    border: 1px solid rgba(255,255,255,0.35) !important;
    padding: 12px 14px !important;
    margin: 16px 0 0 !important;
  }

  /* 成功時（クラスは環境で変わるので両対応） */
  .wpcf7 form.sent .wpcf7-response-output,
  .wpcf7 form .wpcf7-mail-sent-ok {
    color: #fff !important;
    background: rgba(0,0,0,0.75) !important;
    border-color: rgba(120, 255, 120, 0.55) !important;
  }

  /* エラー時 */
  .wpcf7 form.invalid .wpcf7-response-output,
  .wpcf7 form.failed .wpcf7-response-output,
  .wpcf7 form .wpcf7-validation-errors,
  .wpcf7 form .wpcf7-spam-blocked {
    color: #fff !important;
    background: rgba(0,0,0,0.75) !important;
    border-color: rgba(255, 120, 120, 0.55) !important;
  }

  /* 入力項目のエラー文（「必須項目です」など） */
  .wpcf7-not-valid-tip {
    color: #fff !important;
  }
}

