/*
 * apiJAV — Sakura Moonlight Skin
 * ─────────────────────────────────────────────────────────────
 * Elegant, dreamy hentai aesthetic: deep indigo midnight sky,
 * soft cherry blossom pinks, ethereal lavender mist, gold accents.
 * Delicate petal animations, frosted glass surfaces, moonlit glows.
 * Typography: Noto Serif JP (headings) + Inter (body)
 *
 * Performance notes:
 *  - Animations use opacity + transform only (GPU composited)
 *  - Petal particles use CSS-only approach (no JS)
 *  - backdrop-filter limited to key surfaces only
 *  - will-change declared only on elements that animate
 *  - prefers-reduced-motion respected
 *
 * Usage: Theme Options → Appearance → Skin Style → 'sakura'
 */

/* ============================================================
   GOOGLE FONTS — Noto Serif JP + Inter
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@300;400;600;700;900&family=Inter:wght@300;400;500;600;700&display=swap');

/* ============================================================
   CSS VARIABLES — Sakura Moonlight Palette
   ============================================================ */
:root {
    /* Deep indigo-midnight backgrounds */
    --aj-bg:              #0d0b18;
    --aj-bg2:             #110e1f;
    --aj-surface:         #1a1630;
    --aj-surface2:        #221e3a;

    /* Borders — lavender mist */
    --aj-border:          rgba(200, 160, 220, 0.13);
    --aj-border-hot:      rgba(240, 160, 200, 0.55);

    /* Primary accent — sakura pink */
    --aj-accent:          #f7a8c4;
    --aj-accent-dim:      rgba(247, 168, 196, 0.15);
    --aj-accent-glow:     rgba(247, 168, 196, 0.50);

    /* Secondary — deep violet plum */
    --aj-accent2:         #8b5cf6;
    --aj-accent2-dim:     rgba(139, 92, 246, 0.18);

    /* Tertiary — pale gold */
    --aj-accent3:         #fde68a;

    /* Text */
    --aj-text:            #e8d8f0;
    --aj-text-dim:        #8a7499;
    --aj-text-bright:     #fff0f8;

    /* Ambient glows */
    --aj-glow-top:        rgba(247, 168, 196, 0.06);
    --aj-glow-btm:        rgba(139, 92, 246, 0.05);

    /* Gradients */
    --aj-grad-btn:        linear-gradient(135deg, #8b5cf6 0%, #f7a8c4 100%);
    --aj-grad-btn-hover:  linear-gradient(135deg, #7c3aed 0%, #f472b6 100%);
    --aj-grad-nav-hover:  linear-gradient(180deg, rgba(247,168,196,0.09) 0%, rgba(247,168,196,0.02) 100%);
    --aj-nav-active-line: #f7a8c4;
    --aj-grad-meter:      linear-gradient(90deg, #8b5cf6 0%, #f7a8c4 100%);
    --aj-title-grad:      linear-gradient(135deg, #fff0f8 20%, #f7a8c4 60%, #c084fc 100%);
    --aj-logo-grad:       linear-gradient(135deg, #fff 20%, #f7a8c4 70%, #c084fc 100%);
    --aj-sep-grad:        linear-gradient(90deg, transparent 0%, #8b5cf6 35%, #f7a8c4 65%, transparent 100%);
    --aj-footer-sep:      linear-gradient(90deg, transparent 0%, #8b5cf6 30%, #f7a8c4 70%, transparent 100%);

    /* Shape */
    --aj-radius:          9px;
    --aj-radius-lg:       15px;
    --aj-transition:      0.26s cubic-bezier(0.4, 0, 0.2, 1);
}

/* ============================================================
   GLOBAL FOUNDATION
   ============================================================ */
body {
    background-color: var(--aj-bg) !important;
    background-image:
        radial-gradient(ellipse 100% 55% at 50% 0%,   var(--aj-glow-top) 0%, transparent 70%),
        radial-gradient(ellipse 65%  40% at 85% 100%, var(--aj-glow-btm) 0%, transparent 60%),
        radial-gradient(ellipse 45%  30% at 10% 55%,  rgba(139,92,246,0.04) 0%, transparent 70%),
        radial-gradient(ellipse 30%  20% at 70% 40%,  rgba(247,168,196,0.02) 0%, transparent 60%);
    background-attachment: fixed;
    color: var(--aj-text) !important;
    font-family: 'Inter', 'Helvetica Neue', sans-serif !important;
    font-size: 14px;
}

/* Ambient moonlight overlay */
body::before {
    content: '';
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    background-image:
        radial-gradient(circle at 25% 20%, rgba(247,168,196,0.03) 0%, transparent 45%),
        radial-gradient(circle at 75% 80%, rgba(139,92,246,0.04) 0%, transparent 45%),
        radial-gradient(circle at 50% 50%, rgba(253,230,138,0.01) 0%, transparent 70%);
    pointer-events: none;
    z-index: 0;
}

/* Floating petal particles — CSS only, GPU composited */
body::after {
    content: '';
    position: fixed;
    top: -10%; left: -10%;
    width: 120%; height: 120%;
    background-image:
        radial-gradient(ellipse 2px 4px at 15% 20%, rgba(247,168,196,0.18) 0%, transparent 100%),
        radial-gradient(ellipse 3px 5px at 30% 65%, rgba(247,168,196,0.12) 0%, transparent 100%),
        radial-gradient(ellipse 2px 3px at 60% 15%, rgba(200,132,252,0.14) 0%, transparent 100%),
        radial-gradient(ellipse 4px 6px at 75% 50%, rgba(247,168,196,0.10) 0%, transparent 100%),
        radial-gradient(ellipse 2px 4px at 88% 80%, rgba(200,132,252,0.12) 0%, transparent 100%),
        radial-gradient(ellipse 3px 5px at 45% 90%, rgba(247,168,196,0.10) 0%, transparent 100%),
        radial-gradient(ellipse 2px 3px at 92% 35%, rgba(253,230,138,0.08) 0%, transparent 100%);
    animation: sakuraDrift 28s linear infinite;
    pointer-events: none;
    z-index: 0;
    will-change: transform;
}

@keyframes sakuraDrift {
    0%   { transform: translateY(0)   translateX(0)   rotate(0deg);   }
    25%  { transform: translateY(6px) translateX(4px) rotate(0.5deg); }
    50%  { transform: translateY(0)   translateX(8px) rotate(0deg);   }
    75%  { transform: translateY(6px) translateX(4px) rotate(-0.5deg);}
    100% { transform: translateY(0)   translateX(0)   rotate(0deg);   }
}

/* ============================================================
   TYPOGRAPHY
   ============================================================ */
h1, h2, h3, h4, h5, h6,
.entry-title,
.site-title a,
.title-block h1.entry-title,
.widget-title {
    font-family: 'Noto Serif JP', 'Georgia', serif !important;
    letter-spacing: 0.02em;
}

a {
    color: var(--aj-accent);
    transition: color var(--aj-transition), text-shadow var(--aj-transition);
}
a:hover {
    color: var(--aj-text-bright);
    text-shadow: 0 0 14px var(--aj-accent-glow);
}

/* ============================================================
   TOP BAR
   ============================================================ */
.top-bar {
    background: linear-gradient(90deg, #09081A 0%, #0d0b20 50%, #09081a 100%) !important;
    border-bottom: 1px solid var(--aj-border) !important;
    box-shadow: 0 1px 24px rgba(247,168,196,0.07) !important;
}
.top-bar small { color: var(--aj-text-dim) !important; }

.top-bar .social-share a {
    background: var(--aj-accent-dim) !important;
    border: 1px solid var(--aj-border) !important;
    border-radius: var(--aj-radius) !important;
    transition: all var(--aj-transition) !important;
}
.top-bar .social-share a:hover {
    background: rgba(247,168,196,0.20) !important;
    border-color: var(--aj-border-hot) !important;
    box-shadow: 0 0 14px var(--aj-accent-dim) !important;
}
.top-bar .social-share i { color: var(--aj-text-dim) !important; }
.top-bar .social-share a:hover i { color: var(--aj-accent) !important; }

/* ============================================================
   MEMBERSHIP / TOP BAR LOGIN-LOGOUT
   ============================================================ */
.top-bar .membership { color: var(--aj-text-dim) !important; }
.top-bar .membership .welcome { color: var(--aj-text-dim) !important; }
.top-bar .membership .or { color: var(--aj-text-dim) !important; }
.top-bar .membership a {
    color: var(--aj-accent) !important;
    display: inline-block !important;
    margin: 0 8px !important;
    transition: color var(--aj-transition), text-shadow var(--aj-transition) !important;
    font-weight: 600 !important;
    background: none !important;
    border: none !important;
    padding: 0 !important;
    box-shadow: none !important;
    transform: none !important;
    text-shadow: none !important;
    letter-spacing: 0.04em !important;
}
.top-bar .membership a:hover {
    color: var(--aj-text-bright) !important;
    text-shadow: 0 0 12px var(--aj-accent-glow) !important;
    transform: none !important;
    background: none !important;
    box-shadow: none !important;
}
.top-bar .membership a i { color: inherit !important; margin-right: 4px !important; }
.top-bar .membership .login a { color: var(--aj-accent) !important; font-weight: 600 !important; }
.top-bar .membership .login a:hover { color: var(--aj-text-bright) !important; }

/* ============================================================
   SITE BRANDING / HEADER
   ============================================================ */
.site-branding {
    background: linear-gradient(180deg, #0a0916 0%, #0d0b1e 100%) !important;
    border-bottom: 1px solid var(--aj-border) !important;
    position: relative;
    overflow: visible;
}
.site-branding::after {
    content: '';
    position: absolute;
    bottom: -1px; left: 0; right: 0;
    height: 1px;
    background: var(--aj-sep-grad);
    opacity: 0.75;
}

.site-title,
.site-title a {
    font-family: 'Noto Serif JP', serif !important;
    font-weight: 700 !important;
    letter-spacing: 0.05em !important;
    background: var(--aj-logo-grad) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    background-clip: text !important;
}
.site-description {
    color: var(--aj-text-dim) !important;
    font-family: 'Inter', sans-serif !important;
    letter-spacing: 0.10em;
    font-size: 0.73em;
    text-transform: uppercase;
}

/* Inputs */
.site-branding .header-search input,
input[type="search"],
input[type="text"],
input[type="email"],
input[type="password"] {
    background: var(--aj-surface2) !important;
    border: 1px solid var(--aj-border) !important;
    color: var(--aj-text) !important;
    border-radius: var(--aj-radius) !important;
    transition: border-color var(--aj-transition), box-shadow var(--aj-transition) !important;
}
.site-branding .header-search input:focus,
input[type="search"]:focus,
input[type="text"]:focus,
input[type="email"]:focus,
input[type="password"]:focus {
    border-color: var(--aj-border-hot) !important;
    box-shadow: 0 0 0 3px var(--aj-accent-dim), 0 0 20px var(--aj-accent-dim) !important;
    outline: none !important;
}

/* ============================================================
   NAVIGATION
   ============================================================ */
#site-navigation {
    background: linear-gradient(180deg, #12102a 0%, #0d0b1e 100%) !important;
    border-bottom: 1px solid var(--aj-border) !important;
    box-shadow: 0 4px 28px rgba(0,0,0,0.65) !important;
}
#site-navigation > ul > li {
    border-right: 1px solid rgba(247,168,196,0.06) !important;
}
#site-navigation > ul > li:first-child {
    border-left: 1px solid rgba(247,168,196,0.06) !important;
}
#site-navigation > ul > li > a {
    font-family: 'Inter', sans-serif !important;
    font-weight: 600 !important;
    font-size: 0.81em !important;
    letter-spacing: 0.09em !important;
    text-transform: uppercase !important;
    color: var(--aj-text-dim) !important;
    transition: color var(--aj-transition), background var(--aj-transition) !important;
}
#site-navigation > ul > li:hover > a,
#site-navigation ul li.current-menu-item > a {
    color: var(--aj-accent) !important;
    text-shadow: 0 0 16px var(--aj-accent-glow) !important;
}
#site-navigation > ul > li:hover,
#site-navigation ul li.current-menu-item {
    background: linear-gradient(180deg, var(--aj-accent-dim) 0%, rgba(247,168,196,0.03) 100%) !important;
    box-shadow: inset 0 -2px 0 var(--aj-accent) !important;
}

/* Dropdown */
#site-navigation ul ul {
    background: rgba(13, 11, 28, 0.97) !important;
    border: 1px solid var(--aj-border) !important;
    border-top: 2px solid var(--aj-accent) !important;
    box-shadow: 0 10px 40px rgba(0,0,0,0.85), 0 0 24px var(--aj-accent-dim) !important;
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    border-radius: 0 0 var(--aj-radius) var(--aj-radius) !important;
}
#site-navigation ul ul li a {
    color: var(--aj-text-dim) !important;
    font-size: 0.81em !important;
    letter-spacing: 0.04em !important;
    border-bottom: 1px solid rgba(255,255,255,0.04) !important;
    transition: all var(--aj-transition) !important;
}
#site-navigation ul ul li:hover > a,
#site-navigation ul ul li a:hover {
    color: var(--aj-accent) !important;
    background: var(--aj-accent-dim) !important;
    padding-left: 20px !important;
}

/* ============================================================
   BUTTONS & LABELS
   ============================================================ */
button, .button,
input[type="button"],
input[type="reset"],
input[type="submit"],
.label, .label:visited,
.pagination ul li a {
    font-family: 'Inter', sans-serif !important;
    font-weight: 600 !important;
    letter-spacing: 0.05em !important;
    background: var(--aj-grad-btn) !important;
    border: 1px solid rgba(247,168,196,0.28) !important;
    border-radius: var(--aj-radius) !important;
    color: #fff !important;
    transition: all var(--aj-transition) !important;
    text-shadow: 0 1px 4px rgba(0,0,0,0.5) !important;
}
button:hover, .button:hover,
input[type="button"]:hover,
input[type="submit"]:hover,
.label:hover,
.pagination ul li a:hover {
    background: var(--aj-grad-btn-hover) !important;
    box-shadow: 0 0 22px var(--aj-accent-dim), 0 0 10px rgba(139,92,246,0.25), 0 4px 14px rgba(0,0,0,0.5) !important;
    transform: translateY(-1px) !important;
}
.pagination ul li.active a,
.pagination ul li span.current {
    background: var(--aj-accent2) !important;
    border-color: var(--aj-accent2) !important;
    box-shadow: 0 0 16px rgba(139,92,246,0.45) !important;
}

/* ============================================================
   PAGE HEADER / SECTION TITLES
   ============================================================ */
.page-header {
    background: linear-gradient(135deg, var(--aj-surface) 0%, var(--aj-surface2) 100%) !important;
    border-left: 3px solid var(--aj-accent) !important;
    border-bottom: 1px solid var(--aj-border) !important;
    box-shadow: 0 2px 22px rgba(0,0,0,0.5), inset 0 0 40px rgba(247,168,196,0.025) !important;
    border-radius: var(--aj-radius) !important;
    padding: 0.8em 1.2em !important;
}
.page-header .page-title,
.widget-title {
    font-family: 'Noto Serif JP', serif !important;
    font-size: 1.05em !important;
    letter-spacing: 0.03em !important;
    color: var(--aj-accent) !important;
    text-shadow: 0 0 22px var(--aj-accent-glow) !important;
    margin: 0 !important;
}
.widget-title {
    padding-left: 12px !important;
    border-left: 3px solid var(--aj-accent) !important;
}

/* ============================================================
   VIDEOS LIST WRAPPER
   ============================================================ */
.videos-list { background: transparent !important; }

/* ============================================================
   THUMBNAIL BLOCK
   ============================================================ */
.thumb-block {
    transition: transform var(--aj-transition) !important;
    will-change: transform;
}
.thumb-block:hover {
    transform: translateY(-5px) scale(1.01) !important;
    z-index: 2;
    position: relative;
}

.thumb-block .entry-header {
    background: linear-gradient(180deg, var(--aj-surface) 0%, var(--aj-bg2) 100%) !important;
    border: 1px solid var(--aj-border) !important;
    border-top: none !important;
    border-radius: 0 0 var(--aj-radius) var(--aj-radius) !important;
    color: var(--aj-text) !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 0.82em !important;
    font-weight: 500 !important;
    padding: 0.55em 0.6em 0.45em !important;
    transition: background var(--aj-transition), color var(--aj-transition) !important;
}
.thumb-block:hover .entry-header {
    background: linear-gradient(180deg, var(--aj-surface2) 0%, #180f28 100%) !important;
    color: var(--aj-text-bright) !important;
    border-color: rgba(247,168,196,0.30) !important;
}

.thumb-block .post-thumbnail {
    background-color: var(--aj-surface) !important;
    border: 1px solid var(--aj-border) !important;
    border-radius: var(--aj-radius) var(--aj-radius) 0 0 !important;
    overflow: hidden !important;
    transition: border-color var(--aj-transition), box-shadow var(--aj-transition) !important;
}
.thumb-block:hover .post-thumbnail {
    border-color: var(--aj-border-hot) !important;
    box-shadow:
        0 0 0 1px rgba(247,168,196,0.28),
        0 0 32px rgba(247,168,196,0.18),
        0 10px 36px rgba(0,0,0,0.75) !important;
}

.thumb-block .post-thumbnail img {
    transition: transform 0.55s cubic-bezier(0.4,0,0.2,1), filter 0.4s ease !important;
    filter: brightness(0.88) saturate(0.90) !important;
}
.thumb-block:hover .post-thumbnail img {
    transform: scale(1.06) !important;
    filter: brightness(1.0) saturate(1.08) !important;
}

/* Gradient overlay */
.thumb-block .post-thumbnail::after {
    content: '';
    position: absolute;
    bottom: 0; left: 0; right: 0;
    height: 50%;
    background: linear-gradient(to top, rgba(13,11,24,0.90) 0%, transparent 100%);
    z-index: 15;
    pointer-events: none;
    transition: opacity var(--aj-transition);
}
.thumb-block:hover .post-thumbnail::after { opacity: 0.60; }

/* Pink shimmer on hover — subtle top edge light */
.thumb-block:hover .post-thumbnail::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 2px;
    background: linear-gradient(90deg, transparent 0%, var(--aj-accent) 50%, transparent 100%);
    z-index: 20;
    pointer-events: none;
    animation: shimmerLine 1.6s ease-in-out;
    opacity: 0;
}
@keyframes shimmerLine {
    0%   { opacity: 0; transform: scaleX(0.3); }
    40%  { opacity: 1; transform: scaleX(1); }
    100% { opacity: 0; transform: scaleX(1); }
}

/* ============================================================
   PLAY ICON HOVER OVERLAY
   ============================================================ */
.play-icon-hover {
    background: radial-gradient(ellipse at center,
        rgba(247,168,196,0.20) 0%,
        rgba(13,11,24,0.28) 65%) !important;
    transition: opacity var(--aj-transition) !important;
    border-radius: var(--aj-radius) var(--aj-radius) 0 0 !important;
}
.play-icon-hover i {
    color: #fff !important;
    opacity: 1 !important;
    text-shadow:
        0 0 22px var(--aj-accent-glow),
        0 0 44px rgba(247,168,196,0.35),
        0 0 8px rgba(200,132,252,0.4),
        0 4px 10px rgba(0,0,0,0.85) !important;
    filter: drop-shadow(0 0 14px var(--aj-accent)) !important;
    transition: transform 0.38s cubic-bezier(0.34,1.56,0.64,1) !important;
}

/* ============================================================
   DURATION / VIEWS / HD BADGES
   ============================================================ */
span.views,
span.duration {
    background: rgba(13, 11, 24, 0.84) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
    border: 1px solid rgba(247,168,196,0.14) !important;
    border-radius: 4px !important;
    color: var(--aj-text-dim) !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 0.72em !important;
    font-weight: 500 !important;
    letter-spacing: 0.03em !important;
    padding: 2px 7px !important;
    transition: color var(--aj-transition) !important;
}
span.views i, span.duration i {
    color: var(--aj-accent) !important;
    margin-right: 3px !important;
}
.hd-video {
    background: linear-gradient(135deg, #8b5cf6, #f7a8c4) !important;
    border-radius: 4px !important;
    color: #fff !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 0.65em !important;
    font-weight: 700 !important;
    letter-spacing: 0.06em !important;
    padding: 2px 6px !important;
    text-shadow: none !important;
    box-shadow: 0 0 12px rgba(247,168,196,0.28) !important;
}

/* ============================================================
   LIKE / DISLIKE PROGRESS BAR
   ============================================================ */
.progress-meter {
    background: var(--aj-surface2) !important;
    border-radius: 2px !important;
    overflow: hidden !important;
}
.progress-meter .filled {
    background: var(--aj-grad-meter) !important;
    box-shadow: 0 0 8px var(--aj-accent-dim) !important;
    transition: width 0.6s cubic-bezier(0.4,0,0.2,1) !important;
}

/* ============================================================
   SIDEBAR / WIDGETS
   ============================================================ */
.widget {
    background: linear-gradient(180deg, var(--aj-surface) 0%, var(--aj-bg2) 100%) !important;
    border: 1px solid var(--aj-border) !important;
    border-radius: var(--aj-radius-lg) !important;
    box-shadow: 0 2px 18px rgba(0,0,0,0.45) !important;
    padding: 1.2em !important;
    margin-bottom: 1.4em !important;
    transition: border-color var(--aj-transition), box-shadow var(--aj-transition) !important;
}
.widget:hover {
    border-color: rgba(247,168,196,0.22) !important;
    box-shadow: 0 4px 28px rgba(0,0,0,0.55), 0 0 18px var(--aj-accent-dim) !important;
}

/* ============================================================
   BREADCRUMBS
   ============================================================ */
.breadcrumbs, .breadcrumb {
    font-family: 'Inter', sans-serif !important;
    font-size: 0.78em !important;
    color: var(--aj-text-dim) !important;
}
.breadcrumbs a, .breadcrumb a {
    color: var(--aj-text-dim) !important;
    transition: color var(--aj-transition) !important;
}
.breadcrumbs a:hover, .breadcrumb a:hover { color: var(--aj-accent) !important; }
.breadcrumbs .separator, .breadcrumb .separator {
    color: rgba(247,168,196,0.35) !important;
    margin: 0 6px !important;
}

/* ============================================================
   SINGLE VIDEO PAGE
   ============================================================ */
.entry-title {
    font-family: 'Noto Serif JP', serif !important;
    background: var(--aj-title-grad) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    background-clip: text !important;
    line-height: 1.25 !important;
}
.video-player {
    border-radius: var(--aj-radius-lg) !important;
    overflow: hidden !important;
    box-shadow:
        0 0 0 1px var(--aj-border),
        0 24px 65px rgba(0,0,0,0.85),
        0 0 50px rgba(247,168,196,0.07) !important;
}

/* ============================================================
   VIDEO SERVER BUTTONS
   ============================================================ */
.server-buttons button,
.servers-list button,
[class*="server-btn"],
[class*="quality-btn"] {
    background: var(--aj-surface2) !important;
    border: 1px solid var(--aj-border) !important;
    border-radius: var(--aj-radius) !important;
    color: var(--aj-text-dim) !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 0.78em !important;
    font-weight: 600 !important;
    letter-spacing: 0.05em !important;
    padding: 6px 14px !important;
    transition: all var(--aj-transition) !important;
}
.server-buttons button:hover,
.servers-list button:hover,
.server-buttons button.active,
.servers-list button.active {
    background: var(--aj-grad-btn) !important;
    border-color: var(--aj-border-hot) !important;
    color: #fff !important;
    box-shadow: 0 0 16px var(--aj-accent-dim) !important;
    transform: translateY(-1px) !important;
}

/* ============================================================
   TAGS / ACTORS / CATEGORY LABELS
   ============================================================ */
.tags-list a,
.actors-list a,
a.label {
    background: var(--aj-surface2) !important;
    border: 1px solid var(--aj-border) !important;
    border-radius: 100px !important;
    color: var(--aj-text-dim) !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 0.74em !important;
    font-weight: 500 !important;
    letter-spacing: 0.03em !important;
    padding: 3px 12px !important;
    transition: all var(--aj-transition) !important;
    display: inline-block !important;
    margin: 2px !important;
}
.tags-list a:hover,
.actors-list a:hover,
a.label:hover {
    background: var(--aj-accent-dim) !important;
    border-color: var(--aj-border-hot) !important;
    color: var(--aj-accent) !important;
    box-shadow: 0 0 12px var(--aj-accent-dim) !important;
    transform: translateY(-1px) !important;
}

/* ============================================================
   CATEGORY CAROUSEL OVERRIDES
   ============================================================ */
.cat-card {
    background: var(--aj-surface) !important;
    border: 1px solid var(--aj-border) !important;
    border-radius: var(--aj-radius-lg) !important;
    box-shadow: 0 4px 18px rgba(0,0,0,0.45) !important;
    transition: transform 0.28s cubic-bezier(0.4,0,0.2,1), box-shadow 0.28s ease !important;
}
.cat-card:hover {
    transform: translateY(-5px) !important;
    box-shadow: 0 0 0 1px rgba(247,168,196,0.30), 0 14px 36px rgba(0,0,0,0.65), 0 0 28px rgba(247,168,196,0.13) !important;
}
.cat-card .cat-label {
    background: linear-gradient(180deg, var(--aj-surface) 0%, var(--aj-bg2) 100%) !important;
    font-family: 'Inter', sans-serif !important;
    color: var(--aj-text) !important;
}
.cat-carousel-btn {
    background: rgba(13,11,24,0.92) !important;
    border: 2px solid rgba(247,168,196,0.40) !important;
    color: var(--aj-accent) !important;
}
.cat-carousel-btn:hover {
    background: var(--aj-accent) !important;
    border-color: var(--aj-accent) !important;
    color: #fff !important;
}
.cat-carousel-dot { background: var(--aj-accent) !important; }
.cat-carousel-bar { background: var(--aj-accent) !important; }

/* ============================================================
   ARCHIVE DESCRIPTION
   ============================================================ */
.archive-description p.desc-as-paragraph,
p.desc-as-paragraph {
    color: var(--aj-text-dim) !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 0.92em !important;
    line-height: 1.7 !important;
    border-left: 2px solid rgba(247,168,196,0.28) !important;
    padding-left: 14px !important;
    margin: 0.8em 0 !important;
}

/* ============================================================
   LOGIN / REGISTER MODAL
   ============================================================ */
.wpst-user-modal .modal-content {
    background: linear-gradient(180deg, var(--aj-surface) 0%, var(--aj-bg2) 100%) !important;
    border: 1px solid var(--aj-border) !important;
    border-radius: var(--aj-radius-lg) !important;
    box-shadow: 0 24px 70px rgba(0,0,0,0.85), 0 0 50px rgba(247,168,196,0.09) !important;
}
.wpst-user-modal h3 {
    font-family: 'Noto Serif JP', serif !important;
    color: var(--aj-text-bright) !important;
    background: var(--aj-title-grad) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    background-clip: text !important;
}
.wpst-user-modal .modal-footer {
    border-top: 1px solid var(--aj-border) !important;
    background: transparent !important;
}
.wpst-user-modal .modal-footer a { color: var(--aj-accent) !important; }

/* ============================================================
   SITE FOOTER
   ============================================================ */
.site-footer {
    background: linear-gradient(180deg, var(--aj-bg2) 0%, #07060f 100%) !important;
    border-top: 1px solid var(--aj-border) !important;
    position: relative;
}
.site-footer::before {
    content: '';
    position: absolute;
    top: -1px; left: 0; right: 0;
    height: 1px;
    background: var(--aj-footer-sep);
    opacity: 0.75;
}
.site-footer, .site-footer a {
    color: var(--aj-text-dim) !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 0.82em !important;
}
.site-footer a:hover { color: var(--aj-accent) !important; }

/* ============================================================
   PAGINATION
   ============================================================ */
.pagination { font-family: 'Inter', sans-serif !important; }
.pagination ul li span.current {
    background: var(--aj-accent2) !important;
    border-color: var(--aj-accent2) !important;
    box-shadow: 0 0 16px rgba(139,92,246,0.45) !important;
    color: #fff !important;
}

/* ============================================================
   SEARCH FORM
   ============================================================ */
.search-form .search-field {
    background: var(--aj-surface2) !important;
    border: 1px solid var(--aj-border) !important;
    border-right: none !important;
    border-radius: var(--aj-radius) 0 0 var(--aj-radius) !important;
    color: var(--aj-text) !important;
}
.search-form .search-submit {
    background: var(--aj-grad-btn) !important;
    border: 1px solid var(--aj-border-hot) !important;
    border-radius: 0 var(--aj-radius) var(--aj-radius) 0 !important;
    color: #fff !important;
}

/* ============================================================
   404 / NOTHING FOUND
   ============================================================ */
.page-content h1,
.page-content h2 {
    font-family: 'Noto Serif JP', serif !important;
    color: var(--aj-accent) !important;
}

/* ============================================================
   SCROLLBAR — webkit
   ============================================================ */
::-webkit-scrollbar { width: 5px; height: 5px; }
::-webkit-scrollbar-track { background: var(--aj-bg); }
::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg, #8b5cf6 0%, #f7a8c4 100%);
    border-radius: 3px;
}
::-webkit-scrollbar-thumb:hover { background: var(--aj-accent); }

/* ============================================================
   TEXT SELECTION
   ============================================================ */
::selection {
    background: rgba(247,168,196,0.28);
    color: var(--aj-text-bright);
}

/* ============================================================
   ENTRY REVEAL ANIMATION — staggered fade-up
   ============================================================ */
@keyframes sakuraReveal {
    from { opacity: 0; transform: translateY(16px); }
    to   { opacity: 1; transform: translateY(0); }
}
.thumb-block { animation: sakuraReveal 0.5s ease both; }
.thumb-block:nth-child(1)  { animation-delay: 0.02s; }
.thumb-block:nth-child(2)  { animation-delay: 0.05s; }
.thumb-block:nth-child(3)  { animation-delay: 0.08s; }
.thumb-block:nth-child(4)  { animation-delay: 0.11s; }
.thumb-block:nth-child(5)  { animation-delay: 0.14s; }
.thumb-block:nth-child(6)  { animation-delay: 0.17s; }
.thumb-block:nth-child(7)  { animation-delay: 0.20s; }
.thumb-block:nth-child(8)  { animation-delay: 0.23s; }
.thumb-block:nth-child(9)  { animation-delay: 0.26s; }
.thumb-block:nth-child(10) { animation-delay: 0.29s; }
.thumb-block:nth-child(11) { animation-delay: 0.32s; }
.thumb-block:nth-child(12) { animation-delay: 0.35s; }

/* ============================================================
   PERFORMANCE
   ============================================================ */
.widget,
.under-video-block,
.site-footer {
    content-visibility: auto;
    contain-intrinsic-size: 0 200px;
}
.thumb-block .post-thumbnail img,
.thumb-block,
.play-icon-hover {
    will-change: transform;
    contain: layout style;
}
.post-thumbnail-container img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Disable all animations for accessibility */
@media (prefers-reduced-motion: reduce) {
    body::after { animation: none !important; }
    .thumb-block,
    .thumb-block .post-thumbnail img,
    .play-icon-hover i,
    * {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}
