@charset "UTF-8";
/*
Template: swell
Theme Name: AnimeHub SWELL CHILD
Theme URI: https://anime.entaku-shinshi.com/
Description: アニメ紹介チャンネル専用のSWELL子テーマ / 深夜アニメ・ネオン
Version: 2.0.0
Author: Anime Introduction Channel
License: GNU General Public License v2 or later
*/

/* =========================================================
   00. TOKENS
   ========================================================= */
:root {
  /* base surfaces */
  --ah-void: #0a0b11;
  --ah-night: #12141c;
  --ah-panel: #171a25;
  --ah-panel-2: #1e2231;
  --ah-line: #2c3142;
  --ah-line-soft: #232838;

  /* type */
  --ah-text: #e9edf7;
  --ah-text-soft: #aab3c9;
  --ah-text-dim: #8b94ab;

  /* neon */
  --ah-cyan: #22e6ff;
  --ah-cyan-deep: #0aa7c2;
  --ah-magenta: #ff2e88;
  --ah-violet: #9b6bff;
  --ah-acid: #ffe14a;
  --ah-mint: #37f5b6;

  --ah-shadow: 0 18px 44px rgba(0, 0, 0, .55);
  --ah-cut: 14px; /* 斜めカットの深さ */

  /* SWELL variable overrides */
  --color_main: #22e6ff !important;
  --color_main_dark: #0aa7c2 !important;
  --color_main_thin: rgba(34, 230, 255, .12) !important;
  --color_text: #e9edf7 !important;
  --color_link: #22e6ff !important;
  --color_bg: #12141c !important;
  --color_content_bg: #171a25 !important;
  --color_border: #2c3142 !important;
  --color_gray: #8b94ab !important;
  --color_header_bg: #0a0b11 !important;
  --color_header_text: #ffffff !important;
  --color_deep01: #22e6ff !important;
  --color_deep02: #ff2e88 !important;
  --color_deep03: #ffe14a !important;
  --color_deep04: #9b6bff !important;
  --color_pale01: rgba(34, 230, 255, .14) !important;
  --color_pale02: rgba(255, 46, 136, .14) !important;
  --color_pale03: rgba(255, 225, 74, .14) !important;
  --color_pale04: rgba(155, 107, 255, .14) !important;
  --swl-radius--2: 2px;
  --swl-radius--4: 4px;
  --swl-radius--8: 6px;
  --swl-fz--root: 16px;

  --ah-font: "BIZ UDPGothic", "Yu Gothic", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  --ah-font-en: "Bahnschrift", "DIN Alternate", "Arial Black", var(--ah-font);
  color-scheme: dark;
}

/* =========================================================
   01. BASE
   ========================================================= */
html { scroll-behavior: smooth; background: var(--ah-night); }

body {
  color: var(--ah-text);
  background-color: var(--ah-night);
  /* 網点 + スキャンライン + 上部のネオンかぶり */
  background-image:
    radial-gradient(circle at 1px 1px, rgba(34, 230, 255, .085) 1px, transparent 0),
    repeating-linear-gradient(180deg, rgba(255, 255, 255, .022) 0 1px, transparent 1px 3px),
    radial-gradient(ellipse 120% 60% at 50% 0%, rgba(155, 107, 255, .18), transparent 70%);
  background-size: 18px 18px, 100% 3px, 100% 900px;
  background-repeat: repeat, repeat, no-repeat;
  background-attachment: scroll, scroll, fixed;
  font-family: var(--ah-font);
  font-feature-settings: "palt";
  letter-spacing: .02em;
}

