/* ============================================================
 * av.rawmiss.com  v3.0  — Neon Pink × Deep Black
 * ============================================================ */

:root {
  --av-bg: #0a0a0e;
  --av-bg-2: #12121a;
  --av-card-bg: #181822;
  --av-card-bg-hover: #20202c;
  --av-card-border: #252532;
  --av-card-border-hover: #ff2e63;

  --av-accent: #ff2e63;
  --av-accent-2: #ff5e8e;
  --av-accent-dark: #c92053;
  --av-accent-soft: rgba(255, 46, 99, 0.12);
  --av-accent-glow: rgba(255, 46, 99, 0.5);
  --av-cyan: #08d9d6;
  --av-gold: #ffd166;

  --av-text: #f3f4f6;
  --av-text-mute: #9ca3af;
  --av-text-faint: #6b7280;

  /* グラデーション廃止: 全て単色 */
  --av-grad-pink: #ff2e63;
  --av-grad-dark: #0a0a0e;
  --av-grad-card: transparent;
}

/* 強制的に黒ベース。Cocoonのスキン残カラーを上書き */
html, body,
body.dark-mode,
#wrap, #container, #content, .content, .main,
#main, #main .article, .article, .entry-content,
.page, .post, .single, .home, .archive,
.l-container, .l-content {
  background-color: var(--av-bg) !important;
  color: var(--av-text);
}

body {
  letter-spacing: 0.02em;
}

/* 通常のテキスト要素 */
.entry-content,
.entry-content p,
.article p,
.article li,
.post-meta,
.entry-meta {
  color: var(--av-text);
}

.entry-content a {
  color: var(--av-accent-2);
}
.entry-content a:hover {
  color: var(--av-accent);
}

/* === 基本タイポグラフィ === */
h1, h2, h3, h4 {
  color: var(--av-text);
  letter-spacing: 0.03em;
}

a { color: var(--av-accent-2); }
a:hover { color: var(--av-accent); }

/* ============================================================
 * セクション(汎用) — Cocoon h2 を完全上書き
 * ============================================================ */
.av-section { margin: 3.2em 0 4em; }

/* Cocoonの全h2デフォルト装飾を完全に無効化 (どこでも黒背景にする) */
.entry-content h2,
.article h2,
.post h2,
.page h2,
.actress-archive h2 {
  background: #0a0a0e !important;
  background-color: transparent !important;
  background-image: none !important;
  border: 0 !important;
  border-left: 0 !important;
  border-top: 0 !important;
  border-right: 0 !important;
  border-bottom: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: #ffffff !important;
}

/* av-section-title を全 h2 のベースにする */
.entry-content h2.av-section-title,
.av-section-title {
  font-size: 1.5em !important;
  font-weight: 900 !important;
  margin: 1.6em 0 1em !important;
  padding: 0.4em 0 0.4em 1em !important;
  position: relative !important;
  color: #fff !important;
  background: #0a0a0e !important;
  border: 0 !important;
  border-left: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  text-shadow: 0 0 16px var(--av-accent-glow) !important;
}
/* spanで囲まれている場合(目次自動挿入対策) */
.av-section-title > span,
.av-section-title > span[id^="toc"] {
  background: #0a0a0e !important;
  color: inherit !important;
  font: inherit !important;
}
.entry-content h2.av-section-title::before,
.av-section-title::before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  top: 0.3em !important;
  bottom: 0.3em !important;
  width: 6px !important;
  background: var(--av-grad-pink) !important;
  border-radius: 3px !important;
  box-shadow: 0 0 12px var(--av-accent-glow) !important;
  margin: 0 !important;
}
.entry-content h2.av-section-title::after,
.av-section-title::after {
  content: "" !important;
  display: block !important;
  margin-top: 8px !important;
  width: 60px !important;
  height: 2px !important;
  background: var(--av-grad-pink) !important;
  opacity: 0.6 !important;
  position: static !important;
}

/* トップページ用に Cocoon の他 h2 装飾も殺す */
.page-id-349 .entry-content h2 {
  background: #0a0a0e !important;
  border: 0 !important;
}

/* ============================================================
 * ヒーロー
 * ============================================================ */
.av-hero {
  position: relative;
  margin: -1.5em -1em 3em;
  padding: 4em 2em 4.5em;
  background: #0a0a0e;
  border-bottom: 1px solid var(--av-card-border);
  overflow: hidden;
  text-align: center;
}
.av-hero::before { display: none; }
.av-hero-inner {
  position: relative;
  max-width: 900px;
  margin: 0 auto;
}
.av-hero-title {
  font-size: clamp(2em, 5vw, 3.4em);
  font-weight: 900;
  letter-spacing: 0.04em;
  margin: 0 0 0.4em;
  color: var(--av-accent);
  text-shadow: 0 0 30px var(--av-accent-glow);
}
.av-hero-sub {
  font-size: 1.05em;
  color: var(--av-text-mute);
  margin: 0 0 2em;
  line-height: 1.7;
}
.av-hero-stats {
  display: flex;
  justify-content: center;
  gap: 32px;
  flex-wrap: wrap;
}
.av-hero-stat {
  background: #181822;
  border: 1px solid var(--av-card-border);
  border-radius: 12px;
  padding: 16px 24px;
  min-width: 110px;
}
.av-hero-stat span {
  display: block;
  font-size: 0.75em;
  color: var(--av-text-mute);
  text-transform: uppercase;
  letter-spacing: 0.15em;
  margin-bottom: 6px;
}
.av-hero-stat strong {
  display: block;
  font-size: 1.8em;
  font-weight: 900;
  color: var(--av-accent);
  text-shadow: 0 0 12px var(--av-accent-glow);
}

/* ============================================================
 * カード(動画) — リッチ化
 * ============================================================ */
.av-card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 18px;
}
.av-card {
  position: relative;
  background: var(--av-card-bg);
  border: 1px solid var(--av-card-border);
  border-radius: 12px;
  overflow: hidden;
  color: inherit;
  text-decoration: none;
  display: flex;
  flex-direction: column;
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}
.av-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--av-grad-card);
  opacity: 0;
  transition: opacity 0.3s ease;
  pointer-events: none;
  border-radius: 12px;
}
.av-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 18px 40px rgba(255, 46, 99, 0.28), 0 0 0 1px var(--av-accent);
  border-color: var(--av-accent);
}
.av-card:hover::before { opacity: 1; }
.av-card-thumb {
  aspect-ratio: 3/2;
  background: #000;
  overflow: hidden;
  position: relative;
}
.av-card-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}
.av-card:hover .av-card-thumb img { transform: scale(1.08); }
.av-card-thumb-blank {
  background: #1a1a22;
}
.av-card-body {
  padding: 12px 14px 16px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.av-card-body strong {
  font-size: 0.92em;
  line-height: 1.4;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  color: var(--av-text);
}
.av-card-body small {
  font-size: 0.72em;
  color: var(--av-text-mute);
}

/* ============================================================
 * 女優カード(円形写真スタイル + 通常スタイル切替可)
 * ============================================================ */
.av-actress-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: 18px;
}
.av-actress-card {
  position: relative;
  background: var(--av-card-bg);
  border: 1px solid var(--av-card-border);
  border-radius: 14px;
  overflow: hidden;
  color: inherit;
  text-decoration: none;
  text-align: center;
  display: flex;
  flex-direction: column;
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}
.av-actress-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 14px 32px rgba(255, 46, 99, 0.32), 0 0 0 1px var(--av-accent);
  border-color: var(--av-accent);
}
.av-actress-thumb {
  aspect-ratio: 1/1;
  background: #000;
  overflow: hidden;
  position: relative;
}
.av-actress-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}
.av-actress-card:hover .av-actress-thumb img { transform: scale(1.08); }
.av-actress-thumb-blank {
  background: var(--av-grad-pink);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2.4em;
  font-weight: 900;
  color: #fff;
  text-shadow: 0 0 16px rgba(0,0,0,0.4);
}
.av-actress-body {
  padding: 10px 12px 14px;
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.av-actress-body strong {
  font-size: 0.92em;
  color: var(--av-text);
  font-weight: 700;
}
.av-actress-body small {
  font-size: 0.72em;
  color: var(--av-text-mute);
}

/* ============================================================
 * タクソノミー pill
 * ============================================================ */
.av-term-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.av-term-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 14px;
  background: var(--av-card-bg);
  border: 1px solid var(--av-card-border);
  border-radius: 999px;
  color: var(--av-text);
  text-decoration: none;
  font-size: 0.85em;
  transition: all 0.2s ease;
}
.av-term-pill:hover {
  background: var(--av-card-bg) !important;
  border-color: var(--av-accent) !important;
  color: var(--av-text) !important;
  transform: translateY(-2px);
  box-shadow: 0 4px 14px rgba(255, 46, 99, 0.25);
}
.av-term-count {
  display: inline-block;
  font-size: 0.72em;
  color: var(--av-text-mute);
  background: #0a0a0e;
  padding: 2px 8px;
  border-radius: 999px;
}
.av-term-pill:hover .av-term-count {
  color: var(--av-text-mute) !important;
  background: #0a0a0e !important;
}

