/* ============================================================
 * 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: linear-gradient(135deg, #ff2e63 0%, #ff5e8e 100%);
  --av-grad-dark: linear-gradient(180deg, #0a0a0e 0%, #12121a 100%);
  --av-grad-card: linear-gradient(180deg, rgba(255,46,99,0.04) 0%, rgba(8,217,214,0.02) 100%);
}

/* 強制的に黒ベース。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.av-section-title,
.av-section-title {
  font-size: 1.5em !important;
  font-weight: 900 !important;
  margin: 0 0 1.4em !important;
  padding: 0.4em 0 0.4em 1em !important;
  position: relative !important;
  color: #fff !important;
  background: transparent !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: transparent !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: transparent !important;
  border: 0 !important;
}

/* ============================================================
 * ヒーロー
 * ============================================================ */
.av-hero {
  position: relative;
  margin: -1.5em -1em 3em;
  padding: 4em 2em 4.5em;
  background:
    radial-gradient(circle at 20% 20%, rgba(255,46,99,0.22), transparent 50%),
    radial-gradient(circle at 80% 60%, rgba(8,217,214,0.12), transparent 50%),
    linear-gradient(180deg, #0a0a0e, #14141e);
  border-bottom: 1px solid var(--av-card-border);
  overflow: hidden;
  text-align: center;
}
.av-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(0deg, transparent 24%, rgba(255, 46, 99, 0.04) 25%, rgba(255, 46, 99, 0.04) 26%, transparent 27%, transparent 74%, rgba(255, 46, 99, 0.04) 75%, rgba(255, 46, 99, 0.04) 76%, transparent 77%),
    linear-gradient(90deg, transparent 24%, rgba(8, 217, 214, 0.04) 25%, rgba(8, 217, 214, 0.04) 26%, transparent 27%, transparent 74%, rgba(8, 217, 214, 0.04) 75%, rgba(8, 217, 214, 0.04) 76%, transparent 77%);
  background-size: 50px 50px;
  pointer-events: none;
  opacity: 0.5;
}
.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;
  background: linear-gradient(135deg, #fff 0%, #ff5e8e 60%, #ff2e63 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  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: rgba(255, 255, 255, 0.04);
  border: 1px solid var(--av-card-border);
  border-radius: 12px;
  padding: 16px 24px;
  min-width: 110px;
  backdrop-filter: blur(8px);
}
.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: linear-gradient(135deg, #1a1a22, #2a2a32);
}
.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-grad-pink);
  border-color: var(--av-accent);
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 6px 18px var(--av-accent-glow);
}
.av-term-count {
  display: inline-block;
  font-size: 0.72em;
  color: var(--av-text-mute);
  background: rgba(255, 255, 255, 0.08);
  padding: 2px 8px;
  border-radius: 999px;
}
.av-term-pill:hover .av-term-count {
  color: #fff;
  background: rgba(255, 255, 255, 0.25);
}

/* ============================================================
 * 五十音インデックス + 五十音グループ
 * ============================================================ */
.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: rgba(255, 255, 255, 0.04);
  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: linear-gradient(90deg, var(--av-accent-soft), transparent);
  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-grad-pink);
  color: #fff;
}

.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), 0 0 0 1px rgba(255, 255, 255, 0.05);
  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 {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.9em;
  background: var(--av-card-bg);
  border-radius: 10px;
  overflow: hidden;
}
.post-info-table th {
  background: rgba(255, 46, 99, 0.08);
  color: var(--av-text-mute);
  font-weight: 700;
  text-align: left;
  padding: 0.7em 0.9em;
  width: 90px;
  border-bottom: 1px solid var(--av-card-border);
  vertical-align: top;
  font-size: 0.85em;
}
.post-info-table td {
  padding: 0.7em 0.9em;
  border-bottom: 1px solid var(--av-card-border);
  line-height: 1.55;
}
.post-info-table tr:last-child th,
.post-info-table tr:last-child td { border-bottom: 0; }
.post-info-table a {
  color: var(--av-accent-2);
  text-decoration: none;
  font-weight: 600;
}
.post-info-table a:hover {
  color: var(--av-accent);
  text-decoration: underline;
}

/* === CTA === */
.btn.btn-pink-bg {
  background: var(--av-grad-pink) !important;
  border: 0 !important;
  box-shadow: 0 6px 20px var(--av-accent-glow);
  font-weight: 700;
  letter-spacing: 0.05em;
  transition: transform 0.18s ease, box-shadow 0.18s ease;
}
.btn.btn-pink-bg:hover {
  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 { width: 80px; font-size: 0.82em; }
}

/* 見どころ */
.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 0 2em;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.6);
  position: relative;
  width: 100%;
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
  aspect-ratio: 16/10;
}
.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); } }

/* ============================================================
 * 女優ページ
 * ============================================================ */
.actress-header {
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 28px;
  margin: 1em 0 2.5em;
  padding: 1.6em;
  background:
    radial-gradient(circle at 100% 0%, rgba(255,46,99,0.12), transparent 50%),
    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; }
}

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

/* 出演作品セクション */
.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; }

/* ============================================================
 * テーブル(作品情報)— Cocoonの stripes 上書き
 * ============================================================ */
.wp-block-table.is-style-stripes table th {
  background: rgba(255, 46, 99, 0.06);
  color: var(--av-text-mute);
  font-weight: 700;
  width: 130px;
  text-align: left;
}
.wp-block-table.is-style-stripes table tbody tr:nth-child(odd) td {
  background: rgba(255, 255, 255, 0.02);
}

/* ============================================================
 * パンくず / 広告表記
 * ============================================================ */
.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);
}

/* ============================================================
 * トップページ専用 (1カラム化 + SNSボタン/目次/関連記事/コメント 非表示)
 * ============================================================ */
.page-id-349 #sidebar,
.page-id-349 .sidebar {
  display: none !important;
}
.page-id-349 #main,
.page-id-349 .main {
  width: 100% !important;
  max-width: 1240px;
  margin: 0 auto;
}
.page-id-349 .entry-content {
  padding: 0;
}
/* トップでは Cocoon の各種補助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; }

/* ============================================================
 * ヘッダー / ナビ / フッター 全部黒化(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 {
  border-bottom: 1px solid var(--av-card-border) !important;
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.6);
}
.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: transparent !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;
}

/* モバイルメニューフッター */
.mobile-footer-menu-buttons,
.mobile-menu-buttons {
  background: var(--av-bg-2) !important;
  border-top: 1px solid var(--av-card-border) !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);
}