img { border-radius: 0; }
a { color: var(--ah-cyan); text-underline-offset: .18em; }
a:hover { color: #7defff; }

::selection { background: var(--ah-magenta); color: #fff; }

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible {
  outline: 3px solid var(--ah-acid);
  outline-offset: 3px;
}

/* 英字マイクロラベル（共通） */
.ah-kicker,
.animehub-content .article-label {
  display: inline-block;
  margin: 0 0 10px;
  padding: 3px 12px 2px;
  color: #0a0b11;
  background: var(--ah-cyan);
  font-family: var(--ah-font-en);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .22em;
  text-transform: uppercase;
  clip-path: polygon(0 0, 100% 0, calc(100% - 8px) 100%, 0 100%);
}

/* =========================================================
   02. PR / SIGNAL BAR
   ========================================================= */
.animehub-signal {
  position: relative;
  z-index: 12;
  min-height: 34px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 7px 16px;
  color: #fff;
  background: linear-gradient(90deg, #0a0b11 0%, #1a1030 50%, #0a0b11 100%);
  border-bottom: 1px solid rgba(34, 230, 255, .45);
  box-shadow: 0 0 22px rgba(34, 230, 255, .18);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .06em;
  text-align: center;
}
.animehub-signal__badge {
  flex: none;
  padding: 2px 9px 1px;
  color: #fff;
  background: var(--ah-magenta);
  font-family: var(--ah-font-en);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .18em;
  box-shadow: 0 0 12px rgba(255, 46, 136, .6);
}
.animehub-signal__text { color: #d8def0; font-weight: 700; }

/* =========================================================
   03. HEADER
   ========================================================= */
.l-header,
.l-fixHeader {
  position: relative;
  color: #fff;
  background: rgba(10, 11, 17, .93) !important;
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
  border-bottom: 1px solid rgba(34, 230, 255, .35);
  box-shadow: 0 10px 30px rgba(0, 0, 0, .6) !important;
}
.l-header::after,
.l-fixHeader::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 2px;
  background: linear-gradient(90deg, var(--ah-magenta) 0 22%, var(--ah-cyan) 22% 62%, transparent 62%);
  box-shadow: 0 0 14px rgba(34, 230, 255, .8);
  pointer-events: none;
}
.l-header__bar { background: transparent !important; border-bottom: 1px solid var(--ah-line-soft); }
.c-catchphrase { color: var(--ah-text-dim); font-size: 11px; letter-spacing: .1em; }

.c-headLogo.-txt .c-headLogo__link {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  color: #fff;
  font-size: clamp(19px, 2.4vw, 29px);
  font-weight: 900;
  line-height: 1.05;
  letter-spacing: .035em;
  text-shadow: 0 0 16px rgba(34, 230, 255, .55), 0 0 2px rgba(255, 46, 136, .8);
}
.c-headLogo.-txt .c-headLogo__link::before {
  content: "ANIME // WATCH GUIDE";
  color: var(--ah-cyan);
  font-family: var(--ah-font-en);
  font-size: 9px;
  line-height: 1.5;
  letter-spacing: .3em;
  text-shadow: 0 0 10px rgba(34, 230, 255, .8);
}

.c-gnav > li > a,
.l-header__menuBtn a,
.l-header__customBtn a,
.c-iconBtn,
.c-iconList__link { color: #fff; font-weight: 800; }
.c-gnav > li > a::after {
  background: var(--ah-magenta) !important;
  height: 3px !important;
  box-shadow: 0 0 10px rgba(255, 46, 136, .9);
}
.c-gnav > li > a:hover { color: var(--ah-cyan); }
.c-gnav .sub-menu {
  color: var(--ah-text);
  background: var(--ah-panel);
  border-top: 3px solid var(--ah-magenta);
  box-shadow: var(--ah-shadow);
}
.c-gnav .sub-menu a { color: var(--ah-text); }

/* SPメニュー */
.p-spMenu__inner { color: var(--ah-text); background: var(--ah-void); border-right: 2px solid var(--ah-cyan); }
.p-spMenu a { color: var(--ah-text); }
.p-spMenu .c-widget__title { color: var(--ah-cyan); border-color: var(--ah-line); }
.p-spMenu__overlay { background: rgba(5, 6, 10, .78); }

/* =========================================================
   04. MAIN VISUAL
   ========================================================= */
.p-mainVisual { background: var(--ah-void); }

/* SWELLのno_img.pngが入っている間は隠し、CSSだけでネオンのキービジュアルを描く */
.p-mainVisual__img[src$="/assets/img/no_img.png"] { display: none !important; }
.p-mainVisual__slide {
  background-color: #0a0b11;
  background-image:
    /* 上下からのネオンかぶり */
    radial-gradient(ellipse 70% 90% at 18% 110%, rgba(255, 46, 136, .55), transparent 60%),
    radial-gradient(ellipse 70% 90% at 84% -10%, rgba(34, 230, 255, .5), transparent 60%),
    radial-gradient(ellipse 60% 70% at 50% 50%, rgba(155, 107, 255, .38), transparent 70%),
    /* 集中線 */
    repeating-conic-gradient(from 0deg at 50% 58%, rgba(255, 255, 255, .075) 0deg 1.1deg, transparent 1.1deg 5deg),
    /* パースグリッド */
    repeating-linear-gradient(90deg, rgba(34, 230, 255, .16) 0 1px, transparent 1px 64px),
    repeating-linear-gradient(0deg, rgba(34, 230, 255, .1) 0 1px, transparent 1px 64px),
    /* 網点 */
    radial-gradient(circle at 1px 1px, rgba(255, 255, 255, .07) 1px, transparent 0),
    linear-gradient(180deg, #150c28, #0a0b11);
  background-size: auto, auto, auto, auto, auto, auto, 8px 8px, auto;
}
.p-mainVisual__slide::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, transparent 0%, rgba(10, 11, 17, .35) 62%, rgba(10, 11, 17, .95) 100%),
    repeating-linear-gradient(180deg, rgba(0, 0, 0, .2) 0 1px, transparent 1px 3px);
  pointer-events: none;
  z-index: 1;
}
.p-mainVisual__textLayer { position: relative; z-index: 2; }
.p-mainVisual__slideTitle {
  color: #fff;
  font-weight: 900;
  letter-spacing: .04em;
  text-shadow: 0 0 24px rgba(34, 230, 255, .6), 0 2px 0 rgba(255, 46, 136, .55);
}

/* =========================================================
   05. LAYOUT SURFACES
   ========================================================= */
.l-content { padding-top: clamp(24px, 4.5vw, 56px); }

.l-mainContent {
  background: var(--ah-panel);
  border: 1px solid var(--ah-line);
  box-shadow: var(--ah-shadow);
}
.l-mainContent::before {
  content: "";
  display: block;
  height: 3px;
  background: linear-gradient(90deg, var(--ah-cyan), var(--ah-violet) 55%, var(--ah-magenta));
  box-shadow: 0 0 14px rgba(34, 230, 255, .5);
}
.p-breadcrumb {
  background: rgba(10, 11, 17, .6);
  border-bottom: 1px solid var(--ah-line-soft);
}
.p-breadcrumb__text,
.p-breadcrumb a { color: var(--ah-text-soft); }

/* サイドバー */
.l-sidebar .c-widget {
  position: relative;
  padding: 18px;
  color: var(--ah-text);
  background: var(--ah-panel);
  border: 1px solid var(--ah-line);
  box-shadow: 0 0 0 1px rgba(34, 230, 255, .12), var(--ah-shadow);
}
.l-sidebar .c-widget + .c-widget { margin-top: 22px; }
.c-widget__title.-side,
.l-sidebar .c-widget .wp-block-heading,
.l-sidebar .c-widget .wp-block-search__label {
  position: relative;
  margin: -18px -18px 18px;
  padding: 12px 16px 11px 20px;
  color: #fff;
  background: linear-gradient(90deg, #1b1030, #0a0b11);
  border-bottom: 1px solid rgba(34, 230, 255, .4);
  font-weight: 900;
  letter-spacing: .06em;
}
.c-widget__title.-side::before,
.l-sidebar .c-widget .wp-block-heading::before,
.l-sidebar .c-widget .wp-block-search__label::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 5px;
  background: var(--ah-magenta);
  box-shadow: 0 0 12px rgba(255, 46, 136, .9);
}
.l-sidebar .c-widget .wp-block-heading,
.l-sidebar .c-widget .wp-block-search__label {
  display: block;
  font-size: 15px;
}

/* サイドバーの検索フォーム */
.l-sidebar .wp-block-search__input {
  color: var(--ah-text);
  background: var(--ah-void);
  border: 1px solid var(--ah-line);
  border-radius: 0;
}
.l-sidebar .wp-block-search__button {
  color: #0a0b11;
  background: var(--ah-cyan);
  border: 0;
  border-radius: 0;
  font-weight: 900;
}
.l-sidebar a { color: var(--ah-text); }
.l-sidebar a:hover { color: var(--ah-cyan); }
.l-sidebar li { border-color: var(--ah-line-soft) !important; }

/* =========================================================
   06. POST CARDS
   ========================================================= */
.p-postList { gap: 26px 22px; }
.p-postList__item {
  position: relative;
  background: var(--ah-panel-2);
  border: 1px solid var(--ah-line);
  box-shadow: 0 10px 26px rgba(0, 0, 0, .5);
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - var(--ah-cut)), calc(100% - var(--ah-cut)) 100%, 0 100%);
  transition: transform 170ms ease-out, box-shadow 170ms ease-out;
}
.p-postList__item::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 3px;
  background: var(--ah-cyan);
  box-shadow: 0 0 12px rgba(34, 230, 255, .8);
  z-index: 2;
}
.p-postList__item:nth-child(3n + 2)::before { background: var(--ah-magenta); box-shadow: 0 0 12px rgba(255, 46, 136, .85); }
.p-postList__item:nth-child(3n)::before { background: var(--ah-acid); box-shadow: 0 0 12px rgba(255, 225, 74, .8); }
.p-postList__item::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  width: var(--ah-cut);
  height: var(--ah-cut);
  background: linear-gradient(135deg, transparent 50%, var(--ah-magenta) 50%);
  z-index: 2;
}
.p-postList__item:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 34px rgba(0, 0, 0, .6), 0 0 0 1px rgba(34, 230, 255, .5), 0 0 26px rgba(34, 230, 255, .22);
}
.p-postList__link { color: inherit; }
.p-postList__thumb,
.c-postThumb__figure { border-radius: 0 !important; background: var(--ah-void); }
.p-postList__body { padding: 15px 16px 20px !important; }
.p-postList__title {
  color: #fff;
  font-size: clamp(15px, 1.7vw, 19px);
  font-weight: 900;
  line-height: 1.55;
}
.p-postList__item:hover .p-postList__title { color: var(--ah-cyan); }
.p-postList__excerpt { color: var(--ah-text-soft); line-height: 1.85; }
.p-postList__meta,
.c-postTimes { color: var(--ah-text-dim); font-weight: 700; }

