/* STRIPE */



@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@400;900&display=swap');

.logo {
    font-family: 'Outfit', sans-serif;
    font-size: 32px;
    font-weight: 900;
    letter-spacing: -1.5px;
    margin-bottom: 30px;
    padding-left: 5px;
}

.logo-link {
    text-decoration: none;
    color: #ff007a;
    display: inline-flex;
    align-items: center;
    transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.logo-white {
    color: #ffffff !important;
    /* Een subtiele schaduw om de witte letters eruit te laten springen */
    text-shadow: 2px 2px 0px rgba(255, 0, 122, 0.2);
}

/* Het zweep-accent op de punt van .com */
.logo-link::after {
    content: ".com";
    color: #ff007a;
    font-size: 14px;
    margin-left: 2px;
    letter-spacing: 0px;
    font-weight: 400;
    /* Gloei-effect op de punt */
    text-shadow: 0 0 10px rgba(255, 0, 122, 0.8);
}

/* Hover animatie: het logo "springt" een beetje als een zweepslag */
.logo-link:hover {
    transform: scale(1.05) rotate(-1deg);
    filter: brightness(1.2);
}


.logo-link {
    display: flex !important;
    align-items: center !important;
    gap: 12px;
    text-decoration: none;
}

.logo-icon {
    width: 35px;
    height: 35px;
    filter: drop-shadow(0 0 5px rgba(255, 0, 122, 0.5));
    transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

/* De zweepslag animatie bij hover */
.logo-link:hover .logo-icon {
    transform: rotate(-15deg) scale(1.1);
}

.logo-white {
    font-family: 'Outfit', sans-serif; /* Zoals eerder voorgesteld */
    font-size: 28px;
    font-weight: 900;
    color: #ffffff !important;
    letter-spacing: -1px;
}


/* 1. De buitenste container */
.language-selector-container {
    padding: 0 !important; 
    width: 100% !important;
    margin-bottom: 12px !important; /* Gelijk aan andere elementen */
}

/* 2. De 'Pil' wrapper (deze krijgt de border en achtergrond) */
.language-selector-container .dropdown-wrapper {
    display: flex !important;
    align-items: center !important;
    background: #1a1a1e !important; 
    border: 1px solid #333 !important;
    border-radius: 12px !important;
    padding: 0 12px !important;
    height: 45px !important;    /* Matcht de hoogte van je andere dropdowns */
    gap: 10px !important;
    width: 100% !important;
    box-sizing: border-box !important;
}


/* Koppen in de beschrijving iets aanpassen voor de lichte achtergrond */



.bio-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-top: 20px;
}

.rules-section {
    margin-top: 30px;
    background: rgba(255, 0, 122, 0.05) !important;
    padding: 20px;
    border-radius: 15px;
    border-left: 4px solid #ff007a;
}

.rules-section ul {
    list-style-type: "❌ ";
    padding-left: 20px;
}

@media (max-width: 600px) {
    .bio-grid { grid-template-columns: 1fr; }
}

/* 3. De vlag */
#current-flag {
    width: 22px !important;
    height: auto !important;
    flex-shrink: 0 !important;
    border-radius: 2px !important;
}

/* 4. De select (we halen het roze pijltje en de border hier weg) */
.language-selector-container .custom-select {
    background: transparent !important; 
    border: none !important;
    color: white !important;
    font-size: 14px !important; /* Matcht je andere menu-items */
    font-weight: 500 !important;
    width: 100% !important;
    padding: 0 !important; 
    margin: 0 !important;
    height: 100% !important;
    appearance: none !important;
    -webkit-appearance: none !important;
}

/* 5. Een nieuw, subtiel pijltje aan de rechterkant */
.language-selector-container .dropdown-wrapper::after {
    content: '▼' !important;
    font-size: 9px !important;
    color: #ff007a !important; /* Roze zoals je andere pijltjes */
    pointer-events: none !important;
    margin-left: auto !important;
}
/* Specifieke styling voor het betaalblok binnen de bestaande layout */
.pay-container {
	background: #1a1a1e;
	width: 100%;
	max-width: 450px;
	padding: 30px;
	border-radius: 20px;
	border: 1px solid #333;
	box-shadow: 0 10px 30px rgba(0,0,0,0.5);
}

#payment-element {
	margin-bottom: 24px;
	background: #0b0b0d;
	padding: 15px;
	border-radius: 12px;
	border: 1px solid #333;
}

.pay-button {
	width: 100%;
	padding: 15px;
	background: #ff007a;
	color: white;
	border: none;
	border-radius: 12px;
	font-size: 16px;
	font-weight: bold;
	cursor: pointer;
	transition: transform 0.2s, background 0.2s;
}

/* Zorg dat de algemene main-content GEEN column forceert, zodat de grid werkt */
.main-content {
    display: block !important; /* Terug naar standaard voor de grid */
    width: 100%;
}




#error-message {
	color: #ff4a4a;
	font-size: 14px;
	margin-top: 15px;
	text-align: center;
}


.story-bar {
    display: flex;
    gap: 20px;
    margin-bottom: 40px;
    overflow-x: auto; /* Behoud scrollen binnen de bar zelf */
    padding-bottom: 15px;
    width: 100%;
    -webkit-overflow-scrolling: touch;
}

/* Verberg de lelijke scrollbar maar behoud de functie (optioneel) */
.story-bar::-webkit-scrollbar {
    height: 4px;
}
.story-bar::-webkit-scrollbar-thumb {
    background: #333;
    border-radius: 10px;
}


.toast-success {
    position: fixed;
    top: 20px;
    right: 20px;
    background-color: #28a745;
    color: white;
    padding: 15px 25px;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
    z-index: 1000;
    display: none; /* Standaard verborgen */
    animation: slideIn 0.5s ease-out;
}

@keyframes slideIn {
    from { transform: translateX(100%); }
    to { transform: translateX(0); }
}

