/* ============================================================
   hub-v2.css — 女優/ジャンル ハブ v2 / .vhub スコープ / hub-prototype-v2 準拠
   ※トークン(:root)・リセット・共有部品(.vt-sec/.vt-h2/.vt-grid/.vt-card/
     .vt-actrow/.vt-act/.vt-intro)は v2-base.css 側。ここはハブ固有のみ。
   ============================================================ */
.vhub{
  font-family:var(--maru);color:var(--ink);line-height:1.8;
  max-width:1120px;margin:0 auto;padding:8px 16px 50px;
  background-color:var(--cream);border-radius:var(--r);
  background-image:
    radial-gradient(circle at 12% 4%,rgba(118,208,255,.14),transparent 26%),
    radial-gradient(circle at 88% 2%,rgba(255,210,63,.16),transparent 22%),
    radial-gradient(rgba(255,179,160,.20) 1.4px,transparent 1.4px);
  background-size:auto,auto,22px 22px;
}

/* breadcrumb */
.vhub-crumb{font-size:12.5px;color:var(--ink2);font-weight:500;padding:14px 0 0;display:flex;flex-wrap:wrap;align-items:center;gap:2px}
.vhub-crumb a{padding:3px 10px;background:#fff;border-radius:999px;box-shadow:var(--shadow-soft)}
.vhub-crumb a:hover{color:var(--coral)}
.vhub-crumb span{margin:0 6px;opacity:.5}

/* hub header */
.vhub-head{margin:16px 0 8px;border:3px solid #fff;border-radius:var(--r);box-shadow:var(--shadow);padding:26px 28px;display:flex;gap:22px;align-items:center;flex-wrap:wrap;
  background:radial-gradient(circle at 88% 10%,#ffe1ec,transparent 55%),linear-gradient(120deg,#fff4ec,#ffeaf2 60%,#e7faf5)}
.vhub-head .av{width:118px;height:118px;border-radius:50%;border:4px solid #fff;box-shadow:var(--shadow-soft);overflow:hidden;flex:none;
  background:linear-gradient(135deg,#ffd9e6,#c8f3ec);display:grid;place-items:center;color:var(--ink2);font-size:11px;font-weight:700}
.vhub-head .av img{width:100%;height:100%;object-fit:cover}
.vhub-head .av.icon{font-size:54px;background:linear-gradient(135deg,#ffe1ec,#d9f3ee)}
.vhub-head .t{flex:1;min-width:240px}
.vhub-head h1{font-family:var(--pop);font-size:25px;margin-bottom:6px;font-weight:400}
.vhub-head h1 b{color:var(--coral)}
.vhub-stats{display:flex;gap:18px;flex-wrap:wrap;margin:6px 0 10px}
.vhub-stats div{font-size:12.5px;color:var(--ink2);font-weight:500}
.vhub-stats div b{display:block;font-family:var(--pop);font-size:20px;color:var(--ink)}
.vhub-head .lead{font-size:13.5px;color:#5b4d68;font-weight:500;max-width:620px}
.vhub-follow{margin-top:12px;display:inline-flex;align-items:center;gap:7px;font-family:var(--pop);font-size:14px;color:#fff;
  background:linear-gradient(120deg,var(--coral),var(--coral-d));padding:11px 22px;border-radius:14px;box-shadow:0 12px 24px -10px rgba(255,79,134,.7)}

/* 公式外部リンク（DMM listURL） */
.vhub-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.vhub-links a{font-weight:700;font-size:12.5px;color:var(--ink2);background:#fff;border:2px solid var(--line);padding:8px 14px;border-radius:999px;transition:.18s}
.vhub-links a:hover{border-color:var(--coral);color:var(--coral);transform:translateY(-2px)}

/* プロフィール チップ */
.vhub-meta{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 0}
.vhub-meta span{font-size:12px;font-weight:600;color:#5b4d68;background:#fff;border:2px solid var(--line);border-radius:12px;padding:6px 12px}
.vhub-meta span b{color:var(--coral);font-weight:700;margin-right:5px}

/* toolbar（件数＋並べ替え：現状は見た目のみ） */
.vhub-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:22px 0 14px}
.vhub-toolbar .cnt{font-weight:700;font-size:14px;color:var(--ink2)}
.vhub-toolbar .cnt b{color:var(--coral);font-family:var(--pop)}
.vhub-sorts{display:flex;gap:7px;margin-left:auto;flex-wrap:wrap}
.vhub-sorts a{font-weight:700;font-size:13px;padding:7px 14px;border-radius:999px;background:#fff;border:2px solid var(--line);color:var(--ink2);transition:.18s}
.vhub-sorts a:hover{color:var(--coral);border-color:var(--coral)}
.vhub-sorts a.on{background:linear-gradient(120deg,var(--coral),var(--coral-d));color:#fff;border-color:transparent}
.vhub-sorts a.on:hover{color:#fff}
/* セール絞り込みセレクト（v2ページは旧child-stylesが切れるため自前で装飾） */
.vhub-filter{margin-left:auto}
.vhub-filter select{font-family:var(--maru);font-weight:700;font-size:13px;color:var(--ink2);background:#fff;border:2px solid var(--line);border-radius:999px;padding:9px 38px 9px 16px;cursor:pointer;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M2 4l4 4 4-4' stroke='%23ff6f9c' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;transition:.18s;max-width:100%}
.vhub-filter select:hover,.vhub-filter select:focus{border-color:var(--coral);color:var(--coral);outline:none}
/* セール「もっと見る」＋ローディング */
#load-more.more{display:flex;justify-content:center;margin:26px 0 8px}
#load-more.more a{font-family:var(--pop);font-size:14px;color:#fff;background:linear-gradient(120deg,var(--coral),var(--coral-d));padding:13px 40px;border-radius:999px;box-shadow:var(--shadow-soft);transition:.18s}
#load-more.more a:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
#loading{text-align:center;color:var(--ink2);font-weight:700;padding:14px}

/* pagination（paginate_links の .page-numbers をスタイル） */
.vhub-pager{display:flex;justify-content:center;gap:8px;margin:28px 0 8px;flex-wrap:wrap}
.vhub-pager .page-numbers{min-width:42px;height:42px;padding:0 12px;display:grid;place-items:center;border-radius:14px;background:#fff;border:2px solid var(--line);font-family:var(--pop);font-size:15px;color:var(--ink2);transition:.18s}
.vhub-pager a.page-numbers:hover{color:var(--coral);border-color:var(--coral)}
.vhub-pager .page-numbers.current{background:linear-gradient(120deg,var(--coral),var(--coral-d));color:#fff;border-color:transparent;box-shadow:var(--shadow-soft)}
.vhub-pager .page-numbers.dots{border:0;background:none}

/* empty */
.vhub-empty{background:#fff;border:3px solid #fff;border-radius:var(--r);box-shadow:var(--shadow-soft);padding:30px;text-align:center;color:var(--ink2);font-weight:600;margin-top:8px}

/* responsive */
@media(max-width:620px){
  .vhub-head{padding:20px 18px;gap:16px}
  .vhub-head .av{width:88px;height:88px}
  .vhub-head h1{font-size:21px}
}