/* ============================================================
 * 女優アーカイブ専用ヘッダー (archive-actress.php)
 * ============================================================ */
.actress-archive {
  padding: 0;
}
.actress-archive-header {
  position: relative;
  text-align: center;
  padding: 3.5em 1em 3em;
  margin: 0 0 2em;
  background: #0a0a0e;
  border-bottom: 1px solid var(--av-card-border);
  overflow: hidden;
}
.actress-archive-header::before { display: none; }
.actress-archive-header .aah-label {
  display: inline-block;
  font-size: 0.75em;
  letter-spacing: 0.4em;
  font-weight: 700;
  color: var(--av-accent-2);
  margin: 0 0 12px;
  padding: 4px 14px;
  border: 1px solid var(--av-accent);
  border-radius: 999px;
  background: var(--av-accent-soft);
  position: relative;
  z-index: 1;
}
.actress-archive-header .aah-title {
  font-size: clamp(2em, 4.5vw, 3em);
  font-weight: 900;
  letter-spacing: 0.08em;
  margin: 0 0 0.6em;
  color: var(--av-accent);
  text-shadow: 0 0 30px var(--av-accent-glow);
  position: relative;
  z-index: 1;
}
.actress-archive-header .aah-desc {
  font-size: 0.95em;
  color: var(--av-text-mute);
  margin: 0 auto;
  max-width: 680px;
  line-height: 1.8;
  position: relative;
  z-index: 1;
}
.actress-archive-header .aah-desc strong {
  color: var(--av-accent);
  font-size: 1.25em;
  text-shadow: 0 0 12px var(--av-accent-glow);
}

.actress-archive-body {
  padding: 0 1em;
  max-width: 1240px;
  margin: 0 auto;
}

/* アーカイブページでは Cocoon の archive-title を隠す(自前ヘッダーがある) */
.post-type-archive-actress .archive-title,
.post-type-archive-actress > .breadcrumb,
.post-type-archive-actress .pagination {
  display: none !important;
}

/* ============================================================
 * 五十音インデックス + 五十音グループ
 * ============================================================ */
.av-initial-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 0 0 2em;
  padding: 1em;
  background: var(--av-card-bg);
  border-radius: 12px;
  border: 1px solid var(--av-card-border);
  justify-content: center;
}
.av-initial-nav a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: #181822;
  color: var(--av-text);
  text-decoration: none;
  font-weight: bold;
  font-size: 1em;
  border: 1px solid var(--av-card-border);
  transition: all 0.18s ease;
}
.av-initial-nav a:hover {
  background: var(--av-grad-pink);
  border-color: var(--av-accent);
  color: #fff;
  transform: scale(1.08);
  box-shadow: 0 4px 14px var(--av-accent-glow);
}
.av-initial-nav a.empty { opacity: 0.35; pointer-events: none; }

.av-initial-group {
  margin: 2em 0;
}
.av-initial-group-title {
  font-size: 1.1em;
  margin: 0 0 1em;
  padding: 0.3em 0.8em;
  background: var(--av-accent-soft);
  border-left: 4px solid var(--av-accent);
  color: var(--av-accent-2);
  border-radius: 0 6px 6px 0;
  font-weight: bold;
}

/* ============================================================
 * 動画記事(post.html.j2)
 * ============================================================ */
.lead-text {
  font-size: 1.05em;
  line-height: 1.9;
  margin: 1.2em 0 1.8em;
  padding: 1em 1.2em;
  border-left: 4px solid var(--av-accent);
  background: #181822;
  border-radius: 0 8px 8px 0;
  color: var(--av-text);
}

.post-meta-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0.6em 0 1.4em;
}
.meta-pill {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 5px 12px;
  background: var(--av-card-bg);
  border: 1px solid var(--av-card-border);
  border-radius: 999px;
  color: var(--av-text);
  text-decoration: none;
  font-size: 0.82em;
  transition: all 0.18s ease;
}
.meta-pill:hover {
  background: var(--av-accent);
  border-color: var(--av-accent);
  color: #fff;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px var(--av-accent-glow);
}
.meta-pill-actress {
  background: var(--av-accent-soft);
  border-color: var(--av-accent);
  color: var(--av-accent-2);
  font-weight: 700;
}
.meta-pill-actress:hover {
  background: var(--av-accent);
  color: #fff;
}

/* === 出演女優ピル: 6名以上の折りたたみ === */
.actress-expand {
  position: absolute !important;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}
/* checkbox が存在する(=6名以上)とき、6名目以降の女優ピルを非表示 */
.post-meta-pills .actress-expand ~ .meta-pill-actress:nth-of-type(n+6) {
  display: none !important;
}
/* checked になったら全表示 */
.post-meta-pills .actress-expand:checked ~ .meta-pill-actress:nth-of-type(n+6) {
  display: inline-flex !important;
}
.actress-expand-label {
  display: inline-flex;
  align-items: center;
  padding: 5px 14px;
  background: var(--av-accent);
  border: 1px solid var(--av-accent);
  border-radius: 999px;
  color: #ffffff;
  font-size: 0.82em;
  font-weight: 700;
  cursor: pointer;
  user-select: none;
  transition: background 0.15s ease, transform 0.12s ease;
}
.actress-expand-label:hover {
  background: var(--av-accent-dark);
  transform: translateY(-1px);
}
.actress-expand-label::before {
  content: attr(data-more);
}
.actress-expand:checked ~ .actress-expand-label::before {
  content: attr(data-less);
}

/* h1直下のアイキャッチ */
.single-eyecatch {
  margin: 1.2em 0 1.4em;
  text-align: center;
}
.single-eyecatch .eye-catch-image,
.single-eyecatch img {
  max-width: 720px;
  width: 100%;
  height: auto;
  border-radius: 10px;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.6);
  display: inline-block;
}

/* 本文内の post-main-grid: h1直下にアイキャッチを出しているため、
   左半分(package-image)を非表示にして作品情報テーブル+CTAを全幅に */
