/*
=========================================
PROYEK OBSIDIAN - CSS FINAL (SCROLL-FIX)
=========================================
*/

/* 1. FONT & VARIASI GLOBAL (ASLI) */
@font-face {
  font-family: 'NukuFont'; /* Anda bisa beri nama apa saja, misal 'LogoFont' */
  src: url('../font/nuku1.ttf') format('truetype'); /* Path relatif dari file CSS ke file TTF */
  font-weight: normal; /* Sesuaikan jika font Anda punya variasi weight */
  font-style: normal;  /* Sesuaikan jika font Anda punya variasi style */
}
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');

:root {
    --bg-primary: #000000;
    --bg-secondary: #191919;
    --bg-tertiary: #242424;
    --primary-accent: #d91881; /* Warna pink aksen asli dipertahankan */
    --primary-accent-hover: #E33895;
    --text-primary: #EDEDED;
    --text-secondary: #9E9E9E;
    --border-color: rgba(255, 255, 255, 0.1);
    --glow-color: rgba(0, 7, 224, 0.2);
    --font-family: 'Inter', sans-serif;
    --border-radius-md: 12px;
    --border-radius-lg: 16px;
    --transition-speed: 0.4s;
    --shadow: 0px 8px 24px rgba(0, 0, 0, 0.5);

    /* Variabel default untuk kolom grid, akan ditimpa oleh PHP */
    --grid-desktop-columns: 4;
    --grid-mobile-columns: 2;
}

/* 2. RESET & GAYA DASAR (ASLI) */
* {
    margin: 0; padding: 0; box-sizing: border-box;
}
html {
    scroll-behavior: smooth;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
body {
    font-family: var(--font-family);
    background-color: var(--bg-primary);
    color: var(--text-primary);
    -webkit-tap-highlight-color: transparent; /* <-- TAMBAHKAN BARIS INI */
}
a {
    color: var(--text-primary);
    text-decoration: none;
    transition: color var(--transition-speed);
}
a:hover { color: var(--primary-accent); }
ul { list-style: none; }
img { max-width: 100%; display: block; }
h1, h2, h3, h4 { line-height: 1.3; font-weight: 700; }
.container { width: 92%; max-width: 1440px; margin: 0 auto; }

/* 3. HEADER & NAVIGASI DESKTOP (ASLI) */
.site-header {
    padding: 1rem 0;
    position: sticky;
    top: 0;
    z-index: 1000;
    background: #000000 !important;
    border-bottom: none !important; /* <-- BARIS INI TELAH DIUBAH */
}
.header-container { display: flex; justify-content: space-between; align-items: center; }
.site-logo { display: flex; align-items: center; gap: 12px; font-size: 1.5rem; font-weight: 800; }
.site-logo .logo-icon { color: var(--primary-accent); }
.site-logo-img {
    height: 40px; 
    width: auto;
}
.site-header {
    padding: 1rem 0;
    position: sticky;
    top: 0;
    z-index: 1000;
    background: var(--bg-primary); 
    border-bottom: 1px solid var(--border-color);
}
.main-nav { display: none; } 
@media (min-width: 1024px) {
    .main-nav {
        display: flex;
        align-items: center;
        gap: 1rem;
    }
}
.nav-item { position: relative; }
.nav-link {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 0.5rem 1rem;
    color: var(--text-secondary);
    font-weight: 500;
    border-radius: 8px;
    transition: all var(--transition-speed);
}
.nav-link:hover { color: var(--text-primary); background-color: var(--bg-tertiary); }
.nav-link.active {
    background-color: transparent;
    color: var(--text-secondary); 
    font-weight: 500;
}
.main-nav .home-link {
    margin-left: 0; 
}
.nav-link span {
    white-space: nowrap;
}
.nav-submenu {
    position: absolute;
    top: 120%;
    left: 0;
    background: var(--bg-tertiary);
    border-radius: var(--border-radius-md);
    padding: 0.5rem;
    min-width: 220px;
    z-index: 1001;
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: all var(--transition-speed);
    box-shadow: var(--shadow);
}
.nav-item:hover .nav-submenu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}
.nav-submenu li a {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 0.75rem 1rem;
    border-radius: 6px;
    color: var(--text-secondary);
}
.nav-submenu li a:hover {
    background-color: var(--primary-accent);
    color: #fff;
}
.nav-submenu .submenu-separator {
    padding: 0.25rem 0;
    margin: 0.25rem 0;
    pointer-events: none;
}
.nav-submenu .submenu-separator hr {
    border: none;
    height: 1px;
    background-color: var(--border-color);
}

/* 4. NAVIGASI MOBILE (ASLI) */
.mobile-menu-toggle {
    background: none;
    border: none;
    color: var(--text-primary);
    font-size: 1.8rem;
    cursor: pointer;
    padding: 0.5rem;
    display: flex;
    z-index: 2001;
}
@media (min-width: 1024px) {
    .mobile-menu-toggle {
        display: none;
    }
}
.mobile-nav-overlay {
    position: fixed;
    top: 0; left: 0; width: 100%; height: 100%;
    background-color: rgba(0,0,0,0.7);
    z-index: 1999;
    opacity: 0;
    visibility: hidden;
    transition: opacity var(--transition-speed);
}
.mobile-nav-overlay.is-open {
    opacity: 1;
    visibility: visible;
}
.mobile-nav {
    position: fixed;
    top: 0; left: 0;
    width: 280px;
    height: 100%;
    background: rgba(10, 10, 10, 0.4);
    backdrop-filter: blur(50px);
    -webkit-backdrop-filter: blur(50px);
    z-index: 2000;
    border-right: 1px solid var(--border-color);
    transform: translateX(-100%);
    transition: transform var(--transition-speed);
    display: flex;
    flex-direction: column;
}
.mobile-nav.is-open {
    transform: translateX(0);
}
.mobile-menu-list {
    padding: 2.5rem 1rem 1rem 1rem;
    overflow-y: auto; flex-grow: 1;
}