.c-postThumb__cat {
  color: #fff !important;
  background: var(--ah-magenta) !important;
  border-radius: 0 !important;
  font-weight: 900;
  letter-spacing: .04em;
  box-shadow: 0 0 14px rgba(255, 46, 136, .55);
}

/* スライダー */
.p-postSlider { background: transparent; }
.swiper-pagination-bullet { background: var(--ah-text-dim); opacity: .6; }
.swiper-pagination-bullet-active { background: var(--ah-cyan); opacity: 1; box-shadow: 0 0 10px rgba(34, 230, 255, .9); }

/* =========================================================
   07. TITLES
   ========================================================= */
.c-pageTitle,
.c-secTitle,
.p-archive__title {
  color: #fff;
  font-weight: 900;
  letter-spacing: .04em;
}
.c-secTitle { border-color: var(--ah-cyan); }

.p-articleHead .c-postTitle__ttl {
  color: #fff;
  font-size: clamp(25px, 4.4vw, 41px);
  font-weight: 900;
  line-height: 1.4;
  text-wrap: balance;
  text-shadow: 0 0 26px rgba(34, 230, 255, .28);
}
.p-articleHead .c-postTitle__date,
.p-articleHead .c-postTimes { color: var(--ah-text-dim); }
.c-categoryList__link {
  color: #fff !important;
  background: var(--ah-magenta) !important;
  border: 0 !important;
  font-weight: 900;
}
.p-articleThumb { background: var(--ah-void); }

