/* cast-page.css — キャストの個別ページ ＋ 一覧のカードをリンクにした分 */
.tf-cast-link{color:inherit;text-decoration:none;cursor:pointer;transition:transform .15s ease, box-shadow .15s ease}
.tf-cast-link:hover{transform:translateY(-3px);box-shadow:0 20px 40px rgba(210,55,105,.16)!important}
.cp-wrap{padding-top:28px}
.cp-loading,.cp-empty{text-align:center;color:var(--muted);padding:60px 0}
.cp-empty .btn{margin-top:14px}
.cp-card{display:grid;grid-template-columns:minmax(0,420px) minmax(0,1fr);gap:36px;align-items:start;background:#fff;border-radius:22px;padding:24px;box-shadow:0 18px 40px rgba(210,55,105,.10)}
.cp-main{position:relative;border-radius:18px;overflow:hidden;background:var(--soft);aspect-ratio:3/4}
.cp-main img{width:100%;height:100%;object-fit:cover}
.cp-noimg{display:grid;place-items:center;width:100%;height:100%;color:#e75b91;font-family:Georgia,serif;font-weight:800;letter-spacing:.12em;background:linear-gradient(135deg,#ffe8f2,#fff4f8)}
.cp-status{position:absolute;left:12px;top:12px;background:linear-gradient(135deg,#f36d9e,#df2f70);color:#fff;font-size:12px;font-weight:800;padding:5px 12px;border-radius:999px;box-shadow:0 6px 14px rgba(223,47,112,.3)}
.cp-thumbs{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:10px}
.cp-thumbs button{padding:0;border:2px solid transparent;border-radius:10px;overflow:hidden;background:none;cursor:pointer;aspect-ratio:3/4}
.cp-thumbs button.on{border-color:var(--pink)}
.cp-thumbs img{width:100%;height:100%;object-fit:cover}
.cp-info h1{margin:4px 0 2px;color:var(--pink);font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:38px;letter-spacing:.08em}
.cp-catch{margin:0 0 12px;color:var(--text);font-weight:700}
.cp-spec{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:0 0 18px}
.cp-spec li{background:var(--soft);border-radius:999px;padding:5px 14px;font-size:13px}
.cp-spec span{color:var(--muted);margin-right:6px;font-size:12px}
.cp-block{border-top:1px dashed var(--line);padding:14px 0}
.cp-block h2{margin:0 0 8px;color:var(--pink);font-family:Georgia,serif;font-size:18px;letter-spacing:.14em}
.cp-block h2 small{margin-left:10px;color:var(--muted);font-family:inherit;font-size:12px;letter-spacing:0}
.cp-profile{margin:0;white-space:pre-line;line-height:1.9;font-size:14px}
.cp-week{list-style:none;padding:0;margin:0;display:grid;gap:6px}
.cp-week li{display:grid;grid-template-columns:90px 1fr auto;gap:10px;align-items:center;padding:8px 12px;border-radius:10px;background:var(--soft2);font-size:14px}
.cp-week li.is-today{background:#ffe3ee;box-shadow:inset 3px 0 0 var(--pink)}
.cp-week em{font-style:normal;font-size:12px;color:var(--pink);font-weight:700}
.cp-week .cp-none{display:block;color:var(--muted)}
.cp-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}
.cp-actions .btn{width:100%;min-height:50px}
.cp-actions .cp-x{grid-column:1/-1;background:#222;color:#fff}
.cp-back{display:inline-block;margin-top:14px;color:var(--pink);font-weight:700;font-size:14px}
@media(max-width:900px){
  .cp-wrap{padding-top:16px}
  .cp-card{grid-template-columns:1fr;gap:18px;padding:14px;border-radius:18px}
  .cp-main{aspect-ratio:3/4;max-height:78vh}
  .cp-info h1{font-size:30px;text-align:center}
  .cp-catch{text-align:center}
  .cp-spec{justify-content:center}
  .cp-actions{grid-template-columns:1fr}
  .cp-week li{grid-template-columns:84px 1fr;}
  .cp-week em{grid-column:1/-1}
}
#lower-final .cp-actions .btn,#lower-final .cp-empty .btn{color:#fff!important}
#lower-final .cp-back{color:var(--pink)!important}