.single-post .post-main-grid {
  display: block;
  margin: 1.4em 0 2em;
}
.single-post .post-main-grid .package-image { display: none; }
.single-post .post-main-grid .post-info-side { width: 100%; }

/* それ以外(female ページ等)では従来の2カラム維持 */
.post-main-grid {
  display: grid;
  grid-template-columns: minmax(0, 40%) minmax(0, 60%);
  gap: 24px;
  margin: 1.4em 0 2em;
  align-items: start;
}
.post-main-grid .package-image {
  margin: 0;
  position: relative;
}
.post-main-grid .package-image img {
  width: 100%;
  height: auto;
  border-radius: 10px;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.6);
  transition: transform 0.3s ease;
}
.post-main-grid .package-image:hover img {
  transform: scale(1.02);
  box-shadow: 0 16px 40px rgba(255, 46, 99, 0.3), 0 0 0 1px var(--av-accent);
}
.post-info-side {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.post-info-table,
table.post-info-table {
  width: 100% !important;
  border-collapse: collapse !important;
  background: #0a0a0e !important;
  border: 1px solid #2a2a32 !important;
  border-radius: 10px !important;
  overflow: hidden;
  color: #ffffff !important;
}
.post-info-table th,
table.post-info-table th {
  background: #0a0a0e !important;
  color: #ffffff !important;
  font-weight: 700 !important;
  text-align: left !important;
  padding: 1em 1.2em !important;
  width: 110px !important;
  border-bottom: 1px solid #2a2a32 !important;
  border-right: 1px solid #2a2a32 !important;
  vertical-align: top !important;
  font-size: 0.92em !important;
  letter-spacing: 0.05em;
}
.post-info-table td,
table.post-info-table td {
  color: #ffffff !important;
  padding: 1em 1.2em !important;
  border-bottom: 1px solid #2a2a32 !important;
  background: #0a0a0e !important;
  font-weight: 600 !important;
  font-size: 1.02em !important;
  line-height: 1.55 !important;
}
.post-info-table tr:last-child th,
.post-info-table tr:last-child td { border-bottom: 0 !important; }
.post-info-table tbody tr:nth-child(even) {
  background: #0a0a0e !important;
}
.post-info-table a,
table.post-info-table a {
  color: var(--av-accent-2) !important;
  text-decoration: none !important;
  font-weight: 700 !important;
}
.post-info-table a:hover,
table.post-info-table a:hover {
  color: var(--av-accent) !important;
  text-decoration: underline !important;
}

/* === CTA === */
.btn,
.btn-wrap .btn,
a.btn,
.btn.btn-l,
.btn.btn-pink-bg,
a.btn.btn-pink-bg,
.btn-wrap .btn-pink-bg {
  color: #ffffff !important;
}
.btn.btn-pink-bg,
a.btn.btn-pink-bg {
  background: var(--av-grad-pink) !important;
  border: 0 !important;
  color: #ffffff !important;
  box-shadow: 0 6px 20px var(--av-accent-glow);
  font-weight: 900 !important;
  letter-spacing: 0.05em;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.45);
  transition: transform 0.18s ease, box-shadow 0.18s ease;
}
.btn.btn-pink-bg span,
.btn.btn-pink-bg strong,
a.btn.btn-pink-bg span,
a.btn.btn-pink-bg strong {
  color: #ffffff !important;
}
.btn.btn-pink-bg:hover,
a.btn.btn-pink-bg:hover {
  color: #ffffff !important;
  transform: translateY(-3px);
  box-shadow: 0 10px 28px var(--av-accent-glow), 0 0 30px var(--av-accent-glow);
}
.post-cta-large {
  text-align: center;
  margin: 2.8em 0;
}
.post-cta-large .btn { padding: 16px 36px; font-size: 1.1em; }

@media (max-width: 768px) {
  .post-main-grid { grid-template-columns: 1fr; }
  .post-info-table th,
  table.post-info-table th { width: 90px !important; padding: 0.75em 0.9em !important; font-size: 0.85em !important; }
  .post-info-table td,
  table.post-info-table td { padding: 0.75em 0.9em !important; font-size: 0.95em !important; }
}

/* 見どころ */
.information-box {
  background: var(--av-card-bg);
  border-radius: 10px;
  padding: 1.2em 1.5em;
  margin: 1em 0;
  border: 1px solid var(--av-card-border);
}
.check-list { list-style: none; padding: 0; margin: 0; }
.check-list li {
  padding: 0.7em 0 0.7em 1.8em;
  position: relative;
  line-height: 1.7;
  border-bottom: 1px dashed var(--av-card-border);
}
.check-list li:last-child { border-bottom: 0; }
.check-list li::before {
  content: "✓";
  position: absolute;
  left: 0.4em;
  color: var(--av-accent);
  font-weight: bold;
  font-size: 1.2em;
  text-shadow: 0 0 8px var(--av-accent-glow);
}

/* サンプル動画(白枠付き) */
.sample-movie-wrap {
  margin: 1em auto 2em;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.6);
  position: relative;
  width: 100%;
  max-width: 720px;
  aspect-ratio: 16/10;
  border: 2px solid #ffffff;
  background: #000;
}
.sample-movie-wrap iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

/* サンプル画像ギャラリー */
.sample-gallery {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
  margin: 1em 0;
}
.sample-gallery .sample-thumb {
  display: block;
  border-radius: 6px;
  overflow: hidden;
  background: #000;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.sample-gallery .sample-thumb img {
  width: 100%;
  height: auto;
  display: block;
}
.sample-gallery .sample-thumb:hover {
  transform: scale(1.04);
  box-shadow: 0 6px 18px rgba(255, 46, 99, 0.3);
}
@media (max-width: 768px) { .sample-gallery { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 480px) { .sample-gallery { grid-template-columns: repeat(2, 1fr); } }

/* === サンプル画像: 1カラム全幅、マージン0、コンテナ幅いっぱい === */
.sample-gallery-fullwidth {
  display: block !important;
  grid-template-columns: 1fr !important;
  gap: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 100%;
}
.sample-gallery-fullwidth .sample-thumb {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 0 !important;
  background: #000;
  transform: none !important;
  box-shadow: none !important;
  transition: none !important;
}
.sample-gallery-fullwidth .sample-thumb img {
  width: 100% !important;
  max-width: 100% !important;
  height: auto;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 0 !important;
}
.sample-gallery-fullwidth .sample-thumb:hover {
  transform: none !important;
  box-shadow: none !important;
}

/* ============================================================
 * 女優ページ
 * ============================================================ */
.actress-header {
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 28px;
  margin: 1em 0 2.5em;
  padding: 1.6em;
  background: var(--av-card-bg);
  border-radius: 14px;
  border: 1px solid var(--av-card-border);
  position: relative;
  overflow: hidden;
}
.actress-photo {
  width: 100%;
  height: auto;
  border-radius: 10px;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.6), 0 0 0 1px rgba(255, 46, 99, 0.3);
}
.actress-header-right .actress-name {
  font-size: 2em;
  margin: 0 0 4px;
  color: #fff;
  font-weight: 900;
  text-shadow: 0 0 14px var(--av-accent-glow);
}
.actress-header-right .actress-ruby {
  color: var(--av-text-mute);
  margin: 0 0 18px;
  font-size: 0.95em;
}
.actress-cta { margin-top: 18px; }
.actress-cta .btn { width: 100%; text-align: center; }

.actress-bio-box {
  background: var(--av-card-bg);
  padding: 1.2em 1.5em;
  border-radius: 10px;
  border-left: 4px solid var(--av-accent);
  margin: 1.5em 0;
}
.actress-bio-box h2 { margin-top: 0; border: 0; padding: 0; font-size: 1.15em; }

