/*
 * apiJAV — Rose Petal Skin
 * A soft, luxurious feminine aesthetic.
 * Deep roses, blush pinks, champagne cream, warm ivory.
 * Typography: Playfair Display (headings) + DM Sans (body)
 *
 * Usage: swap the enqueued stylesheet handle in functions.php
 *        from 'apijav-futuristic' to 'apijav-rose'
 */

/* ============================================================
   GOOGLE FONTS — Playfair Display + DM Sans
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,600;0,700;0,900;1,400;1,600&family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;1,9..40,400&display=swap');

/* ============================================================
   CSS VARIABLES — Rose Petal Palette
   ============================================================ */
:root {
    /* Backgrounds */
    --aj-bg:              #1a0d12;
    --aj-bg2:             #200f16;
    --aj-surface:         #2a1520;
    --aj-surface2:        #321a26;

    /* Borders */
    --aj-border:          rgba(230, 120, 150, 0.14);
    --aj-border-hot:      rgba(230, 120, 150, 0.50);

    /* Primary accent — rose pink */
    --aj-accent:          #f472a8;
    --aj-accent-dim:      rgba(244, 114, 168, 0.16);
    --aj-accent-glow:     rgba(244, 114, 168, 0.55);

    /* Secondary — deep magenta */
    --aj-accent2:         #c2185b;
    --aj-accent2-dim:     rgba(194, 24, 91, 0.20);

    /* Tertiary — champagne gold */
    --aj-accent3:         #f7c59f;

    /* Text */
    --aj-text:            #f0dde5;
    --aj-text-dim:        #a07888;
    --aj-text-bright:     #fff5f8;

    /* Ambient glow */
    --aj-glow-top:        rgba(244, 114, 168, 0.07);
    --aj-glow-btm:        rgba(194, 24, 91, 0.05);

    /* Gradients */
    --aj-grad-btn:        linear-gradient(135deg, #c2185b 0%, #f472a8 100%);
    --aj-grad-btn-hover:  linear-gradient(135deg, #ad1457 0%, #f06292 100%);
    --aj-grad-nav-hover:  linear-gradient(180deg, rgba(244,114,168,0.10) 0%, rgba(244,114,168,0.03) 100%);
    --aj-nav-active-line: #f472a8;
    --aj-grad-meter:      linear-gradient(90deg, #c2185b 0%, #f472a8 100%);
    --aj-title-grad:      linear-gradient(135deg, #fff5f8 30%, #f472a8 75%);
    --aj-logo-grad:       linear-gradient(135deg, #fff 30%, #f472a8 100%);
    --aj-sep-grad:        linear-gradient(90deg, transparent 0%, #f472a8 40%, #c2185b 60%, transparent 100%);
    --aj-footer-sep:      linear-gradient(90deg, transparent 0%, #c2185b 35%, #f472a8 65%, transparent 100%);

    /* Shape */
    --aj-radius:          8px;
    --aj-radius-lg:       14px;
    --aj-transition:      0.28s cubic-bezier(0.4, 0, 0.2, 1);
}

/* ============================================================
   GLOBAL FOUNDATION
   ============================================================ */
body {
    background-color: var(--aj-bg) !important;
    background-image:
        radial-gradient(ellipse 90% 50% at 50% 0%,   var(--aj-glow-top) 0%, transparent 70%),
        radial-gradient(ellipse 60% 35% at 80% 100%, var(--aj-glow-btm) 0%, transparent 65%),
        radial-gradient(ellipse 40% 25% at 10% 60%,  rgba(194,24,91,0.03) 0%, transparent 70%);
    background-attachment: fixed;
    color: var(--aj-text) !important;
    font-family: 'DM Sans', 'Helvetica Neue', sans-serif !important;
    font-size: 14px;
}

/* Subtle petal texture overlay */
body::before {
    content: '';
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    background-image:
        radial-gradient(circle at 20% 30%, rgba(244,114,168,0.04) 0%, transparent 40%),
        radial-gradient(circle at 80% 70%, rgba(194,24,91,0.03) 0%, transparent 40%);
    pointer-events: none;
    z-index: 0;
}

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

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

/* ============================================================
   TOP BAR
   ============================================================ */
.top-bar {
    background: linear-gradient(90deg, #110810 0%, #1a0d14 50%, #110810 100%) !important;
    border-bottom: 1px solid var(--aj-border) !important;
    box-shadow: 0 1px 20px rgba(244,114,168,0.08) !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(244,114,168,0.22) !important;
    border-color: var(--aj-border-hot) !important;
    box-shadow: 0 0 12px 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
   Bug Fix: explicitly style login, logout, welcome and register
   links so they are always visible against the top-bar background.
   ============================================================ */
.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 10px 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, #130a10 0%, #1a0d14 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.7;
}

.site-title,
.site-title a {
    font-family: 'Playfair Display', serif !important;
    font-weight: 700 !important;
    font-style: italic !important;
    letter-spacing: 0.04em !important;
    background: var(--aj-title-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: 'DM Sans', sans-serif !important;
    letter-spacing: 0.08em;
    font-size: 0.75em;
    text-transform: uppercase;
}

/* Search input */
.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 18px var(--aj-accent-dim) !important;
    outline: none !important;
}

/* ============================================================
   NAVIGATION
   ============================================================ */
#site-navigation {
    background: linear-gradient(180deg, #1e1018 0%, #160c13 100%) !important;
    border-bottom: 1px solid var(--aj-border) !important;
    box-shadow: 0 4px 24px rgba(0,0,0,0.6) !important;
}

#site-navigation > ul > li {
    border-right: 1px solid rgba(244,114,168,0.07) !important;
}
#site-navigation > ul > li:first-child {
    border-left: 1px solid rgba(244,114,168,0.07) !important;
}

#site-navigation > ul > li > a {
    font-family: 'DM Sans', sans-serif !important;
    font-weight: 600 !important;
    font-size: 0.82em !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 14px 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(244,114,168,0.04) 100%) !important;
    box-shadow: inset 0 -2px 0 var(--aj-accent) !important;
}

/* Dropdown */
#site-navigation ul ul {
    background: rgba(22, 10, 18, 0.97) !important;
    border: 1px solid var(--aj-border) !important;
    border-top: 2px solid var(--aj-accent) !important;
    box-shadow: 0 8px 32px rgba(0,0,0,0.8), 0 0 20px var(--aj-accent-dim) !important;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    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.82em !important;
    letter-spacing: 0.05em !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: 'DM Sans', sans-serif !important;
    font-weight: 600 !important;
    letter-spacing: 0.05em !important;
    background: var(--aj-grad-btn) !important;
    border: 1px solid rgba(244,114,168,0.3) !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.4) !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 18px var(--aj-accent-dim), 0 4px 12px rgba(0,0,0,0.4) !important;
    transform: translateY(-1px) !important;
}

/* Active pagination */
.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 14px rgba(194,24,91,0.4) !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 20px rgba(0,0,0,0.5), inset 0 0 40px rgba(244,114,168,0.03) !important;
    border-radius: var(--aj-radius) !important;
    padding: 0.8em 1.2em !important;
}
.page-header .page-title,
.widget-title {
    font-family: 'Playfair Display', serif !important;
    font-size: 1.1em !important;
    letter-spacing: 0.02em !important;
    color: var(--aj-accent) !important;
    text-shadow: 0 0 20px var(--aj-accent-glow) !important;
    margin: 0 !important;
}

/* Section title accent bar */
.widget-title {
    padding-left: 12px !important;
    border-left: 3px solid var(--aj-accent) !important;
    font-style: italic !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(-4px) !important;
    z-index: 2;
    position: relative;
}

/* Entry header */
.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: 'DM Sans', 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%, #280f1c 100%) !important;
    color: var(--aj-text-bright) !important;
    border-color: rgba(244,114,168,0.28) !important;
}