/* 5. GAYA DROPDOWN KATEGORI MOBILE (ASLI) */
.mobile-menu-link {
    display: flex; align-items: center; gap: 1rem;
    padding: 0.8rem 1rem; border-radius: 8px;
    color: var(--text-secondary); font-weight: 500;
    cursor: pointer;
}
.mobile-menu-link:hover, .submenu-is-open > .mobile-menu-link {
    background-color: var(--bg-tertiary);
    color: var(--text-primary);
}
.mobile-menu-link > span {
    flex-grow: 1;
}
.dropdown-icon {
    margin-left: auto;
    transition: transform var(--transition-speed);
}
.submenu-is-open .dropdown-icon {
    transform: rotate(180deg);
}
.submenu {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s ease-out;
    padding-left: 1.5rem;
    list-style-position: inside;
}
.submenu-is-open > .submenu {
    max-height: 500px;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
}
.submenu li a {
    display: flex; align-items: center; gap: 0.75rem;
    padding: 0.75rem 1rem;
    border-radius: 6px;
    color: var(--text-secondary);
    font-size: 0.9rem;
}
.submenu li a:hover {
    background-color: var(--primary-accent);
    color: #fff;
}
.submenu li a .submenu-icon {
    font-size: 1.1rem;
}

/* 6. HALAMAN UTAMA & VIDEO TERKAIT (GAYA ASLI) */
.video-section {
    padding: 2.5rem 0 1rem 0;
}
.section-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 2rem; 
    position: relative; 
    padding-bottom: 0;
    height: 40px; 
    border-bottom: none; 
}
.section-header::after {
    content: '';
    display: block;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 1px;
    background: linear-gradient(90deg, #FFC107, #FF4500); 
}
.section-title { /* This is the "Latest Videos" block */
    position: relative;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.9rem;
    font-weight: 700;
    color: white;
    padding: 5px 10px;
    background: linear-gradient(45deg, #FFC107, #FF4500);
    border-radius: 6px; /* <-- BARIS INI TELAH DIUBAH */
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4);
    margin-right: 0;
    z-index: 2;
    height: 100%;
    line-height: 1;
}
.section-title .icon {
    font-size: 1.1em; 
    color: white; 
    background: none; 
    -webkit-background-clip: unset; 
    -webkit-text-fill-color: unset; 
}
.section-title span {
    color: white; 
    margin-top: 0; 
}
.video-card {
    background: var(--bg-secondary);
    border-radius: var(--border-radius-md);
    overflow: hidden;
    border: 1px solid transparent;
    transition: all var(--transition-speed);
    display: flex;
    flex-direction: column;
}
.video-card:hover {
    transform: translateY(-5px);
    border-color: transparent;
    box-shadow: var(--shadow);
}
.thumbnail-container {
    position: relative;
    display: block;
    overflow: hidden;
}
.thumbnail-container img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .4s ease;
}
.video-card:hover .thumbnail-container img {
    transform: scale(1.05);
}
.video-info {
    padding: 1rem;
}
.video-info h3 {
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.4;
}
.video-grid {
    display: grid;
    gap: 1.5rem;
    grid-template-columns: repeat(var(--grid-mobile-columns, 2), 1fr);
}
@media (min-width: 1024px) {
    .video-grid {
        grid-template-columns: repeat(var(--grid-desktop-columns, 4), 1fr);
    }
}
.layout-landscape .thumbnail-container {
    aspect-ratio: 16 / 9;
}
.layout-landscape .video-info h3 {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.layout-landscape .portrait-info-overlay {
    display: none;
}
.layout-portrait .thumbnail-container {
    aspect-ratio: 185 / 264;
}
.layout-portrait .video-info {
    display: none;
}
.layout-portrait .thumbnail-container .duration-badge,
.layout-portrait .thumbnail-container .quality-badge {
    display: none;
}
.portrait-info-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 0; 
    background: linear-gradient(0deg, rgba(0, 0, 0, 0.85) 0%, rgba(0, 0, 0, 0) 100%);
    box-sizing: border-box;
    display: none;
}
.layout-portrait .portrait-info-overlay {
    display: block;
}
.portrait-info-overlay .portrait-meta {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.6rem;
}
.portrait-info-overlay .portrait-meta > * {
    display: flex;
    align-items: center;
    font-size: 10px;
    font-weight: 700;
    line-height: 1;
    padding: 5px 8px;
    border-radius: 4px;
    margin-left: 0;
    flex-shrink: 0;
}
.portrait-info-overlay .meta-quality {
    background-color: #ff0000;
    color: white;
    text-transform: uppercase;
}
.portrait-info-overlay .meta-duration {
    background: none;
    color: white;
    padding-left: 0;
    padding-right: 0;
    text-shadow: 1px 1px 2px rgba(0,0,0,0.9);
    text-transform: lowercase;
}
.portrait-info-overlay .portrait-title {
    background-color: #ffc107;
    color: black;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    flex-shrink: 1;
    min-width: 0;
    margin-left: auto; 
}
.thumbnail-container .badge {
    position: absolute;
    z-index: 5;
    padding: 5px 10px;
    font-size: 0.6rem;
    font-weight: 600;
    color: white;
    display: flex;
    align-items: center;
    gap: 5px;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    background-color: rgba(0, 0, 0, .6);
    backdrop-filter: blur(4px);
}
.thumbnail-container .category-badge {
    top: 0;
    left: 0;
    margin-top: -1px;
    margin-left: -1px;
    border-bottom-right-radius: var(--border-radius-md);
    background-color: var(--primary-accent);
}
.thumbnail-container .duration-badge {
    bottom: 0;
    left: 0;
    border-bottom-left-radius: var(--border-radius-md);
    border-top-right-radius: var(--border-radius-md);
    text-transform: none;
    font-size: .8rem;
    font-weight: 500;
}
.thumbnail-container .quality-badge {
    bottom: 0;
    right: 0;
    border-bottom-right-radius: var(--border-radius-md);
    border-top-left-radius: var(--border-radius-md);
    background-color: var(--primary-accent);
}