@media (max-width: 600px) {
  .actress-header { grid-template-columns: 1fr; padding: 1em; gap: 16px; }
  .actress-photo { max-width: 220px; margin: 0 auto; display: block; }
  .actress-header-right .actress-name { text-align: center; font-size: 1.6em; }
  .actress-header-right .actress-ruby { text-align: center; }
}

/* ============================================================
 * パンくず (av_breadcrumb) — 全ページ統一
 * ============================================================ */
/* Cocoon デフォルトのパンくずを非表示 */
#breadcrumb,
.breadcrumb.breadcrumb-category {
  display: none !important;
}

.av-breadcrumb {
  margin: 0 0 1.4em;
  padding: 0.6em 0;
  font-size: 0.85em;
}
.av-breadcrumb ol {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 6px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.av-breadcrumb li {
  display: inline-flex;
  align-items: center;
  color: var(--av-text-mute);
}
.av-breadcrumb li + li::before {
  content: "›";
  margin-right: 8px;
  color: var(--av-text-faint);
}
.av-breadcrumb li a {
  color: var(--av-text-mute);
  text-decoration: none;
  transition: color 0.18s ease;
}
.av-breadcrumb li a:hover {
  color: var(--av-accent);
  text-decoration: underline;
}
.av-breadcrumb li.current {
  color: var(--av-text);
  font-weight: 700;
}

/* ============================================================
 * プロフィールカード / スタイル分析カード (actress_profile)
 * ============================================================ */
.apc-card {
  background: #181822;
  border: 1px solid var(--av-card-border);
  border-radius: 16px;
  padding: 1.6em 1.8em;
  margin: 1.2em 0;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.5);
}
.apc-title {
  display: flex !important;
  align-items: center;
  gap: 12px;
  font-size: 1.2em !important;
  font-weight: 700 !important;
  margin: 0 0 1.4em !important;
  padding: 0 0 0.9em !important;
  border-bottom: 1px solid var(--av-card-border) !important;
  color: #fff !important;
  background: #0a0a0e !important;
  letter-spacing: 0.04em;
}
.apc-title::before,
.apc-title::after {
  display: none !important;
}
.apc-badge {
  width: 28px;
  height: 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--av-grad-pink);
  border-radius: 50%;
  font-size: 0.85em;
  color: #fff;
  box-shadow: 0 0 14px var(--av-accent-glow);
  flex-shrink: 0;
}

.apc-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.4em 2em;
}
.apc-row {
  display: grid;
  grid-template-columns: 28px 90px 1fr;
  align-items: center;
  gap: 12px;
  padding: 0.8em 0;
  font-size: 1em;
  border-bottom: 1px solid #25252e;
}
.apc-icon {
  font-size: 1.15em;
  text-align: center;
}
.apc-label {
  color: var(--av-text-mute);
  font-size: 0.92em;
  font-weight: 600;
}
.apc-value {
  color: #fff;
  font-weight: 700;
  text-align: right;
  font-size: 1em;
}
.apc-highlight {
  color: var(--av-accent-2) !important;
  text-shadow: 0 0 10px var(--av-accent-glow);
  font-weight: 800;
}
.apc-mute {
  color: var(--av-text-mute) !important;
  font-weight: 500;
}
@media (max-width: 768px) {
  .apc-grid { grid-template-columns: 1fr; gap: 0; }
  .apc-row { grid-template-columns: 24px 80px 1fr; padding: 0.7em 0; }
}

/* スタイル分析グリッド */
.ast-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  gap: 14px;
}
.ast-card {
  background: #1a1a26;
  border: 1px solid var(--av-card-border);
  border-radius: 12px;
  padding: 16px 14px;
  text-align: left;
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}
.ast-card:hover {
  border-color: var(--av-accent);
  transform: translateY(-3px);
  box-shadow: 0 10px 24px var(--av-accent-glow);
}
.ast-label {
  display: block;
  font-size: 0.8em;
  color: var(--av-text-mute);
  margin-bottom: 8px;
  letter-spacing: 0.06em;
  font-weight: 600;
}
.ast-value {
  display: block;
  font-size: 2.2em;
  font-weight: 900;
  color: var(--av-accent);
  text-shadow: 0 0 14px var(--av-accent-glow);
  line-height: 1;
  letter-spacing: 0.02em;
}
.ast-value small {
  font-size: 0.42em;
  font-weight: 400;
  margin-left: 3px;
  color: var(--av-text-mute);
  text-shadow: none;
}
.ast-text {
  font-size: 1.4em !important;
}

/* 関連の女優 */
.related-actresses h3 {
  font-size: 1.2em;
  margin: 1.8em 0 1em;
  color: var(--av-accent-2);
}

/* FANZA リンク群(actress_links ショートコード) */
.actress-links {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 14px;
  margin: 1em 0 2em;
}
.actress-link-item {
  display: flex !important;
  align-items: center;
  gap: 14px;
  padding: 18px 22px !important;
  background: #181822 !important;
  border: 1px solid #2a2a3a !important;
  border-left: 5px solid var(--av-accent) !important;
  border-radius: 12px;
  color: #ffffff !important;
  text-decoration: none !important;
  font-size: 1.05em;
  transition: all 0.22s ease;
  font-weight: 700;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.4);
}
.actress-link-item:hover {
  background: var(--av-accent) !important;
  border-color: var(--av-accent) !important;
  color: #ffffff !important;
  transform: translateY(-3px);
  box-shadow: 0 12px 30px var(--av-accent-glow);
}
.actress-link-item .ali-icon {
  font-size: 1.8em;
  flex-shrink: 0;
  color: var(--av-accent);
  text-shadow: 0 0 14px var(--av-accent-glow);
  line-height: 1;
}
.actress-link-item:hover .ali-icon {
  color: #ffffff !important;
}
.actress-link-item .ali-label {
  font-weight: 700 !important;
  color: #ffffff !important;
  letter-spacing: 0.03em;
  line-height: 1.45;
  font-size: 1em;
}
.actress-link-item:hover .ali-label {
  color: #ffffff !important;
}

/* 出演データ集計(actress_stats ショートコード) */
.actress-stats {
  margin: 2em 0;
}
.actress-stats h2 {
  /* デフォルト h2 装飾を使う */
}
.actress-stats h3 {
  font-size: 1.1em;
  margin: 1.6em 0 0.8em;
  padding: 0.3em 0 0.3em 0.8em;
  border-left: 3px solid var(--av-accent);
  color: var(--av-accent-2);
  font-weight: 700;
}
.actress-stats .stats-summary {
  font-size: 1em;
  color: var(--av-text-mute);
  margin: 0.5em 0 1.2em;
}
.actress-stats .stats-summary strong {
  color: var(--av-accent);
  font-size: 1.4em;
  font-weight: 900;
  text-shadow: 0 0 12px var(--av-accent-glow);
  margin: 0 4px;
}

/* 出演作品セクション */
.actress-works h3 {
  font-size: 1.4em;
  margin: 1.8em 0 1em;
  padding-bottom: 0.6em;
  border-bottom: 2px solid var(--av-accent);
}
.actress-works-list { list-style: none !important; padding: 0 !important; }
.actress-work-item {
  background: var(--av-card-bg) !important;
  border: 1px solid var(--av-card-border) !important;
  border-radius: 10px !important;
  overflow: hidden;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.actress-work-item:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 28px rgba(255, 46, 99, 0.3);
  border-color: var(--av-accent) !important;
}
.actress-work-item a { color: inherit; text-decoration: none; display: block; }