.consent-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.95);
    backdrop-filter: blur(10px);
    display: none; /* Standaard verborgen, JS laat hem zien */
    z-index: 9999;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.consent-box {
    background: #1a1a1e;
    padding: 40px;
    border-radius: 24px;
    max-width: 500px;
    text-align: center;
    border: 1px solid #333;
    box-shadow: 0 10px 40px rgba(0,0,0,0.8);
}

.consent-box h2 {
    color: #fff;
    margin-bottom: 20px;
}

.consent-box p {
    color: #ccc;
    margin-bottom: 20px;
    line-height: 1.5;
}

.cookie-text {
    font-size: 13px;
    color: #888 !important;
}

.consent-buttons {
    display: flex;
    flex-direction: column;
    gap: 15px;
    margin-top: 30px;
}

.btn-accept {
    background: #ff007a;
    color: white;
    border: none;
    padding: 15px;
    border-radius: 12px;
    font-weight: bold;
    font-size: 16px;
    cursor: pointer;
    transition: transform 0.2s;
}

.btn-accept:hover {
    transform: scale(1.02);
}

.btn-decline {
    color: #888;
    text-decoration: none;
    font-size: 14px;
}

/* 1. RESET & FONTS */
* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

body {
    background-color: #0b0b0d;
    color: #ffffff;
    font-family: 'Inter', -apple-system, sans-serif;
    display: flex;
    flex-direction: row; /* Sidebar links, rest rechts */
    min-height: 100vh;
    overflow-x: hidden; /* Voorkom horizontale scroll op body niveau */
}

.detail-video-stack {
    position: relative;
    width: 100%;
    aspect-ratio: 3/4; /* Portrait verhouding voor de video */
    background: #000;
    flex-shrink: 0;
}

.header-filters {
    display: flex;
    gap: 20px;
    margin-bottom: 25px;
    padding-bottom: 10px;
}

.filter-item {
    color: #b5b5b5;
    font-weight: 600;
    cursor: pointer;
    transition: 0.3s;
    padding: 5px 10px;
}

.filter-item.active {
    color: #ffffff;
    border-bottom: 2px solid #ff007a;
}

.filter-item:hover {
    color: #ffffff;
}

/* Zorg dat de video's de volledige container vullen en zichtbaar zijn */
.detail-video-stack video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0; /* Verberg ze standaard weer */
    /*transition: opacity 0.3s ease-in-out;*/
	transition: none;
}

/* Alleen de video met de klasse 'is-active' wordt getoond */
.detail-video-stack video.is-active {
    opacity: 1 !important;
    z-index: 1;
}


.main-info h2 {
    font-size: 28px;
    margin-bottom: 5px;
}

.main-info .status {
    font-size: 14px;
    color: #b5b5b5;
    margin-bottom: 25px;
}

.extra-details {
    display: flex;
    flex-direction: column;
    gap: 15px;
    border-top: 1px solid #1a1a1e;
    padding-top: 20px;
}

.detail-item {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.detail-item .label {
    font-size: 12px;
    text-transform: uppercase;
    color: #ff007a;
    font-weight: 700;
    letter-spacing: 1px;
}

.detail-item .value {
    font-size: 16px;
    color: #ffffff;
}


#detailName span {
    font-size: 0.8em; /* Iets kleiner dan de naam */
    color: #b5b5b5;   /* Iets lichter grijs */
    margin-left: 8px;
    font-weight: 400;
}

/* De nieuwe info box styling */
.detail-info-box {
    padding: 25px;
    background: #0b0b0d;
}

/* Logo link styling */
.logo-link {
    text-decoration: none;
    color: inherit; /* Behoudt de witte/roze kleur die je al had */
    display: inline-block;
}

.logo-link:hover, 
.logo-link:visited, 
.logo-link:active {
    text-decoration: none;
    color: inherit;
}

/* 2. MOBILE HEADER & LOGO */
.mobile-header {
    display: none;
    position: fixed;
    top: 0; left: 0; right: 0;
    height: 60px;
    background: rgba(18, 18, 22, 0.95);
    backdrop-filter: blur(10px);
    border-bottom: 1px solid #25252b;
    z-index: 3000;
    align-items: center;
    padding: 0 20px;
    justify-content: space-between;
}

.hamburger span {
    width: 25px; height: 3px;
    background: white;
    border-radius: 2px;
}