/* 7. FOOTER & HALAMAN LAIN (ASLI) */
.site-footer {
    margin-top: 4rem; 
    background-color: var(--bg-primary); 
    padding: 3rem 0; 
    border-top: 1px solid var(--border-color);
}
.footer-container {
    text-align: center;
}
.footer-container p {
    color: var(--text-secondary);
    font-size: .9rem; 
}
.generic-section {
    padding-top: 2.5rem;
}
.actress-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    gap: 1.5rem;
}
.actress-card {
    text-align: center;
    transition: transform 0.3s ease;
}
.actress-card:hover {
    transform: translateY(-5px);
}
.actress-image {
    width: 100%;
    aspect-ratio: 1 / 1;
    border-radius: 50%;
    overflow: hidden;
    margin-bottom: 1rem;
    border: 3px solid var(--bg-tertiary);
    box-shadow: var(--shadow);
}
.actress-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.actress-name h3 {
    font-size: 1rem;
    font-weight: 600;
}
.page-header-profile {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.5rem;
    margin-bottom: 3rem;
    padding: 2rem;
    background-color: var(--bg-secondary);
    border-radius: var(--border-radius-lg);
}
.page-header-profile img {
    width: 150px;
    height: 150px;
    border-radius: 50%;
    object-fit: cover;
    border: 4px solid var(--primary-accent);
}
.page-header-profile h1 {
    font-size: 2rem;
}
.az-filter {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.5rem;
    margin-bottom: 3rem;
    padding: 1rem;
    background-color: var(--bg-secondary);
    border-radius: var(--border-radius-md);
}
.az-filter a {
    color: var(--text-secondary);
    font-weight: 600;
    text-decoration: none;
    padding: 0.5rem 0.75rem;
    border-radius: 6px;
    min-width: 40px;
    text-align: center;
    transition: all 0.3s ease;
}
.az-filter a:hover {
    background-color: var(--bg-tertiary);
    color: var(--text-primary);
}
.az-filter a.active {
    background-color: var(--primary-accent);
    color: #fff;
    box-shadow: 0 0 10px var(--glow-color);
}
@media (max-width: 1023px) {
    .site-logo-img { height: 35px; width: auto; }
    .site-logo { font-size: 1.2rem; gap: 8px; }
    .site-logo span { font-size: 1.2rem; }
}

/*
=====================================================================
== BAGIAN TAMBAHAN: GAYA BARU HANYA UNTUK VIDEO.PHP (SESUAI GAMBAR) ==
=====================================================================
*/

.main-player-area {
    margin-top: 2.5rem;
}
.player-wrapper {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
    border-radius: var(--border-radius-lg);
    background-color: #000;
    /* box-shadow: 0 0 40px var(--glow-color); --- DIHAPUS SESUAI PERMINTAAN --- */
}
.player-wrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

.video-title-box {
    background-color: var(--bg-secondary);
    border: 1px solid var(--border-color);
    border-radius: 12px;
    padding: 1.25rem 1.5rem;
    margin-top: 2rem;
}
.video-title-box .title-main {
    font-size: 1.2rem;
    font-weight: 600;
    color: var(--text-primary);
    margin: 0;
    line-height: 1.4;
}

.detail-wrapper {
    background-color: var(--bg-secondary);
    border: 1px solid var(--border-color);
    border-radius: 12px;
    margin-top: 1.5rem;
    overflow: hidden;
}

.detail-tabs {
    display: flex;
    gap: 1rem;
    padding: 1rem 1.5rem;
    border-bottom: 1px solid var(--border-color);
    background-color: rgba(0,0,0,0.1);
}

.detail-tabs a {
    font-weight: 700;
    font-size: 0.9rem;
    color: var(--text-secondary);
    letter-spacing: 1px;
    transition: color 0.3s ease;
    cursor: pointer;
}

.detail-tabs a:hover {
    color: #F0C43E; /* Warna Emas */
}

.detail-tabs a.active {
    color: var(--text-primary);
}

/* MODIFICATION: Tab content panels */
.detail-content-panel {
    display: none;
    padding: 1.5rem;
    animation: fadeIn 0.5s ease;
}
.detail-content-panel.active {
    display: block;
}
@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