/* ============================================================
 * テーブル(作品情報・女優プロフィール)— コントラスト最大化
 * ============================================================ */
figure.wp-block-table,
.wp-block-table,
.wp-block-table table,
.wp-block-table.is-style-stripes,
.wp-block-table.is-style-stripes table,
figure.wp-block-table.is-style-stripes.actress-profile,
figure.wp-block-table.is-style-stripes.actress-profile table {
  background: #0a0a0e !important;
  color: #ffffff !important;
  border-collapse: collapse !important;
  border-radius: 10px;
  overflow: hidden;
  width: 100%;
  margin: 0.8em 0 !important;
  border: 1px solid #2a2a32;
}
.wp-block-table table th,
.wp-block-table.is-style-stripes table th,
figure.wp-block-table.is-style-stripes.actress-profile table th {
  background: #0a0a0e !important;
  color: #ffffff !important;
  font-weight: 700 !important;
  width: 140px !important;
  text-align: left !important;
  padding: 1em 1.2em !important;
  border-bottom: 1px solid #2a2a32 !important;
  border-right: 1px solid #2a2a32 !important;
  font-size: 0.95em !important;
  letter-spacing: 0.05em;
  vertical-align: top;
}
.wp-block-table table td,
.wp-block-table.is-style-stripes table td,
figure.wp-block-table.is-style-stripes.actress-profile table td {
  color: #ffffff !important;
  padding: 1em 1.2em !important;
  border-bottom: 1px solid #2a2a32 !important;
  background: #0a0a0e !important;
  font-size: 1.05em !important;
  font-weight: 600;
  line-height: 1.5;
}
.wp-block-table.is-style-stripes table tbody tr:last-child th,
.wp-block-table.is-style-stripes table tbody tr:last-child td {
  border-bottom: 0 !important;
}
.wp-block-table.is-style-stripes table tbody tr:nth-child(even) {
  background: #0a0a0e !important;
}
.wp-block-table table a,
.wp-block-table.is-style-stripes table a {
  color: var(--av-accent-2) !important;
  font-weight: 700;
  text-decoration: none;
}
.wp-block-table table a:hover {
  color: var(--av-accent) !important;
  text-decoration: underline;
}
@media (max-width: 600px) {
  .wp-block-table table th,
  .wp-block-table.is-style-stripes table th {
    width: 90px !important;
    padding: 0.7em 0.8em !important;
    font-size: 0.85em !important;
  }
  .wp-block-table table td,
  .wp-block-table.is-style-stripes table td {
    padding: 0.7em 0.8em !important;
    font-size: 0.95em !important;
  }
}

/* ============================================================
 * パンくず / 広告表記
 * ============================================================ */
.breadcrumb a { color: var(--av-accent-2); }
.breadcrumb a:hover { color: var(--av-accent); text-decoration: underline; }

.ad-disclosure {
  background: var(--av-card-bg);
  padding: 1em 1.2em;
  border-radius: 8px;
  margin: 2.5em 0 0;
  font-size: 0.85em;
  color: var(--av-text-mute);
  text-align: center;
  border: 1px solid var(--av-card-border);
}

/* ============================================================
 * 全ページ共通: 目次/著者/SNS/日付 を非表示 (記事ページ以外)
 * ============================================================ */

/* CPT actress 個別ページ: 自動 eye-catch + Cocoonの h1 (entry-title) を消す(自前の .actress-name と重複) */
.single-actress .eye-catch,
.single-actress .eye-catch-wrap,
.single-actress > .eye-catch-image,
.single-actress .entry-title,
.single-actress h1.entry-title,
.single-actress .article-header h1,
.single-actress .article-header .entry-title,
.single-actress .a-wrap h1.entry-title {
  display: none !important;
}

/* 記事ページ(single post)以外で日付類を全部非表示 */
body:not(.single-post) .post-date,
body:not(.single-post) .entry-date,
body:not(.single-post) .entry-meta .date-publish,
body:not(.single-post) .entry-meta-date,
body:not(.single-post) .date-tags,
body:not(.single-post) .av-card-body small,
body:not(.single-post) .av-actress-body small,
body:not(.single-post) .actress-work-meta,
body:not(.single-post) .entry-card-meta .post-date,
body:not(.single-post) .entry-card-meta .entry-date,
body:not(.single-post) .card-meta .post-date,
body:not(.single-post) .card-meta .entry-date {
  display: none !important;
}


.toc,
#toc,
.toc-content,
.toc-list,
.toc-title,
.toc-checkbox,
.toc-checkbox-label,
.ez-toc,
.ez-toc-v2_0_72,
div[class*="ez-toc"],
.ez-toc-title-container,
.ez-toc-counter,
.ez-toc-list {
  display: none !important;
}

/* ============================================================
 * 全ページ共通: SNSボタン / 著者情報 / コメント を非表示
 * ============================================================ */
.sns-share,
.sns-follow,
.sns-share-top,
.sns-share-bottom,
.sns-share-message,
.sns-follow-buttons,
.sns-follow-message,
.follow-buttons,
.author-info,
.author-box,
.author-info-content,
.author-thumb,
.author-name,
.author-description,
.entry-author,
.entry-meta-author,
.byline,
.vcard.author,
.fn,
.url.fn.n,
.author-link,
.author-meta,
.post-author,
.comment-area,
.comments-area,
#comments,
.comment-respond,
.entry-card-meta-author,
.card-author,
.a-wrap .post-author {
  display: none !important;
}

/* ============================================================
 * 全ページ1カラム化(投稿/固定ページ/CPT/アーカイブ含む)
 * ============================================================ */
#sidebar,
.sidebar,
.sidebar-right #sidebar,
.sidebar-left #sidebar {
  display: none !important;
}

#main,
.main,
.l-content,
.sidebar-right #main,
.sidebar-right .main,
.sidebar-left #main,
.sidebar-left .main {
  width: 100% !important;
  max-width: 1240px !important;
  margin: 0 auto !important;
  float: none !important;
}

#content,
.content,
.l-container {
  width: 100% !important;
  max-width: 1280px;
  margin: 0 auto;
}

/* メインカラムの内側余白 */
.main .article {
  max-width: 100%;
}
/* トップだけ補助UIを非表示(他ページは出す) */
.page-id-349 .toc,
.page-id-349 #toc,
.page-id-349 .ez-toc-v2_0_72,
.page-id-349 .sns-share,
.page-id-349 .sns-follow,
.page-id-349 .sns-share-top,
.page-id-349 .sns-share-bottom,
.page-id-349 .entry-meta,
.page-id-349 .breadcrumb,
.page-id-349 .pankuzu,
.page-id-349 .author-info,
.page-id-349 .related-entries,
.page-id-349 .comment-area,
.page-id-349 .post-navi,
.page-id-349 .ad-area,
.page-id-349 .ads-area,
.page-id-349 .entry-title,
.page-id-349 .article-header,
.page-id-349 .a-ads {
  display: none !important;
}

/* ============================================================
 * Cocoon カードのアーカイブ (genre, maker, etc.)
 * ============================================================ */
.archive .entry-card,
.archive .a-wrap.entry-card,
.search-results .entry-card,
.home .entry-card {
  background: var(--av-card-bg);
  border: 1px solid var(--av-card-border);
  transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
}
.archive .entry-card:hover,
.search-results .entry-card:hover,
.home .entry-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 14px 28px rgba(255, 46, 99, 0.22);
  border-color: var(--av-accent);
}
.entry-card-title, .card-title { color: var(--av-text); }
.entry-card-meta, .card-meta { color: var(--av-text-mute) !important; }