/* =========================================================
   08. POST CONTENT TYPOGRAPHY
   ========================================================= */
.post_content { color: var(--ah-text); line-height: 2; }
.post_content p { max-width: 48em; }
.post_content a { color: var(--ah-cyan); text-decoration: underline; }

.post_content h2,
.animehub-content h2 {
  position: relative;
  margin-top: 3.2em;
  padding: 17px 20px 15px 26px;
  color: #fff;
  background: linear-gradient(100deg, #1c1136 0%, #0a0b11 70%);
  border: 1px solid rgba(34, 230, 255, .45);
  border-radius: 0;
  box-shadow: 0 0 24px rgba(34, 230, 255, .16);
  font-size: clamp(20px, 2.9vw, 28px);
  font-weight: 900;
  line-height: 1.5;
  letter-spacing: .03em;
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%);
}
.post_content h2::before,
.animehub-content h2::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 6px;
  background: var(--ah-magenta);
  box-shadow: 0 0 14px rgba(255, 46, 136, .95);
}
.post_content h2::after,
.animehub-content h2::after { content: none !important; }

.post_content h3,
.animehub-content h3 {
  margin-top: 2.4em;
  padding: 9px 14px 8px 16px;
  color: #fff;
  background: linear-gradient(90deg, rgba(34, 230, 255, .16) 0 72%, transparent 72%);
  border: 0;
  border-left: 5px solid var(--ah-cyan);
  border-radius: 0;
  font-size: clamp(17px, 2.2vw, 22px);
  font-weight: 900;
  letter-spacing: .02em;
}
.post_content h3::before,
.post_content h3::after,
.animehub-content h3::before,
.animehub-content h3::after { content: none !important; }