.detail-content-grid {
    display: flex;
    flex-direction: row; 
    align-items: flex-start; 
    gap: 1.5rem; 
}

.detail-poster {
    flex: 0 0 250px; 
    width: 250px;
}
.detail-poster img {
    width: 100%;
    height: auto;
    border-radius: 8px;
    box-shadow: 0 5px 15px rgba(0,0,0,0.3);
}

.detail-meta {
    flex: 1 1 auto;
}

.detail-meta ul {
    display: flex;
    flex-direction: column;
}

.detail-meta li {
    display: flex;
    align-items: flex-start;
    padding: 0.8rem 0;
    border-bottom: 1px solid var(--border-color);
    font-size: 0.9rem;
    line-height: 1.6;
}
.detail-meta li:first-child {
    padding-top: 0;
}
.detail-meta li:last-child {
    border-bottom: none;
}

.detail-meta .icon {
    margin-right: 1rem;
    font-size: 1.1rem;
    color: var(--text-secondary);
    margin-top: 4px;
}

.detail-meta strong {
    font-weight: 600;
    color: var(--text-primary);
    margin-right: 0.5rem;
    white-space: nowrap;
}

.detail-meta .value {
    color: var(--text-secondary);
}

.detail-meta .value a {
    color: #E3B62D; /* Warna Emas */
    font-weight: 500;
}

.detail-meta .value a:hover {
    color: #F0C43E; /* Warna Emas lebih terang */
    text-decoration: underline;
}

.detail-description {
    margin-top: 1.5rem;
}
.description-inner-wrapper {
    background-color: var(--bg-tertiary);
    border-radius: 8px;
    padding: 1.25rem;
    position: relative;
}
.detail-description p {
    color: var(--text-secondary);
    line-height: 1.7;
    margin: 0;
}
.description-text-wrapper.is-collapsible {
    max-height: 100px;
    overflow: hidden;
    position: relative;
    transition: max-height 0.4s ease-out;
}
.description-text-wrapper.is-collapsible::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 50px;
    background: linear-gradient(to bottom, transparent, var(--bg-tertiary));
    pointer-events: none;
}
.description-text-wrapper.is-collapsible.is-expanded {
    max-height: 1000px;
}
.description-text-wrapper.is-collapsible.is-expanded::after {
    display: none;
}
.show-more-btn {
    display: block;
    width: 100%;
    text-align: center;
    margin-top: 0.75rem;
    padding: 0.6rem;
    font-weight: 600;
    font-size: 0.85rem;
    color: var(--text-secondary);
    background-color: rgba(255, 255, 255, 0.05);
    border: 1px solid var(--border-color);
    border-radius: 8px;
    cursor: pointer;
    transition: background-color 0.3s;
}
.show-more-btn:hover {
    background-color: rgba(255, 255, 255, 0.1);
    color: var(--text-primary);
}
.description-inner-wrapper .icon-quote-start,
.description-inner-wrapper .icon-quote-end {
    position: absolute;
    font-size: 1.5rem;
    color: var(--border-color);
    z-index: 10;
}
.description-inner-wrapper .icon-quote-start {
    top: 0.5rem;
    left: 0.5rem;
}
.description-inner-wrapper .icon-quote-end {
    bottom: 0.5rem;
    right: 0.5rem;
}

/* GAYA BARU: Trailer, Gallery, and Download */
.trailer-player {
    border-radius: var(--border-radius-md);
    box-shadow: none;
}
.gallery-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 1rem;
}
.gallery-item {
    display: block;
    border-radius: var(--border-radius-md);
    overflow: hidden;
    aspect-ratio: 16 / 10;
    background-color: var(--bg-tertiary);
    transition: transform 0.3s ease;
    cursor: pointer;
}
.gallery-item:hover {
    transform: scale(1.03);
}
.gallery-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.download-links-list {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    max-width: 400px;
    margin: 0 auto;
}
.btn-download {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    padding: 0.8rem 1.5rem;
    background: linear-gradient(45deg, #F0C43E, #E3B62D);
    color: var(--bg-primary);
    font-weight: 700;
    font-size: 1rem;
    border-radius: 8px;
    text-align: center;
    transition: all 0.3s ease;
}
.btn-download:hover {
    transform: translateY(-3px);
    box-shadow: 0 4px 15px rgba(227, 182, 45, 0.3);
    color: var(--bg-primary);
}
.btn-download .ph-fill {
    font-size: 1.2rem;
}

/* GAYA BARU: LIGHTBOX UNTUK GALERI */
.lightbox {
    display: none;
    position: fixed;
    z-index: 2000;
    top: 0; left: 0;
    width: 100%; height: 100%;
    animation: fadeIn 0.3s ease;
}
.lightbox.active {
    display: flex;
    align-items: center;
    justify-content: center;
}
.lightbox-overlay {
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 100%;
    background: rgba(0, 0, 0, 0.85);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    cursor: pointer;
}
.lightbox-content {
    position: relative;
    padding: 10px;
    max-width: 90vw;
    max-height: 90vh;
}
.lightbox-image {
    display: block;
    max-width: 100%;
    max-height: 90vh;
    border-radius: 8px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.5);
    animation: zoomIn 0.3s ease;
}
@keyframes zoomIn {
    from { transform: scale(0.9); }
    to { transform: scale(1); }
}
.lightbox-close, .lightbox-prev, .lightbox-next {
    position: absolute;
    background: rgba(0, 0, 0, 0.5);
    color: #fff;
    border: none;
    cursor: pointer;
    font-size: 2rem;
    font-weight: bold;
    transition: background 0.3s ease;
    z-index: 2001;
}
.lightbox-close:hover, .lightbox-prev:hover, .lightbox-next:hover {
    background: rgba(0, 0, 0, 0.8);
}
.lightbox-close {
    top: 10px;
    right: 20px;
    width: 40px;
    height: 40px;
    line-height: 40px;
    border-radius: 50%;
    padding: 0;
}
.lightbox-prev, .lightbox-next {
    top: 50%;
    transform: translateY(-50%);
    padding: 10px 15px;
    border-radius: 8px;
}
.lightbox-prev {
    left: 10px;
}
.lightbox-next {
    right: 10px;
}