/* ============================================================
 * スマホ最適化 (max-width: 768px)
 *   - 左右余白最小化
 *   - ヘッダー高さ最小化(ロゴだけ表示、タグライン非表示)
 *   - グローバルナビは非表示にして右上ハンバーガー一本化
 * ============================================================ */
@media (max-width: 768px) {
  /* 左右の余白を最小に */
  body, #wrap, #container, #content, .content,
  #main, .main, .l-content, .l-container,
  .article, .entry-content {
    padding-left: 4px !important;
    padding-right: 4px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  .single-post-article,
  .single-actress-article,
  .actress-archive {
    padding-left: 6px !important;
    padding-right: 6px !important;
  }
  /* サンプル画像は完全に画面いっぱいにしたいので 0 に */
  .sample-gallery-fullwidth {
    margin-left: -6px !important;
    margin-right: -6px !important;
    width: calc(100% + 12px) !important;
  }

  /* ヘッダー縦を最小化 + position:relative でハンバーガーを絶対配置できるように */
  .header, .header-in, .header-container, .header-container-in {
    padding-top: 4px !important;
    padding-bottom: 4px !important;
    min-height: 0 !important;
    position: relative !important;
  }
  .header-container-in.hlt-center-logo .logo-header {
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1 !important;
  }
  /* サイト名(ロゴ)をさらに小さく */
  .logo-header,
  .logo-header .site-name-text-link,
  .site-name-text-link,
  .site-name-text,
  .logo-header a {
    font-size: 0.95em !important;
    padding: 4px 0 !important;
    margin: 0 !important;
    line-height: 1.1 !important;
    letter-spacing: 0.02em !important;
  }
  .tagline, .site-description {
    display: none !important;
  }

  /* グローバルナビ(PC用 navi.cf)はスマホ非表示 */
  .navi,
  .navi-in,
  .navi.cf {
    display: none !important;
  }




  /* メイン/フッターメニュー(モバイル用) */
  .navi-mobile {
    display: none !important;
  }

  /* スライドインメニュー(中身)はスマホで使う */
  .navi-mobile-slide-in {
    background: #0a0a0e !important;
  }
  .navi-mobile-slide-in .menu-item a {
    color: #fff !important;
    padding: 14px 16px !important;
    border-bottom: 1px solid var(--av-card-border) !important;
  }

  /* h1 / h2 の文字サイズをスマホで縮める */
  .entry-title, h1.entry-title { font-size: 1.3em !important; line-height: 1.4; }
  .av-section-title { font-size: 1.15em !important; }

  /* カードのグリッド密度を上げる */
  .av-card-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 6px !important; }
  .av-actress-grid { grid-template-columns: repeat(3, 1fr) !important; gap: 6px !important; }

  /* パンくずの余白縮める */
  .av-breadcrumb {
    margin: 0 0 0.6em !important;
    padding: 0.3em 0 !important;
    font-size: 0.78em !important;
  }
}

/* ============================================================
 * ヘッダー / ナビ / フッター 全部黒化(Cocoon上書き)
 * ============================================================ */
.header,
.header-container,
.header-container-in,
.header-in,
.footer,
.footer-container,
.footer-container-in,
.footer-in,
.footer-bottom,
.footer-bottom-content,
.footer-bottom-logo,
.footer-meta {
  background: var(--av-bg) !important;
  color: var(--av-text) !important;
  border-color: var(--av-card-border) !important;
}

.header,
.header-container,
.header-in {
  border: 0 !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
}
.navi,
.navi-in {
  border: 0 !important;
  border-top: 0 !important;
  border-bottom: 0 !important;
}
.footer {
  border-top: 1px solid var(--av-card-border) !important;
  margin-top: 4em;
}

/* ナビ */
.navi,
.navi-in,
.navi-menu-content,
.navi-footer,
.navi-footer-in {
  background: var(--av-bg-2) !important;
  border-color: var(--av-card-border) !important;
}
.navi {
  border-bottom: 1px solid var(--av-card-border) !important;
}

/* ロゴ — ネオングラデで強調 */
.logo-header a,
.logo-header .site-name-text-link,
.site-name,
.site-name-text-link {
  background: var(--av-grad-pink);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent !important;
  font-weight: 900 !important;
  font-size: 1.6em !important;
  letter-spacing: 0.05em;
  text-shadow: 0 0 24px var(--av-accent-glow);
}
.logo-footer {
  color: var(--av-text) !important;
}
.logo-footer a, .logo-footer .site-name-text-link {
  background: var(--av-grad-pink);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent !important;
  font-weight: 900 !important;
}

/* キャッチフレーズ */
.tagline,
.site-description {
  color: var(--av-text-mute) !important;
  font-size: 0.85em !important;
  letter-spacing: 0.04em;
}

/* メインメニュー(PC + モバイル) */
.menu-header .menu-item > a,
.navi-in .menu-header .menu-item > a,
.navi-footer .menu-footer .menu-item > a {
  color: var(--av-text) !important;
  font-weight: 700;
  letter-spacing: 0.06em;
  transition: color 0.18s ease, background 0.18s ease;
  background: #0a0a0e !important;
}
.menu-header .menu-item > a:hover,
.navi-in .menu-header .menu-item > a:hover {
  color: var(--av-accent) !important;
  background: rgba(255, 46, 99, 0.08) !important;
}
.menu-header .current-menu-item > a,
.menu-header .current_page_item > a {
  color: var(--av-accent) !important;
}

/* モバイルメニューボタン */
.navi-menu-button,
.navi-menu-icon,
.navi-menu-caption {
  color: var(--av-text) !important;
}

/* フッター */
.footer a {
  color: var(--av-accent-2) !important;
}
.footer a:hover {
  color: var(--av-accent) !important;
}
.footer-meta {
  color: var(--av-text-mute) !important;
  font-size: 0.85em;
}

/* モバイルメニューフッター(PC用は元の右下フロート、内部スタイルだけ調整) */
.mobile-footer-menu-buttons,
.mobile-menu-buttons {
  background: transparent !important;
  border: 0 !important;
}
.mobile-footer-menu-buttons a,
.mobile-menu-buttons a {
  color: var(--av-text) !important;
}

/* 検索ボックス */
.search-edit, input[type="search"], input[type="text"] {
  background: var(--av-card-bg) !important;
  color: var(--av-text) !important;
  border: 1px solid var(--av-card-border) !important;
}
.search-edit:focus, input[type="search"]:focus {
  border-color: var(--av-accent) !important;
  outline: 0 !important;
  box-shadow: 0 0 0 2px var(--av-accent-soft);
}

/* ============================================================
 * 独自モーダル一式 (検索 + メニュー) - ゼロから新規
 * ============================================================ */

/* Cocoonの全メニュー系を完全非表示 */
.navi,
.navi-in,
.navi.cf,
.navi-menu-button,
.mobile-menu-buttons,
.mobile-footer-menu-buttons,
#navi-menu-content,
.navi-menu-content,
#search-menu-content,
.search-menu-content,
.go-to-top,
.go-to-top-common,
.top-menu-a {
  display: none !important;
}

/* === 独自トリガーボタン (ヘッダー右に絶対配置) === */
.header-container,
.header-in {
  position: relative !important;
}
#av-modal-trigger {
  position: fixed;
  top: 10px;
  right: 10px;
  width: 44px;
  height: 44px;
  background: #ff2e63;
  color: #ffffff;
  border: 0;
  border-radius: 8px;
  cursor: pointer;
  z-index: 10001;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 14px rgba(255, 46, 99, 0.5);
  padding: 0;
  transition: background 0.15s ease;
}
#av-modal-trigger:hover {
  background: #c92053;
}
#av-modal-trigger svg {
  width: 22px;
  height: 22px;
  stroke: #ffffff;
}

