/**
 * round_girl 専用スタイル
 * - レスポンシブ: スマホ2列 / PC4列
 * - 画像ホバーズーム
 * - RIZIN風斜体・高級感ボーダー
 */

/* ==========================================================================
   変数（round_girl 用）
   ========================================================================== */

.kkg-archive-round-girl,
.kkg-single-round-girl,
.post-type-archive-round_girl,
.single-round_girl {
  --rg-accent: #c9a86c;
  --rg-accent-light: #e8d4b8;
  --rg-border-premium: linear-gradient(135deg, transparent 0%, var(--rg-accent) 20%, var(--rg-accent) 80%, transparent 100%);
  --rg-transition-smooth: 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

/* BreakingDown: 黒・赤・白のアグレッシブ配色（バッジ・個別ページで使用） */
.kkg-archive-round-girl__tab--breakingdown.kkg-archive-round-girl__tab--active,
.kkg-round-girl-card__badge--breakingdown,
.kkg-single-round-girl--breakingdown {
  --rg-bd-black: #0a0a0a;
  --rg-bd-red: #cc0000;
  --rg-bd-red-dark: #8b0000;
  --rg-bd-white: #f5f5f5;
}

/* RISE: ブラック＋オレンジ／鮮やかイエロー（バッジ・個別ページで使用） */
.kkg-archive-round-girl__tab--rise.kkg-archive-round-girl__tab--active,
.kkg-round-girl-card__badge--rise,
.kkg-single-round-girl--rise {
  --rg-rise-black: #0a0a0a;
  --rg-rise-orange: #ff6600;
  --rg-rise-orange-dark: #e55a00;
  --rg-rise-yellow: #ffb800;
}

/* ==========================================================================
   アーカイブ: 団体タブ切り替え
   ========================================================================== */

.kkg-archive-round-girl__tabs-wrap {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1.25rem;
  padding: 1rem;
  background: var(--rizin-bg-alt, #111);
  border: 1px solid var(--rizin-border, #333);
  border-radius: 8px;
}

.kkg-archive-round-girl__tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.kkg-archive-round-girl__tab {
  display: inline-block;
  padding: 0.5rem 1rem;
  font-size: 0.9rem;
  font-weight: 700;
  text-decoration: none;
  color: var(--rizin-text-muted, #999);
  background: transparent;
  border: 1px solid #444;
  border-radius: 6px;
  transition: color 0.2s, background 0.2s, border-color 0.2s;
}

.kkg-archive-round-girl__tab:hover {
  color: #fff;
  border-color: #666;
}

.kkg-archive-round-girl__tab--active {
  color: #1a1a1a;
  background: linear-gradient(135deg, #b8860b 0%, var(--rg-accent) 50%, #c9a86c 100%);
  border-color: var(--rg-accent);
}

.kkg-archive-round-girl__tab--knock-out.kkg-archive-round-girl__tab--active {
  background: linear-gradient(135deg, #a00 0%, #d90000 50%, #c44 100%);
  border-color: #d90000;
  color: #fff;
}

.kkg-archive-round-girl__tab--breakingdown.kkg-archive-round-girl__tab--active {
  background: linear-gradient(135deg, var(--rg-bd-red-dark, #8b0000) 0%, var(--rg-bd-red, #cc0000) 50%, #a00 100%);
  border-color: var(--rg-bd-red, #cc0000);
  color: var(--rg-bd-white, #f5f5f5);
}

.kkg-archive-round-girl__tab--rise.kkg-archive-round-girl__tab--active {
  background: linear-gradient(135deg, var(--rg-rise-black, #0a0a0a) 0%, var(--rg-rise-orange-dark, #e55a00) 40%, var(--rg-rise-orange, #ff6600) 100%);
  border-color: var(--rg-rise-orange, #ff6600);
  color: var(--rg-rise-yellow, #ffb800);
}

.kkg-archive-round-girl__filter-form {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  margin-left: auto;
}

.kkg-archive-round-girl__filter-form .kkg-select {
  min-width: 140px;
}

@media (max-width: 767px) {
  .kkg-archive-round-girl__tabs-wrap {
    flex-direction: column;
    align-items: stretch;
  }
  .kkg-archive-round-girl__filter-form {
    margin-left: 0;
  }
}

/* ==========================================================================
   カード: 団体バッジ（RIZIN=金 / KNOCK OUT=赤）
   ========================================================================== */

.kkg-round-girl-card__thumb {
  position: relative;
}

.kkg-round-girl-card__badge {
  position: absolute;
  top: 8px;
  right: 8px;
  padding: 0.25rem 0.6rem;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  border-radius: 4px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
}

.kkg-round-girl-card__badge--rizin {
  background: linear-gradient(135deg, #b8860b 0%, var(--rg-accent) 100%);
  color: #1a1a1a;
  border: 1px solid rgba(255, 255, 255, 0.3);
}

.kkg-round-girl-card__badge--knock-out {
  background: linear-gradient(135deg, #8b0000 0%, #d90000 50%, #a00 100%);
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.2);
}

.kkg-round-girl-card__badge--breakingdown {
  background: linear-gradient(135deg, var(--rg-bd-black, #0a0a0a) 0%, var(--rg-bd-red-dark, #8b0000) 50%, var(--rg-bd-red, #cc0000) 100%);
  color: var(--rg-bd-white, #f5f5f5);
  border: 1px solid rgba(255, 255, 255, 0.25);
}

.kkg-round-girl-card__badge--rise {
  background: linear-gradient(135deg, var(--rg-rise-black, #0a0a0a) 0%, var(--rg-rise-orange-dark, #e55a00) 50%, var(--rg-rise-orange, #ff6600) 100%);
  color: var(--rg-rise-yellow, #ffb800);
  border: 1px solid rgba(255, 184, 0, 0.4);
}

/* RISE 専用: カード上部の「R-1SE Force」タグラベル */
.kkg-round-girl-card__force-tag {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 2;
  display: block;
  padding: 0.35rem 0.5rem;
  font-size: 0.65rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-align: center;
  color: var(--rg-rise-yellow, #ffb800);
  background: linear-gradient(180deg, rgba(10, 10, 10, 0.95) 0%, rgba(10, 10, 10, 0.85) 100%);
  border-bottom: 1px solid rgba(255, 102, 0, 0.5);
}

/* ==========================================================================
   レスポンシブ: スマホ2列 / PC4列（カードグリッド）
   ========================================================================== */

.kkg-round-girl-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
}

@media (min-width: 768px) {
  .kkg-round-girl-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
  }
}

@media (min-width: 1024px) {
  .kkg-round-girl-grid {
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
  }
}

/* 個別ページ レコメンドグリッド */
.kkg-single-round-girl__recommend-grid {
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
}

@media (min-width: 600px) {
  .kkg-single-round-girl__recommend-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
  }
}

/* 個別ページ ギャラリーグリッド */
.kkg-single-round-girl__gallery-grid {
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
}

@media (min-width: 640px) {
  .kkg-single-round-girl__gallery-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
  }
}

/* ==========================================================================
   画像ホバー: スムーズズーム
   ========================================================================== */

.kkg-round-girl-card__thumb {
  overflow: hidden;
}

.kkg-round-girl-card__thumb img {
  transition: transform var(--rg-transition-smooth);
  will-change: transform;
}

.kkg-round-girl-card:hover .kkg-round-girl-card__thumb img {
  transform: scale(1.06);
}

.kkg-single-round-girl__gallery-item {
  overflow: hidden;
  border-radius: 8px;
}

.kkg-single-round-girl__gallery-item img {
  transition: transform var(--rg-transition-smooth);
  will-change: transform;
}

.kkg-single-round-girl__gallery-item:hover img {
  transform: scale(1.05);
}

.kkg-single-round-girl__recommend-thumb {
  overflow: hidden;
}

.kkg-single-round-girl__recommend-thumb img {
  transition: transform var(--rg-transition-smooth);
  will-change: transform;
}

.kkg-single-round-girl__recommend-card:hover .kkg-single-round-girl__recommend-thumb img {
  transform: scale(1.05);
}

/* ==========================================================================
   RIZIN風 斜体・スラントフォント
   ========================================================================== */

.kkg-archive-round-girl .kkg-archive-hero__title,
.post-type-archive-round_girl .kkg-archive-hero__title {
  font-style: italic;
  font-weight: 900;
  letter-spacing: 0.08em;
}

.kkg-single-round-girl__title {
  font-style: italic;
  font-weight: 900;
  letter-spacing: 0.06em;
}

.kkg-single-round-girl__section-title {
  font-style: italic;
  font-weight: 900;
  letter-spacing: 0.05em;
}

.kkg-round-girl-card__title a {
  font-style: italic;
  letter-spacing: 0.04em;
}

.kkg-single-round-girl__recommend-title a {
  font-style: italic;
  letter-spacing: 0.03em;
}

/* 活動期間ラベル：軽いスラントで高級感 */
.kkg-single-round-girl__period,
.kkg-round-girl-card__period,
.kkg-single-round-girl__recommend-period {
  font-style: italic;
  letter-spacing: 0.04em;
}

/* ==========================================================================
   高級感ボーダーデザイン
   ========================================================================== */

/* アーカイブ：ヒーロー下線を二重線・ゴールド */
.kkg-archive-round-girl .kkg-archive-hero__title,
.post-type-archive-round_girl .kkg-archive-hero__title {
  border-bottom: 3px solid var(--rg-accent);
  padding-bottom: 0.35em;
  box-shadow: 0 2px 0 0 rgba(201, 168, 108, 0.35);
}

/* カード：角にゴールドアクセント（疑似要素） */
.kkg-round-girl-card {
  position: relative;
  border: 1px solid #2a2a2a;
}

.kkg-round-girl-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent 0%, var(--rg-accent) 15%, var(--rg-accent) 85%, transparent 100%);
  opacity: 0.7;
  z-index: 1;
  border-radius: 12px 12px 0 0;
}

.kkg-round-girl-card:hover::before {
  opacity: 1;
  box-shadow: 0 0 12px rgba(201, 168, 108, 0.4);
}

/* ==========================================================================
   アーカイブ: 選択団体に応じたカード枠線・バッジのテーマ（クラス切り替え）
   RIZIN=金/黒 / KNOCK OUT=赤/白 / BreakingDown=赤/黒
   ========================================================================== */

.kkg-archive-round-girl--theme-rizin .kkg-round-girl-card {
  border-color: #2a2a2a;
}

.kkg-archive-round-girl--theme-rizin .kkg-round-girl-card::before {
  background: linear-gradient(90deg, transparent 0%, #c9a86c 15%, #c9a86c 85%, transparent 100%);
}

.kkg-archive-round-girl--theme-rizin .kkg-round-girl-card:hover {
  border-color: rgba(201, 168, 108, 0.5);
}

.kkg-archive-round-girl--theme-rizin .kkg-round-girl-card:hover::before {
  box-shadow: 0 0 12px rgba(201, 168, 108, 0.4);
}

.kkg-archive-round-girl--theme-rizin .kkg-round-girl-card__badge {
  background: linear-gradient(135deg, #b8860b 0%, #c9a86c 100%);
  color: #1a1a1a;
  border-color: rgba(255, 255, 255, 0.3);
}

.kkg-archive-round-girl--theme-knock-out .kkg-round-girl-card {
  border-color: #3a2a2a;
}

.kkg-archive-round-girl--theme-knock-out .kkg-round-girl-card::before {
  background: linear-gradient(90deg, transparent 0%, #d90000 15%, #d90000 85%, transparent 100%);
}

.kkg-archive-round-girl--theme-knock-out .kkg-round-girl-card:hover {
  border-color: rgba(217, 0, 0, 0.6);
}

.kkg-archive-round-girl--theme-knock-out .kkg-round-girl-card:hover::before {
  box-shadow: 0 0 12px rgba(217, 0, 0, 0.4);
}

.kkg-archive-round-girl--theme-knock-out .kkg-round-girl-card__badge {
  background: linear-gradient(135deg, #8b0000 0%, #d90000 50%, #a00 100%);
  color: #fff;
  border-color: rgba(255, 255, 255, 0.2);
}

.kkg-archive-round-girl--theme-breakingdown .kkg-round-girl-card {
  border-color: #1a0a0a;
}

.kkg-archive-round-girl--theme-breakingdown .kkg-round-girl-card::before {
  background: linear-gradient(90deg, transparent 0%, #cc0000 15%, #cc0000 85%, transparent 100%);
}

.kkg-archive-round-girl--theme-breakingdown .kkg-round-girl-card:hover {
  border-color: rgba(204, 0, 0, 0.6);
}

.kkg-archive-round-girl--theme-breakingdown .kkg-round-girl-card:hover::before {
  box-shadow: 0 0 12px rgba(204, 0, 0, 0.4);
}

.kkg-archive-round-girl--theme-breakingdown .kkg-round-girl-card__badge {
  background: linear-gradient(135deg, #0a0a0a 0%, #8b0000 50%, #cc0000 100%);
  color: #f5f5f5;
  border-color: rgba(255, 255, 255, 0.25);
}

.kkg-archive-round-girl--theme-rise .kkg-round-girl-card {
  border-color: #1a1a1a;
}

.kkg-archive-round-girl--theme-rise .kkg-round-girl-card::before {
  background: linear-gradient(90deg, transparent 0%, #ff6600 15%, #ff6600 85%, transparent 100%);
}

.kkg-archive-round-girl--theme-rise .kkg-round-girl-card:hover {
  border-color: rgba(255, 102, 0, 0.5);
  box-shadow: 0 4px 20px rgba(255, 102, 0, 0.25), 0 0 0 1px rgba(255, 102, 0, 0.15);
}

.kkg-archive-round-girl--theme-rise .kkg-round-girl-card:hover::before {
  box-shadow: 0 0 12px rgba(255, 102, 0, 0.4);
}

.kkg-archive-round-girl--theme-rise .kkg-round-girl-card__badge {
  background: linear-gradient(135deg, #0a0a0a 0%, #e55a00 50%, #ff6600 100%);
  color: #ffb800;
  border-color: rgba(255, 184, 0, 0.4);
}

/* RISE カード単体のホバー（「すべて」表示時もオレンジ系シャドウ） */
.kkg-round-girl-card--rise:hover {
  box-shadow: 0 4px 20px rgba(255, 102, 0, 0.25), 0 0 0 1px rgba(255, 102, 0, 0.15);
}

.kkg-round-girl-card--rise:hover::before {
  box-shadow: 0 0 12px rgba(255, 102, 0, 0.4);
}

/* 個別ページ：プロフィールカードの高級ボーダー */
.kkg-single-round-girl__profile-card {
  border: 1px solid #2a2a2a;
  border-left: 4px solid var(--rg-accent);
  position: relative;
}

.kkg-single-round-girl__profile-card::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 1px;
  background: linear-gradient(180deg, transparent 0%, var(--rg-accent) 20%, var(--rg-accent) 80%, transparent 100%);
  opacity: 0.5;
}

/* 個別ページ：セクションタイトルの装飾ボーダー */
.kkg-single-round-girl__section-title {
  border-bottom: 1px solid rgba(201, 168, 108, 0.4);
  padding-bottom: 0.5rem;
  position: relative;
}

.kkg-single-round-girl__section-title::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 60px;
  height: 2px;
  background: var(--rg-accent);
  opacity: 0.9;
}

/* ギャラリー・レコメンドカード：ホバー時ゴールド枠 */
.kkg-single-round-girl__gallery-item,
.kkg-single-round-girl__recommend-card {
  border: 1px solid #2a2a2a;
  transition: border-color var(--rg-transition-smooth), box-shadow var(--rg-transition-smooth);
}

.kkg-single-round-girl__gallery-item:hover,
.kkg-single-round-girl__recommend-card:hover {
  border-color: rgba(201, 168, 108, 0.6);
  box-shadow: 0 0 0 1px rgba(201, 168, 108, 0.25), 0 8px 24px rgba(0, 0, 0, 0.3);
}

/* 外部リンクボタン：二重ボーダー風 */
.kkg-single-round-girl__link {
  border: 1px solid rgba(201, 168, 108, 0.5);
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.2);
}

.kkg-single-round-girl__link:hover {
  border-color: var(--rg-accent);
  box-shadow: inset 0 0 0 1px rgba(201, 168, 108, 0.15), 0 0 16px rgba(201, 168, 108, 0.15);
}

/* ==========================================================================
   BreakingDown 個別ページ: 黒・赤・白のアクセント
   ========================================================================== */

.kkg-single-round-girl--breakingdown {
  --rg-accent: var(--rg-bd-red, #cc0000);
  --rg-accent-light: var(--rg-bd-white, #f5f5f5);
  --rg-border-premium: linear-gradient(135deg, transparent 0%, var(--rg-bd-red, #cc0000) 20%, var(--rg-bd-red, #cc0000) 80%, transparent 100%);
}

.kkg-single-round-girl--breakingdown .kkg-single-round-girl__section-title {
  border-bottom-color: rgba(204, 0, 0, 0.35);
}

.kkg-single-round-girl--breakingdown .kkg-single-round-girl__section-title::after {
  background: var(--rg-bd-red, #cc0000);
}

.kkg-single-round-girl--breakingdown .kkg-single-round-girl__gallery-item:hover,
.kkg-single-round-girl--breakingdown .kkg-single-round-girl__recommend-card:hover {
  border-color: rgba(204, 0, 0, 0.6);
  box-shadow: 0 0 0 1px rgba(204, 0, 0, 0.25), 0 8px 24px rgba(0, 0, 0, 0.3);
}

.kkg-single-round-girl--breakingdown .kkg-single-round-girl__link {
  border-color: rgba(204, 0, 0, 0.5);
}

.kkg-single-round-girl--breakingdown .kkg-single-round-girl__link:hover {
  border-color: var(--rg-bd-red, #cc0000);
  box-shadow: inset 0 0 0 1px rgba(204, 0, 0, 0.15), 0 0 16px rgba(204, 0, 0, 0.2);
}

/* ==========================================================================
   RISE 個別ページ: ブラック＋オレンジ／イエローのアクセント
   ========================================================================== */

.kkg-single-round-girl--rise {
  --rg-accent: var(--rg-rise-orange, #ff6600);
  --rg-accent-light: var(--rg-rise-yellow, #ffb800);
  --rg-border-premium: linear-gradient(135deg, transparent 0%, var(--rg-rise-orange, #ff6600) 20%, var(--rg-rise-orange, #ff6600) 80%, transparent 100%);
}

.kkg-single-round-girl--rise .kkg-single-round-girl__section-title {
  border-bottom-color: rgba(255, 102, 0, 0.35);
}

.kkg-single-round-girl--rise .kkg-single-round-girl__section-title::after {
  background: var(--rg-rise-orange, #ff6600);
}

.kkg-single-round-girl--rise .kkg-single-round-girl__gallery-item:hover,
.kkg-single-round-girl--rise .kkg-single-round-girl__recommend-card:hover {
  border-color: rgba(255, 102, 0, 0.6);
  box-shadow: 0 0 0 1px rgba(255, 102, 0, 0.25), 0 8px 24px rgba(0, 0, 0, 0.3);
}

.kkg-single-round-girl--rise .kkg-single-round-girl__link {
  border-color: rgba(255, 102, 0, 0.5);
}

.kkg-single-round-girl--rise .kkg-single-round-girl__link:hover {
  border-color: var(--rg-rise-orange, #ff6600);
  box-shadow: inset 0 0 0 1px rgba(255, 102, 0, 0.15), 0 0 16px rgba(255, 102, 0, 0.2);
}