/* ===== PERBAIKAN FINAL: Penyesuaian Menyeluruh untuk Mobile ===== */
@media (max-width: 768px) {
    .video-title-box { padding: 1rem; margin-top: 1.5rem; }
    .video-title-box .title-main { font-size: 0.8rem; }
    .detail-wrapper { margin-top: 1rem; }
    .detail-content-panel { padding: 1rem; }
    .detail-content-grid { display: block; }
    .detail-poster { display: none; }
    .detail-tabs { flex-wrap: nowrap; overflow-x: auto; justify-content: flex-start; padding: 0.75rem 1rem; gap: 0.30rem; }
    .detail-tabs a { font-size: 0.7rem; white-space: nowrap; }
    .detail-meta li, .detail-meta .value { font-size: 0.75rem; }
    .detail-meta .icon { font-size: 0.9rem; }
    .description-inner-wrapper { padding: 1rem; }
    .detail-description p { font-size: 0.85rem; }
    .show-more-btn { padding: 0.5rem; font-size: 0.8rem; }
    .gallery-grid { grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); }
    .portrait-info-overlay .portrait-meta > * { font-size: 8.6px; }
    .related-video-wrapper .portrait-title { font-size: 6.5px; text-align: left; padding-left: 5px; padding-right: 5px; }
    .lightbox-prev, .lightbox-next { font-size: 1.5rem; padding: 5px 10px; }
}
@media (min-width: 768px) {
    .related-video-wrapper .portrait-title { font-size: 8px; text-align: left; padding-left: 5px; padding-right: 5px; }
}
/* ===== PENYESUAIAN UKURAN DESKTOP VIDEO.PHP ===== */
@media (min-width: 1024px) {
    .main-player-area,
    .video-title-box,
    .detail-wrapper {
        /* Anda bisa mengubah nilai 1100px ini sesuai selera, misal 1200px atau 90% */
        max-width: 1100px; 
        margin-left: auto;
        margin-right: auto;
    }
/* Mengatur TINGGI (aspek rasio) dari player */
    .player-wrapper {
        /* - Nilai standar adalah 56.25% (rasio 16:9).
           - Kurangi nilai ini (misal: 50%) untuk membuat player lebih PENDEK.
           - Tambah nilai ini (misal: 60%) untuk membuat player lebih TINGGI.
        */
        padding-bottom: 35%; /* Contoh: player dibuat lebih pendek/widescreen */
    }
}
/* GAYA TOMBOL SERVER DI BAWAH PLAYER (DIPERBARUI) */
.server-buttons-wrapper {
    display: flex;
    justify-content: center; /* Tombol berada di tengah */
    gap: 0.75rem;
    margin-top: 1.5rem;
    margin-bottom: -0.5rem;
}
.server-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1.25rem;
    font-size: 0.9rem;
    font-weight: 700;
    color: var(--text-secondary);
    background-color: var(--bg-tertiary);
    border: 1px solid var(--border-color);
    border-radius: 8px;
    text-decoration: none;
    transition: all 0.3s ease;
}
/* Selektor diperbaiki untuk menargetkan SVG */
.server-btn svg {
    width: 1.1em;
    height: 1.1em;
}
.server-btn:hover {
    color: var(--text-primary);
    background-color: var(--bg-secondary);
    border-color: #555;
}
.server-btn.active {
    background-color: var(--primary-accent);
    color: #fff;
    border-color: var(--primary-accent);
}
/* --- KODE BARU UNTUK FITUR PENCARIAN MOBILE --- */

/* Wrapper untuk kontrol di header mobile */
.mobile-header-controls {
    display: flex;
    align-items: center; /* Memastikan kedua ikon sejajar secara vertikal */
    gap: 0.25rem; /* Jarak antar ikon */
}