.post_content h4,
.animehub-content h4 {
  margin-top: 2em;
  padding-left: 16px;
  color: var(--ah-cyan);
  border: 0;
  border-left: 3px solid var(--ah-magenta);
  font-size: 1.06em;
  font-weight: 900;
}

.post_content strong,
.animehub-content strong {
  color: #fff;
  font-weight: 900;
  background: linear-gradient(transparent 66%, rgba(255, 46, 136, .45) 0);
}
.post_content blockquote {
  color: var(--ah-text-soft);
  background: var(--ah-panel-2);
  border-left: 4px solid var(--ah-violet);
}
.post_content hr { border-color: var(--ah-line); }
.post_content code {
  color: var(--ah-mint);
  background: var(--ah-void);
  border: 1px solid var(--ah-line);
}

/* SWELL 目次 */
.p-toc {
  background: var(--ah-panel-2) !important;
  border: 1px solid var(--ah-line) !important;
  border-left: 4px solid var(--ah-cyan) !important;
  border-radius: 0 !important;
}
.p-toc__ttl { color: #fff !important; letter-spacing: .06em; }
.p-toc a { color: var(--ah-text-soft); text-decoration: none; }
.p-toc a:hover { color: var(--ah-cyan); }

/* =========================================================
   09. ANIMEHUB ARTICLE COMPONENTS
   ========================================================= */
.animehub-content { color: var(--ah-text); }
.animehub-content .breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 14px;
  color: var(--ah-text-dim);
  font-size: .82em;
}
.animehub-content .breadcrumbs a { color: var(--ah-text-soft); text-decoration: none; }
.animehub-content .breadcrumbs a:hover { color: var(--ah-cyan); }

.animehub-content .verified-date {
  display: inline-block;
  margin: 0 0 20px;
  padding: 3px 10px;
  color: var(--ah-mint);
  background: rgba(55, 245, 182, .1);
  border: 1px solid rgba(55, 245, 182, .45);
  font-size: .8em;
  font-weight: 800;
  letter-spacing: .04em;
}

.animehub-content .lead {
  position: relative;
  margin: 0 0 30px;
  padding: 20px 22px;
  color: var(--ah-text);
  background: linear-gradient(120deg, rgba(155, 107, 255, .16), rgba(34, 230, 255, .08));
  border: 1px solid rgba(34, 230, 255, .38);
  border-left: 6px solid var(--ah-cyan);
  font-size: 1.05em;
  font-weight: 700;
  line-height: 1.95;
}

.animehub-content .section-number {
  display: inline-block;
  margin: 2.5em 0 -3.4em;
  padding: 3px 11px;
  color: #0a0b11;
  background: var(--ah-acid);
  font-family: var(--ah-font-en);
  font-weight: 900;
  letter-spacing: .1em;
  box-shadow: 0 0 14px rgba(255, 225, 74, .45);
}
.animehub-content .article-section { margin-block: 46px; }