/* === モーダル本体 === */
#av-modal[hidden] {
  display: none !important;
}
#av-modal {
  position: fixed;
  inset: 0;
  z-index: 100000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
}
.av-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.75);
  cursor: pointer;
}
.av-modal-dialog {
  position: relative;
  background: #181822;
  border: 1px solid #2a2a32;
  border-radius: 16px;
  padding: 28px 22px 22px;
  width: 100%;
  max-width: 480px;
  max-height: 85vh;
  overflow-y: auto;
  color: #ffffff;
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.8);
  z-index: 1;
}
.av-modal-close {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 36px;
  height: 36px;
  background: transparent;
  border: 0;
  color: #9ca3af;
  font-size: 1.6em;
  line-height: 1;
  cursor: pointer;
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
}
.av-modal-close:hover {
  background: #2a2a32;
  color: #ffffff;
}
.av-modal-dialog .av-modal-title {
  font-size: 1.3em;
  font-weight: 900;
  margin: 0 0 14px;
  color: #ff2e63;
  text-shadow: 0 0 12px rgba(255, 46, 99, 0.5);
}
.av-modal-dialog .av-modal-section-title {
  font-size: 0.95em;
  font-weight: 700;
  color: #ff5e8e;
  margin: 18px 0 10px;
  letter-spacing: 0.06em;
}

/* 検索フォーム */
.av-modal-form {
  display: flex;
  gap: 6px;
  width: 100%;
  margin: 0;
}
.av-search-input {
  flex: 1;
  background: #0a0a0e;
  color: #ffffff;
  border: 1px solid #2a2a32;
  border-radius: 8px;
  padding: 10px 12px;
  font-size: 1em;
}
.av-search-input:focus {
  outline: none;
  border-color: #ff2e63;
}
.av-search-submit {
  background: #ff2e63;
  color: #ffffff;
  border: 0;
  border-radius: 8px;
  padding: 0 18px;
  cursor: pointer;
  font-weight: 700;
}
.av-search-submit:hover { background: #c92053; }

/* ナビグリッド */
.av-modal-nav {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px;
}
.av-modal-nav li {
  list-style: none;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
}
.av-modal-nav a {
  display: block;
  background: #0a0a0e;
  border: 1px solid #2a2a32;
  color: #ffffff;
  padding: 14px 12px;
  border-radius: 8px;
  text-decoration: none;
  font-weight: 600;
  text-align: center;
  transition: background 0.15s ease, border-color 0.15s ease, transform 0.15s ease;
}
.av-modal-nav a:hover {
  background: #ff2e63;
  border-color: #ff2e63;
  color: #ffffff;
  transform: translateY(-2px);
}

/* スマホ調整 */
@media (max-width: 600px) {
  #av-modal-trigger {
    right: 10px;
    width: 40px;
    height: 40px;
  }
  #av-modal-trigger svg { width: 20px; height: 20px; }
  .av-modal-dialog {
    padding: 24px 18px 18px;
  }
  .av-modal-dialog .av-modal-title { font-size: 1.15em; }
}

/* ============================================================
 * ヘッダー直下の隙間を最小化
 * ============================================================ */
#content,
.content,
#main,
.main,
.main-in,
.l-content,
.l-container,
.article,
.entry-content,
.single-post-article,
.single-actress-article,
.actress-archive {
  padding-top: 0 !important;
  margin-top: 0 !important;
}
.av-breadcrumb {
  margin: 6px 0 12px !important;
  padding: 0 !important;
}
/* ヘッダー直後にスクロール領域が始まる */
.header,
.header-container {
  margin-bottom: 0 !important;
}
/* 投稿のひな型: 上余白詰める */
.single-post-article .single-eyecatch {
  margin-top: 10px !important;
}

/* ============================================================
 * アーカイブ系: タクソノミー/カテゴリ/タグ ページの記事一覧を
 * トップページの av-card と揃ってカード型グリッドに統一
 * ============================================================ */
.archive #list,
.archive .list,
.category #list,
.category .list,
.tag #list,
.tag .list,
.tax-genre #list,
.tax-maker #list,
.tax-series #list,
.tax-label #list,
.search-results #list,
.search-results .list {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)) !important;
  gap: 18px !important;
  margin: 1.4em 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.archive .entry-card-wrap,
.archive .a-wrap.entry-card,
.category .entry-card-wrap,
.tag .entry-card-wrap,
.tax-genre .entry-card-wrap,
.tax-maker .entry-card-wrap,
.tax-series .entry-card-wrap,
.tax-label .entry-card-wrap,
.search-results .entry-card-wrap {
  display: flex !important;
  flex-direction: column !important;
  background: var(--av-card-bg) !important;
  border: 1px solid var(--av-card-border) !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  height: 100%;
  text-decoration: none !important;
  color: inherit !important;
  transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
}
.archive .entry-card-wrap:hover,
.category .entry-card-wrap:hover,
.tag .entry-card-wrap:hover,
.tax-genre .entry-card-wrap:hover,
.tax-maker .entry-card-wrap:hover,
.tax-series .entry-card-wrap:hover,
.tax-label .entry-card-wrap:hover,
.search-results .entry-card-wrap:hover {
  transform: translateY(-4px);
  box-shadow: 0 14px 28px rgba(255, 46, 99, 0.22);
  border-color: var(--av-accent) !important;
}

/* サムネ */
.archive .entry-card-thumb,
.category .entry-card-thumb,
.tag .entry-card-thumb,
.tax-genre .entry-card-thumb,
.tax-maker .entry-card-thumb,
.tax-series .entry-card-thumb,
.tax-label .entry-card-thumb,
.search-results .entry-card-thumb {
  aspect-ratio: 3/2 !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  overflow: hidden !important;
  background: #000;
  display: block !important;
}
.archive .entry-card-thumb img,
.category .entry-card-thumb img,
.tag .entry-card-thumb img,
.tax-genre .entry-card-thumb img,
.tax-maker .entry-card-thumb img,
.tax-series .entry-card-thumb img,
.tax-label .entry-card-thumb img,
.search-results .entry-card-thumb img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  transition: transform 0.4s ease;
}
.archive .entry-card-wrap:hover .entry-card-thumb img,
.category .entry-card-wrap:hover .entry-card-thumb img,
.tag .entry-card-wrap:hover .entry-card-thumb img,
.tax-genre .entry-card-wrap:hover .entry-card-thumb img,
.tax-maker .entry-card-wrap:hover .entry-card-thumb img,
.tax-series .entry-card-wrap:hover .entry-card-thumb img,
.tax-label .entry-card-wrap:hover .entry-card-thumb img,
.search-results .entry-card-wrap:hover .entry-card-thumb img {
  transform: scale(1.07);
}