/* Tombol untuk membuka popup pencarian */
.mobile-search-open-btn {
    background: none;
    border: none;
    color: var(--text-primary);
    font-size: 1.6rem; /* DISAMAKAN ukurannya dengan ikon menu */
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0.5rem;
    transition: color 0.3s;
}
.mobile-search-open-btn:hover {
    color: var(--primary-accent);
}
/* --- Desain Ulang Fitur Pencarian (Professional Overlay) --- */
.search-popup {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(10, 10, 10, 0.7); /* Latar belakang gelap transparan */
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    z-index: 9999;
    display: none;
    align-items: flex-start; /* Posisikan di atas */
    justify-content: center;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.search-popup.is-open {
    display: flex;
    opacity: 1;
}

.search-popup-content {
    width: 90%;
    max-width: 700px; /* Lebar maksimum form */
    margin-top: 20vh; /* Jarak dari atas */
    position: relative;
}

.search-popup-form {
    position: relative;
    width: 100%;
    border-bottom: 2px solid var(--border-color); /* Garis bawah minimalis */
    transition: border-color 0.3s ease;
}

/* Highlight pink HANYA di garis bawah saat fokus */
.search-popup-form:focus-within {
    border-color: transparent; 
}

.search-popup-input {
    width: 100%;
    height: 70px; /* Input lebih besar */
    padding: 0 50px 0 10px; /* Ruang untuk ikon di kanan */
    border-radius: 0; /* Hapus rounded corner */
    border: none; /* Hapus border (sudah ada di form) */
    background-color: transparent; /* Transparan */
    color: var(--text-primary);
    font-size: 2rem; /* Font besar dan jelas */
    font-weight: 500;
}

.search-popup-input:focus {
    outline: none; /* Hapus outline */
}

.search-popup-input::placeholder {
     color: var(--text-secondary);
     opacity: 1;
}

.search-popup-submit-btn {
    position: absolute;
    right: 0px;
    top: 0;
    bottom: 0;
    width: 50px;
    border-radius: 0; /* Hapus rounded corner */
    border: none;
    background-color: transparent; /* Tombol transparan */
    color: var(--text-secondary); /* Warna ikon netral */
    font-size: 1.8rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: color 0.3s ease;
}
.search-popup-submit-btn:hover {
    color: transparent; /* Highlight pink saat hover */
}

.search-popup-close-btn {
    position: absolute;
    top: -50px; /* Posisikan di atas search bar */
    right: -10px;
    background: none;
    border: none;
    color: white;
    font-size: 3rem; /* 'x' lebih besar dan jelas */
    font-weight: 300;
    cursor: pointer;
    line-height: 1;
    transition: color 0.3s ease;
}
.search-popup-close-btn:hover {
    color: var(--text-secondary);
}
/* --- Akhir Desain Ulang Overlay --- */
/* --- Kustomisasi Tata Letak Header Mobile --- */
/* --- Kustomisasi Tata Letak Header Mobile (SUDAH DIPERBAIKI) --- */
@media (max-width: 1023px) {
    .header-container {
        display: grid;
        grid-template-columns: 1fr auto 1fr;
        align-items: center;
        padding-left: 0;
        padding-right: 0; 
    }

    .mobile-menu-toggle {
        grid-column: 1 / 2;   
        justify-self: start; 
        display: flex; /* <-- TAMBAHKAN INI agar ikon muncul */
    }

    .site-logo {
        grid-column: 2 / 3;   
        justify-self: center; 
    }

    .main-nav {
        display: none; 
    }

    .mobile-header-controls {
        grid-column: 3 / 4;  
        justify-self: end;   
        display: block; /* <-- TAMBAHKAN INI agar ikon muncul */
    }
}
/* --- CSS untuk Fitur Story (Scroll & Ukuran Besar) --- */

/* 1. Kontainer Utama (Wrapper) */
.story-section {
    display: none; /* Sembunyikan di desktop */
    padding: 1.5rem 0; /* Padding atas-bawah */
    /* Garis bawah sudah dihapus */
}

/* 2. Hanya tampil di mobile */
@media (max-width: 768px) {
    .story-section {
        display: block;
    }
    .video-section:first-of-type {
        padding-top: 1.5rem;
    }
}

/* 3. Kontainer Scrolling (Visually Centered - Adjusted Padding) */
.story-scroll-container {
    display: flex;
    flex-wrap: nowrap; /* Tetap satu baris */
    gap: 0.7rem; /* Jarak antar story */
    overflow-x: auto; /* Scroll horizontal */
    overflow-y: hidden;
    /* PADDING KIRI & KANAN DIKURANGI */
  
    
    /* Sembunyikan scrollbar */
    -ms-overflow-style: none;
    scrollbar-width: none;
}
.story-scroll-container::-webkit-scrollbar {
    display: none;
}

/* 4. Setiap Item Story (UKURAN DIPERBESAR) */
.story-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0; /* Tidak ada jarak (karena tidak ada judul) */
    text-decoration: none;
    width: 85px; /* UKURAN BARU (lebih besar dari 70px) */
    flex-shrink: 0; 
}

/* 5. Lingkaran Gambar (UKURAN DIPERBESAR) */
.story-image-wrapper {
    width: 85px; /* UKURAN BARU (sama dengan .story-item) */
    height: 85px; /* UKURAN BARU (sama dengan .story-item) */
    border-radius: 50%;
    padding: 2px; /* Untuk border gradient */
    background: linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%);
    flex-shrink: 0;
    transition: opacity 0.3s;
}

.story-item:hover .story-image-wrapper {
    opacity: 0.8;
}

/* 6. Gambar di dalam Lingkaran */
.story-image-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
    border: 2px solid var(--bg-primary);
}

/*
=========================================
GAYA PAGINATION V3 (Non-Scroll, No Right Ellipsis)
=========================================
*/
.pagination-nav {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 2rem 0;
}

.pagination-list {
    display: flex;
    flex-wrap: wrap; /* Izinkan tombol turun baris jika terpaksa */
    justify-content: center;
    align-items: center;
    list-style: none;
    padding: 0 1rem; /* Beri sedikit padding di tepi layar */
    margin: 0;
    gap: 0.5rem; /* Jarak antar tombol */
}

.pagination-item {
    /* (Kosong) */
}