.animehub-content .accent-section {
  padding: clamp(18px, 4vw, 30px);
  background: rgba(255, 46, 136, .07);
  border: 1px solid rgba(255, 46, 136, .5);
  box-shadow: inset 0 0 40px rgba(255, 46, 136, .06);
}

/* 結論 / CTA ボックス */
.animehub-content .conclusion-box,
.animehub-content .cta-box {
  position: relative;
  margin: 32px 0;
  padding: clamp(20px, 4vw, 30px);
  background: linear-gradient(160deg, #1e2231, #0a0b11);
  border: 1px solid rgba(34, 230, 255, .45);
  box-shadow: 0 0 34px rgba(34, 230, 255, .14), var(--ah-shadow);
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 16px), calc(100% - 16px) 100%, 0 100%);
}
.animehub-content .cta-box {
  border-color: rgba(255, 46, 136, .55);
  box-shadow: 0 0 34px rgba(255, 46, 136, .16), var(--ah-shadow);
}
.animehub-content .conclusion-box::before,
.animehub-content .cta-box::before {
  content: "CONCLUSION";
  display: inline-block;
  margin: -4px 0 14px;
  padding: 3px 12px 2px;
  color: #0a0b11;
  background: var(--ah-cyan);
  font-family: var(--ah-font-en);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .2em;
}
.animehub-content .cta-box::before {
  content: "PR";
  color: #fff;
  background: var(--ah-magenta);
  box-shadow: 0 0 14px rgba(255, 46, 136, .6);
}
.animehub-content .conclusion-label,
.animehub-content .cta-kicker {
  display: block;
  margin-bottom: 10px;
  color: var(--ah-acid);
  font-size: .85em;
  font-weight: 900;
  letter-spacing: .08em;
}