/* Thumbnail image container */
.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(244,114,168,0.3),
        0 0 28px rgba(244,114,168,0.20),
        0 8px 32px rgba(0,0,0,0.7) !important;
}

/* Image zoom on hover */
.thumb-block .post-thumbnail img {
    transition: transform 0.5s cubic-bezier(0.4,0,0.2,1), filter 0.4s ease !important;
    filter: brightness(0.87) saturate(0.92) !important;
}
.thumb-block:hover .post-thumbnail img {
    transform: scale(1.05) !important;
    filter: brightness(1.0) saturate(1.05) !important;
}

/* Gradient overlay at bottom of thumb */
.thumb-block .post-thumbnail::after {
    content: '';
    position: absolute;
    bottom: 0; left: 0; right: 0;
    height: 45%;
    background: linear-gradient(to top, rgba(26,8,18,0.88) 0%, transparent 100%);
    z-index: 15;
    pointer-events: none;
    transition: opacity var(--aj-transition);
}
.thumb-block:hover .post-thumbnail::after {
    opacity: 0.65;
}

/* ============================================================
   PLAY ICON HOVER OVERLAY
   ============================================================ */
.play-icon-hover {
    background: radial-gradient(ellipse at center,
        rgba(244,114,168,0.22) 0%,
        rgba(26,8,18,0.30) 70%) !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 20px var(--aj-accent-glow),
        0 0 40px rgba(244,114,168,0.4),
        0 4px 8px rgba(0,0,0,0.8) !important;
    filter: drop-shadow(0 0 12px var(--aj-accent)) !important;
    transition: transform 0.35s cubic-bezier(0.34,1.56,0.64,1) !important;
}