.pagination-link,
.pagination-ellipsis {
    display: block;
    padding: 0.75rem 1rem;
    min-width: 44px; /* Lebar minimum untuk tombol angka */
    text-align: center;
    font-size: 0.9rem;
    font-weight: 600;
    text-decoration: none;
    border: 1px solid var(--border-color);
    background-color: var(--bg-secondary);
    color: var(--text-secondary);
    border-radius: var(--border-radius-md);
    transition: all 0.3s ease;
    white-space: nowrap; /* Jaga "Next »" tetap satu baris */
}

.pagination-link:hover {
    background-color: var(--bg-tertiary);
    border-color: #555;
    color: var(--text-primary);
}

.pagination-link.active {
    background-color: var(--primary-accent);
    border-color: var(--primary-accent);
    color: #fff;
    cursor: default;
}

.pagination-ellipsis {
    background-color: transparent;
    border: none;
    color: var(--text-secondary);
    padding-left: 0.25rem;
    padding-right: 0.25rem;
}

/* Tombol Prev/Next butuh style tambahan */
.pagination-link.pagination-prev,
.pagination-link.pagination-next {
    display: flex;
    align-items: center;
    gap: 0.4rem;
}

/*
=========================================
LOGIKA MOBILE (Sembunyikan Teks)
=========================================
*/
@media (max-width: 768px) {
    .pagination-link,
    .pagination-ellipsis {
        padding: 0.6rem 0.75rem;
        min-width: 38px;
        font-size: 0.8rem;
    }
    .pagination-list {
        gap: 0.35rem; /* Kurangi jarak di mobile */
    }

    /* Sembunyikan teks "Prev" dan "Next" */
    .pagination-text {
        display: none; 
    }
    
    /* Sesuaikan padding tombol panah agar pas */
    .pagination-link.pagination-prev,
    .pagination-link.pagination-next {
        padding: 0.6rem 0.85rem;
        min-width: 38px;
    }
}
/*
=========================================
GAYA BARU: Halaman Detail Aktris (Cover Photo Blur - Versi Pendek)
=========================================
*/
.actress-hero-card {
    position: relative; 
    display: flex;
    flex-direction: column;
    align-items: center; 
    justify-content: center;
    background-color: var(--bg-secondary); 
    border-radius: var(--border-radius-lg);
    padding: 2rem 1.5rem; /* <-- PADDING BARU UNTUK SEMUA UKURAN */
    margin-bottom: 2.5rem;
    border: 1px solid var(--border-color);
    text-align: center;
    overflow: hidden; 
}

.actress-hero-bg {
    position: absolute;
    top: -20px; 
    left: -20px;
    right: -20px;
    bottom: -20px;
    z-index: 1;
    background-size: cover;
    background-position: center;
    filter: brightness(0.6); /* Opsional: Kegelapan background */
    opacity: 0;
    transition: opacity 0.5s ease-in;
}

.actress-hero-bg[style*="background-image"] {
    opacity: 1;
}

.actress-hero-info {
    position: relative; 
    z-index: 2;
}

.actress-hero-name {
    font-family: 'NukuFont', sans-serif; 
    font-size: 2.2rem; /* Ukuran mobile */
    font-weight: normal; 
    color: #fff; 
    margin: 0;
    text-shadow: 0 2px 8px rgba(0,0,0,0.7); 
    letter-spacing: 1px; 
    text-transform: uppercase; 
}

.actress-hero-stats {
    font-size: 0.9rem; /* Ukuran mobile */
    font-weight: 500;
    color: rgba(255, 255, 255, 0.7); 
    margin-top: 0.5rem;
    text-shadow: 0 1px 4px rgba(0,0,0,0.5);
}

.actress-hero-stats span {
    color: #fff; 
    font-weight: 700;
}

/* Penyesuaian ukuran font di desktop */
@media (min-width: 768px) {
    .actress-hero-name {
        font-size: 3.0rem; /* Ukuran desktop */
    }
    .actress-hero-stats {
        font-size: 1.1rem; /* Ukuran desktop */
    }
}

/* BLOK @media (max-width: 767px) { ... } TELAH DIHAPUS */
/*
=========================================
GAYA FOOTER V4 (RATA KIRI, MOBILE ORDER, TEXT LOGO)
=========================================
*/
.site-footer-v4 {
    background-color: #000000;
    color: #a0a0a0;
    padding-top: 3rem;
    margin-top: 0; /* <-- NILAI BARU (Lebih Kecil) */
}

.footer-content-v4 {
    display: flex;
    flex-direction: column; /* Tumpuk vertikal (Disclaimer di atas karena urutan HTML) */
    gap: 2.5rem;
    padding-bottom: 3rem;
    /* text-align: center; <-- DIHAPUS, default rata kiri */
}

/* Tata letak 2 kolom di desktop */
@media (min-width: 768px) {
    .footer-content-v4 {
        flex-direction: row; /* Kembali sejajar di desktop */
        justify-content: space-between;
        gap: 4rem;
        /* Urutan di desktop: About | Disclaimer */
        /* Kita perlu membalik urutan visualnya menggunakan order */
    }
    .footer-section.footer-about-v4 {
        order: 1; /* About di kiri */
        flex: 3;
    }
    .footer-section.footer-disclaimer-v4 {
        order: 2; /* Disclaimer di kanan */
        flex: 2;
    }
}

.footer-section {
    width: 100%;
}