/* CTA ボタン */
.animehub-content .cta-link,
.animehub-content .cta-button,
.animehub-content a[data-affiliate-service] {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 58px;
  margin: 18px 0 12px;
  padding: 13px 20px;
  color: #fff !important;
  background: linear-gradient(100deg, #ff2e88, #9b6bff);
  border: 1px solid rgba(255, 255, 255, .35);
  font-size: 1.06em;
  font-weight: 900;
  letter-spacing: .04em;
  text-align: center;
  text-decoration: none !important;
  text-shadow: 0 1px 0 rgba(0, 0, 0, .35);
  clip-path: polygon(12px 0, 100% 0, calc(100% - 12px) 100%, 0 100%);
  animation: ah-pulse 2.6s ease-in-out infinite;
  transition: transform 140ms ease-out, filter 140ms ease-out;
}
.animehub-content .cta-link:hover,
.animehub-content .cta-button:hover,
.animehub-content a[data-affiliate-service]:hover {
  transform: translateY(-2px);
  filter: brightness(1.12);
  opacity: 1;
  animation-play-state: paused;
}
@keyframes ah-pulse {
  0%, 100% { box-shadow: 0 0 22px rgba(255, 46, 136, .42), 0 10px 22px rgba(0, 0, 0, .5); }
  50%      { box-shadow: 0 0 40px rgba(255, 46, 136, .75), 0 10px 22px rgba(0, 0, 0, .5); }
}

.animehub-content .cta-notes,
.animehub-content .table-note,
.animehub-content .freshness-note {
  color: var(--ah-text-dim);
  font-size: .82em;
  line-height: 1.75;
}
.animehub-content .cta-notes p { margin: 0 0 .3em; max-width: none; }

/* =========================================================
   10. TABLES
   ========================================================= */
.animehub-content .table-wrap,
.post_content .scrollable {
  overflow-x: auto;
  margin-block: 24px;
  border: 1px solid rgba(34, 230, 255, .4);
  box-shadow: 0 0 24px rgba(34, 230, 255, .1);
}
.animehub-content table,
.post_content table {
  min-width: 650px;
  margin: 0;
  border: 0;
  border-collapse: collapse;
  background: var(--ah-panel-2);
}
.animehub-content th,
.post_content table th {
  color: #fff;
  background: linear-gradient(180deg, #1d1338, #0a0b11);
  font-weight: 900;
  letter-spacing: .04em;
}
.animehub-content td,
.animehub-content th,
.post_content table td,
.post_content table th {
  padding: 12px 14px;
  border: 1px solid var(--ah-line);
  color: var(--ah-text);
  vertical-align: middle;
}
.animehub-content tbody tr:nth-child(even),
.post_content table tbody tr:nth-child(even) { background: rgba(255, 255, 255, .028); }
.animehub-content tbody tr:hover { background: rgba(34, 230, 255, .07); }

.animehub-content .availability-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 5.6em;
  padding: 3px 9px;
  border: 1px solid currentColor;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .04em;
}
.animehub-content .is-available {
  color: var(--ah-mint);
  background: rgba(55, 245, 182, .1);
  box-shadow: 0 0 12px rgba(55, 245, 182, .25);
}
.animehub-content .is-unavailable { color: #ff7ba6; background: rgba(255, 46, 136, .09); }

/* =========================================================
   11. GRIDS / STEPS / LISTS / FAQ
   ========================================================= */
.animehub-content .reason-grid,
.animehub-content .alternative-grid,
.animehub-content .related-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 16px;
  margin-block: 20px;
}
.animehub-content .reason-grid > div,
.animehub-content .alternative-grid > div,
.animehub-content .related-grid > a {
  padding: 18px;
  color: var(--ah-text);
  background: var(--ah-panel-2);
  border: 1px solid var(--ah-line);
  border-left: 4px solid var(--ah-cyan);
  text-decoration: none;
  transition: border-color 150ms, box-shadow 150ms, transform 150ms;
}
.animehub-content .related-grid > a:hover {
  transform: translateY(-3px);
  color: #fff;
  border-left-color: var(--ah-magenta);
  box-shadow: 0 0 0 1px rgba(255, 46, 136, .4), 0 0 22px rgba(255, 46, 136, .18);
}

.animehub-content .steps { counter-reset: ah-step; padding: 0; list-style: none; }
.animehub-content .steps li {
  position: relative;
  min-height: 64px;
  margin: 16px 0;
  padding: 13px 14px 13px 74px;
  background: var(--ah-panel-2);
  border: 1px solid var(--ah-line);
  border-left: 3px solid var(--ah-violet);
}
.animehub-content .steps li::before {
  counter-increment: ah-step;
  content: counter(ah-step, decimal-leading-zero);
  position: absolute;
  left: 14px;
  top: 13px;
  width: 46px;
  height: 42px;
  display: grid;
  place-items: center;
  color: #0a0b11;
  background: var(--ah-cyan);
  font-family: var(--ah-font-en);
  font-weight: 900;
  letter-spacing: .04em;
  box-shadow: 0 0 16px rgba(34, 230, 255, .5);
  clip-path: polygon(0 0, 100% 0, calc(100% - 7px) 100%, 0 100%);
}
.animehub-content .steps span { display: block; color: var(--ah-text-soft); font-size: .9em; }

.animehub-content ul li::marker,
.post_content ul li::marker { color: var(--ah-cyan); }
.animehub-content .check-list li::marker { color: var(--ah-magenta); }
.animehub-content .source-list {
  color: var(--ah-text-dim);
  font-size: .82em;
  line-height: 1.7;
  overflow-wrap: anywhere;
}
.animehub-content .source-list a { color: var(--ah-text-soft); }

.animehub-content .faq-item,
.animehub-content .faq {
  margin: 14px 0;
  padding: 16px 18px;
  background: var(--ah-panel-2);
  border: 1px solid var(--ah-line);
  border-top: 3px solid var(--ah-violet);
}
.animehub-content .faq-item > *:first-child { color: #fff; font-weight: 900; }

/* =========================================================
   12. FORMS (Contact Form 7)
   ========================================================= */
.wpcf7 { margin-top: 24px; }
.wpcf7 label { display: block; margin: 0 0 20px; color: var(--ah-text); font-weight: 800; }
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 select,
.wpcf7 textarea {
  width: 100%;
  margin-top: 7px;
  padding: 12px 14px;
  color: var(--ah-text);
  background: var(--ah-void);
  border: 1px solid var(--ah-line);
  border-radius: 0;
  font: inherit;
}
.wpcf7 input:focus,
.wpcf7 textarea:focus,
.wpcf7 select:focus {
  border-color: var(--ah-cyan);
  box-shadow: 0 0 0 1px var(--ah-cyan), 0 0 18px rgba(34, 230, 255, .28);
}
.wpcf7 input[type="submit"] {
  min-width: 230px;
  min-height: 54px;
  color: #fff;
  background: linear-gradient(100deg, #ff2e88, #9b6bff);
  border: 1px solid rgba(255, 255, 255, .3);
  border-radius: 0;
  box-shadow: 0 0 24px rgba(255, 46, 136, .45);
  font-weight: 900;
  letter-spacing: .04em;
  cursor: pointer;
  clip-path: polygon(10px 0, 100% 0, calc(100% - 10px) 100%, 0 100%);
}
.wpcf7-not-valid-tip { color: #ff7ba6; font-weight: 700; }
.wpcf7-response-output { border-color: var(--ah-cyan) !important; color: var(--ah-text); }

/* =========================================================
   13. PAGINATION / FOOTER
   ========================================================= */
.page-numbers,
.c-pagination a,
.c-pagination span {
  color: var(--ah-text);
  background: var(--ah-panel-2);
  border: 1px solid var(--ah-line);
  border-radius: 0;
}
.page-numbers.current,
.c-pagination .current {
  color: #0a0b11;
  background: var(--ah-cyan);
  border-color: var(--ah-cyan);
  box-shadow: 0 0 16px rgba(34, 230, 255, .5);
}

.l-footer {
  position: relative;
  color: var(--ah-text-soft);
  background: var(--ah-void);
  border-top: 1px solid rgba(34, 230, 255, .4);
}
.l-footer::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: -1px;
  height: 2px;
  background: linear-gradient(90deg, transparent 0 40%, var(--ah-cyan) 40% 78%, var(--ah-magenta) 78%);
  box-shadow: 0 0 14px rgba(34, 230, 255, .7);
}
.l-footer a { color: var(--ah-text); }
.l-footer a:hover { color: var(--ah-cyan); }
.l-footer .copyright { color: var(--ah-text-dim); }
.p-pagetopBtn {
  color: #0a0b11 !important;
  background: var(--ah-cyan) !important;
  border-radius: 0 !important;
  box-shadow: 0 0 18px rgba(34, 230, 255, .55);
}

/* =========================================================
   14. RESPONSIVE
   ========================================================= */
@media (min-width: 960px) {
  .l-mainContent { padding-inline: clamp(24px, 3vw, 44px); }
  .l-sidebar { --swl-sidebar_width: 300px; }
}

@media (max-width: 959px) {
  .animehub-signal { padding-inline: 56px; }
  .l-mainContent { border-inline: 0; }
  .l-content { padding-top: 20px; }
  .post_content h2,
  .animehub-content h2 { margin-inline: -16px; padding-inline: 24px 16px; }
}

@media (max-width: 599px) {
  :root { --swl-fz--root: 15px; --ah-cut: 10px; }
  .animehub-signal { min-height: 32px; gap: 7px; font-size: 10px; }
  .animehub-signal__badge { font-size: 9px; }
  .c-headLogo.-txt .c-headLogo__link::before { font-size: 8px; letter-spacing: .22em; }
  .p-postList { gap: 18px; }
  .animehub-content .cta-link,
  .animehub-content .cta-button,
  .animehub-content a[data-affiliate-service] { font-size: 1em; letter-spacing: .02em; }
  .animehub-content .reason-grid,
  .animehub-content .alternative-grid,
  .animehub-content .related-grid { grid-template-columns: 1fr; }
  .animehub-content .steps li { padding-left: 66px; }
}

/* =========================================================
   15. MOTION / PRINT
   ========================================================= */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}

@media print {
  body { color: #000; background: #fff; background-image: none; }
  .animehub-signal, .l-header, .l-fixHeader, .l-sidebar, .l-footer { display: none !important; }
  .l-mainContent { border: 0; box-shadow: none; background: #fff; }
  .post_content, .animehub-content,
  .animehub-content td, .animehub-content th { color: #000; }
}