.logo-white { color: #ffffff !important; }
.logo, .mobile-logo { color: #ff007a; font-weight: 800; }
.mobile-logo { color: #ffffff; font-weight: bold; font-size: 20px; }

/* 3. SIDEBAR STYLING */
.sidebar {
    width: 220px;
    flex-shrink: 0;
    background: #0b0b0d;
    border-right: 1px solid #1a1a1e;
    display: flex;
    flex-direction: column;
    padding: 20px;
    z-index: 2000;
    transition: transform 0.3s ease;
}

.logo {
    font-size: 24px;
    font-weight: 800;
    color: #ffffff; 
    margin-bottom: 40px;
    letter-spacing: -1px;
}

.nav-links a {
    text-decoration: none;
    color: inherit; 
}

.nav-links li {
    padding: 12px 15px;
    margin-bottom: 8px;
    border-radius: 12px;
    color: #b5b5b5;
    font-weight: 500;
    list-style: none;
    cursor: pointer;
    transition: 0.2s;
}

.nav-links li:hover, .nav-links li.active {
    background-color: #1a1a1e;
    color: white;
	
}

.nav-links.secondary {
    margin-top: auto;
    border-top: 1px solid #1a1a1e;
    padding-top: 20px;
}

/* 4. MAIN CONTENT AREA (INDEX) */

/* Verwijder hier de flex-instructies die de grid breken */
.main-content {
    display: block !important; 
    width: 100%;
    padding: 0 20px;
    min-width: 0;
}

/* Behoud flex alleen voor de specifieke pagina's die gecentreerd moeten worden */
.chat-page, .pay-content-wrapper {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-width: 0;
}


/* Forceer de containers in het midden */
.pay-container, .contact-container, .create-container {
    margin: 0 auto !important;         /* Alleen auto margin voor centrering */
    display: block;
    width: 90%;                        /* Flexibele breedte op kleinere schermen */
    max-width: 450px;                  /* Harde maximale breedte */
}

.desktop-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 30px;
}



.header-auth { display: flex; gap: 15px; }
.create-account-btn { background: transparent; border: 1px solid #333; color: white; padding: 8px 16px; border-radius: 8px; cursor: pointer; }
.login-btn { background: white; color: black; border: none; padding: 8px 16px; border-radius: 8px; cursor: pointer; }


.login-btn-small {
    background: rgba(255,255,255,0.08);
    color: #ffffff;
    border: 1px solid rgba(255,255,255,0.15);
    padding: 6px 14px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    backdrop-filter: blur(6px);
    transition: all 0.2s ease;
}

/* Styling voor de Language Dropdown in de sidebar */
/* Styling voor de Dropdown containers in de sidebar */
.language-dropdown {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 10px 0; /* Iets minder padding voor meer ruimte */
    margin: 0 5px;
}

.language-dropdown label {
    font-size: 11px;
    color: #666;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    font-weight: 700;
}

/* De gezamenlijke stijl voor Language en More dropdowns */
.custom-select {
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    background-color: #1a1a1e !important;
    /* Het roze pijltje */
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23ff007a' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 12px center !important;
    color: #ffffff !important;
    border: 1px solid #333 !important;
    padding: 10px 35px 10px 12px !important;
    border-radius: 10px !important;
    font-size: 14px !important;
    width: 100% !important; /* Zorgt dat ze beide even breed zijn */
    cursor: pointer !important;
	line-height: 1.2;
    margin-bottom: 5px;
}

.custom-select:hover {
    border-color: #555;
    background-color: #25252b;
}

.custom-select:focus {
    border-color: #ff007a;
    box-shadow: 0 0 0 2px rgba(255, 0, 122, 0.2);
}

.custom-select option {
    background: #1a1a1e;
    color: white;
}
.register-link{
    color:#c7c7c7;
    font-size:12px;
    cursor:pointer;
    display:block;
    margin-top:6px;
}

.register-link:hover{
    color:#ffffff;
}

.register-bonus{
    color:#ff007a;
    font-weight:600;
}

.main-content{
    padding: 0 20px;
}

/* hover effect */
.login-btn-small:hover {
    background: #ff007a;
    border-color: #ff007a;
    transform: translateY(-1px);
}

/* active click */
.login-btn-small:active {
    transform: translateY(0);
    opacity: 0.9;
}

/* 5. PROMO SLIDER */
.promo-slider {
    width: 100%;
    height: 320px;
    border-radius: 24px;
    overflow: hidden;
    position: relative;
    margin-bottom: 40px;
}

.slider-container { display: flex; height: 100%; transition: transform 0.5s ease; }
.slide { min-width: 100%; position: relative; }
.slide img { width: 100%; height: 100%; object-fit: cover; }
.slide-content { position: absolute; bottom: 40px; left: 40px; z-index: 10; }
.slide-content h2 { font-size: 32px; font-weight: 800; margin-bottom: 15px; }
.slider-btn { background: #ff007a; color: white; border: none; padding: 12px 24px; border-radius: 12px; font-weight: 700; cursor: pointer; }

/* 6. STORY BAR */
.story-bar { display: flex; gap: 20px; margin-bottom: 40px; overflow-x: auto; padding-bottom: 10px; }
.story-circle { display: flex; flex-direction: column; align-items: center; min-width: 80px; gap: 8px; }
.circle-inner { width: 75px; height: 75px; border-radius: 50%; border: 2px solid #ff007a; padding: 3px; }
.circle-inner img { width: 100%; height: 100%; border-radius: 50%; object-fit: cover; }

/* 7. GRID & CARDS (INDEX) */
.character-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 24px; }
.card { background-color: #1a1a1e; border-radius: 24px; overflow: hidden; position: relative; text-decoration: none; transition: transform 0.3s; }
.card:hover { transform: translateY(-5px); }
.video-container { height: 380px; position: relative; }
.video-container video { width: 100%; height: 100%; object-fit: cover; }

.live-tag {
    position: absolute;
    top: 12px; left: 12px;
    background: rgba(0, 0, 0, 0.6);
    backdrop-filter: blur(4px);
    color: white;
    padding: 6px 12px;
    border-radius: 10px;
    font-size: 12px;
    font-weight: 700;
    z-index: 10;
    display: flex;
    align-items: center;
    gap: 6px;
}

.slide-link {
    text-decoration: none; /* Verwijdert onderstreping */
    color: inherit;        /* Behoudt de witte tekstkleur van de h2 */
    display: block;        /* Zorgt dat de hele slide klikbaar is */
    width: 100%;
    height: 100%;
}

.slide-link:hover {
    text-decoration: none;
}

.header-auth {
    display: flex;
    gap: 15px;
    margin-bottom: 30px; /* Pas dit getal aan om de witruimte te vergroten of verkleinen */
}

/* Kruisje standaard verbergen (desktop) */
.close-menu {
    display: none;
}


/* Zorg dat de wrapper op de detailpagina de layout niet breekt */
.detail-body .main-content {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

@media (min-width: 901px) {
	
	.detail-body .main-content:has(.pay-content-wrapper) {
        margin-left: 250px !important; 
        width: calc(100% - 250px) !important;
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        padding: 0 !important;
    }
	
	.bot-description-section {
		max-width: 1200px;
		margin: 40px auto !important; 
		padding: 30px;
		background: #1a1a1e !important;
		border-radius: 20px;
		color: #eeeeee !important;
		border: 1px solid #333;
		clear: both;
		display: block;
		position: relative; /* Reset fixed positie op desktop */
	}
	
    /* 1. Hoofdpagina instellingen */
    .detail-body .main-content {
        display: block !important; 
        height: 100vh !important; /* Dwing de main-content tot schermhoogte */
        margin-left: 250px !important; 
        width: calc(100% - 250px) !important;
        padding: 0 !important;
        overflow: hidden; /* Voorkom dubbele scrollbars op de hele pagina */
    }
	
    /* 2. De Chat-Page: Nu met een harde limiet */
	.detail-body .chat-page {
		display: flex !important;
		flex-direction: row !important;
		align-items: stretch !important;
		height: 85vh !important;
		margin: 0 !important;
		width: 100% !important;
		background: #fff;
		border-radius: 0 !important;
		overflow: hidden;
		border: 1px solid #333;
	}

    /* 3. Linkerzijde: Video volledig tonen met behoud van info-overlay */
    .detail-video-header {
        flex: 0 0 45% !important; 
        background: #000;
        position: relative;
        display: flex;
        flex-direction: column;
        justify-content: center;
        overflow: hidden;
    }
	
	.bio-link {
        display: none !important;
    }

    .detail-video-stack {
        width: 100%;
        height: 100%;
        position: relative;
        display: flex;
        align-items: center;
    }

    .detail-video-stack video {
        width: 100% !important;
        height: 100% !important;
        object-fit: contain !important; /* Behoudt de volledige video */
        z-index: 1;
    }
	
	.bio-content{
		padding: 10px;
	}
	
	#bio-trigger, 
    .video-bio-btn, 
    .close-bio {
        display: none !important;
    }

    /* FIX: Zorg dat de naam en kinks over de zwarte balken van de video vallen indien nodig */
    .detail-info-overlay {
        z-index: 10;
        background: linear-gradient(to top, rgba(0,0,0,0.9) 0%, transparent 100%);
		pointer-events: none;
    }
	
	.extra-details-overlay a {
    pointer-events: auto !important;
	}

    /* 4. Rechterzijde: Chat Container */
    .chat-container {
        flex: 1 !important; 
        background: #ffffff;
        display: flex !important;
        flex-direction: column !important;
        height: 100% !important; /* Dwingt chat tot dezelfde hoogte als video-kolom */
    }

    /* 5. Chat geschiedenis: Hier mag gescrold worden */
    .chat-history {
        flex: 1 !important;
        overflow-y: auto !important;
        padding: 20px;
        background: #fff;
        min-height: 0;
    }

    /* 6. Invoerveld: Nu gegarandeerd onderaan het witte vlak */
    .chat-input-area {
        flex: 0 0 auto !important;
        padding: 15px 25px;
        background: #f8f8fa;
        border-top: 1px solid #eee;
    }

    /* 7. Bio sectie (deze komt onder de 85vh chat-page, dus je moet scrollen om dit te zien) */
    .bot-description-section {
        display: block !important;
        position: relative !important;
        margin: 20px !important;
        background: transparent !important;
        padding: 0 !important;
    }

    /* Zorg dat de hoofd-container scrollbaar is voor de bio */
    .detail-body .main-content {
        overflow-y: auto !important;
    }
}



/* Zorg dat de bio-grid er goed uitziet op desktop */
.bio-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
    margin: 20px 0;
}

/* Zorg dat de stack en de video's altijd 100% vullen */
.detail-body .detail-video-stack {
    height: 100%;
    width: 100%;
}

/* De footer moet gewoon onder de 100vh chat-page komen */
#footer-container {
    width: 100%;
    background: #0b0b0d;
}




.sidebar-auth-box {
    padding: 10px 15px;
    margin-bottom: 20px;
    border-radius: 12px;
    background: #1a1a1e; /* Iets lichter dan de zwarte achtergrond */
}

.sidebar-auth-user {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.status-label {
    font-size: 11px;
    text-transform: uppercase;
    color: #b5b5b5;
    letter-spacing: 1px;
}

.logout-link {
    color: #ff007a;
    font-size: 14px;
    text-decoration: none;
    font-weight: bold;
    cursor: pointer;
}

.live-tag::before { content: ""; width: 8px; height: 8px; background-color: #4ade80; border-radius: 50%; box-shadow: 0 0 8px #4ade80; }

.card-overlay { position: absolute; bottom: 0; width: 100%; padding: 16px; background: linear-gradient(to top, rgba(0,0,0,0.9), transparent); }
.chat-btn { background: #ff007a; color: white; border: none; width: 100%; padding: 10px; border-radius: 50px; font-weight: 700; cursor: pointer; margin-top: 10px; }

.card-overlay h3 {
    color: #ffffff !important; 
}

.card-overlay h3 span {
    color: #ffffff !important;
}

.main-content h1 {
    margin-bottom: 30px; /* Pas dit getal aan voor meer of minder ruimte */
}

/* Zorg dat de container de juiste context heeft */
.video-container {
    position: relative;
    background-color: #000;
    overflow: hidden;
    height: 380px; /* Behoud de hoogte die je al had */
}

/* De video staat ALTIJD klaar op de achtergrond */
.video-container video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0; /* Onzichtbaar tot hover */
    z-index: 1;
    display: block; /* Zorg dat het geen 'inline' element is */
}

/* De poster (afbeelding) staat erbovenop */
.video-poster {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 2;
    opacity: 1;
    transition: opacity 0.3s ease;
}

/* De magie bij hover: wissel de z-index en opacity */
.video-container.playing video {
    opacity: 1 !important;
    z-index: 3 !important;
}

.video-container.playing .video-poster {
    opacity: 0 !important;
    z-index: 1 !important;
}

/* Forceer de tekst over de video heen */
.card-overlay {
    z-index: 5 !important;
}

/* --- 8. DETAILPAGINA ELEMENTEN (DESKTOP) --- */
.chat-page {
    flex: 1;
    display: flex;
    flex-direction: row;
    height: 100%;
    overflow: hidden;
    background-color: #ffffff; /* Chat achtergrond is nu wit op desktop */
}

.detail-video-header {
    flex: 0 0 45%; 
    height: 100%;
    position: relative;
    background: #000;
    border-right: 1px solid #eee;
    overflow: hidden;
}

.detail-video-stack {
    position: relative;
    width: 100%;
    height: 100%; /* Vult de hele linker kolom */
    background: #000;
}

/* De overlay over de video voor Naam, Telegram en Kinks */
.detail-info-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 60px 25px 30px;
    background: linear-gradient(to top, rgba(0,0,0,0.9) 0%, rgba(0,0,0,0.4) 60%, transparent 100%);
    color: white;
    z-index: 10;
    pointer-events: none; /* Voorkomt dat deze layer klikken op het i-tje blokkeert */
}

.extra-details-overlay a, 
#telegramLink, 
#detailTelegram {
    pointer-events: auto !important;
    cursor: pointer !important;
    position: relative;
    z-index: 20;
}

.detail-info-overlay h2 {
    font-size: 32px;
    margin-bottom: 5px;
}

.extra-details-overlay {
    margin-top: 15px;
    font-size: 14px;
    opacity: 0.9;
}


/* Voeg dit toe of pas de bestaande .message aan */
.message {
    padding: 12px 18px;    /* Geeft ruimte aan de binnenkant van de ballon */
    margin: 5px 0;         /* Ruimte tussen de ballonnen onderling */
    line-height: 1.4;      /* Zorgt dat regels tekst niet op elkaar plakken */
    max-width: 80%;        /* Voorkomt dat ballonnen de hele breedte pakken */
    font-size: 15px;       /* Optioneel: voor net wat betere leesbaarheid */
    word-wrap: break-word; /* Voorkomt dat lange woorden buiten de ballon vallen */
}

/* Je bestaande specifieke kleuren blijven gewoon staan */
.message.ai {
    background: #f0f0f2;
    color: #1a1a1e;
    align-self: flex-start;
    border-radius: 18px 18px 18px 4px;
}

.message.user {
    background: #ff007a;
    color: white;
    align-self: flex-end;
    border-radius: 18px 18px 4px 18px;
}

.chat-container {
    flex: 1;
    display: flex;
    flex-direction: column;
    height: 100vh;
    height: 100dvh; /* Voor mobiele browsers */
    background: #ffffff;
    position: relative;
    z-index: 2; /* Zorg dat de chat boven de video-header uitkomt indien nodig */
}

/* Dit duwt de input naar beneden */
.chat-history {
    flex: 1; 
    overflow-y: auto;
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    min-height: 0; /* Belangrijk voor flex-scroll */
}



/* Styling van het invoerveld zoals afgesproken */
.chat-input-area {
    display: flex;
    padding: 15px 25px;
    background: #f1f1f4;
    border-top: 1px solid #eee;
    gap: 10px;
    align-items: center;
}

.chat-input-area input {
    flex: 1;
    padding: 12px 20px;
    border-radius: 25px;
    border: 1px solid #ddd;
    outline: none;
    font-size: 16px;
    background: white;
}

.chat-input-area button {
    background: #ff007a;
    color: white;
    border: none;
    padding: 12px 25px;
    border-radius: 25px;
    font-weight: bold;
    cursor: pointer;
}

@media (max-width: 767px) {
    /* Verander de bron van de afbeelding voor mobiel */
    .slide img.mobile-optimized {
        content: url('images/headers/header1_mobiel.png') !important;
    }
}

/* --- 9. RESPONSIVE LOGICA --- */
@media (max-width: 900px) {
	
	
	.sidebar .nav-section, 
    .sidebar .sidebar-card, 
    .sidebar .logo-container {
        display: block !important;
        opacity: 1 !important;
        visibility: visible !important;
    }

    .sidebar .nav-link {
        display: flex !important;
        color: #ffffff !important; /* Zorg dat tekst wit is op de zwarte achtergrond */
    }

    /* Zorg dat de close-button (het kruisje) zichtbaar is */
    .sidebar .close-menu {
        display: block !important;
        z-index: 4001;
    }
	    .close-menu {
        display: block;
        color: white;
        font-size: 24px;
        position: absolute;
        right: 20px;
        top: 20px;
        cursor: pointer;
    }
	
	
    .sidebar {
        position: fixed;
        top: 0;
        left: 0;
        bottom: 0;
        width: 280px; /* Of de breedte die je wenst */
        transform: translateX(-100%); /* Staat links buiten beeld */
        transition: transform 0.3s ease;
        z-index: 4000;
        display: flex !important; /* Zorg dat hij niet op display:none staat */
    }

    /* Wanneer JS de class 'open' toevoegt, schuif hem in beeld */
    .sidebar.open {
        transform: translateX(0);
    }

    /* De overlay die de rest van de pagina donker maakt */
    .sidebar-overlay {
        display: none;
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: rgba(0,0,0,0.5);
        z-index: 3500;
    }

    .sidebar-overlay.show {
        display: block;
    }
	
		
	.sidebar {
        position: fixed;
        top: 0;
        left: -100%; /* Verberg de sidebar standaard links buiten beeld */
        width: 280px;
        height: 100vh;
        z-index: 9999;
        transition: left 0.3s ease; /* Vloeiende animatie */
        background-color: #0b0b0d;
    }
	
	.logo-container, .sidebar-card, .nav-section {
        border: none;
        margin-bottom: 0;
    }
	
    .sidebar {
        position: fixed;
        top: 0;
        left: -100%; /* Verberg de sidebar standaard links buiten beeld */
        width: 280px;
        height: 100vh;
        z-index: 9999;
        transition: left 0.3s ease; /* Zorg voor een vloeiende animatie */
        background-color: #0b0b0d;
    }

	
	.top-info-bar {
        position: fixed !important;
        top: 75px;
        left: 20px;
        right: 20px;
        display: flex;
        justify-content: space-between;
        align-items: center;
        /* Verhoog dit naar een extreem hoog getal */
        z-index: 30000 !important; 
        pointer-events: auto !important; 
    }
	
    /* 1. Mobiele Header & Hamburger Icoon */
	.mobile-header {
        display: flex;
        justify-content: space-between;
        align-items: center;
    }

    .mobile-auth-icon {
        width: 40px;
        display: flex;
        justify-content: flex-end;
        align-items: center;
    }
	/* 2. Herstel de Overlay Container */
    .detail-info-overlay {
        display: block !important; /* Zorg dat de container weer bestaat */
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        pointer-events: none; /* Laat klikken door naar de video/knoppen */
        z-index: 10;
    }

    /* Wordt alleen gebruikt als je de layer specifiek wilt toggelen */
    .detail-info-overlay.is-visible {
        display: block !important;
        z-index: 10001; 
    }

    /* Stijl voor een klein login-icoontje of tekst */
    .mobile-login-btn {
    cursor: pointer;
    font-size: 22px; /* Iets groter voor duim-vriendelijkheid */
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 5px;
	}

    .hamburger {
        display: flex;
        flex-direction: column;
        gap: 5px;
        cursor: pointer;
    }

    .hamburger span {
        width: 25px;
        height: 3px;
        background: white; /* Zorgt dat de streepjes zichtbaar zijn */
        border-radius: 2px;
    }

    /* 2. Sidebar & Navigatie */
    .sidebar {
        position: fixed;
        top: 0;
        left: 0;
        bottom: 0;
        transform: translateX(-100%);
        transition: transform 0.3s ease;
        z-index: 4000;
    }

    .sidebar.open {
        transform: translateX(0);
    }

    .sidebar-overlay.show {
        display: block;
        position: fixed;
        top: 0; left: 0; right: 0; bottom: 0;
        background: rgba(0,0,0,0.5);
        z-index: 3500;
    }

    /* 3. Video als achtergrond */
	.detail-video-header {
			position: fixed;
			top: 0;
			left: 0;
			width: 100vw;
			height: 100vh;
			z-index: 1;
		}

    /* 4. Chat Transparantie (De fix voor de zichtbaarheid) */
	
	.chat-input-area button {
        flex-shrink: 0; /* Knop mag niet kleiner worden */
        white-space: nowrap;
    }
	
	.chat-input-area input {
        flex: 1;
        min-width: 0; /* Essentieel voor flexbox op mobiel */
    }
  
	
	.chat-container {
			position: fixed;
			bottom: 0;
			width: 100%;
			height: 40vh;
			z-index: 2;
			background: transparent !important;
			pointer-events: none; /* Klikken gaat door de container heen naar de video... */
		}

	.chat-history {
		position: fixed !important;
		left: 0;
		right: 0;
		bottom: calc(90px + env(safe-area-inset-bottom)) !important;
		max-height: 35vh !important;
		overflow-y: auto !important;
		pointer-events: auto !important;
		z-index: 20001 !important;
		padding: 12px 16px !important;
		display: flex !important;
		flex-direction: column !important;
		gap: 10px !important;

		/* --- HERSTEL DE GRADIENT HIER --- */
		/* De fade begint bovenin (0%) transparant en wordt op 25% volledig zichtbaar (black) */
		mask-image: linear-gradient(to bottom, transparent 0%, black 25%) !important;
		-webkit-mask-image: linear-gradient(to bottom, transparent 0%, black 25%) !important;
	  }

	.chat-input-area {
			pointer-events: auto;
			position: fixed;
			bottom: 0;
			background: rgba(18, 18, 22, 0.9);
			backdrop-filter: blur(10px);
		}
	/* Zorg dat laatste bericht niet onder de input valt */
	.chat-history{
		padding-bottom: 90px; /* ongeveer hoogte van inputbar */
	}

    /* 5. Berichten Styling */
    .message {
        pointer-events: auto;
        background: rgba(0, 0, 0, 0.6) !important;
        backdrop-filter: blur(8px);
        color: white !important;
        border: 1px solid rgba(255, 255, 255, 0.15);
        max-width: 85%;
    }

	
	
	/* Verplaats Naam + Leeftijd naar boven onder de header */
	.main-info-top {
        position: relative !important; /* Overschrijf de fixed van eerder */
        top: auto !important;
        left: auto !important;
    }
	
	.bio-link {
        pointer-events: auto !important;
		position: relative;
		z-index: 30001 !important;
        background: rgba(0, 0, 0, 0.6);
        backdrop-filter: blur(8px);
        padding: 5px 15px;
        border-radius: 20px;
        border: 1px solid rgba(255, 255, 255, 0.3);
        color: #ffffff;
        font-size: 12px;
        font-weight: 800;
        text-transform: uppercase;
        letter-spacing: 0.5px;
        cursor: pointer;
    }

    .main-info-top h2 {
        font-size: 24px !important;
        color: #ffffff !important;
        text-shadow: 0 2px 10px rgba(0,0,0,0.9);
        font-weight: 800;
    }

	.main-info-top h2 span {
        color: #b5b5b5 !important;
        font-size: 0.8em;
        margin-left: 8px;
    }

    /* Verberg de rest op mobiel zoals gevraagd */
	.main-info-bottom {
        display: none !important;
    }

	/* Beperk chat tot de onderste 30% en voeg de fade toe */
	.chat-history {
		display: flex;
		flex-direction: column;
		justify-content: flex-end;
		height: 100%;
		padding-bottom: calc(90px + env(safe-area-inset-bottom)); /* <-- belangrijk */
		mask-image: linear-gradient(to bottom, transparent 60%, black 85%);
		-webkit-mask-image: linear-gradient(to bottom, transparent 60%, black 85%);
	}

    /* Zorg dat de container de ruimte vult maar niet klikbaar is bovenin */
    .chat-container {
        justify-content: flex-end;
    }
	
	.detail-body .chat-page {
        height: 100vh !important;
        height: 100dvh !important;
        position: fixed; /* Fixeert de basis tegen zweven */
        top: 0;
        left: 0;
        width: 100%;
        display: flex;
        flex-direction: column;
    }

    /* 3. Laat de chat-geschiedenis alle restruimte vullen */
    .detail-body .chat-container {
        flex: 1 !important;
        display: flex;
        flex-direction: column;
        justify-content: flex-end;
        height: 100% !important;
    }
	
	.detail-body #footer-container {
        display: none !important;
    }
	
	/* --- Overlay Bio Logica --- */
    body.detail-body {
        overflow: hidden !important; /* Voorkom scrollen van de achtergrond */
    }



    /* BIO OVERLAY OP MOBIEL */
    .bot-description-section {
        position: fixed !important;
        top: 0;
        right: -100%; /* Start buiten beeld */
        width: 85% !important;
        height: 100vh !important;
        background: #1a1a1e !important;
        z-index: 10000 !important;
        margin: 0 !important;
        padding: 60px 20px !important;
        transition: right 0.4s ease-in-out;
        overflow-y: auto;
        display: block !important;
    }

    .bot-description-section.open {
        right: 0 !important; /* Schuif in beeld */
    }

    body.bio-open {
        overflow: hidden !important;
    }

    .close-bio {
        display: block !important;
        position: absolute;
        top: 20px;
        left: 20px;
        font-size: 30px;
        color: white;
        cursor: pointer;
    }

    .bio-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }
	
	
.chat-container{
    position: fixed !important;
    left: 0;
    right: 0;
    bottom: 0;
    background: transparent !important;
    pointer-events: none;
    z-index: 20000 !important; /* hoger dan video (z-index:1) */
  }

  /* Chat history: vaste balk boven de input */
  .chat-history{
    position: fixed !important;
    left: 0;
    right: 0;
    bottom: calc(90px + env(safe-area-inset-bottom)) !important; /* boven input */
    max-height: 35vh !important;
    overflow-y: auto !important;
    pointer-events: auto !important;
    z-index: 20001 !important;

    /* belangrijk: ruimte zodat laatste bericht niet “tegen de rand” plakt */
    padding: 12px 16px !important;

    /* maak layout consistent */
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;

    /* zet mask uit, dit kan ook ‘verdwijnen’ veroorzaken in combinatie met fixed */
    mask-image: none !important;
    -webkit-mask-image: none !important;
  }

  /* Input altijd bovenaan de stack */
  .chat-input-area{
    position: fixed !important;
    left: 0;
    right: 0;
    bottom: 0;
    pointer-events: auto !important;
    z-index: 20002 !important;
  }

	
	
}




/* Uniforme basis voor alle sidebar elementen */
.sidebar-auth-box, 
.sidebar-panel-warning, 
.nav-panel-link, 
.custom-select {
    width: 100% !important;
    background: #1a1a1e !important;
    border: 1px solid #333 !important;
    border-radius: 12px !important;
    margin-bottom: 12px !important;
    display: block;
    box-sizing: border-box;
    transition: all 0.2s ease;
}

/* Navigatie knop 'Alle vrouwen' */
.nav-panel-link {
    text-align: center;
    padding: 14px;
    text-decoration: none;
    color: white !important;
    font-weight: bold;
    border-left: 4px solid #ff007a !important; /* Roze accent */
}

.nav-panel-link:hover {
    background: #25252b !important;
}

/* Credit waarschuwing binnen de paneel-stijl */
.sidebar-panel-warning {
    padding: 15px;
    background: rgba(255, 0, 122, 0.05) !important;
    border-color: #ff007a !important;
    text-align: center;
}

.sidebar-panel-warning p {
    color: #ff007a;
    font-size: 13px;
    font-weight: bold;
    margin-bottom: 10px;
}

.btn-buy-credits {
    display: inline-block;
    padding: 6px 15px;
    background: #ff007a;
    color: white;
    border-radius: 6px;
    text-decoration: none;
    font-size: 12px;
    font-weight: bold;
}

/* Dropdown specifieke correcties */
.custom-select {
    padding: 12px !important;
    height: 45px !important;
    cursor: pointer;
}

/* Verberg de oude lijsten */
.nav-links { display: none; }


/* Zorg dat alle tekst binnen het bio-blok wit/lichtgrijs is */
.bot-description-section {
    max-width: 1200px;
    margin: 40px auto !important; 
    padding: 30px;
    background: #1a1a1e !important; /* Forceer donker thema */
    border-radius: 20px;
    color: #eeeeee !important;      /* Witte tekst */
    border: 1px solid #333;
    clear: both;
    display: block;
}

.bot-description-section h2 {
    color: #ff007a !important;
    border-bottom: 2px solid #ff007a;
    padding-bottom: 8px;
    margin-bottom: 15px;
}

.bot-description-section h3 {
    color: #ffffff !important;
    font-size: 20px;
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 20px;
}

.bio-item p, .rules-section p {
    color: #cccccc !important;
}

.rules-section {
    margin-top: 30px;
    background: rgba(255, 0, 122, 0.05) !important;
    padding: 20px;
    border-radius: 15px;
    border-left: 4px solid #ff007a;
}

.rules-section ul li {
    color: #ffffff !important;
    margin-bottom: 10px;
}


/* 1. Alleen centreren op de betaalpagina, NIET op de chat/detailpagina */
.pay-content-wrapper {
    display: flex !important;
    justify-content: center !important; /* Horizontale centrering */
    align-items: center !important;    /* Verticale centrering */
    width: 100% !important;            /* Vult de volledige breedte van .main-content */
    min-height: 90vh;                  /* Neemt bijna volledige hoogte in */
    padding: 0 !important;             /* Verwijdert padding die balans verstoort */
    flex-direction: column !important;
}

/* 2. Zorg dat de main-content op de betaalpagina wel de volledige hoogte pakt */
/* We kijken of er een pay-content-wrapper in zit om de detailpagina te ontzien */
.main-content:has(.pay-content-wrapper) {
    display: flex !important;
    flex-direction: column !important;
    min-height: 100vh;
}


/* Container styling */
.custom-lang-selector {
    position: relative;
    width: 100%;
    margin-bottom: 12px;
    font-size: 14px;
    user-select: none;
}

/* Het geselecteerde vakje */
.lang-selected {
    background: #1a1a1e;
    border: 1px solid #333;
    border-radius: 12px;
    padding: 10px 15px;
    display: flex;
    align-items: center;
    gap: 12px;
    cursor: pointer;
    transition: all 0.2s ease;
}

.lang-selected:hover {
    border-color: #555;
    background: #25252b;
}

.lang-selected img, .lang-option img {
    width: 20px;
    border-radius: 2px;
}

.arrow-icon {
    margin-left: auto;
    font-size: 10px;
    color: #ff007a;
    transition: transform 0.3s ease;
}

/* De lijst met opties */
.lang-options {
    position: absolute;
    bottom: calc(100% + 5px); /* Opent naar boven in de sidebar */
    left: 0;
    width: 100%;
    background: #1a1a1e;
    border: 1px solid #333;
    border-radius: 12px;
    overflow: hidden;
    display: none; /* Verborgen standaard */
    z-index: 100;
    box-shadow: 0 10px 30px rgba(0,0,0,0.5);
    animation: slideUp 0.3s ease;
}

.lang-options.show {
    display: block;
}

.lang-option {
    padding: 12px 15px;
    display: flex;
    align-items: center;
    gap: 12px;
    cursor: pointer;
    transition: background 0.2s;
}

.lang-option:hover {
    background: #25252b;
    color: #ff007a;
}

/* Animatie */
@keyframes slideUp {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

/* Draai pijltje als dropdown open is */
.custom-lang-selector.open .arrow-icon {
    transform: rotate(180deg);
}

/* --- COMPACT NOIR MINIMAL SIDEBAR --- */

/* 1. Algemene Sidebar Container - Gestroomlijnd voor no-scroll */
.sidebar {
    background-color: #0b0b0d; /* Iets dieper zwart */
    border-right: 1px solid #1a1a1e;
    padding: 20px 12px; /* Minder padding voor breedte besparing */
    display: flex;
    flex-direction: column;
    height: 100vh; /* Volledige hoogte */
    overflow: hidden; /* Dwingt no-scroll af */
}

/* 2. Logo - Minder padding */
.logo-container {
    padding-bottom: 20px;
    margin-bottom: 15px;
    border-bottom: 1px solid #1a1a1e;
    text-align: center;
}

/* 3. Compacte "Card" Styling */
.sidebar-card {
    background: #141417; /* Iets lichtere achtergrond voor diepte */
    border: 1px solid #1a1a1e;
    border-radius: 12px;
    padding: 15px 12px; /* Zeer compacte padding */
    margin-bottom: 12px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.2);
}

/* 4. Navigatie Links - Compact */
.nav-link {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #b5b5b5;
    text-decoration: none;
    font-size: 14px;
    font-weight: 500;
    padding: 8px 10px;
    border-radius: 8px;
    margin-bottom: 4px; /* Minimale afstand */
    transition: all 0.2s ease;
}

.nav-link:hover {
    background-color: rgba(255, 0, 122, 0.05);
    color: white;
}

.nav-link.active {
    background-color: rgba(255, 0, 122, 0.1);
    color: #ff007a;
    font-weight: 700;
}

/* 5. Navigatie Icoontjes (SVG) */
.nav-icon {
    width: 16px;
    height: 16px;
    color: inherit;
}

/* 6. Credits Blok binnen de kaart - Compact */
.credits-block {
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid #25252b;
}

/* 7. + Add Credits Knop - Als een opvallende button */
.add-credits-btn {
    display: block; /* Volledige breedte */
    background: linear-gradient(135deg, #ff007a 0%, #ff4d9d 100%);
    color: white !important; /* Forceert wit */
    font-size: 11px;
    font-weight: 700;
    text-decoration: none;
    padding: 7px;
    border-radius: 6px;
    text-align: center;
    margin-top: 8px;
    transition: transform 0.2s;
}

.add-credits-btn:hover {
    transform: translateY(-1px);
}

/* 8. Limited Deal Promo Blokje - Compact */
.compact-deal-promo {
    background: linear-gradient(135deg, rgba(255, 0, 122, 0.1) 0%, rgba(255, 0, 122, 0.02) 100%);
    border: 1px dashed #ff007a;
    border-radius: 8px;
    padding: 8px;
    text-align: center;
    margin-top: 10px;
    cursor: pointer;
}

/* 9. Compacte Dropdowns voor Instellingen */
.custom-lang-selector.compact, .dropdown-wrapper.compact {
    width: 100%;
    margin-bottom: 0;
}

.custom-lang-selector.compact .lang-selected, .dropdown-wrapper.compact .custom-select {
    background: #1a1a1e;
    border: 1px solid #333;
    border-radius: 8px;
    padding: 8px 10px;
    font-size: 13px;
    height: auto; /* Forceert compactheid */
}

/* Dropdown opties openen naar boven */
.up-options {
    bottom: calc(100% + 5px);
    top: auto;
}



/* Specifieke variant voor de gratis welkomst-promo */
.welcome-promo-box {
    border: 1px dashed #4ade80 !important; /* Groene stippelrand */
    background: linear-gradient(135deg, rgba(74, 222, 128, 0.1) 0%, rgba(74, 222, 128, 0.02) 100%) !important;
}





.detail-video-stack {
    background: #000 !important;
}

.detail-video-stack video {
    /* Zorg dat opacity 0 echt 'hidden' is voor de browser engine */
    visibility: hidden; 
    transition: none !important;
}

.detail-video-stack video.is-active {
    visibility: visible;
    opacity: 1 !important;
}