/* Logo Teks */
.footer-site-title-v4 {
    font-family: 'NukuFont', sans-serif; /* Font kustom */
    font-size: 2.0rem;
    font-weight: normal;
    color: var(--text-primary);
    margin-bottom: 1.5rem;
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* Teks SEO */
.footer-seo-text-v4 {
    margin-top: 0;
    color: #b0b0b0;
    font-size: 0.9rem;
    line-height: 1.8;
}

/* Judul Section (Disclaimer) */
.footer-section-title-v4 {
    display: flex;
    align-items: center;
    /* justify-content: center; <-- DIHAPUS, default rata kiri */
    gap: 0.5rem;
    font-family: 'NukuFont', sans-serif; /* Font kustom */
    font-size: 1.2rem;
    font-weight: normal;
    color: #d0d0d0;
    margin-bottom: 1rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.footer-section-title-v4 i {
    font-size: 1.1em;
    color: var(--primary-accent);
}

/* Teks Disclaimer */
.footer-disclaimer-v4 p {
    font-size: 0.8rem;
    color: #888;
    line-height: 1.6;
}

/* Bagian Bawah Footer (Copyright) */
.footer-bottom-v4 {
    background-color: #000000;
    padding: 1.25rem 0;
    margin-top: 2rem;
    border-top: 1px solid #1a1a1a;
}

.footer-bottom-v4 .container {
    display: flex;
    justify-content: center; /* <-- UBAH KE CENTER */
    align-items: center;
    text-align: center; /* Tambahkan ini untuk memastikan teks di tengah jika flexbox tidak berfungsi sempurna */
}

/* Hapus @media query yang mengatur justify-content di desktop */
/* @media (min-width: 768px) { ... } */

.footer-bottom-v4 p {
    font-size: 0.8rem;
    color: #666;
    margin: 0;
    display: inline-flex; /* Agar ikon dan teks sejajar rapi */
    align-items: center;  /* Sejajarkan ikon dan teks secara vertikal */
    gap: 0.25rem;         /* Beri sedikit jarak antara teks dan ikon hati */
}
/* --- 404 Page Styles (Professional Update) --- */
.container-404 {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 40px 20px;
    min-height: 70vh; /* Memberi ruang lebih */
}

.image-404 {
    max-width: 100%; 
    height: auto;
    width: 400px; /* Sedikit lebih ramping */
    margin-bottom: 20px;
}

.title-404 {
    font-size: 2.5em; /* Judul besar dan jelas */
    font-weight: 600;
    color: #FFFFFF; /* Putih (untuk tema gelap) */
    margin-top: 20px;
    margin-bottom: 10px;
}

.text-404 {
    font-size: 1.15em;
    line-height: 1.6;
    color: #ffffff; /* Abu-abu muda (untuk tema gelap) */
    max-width: 500px; 
    margin-bottom: 30px; /* Jarak sebelum tombol */
}

.button-404 {
    display: inline-block;
    padding: 12px 25px;
    font-size: 1em;
    font-weight: 600;
    color: #ffffff; /* Teks tombol putih */
    /* Menggunakan warna utama dari tema Anda (ditemukan di video.php) */
    background-color: #D91881; 
    text-decoration: none;
    border-radius: 5px;
    transition: background-color 0.3s ease, transform 0.2s ease;
}

.button-404:hover {
    background-color: #b3156a; /* Warna hover sedikit lebih gelap */
    color: #ffffff;
    transform: scale(1.05); /* Efek hover yang bagus */
}
/* --- End 404 Page Styles --- */
/*
=========================================
GAYA TOMBOL NEXT (PINK SOLID & AUTO ANIMATION)
=========================================
*/
.load-more-container {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 2rem;
    margin-bottom: 2rem;
    position: relative;
    width: 100%;
}

.load-more-container::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 20%;
    right: 20%;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--border-color), transparent);
    z-index: 0;
    opacity: 0.4;
}

/* Definisi Animasi Berjalan (Looping) */
@keyframes arrowWalk {
    0% { transform: translateX(0); opacity: 1; }
    40% { transform: translateX(5px); opacity: 0; }
    41% { transform: translateX(-5px); opacity: 0; }
    100% { transform: translateX(0); opacity: 1; }
}

.btn-load-more {
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    
    /* UKURAN TOMBOL */
    padding: 10px 25px;
    min-width: 110px;
    
    /* WARNA PINK LANGSUNG (DEFAULT) */
    background-color: var(--primary-accent); /* Pink #D91881 */
    color: #fff; /* Teks Putih */
    border: 1px solid var(--primary-accent); /* Border Pink */
    
    font-size: 0.85rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    text-decoration: none;
    border-radius: 50px;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(217, 24, 129, 0.4); /* Glow Pink Awal */
    overflow: hidden;
}

/* Hapus efek layer slide sebelumnya karena background sudah solid */
.btn-load-more::before {
    display: none;
}

/* Efek saat Hover (sedikit lebih terang & naik) */
.btn-load-more:hover {
    background-color: #E33895; /* Pink lebih terang */
    border-color: #E33895;
    transform: translateY(-3px);
    box-shadow: 0 8px 25px rgba(217, 24, 129, 0.6); /* Glow lebih kuat */
    color: #fff;
}

.btn-load-more svg {
    width: 16px; 
    height: 16px;
    fill: currentColor;
    
    /* ANIMASI LANGSUNG JALAN (TANPA HOVER) */
    animation: arrowWalk 1.2s infinite linear; 
}