/* v0.7: マンガの入口・行動ボタン・PR表示。色は 比較.css の紺(#103e5a)・オレンジ(#ef9658)に合わせる。 */
.manga-entry-icon { width:38px;height:38px;flex-shrink:0;background:url('assets/manga.svg') center/contain no-repeat; }
#open-manga { font-size:16px; }
#open-manga small { font-size:10px; }
#browse-stores { display:flex;flex-direction:column;align-items:center;line-height:1.2;min-width:64px; }
#browse-stores small { font-size:9px;font-weight:500;opacity:.85; }

/* PR 表示：広告であることが一目でわかるようにする */
.listing-pr { background:#fce2cf;color:#7d4220;border:1px solid #f1c3a3;font-weight:750; }
.angle-badge { display:inline-block;font-size:10px;font-weight:650;color:#3f6474;background:#e3eff2;border:1px solid #cfe1e6;border-radius:5px;padding:2px 6px; }
.badges { display:flex;flex-wrap:wrap;gap:4px;align-items:center; }
.eyebrow-pr { color:#a0522d; }
.pr-note { font-size:11px;line-height:1.7;color:#7d4220;background:#fff3ea;border-radius:10px;padding:8px 10px;margin-top:10px; }
.demo-marker.is-supporter .marker-label small { color:#a0522d;font-weight:700; }

/* 行動ボタン（1店1ゴール） */
.cta-button { display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:52px;padding:10px 14px;border-radius:999px;background:#ef9658;color:#2b1a0e;font-size:16px;font-weight:800;text-decoration:none;border:0;box-shadow:0 2px 0 #c9733d; }
.cta-button small { font-size:10px;font-weight:600;background:#fff6;border-radius:6px;padding:1px 6px; }
.cta-button:active { transform:translateY(1px);box-shadow:none; }
.shop-intro.short { margin:8px 2px 0;font-size:12px;line-height:1.7;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden; }
.sheet-cta { display:grid;gap:8px;margin-top:10px; }
.sheet-cta:empty { display:none; }
.read-manga { min-height:46px;border-radius:999px;background:#fffefa;border:2px solid #103e5a;color:#103e5a;font-weight:750;font-size:14px; }
.shop-sheet .directions-link { display:block;text-align:center;font-size:11px;margin-top:8px; }
.room-cta,.detail-cta { padding:0 18px 22px;max-width:530px;margin:0 auto; }
.detail-card .detail-cta { padding:0;margin:18px 0 6px; }
.share-button { display:block;margin:20px auto 0;min-height:44px;padding:8px 22px;border-radius:999px;background:#e7f0ed;font-size:13px;font-weight:700;color:#103d59; }
.text-link { display:block;margin:18px auto 0;background:transparent;text-decoration:underline;text-underline-offset:3px;font-size:13px;color:#103d59; }

/* マンガを読み終わったあと */
.manga-end { margin:18px 12px 30px;padding:20px 16px;background:#fffefa;border:1px solid #ece6d6;border-radius:20px;text-align:center; }
.manga-end-lead { font-size:12px;color:var(--muted); }
.manga-end h3 { font-size:18px;color:#103d59;margin:4px 0 14px; }
.manga-end-actions { display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px; }
.manga-end-actions button { min-height:44px;border-radius:14px;background:#e7f0ed;font-size:13px;font-weight:700;color:#103d59; }
.manga-end-actions .share-button { grid-column:1/-1;margin:0; }
.manga-next { margin-top:22px;text-align:left; }
.manga-next h4 { font-size:13px;color:#103d59;margin-bottom:8px; }
.manga-next-item { display:grid;grid-template-columns:64px 1fr;gap:10px;align-items:center;width:100%;text-align:left;background:white;border:1px solid #e3e6ed;border-radius:14px;padding:6px;margin-bottom:8px;font-size:13px;font-weight:700; }
.manga-next-item small { display:block;font-size:10px;font-weight:500;color:var(--muted); }
.manga-next-item .next-cover { width:64px;height:64px;border-radius:10px;object-fit:cover;object-position:top;background:#eef1f3; }

/* マンガ一覧（暇つぶしの入口） */
.shelf-intro { padding:22px 18px 6px;max-width:640px;margin:0 auto; }
.shelf-intro h2 { font-size:22px;color:#103d59;margin:4px 0 6px; }
.shelf-intro p { font-size:13px;line-height:1.8;color:#4f5d68; }
.chip-row { display:flex;gap:6px;flex-wrap:wrap;margin-top:12px; }
.chip { min-height:36px;padding:6px 14px;border-radius:999px;background:white;border:1px solid #d6dee5;font-size:12px;font-weight:650;color:#103d59; }
.chip[aria-pressed="true"] { background:#103e5a;border-color:#103e5a;color:white; }
.shelf-grid { display:grid;gap:12px;padding:12px;max-width:640px;margin:0 auto; }
.shelf-card { display:grid;grid-template-columns:clamp(96px,30vw,150px) minmax(0,1fr);gap:12px;background:white;border:1px solid #e6e8ec;border-radius:18px;padding:10px;box-shadow:0 2px 10px #193c540d; }
.shelf-card .manga-cover { height:100%;min-height:130px;max-height:200px;border-radius:12px;overflow:hidden;background:#eef1f3; }
.shelf-card .manga-cover img { width:100%;height:100%;object-fit:cover;object-position:top; }
.shelf-copy { display:flex;flex-direction:column;gap:6px;min-width:0; }
.shelf-copy h3 { font-size:16px;line-height:1.45;color:#103d59;overflow-wrap:anywhere; }
.shelf-store { display:flex;align-items:center;gap:6px;font-size:12px;color:#4f5d68;flex-wrap:wrap; }
.shelf-summary { font-size:12px;line-height:1.7;color:#4f5d68;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden; }
.shelf-actions { display:grid;grid-template-columns:1fr auto;gap:6px;margin-top:auto; }
.shelf-actions .primary { white-space:nowrap;min-height:44px;border-radius:999px;background:#103e5a;font-size:14px;display:flex;align-items:center;justify-content:center;gap:6px; }
.shelf-actions .primary small { font-size:10px;font-weight:500;opacity:.8; }
.shelf-actions .secondary { white-space:nowrap;min-height:44px;border-radius:999px;padding:6px 12px; }
.experience-content > .mini-note { padding:4px 18px 30px;max-width:640px;margin:0 auto; }
.experience-content > .unavailable { margin:12px; }

/* 一覧のジャンル絞り込み */
.genre-filter { margin:12px 0 4px; }
.genre-filter h3,.kind-guide h3 { font-size:12px;color:var(--muted); }
.genre-filter .chip-row { margin-top:6px; }
.kind-guide { margin-top:18px; }
#help-dialog h3 { font-size:14px;color:#103d59;margin:16px 0 4px; }

@media (max-width:359px) {
  .shelf-card { grid-template-columns:88px minmax(0,1fr); }
  .shelf-actions { grid-template-columns:1fr; }
  .manga-end-actions { grid-template-columns:1fr; }
}
@media (min-width:700px) {
  .shelf-grid { grid-template-columns:1fr 1fr; }
  .shelf-card { grid-template-columns:120px minmax(0,1fr); }
}

/* v0.8: イベント（公開予約・開催期間）とエリアでPR */
.event-badge { display:inline-block;font-size:10px;font-weight:750;border-radius:5px;padding:2px 6px;background:#e9e2f7;color:#4d3d78;border:1px solid #d8cdef; }
.event-badge.ongoing { background:#dff3e6;color:#1f5e3a;border-color:#bfe3cb; }
.event-line { margin:8px 2px 0;font-size:12px;font-weight:700;color:#4d3d78; }
.event-section { margin:12px 0 6px; }
.event-section h3 { font-size:12px;color:var(--muted); }
.event-choice { display:grid;grid-template-columns:auto 1fr;gap:2px 8px;align-items:center;width:100%;text-align:left;background:#faf7ff;border:1px solid #e6def5;border-radius:14px;padding:10px 12px;margin-top:6px; }
.event-choice strong { font-size:14px;overflow-wrap:anywhere; }
.event-choice small { grid-column:1/-1;font-size:11px;color:var(--muted); }
.event-choice .listing-badge { grid-column:1/-1;justify-self:start; }
.area-badge { display:inline-block;font-size:9px;font-weight:750;background:#e3eff2;color:#2f5868;border-radius:5px;padding:1px 5px; }