/* ============================================================
   DURATION / VIEWS / HD BADGES
   ============================================================ */
span.views,
span.duration {
    background: rgba(26, 8, 18, 0.82) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
    border: 1px solid rgba(244,114,168,0.15) !important;
    border-radius: 4px !important;
    color: var(--aj-text-dim) !important;
    font-family: 'DM Sans', 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, var(--aj-accent2), var(--aj-accent)) !important;
    border-radius: 4px !important;
    color: #fff !important;
    font-family: 'DM Sans', 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 10px rgba(244,114,168,0.3) !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 16px rgba(0,0,0,0.4) !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(244,114,168,0.22) !important;
    box-shadow: 0 4px 24px rgba(0,0,0,0.5), 0 0 16px var(--aj-accent-dim) !important;
}

/* ============================================================
   BREADCRUMBS
   ============================================================ */
.breadcrumbs,
.breadcrumb {
    font-family: 'DM Sans', 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(244,114,168,0.35) !important;
    margin: 0 6px !important;
}

/* ============================================================
   SINGLE VIDEO PAGE
   ============================================================ */
.entry-title {
    font-family: 'Playfair Display', serif !important;
    font-style: italic !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 20px 60px rgba(0,0,0,0.8),
        0 0 40px rgba(244,114,168,0.08) !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: 'DM Sans', 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 14px 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: 'DM Sans', 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 10px 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 16px rgba(0,0,0,0.4) !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(244,114,168,0.3), 0 12px 32px rgba(0,0,0,0.6), 0 0 24px rgba(244,114,168,0.14) !important;
}
.cat-card .cat-label {
    background: linear-gradient(180deg, var(--aj-surface) 0%, var(--aj-bg2) 100%) !important;
    font-family: 'DM Sans', sans-serif !important;
    color: var(--aj-text) !important;
}
.cat-carousel-btn {
    background: rgba(26,8,18,0.92) !important;
    border: 2px solid rgba(244,114,168,0.4) !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 (fixed h2→p in v1.15.0)
   ============================================================ */
.archive-description p.desc-as-paragraph,
p.desc-as-paragraph {
    color: var(--aj-text-dim) !important;
    font-family: 'DM Sans', sans-serif !important;
    font-size: 0.92em !important;
    line-height: 1.7 !important;
    border-left: 2px solid rgba(244,114,168,0.3) !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 20px 60px rgba(0,0,0,0.8), 0 0 40px rgba(244,114,168,0.10) !important;
}
.wpst-user-modal h3 {
    font-family: 'Playfair Display', serif !important;
    font-style: italic !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%, #0e070c 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.7;
}
.site-footer, .site-footer a {
    color: var(--aj-text-dim) !important;
    font-family: 'DM Sans', sans-serif !important;
    font-size: 0.82em !important;
}
.site-footer a:hover { color: var(--aj-accent) !important; }

/* ============================================================
   PAGINATION
   ============================================================ */
.pagination {
    font-family: 'DM Sans', sans-serif !important;
}
.pagination ul li span.current {
    background: var(--aj-accent2) !important;
    border-color: var(--aj-accent2) !important;
    box-shadow: 0 0 14px rgba(194,24,91,0.4) !important;
    color: #fff !important;
}

/* ============================================================
   SEARCH RESULTS
   ============================================================ */
.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: 'Playfair Display', serif !important;
    font-style: italic !important;
    color: var(--aj-accent) !important;
}

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

/* ============================================================
   SELECTION COLOR
   ============================================================ */
::selection {
    background: rgba(244,114,168,0.30);
    color: var(--aj-text-bright);
}

/* ============================================================
   ENTRY FADE-IN ANIMATION
   ============================================================ */
@keyframes roseReveal {
    from { opacity: 0; transform: translateY(14px); }
    to   { opacity: 1; transform: translateY(0); }
}
.thumb-block {
    animation: roseReveal 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;
}
@media (prefers-reduced-motion: reduce) {
    .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;
    }
}
