/* ============================================================
 * rinka-series.css — シリーズ一覧・シリーズ詳細・カード詳細の新しい見た目（2026-09-26）
 * カードの枠そのものは rinka-collection.css（.rc-*）を使い、ここはページの並びと詳細だけ。
 * ========================================================== */

.rsr { max-width: 960px; margin: 0 auto; padding: 0 14px 8px; }
.rsr-main { margin: 0 0 26px; }
.rfc-app { min-height: 120px; }
.rsr .rinka-fs-series__seo { display: grid; gap: 10px; }
.rsr .rinka-fs-series__seo-item h2 { margin: 0 0 4px; font-size: 1rem; }
.rsr .rinka-fs-series-detail__seo { list-style: none; margin: 0; display: grid; gap: 4px; }

/* ---------- シリーズの棚 ---------- */
.rfc-shelves { display: flex; flex-direction: column; gap: 18px; }
.rfc-shelf__head { display: flex; align-items: center; gap: 12px; min-height: 56px; margin: 0 2px 6px; color: var(--rfd-ink); text-decoration: none; border-radius: 16px; }
.rfc-shelf__head:focus-visible { outline: 3px solid rgba(224, 88, 143, .55); outline-offset: 3px; }
.rfc-shelf__name { display: flex; flex-direction: column; min-width: 0; flex: 1; }
.rfc-shelf__title { font-weight: 800; font-size: 1.02rem; letter-spacing: .03em; }
.rfc-shelf__count { font-size: .78rem; font-weight: 700; color: var(--rfd-rose-ink); }
.rfc-shelf__go { font-size: 1.8rem; line-height: 1; color: #d9a3bd; }
.rfc-shelf__desc { margin: 0 4px 12px; font-size: .78rem; line-height: 1.7; color: var(--rfd-soft); }
.rfc-grid { margin: 0 0 12px; }
.rfc-tile { text-decoration: none; }

/* ---------- ごほうび ---------- */
.rfc-reward { display: flex; align-items: center; gap: 10px; margin: 4px 0 6px; padding: 10px 12px; border-radius: 16px; background: #faf5f8; border: 1px dashed #efc3d7; }
.rfc-reward.is-open { background: #fff6dc; border: 1px solid #f3dc98; }
.rfc-reward__ico { width: 40px; height: 40px; }
.rfc-reward__txt { display: flex; flex-direction: column; min-width: 0; font-size: .8rem; line-height: 1.55; color: var(--rfd-soft); }
.rfc-reward__label { font-size: .7rem; font-weight: 800; color: var(--rfd-rose-ink); }
.rfc-reward.is-open .rfc-reward__label { color: #a87200; }
.rfc-reward__txt b { color: var(--rfd-ink); font-size: .9rem; }
.rfc-top { margin-bottom: 12px; }
.rfc-grid--detail { margin-top: 14px; }

/* ---------- カード詳細 ---------- */
.rfc-detail { display: grid; gap: 18px; align-items: start; background: linear-gradient(180deg, #fff, #fff8fb); border: 1px solid var(--rfd-line); border-radius: 26px; padding: 18px 16px; box-shadow: var(--rfd-shadow); }
.rfc-detail.is-missing { background: linear-gradient(180deg, #fbf8fc, #f4eff8); }
@media (min-width: 760px) { .rfc-detail { grid-template-columns: 300px 1fr; padding: 24px; gap: 26px; } }
.rfc-detail__stage { display: flex; justify-content: center; }
.rfc-big { width: min(64vw, 280px); cursor: zoom-in; }
.rfc-big:disabled { cursor: default; }
.rfc-big .rc-card__art { border-radius: 16px; box-shadow: 0 0 0 3px #fff, 0 16px 34px -14px rgba(80, 30, 60, .45); }
.rfc-big .rc-card__no, .rfc-big .rc-card__rar { font-size: 12px; padding: 4px 9px; }
.rfc-detail.is-owned.rar-SSR .rfc-big .rc-card__art { box-shadow: 0 0 0 3px #f0c85a, 0 16px 34px -14px rgba(200, 140, 0, .55); }
.rfc-detail.is-owned.rar-SECRET .rfc-big .rc-card__art { box-shadow: 0 0 0 3px #b89bff, 0 16px 34px -14px rgba(138, 99, 230, .6); }
.rfc-detail.is-owned.rar-SR .rfc-big .rc-card__art { box-shadow: 0 0 0 3px #cfd8e8, 0 16px 34px -14px rgba(80, 90, 120, .45); }
.rfc-detail__body { min-width: 0; }
.rfc-detail__kicker { margin: 0 0 2px; font-size: .78rem; font-weight: 800; letter-spacing: .06em; color: var(--rfd-rose-ink); }
.rfc-detail__title { margin: 0 0 10px; font-size: 1.3rem; font-weight: 800; line-height: 1.4; color: var(--rfd-ink); }
.rfc-detail__title.is-hidden { letter-spacing: .3em; color: var(--rfd-soft); }
.rfc-detail__quote { margin: 0 0 10px; padding: 10px 14px; border-radius: 16px; background: #fff0f6; color: var(--rfd-rose-ink); font-weight: 700; font-size: .9rem; line-height: 1.7; border: 0; }
.rfc-detail__desc { margin: 0 0 12px; font-size: .88rem; line-height: 1.85; color: var(--rfd-soft); }
.rfc-detail__meta { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 0 0 12px; }
.rfc-detail__meta div { background: #fff; border: 1px solid #f3e3ec; border-radius: 14px; padding: 8px 10px; }
.rfc-detail__meta dt { font-size: .68rem; color: var(--rfd-soft); }
.rfc-detail__meta dd { margin: 0; font-weight: 800; font-size: .92rem; }
.rfc-detail__story { background: #fff; border: 1px solid #f3e3ec; margin: 0 0 12px; }
.rfc-detail__story p { margin: 0; padding: 0 14px 12px; font-size: .84rem; line-height: 1.85; color: var(--rfd-soft); }
.rfc-detail__tags { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 14px; }
.rfc-detail__tags span { font-size: .72rem; padding: 2px 10px; border-radius: 999px; background: #faf3f7; color: var(--rfd-rose-ink); }
.rfc-detail__actions { display: flex; flex-wrap: wrap; gap: 10px; }
.rfc-fav {
	appearance: none; display: inline-flex; align-items: center; gap: 6px; min-height: 44px; padding: 8px 18px;
	border-radius: 999px; border: 1.5px solid #efc3d7; background: #fff; color: var(--rfd-rose-ink);
	font: inherit; font-weight: 800; font-size: .9rem; cursor: pointer;
}
.rfc-fav .rc-heart { color: #f3a6c4; font-size: 1.1rem; }
.rfc-fav.is-on { background: #fff0f6; border-color: var(--rfd-rose); }
.rfc-fav.is-on .rc-heart { color: var(--rfd-rose); }
.rfc-fav:focus-visible { outline: 3px solid rgba(224, 88, 143, .55); outline-offset: 2px; }
.rfc-detail__hint { display: flex; align-items: flex-start; gap: 10px; margin: 0 0 12px; padding: 12px 14px; border-radius: 16px; background: #fff; border: 1px dashed #e3cfe0; font-size: .88rem; line-height: 1.8; color: var(--rfd-soft); }
.rfc-detail__hint .rfd-ico { width: 36px; height: 36px; }
.rfc-detail__go { margin: 0 0 10px; }
.rfc-detail__series { margin: 6px 0 0; }
.rfc-detail__series a { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; color: var(--rfd-rose-ink); font-weight: 800; font-size: .86rem; text-decoration: none; }

/* 大きく見る */
.rfc-zoom { position: fixed; inset: 0; z-index: 100000; display: flex; align-items: center; justify-content: center; padding: calc(env(safe-area-inset-top, 0px) + 16px) 16px calc(env(safe-area-inset-bottom, 0px) + 16px); background: rgba(25, 12, 30, .9); animation: rc-fade .2s ease-out; }
.rfc-zoom img { max-width: 100%; max-height: 100%; object-fit: contain; border-radius: 14px; box-shadow: 0 30px 60px -20px rgba(0, 0, 0, .7); }
.rfc-zoom__close { position: absolute; right: 12px; top: calc(env(safe-area-inset-top, 0px) + 10px); width: 48px; height: 48px; border-radius: 50%; border: 0; background: rgba(255, 255, 255, .18); color: #fff; font-size: 28px; line-height: 1; cursor: pointer; }

body.rw26 .rsr .rc-card:hover { transform: translateY(-3px); }
body.rw26 .rsr .rfc-big:hover { transform: none; }
.rfc-detail.is-missing .rfc-big { width: min(52vw, 210px); }

/* 2026-09-27 スマホでカードの絵を大きく：カード詳細の1枚（持っているカード）。まだのカードは今までどおり小さめ（上の .is-missing が勝つ） */
@media (max-width: 479px) {
	.rfc-big { width: min(78vw, 300px); }
}
