/* =========================================================
   plainlist.css  ― クリーン版
   （共通カテゴリインデックス & 作曲家インデックス）
   ※ 余計な !important や page-id 指定は一切なし
   ========================================================= */

/* --------------------------------
   共通：ページヘッダー
-------------------------------- */
.plainlist .page-header{
  display:block;
  width:100%;
  clear:both;
  margin:0 0 2rem;
}
.plainlist .page-header .c-pageTitle{ margin:0 0 1.4rem; }
.plainlist .page-header .intro-text{
  margin:.25rem 0 0;
  line-height:1.8;
  color:#333;
  max-width:89ch;   /* ← 従来どおり。広げたい時は 80–90ch へ */
}

/* --------------------------------
   右カラム：メニュー風表示
-------------------------------- */
.pl-aside .menu-list{ list-style:none; margin:0; padding:0; font-size:.95em; line-height:1.6; }
.pl-aside .menu-block{
  margin:0 0 1.2em; padding:0 0 1.2em; border-bottom:1px solid var(--bd,#ccc);
}
.pl-aside .menu-block:last-child{ border-bottom:none; }
.pl-aside .menu-block > strong{
  display:block; font-weight:700; margin:0 0 .5em; color:#222; position:relative; padding-left:.7em;
}
.pl-aside .menu-block > strong::before{
  content:"|"; position:absolute; left:0; top:50%; transform:translateY(-50%); color:#444; font-weight:700;
}
.pl-aside .menu-block ul{ list-style:none; margin:0; padding:0; }
.pl-aside .menu-block ul li{ margin:.3em 0; }
.pl-aside .menu-block ul li a{
  text-decoration:none; color:inherit; display:block;
  padding-left:1.6em;                /* ← テキスト開始を少し右へ（従来1.4em） */
  position:relative;
  transition: transform .18s ease, color .18s ease;
}
.pl-aside .menu-block ul li a::before{
  content:""; position:absolute;
  left:12px;                          /* ← 小三角 右寄り（10〜13pxで微調整OK） */
  top:50%; transform:translateY(-50%);
  width:0; height:0;
  border:3px solid transparent;       /* ← 小さめ三角 */
  border-left-color: currentColor;
  opacity:.85;
}
.pl-aside .menu-block ul li a:hover{ color:#444; transform:translateX(3px); }
.pl-aside .menu-block ul li a:hover::before{ opacity:1; }

/* --------------------------------
   2カラム骨格（左 .pl-main / 右 .pl-aside）
   ※ 従来仕様：flexで安定、960px以下は縦積み
-------------------------------- */
.plainlist .pl-cols{ display:flex; align-items:flex-start; gap: clamp(16px, 3vw, 28px); }
.plainlist .pl-main{ flex:1 1 auto; min-width:0; }
.plainlist .pl-aside{ flex:0 0 280px; max-width:100%; }
@media (max-width:960px){
  .plainlist .pl-cols{ display:block; }
  .plainlist .pl-aside{ margin-top:24px; }
}

/* --------------------------------
   共通カテゴリ用（Page-Category index）
   左カラムリンク（通常色＋ホバーで“フッ”）
-------------------------------- */
.page-template-page-plainlist-index .pl-main a,
.page-template-page-plainlist-index .pl-main a:visited{
  color:inherit; text-decoration:none; display:inline-block; transition:transform .18s ease;
}
.page-template-page-plainlist-index .pl-main a:hover{ transform:translateX(3px); }

/* --------------------------------
   作曲家インデックス（Composer Index）
   左カラム：等幅インデント & リンク挙動
   ※ “従来ベース”の最小だけ保持
-------------------------------- */

/* 見出しと曲リストの間 */
.page-template-page-composer-index .composer-list h2 + .work-list,
.page-template-page-composer-index .composer-list h3 + .work-list{ margin-top:1em; }

/* 曲名行の書式（ぶら下げは使わない） */
.page-template-page-composer-index .composer-list .work-list p{
  display:block; margin:.28em 0; line-height:1.8;
  padding-left:1.6em; text-indent:0;
}

/* 余計な ::before を無効化 */
.page-template-page-composer-index .composer-list .work-list p::before{ content:none; }

/* リンク：通常色＋ホバーで“フッ” */
.page-template-page-composer-index .composer-list .work-list p a,
.page-template-page-composer-index .composer-list .work-list p a:visited{
  color:inherit; text-decoration:none; display:inline-block; transition:transform .18s ease;
}
.page-template-page-composer-index .composer-list .work-list p a:hover{ transform:translateX(3px); }

/* h3 を少し左に出したい場合（必要時だけON） */
/*
.page-template-page-composer-index .composer-list h3{ padding-left:1em; font-weight:600; }
*/

/* ===== Composer Split テンプレ用：SWELLの標準出力を隠す ===== */

/* ページタイトル / パンくず（SWELL標準） */
.page-template-composer-split .c-pageTitle,
.page-template-composer-split .p-breadcrumb { display:none !important; }

/* SWELLの標準サイドバー（左/右どちらでも）を非表示 */
.page-template-composer-split .l-sidebar,
.page-template-composer-split .l-contents__sidebar,
.page-template-composer-split .c-widgetArea { display:none !important; }

/* スマホ横から出るメニューやサイドメニュー系が被る場合 */
.page-template-composer-split .p-spmenu,
.page-template-composer-split .p-spMenu,
.page-template-composer-split #sp_menu { display:none !important; }

/* コンテンツの横幅を1カラム扱いに（サイドバー分の余白を消す） */
.page-template-composer-split .l-contents { display:block !important; }

/* ===== Composer Split 専用：SWELL標準のタイトル/サイドバーを消す ===== */
body.page-template-page-composer-split .c-pageTitle,
body.page-template-page-composer-split .p-breadcrumb{ display:none !important; }

/* SWELL標準サイドバー系をオフ */
body.page-template-page-composer-split .l-sidebar,
body.page-template-page-composer-split .l-contents__sidebar,
body.page-template-page-composer-split .c-widgetArea{ display:none !important; }

/* レイアウトを1カラム幅に矯正 */
body.page-template-page-composer-split .l-contents{ display:block !important; }
body.page-template-page-composer-split .l-contents__main{
  width:100% !important;
  max-width:none !important;
  float:none !important;
}

/* Composer Split 専用（page-composer-split.php 用） */
body.page-template-page-composer-split #top_title_area,
body.page-template-page-composer-split .l-topTitleArea,
body.page-template-page-composer-split .p-breadcrumb,
body.page-template-page-composer-split .c-pageTitle,
body.page-template-page-composer-split .l-sidebar,
body.page-template-page-composer-split .l-contents__sidebar,
body.page-template-page-composer-split .c-widgetArea,
body.page-template-page-composer-split .w-beforeMain {  /* SWELLの本文前ウィジェット */
  display: none !important;
}

/* コンテンツエリアを1カラム幅に矯正 */
body.page-template-page-composer-split .l-contents { display:block !important; }
body.page-template-page-composer-split .l-contents__main{
  width:100% !important;
  max-width:none !important;
  float:none !important;
}

/* ================================
   plainlist：説明文と下のリストの間隔を広げる
   （3つのカテゴリインデックス共通）
================================ */
.page-template-page-plainlist-index .page-header .intro-text {
  margin-bottom: 2.8em !important;   /* ← 間隔。デフォは1.5〜2.0em程度。 */
}

/* ───── 作曲家作品一覧：ページタイトルを必ず前面に出す */
.plainlist .page-header{
  display:block !important;
  position:relative !important;   /* stacking context を作る */
  height:auto !important;
  overflow:visible !important;
  clear:both !important;
}

/* SWELLのユーティリティで隠されていても出す */
.plainlist .c-pageTitle.u-hidden,
.plainlist .c-pageTitle.is-style-hidden,
.plainlist .c-pageTitle.is-style-hiddenTitle,
.plainlist .c-pageTitle.screen-reader-text,
.plainlist .c-pageTitle.sr-only{
  display:block !important;
  position:relative !important;
  clip:auto !important;
  width:auto !important;
  height:auto !important;
  overflow:visible !important;
}

/* 本命：タイトルを前面 & 可視化のフル解除 */
.plainlist h1.c-pageTitle{
  display:block !important;
  position:relative !important;
  z-index:3 !important;           /* ← intro より前面に */
  opacity:1 !important;
  visibility:visible !important;
  clip:auto !important;
  clip-path:none !important;
  transform:none !important;
  text-indent:0 !important;
  white-space:normal !important;
  pointer-events:auto !important;

  margin:0 0 1rem !important;     /* 下に余白 */
  line-height:1.35 !important;
  font-size:1.6rem !important;
  font-weight:700 !important;
  color:#111 !important;
}

/* intro は背面（必要なら） */
.plainlist .intro-text{
  position:relative !important;
  z-index:1 !important;
  margin-top:0 !important;
}

/* 要素の重なり・回り込み保険 */
.plainlist .page-header::after{
  content:"";
  display:block;
  clear:both;
}