/* 本文部分 */
.archive .entry-card-content,
.category .entry-card-content,
.tag .entry-card-content,
.tax-genre .entry-card-content,
.tax-maker .entry-card-content,
.tax-series .entry-card-content,
.tax-label .entry-card-content,
.search-results .entry-card-content {
  padding: 12px 14px 16px !important;
  margin: 0 !important;
  width: 100% !important;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.archive .entry-card-title,
.category .entry-card-title,
.tag .entry-card-title,
.tax-genre .entry-card-title,
.tax-maker .entry-card-title,
.tax-series .entry-card-title,
.tax-label .entry-card-title,
.search-results .entry-card-title,
.archive .card-title,
.category .card-title,
.tag .card-title {
  font-size: 0.92em !important;
  line-height: 1.4 !important;
  font-weight: 700 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  color: var(--av-text) !important;
  margin: 0 !important;
  padding: 0 !important;
}
/* 不要な抜粋・メタ・著者・カテゴリは隠す */
.archive .entry-card-snippet,
.category .entry-card-snippet,
.tag .entry-card-snippet,
.tax-genre .entry-card-snippet,
.tax-maker .entry-card-snippet,
.tax-series .entry-card-snippet,
.tax-label .entry-card-snippet,
.search-results .entry-card-snippet,
.archive .entry-card-categories,
.archive .entry-card-tags,
.archive .a-wrap .entry-card-meta {
  display: none !important;
}

/* スマホ調整: 2列にする */
@media (max-width: 600px) {
  .archive #list,
  .archive .list,
  .category #list,
  .tag #list,
  .tax-genre #list,
  .tax-maker #list,
  .tax-series #list,
  .tax-label #list,
  .search-results #list {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 8px !important;
  }
  .entry-card-title { font-size: 0.85em !important; }
}

/* ============================================================
 * CTAボタン: 中央寄せ + 大きめフォント
 * ============================================================ */
a.btn.av-cta,
a.av-cta {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  font-size: 1.15em !important;
  font-weight: 900 !important;
  padding: 16px 28px !important;
  letter-spacing: 0.04em !important;
  line-height: 1.4 !important;
  color: #ffffff !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
a.btn.av-cta-large,
a.av-cta-large {
  font-size: 1.3em !important;
  padding: 20px 32px !important;
}

/* Cocoonのbtn-shineアニメ用の右矢印など、左右の余計な装飾を抑制 */
a.btn.av-cta::before,
a.btn.av-cta::after {
  display: none !important;
}
@media (max-width: 600px) {
  a.btn.av-cta { font-size: 1em !important; padding: 14px 16px !important; }
  a.btn.av-cta-large { font-size: 1.1em !important; padding: 16px 18px !important; }
}

/* ============================================================
 * 感想スレッド(AI生成)
 * ============================================================ */
.av-comments {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin: 1em 0 2em;
}
.av-comment-item {
  background: #14141e;
  border: 1px solid #2a2a32;
  border-radius: 10px;
  padding: 12px 16px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.av-comment-name {
  font-size: 0.85em;
  font-weight: 700;
  color: var(--av-accent-2);
  letter-spacing: 0.02em;
}
.av-comment-body {
  font-size: 0.95em;
  line-height: 1.55;
  color: #ffffff;
}
@media (max-width: 600px) {
  .av-comment-item { padding: 10px 12px; }
  .av-comment-body { font-size: 0.9em; }
}

/* 見どころボックスの Cocoonデフォルトの i アイコンを消す */
.information-box::before,
.information-box::after,
.information-box.iconlist-text-color::before {
  display: none !important;
  content: none !important;
  background: none !important;
}
.information-box {
  padding-left: 1.5em !important;
}

/* 作品情報テーブルの項目名を1行で表示 */
.post-info-table th,
table.post-info-table th {
  white-space: nowrap !important;
  width: 130px !important;
}
.wp-block-table table th,
.wp-block-table.is-style-stripes table th,
figure.wp-block-table.is-style-stripes.actress-profile table th {
  white-space: nowrap !important;
}
@media (max-width: 600px) {
  .post-info-table th,
  table.post-info-table th {
    width: 96px !important;
    font-size: 0.8em !important;
  }
}

/* ============================================================
 * 左右の隙間を完全リセット → entry-content だけに最小padding
 * ============================================================ */
html, body {
  margin: 0 !important;
  padding: 0 !important;
}
#wrap, #container, #content, .content,
.l-container, .l-content,
#main, .main, .main-in,
.article, article,
.single-post-article, .single-actress-article,
.actress-archive {
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: 1240px;
  float: none !important;
}
/* 親レイヤー(wrap)は更に外側で中央寄せ */
#wrap, #container {
  max-width: 100% !important;
}

/* コンテンツの実 padding は .entry-content と archive-body だけに */
.entry-content {
  padding: 0 10px !important;
  max-width: 1240px;
  margin: 0 auto !important;
  box-sizing: border-box;
}
.actress-archive-body {
  padding: 0 10px !important;
}

@media (max-width: 600px) {
  .entry-content,
  .actress-archive-body {
    padding: 0 6px !important;
  }
}

/* 女優ピル内の実写円形サムネ */
.meta-pill-actress .meta-pill-thumb {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  object-fit: cover;
  margin-right: 6px;
  display: inline-block;
  vertical-align: middle;
  background: #000;
  flex-shrink: 0;
}
.meta-pill-actress {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0;
  padding-left: 5px !important;
}
.meta-pill-actress .meta-pill-icon-default {
  margin-right: 4px;
}

/* ============================================================
 * 独自レビュー本文 (AI生成 500〜800字)
 * ============================================================ */
.review-body {
  margin: 1em 0 2em;
  line-height: 1.85;
  font-size: 1em;
  color: #e8e8ea;
}
.review-body p {
  margin: 0 0 1.2em;
  text-indent: 0;
}
.review-body p:last-child { margin-bottom: 0; }
.review-body strong {
  color: var(--av-accent-2, #ff2e63);
  font-weight: 700;
}
@media (max-width: 600px) {
  .review-body { font-size: 0.95em; line-height: 1.75; }
  .review-body p { margin-bottom: 1em; }
}

/* ============================================================
 * FAQ (FAQPage JSON-LD と連動)
 * ============================================================ */
.av-faq {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin: 1em 0 2em;
}
.av-faq-item {
  background: #14141e;
  border: 1px solid #2a2a32;
  border-radius: 10px;
  overflow: hidden;
  transition: border-color 0.15s ease;
}
.av-faq-item[open] {
  border-color: var(--av-accent-2, #ff2e63);
}
.av-faq-q {
  cursor: pointer;
  padding: 14px 18px 14px 44px;
  position: relative;
  font-weight: 700;
  color: #ffffff;
  font-size: 0.98em;
  list-style: none;
  user-select: none;
}
.av-faq-q::-webkit-details-marker { display: none; }
.av-faq-q::before {
  content: "Q";
  position: absolute;
  left: 14px;
  top: 50%;
  transform: translateY(-50%);
  width: 22px;
  height: 22px;
  background: var(--av-accent-2, #ff2e63);
  color: #fff;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.85em;
  font-weight: 700;
}
.av-faq-q::after {
  content: "+";
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 1.2em;
  color: var(--av-accent-2, #ff2e63);
  font-weight: 700;
  transition: transform 0.2s ease;
}
.av-faq-item[open] .av-faq-q::after {
  content: "−";
}
.av-faq-a {
  padding: 4px 18px 16px 44px;
  position: relative;
  font-size: 0.93em;
  line-height: 1.7;
  color: #d8d8da;
  border-top: 1px dashed #2a2a32;
  padding-top: 12px;
}
.av-faq-a::before {
  content: "A";
  position: absolute;
  left: 14px;
  top: 14px;
  width: 22px;
  height: 22px;
  background: #2a2a32;
  color: #fff;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.85em;
  font-weight: 700;
}
@media (max-width: 600px) {
  .av-faq-q { padding: 12px 14px 12px 40px; font-size: 0.92em; }
  .av-faq-q::before { left: 10px; }
  .av-faq-a { padding: 10px 14px 14px 40px; font-size: 0.88em; }
  .av-faq-a::before { left: 10px; }
}
