.order-favorite { display:inline-flex; align-items:center; justify-content:center; gap:.5rem; min-height:44px; min-width:44px; padding:.25rem; color:#cbd5e1; border:0; background:transparent; font-size:.8rem; cursor:pointer; }
.order-favorite svg { width:24px; height:24px; flex:none; stroke:currentColor; stroke-width:1.6; fill:none; }
.order-favorite[aria-pressed="true"] { color:#D4AF37; }
.order-favorite[aria-pressed="true"] svg { fill:currentColor; }
.order-favorite:focus-visible { outline:2px solid #D4AF37; outline-offset:3px; }
.order-favorite:disabled { cursor:wait; }
.cast-save-card { min-width:0; }
.cast-save-card > a { display:block; }
.cast-save-card > .order-favorite { display:flex; margin:0 0 0 auto; padding:0; }
.cast-save-card[hidden] { display:none!important; }
.revisit-tabs { display:flex; gap:1.75rem; margin:1.5rem 0 1rem; border-bottom:1px solid #1e293b; }
.revisit-tabs a { display:inline-flex; align-items:center; min-height:44px; margin-bottom:-1px; border-bottom:2px solid transparent; color:#94a3b8; font-size:.9rem; letter-spacing:.08em; }
.revisit-tabs a[aria-current="page"] { color:#fff; border-bottom-color:#D4AF37; }
/* ページ末尾の「次の行動」（user-template/page-next.php）。全ページ共通。 */
.page-next { display:flex; flex-direction:column; align-items:center; gap:1rem; margin-top:3rem; padding-top:2rem; border-top:1px solid #1e293b; text-align:center; }
.page-next-primary { display:inline-flex; align-items:center; justify-content:center; width:100%; max-width:22rem; min-height:52px; padding:0 2rem; border:1px solid #D4AF3799; color:#fff; font-size:.85rem; letter-spacing:.15em; transition:background-color .3s; }
.page-next-primary:hover { background:#D4AF371a; }
.page-next-links { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:0 1.5rem; }
.page-next-links a { display:inline-flex; align-items:center; gap:.4em; min-height:44px; color:#cbd5e1; font-size:.85rem; letter-spacing:.05em; text-decoration:underline; text-decoration-color:#64748b; text-underline-offset:4px; }
.page-next-links a:hover { color:#fff; text-decoration-color:currentColor; }
.revisit-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.5rem 1rem; }
.revisit-card { min-width:0; border:1px solid #334155; padding:.6rem; }
.revisit-card h2 { margin:.8rem 0 .4rem; font-size:1.15rem; }
.revisit-card p { margin:.6rem 0; font-size:.8rem; }
.revisit-image { position:relative; aspect-ratio:4/5; }
.revisit-image img { width:100%; height:100%; object-fit:cover; }
.revisit-member { position:absolute; top:.5rem; right:.5rem; padding:.4rem; background:#020617dd; font-size:.7rem; }
.revisit-member.is-locked { top:50%; right:0; left:0; text-align:center; }
.revisit-grid .member-fallback-image::after { content:'PRIVATE'; position:absolute; top:32%; left:0; right:0; text-align:center; font-family:serif; letter-spacing:.2em; color:white; }
[data-favorite-message] { color:#e2c779; font-size:.85rem; }
.favorite-help { color:#94a3b8; font-size:.75rem; margin:.6rem 0; }
@media(min-width:768px) { .revisit-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(min-width:1200px) { .revisit-grid { grid-template-columns:repeat(4,minmax(0,1fr)); } }

.revisit-grid .member-fallback-image { border:1px solid #94a3b8; }

.favorite-feedback { position:fixed; bottom:1rem; left:1rem; right:1rem; z-index:10000; max-width:42rem; margin:auto; padding:1rem; border:1px solid #D4AF3760; background:#020617f5; }
.favorite-feedback[hidden] { display:none; }
.favorite-first-notice { position:fixed; left:1rem; right:1rem; bottom:calc(6rem + env(safe-area-inset-bottom)); z-index:10001; max-width:26rem; margin:auto; padding:1.25rem 1.25rem 1rem; border:1px solid #D4AF37; background:#0b1224; box-shadow:0 18px 48px rgba(0,0,0,.65), 0 0 0 1px rgba(212,175,55,.15); color:#e2e8f0; font-size:.85rem; line-height:1.7; animation:favorite-first-in .35s ease-out; }
.favorite-first-notice[hidden] { display:none; }
.favorite-first-notice-title { margin-bottom:.35rem; color:#D4AF37; font-size:1rem; letter-spacing:.08em; }
.favorite-first-notice-actions { display:flex; justify-content:flex-end; align-items:center; gap:1.25rem; margin-top:.75rem; }
.favorite-first-notice-actions a, .favorite-first-notice-actions button { display:inline-flex; align-items:center; min-height:44px; color:#fff; font-size:.8rem; letter-spacing:.08em; }
.favorite-first-notice-actions a { padding:0 1rem; border:1px solid #D4AF3780; }
.favorite-first-notice-actions button { color:#94a3b8; background:transparent; border:0; cursor:pointer; }
@media(min-width:768px) { .favorite-first-notice { bottom:2rem; } }
@keyframes favorite-first-in { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:none; } }
@media (prefers-reduced-motion: reduce) { .favorite-first-notice { animation:none; } }

.cast-save-grid { row-gap:.5rem; }
.revisit-actions { display:flex; align-items:center; justify-content:flex-end; gap:.25rem; min-height:44px; }
.recent-remove { min-height:44px; padding:0 .25rem; color:#94a3b8; font-size:.75rem; }
.recent-remove:focus-visible { outline:2px solid #D4AF37; outline-offset:2px; }

.cast-save-card > .order-favorite:focus-visible { outline-offset:-3px; }
