


body:not(.ds-themed):not(.dashboard-body):not([data-no-polish]) {
    font-family: var(--font-sans) !important;
    background:
        radial-gradient(circle at 0% 0%, rgba(255,46,108,.04) 0%, transparent 50%),
        radial-gradient(circle at 100% 100%, rgba(30,144,255,.04) 0%, transparent 50%),
        var(--bg) !important;
    color: var(--text);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
[data-theme="dark"] body:not(.ds-themed):not([data-no-polish]) {
    background:
        radial-gradient(circle at 0% 0%, rgba(255,46,108,.07) 0%, transparent 50%),
        radial-gradient(circle at 100% 100%, rgba(30,144,255,.07) 0%, transparent 50%),
        var(--bg) !important;
}

h1, h2, h3, h4 { font-family: var(--font-sans); letter-spacing: -0.01em; }


html { scroll-behavior: smooth; }
:focus-visible {
    outline: 2px solid var(--accent);
    outline-offset: 2px;
    border-radius: 4px;
}


.navbar {
    background: linear-gradient(135deg, #14151a 0%, #1c1d27 100%) !important;
    border-bottom: 1px solid rgba(255,255,255,.06) !important;
    box-shadow: 0 4px 20px rgba(0,0,0,.18);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}
[data-theme="dark"] .navbar {
    background: linear-gradient(135deg, #0d0f14 0%, #14171f 100%) !important;
    box-shadow: 0 4px 20px rgba(0,0,0,.4);
}

.nav-container { max-width: 1280px !important; padding: 14px 24px !important; }

.nav-logo {
    background: linear-gradient(135deg, #ff2e6c 0%, #ff8b3d 100%);
    -webkit-background-clip: text !important;
    background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    letter-spacing: 0.06em !important;
    font-weight: 800 !important;
    font-size: 21px !important;
}

.nav-menu a {
    border-radius: 999px;
    padding: 8px 14px !important;
    font-size: 13px !important;
    font-weight: 500;
    letter-spacing: 0.02em;
    transition: all .2s ease !important;
    color: rgba(255,255,255,.78) !important;
    border: 1px solid transparent;
    text-transform: none !important;
}
.nav-menu a:hover {
    background: rgba(255,255,255,.08);
    color: #fff !important;
    border-bottom: 1px solid transparent !important;
    transform: translateY(-1px);
}
.nav-menu a i { color: var(--brand) !important; }

@media (max-width: 768px) {
    .nav-menu {
        background: linear-gradient(180deg, #14151a 0%, #1c1d27 100%) !important;
        padding: 16px !important;
        gap: 4px !important;
        box-shadow: 0 12px 32px rgba(0,0,0,.25);
    }
    .nav-menu a { padding: 12px 16px !important; }
}


.hero, section.hero {
    display: block !important;
    padding: 100px 24px 40px;
    text-align: center;
    background: linear-gradient(180deg, transparent 0%, rgba(255,46,108,.04) 100%);
}
.hero h1 {
    font-size: clamp(28px, 4vw, 44px) !important;
    font-weight: 800 !important;
    letter-spacing: -0.02em;
    background: linear-gradient(135deg, var(--text) 0%, var(--brand) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    margin-bottom: 12px !important;
    margin-top: 0 !important;
}
.hero p {
    font-size: 16px !important;
    color: var(--text-muted) !important;
    max-width: 640px;
    margin: 0 auto !important;
}


.testimonial-heading {
    margin-top: 48px !important;
    margin-bottom: 24px !important;
}
.testimonial-heading span {
    display: inline-block;
    font-size: 14px !important;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--text);
    padding: 8px 22px;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 999px;
    box-shadow: var(--shadow-sm);
    position: relative;
}
.testimonial-heading span::before,
.testimonial-heading span::after {
    content: '';
    position: absolute;
    top: 50%;
    width: 80px;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--border-strong), transparent);
}
.testimonial-heading span::before { right: 100%; margin-right: 16px; }
.testimonial-heading span::after  { left: 100%;  margin-left: 16px; }
@media (max-width: 600px) {
    .testimonial-heading span::before,
    .testimonial-heading span::after { display: none; }
}


.testimonial-heading-big {
    font-family: var(--font-sans);
    font-weight: 700;
    color: var(--text);
}


#searchInput, #searchInput2 {
    background: var(--surface) !important;
    border: 1px solid var(--border-strong) !important;
    border-radius: 14px !important;
    padding: 14px 20px 14px 46px !important;
    font-size: 15px !important;
    color: var(--text) !important;
    box-shadow: var(--shadow-sm);
    transition: border-color .2s, box-shadow .2s, transform .15s !important;
    max-width: 100% !important;
    margin-bottom: 0 !important;
    border-bottom: 1px solid var(--border-strong) !important;  
}
#searchInput:focus, #searchInput2:focus {
    outline: none !important;
    border-color: var(--brand) !important;
    box-shadow: 0 0 0 4px rgba(255,46,108,.14), var(--shadow-md) !important;
}
.zoekBtn, button.zoekBtn {
    background: linear-gradient(135deg, var(--brand) 0%, var(--brand-strong) 100%) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 12px !important;
    padding: 0 20px !important;
    height: 44px !important;
    font-weight: 600 !important;
    letter-spacing: 0.03em;
    cursor: pointer;
    transition: filter .15s, transform .1s, box-shadow .2s !important;
    box-shadow: 0 4px 14px rgba(255,46,108,.32);
    top: 3px !important;
}
.zoekBtn:hover { filter: brightness(1.08); transform: translateY(-1px); box-shadow: 0 8px 22px rgba(255,46,108,.42); }
.zoekBtn:active { transform: translateY(0); }


.relative svg.w-4.h-4 { width: 18px; height: 18px; color: var(--text-muted); margin-left: 6px; }


.btn.btnprofile-3, .btn.btnprofile-8, .btn.btnprofile-9 {
    background: var(--surface) !important;
    color: var(--text) !important;
    border: 1px solid var(--border-strong) !important;
    border-radius: 999px !important;
    padding: 10px 20px !important;
    margin: 4px !important;
    font-weight: 600 !important;
    font-size: 13px !important;
    letter-spacing: 0.02em;
    width: auto !important;
    height: auto !important;
    box-shadow: var(--shadow-sm);
    transition: all .2s ease !important;
    text-transform: uppercase;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    line-height: 1.2;
}
.btn.btnprofile-3:hover, .btn.btnprofile-8:hover, .btn.btnprofile-9:hover {
    background: linear-gradient(135deg, var(--brand) 0%, var(--brand-strong) 100%) !important;
    color: #fff !important;
    border-color: transparent !important;
    transform: translateY(-2px);
    box-shadow: 0 8px 18px rgba(255,46,108,.28);
}
.btn.btnprofile-3:hover i, .btn.btnprofile-8:hover i, .btn.btnprofile-9:hover i { color: #fff !important; }
.btn.btnprofile-3 i, .btn.btnprofile-8 i, .btn.btnprofile-9 i {
    color: var(--brand) !important;
    transition: color .2s ease;
    margin-right: 6px;
}
.btn.btnprofile-3-selected, .btn.btnprofile-8-selected, .btn.btnprofile-9-selected {
    background: linear-gradient(135deg, var(--brand) 0%, var(--brand-strong) 100%) !important;
    color: #fff !important;
    border-color: transparent !important;
    box-shadow: 0 6px 16px rgba(255,46,108,.28);
    border-radius: 999px !important;
}
.btn.btnprofile-3-selected i, .btn.btnprofile-9-selected i { color: #fff !important; }


.btn.btnprofile-1 {
    background: var(--surface) !important;
    color: var(--text) !important;
    border: 1px solid var(--border-strong) !important;
    border-radius: 12px !important;
    height: 48px !important;
    margin: 4px !important;
    font-weight: 600 !important;
    font-size: 13px !important;
    box-shadow: var(--shadow-sm);
    transition: all .2s ease !important;
    width: 150px;
}
.btn.btnprofile-1:hover {
    border-color: var(--brand) !important;
    color: var(--brand-strong) !important;
    transform: translateY(-1px);
    background: var(--brand-soft) !important;
    box-shadow: var(--shadow-md);
}
.btn.btnprofile-1-selected {
    background: linear-gradient(135deg, #14151a 0%, #2a2c38 100%) !important;
    color: #fff !important;
    border: 1px solid transparent !important;
    border-radius: 12px !important;
    height: 48px !important;
    margin: 4px !important;
    font-weight: 700 !important;
    font-size: 13px !important;
    box-shadow: var(--shadow-md);
}
[data-theme="dark"] .btn.btnprofile-1-selected {
    background: linear-gradient(135deg, var(--brand) 0%, var(--brand-strong) 100%) !important;
}


.profilecard {
    background: var(--surface) !important;
    border: 1px solid var(--border) !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    box-shadow: var(--shadow-sm);
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease !important;
    position: relative;
}
.profilecard:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-lg);
    border-color: var(--brand);
}

.profilecard .image-wrapper,
.profilecard .bg-cover {
    transition: transform .4s ease;
    border-radius: 16px 16px 0 0;
}
.profilecard:hover .image-wrapper,
.profilecard:hover .bg-cover { transform: scale(1.04); }


.profilecard .p-4 {
    padding: 16px !important;
    color: var(--text);
}


.v2-section > .v2-results-row,
.v2-search-layout .v2-results-row {
    align-items: stretch !important;
}
.v2-section > .v2-results-row > div,
.v2-search-layout .v2-results-row > div {
    display: flex !important;
    flex-direction: column;
}
.v2-section > .v2-results-row > div > .profilecard,
.v2-search-layout .v2-results-row > div > .profilecard,
.v2-section .profilecard,
.v2-search-layout .profilecard {
    flex: 1 1 auto !important;
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
}
.v2-section .profilecard .p-4,
.v2-search-layout .profilecard .p-4 {
    flex: 1 1 auto !important;
    display: flex !important;
    flex-direction: column;
}


.profilecard [style*="line-height: 3"],
.profilecard [style*="line-height:3"] {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
    line-height: 1.4 !important;
    align-content: flex-start;
    align-items: center;
    min-height: 0 !important;   
    margin-top: 12px !important;
    margin-bottom: 12px !important;

    
    font-size: 0 !important;
}

.profilecard [style*="line-height: 3"] > span,
.profilecard [style*="line-height:3"] > span {
    margin: 0 !important;
    white-space: nowrap;
    flex: 0 0 auto;
    font-size: 11px !important;
}
.profilecard [style*="line-height: 3"] br,
.profilecard [style*="line-height:3"] br {
    display: none;
}




.profilecard [style*="line-height:3"] > span:has(> i.fa-venus),
.profilecard [style*="line-height: 3"] > span:has(> i.fa-venus),
.profilecard [style*="line-height:3"] > span:has(> i.fa-mars),
.profilecard [style*="line-height: 3"] > span:has(> i.fa-mars),
.profilecard [style*="line-height:3"] > span:has(> i.fa-transgender),
.profilecard [style*="line-height: 3"] > span:has(> i.fa-transgender) {
    order: 1;
}
.profilecard [style*="line-height:3"] > span:has(> i.fa-user),
.profilecard [style*="line-height: 3"] > span:has(> i.fa-user) {
    order: 2;
}
.profilecard [style*="line-height:3"] > span:has(> i.fa-location-dot),
.profilecard [style*="line-height: 3"] > span:has(> i.fa-location-dot) {
    order: 3;
}

.profilecard [style*="line-height:3"] > span:has(> i.fa-house),
.profilecard [style*="line-height: 3"] > span:has(> i.fa-house),
.profilecard [style*="line-height:3"] > span:has(> i.fa-car),
.profilecard [style*="line-height: 3"] > span:has(> i.fa-car),
.profilecard [style*="line-height:3"] > span:has(> i.fa-bed),
.profilecard [style*="line-height: 3"] > span:has(> i.fa-bed),
.profilecard [style*="line-height:3"] > span:has(> i.fa-mask),
.profilecard [style*="line-height: 3"] > span:has(> i.fa-mask),
.profilecard [style*="line-height:3"] > span:has(> i.fa-computer),
.profilecard [style*="line-height: 3"] > span:has(> i.fa-computer) {
    order: 6;
}

.profilecard [style*="line-height:3"]::before,
.profilecard [style*="line-height: 3"]::before {
    content: '';
    flex-basis: 100%;
    height: 0;
    order: 5;
}

.profilecard [style*="line-height:3"]::after,
.profilecard [style*="line-height: 3"]::after {
    content: none;
}


.v2-section .profilecard .mb-4,
.v2-search-layout .profilecard .mb-4,
.profilecard .text-grey-darker.flex-1 {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    max-height: 4.6em;
    min-height: 4.6em;          
    margin-bottom: 0 !important;
    margin-top: auto;            
    color: var(--text-muted);
    font-size: 12px !important;
    line-height: 1.5;
}


.profilecard span[style*="background-color: black"],
.profilecard span[style*="background-color:black"],
.profilecard span[style*="background-color: rgb(0, 0, 0)"] {
    background: var(--surface-2) !important;
    color: var(--text) !important;
    border-radius: 999px !important;
    padding: 4px 10px !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    border: 1px solid var(--border);
    margin: 2px 2px 2px 0;
}
[data-theme="dark"] .profilecard span[style*="background-color: black"],
[data-theme="dark"] .profilecard span[style*="background-color:black"] {
    background: var(--surface-3) !important;
    color: var(--text) !important;
}


input[type="text"]:not(.profilecard input):not(#searchInput):not(#searchInput2),
input[type="email"], input[type="password"], input[type="number"], input[type="tel"],
input[type="date"], input[type="search"], select, textarea {
    background: var(--surface) !important;
    border: 1px solid var(--border-strong) !important;
    border-radius: 10px !important;
    padding: 12px 14px !important;
    font-size: 15px !important;
    color: var(--text) !important;
    font-family: var(--font-sans) !important;
    transition: border-color .2s, box-shadow .2s !important;
    width: 100%;
    box-sizing: border-box;
}
input[type="text"]:focus:not(#searchInput):not(#searchInput2),
input[type="email"]:focus, input[type="password"]:focus,
input[type="number"]:focus, input[type="tel"]:focus,
input[type="date"]:focus, input[type="search"]:focus,
select:focus, textarea:focus {
    outline: none !important;
    border-color: var(--brand) !important;
    box-shadow: 0 0 0 3px rgba(255,46,108,.14) !important;
}
input::placeholder, textarea::placeholder { color: var(--text-soft) !important; }


label.input-label, .form-label {
    display: block;
    font-size: 13px;
    color: var(--text-muted);
    margin-bottom: 6px;
    font-weight: 500;
}


#sitefooter {
    border-top: 1px solid var(--border) !important;
    background: var(--surface);
    padding: 24px 16px !important;
    color: var(--text-muted) !important;
    font-size: 13px !important;
    width: 100% !important;
    box-sizing: border-box;
}
#sitefooter::before {
    content: '';
    display: block;
    width: 60px;
    height: 3px;
    margin: 0 auto 16px;
    background: linear-gradient(90deg, var(--brand), var(--accent));
    border-radius: 2px;
}


.paginationBtn {
    background: var(--surface) !important;
    color: var(--text) !important;
    border: 1px solid var(--border-strong) !important;
    border-radius: 8px !important;
    padding: 8px 14px !important;
    margin: 0 4px !important;
    font-weight: 500;
    cursor: pointer;
    transition: all .15s ease;
}
.paginationBtn:hover {
    background: var(--brand) !important;
    color: #fff !important;
    border-color: var(--brand) !important;
    transform: translateY(-1px);
}
.paginationBtn-selected {
    background: linear-gradient(135deg, var(--brand), var(--brand-strong)) !important;
    color: #fff !important;
    border: 1px solid transparent !important;
    border-radius: 8px !important;
    padding: 8px 14px !important;
    margin: 0 4px !important;
    box-shadow: 0 4px 12px rgba(255,46,108,.3);
}


.kader {
    background: var(--surface);
    border-radius: 18px;
    margin: 110px auto 40px !important;
    padding: 32px;
    max-width: 1100px;
    box-shadow: var(--shadow-md);
    border: 1px solid var(--border);
}
@media (max-width: 768px) {
    .kader { padding: 20px; margin: 90px 12px 20px !important; border-radius: 14px; }
}

#profilePage > section.basic-grid1 {
    background: transparent !important;
}


.tablestats, .mobielbreed {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0 6px;
    font-size: 14px;
}
.tablestats th, .mobielbreed th {
    color: var(--text-muted) !important;
    font-weight: 500 !important;
    text-align: left;
    padding: 6px 12px 6px 0 !important;
    font-size: 13px;
}
.tablestats td, .mobielbreed td {
    padding: 6px 0 !important;
}
.tablestats span, .mobielbreed span { color: var(--text) !important; }


#prijzenbox, #description {
    color: var(--text);
}
#prijzenbox table { width: 100%; }
#price-containerOntvangst, #price-containerEscort {
    background: var(--surface-2);
    border-radius: 10px;
    padding: 10px;
    margin-top: 8px;
}


#reviewsbox {
}


#badge-containeronline {
    background: var(--success);
    color: #fff;
    padding: 4px 10px;
    border-radius: 999px;
    font-size: 11px;
    margin-left: 8px;
    box-shadow: 0 0 0 0 rgba(22,163,74,.6);
    animation: dsPulse 2s infinite;
}
@keyframes dsPulse {
    0%   { box-shadow: 0 0 0 0 rgba(22,163,74,.6); }
    70%  { box-shadow: 0 0 0 8px rgba(22,163,74,0); }
    100% { box-shadow: 0 0 0 0 rgba(22,163,74,0); }
}


img[src*="loading"] { filter: var(--text-muted-filter, none); }


table.transparent-box,
.transparent-box {
    background: var(--surface) !important;
    border-radius: 14px !important;
    border: 1px solid var(--border) !important;
    box-shadow: var(--shadow-sm);
    padding: 16px !important;
    margin-bottom: 12px !important;
}


body[data-page="404"] { text-align: center; }


.contact-form button[type="submit"],
form button[type="submit"],
form input[type="submit"] {
    background: linear-gradient(135deg, var(--brand) 0%, var(--brand-strong) 100%) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 12px !important;
    padding: 12px 28px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    letter-spacing: 0.03em;
    cursor: pointer;
    box-shadow: 0 4px 14px rgba(255,46,108,.28);
    transition: filter .15s, transform .1s !important;
}
.contact-form button[type="submit"]:hover,
form button[type="submit"]:hover,
form input[type="submit"]:hover {
    filter: brightness(1.08);
    transform: translateY(-1px);
}


@media (max-width: 640px) {
    .nav-container { padding: 12px 16px !important; }
    .hero { padding: 80px 16px 24px; }
    .hero h1 { font-size: 26px !important; }
    .testimonial-heading span::before,
    .testimonial-heading span::after { display: none; }
    .btn.btnprofile-3, .btn.btnprofile-8, .btn.btnprofile-9 {
        padding: 8px 14px !important; font-size: 12px !important; margin: 3px !important;
    }
}


@media (prefers-reduced-motion: no-preference) {
    .profilecard, .kader, .testimonial-heading {
        animation: dsFadeUp .4s ease-out;
    }
    @keyframes dsFadeUp {
        from { opacity: 0; transform: translateY(8px); }
        to   { opacity: 1; transform: translateY(0); }
    }
}


@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation-duration: 0s !important; transition-duration: 0s !important; }
}




.v2-page ul li,
.v2-page ol li {
    border-top: none !important;
    margin-top: 0 !important;
    padding: 0 !important;
}

.v2-page .v2-features li,
.v2-page .v2-contact-info-card li,
.v2-page .v2-tier__list li,
.v2-page .v2-footer__col {
    border-top: none !important;
    margin: 0 !important;
}

.v2-page .v2-contact-info-card li { padding: 6px 0 !important; }
.v2-page .v2-features li         { padding: 4px 0 !important; }
.v2-page .v2-tier__list li       { padding: 0 !important; }



html:has(body.v2-page),
body.v2-page {
    max-width: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}
.v2-page {
    background:
        radial-gradient(circle at 0% 0%,   rgba(255,46,108,.06) 0%, transparent 40%),
        radial-gradient(circle at 100% 60%, rgba(30,144,255,.05) 0%, transparent 45%),
        var(--bg) !important;
    color: var(--text);
    font-family: var(--font-sans) !important;
    -webkit-font-smoothing: antialiased;
    overflow-x: hidden;        
    box-sizing: border-box;
}
.v2-page *, .v2-page *::before, .v2-page *::after { box-sizing: border-box; }
[data-theme="dark"] .v2-page {
    background:
        radial-gradient(circle at 0% 0%,   rgba(255,46,108,.10) 0%, transparent 40%),
        radial-gradient(circle at 100% 60%, rgba(30,144,255,.08) 0%, transparent 45%),
        var(--bg) !important;
}


.v2-navbar {
    background: rgba(15,17,30,.72) !important;
    backdrop-filter: blur(18px) saturate(140%);
    -webkit-backdrop-filter: blur(18px) saturate(140%);
    border-bottom: 1px solid rgba(255,255,255,.08) !important;
    box-shadow: 0 8px 32px rgba(0,0,0,.18);
    
    position: fixed !important;
    top: 0;
    left: 0;
    right: 0;
    width: 100% !important;
    z-index: 1000;
}

.v2-nav-container {
    max-width: 1280px !important;
    margin: 0 auto !important;
    padding: 14px 24px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100%;
    box-sizing: border-box;
}
.v2-navbar .nav-menu {
    display: flex;
    gap: 4px;
    align-items: center;
    flex-wrap: wrap;
}
@media (max-width: 768px) {
    .v2-navbar .nav-toggle-label {
        display: flex !important;
        flex-direction: column;
        cursor: pointer;
        gap: 4px;
    }
    .v2-navbar .nav-toggle-label span {
  background-color: white;
  height: 2px;
  width: 25px;
  margin: 1px 0;
  transition: all 0.3s;
    }
    .v2-navbar .nav-toggle { display: none; }
    .v2-navbar .nav-toggle:checked ~ .nav-menu { display: flex; }
    .v2-navbar .nav-menu {
        display: none;
        flex-direction: column;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        background: linear-gradient(180deg, #14151a 0%, #1c1d27 100%);
        padding: 16px;
        gap: 4px;
        box-shadow: 0 12px 32px rgba(0,0,0,.25);
    }
}
.v2-logo {
    background: linear-gradient(135deg, #ff2e6c 0%, #ffaa3d 100%);
    -webkit-background-clip: text; background-clip: text;
    -webkit-text-fill-color: transparent;
    font-weight: 800 !important;
    font-size: 22px !important;
    letter-spacing: 0.06em;
    text-decoration: none;
    text-transform: uppercase;
}


.v2-hero {
    position: relative;
    padding: 110px 24px 60px;
    overflow: hidden;
    text-align: center;
    width: 100%;
    box-sizing: border-box;
}
@media (max-width: 640px) { .v2-hero { padding: 90px 16px 40px; } }
.v2-hero__bg {
    position: absolute; inset: 0; z-index: 0; pointer-events: none;
}
.v2-hero__blob {
    position: absolute; border-radius: 50%; filter: blur(80px); opacity: .35;
}
.v2-hero__blob--pink {
    width: 480px; height: 480px;
    background: radial-gradient(circle, #ff2e6c 0%, transparent 70%);
    top: -100px; left: -100px;
}
.v2-hero__blob--blue {
    width: 520px; height: 520px;
    background: radial-gradient(circle, #1e90ff 0%, transparent 70%);
    bottom: -120px; right: -120px;
}
.v2-hero__inner {
    position: relative; z-index: 1;
    max-width: 880px; margin: 0 auto;
}
.v2-eyebrow {
    display: inline-flex; align-items: center; gap: 6px;
    padding: 6px 14px; border-radius: 999px;
    background: var(--brand-soft); color: var(--brand-strong);
    font-size: 12px; font-weight: 600; letter-spacing: .04em;
    text-transform: uppercase; margin-bottom: 20px;
}
[data-theme="dark"] .v2-eyebrow { background: rgba(255,46,108,.15); color: #ffb3c8; }
.v2-hero__title {
    font-size: clamp(34px, 5.5vw, 64px) !important;
    font-weight: 800 !important;
    letter-spacing: -0.025em;
    line-height: 1.05 !important;
    margin: 0 0 20px !important;
    color: var(--text);
}
.v2-hero__accent {
    background: linear-gradient(135deg, #ff2e6c 0%, #ff8b3d 100%);
    -webkit-background-clip: text; background-clip: text;
    -webkit-text-fill-color: transparent;
    font-style: italic;
    font-weight: 800;
}
.v2-hero__sub {
    font-size: clamp(15px, 2vw, 18px) !important;
    color: var(--text-muted) !important;
    margin: 0 auto 36px !important;
    max-width: 620px;
    line-height: 1.55;
}


.v2-search {
    position: relative;
    max-width: 640px;
    margin: 0 auto 24px;
    display: flex;
    align-items: center;
    background: var(--surface);
    border: 1px solid var(--border-strong);
    border-radius: 999px;
    padding: 6px 6px 6px 22px;
    box-shadow: 0 12px 40px rgba(15,17,30,.10), 0 2px 6px rgba(15,17,30,.06);
    transition: box-shadow .25s, border-color .25s, transform .15s;
}
.v2-search:focus-within {
    border-color: var(--brand);
    box-shadow: 0 16px 48px rgba(255,46,108,.18), 0 0 0 4px rgba(255,46,108,.10);
    transform: translateY(-1px);
}
.v2-search__icon { color: var(--text-soft); font-size: 18px; flex-shrink: 0; }
.v2-search__input,
input#searchInput.v2-search__input,
input#searchInput2.v2-search__input {
    
    flex: 1;
    border: none !important;
    background: transparent !important;
    padding: 14px 14px !important;
    font-size: 16px !important;
    color: var(--text) !important;
    outline: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    font-family: var(--font-sans) !important;
}
input#searchInput.v2-search__input:focus,
input#searchInput2.v2-search__input:focus {
    
    box-shadow: none !important;
    border: none !important;
}
.v2-search__input::placeholder { color: var(--text-soft); }
.v2-search__btn {
    background: linear-gradient(135deg, #ff2e6c 0%, #ff5b7e 100%);
    color: #fff;
    border: none;
    border-radius: 999px;
    padding: 12px 22px;
    font-weight: 600;
    font-size: 14px;
    cursor: pointer;
    display: inline-flex; align-items: center; gap: 8px;
    box-shadow: 0 6px 18px rgba(255,46,108,.32);
    transition: filter .15s, transform .1s;
    flex-shrink: 0;
}
.v2-search__btn:hover { filter: brightness(1.08); transform: translateY(-1px); }
.v2-search__btn span { display: inline; }
@media (max-width: 520px) {
    .v2-search { padding: 5px 5px 5px 18px; }
    .v2-search__btn { padding: 10px 14px; }
    .v2-search__btn span { display: none; }
    .v2-search__input { padding: 12px 8px !important; font-size: 15px !important; }
}


.v2-chips {
    display: flex; flex-wrap: wrap; justify-content: center; gap: 8px;
    margin: 22px auto 28px; max-width: 720px;
}
.v2-chip {
    display: inline-flex; align-items: center; gap: 6px;
    padding: 8px 16px;
    background: var(--surface);
    color: var(--text);
    border: 1px solid var(--border);
    border-radius: 999px;
    text-decoration: none;
    font-size: 13px; font-weight: 500;
    transition: all .2s;
    box-shadow: var(--shadow-sm);
}
.v2-chip:hover {
    border-color: var(--brand);
    color: var(--brand-strong);
    transform: translateY(-2px);
    box-shadow: 0 8px 18px rgba(255,46,108,.15);
}
.v2-chip i { color: var(--brand); }


.v2-trust {
    display: flex; flex-wrap: wrap; justify-content: center; gap: 24px;
    margin-top: 28px; color: var(--text-muted); font-size: 13px;
}
.v2-trust__item { display: inline-flex; align-items: center; gap: 8px; }
.v2-trust__item i { color: var(--success); font-size: 16px; }


.v2-section {
    max-width: 1440px;
    width: 100%;
    margin: 60px auto 0;
    padding: 0 24px;
    box-sizing: border-box;
}
@media (max-width: 640px) { .v2-section { padding: 0 16px; margin-top: 40px; } }
.v2-section__title {
    font-size: clamp(22px, 3vw, 32px) !important;
    font-weight: 700 !important;
    margin: 0 0 8px !important;
    color: var(--text);
    letter-spacing: -0.01em;
}
.v2-section__title--inline { display: inline; margin-left: 8px !important; }
.v2-section__sub {
    color: var(--text-muted) !important;
    font-size: 15px !important;
    margin: 0 0 24px !important;
}
.v2-section__head {
    display: flex; align-items: flex-end; justify-content: space-between;
    flex-wrap: wrap; gap: 12px; margin-bottom: 24px;
}
.v2-section__head .v2-section__sub { margin: 0 !important; }
.v2-link-arrow {
    color: var(--brand-strong); font-weight: 600; text-decoration: none; font-size: 14px;
    display: inline-flex; align-items: center; gap: 6px;
    transition: gap .2s;
}
.v2-link-arrow:hover { gap: 10px; }


.v2-badge {
    display: inline-flex; align-items: center; gap: 6px;
    padding: 5px 12px; border-radius: 999px;
    font-size: 11px; font-weight: 700; letter-spacing: .06em;
    text-transform: uppercase;
    vertical-align: middle;
}
.v2-badge--gold {
    background: linear-gradient(135deg, #fbbf24, #f59e0b);
    color: #422006;
    box-shadow: 0 4px 12px rgba(245,158,11,.3);
}
.v2-badge--new {
    background: var(--brand-soft); color: var(--brand-strong);
}
[data-theme="dark"] .v2-badge--new { background: rgba(255,46,108,.18); color: #ffb3c8; }
.v2-badge--online {
    background: rgba(22,163,74,.15); color: var(--success);
}
.v2-dot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; }
.v2-dot--live {
    background: var(--success);
    box-shadow: 0 0 0 0 rgba(22,163,74,.6);
    animation: v2Pulse 2s infinite;
}
@keyframes v2Pulse {
    0%   { box-shadow: 0 0 0 0 rgba(22,163,74,.6); }
    70%  { box-shadow: 0 0 0 8px rgba(22,163,74,0); }
    100% { box-shadow: 0 0 0 0 rgba(22,163,74,0); }
}


.v2-cat-grid {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(4, 1fr);
}
.v2-cat {
    position: relative;
    display: grid;
    grid-template-columns: auto 1fr;
    grid-template-rows: auto auto;
    column-gap: 14px;
    row-gap: 2px;
    align-items: center;
    padding: 14px 16px;
    border-radius: 14px;
    background: var(--surface);
    border: 1px solid var(--border);
    color: var(--text);
    text-decoration: none;
    overflow: hidden;
    box-shadow: var(--shadow-sm);
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
    min-height: 0;
}
.v2-cat::before {
    content: ''; position: absolute; right: -30px; top: -30px;
    width: 90px; height: 90px; border-radius: 50%;
    background: linear-gradient(135deg, var(--cat-from), var(--cat-to));
    opacity: .12; transition: opacity .3s, transform .3s;
}
.v2-cat:hover {
    transform: translateY(-3px);
    box-shadow: var(--shadow-lg);
    border-color: transparent;
}
.v2-cat:hover::before { opacity: .22; transform: scale(1.4); }
.v2-cat__icon {
    width: 42px; height: 42px; border-radius: 12px;
    background: linear-gradient(135deg, var(--cat-from), var(--cat-to));
    display: flex; align-items: center; justify-content: center;
    color: #fff; font-size: 18px;
    box-shadow: 0 6px 14px color-mix(in srgb, var(--cat-from) 35%, transparent);
    margin-bottom: 0;
    grid-column: 1;
    grid-row: 1 / 3;
    align-self: center;
    position: relative; z-index: 1;
}
@supports not (background: color-mix(in srgb, red 50%, blue)) {
    .v2-cat__icon { box-shadow: 0 6px 14px rgba(0,0,0,.18); }
}
.v2-cat__body {
    display: flex;
    flex-direction: column;
    min-width: 0;
    position: relative; z-index: 1;
}
.v2-cat__label {
    font-size: 15px; font-weight: 700; margin-bottom: 0;
    color: var(--text); position: relative; z-index: 1;
    line-height: 1.2;
    grid-column: 2;
    grid-row: 1;
    align-self: end;
}
.v2-cat__sub {
    font-size: 12px; color: var(--text-muted);
    position: relative; z-index: 1;
    line-height: 1.3;
    grid-column: 2;
    grid-row: 2;
    align-self: start;
}



.v2-section > .v2-results-row {
    display: flex !important;
    flex-wrap: wrap !important;
    margin: -10px !important;
    width: calc(100% + 20px) !important;
    box-sizing: border-box;
}
.v2-section > .v2-results-row > div {
    width: 100% !important;
    padding: 10px !important;
    flex: 0 0 auto !important;
    min-width: 0;
    max-width: 100% !important;
    box-sizing: border-box;
}
.v2-section > .v2-results-row .profilecard { width: 100% !important; height: 100%; }


.v2-section > .v2-results-row,
#verifiedGoldProfile { min-height: 938px; }


@media (min-width: 880px) {
    #verifiedGoldProfile { min-height: 469px; }
}


.v2-section > .v2-results-row:has(.profilecard),
#verifiedGoldProfile:has(.profilecard) { min-height: 0; }



.v2-section > .v2-results-row > div:nth-child(n+3) { display: none !important; }

@media (min-width: 520px) {
    .v2-section > .v2-results-row > div { width: 50% !important; }
    .v2-section > .v2-results-row > div:nth-child(n+3) { display: block !important; }
    .v2-section > .v2-results-row > div:nth-child(n+5) { display: none !important; }
}

@media (min-width: 880px) {
    .v2-section > .v2-results-row > div { width: 25% !important; }
    .v2-section > .v2-results-row > div:nth-child(-n+8) { display: block !important; }
    .v2-section > .v2-results-row > div:nth-child(n+9) { display: none !important; }
}


#verifiedGoldProfile > div:nth-child(n+3) { display: none !important; }
@media (min-width: 520px) {
    #verifiedGoldProfile > div { width: 50% !important; }
    #verifiedGoldProfile > div:nth-child(n+3) { display: block !important; }
    #verifiedGoldProfile > div:nth-child(n+5) { display: none !important; }
}

@media (min-width: 880px) {
    #verifiedGoldProfile > div { width: 25% !important; }
    #verifiedGoldProfile > div:nth-child(-n+4) { display: block !important; }
    #verifiedGoldProfile > div:nth-child(n+5) { display: none !important; }
}


.special-style .profilecard,
.special-style > .bg-white,
.special-style [style*="background-color:#fff"],
.special-style [style*="background-color: #fff"],
.special-style [style*="background-color:white"],
.special-style [style*="background-color: white"] {
    background:
        linear-gradient(180deg, rgba(251,191,36,.04), rgba(245,158,11,.02) 60%, var(--surface)) !important;
    color: var(--text) !important;
    border: 1px solid rgba(251,191,36,.45) !important;
    box-shadow:
        0 0 0 1px rgba(251,191,36,.12),
        0 12px 30px rgba(245,158,11,.10),
        0 4px 10px rgba(15,17,30,.06) !important;
    border-radius: 16px !important;
    position: relative;
}
[data-theme="dark"] .special-style .profilecard,
[data-theme="dark"] .special-style > .bg-white,
[data-theme="dark"] .special-style [style*="background-color:#fff"],
[data-theme="dark"] .special-style [style*="background-color: #fff"],
[data-theme="dark"] .special-style [style*="background-color:white"],
[data-theme="dark"] .special-style [style*="background-color: white"] {
    background:
        linear-gradient(180deg, rgba(251,191,36,.10), rgba(245,158,11,.04) 60%, var(--surface)) !important;
    border-color: rgba(251,191,36,.35) !important;
    box-shadow:
        0 0 0 1px rgba(251,191,36,.15),
        0 14px 32px rgba(0,0,0,.5) !important;
}


.special-style { position: relative; }

.special-style:hover .profilecard,
.special-style:hover > .bg-white {
    transform: translateY(-5px) !important;
    box-shadow:
        0 0 0 1px rgba(251,191,36,.18),
        0 20px 44px rgba(245,158,11,.18),
        0 8px 16px rgba(15,17,30,.08) !important;
}


.special-style [style*="color: black"],
.special-style [style*="color:black"] {
    color: var(--text) !important;
}
[data-theme="dark"] .special-style [style*="color: black"],
[data-theme="dark"] .special-style [style*="color:black"] {
    color: var(--text) !important;
}


.v2-footer {
    margin-top: 100px;
    background: var(--surface);
    border-top: 1px solid var(--border);
    color: var(--text);
    width: 100%;
    box-sizing: border-box;
}
[data-theme="dark"] .v2-footer { background: var(--bg-elev); }
.v2-footer__inner {
    max-width: 1440px;
    width: 100%;
    margin: 0 auto;
    padding: 56px 24px 32px;
    display: grid;
    grid-template-columns: 1.4fr 1fr 1fr 1fr;
    gap: 40px;
    box-sizing: border-box;
}
@media (max-width: 760px) { .v2-footer__inner { grid-template-columns: 1fr 1fr; gap: 28px; padding: 40px 20px 24px; } }
@media (max-width: 460px) { .v2-footer__inner { grid-template-columns: 1fr; } }
.v2-footer__col h4 {
    font-size: 12px; font-weight: 700; letter-spacing: .08em;
    text-transform: uppercase; color: var(--text-muted);
    margin: 0 0 14px;
}
.v2-footer__col a {
    display: block; padding: 4px 0;
    color: var(--text); text-decoration: none; font-size: 14px;
    transition: color .15s;
}
.v2-footer__col a:hover { color: var(--brand-strong); }
.v2-footer__logo {
    background: linear-gradient(135deg, #ff2e6c, #ffaa3d);
    -webkit-background-clip: text; background-clip: text;
    -webkit-text-fill-color: transparent;
    font-weight: 800; font-size: 24px; letter-spacing: .06em;
    text-transform: uppercase;
    margin-bottom: 8px;
}
.v2-footer__tag { color: var(--text-muted); font-size: 14px; line-height: 1.5; max-width: 280px; margin: 0; }
.v2-footer__bar {
    border-top: 1px solid var(--border);
    padding: 20px 24px;
    text-align: center;
    color: var(--text-muted);
    font-size: 13px;
}
.v2-footer__bar::before {
    content: '';
    display: block;
    width: 60px; height: 3px;
    margin: 0 auto 16px;
    background: linear-gradient(90deg, var(--brand), var(--accent));
    border-radius: 2px;
}


.v2-search-header {
    background: var(--surface);
    border-bottom: 1px solid var(--border);
    padding: 32px 24px 24px;
    width: 100%;
    box-sizing: border-box;
}
.v2-search-header__inner { max-width: 1440px; margin: 0 auto; width: 100%; }
@media (max-width: 640px) { .v2-search-header { padding: 24px 16px 18px; } }
.v2-search-header__top {
    text-align: center;
    margin: 80px 0 24px;
}
.v2-search-header__title {
    font-size: clamp(24px, 3vw, 36px) !important;
    font-weight: 700 !important;
    margin: 0 0 6px !important;
    color: var(--text);
}
.v2-search-header__sub { color: var(--text-muted) !important; font-size: 14px !important; margin: 0 !important; }


.v2-quick-cats {
    display: flex; flex-wrap: wrap; justify-content: center; gap: 8px;
    margin-top: 18px;
}
.v2-quick-cats__divider {
    width: 1px; height: 22px; background: var(--border-strong);
    align-self: center; margin: 0 8px;
}
@media (max-width: 600px) { .v2-quick-cats__divider { display: none; } }
.v2-pill {
    display: inline-flex; align-items: center; gap: 6px;
    padding: 8px 16px;
    background: var(--surface-2);
    color: var(--text) !important;
    border: 1px solid var(--border);
    border-radius: 999px;
    text-decoration: none !important;
    font-size: 13px; font-weight: 500;
    transition: all .2s;
    cursor: pointer;
}
.v2-pill:hover {
    background: var(--brand-soft);
    border-color: var(--brand);
    color: var(--brand-strong) !important;
    transform: translateY(-1px);
}
.v2-pill i { color: var(--brand); }
.v2-pill--gender { font-weight: 600; }


.v2-search-layout {
    max-width: 1440px;
    width: 100%;
    margin: 24px auto;
    padding: 0 24px;
    display: grid;
    grid-template-columns: 260px minmax(0, 1fr);   
    gap: 28px;
    align-items: flex-start;
    box-sizing: border-box;
}
@media (max-width: 1024px) {
    .v2-search-layout { grid-template-columns: 240px minmax(0, 1fr); gap: 20px; padding: 0 16px; }
}
@media (max-width: 880px) {
    .v2-search-layout { grid-template-columns: minmax(0, 1fr); gap: 16px; }
}


.v2-search-layout .v2-results-row {
    display: flex !important;
    flex-wrap: wrap !important;
    margin: -8px !important;
    width: calc(100% + 16px) !important;
}
.v2-search-layout .v2-results-row > div {
    width: 100% !important;
    padding: 8px !important;
    flex: 0 0 auto !important;
    min-width: 0;
    max-width: 100% !important;
}
@media (min-width: 480px) {
    .v2-search-layout .v2-results-row > div { width: 50% !important; }
}

@media (min-width: 1100px) {
    .v2-search-layout .v2-results-row > div { width: 33.333% !important; }
}
.v2-search-layout .v2-results-row .profilecard { width: 100% !important; height: 100%; }


aside.v2-filters,
aside.v2-filters[style] {
    display: block !important;
}
@media (min-width: 880px) {
    .v2-filters #allefilters,
    .v2-filters .v2-filters__body {
        display: block !important;
    }
}

aside.v2-filters--mobile,
aside.v2-filters--mobile[style] { display: none !important; }
@media (max-width: 879px) {
    
    aside#filters,
    aside#filters[style] { display: none !important; }
    
    aside.v2-filters--mobile,
    aside.v2-filters--mobile[style] { display: block !important; }
    
    aside.v2-filters--mobile {
        max-width: 1440px;
        margin: 16px auto 0;
        padding: 14px 16px;
        box-sizing: border-box;
        position: static;
    }
}


#filteropties,
#filteropties[style] {
    display: none !important;
}
.v2-filters {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 16px;
    padding: 20px;
    box-shadow: var(--shadow-sm);
    position: sticky;
    top: 85px;
}
@media (max-width: 880px) {
    .v2-filters { position: static; padding: 14px; }
}
.v2-filters__toggle {
    width: 100%;
    display: flex; align-items: center; gap: 10px;
    background: transparent; border: none;
    color: var(--text); font-size: 16px; font-weight: 600;
    cursor: pointer;
    padding: 4px 0;
    font-family: var(--font-sans);
}
.v2-filters__toggle .v2-filters__chev { margin-left: auto; transition: transform .2s; font-size: 12px; color: var(--text-muted); }
.v2-filters__toggle--open .v2-filters__chev { transform: rotate(180deg); }

@media (min-width: 880px) {
    .v2-filters__toggle .v2-filters__chev { display: none; }
    .v2-filters__toggle { cursor: default; }
}


.v2-btn.v2-btn--block { width: 100%; }
.v2-filters__count {
    background: var(--brand); color: #fff;
    font-size: 11px; font-weight: 700;
    padding: 2px 8px; border-radius: 999px;
    min-width: 22px; text-align: center;
    display: inline-flex; align-items: center; justify-content: center;
}
.v2-filters__body { margin-top: 16px; }
.v2-filters__group { margin-bottom: 24px; }
.v2-filters__group h4 {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--text-muted);
    margin: 0 0 12px;
}
.v2-check {
    display: flex; align-items: center; gap: 10px;
    padding: 8px 10px;
    border-radius: 10px;
    cursor: pointer;
    font-size: 14px;
    color: var(--text);
    transition: background .15s;
    user-select: none;
}
.v2-check:hover { background: var(--surface-2); }
.v2-check input[type="checkbox"] {
    appearance: none;
    width: 18px; height: 18px;
    border: 2px solid var(--border-strong);
    border-radius: 5px;
    background: var(--surface);
    cursor: pointer;
    position: relative;
    flex-shrink: 0;
    margin: 0 !important;
    padding: 0 !important;
    transition: all .15s;
}
.v2-check input[type="checkbox"]:checked {
    background: var(--brand);
    border-color: var(--brand);
}
.v2-check input[type="checkbox"]:checked::after {
    content: '';
    position: absolute;
    left: 4px; top: 0px;
    width: 6px; height: 11px;
    border: solid #fff; border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}
.v2-check span { display: inline-flex; align-items: center; gap: 8px; }
.v2-check span i { color: var(--text-muted); width: 14px; }
.v2-select {
    width: 100%;
    padding: 10px 12px !important;
    margin-bottom: 8px !important;
    background: var(--surface-2) !important;
    border: 1px solid var(--border) !important;
    border-radius: 10px !important;
    color: var(--text) !important;
    font-size: 13px !important;
    font-family: var(--font-sans) !important;
    cursor: pointer;
}
.v2-select:focus {
    outline: none !important;
    border-color: var(--brand) !important;
    box-shadow: 0 0 0 3px rgba(255,46,108,.14) !important;
}
.v2-filters__actions {
    display: flex; gap: 8px;
    padding-top: 16px;
    border-top: 1px solid var(--border);
}
.v2-btn {
    flex: 1;
    padding: 10px 14px;
    border-radius: 10px;
    font-size: 13px; font-weight: 600;
    border: 1px solid transparent;
    cursor: pointer;
    display: inline-flex; align-items: center; justify-content: center; gap: 6px;
    transition: all .15s;
    font-family: var(--font-sans);
}
.v2-btn--primary {
    background: linear-gradient(135deg, var(--brand) 0%, var(--brand-strong) 100%);
    color: #fff;
    box-shadow: 0 4px 12px rgba(255,46,108,.25);
}
.v2-btn--primary:hover { filter: brightness(1.08); transform: translateY(-1px); }
.v2-btn--ghost {
    background: var(--surface);
    color: var(--text);
    border: 1px solid var(--border-strong);
}
.v2-btn--ghost:hover { background: var(--surface-2); border-color: var(--brand); color: var(--brand-strong); }
.v2-btn--danger {
    background: linear-gradient(135deg, var(--danger), #ef4444);
    color: #fff;
    box-shadow: 0 4px 12px rgba(220,38,38,.25);
}
.v2-btn--danger:hover { filter: brightness(1.08); transform: translateY(-1px); }


.v2-results { min-width: 0; }
.v2-results__bar {
    display: flex; align-items: center; justify-content: space-between;
    margin-bottom: 16px;
    padding: 12px 16px;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 12px;
    flex-wrap: wrap; gap: 12px;
}
.v2-results__count { font-weight: 600; color: var(--text); font-size: 14px; }
.v2-results__view { display: inline-flex; align-items: center; gap: 6px; }
.v2-view-btn {
    width: 36px; height: 36px;
    border-radius: 8px;
    border: 1px solid var(--border);
    background: var(--surface);
    color: var(--text-muted);
    cursor: pointer;
    display: inline-flex; align-items: center; justify-content: center;
    transition: all .15s;
}
.v2-view-btn:hover { color: var(--text); border-color: var(--border-strong); }
.v2-view-btn--active {
    background: var(--brand);
    border-color: var(--brand);
    color: #fff;
}


.v2-search-layout .v2-results-row.v2-results-row--list,
.v2-results-row--list {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    gap: 14px !important;
    margin: 0 !important;
    width: 100% !important;
}
.v2-search-layout .v2-results-row.v2-results-row--list > div,
.v2-results-row--list > div {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    flex: 0 0 100% !important;
}

.v2-search-layout .v2-results-row.v2-results-row--list .profilecard,
.v2-results-row--list .profilecard {
    display: flex !important;
    flex-direction: row !important;
    width: 100% !important;
    height: auto !important;
    min-height: 200px;
    overflow: hidden;
}

.v2-search-layout .v2-results-row.v2-results-row--list .profilecard .image-wrapper,
.v2-search-layout .v2-results-row.v2-results-row--list .profilecard .bg-cover,
.v2-search-layout .v2-results-row.v2-results-row--list .profilecard .h-48,
.v2-results-row--list .profilecard .image-wrapper,
.v2-results-row--list .profilecard .bg-cover,
.v2-results-row--list .profilecard .h-48 {
    width: 280px !important;
    height: auto !important;
    min-height: 200px;
    flex: 0 0 280px !important;
    border-radius: 0 !important;
}

.v2-search-layout .v2-results-row.v2-results-row--list .profilecard .p-4,
.v2-results-row--list .profilecard .p-4 {
    flex: 1 1 auto !important;
    padding: 20px 24px !important;
    min-width: 0;
    overflow: hidden;
}

@media (max-width: 880px) {
    .v2-search-layout .v2-results-row.v2-results-row--list .profilecard .image-wrapper,
    .v2-search-layout .v2-results-row.v2-results-row--list .profilecard .bg-cover,
    .v2-search-layout .v2-results-row.v2-results-row--list .profilecard .h-48,
    .v2-results-row--list .profilecard .image-wrapper,
    .v2-results-row--list .profilecard .bg-cover,
    .v2-results-row--list .profilecard .h-48 {
        width: 200px !important;
        flex: 0 0 200px !important;
    }
}

@media (max-width: 600px) {
    .v2-search-layout .v2-results-row.v2-results-row--list .profilecard,
    .v2-results-row--list .profilecard {
        flex-direction: column !important;
        min-height: 0;
    }
    .v2-search-layout .v2-results-row.v2-results-row--list .profilecard .image-wrapper,
    .v2-search-layout .v2-results-row.v2-results-row--list .profilecard .bg-cover,
    .v2-search-layout .v2-results-row.v2-results-row--list .profilecard .h-48,
    .v2-results-row--list .profilecard .image-wrapper,
    .v2-results-row--list .profilecard .bg-cover,
    .v2-results-row--list .profilecard .h-48 {
        width: 100% !important;
        height: 220px !important;
        flex: 0 0 220px !important;
    }
}


.v2-pagination { margin-top: 24px; text-align: center; }


.v2-auth {
    padding: 120px 24px 60px;
    min-height: calc(100vh - 80px);
    display: flex;
    align-items: center;
}
.v2-auth__inner {
    max-width: 1080px;
    width: 100%;
    margin: 0 auto;
    background: var(--surface);
    border-radius: 24px;
    overflow: hidden;
    box-shadow: 0 30px 80px rgba(15,17,30,.12), 0 8px 20px rgba(15,17,30,.06);
    border: 1px solid var(--border);
    display: grid;
    grid-template-columns: 1.05fr 1fr;
    min-height: 540px;
}
.v2-auth__inner--register { grid-template-columns: 1.15fr 1fr; }
[data-theme="dark"] .v2-auth__inner { box-shadow: 0 30px 80px rgba(0,0,0,.45); }
@media (max-width: 880px) {
    .v2-auth { padding: 100px 16px 40px; }
    .v2-auth__inner, .v2-auth__inner--register { grid-template-columns: 1fr; }
    .v2-auth__aside { order: -1; min-height: 200px; }
}

.v2-auth__card { padding: 44px 44px 36px; display: flex; flex-direction: column; }
@media (max-width: 600px) { .v2-auth__card { padding: 28px 24px 24px; } }
.v2-auth__header { margin-bottom: 28px; }
.v2-auth__title {
    font-size: clamp(24px, 3vw, 30px) !important;
    font-weight: 700 !important;
    margin: 12px 0 6px !important;
    color: var(--text);
    letter-spacing: -0.01em;
}
.v2-auth__sub { color: var(--text-muted) !important; font-size: 14px !important; margin: 0 !important; }


.v2-form { display: flex; flex-direction: column; gap: 16px; }
.v2-row-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
@media (max-width: 480px) { .v2-row-2 { grid-template-columns: 1fr; } }

.v2-field { display: flex; flex-direction: column; gap: 6px; }
.v2-field > label {
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: var(--text-muted);
}
.v2-input-wrap {
    position: relative;
    display: flex;
    align-items: center;
}
.v2-input-icon {
    position: absolute;
    left: 14px;
    color: var(--text-soft);
    font-size: 14px;
    pointer-events: none;
}
.v2-input-wrap > input,
.v2-input-wrap > select {
    width: 100%;
    padding: 12px 14px 12px 42px !important;
    border: 1px solid var(--border-strong) !important;
    border-radius: 12px !important;
    background: var(--surface-2) !important;
    color: var(--text) !important;
    font-size: 14px !important;
    font-family: var(--font-sans) !important;
    transition: border-color .15s, box-shadow .15s, background .15s !important;
    box-sizing: border-box;
}
.v2-input-wrap > input:focus,
.v2-input-wrap > select:focus {
    outline: none !important;
    border-color: var(--brand) !important;
    background: var(--surface) !important;
    box-shadow: 0 0 0 3px rgba(255,46,108,.14) !important;
}
.v2-input-wrap > input::placeholder { color: var(--text-soft); }
.v2-pw-toggle {
    position: absolute;
    right: 8px;
    background: transparent;
    border: none;
    color: var(--text-muted);
    cursor: pointer;
    padding: 8px;
    border-radius: 8px;
    transition: background .15s, color .15s;
}
.v2-pw-toggle:hover { background: var(--surface-2); color: var(--text); }

.v2-btn--block { width: 100%; padding: 14px 18px; font-size: 14px; margin-top: 4px; }

.v2-form__notice {
    margin-top: 6px;
    padding: 10px 14px;
    border-radius: 10px;
    background: var(--surface-2);
    color: var(--text);
    font-size: 13px;
}

.v2-auth__alt {
    text-align: center;
    color: var(--text-muted);
    font-size: 13px;
    margin: 16px 0 0 !important;
}
.v2-auth__alt a { color: var(--brand-strong); font-weight: 600; text-decoration: none; }
.v2-auth__alt a:hover { text-decoration: underline; }
.v2-auth__terms {
    text-align: center;
    color: var(--text-soft);
    font-size: 11px;
    margin: 8px 0 0 !important;
    line-height: 1.5;
}
.v2-auth__terms a { color: var(--text-muted); text-decoration: underline; }


.v2-auth__aside {
    position: relative;
    background: linear-gradient(135deg, #14151a 0%, #1c1d27 100%);
    color: #fff;
    padding: 44px;
    overflow: hidden;
}
.v2-auth__aside-bg {
    position: absolute; inset: 0;
    pointer-events: none;
    overflow: hidden;
}
.v2-auth__aside-inner {
    position: relative; z-index: 1;
    height: 100%;
    display: flex; flex-direction: column; justify-content: center;
}
.v2-auth__aside h2 {
    font-size: 24px;
    font-weight: 700;
    margin: 0 0 24px;
    color: #fff;
    letter-spacing: -0.01em;
}
.v2-features {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.v2-features li {
    display: flex;
    gap: 14px;
    align-items: flex-start;
    color: rgba(255,255,255,.92);
}
.v2-features__icon {
    width: 40px;
    height: 40px;
    border-radius: 12px;
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0;
    color: #fff;
    font-size: 16px;
    box-shadow: 0 6px 16px rgba(0,0,0,.3);
}
.v2-features li > div { display: flex; flex-direction: column; gap: 2px; }
.v2-features strong { font-weight: 600; font-size: 14px; color: #fff; }
.v2-features span { font-size: 12px; color: rgba(255,255,255,.65); line-height: 1.4; }


.v2-auth ~ .v2-footer { margin-top: 0; }


.v2-hero--compact { padding: 100px 24px 36px; }

.v2-article {
    max-width: 920px;
    margin: 40px auto 0;
    padding: 0 24px;
}

.v2-toc {
    display: flex; flex-wrap: wrap; gap: 8px; justify-content: center;
    margin-bottom: 40px;
}
.v2-toc .v2-pill { font-weight: 500; }


.v2-faq-section { margin-bottom: 40px; }
.v2-faq-section__title {
    display: flex; align-items: center; gap: 12px;
    font-size: 22px !important;
    margin-top: 24px !important;
}
.v2-faq-section__title i { color: var(--brand); font-size: 18px; }

.v2-faq {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 14px;
    margin-bottom: 10px;
    box-shadow: var(--shadow-sm);
    overflow: hidden;
    transition: box-shadow .2s, border-color .2s;
}
.v2-faq[open] {
    box-shadow: var(--shadow-md);
    border-color: var(--border-strong);
}
.v2-faq summary {
    display: flex; align-items: center; gap: 12px;
    padding: 18px 22px;
    font-weight: 600;
    font-size: 15px;
    color: var(--text);
    cursor: pointer;
    list-style: none;
    user-select: none;
    transition: background .15s;
}
.v2-faq summary::-webkit-details-marker { display: none; }
.v2-faq summary::before {
    content: '\2b';   
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    color: var(--brand);
    width: 28px; height: 28px;
    border-radius: 50%;
    background: var(--brand-soft);
    display: inline-flex; align-items: center; justify-content: center;
    font-size: 12px;
    flex-shrink: 0;
    transition: transform .25s, background .2s;
}
.v2-faq[open] summary::before {
    content: '\f068';   
    transform: rotate(180deg);
}
.v2-faq summary:hover { background: var(--surface-2); }
.v2-faq__body {
    padding: 0 22px 20px 62px;
    color: var(--text-muted);
    line-height: 1.65;
    font-size: 14px;
}
.v2-faq__body strong { color: var(--text); }

[data-theme="dark"] .v2-faq summary::before { background: rgba(255,46,108,.15); color: #ffb3c8; }


.v2-stats {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: 12px;
    margin-bottom: 40px;
    padding: 24px;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 18px;
    box-shadow: var(--shadow-sm);
}
.v2-stat { text-align: center; }
.v2-stat__value {
    font-size: 32px; font-weight: 800; letter-spacing: -0.02em;
    background: linear-gradient(135deg, var(--brand) 0%, var(--accent) 100%);
    -webkit-background-clip: text; background-clip: text;
    -webkit-text-fill-color: transparent;
    line-height: 1.1;
}
.v2-stat__label {
    font-size: 12px; color: var(--text-muted);
    text-transform: uppercase; letter-spacing: .04em; margin-top: 4px;
    font-weight: 500;
}


.v2-prose {
    color: var(--text);
    line-height: 1.7;
    font-size: 16px;
    margin-bottom: 32px;
}
.v2-prose h2 {
    font-size: 24px;
    font-weight: 700;
    margin: 32px 0 14px;
    color: var(--text);
    letter-spacing: -0.01em;
}
.v2-prose .v2-lead {
    font-size: 18px;
    line-height: 1.6;
    color: var(--text);
    margin-bottom: 16px;
}
.v2-prose p { margin: 0 0 14px; color: var(--text-muted); }
.v2-prose strong { color: var(--text); font-weight: 600; }


.v2-tier-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 16px;
    margin-top: 24px;
}
.v2-tier {
    position: relative;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 18px;
    padding: 28px 24px;
    box-shadow: var(--shadow-sm);
    transition: transform .2s, box-shadow .2s;
}
.v2-tier:hover { transform: translateY(-3px); box-shadow: var(--shadow-md); }
.v2-tier--featured {
    border-color: var(--brand);
    box-shadow: 0 12px 32px rgba(255,46,108,.15);
    background: linear-gradient(180deg, var(--surface) 0%, var(--brand-soft) 100%);
}
[data-theme="dark"] .v2-tier--featured { background: linear-gradient(180deg, var(--surface) 0%, rgba(255,46,108,.08) 100%); }
.v2-tier__badge {
    position: absolute; top: -12px; right: 16px;
    background: linear-gradient(135deg, #fbbf24, #f59e0b);
    color: #422006;
    font-size: 11px; font-weight: 700; letter-spacing: .06em;
    text-transform: uppercase;
    padding: 5px 12px;
    border-radius: 999px;
    box-shadow: 0 4px 12px rgba(245,158,11,.3);
    display: inline-flex; align-items: center; gap: 4px;
}
.v2-tier__head {
    display: flex; flex-direction: column; gap: 4px;
    padding-bottom: 18px;
    margin-bottom: 18px;
    border-bottom: 1px solid var(--border);
}
.v2-tier__name { font-size: 13px; font-weight: 600; color: var(--text-muted); text-transform: uppercase; letter-spacing: .06em; }
.v2-tier__price {
    font-size: 36px; font-weight: 800; color: var(--text);
    letter-spacing: -0.02em; line-height: 1;
}
.v2-tier__price small { font-size: 14px; color: var(--text-muted); font-weight: 500; }
.v2-tier__list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 10px; }
.v2-tier__list li {
    display: flex; align-items: center; gap: 10px;
    color: var(--text); font-size: 14px;
}
.v2-tier__list li i {
    color: var(--success);
    background: rgba(22,163,74,.12);
    width: 20px; height: 20px; border-radius: 50%;
    display: inline-flex; align-items: center; justify-content: center;
    font-size: 10px;
    flex-shrink: 0;
}


.v2-cta {
    margin: 60px 0 100px;
    background: linear-gradient(135deg, #14151a 0%, #1c1d27 100%);
    border-radius: 22px;
    overflow: hidden;
    position: relative;
}
.v2-cta::before, .v2-cta::after {
    content: ''; position: absolute; border-radius: 50%;
    filter: blur(60px); opacity: .35; pointer-events: none;
}
.v2-cta::before { width: 240px; height: 240px; background: #ff2e6c; top: -60px; left: -40px; }
.v2-cta::after  { width: 240px; height: 240px; background: #1e90ff; bottom: -60px; right: -40px; }
.v2-cta__inner {
    position: relative; z-index: 1;
    padding: 32px 36px;
    display: flex; align-items: center; justify-content: space-between; gap: 20px;
    color: #fff;
    flex-wrap: wrap;
}
.v2-cta h3 { font-size: 22px; font-weight: 700; margin: 0 0 4px; color: #fff; }
.v2-cta p { color: rgba(255,255,255,.7); margin: 0; font-size: 14px; }
.v2-cta .v2-btn--primary { white-space: nowrap; padding: 12px 22px; }



.v2-profile-page { padding-top: 0; }


.v2-profile-page .kader,
.v2-profile-page .v2-profile,
.v2-profile-page .v2-profile-loading {
    max-width: 1280px !important;
    width: calc(100% - 32px) !important;
    margin: 0 auto !important;
    padding: 0 !important;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 22px !important;
    box-shadow: var(--shadow-md);
    overflow: hidden;
    box-sizing: border-box;
}
.v2-profile-page .kader { margin-top: 100px !important; margin-bottom: 40px !important; }
@media (max-width: 640px) {
    .v2-profile-page .kader { margin-top: 80px !important; width: calc(100% - 16px) !important; border-radius: 16px !important; }
}


.v2-profile-loading {
    padding: 60px 24px !important;
    text-align: center;
}
.v2-skeleton { display: flex; flex-direction: column; align-items: center; gap: 12px; }
.v2-skeleton__avatar { width: 110px; height: 110px; border-radius: 50%; background: linear-gradient(90deg, var(--surface-2), var(--surface-3), var(--surface-2)); background-size: 200% 100%; animation: v2Shimmer 1.4s linear infinite; }
.v2-skeleton__line { width: 240px; height: 14px; background: linear-gradient(90deg, var(--surface-2), var(--surface-3), var(--surface-2)); background-size: 200% 100%; animation: v2Shimmer 1.4s linear infinite; border-radius: 6px; }
.v2-skeleton__line--lg { width: 300px; height: 22px; }
@keyframes v2Shimmer { from { background-position: -200% 0; } to { background-position: 200% 0; } }


.v2-profile__cover {
    position: relative;
    height: 220px;
    background:
        linear-gradient(135deg, #14151a 0%, #1c1d27 100%);
    overflow: hidden;
}
.v2-profile__cover-blob {
    position: absolute;
    border-radius: 50%;
    filter: blur(70px);
    opacity: .5;
}
.v2-profile__cover-blob--pink { width: 320px; height: 320px; background: #ff2e6c; top: -80px; left: -60px; }
.v2-profile__cover-blob--blue { width: 280px; height: 280px; background: #1e90ff; bottom: -100px; right: -40px; }
@media (max-width: 640px) { .v2-profile__cover { height: 160px; } }


.v2-profile__header {
    display: grid !important;
    grid-template-columns: 180px 1fr;
    gap: 24px;
    padding: 0 36px 28px !important;
    margin-top: -90px !important;
    align-items: end;
    position: relative;
    z-index: 2;
}
@media (max-width: 760px) {
    .v2-profile__header { grid-template-columns: 1fr; gap: 16px; padding: 0 20px 20px !important; margin-top: -70px !important; text-align: center; align-items: center; }
}

.v2-profile__avatar-wrap { display: flex; align-items: flex-end; }
@media (max-width: 760px) { .v2-profile__avatar-wrap { justify-content: center; } }


.v2-profile__avatar,
.v2-profile-page .homeprofimage,
.v2-profile-page #homeprofileimage {
    width: 180px !important;
    height: 180px !important;
    min-width: 180px;
    min-height: 180px;
    border-radius: 50% !important;
    border: 5px solid var(--surface) !important;
    box-shadow: var(--shadow-lg) !important;
    overflow: hidden !important;
    background-color: var(--surface-2) !important;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    flex-shrink: 0;
    display: flex !important;
    align-items: center;
    justify-content: center;
    position: relative;
}

.v2-profile__avatar > img,
.v2-profile-page .homeprofimage > img,
.v2-profile-page #homeprofileimage > img,
.v2-profile__avatar img,
.v2-profile-page .homeprofimage img,
.v2-profile-page #homeprofileimage img {
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    position: absolute;
    top: 0;
    left: 0;
}
@media (max-width: 760px) {
    .v2-profile__avatar,
    .v2-profile-page .homeprofimage,
    .v2-profile-page #homeprofileimage {
        width: 140px !important; height: 140px !important;
        min-width: 140px; min-height: 140px;
    }
}


.v2-profile__title-wrap {
    height: auto !important;
    background: transparent !important;
    color: var(--text) !important;
    margin-top: 0 !important;
    padding-top: 100px;
}
@media (max-width: 760px) { .v2-profile__title-wrap { padding-top: 0; } }

@media (max-width: 760px) {
    .v2-profile__title-wrap {
        display: grid !important;
        grid-template-columns: auto auto;
        grid-template-areas:
            "name   badges"
            "chips  chips";
        column-gap: 10px;
        row-gap: 8px;
        align-items: center;
        justify-content: center;
        width: 100%;
        padding-top: 0;
    }
    .v2-profile__title-wrap .title-containerani {
        grid-area: name;
        justify-self: end;
        align-self: center;
        display: inline-flex;
    }
    .v2-profile__title-wrap .v2-profile__trust-badges {
        grid-area: badges;
        justify-self: start;
        align-self: center;
        margin: 0;          
    }
    .v2-profile__title-wrap .v2-profile__chips {
        grid-area: chips;
        justify-self: center;
        margin-top: 0;
    }
    .v2-profile__title-wrap .v2-profile__badges-row { margin-top: 0; }
    
    .v2-profile__title-wrap .testimonial-heading-big { align-items: center; }
}

.v2-profile-page .testimonial-heading-big {
    width: auto !important;
    margin: 0 !important;
}
.v2-profile__name-link {
    text-decoration: none !important;
    color: var(--text) !important;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}
.v2-profile__name {
    font-size: clamp(28px, 4vw, 42px) !important;
    font-weight: 800 !important;
    margin: 0 !important;
    letter-spacing: -0.02em;
    color: var(--text);
    line-height: 1.1;
}
.v2-profile__name span { color: var(--text); }
.v2-profile-page #badge-containeronline {
    background: var(--success) !important;
    color: #fff !important;
    padding: 4px 12px !important;
    border-radius: 999px !important;
    font-size: 12px !important;
    font-weight: 600;
    box-shadow: 0 0 0 0 rgba(22,163,74,.6);
    animation: v2Pulse 2s infinite;
    display: inline-flex; align-items: center; gap: 6px;
    text-transform: lowercase;
}

.v2-profile__chips {
    display: flex; flex-wrap: wrap; gap: 8px;
    margin-top: 14px;
}
@media (max-width: 760px) { .v2-profile__chips { justify-content: center; } }
.v2-profile__chip {
    display: inline-flex; align-items: center; gap: 6px;
    padding: 6px 12px;
    background: var(--surface-2);
    color: var(--text);
    border: 1px solid var(--border);
    border-radius: 999px;
    font-size: 13px; font-weight: 500;
}
.v2-profile__chip i { color: var(--brand); font-size: 11px; }


.v2-profile-page #badgesProfile {
    display: none !important;
}

.v2-profile__badges-row { margin-top: 14px; display: flex; gap: 6px; flex-wrap: wrap; }
@media (max-width: 760px) { .v2-profile__badges-row { justify-content: center; } }


.v2-profile__trust-badges {
    display: none;            
    gap: 6px;
    flex-wrap: wrap;
    margin: 10px 0 0;
}
@media (max-width: 760px) { .v2-profile__trust-badges { justify-content: center; } }
.v2-trust-badge {
    display: none;            
    align-items: center;
    gap: 6px;
    padding: 5px 12px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.03em;
}
.v2-trust-badge--verified {
    background: linear-gradient(135deg, var(--accent), var(--accent-strong));
    color: #fff;
    box-shadow: 0 4px 12px rgba(30,144,255,.28);
}
.v2-trust-badge--gold {
    background: linear-gradient(135deg, #fbbf24, #f59e0b);
    color: #422006;
    box-shadow: 0 4px 12px rgba(245,158,11,.32);
}
.v2-trust-badge i { font-size: 12px; }
.v2-trust-badge > span { display: none !important; }  


.v2-price-row { margin: 0 -8px; }
.v2-price-col { padding: 0 8px; margin-bottom: 14px; }
.v2-prices-card .v2-price-row .row,
.v2-prices-card .row { margin: 0; }
.v2-prices-card center { display: contents; }

.v2-price-divider { margin: 18px 0 14px; border: 0; border-top: 1px solid var(--border); }

.v2-price-subhead {
    display: flex; align-items: center; gap: 8px;
    font-size: 13px; font-weight: 600; color: var(--text);
    margin: 0 0 10px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}
.v2-price-subhead i { color: var(--brand); font-size: 12px; }


.v2-prices-card #mogelijkheden {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    color: var(--text);
    font-size: 13px;
    line-height: 1.4;
}
.v2-prices-card #mogelijkheden:empty::before {
    content: var(--txt-no-services);
    color: var(--text-soft);
    font-style: italic;
    font-size: 12px;
}
.v2-mog-chip {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px 10px;
    background: var(--surface-2);
    color: var(--text);
    border: 1px solid var(--border);
    border-radius: 999px;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.2;
}
.v2-mog-chip i {
    color: var(--success);
    font-size: 9px;
}

.v2-prices-card [style*="color: black"],
.v2-prices-card [style*="color:black"] {
    color: var(--text) !important;
}


.v2-profile__tabs {
    display: flex; gap: 4px; flex-wrap: wrap;
    padding: 12px 36px;
    margin: 0 !important;
    background: var(--surface);
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
    position: sticky;
    top: 70px;
    z-index: 30;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}
@media (max-width: 640px) {
    .v2-profile__tabs { padding: 10px 16px; gap: 6px; overflow-x: auto; flex-wrap: nowrap; -webkit-overflow-scrolling: touch; }
    .v2-profile__tabs::-webkit-scrollbar { display: none; }
}



.v2-profile-page .v2-profile__tab.btn,
.v2-profile-page button.v2-profile__tab {
    width: auto !important;
    height: auto !important;
    padding: 10px 18px !important;
    border-radius: 12px !important;
    background: transparent !important;
    color: var(--text-muted) !important;
    border: 1px solid transparent !important;
    font-weight: 600 !important;
    font-size: 13px !important;
    margin: 0 !important;
    box-shadow: none !important;
    transition: all .2s !important;
    display: inline-flex !important;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
}
.v2-profile-page .v2-profile__tab:hover {
    background: var(--surface-2) !important;
    color: var(--text) !important;
}
.v2-profile-page .v2-profile__tab--active,
.v2-profile-page .btn.btnprofile-1-selected.v2-profile__tab {
    background: var(--text) !important;
    color: var(--surface) !important;
}
[data-theme="dark"] .v2-profile-page .v2-profile__tab--active,
[data-theme="dark"] .v2-profile-page .btn.btnprofile-1-selected.v2-profile__tab {
    background: linear-gradient(135deg, var(--brand), var(--brand-strong)) !important;
    color: #fff !important;
}
.v2-profile-page .v2-profile__tab--cta {
    background: linear-gradient(135deg, var(--brand) 0%, var(--brand-strong) 100%) !important;
    color: #fff !important;
    box-shadow: 0 4px 12px rgba(255,46,108,.3) !important;
    margin-left: auto !important;
}
.v2-profile-page .v2-profile__tab--cta:hover {
    filter: brightness(1.08);
    transform: translateY(-1px);
}
.v2-profile-page .v2-profile__tab i { font-size: 16px; }


.v2-profile__body {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 360px;
    gap: 32px;
    padding: 32px 36px 40px;
}
@media (max-width: 1024px) { .v2-profile__body { grid-template-columns: minmax(0, 1fr) 320px; gap: 24px; padding: 28px 24px 32px; } }
@media (max-width: 880px)  { .v2-profile__body { grid-template-columns: 1fr; padding: 24px 20px 28px; } }

.v2-profile__main { display: flex; flex-direction: column; gap: 20px; min-width: 0; }

.v2-card {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 16px;
    padding: 24px;
    box-shadow: var(--shadow-sm);
}
.v2-card__title {
    display: flex; align-items: center; gap: 10px;
    font-size: 16px;
    font-weight: 700;
    margin: 0 0 18px;
    color: var(--text);
    letter-spacing: -0.005em;
}
.v2-card__title i { color: var(--brand); font-size: 14px; }


.v2-stats-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 14px;
}

@media (max-width: 640px) {
    .v2-stats-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
.v2-stat-item {
    display: flex; flex-direction: column; gap: 2px;
    padding: 12px 14px;
    background: var(--surface-2);
    border: 1px solid var(--border);
    border-radius: 12px;
    min-width: 0;
}
.v2-stat-item__label {
    font-size: 11px;
    font-weight: 600;
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: .04em;
    display: flex; align-items: center; gap: 6px;
}
.v2-stat-item__label i { color: var(--brand); font-size: 11px; opacity: .7; }
.v2-stat-item__value {
    font-size: 14px;
    font-weight: 600;
    color: var(--text);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}


.v2-profile-page [style*="color: black"],
.v2-profile-page [style*="color:black"] {
    color: var(--text) !important;
}


.v2-prose-block {
    color: var(--text);
    line-height: 1.7;
    font-size: 15px;
}
.v2-prose-block #description { color: var(--text); }


.v2-services { color: var(--text); line-height: 1.8; font-size: 14px; }
.v2-services strong, .v2-services b { color: var(--brand-strong); }


.v2-reviews-divider { margin: 18px 0; border: 0; border-top: 1px solid var(--border); }
.v2-review-cta {
    text-align: center;
    padding: 20px;
    background: linear-gradient(135deg, rgba(255,46,108,.05), rgba(30,144,255,.04));
    border: 1px solid var(--border);
    border-radius: 14px;
    color: var(--text);
    margin-top: 14px;
}
.v2-review-cta p { margin: 0 0 12px; color: var(--text); font-size: 14px; }
.v2-review-cta button { margin: 0 auto; }

.v2-profile-page #reviews {
    color: var(--text);
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-bottom: 8px;
}

.v2-profile-page #reviews > * {
}
.v2-profile-page #reviews > *:hover {
}


.v2-profile-page #reviews .fa-star,
.v2-profile-page #reviews .fas.fa-star,
.v2-profile-page #reviews i[class*="fa-star"] {
    color: #fbbf24 !important;
    font-size: 13px;
    margin-right: 1px;
    filter: drop-shadow(0 1px 1px rgba(245,158,11,.25));
}


.v2-profile-page #reviews b,
.v2-profile-page #reviews strong {
    color: var(--text) !important;
    font-weight: 700;
    display: inline-block;
}

.v2-profile-page #reviews [style*="color: black"],
.v2-profile-page #reviews [style*="color:black"] {
    color: var(--text) !important;
}

.v2-profile-page #reviews > *::before {
    content: '\201C';   
    position: absolute;
    top: 6px; left: 14px;
    color: var(--brand);
    opacity: 0.18;
    font-size: 56px;
    font-family: Georgia, serif;
    line-height: 1;
    pointer-events: none;
}

.v2-profile-page #reviews:empty::after {
    content: var(--txt-no-reviews);
    display: block;
    text-align: center;
    color: var(--text-soft);
    font-size: 13px;
    font-style: italic;
    padding: 24px;
    border: 1px dashed var(--border);
    border-radius: 12px;
}


.v2-profile__aside { min-width: 0; }
.v2-profile__sticky {
    position: sticky;
    top: 150px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}
@media (max-width: 880px) { .v2-profile__sticky { position: static; } }


@media (max-width: 880px) {
    .v2-profile-page .v2-profile__body {
        display: flex;
        flex-direction: column;
        gap: 20px;
    }
    .v2-profile-page .v2-profile__main,
    .v2-profile-page .v2-profile__aside,
    .v2-profile-page .v2-profile__sticky { display: contents; }

    .v2-profile-page .v2-action-card { order: 1; }
    .v2-profile-page .v2-stats-card  { order: 2; }
    .v2-profile-page .v2-about-card  { order: 3; }
    .v2-profile-page .v2-prices-card { order: 4; }
    .v2-profile-page #testimonials   { order: 5; }
    .v2-profile-page .v2-trust-mini  { order: 6; }
}


.v2-prices-card { padding: 24px; }
.v2-prices-card center { display: block; text-align: left; }


.v2-prices-card .v2-price-row {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin: 0;
}
.v2-prices-card .v2-price-row > div[class*="col-"] {
    width: 100% !important;
    float: none !important;
    padding: 0 !important;
}

.v2-price-section {
    background: var(--surface-2);
    border: 1px solid var(--border);
    border-radius: 12px;
    padding: 12px 14px;
}
.v2-price-section__head {
    display: flex; align-items: center; gap: 8px;
    font-size: 12px;
    font-weight: 700;
    color: var(--text);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin: 0 0 8px;
    padding-bottom: 8px;
    border-bottom: 1px solid var(--border);
}
.v2-price-section__head i { color: var(--brand); font-size: 14px; }


.v2-prices-card .v2-price-table,
.v2-prices-card #price-containerOntvangst,
.v2-prices-card #price-containerEscort,
.v2-prices-card #price-containerMassage,
.v2-prices-card #price-containerBDSM,
.v2-prices-card #price-containerVirtual {
    width: 100% !important;
    border-collapse: collapse !important;
    table-layout: auto !important;
    color: var(--text);
    margin: 0 !important;
}
.v2-prices-card .v2-price-table tr {
    border-bottom: 1px solid var(--border);
}
.v2-prices-card .v2-price-table tr:last-child {
    border-bottom: none;
}
.v2-prices-card .v2-price-table td {
    padding: 7px 0 !important;
    color: var(--text) !important;
    font-size: 13px !important;
    line-height: 1.3 !important;
    vertical-align: middle;
    white-space: nowrap;
    background: transparent !important;
    border: none !important;
}
.v2-prices-card .v2-price-table td:first-child,
.v2-prices-card .v2-price-table__dur {
    color: var(--text-muted) !important;
    text-align: left;
    width: 50%;
}
.v2-prices-card .v2-price-table td:last-child,
.v2-prices-card .v2-price-table__amount {
    text-align: right;
    font-weight: 700;
    color: var(--text) !important;
    width: 50%;
}

.v2-prices-card #price-containerOntvangst:empty::after,
.v2-prices-card #price-containerEscort:empty::after {
    content: var(--txt-no-rates);
    display: block;
    color: var(--text-soft);
    font-size: 12px;
    font-style: italic;
    padding: 4px 0;
}


.v2-action-card {
    text-align: center;
    background: linear-gradient(135deg, rgba(255,46,108,.06), rgba(255,46,108,.02));
    border: 1px solid rgba(255,46,108,.18);
}
[data-theme="dark"] .v2-action-card {
    background: linear-gradient(135deg, rgba(255,46,108,.10), rgba(255,46,108,.03));
}
.v2-action-card__sub {
    margin: 10px 0 0 !important;
    color: var(--text-muted);
    font-size: 12px;
}


.v2-trust-mini {
    display: flex; justify-content: space-around; gap: 8px;
    padding: 12px 14px;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 12px;
    font-size: 11px;
    color: var(--text-muted);
}
.v2-trust-mini__item {
    display: flex; align-items: center; gap: 4px;
    font-weight: 500;
}
.v2-trust-mini__item i { color: var(--success); font-size: 12px; }


.v2-profile__related { margin-top: 60px; }


.v2-profile-page .lightbox,
.lightbox {
    display: none !important;
}


.ds-v2-lightbox {
    display: none;
    position: fixed; inset: 0;
    z-index: 99999;
    background: rgba(8,10,16,.92);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 20px;
    animation: dsLbFade .2s ease;
}
@keyframes dsLbFade { from { opacity: 0; } to { opacity: 1; } }
.ds-v2-lightbox.is-open { display: flex; }

.ds-lb__close {
    position: absolute;
    top: 16px; right: 16px;
    width: 44px; height: 44px;
    border: none; border-radius: 50%;
    background: rgba(255,255,255,.12);
    color: #fff;
    font-size: 18px;
    cursor: pointer;
    backdrop-filter: blur(8px);
    transition: background .15s, transform .15s;
    z-index: 2;
}
.ds-lb__close:hover { background: var(--brand); transform: rotate(90deg); }

.ds-lb__nav {
    position: absolute;
    top: 50%; transform: translateY(-50%);
    width: 48px; height: 48px;
    border: none; border-radius: 50%;
    background: rgba(255,255,255,.12);
    color: #fff;
    font-size: 18px;
    cursor: pointer;
    backdrop-filter: blur(8px);
    transition: background .15s, transform .15s;
    z-index: 2;
}
.ds-lb__nav:hover { background: var(--brand); }
.ds-lb__nav--prev { left: 16px; }
.ds-lb__nav--next { right: 16px; }
@media (max-width: 640px) {
    .ds-lb__nav { width: 40px; height: 40px; }
    .ds-lb__nav--prev { left: 8px; }
    .ds-lb__nav--next { right: 8px; }
}

.ds-lb__stage {
    flex: 1 1 auto;
    min-height: 0;            
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    padding: 8px 60px;
    box-sizing: border-box;
}
.ds-lb__img {
    display: block;
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: calc(100vh - 220px);    
    object-fit: contain;
    border-radius: 8px;
    box-shadow: 0 16px 60px rgba(0,0,0,.6);
    transition: opacity .2s;
}
@media (max-width: 640px) {
    .ds-lb__stage { padding: 8px 16px; }
    .ds-lb__img   { max-height: calc(100vh - 200px); }
}

.ds-lb__counter {
    color: rgba(255,255,255,.7);
    font-size: 13px;
    font-weight: 600;
    margin: 14px 0 10px;
    padding: 6px 14px;
    background: rgba(255,255,255,.08);
    border-radius: 999px;
    backdrop-filter: blur(6px);
}

.ds-lb__thumbs {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    max-width: 100%;
    padding: 8px 4px;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
}
.ds-lb__thumbs::-webkit-scrollbar { height: 4px; }
.ds-lb__thumbs::-webkit-scrollbar-thumb { background: rgba(255,255,255,.2); border-radius: 2px; }

.ds-lb__thumb {
    flex: 0 0 auto;
    width: 72px; height: 72px;
    border: 2px solid transparent;
    border-radius: 10px;
    overflow: hidden;
    padding: 0;
    background: rgba(255,255,255,.06);
    cursor: pointer;
    transition: border-color .15s, transform .15s, opacity .15s;
    opacity: 0.65;
}
.ds-lb__thumb:hover { opacity: 1; transform: translateY(-2px); }
.ds-lb__thumb.is-active {
    border-color: var(--brand);
    opacity: 1;
    box-shadow: 0 0 0 1px var(--brand), 0 6px 14px rgba(255,46,108,.35);
}
.ds-lb__thumb img {
    width: 100%; height: 100%;
    object-fit: cover;
    display: block;
}
@media (max-width: 640px) {
    .ds-lb__thumb { width: 56px; height: 56px; }
}


body:has(.ds-v2-lightbox.is-open) { overflow: hidden; }

.ds-nav-dropdown__menu {
    position: absolute;
    top: 100%;
    margin-top: -15px;
    min-width: 220px;
    background: linear-gradient(180deg, #14151a 0%, #1c1d27 100%);
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 14px;
    box-shadow: 0 20px 50px rgba(0,0,0,.55), 0 8px 16px rgba(0,0,0,.3);
    padding: 8px;
    display: none;
    z-index: 1001;
    animation: dsDropFade .15s ease;
}

.ds-nav-dropdown::after {
    content: '';
    position: absolute;
    top: 100%;
    right: 0;
    width: 100%;
    height: 14px;
    background: transparent;
    pointer-events: auto;
}
@keyframes dsDropFade {
    from { opacity: 0; transform: translateY(-4px); }
    to   { opacity: 1; transform: translateY(0); }
}

.ds-nav-dropdown:hover .ds-nav-dropdown__menu,
.ds-nav-dropdown:focus-within .ds-nav-dropdown__menu {
    display: block;
}
.ds-nav-dropdown__menu a {
    display: flex !important;
    align-items: center;
    gap: 10px;
    padding: 10px 14px !important;
    color: rgba(255,255,255,.85) !important;
    background: transparent !important;
    border-radius: 8px !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    text-decoration: none;
    transition: background .15s, color .15s;
    border-top: none !important;
    margin: 0 !important;
}
.ds-nav-dropdown__menu a:hover {
    background: rgba(255,255,255,.08) !important;
    color: #fff !important;
}
.ds-nav-dropdown__menu a i {
    color: var(--brand) !important;
    width: 16px;
    text-align: center;
    font-size: 13px !important;
}
.ds-nav-dropdown__menu hr {
    margin: 6px 0;
    border: 0;
    border-top: 1px solid rgba(255,255,255,.08);
}
.ds-nav-dropdown__logout {
    color: #ffb3c8 !important;
}
.ds-nav-dropdown__logout:hover {
    background: rgba(255,46,108,.18) !important;
    color: #fff !important;
}
.ds-nav-dropdown__logout i { color: var(--brand) !important; }


@media (max-width: 768px) {
    .ds-nav-dropdown__menu {
        position: static;
        background: rgba(255,255,255,.04);
        margin-top: 4px;
        padding: 6px;
        box-shadow: none;
        display: block;
        border-radius: 10px;
    }
}


.ds-loggedin-banner {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 16px;
    background: linear-gradient(135deg, var(--brand-soft), rgba(30,144,255,.10));
    border: 1px solid var(--brand);
    border-radius: 12px;
    color: var(--text);
    font-size: 13px;
    line-height: 1.5;
    margin-bottom: 14px;
}
.ds-loggedin-banner i { color: var(--brand); font-size: 18px; flex-shrink: 0; }
.ds-loggedin-banner strong { color: var(--brand-strong); }
.ds-loggedin-banner a { color: var(--brand-strong); font-weight: 600; text-decoration: none; }
.ds-loggedin-banner a:hover { text-decoration: underline; }
[data-theme="dark"] .ds-loggedin-banner {
    background: linear-gradient(135deg, rgba(255,46,108,.18), rgba(30,144,255,.10));
}


.v2-profile__gallery-body {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: 28px;
    padding: 32px 36px 40px;
}
@media (max-width: 1024px) { .v2-profile__gallery-body { grid-template-columns: minmax(0, 1fr) 280px; padding: 28px 24px; } }
@media (max-width: 880px)  { .v2-profile__gallery-body { grid-template-columns: 1fr; padding: 24px 20px; } }

.v2-gallery-card { padding: 24px; }
.v2-gallery-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 12px;
    margin-top: 8px;
}
.v2-gallery-grid img, .v2-gallery-grid a img {
    width: 100% !important;
    height: 200px !important;
    object-fit: cover !important;
    border-radius: 12px !important;
    display: block;
    transition: transform .25s ease;
}
.v2-gallery-grid a {
    display: block;
    border-radius: 12px;
    overflow: hidden;
    background: var(--surface-2);
}
.v2-gallery-grid a:hover img { transform: scale(1.04); }
.v2-gallery-grid:empty::before {
    content: var(--txt-album-loading);
    display: block;
    grid-column: 1 / -1;
    text-align: center;
    color: var(--text-soft);
    padding: 40px;
    font-size: 14px;
}


.v2-profile__contact-body {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: 28px;
    padding: 32px 36px 40px;
}
@media (max-width: 1024px) { .v2-profile__contact-body { grid-template-columns: minmax(0, 1fr) 280px; padding: 28px 24px; } }
@media (max-width: 880px)  { .v2-profile__contact-body { grid-template-columns: 1fr; padding: 24px 20px; } }

.v2-contact-card { padding: 28px; }
.v2-contact-card__sub {
    color: var(--text-muted);
    font-size: 14px;
    margin: -6px 0 22px;
    line-height: 1.5;
}
.v2-contact-card__sub b { color: var(--text); }


.v2-contact-card .feedback-input {
    background: var(--surface-2) !important;
    border: 1px solid var(--border-strong) !important;
    border-radius: 12px !important;
    padding: 12px 14px !important;
    color: var(--text) !important;
    font-size: 14px !important;
    font-family: var(--font-sans) !important;
    width: 100% !important;
    box-sizing: border-box;
    transition: border-color .15s, box-shadow .15s, background .15s;
    margin: 0 !important;
}
.v2-contact-card .feedback-input:focus {
    outline: none !important;
    border-color: var(--brand) !important;
    background: var(--surface) !important;
    box-shadow: 0 0 0 3px rgba(255,46,108,.14) !important;
}
.v2-contact-card textarea.feedback-input {
    min-height: 120px;
    resize: vertical;
    font-family: var(--font-sans);
}
.v2-contact-card .v2-field > label {
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: var(--text-muted);
    margin-bottom: 6px;
    display: block;
}
.v2-contact-card .v2-input-icon {
    position: absolute;
    left: 14px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--text-soft);
    font-size: 14px;
    pointer-events: none;
    z-index: 1;
}


.v2-input-wrap { position: relative; }
.v2-input-wrap.v2-input-wrap.v2-input-wrap > input:not(#searchInput):not(#searchInput2),
.v2-input-wrap.v2-input-wrap.v2-input-wrap > select:not(#searchInput):not(#searchInput2),
.v2-input-wrap.v2-input-wrap.v2-input-wrap > .feedback-input:not(#searchInput):not(#searchInput2),
.v2-input-wrap.v2-input-wrap.v2-input-wrap > textarea:not(#searchInput):not(#searchInput2) {
    padding-left: 44px !important;
}
.v2-input-wrap > .v2-input-icon,
.v2-input-wrap > i.v2-input-icon {
    position: absolute !important;
    left: 14px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    color: var(--text-soft, #9aa) !important;
    font-size: 14px !important;
    pointer-events: none !important;
    z-index: 2 !important;
}

.v2-contact-info-card { padding: 22px; }
.v2-contact-info-card h4 {
    display: flex; align-items: center; gap: 8px;
    font-size: 13px; font-weight: 700;
    text-transform: uppercase; letter-spacing: .04em;
    color: var(--text);
    margin: 0 0 14px;
}
.v2-contact-info-card h4 i { color: var(--brand); }
.v2-contact-info-card ul {
    list-style: none; padding: 0; margin: 0;
    display: flex; flex-direction: column; gap: 12px;
}
.v2-contact-info-card li {
    display: flex; align-items: center; gap: 12px;
    color: var(--text); font-size: 14px;
}
.v2-contact-info-card li i {
    width: 28px; height: 28px;
    border-radius: 50%;
    background: var(--brand-soft);
    color: var(--brand-strong);
    display: flex; align-items: center; justify-content: center;
    font-size: 12px;
    font-weight: 700;
    flex-shrink: 0;
}

.v2-profile__gallery-aside,
.v2-profile__contact-aside {
    display: flex; flex-direction: column; gap: 16px;
}


.v2-reserveren-body {
    padding: 28px 36px 40px;
    color: var(--text);
    max-width: 900px;
    margin: 0 auto;
}
@media (max-width: 880px) { .v2-reserveren-body { padding: 20px 16px; } }

.v2-reserveren-page #reserveringPage,
.v2-reserveren-page #skelet {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 18px;
    padding: 28px !important;
    box-shadow: var(--shadow-md);
}
@media (max-width: 640px) {
    .v2-reserveren-page #reserveringPage,
    .v2-reserveren-page #skelet { padding: 18px !important; border-radius: 14px; }
}

.v2-reserveren-page #skelet {
    text-align: center;
    color: var(--text-muted);
    min-height: 200px;
}


.v2-reserveren-page [id^="box"] {
    margin-bottom: 18px !important;
}


.v2-reserveren-page .testimonial-heading-small {
    color: var(--text);
    font-size: 14px;
    margin: 0 0 14px !important;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--border);
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-weight: 600;
}
.v2-reserveren-page .testimonial-heading-small span {
    color: var(--text) !important;
    background: var(--brand-soft);
    color: var(--brand-strong) !important;
    padding: 4px 12px;
    border-radius: 999px;
    font-size: 12px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
.v2-reserveren-page .testimonial-heading-small br { display: none; }
[data-theme="dark"] .v2-reserveren-page .testimonial-heading-small span {
    background: rgba(255,46,108,.15);
    color: #ffb3c8 !important;
}


.v2-reserveren-page table,
.v2-reserveren-page .tablestats { color: var(--text); width: 100%; }
.v2-reserveren-page table td,
.v2-reserveren-page table th { padding: 8px 10px !important; color: var(--text); }


.v2-reserveren-page .transparent-box {
    background: var(--surface) !important;
    border: 1px solid var(--border) !important;
    border-radius: 14px !important;
    padding: 16px !important;
    color: var(--text) !important;
    box-shadow: var(--shadow-sm);
    margin-bottom: 12px;
}


.v2-reserveren-page [style*="color: black"],
.v2-reserveren-page [style*="color:black"] { color: var(--text) !important; }
.v2-reserveren-page [style*="background-color:#fff"],
.v2-reserveren-page [style*="background-color: #fff"],
.v2-reserveren-page [style*="background-color:white"],
.v2-reserveren-page [style*="background-color: white"] {
    background: var(--surface) !important;
}
[data-theme="dark"] .v2-reserveren-page [style*="background-color:#fff"],
[data-theme="dark"] .v2-reserveren-page [style*="background-color: #fff"],
[data-theme="dark"] .v2-reserveren-page [style*="background-color:white"],
[data-theme="dark"] .v2-reserveren-page [style*="background-color: white"] {
    background: var(--surface) !important;
}





.v2-reserveren-page [id^="button-container"]:not([style*="display:none"]):not([style*="display: none"]),
.v2-reserveren-page [id^="buttontijd-container"]:not([style*="display:none"]):not([style*="display: none"]) {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    justify-content: center;
    margin: 10px 0 !important;
}


.v2-reserveren-page [id^="button-container"] > button,
.v2-reserveren-page [id^="button-container"] > input[type="button"],
.v2-reserveren-page [id^="button-container"] > input[type="submit"],
.v2-reserveren-page [id^="button-container"] > a,
.v2-reserveren-page [id^="buttontijd-container"] > button,
.v2-reserveren-page [id^="buttontijd-container"] > input,
.v2-reserveren-page button[id^="button"]:not([id^="button-container"]):not([id^="buttontijd-container"]),
.v2-reserveren-page input[id^="button"]:not([id^="button-container"]):not([id^="buttontijd-container"]) {
    background: var(--surface-2) !important;
    color: var(--text) !important;
    border: 1px solid var(--border-strong) !important;
    border-radius: 999px !important;
    padding: 10px 18px !important;
    margin: 0 !important;
    font-weight: 600 !important;
    font-size: 13px !important;
    font-family: var(--font-sans) !important;
    cursor: pointer;
    transition: all .2s ease !important;
    box-shadow: var(--shadow-sm);
    line-height: 1.2;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-width: 100px;
}
.v2-reserveren-page [id^="button-container"] > button:hover,
.v2-reserveren-page [id^="button-container"] > input[type="button"]:hover,
.v2-reserveren-page [id^="button-container"] > input[type="submit"]:hover,
.v2-reserveren-page [id^="button-container"] > a:hover,
.v2-reserveren-page [id^="buttontijd-container"] > button:hover,
.v2-reserveren-page [id^="buttontijd-container"] > input:hover,
.v2-reserveren-page button[id^="button"]:not([id^="button-container"]):not([id^="buttontijd-container"]):hover,
.v2-reserveren-page input[id^="button"]:not([id^="button-container"]):not([id^="buttontijd-container"]):hover {
    background: linear-gradient(135deg, var(--brand), var(--brand-strong)) !important;
    color: #fff !important;
    border-color: transparent !important;
    transform: translateY(-2px);
    box-shadow: 0 8px 18px rgba(255,46,108,.25);
}


.v2-reserveren-page button[id^="button"]:not([id^="button-container"])[style*="background-color: rgb(255"],
.v2-reserveren-page button[id^="button"]:not([id^="button-container"])[style*="background-color:rgb(255"],
.v2-reserveren-page button[id^="button"]:not([id^="button-container"])[style*="background:#ff"],
.v2-reserveren-page button[id^="button"]:not([id^="button-container"])[style*="background: #ff"],
.v2-reserveren-page input[id^="button"]:not([id^="button-container"])[style*="background-color: rgb(255"],
.v2-reserveren-page input[id^="button"]:not([id^="button-container"])[style*="background:#ff"],
.v2-reserveren-page button.selected,
.v2-reserveren-page button.btn-selected,
.v2-reserveren-page button.active,
.v2-reserveren-page input[type="button"].selected,
.v2-reserveren-page input.active {
    background: linear-gradient(135deg, var(--brand), var(--brand-strong)) !important;
    color: #fff !important;
    border-color: transparent !important;
    box-shadow: 0 6px 16px rgba(255,46,108,.3);
}


.v2-reserveren-page #afspraakBevestigen,
.v2-reserveren-page #betalen,
.v2-reserveren-page button#afspraakBevestigen,
.v2-reserveren-page input#afspraakBevestigen,
.v2-reserveren-page button#betalen,
.v2-reserveren-page input#betalen {
    width: 100% !important;
    padding: 14px 22px !important;
    font-size: 14px !important;
    background: linear-gradient(135deg, var(--brand), var(--brand-strong)) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 12px !important;
    cursor: pointer;
    box-shadow: 0 6px 18px rgba(255,46,108,.3);
    transition: filter .15s, transform .1s;
    font-weight: 700;
    letter-spacing: 0.02em;
}
.v2-reserveren-page #afspraakBevestigen:hover,
.v2-reserveren-page #betalen:hover { filter: brightness(1.08); transform: translateY(-1px); }


.v2-reserveren-page input[type="text"],
.v2-reserveren-page input[type="email"],
.v2-reserveren-page input[type="tel"],
.v2-reserveren-page input[type="number"],
.v2-reserveren-page input[type="date"],
.v2-reserveren-page input[type="time"],
.v2-reserveren-page textarea,
.v2-reserveren-page select,
.v2-reserveren-page .feedback-input {
    background: var(--surface-2) !important;
    border: 1px solid var(--border-strong) !important;
    border-radius: 10px !important;
    padding: 12px 14px !important;
    color: var(--text) !important;
    font-family: var(--font-sans) !important;
    font-size: 14px !important;
    transition: border-color .15s, box-shadow .15s, background .15s !important;
    width: 100%;
    box-sizing: border-box;
    margin: 6px 0 !important;
}
.v2-reserveren-page input:focus,
.v2-reserveren-page textarea:focus,
.v2-reserveren-page select:focus,
.v2-reserveren-page .feedback-input:focus {
    outline: none !important;
    border-color: var(--brand) !important;
    background: var(--surface) !important;
    box-shadow: 0 0 0 3px rgba(255,46,108,.14) !important;
}


.v2-reserveren-page #boxLimiet,
.v2-reserveren-page #checkLoginStatus {
    padding: 14px 18px !important;
    border-radius: 12px !important;
    background: rgba(220,38,38,.08) !important;
    border: 1px solid rgba(220,38,38,.25) !important;
    color: var(--danger) !important;
    font-size: 13px;
    margin: 12px 0 !important;
}


.v2-reserveren-page .iframebox,
.v2-reserveren-page #betalingiframe,
.v2-reserveren-page #betalingiframe2 {
    background: var(--surface) !important;
    border: 1px solid var(--border) !important;
    border-radius: 14px !important;
    overflow: hidden;
    margin-top: 12px !important;
}
.v2-reserveren-page #betalingbedrag,
.v2-reserveren-page #betalingbedrag2 {
    font-size: 24px !important;
    font-weight: 800 !important;
    color: var(--text) !important;
    text-align: center;
    background: linear-gradient(135deg, var(--brand), var(--accent));
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    padding: 12px !important;
}


.v2-reserveren-page .two-column-container {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}
@media (max-width: 540px) {
    .v2-reserveren-page .two-column-container { grid-template-columns: 1fr; }
}
.v2-reserveren-page .columnpic2 { width: auto !important; padding: 0 !important; }


.v2-reserveren-page hr {
    border: 0;
    border-top: 1px solid var(--border);
    margin: 14px 0 !important;
}


.v2-reserveren-page #skelet img { filter: invert(.7); }
[data-theme="dark"] .v2-reserveren-page #skelet img { filter: invert(.9); }


.v2-reserveren-page .v2-reserveren-body {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 22px;
    overflow: hidden;
    padding: 0 !important;
    margin: 24px auto 32px !important;
    box-shadow: var(--shadow-md);
    max-width: 920px;
}
@media (max-width: 880px) {
    .v2-reserveren-page .v2-reserveren-body { margin: 16px auto 24px !important; border-radius: 16px; }
}


.v2-reserveren-page #reserveringPage {
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    margin: 0 !important;
    padding: 24px 28px 28px !important;
}
@media (max-width: 640px) {
    .v2-reserveren-page #reserveringPage { padding: 16px 14px 20px !important; }
}


.v2-reserveren-landing {
    position: relative;
    background: linear-gradient(135deg, var(--surface) 0%, rgba(255,46,108,.04) 100%);
    border: none;
    border-radius: 0;
    padding: 32px 28px 22px;
    margin: 0;
    overflow: hidden;
    text-align: center;
    border-bottom: 1px solid var(--border);
}
.v2-reserveren-landing__bg {
    position: absolute; inset: 0;
    pointer-events: none;
    overflow: hidden;
}
.v2-reserveren-landing__blob {
    position: absolute;
    border-radius: 50%;
    filter: blur(60px);
    opacity: .25;
}
[data-theme="dark"] .v2-reserveren-landing__blob { opacity: .35; }
.v2-reserveren-landing__blob--pink {
    width: 280px; height: 280px;
    background: radial-gradient(circle, #ff2e6c 0%, transparent 70%);
    top: -80px; left: -60px;
}
.v2-reserveren-landing__blob--blue {
    width: 260px; height: 260px;
    background: radial-gradient(circle, #1e90ff 0%, transparent 70%);
    bottom: -80px; right: -60px;
}
.v2-reserveren-landing__inner {
    position: relative; z-index: 1;
    max-width: 720px; margin: 0 auto;
}

.v2-reserveren-landing__eyebrow {
    display: inline-flex; align-items: center; gap: 6px;
    padding: 6px 16px;
    background: var(--brand-soft);
    color: var(--brand-strong);
    font-size: 12px; font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    border-radius: 999px;
    margin-bottom: 12px;
}
[data-theme="dark"] .v2-reserveren-landing__eyebrow {
    background: rgba(255,46,108,.15);
    color: #ffb3c8;
}
.v2-reserveren-landing__title {
    font-size: clamp(20px, 2.8vw, 26px);
    font-weight: 800;
    margin: 0 0 8px;
    color: var(--text);
    line-height: 1.2;
    letter-spacing: -0.02em;
}
.v2-reserveren-landing__title .ds-landing-naam {
    background: linear-gradient(135deg, #ff2e6c 0%, #ff8b3d 100%);
    -webkit-background-clip: text; background-clip: text;
    -webkit-text-fill-color: transparent;
    font-style: italic;
}
.v2-reserveren-landing__sub {
    color: var(--text-muted);
    font-size: 13px;
    margin: 0 0 20px;
    line-height: 1.5;
}


.v2-reserveren-steps {
    list-style: none !important;
    padding: 0 !important;
    margin: 16px auto 16px !important;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap;
    align-items: stretch;
    justify-content: center;
    gap: 8px;
    grid-template-columns: none;
    max-width: 640px;
}
@media (max-width: 640px) {
    .v2-reserveren-steps { gap: 4px; padding: 0 4px !important; }
}

.v2-reserveren-step {
    flex: 1 1 0;
    min-width: 0;
    display: flex !important;
    flex-direction: row !important;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 8px 12px !important;
    background: var(--surface-2);
    border: 1px solid var(--border) !important;
    border-top: 1px solid var(--border) !important;   
    border-radius: 999px !important;
    position: relative;
    transition: background .2s, border-color .2s, color .2s;
    margin: 0 !important;
    line-height: 1.2;
}
.v2-reserveren-step:hover {  }


.v2-reserveren-step__num {
    position: static !important;
    top: auto !important;
    left: auto !important;
    width: 22px; height: 22px;
    border-radius: 50%;
    background: var(--surface);
    color: var(--text-muted);
    display: flex; align-items: center; justify-content: center;
    font-size: 11px; font-weight: 700;
    box-shadow: none;
    flex-shrink: 0;
    border: 1px solid var(--border-strong);
    transition: background .2s, color .2s, border-color .2s;
}


.v2-reserveren-step__icon { display: none !important; }
.v2-reserveren-step__desc { display: none !important; }

.v2-reserveren-step__title {
    font-size: 12px !important;
    font-weight: 600;
    color: var(--text-muted);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    transition: color .2s;
}
@media (max-width: 520px) {
    .v2-reserveren-step__title { font-size: 11px !important; }
}


.v2-reserveren-step.is-active {
    background: linear-gradient(135deg, var(--brand-soft), transparent);
    border: 1px solid var(--brand) !important;
}
.v2-reserveren-step.is-active .v2-reserveren-step__num {
    background: linear-gradient(135deg, var(--brand), var(--brand-strong));
    color: #fff;
    border-color: transparent;
    box-shadow: 0 0 0 4px rgba(255,46,108,.14);
}
.v2-reserveren-step.is-active .v2-reserveren-step__title {
    color: var(--brand-strong);
    font-weight: 700;
}
[data-theme="dark"] .v2-reserveren-step.is-active {
    background: linear-gradient(135deg, rgba(255,46,108,.15), transparent);
}

.v2-reserveren-step.is-done {
    background: rgba(22,163,74,.08);
    border-color: rgba(22,163,74,.45) !important;
}
.v2-reserveren-step.is-done .v2-reserveren-step__num {
    background: var(--success);
    border-color: transparent;
    position: relative;
}
.v2-reserveren-step.is-done .v2-reserveren-step__num::after {
    content: '\f00c';               
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    color: #fff;
    font-size: 11px;
    position: absolute;
    top: 50%; left: 10%;
    transform: translate(-50%, -50%);
}
.v2-reserveren-step.is-done .v2-reserveren-step__title { color: var(--success); }
[data-theme="dark"] .v2-reserveren-step.is-done { background: rgba(22,163,74,.14); }


.v2-reserveren-landing__cta {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 10px 20px;
    background: var(--surface-2);
    border: 1px dashed var(--border-strong);
    border-radius: 999px;
    color: var(--text);
    font-size: 13px;
    font-weight: 500;
    margin-top: 4px;
}
.v2-reserveren-landing__cta b { color: var(--brand-strong); font-weight: 700; }
.v2-reserveren-landing__arrow {
    width: 28px; height: 28px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--brand), var(--brand-strong));
    color: #fff;
    display: flex; align-items: center; justify-content: center;
    font-size: 12px;
    animation: dsBounce 1.6s ease-in-out infinite;
    box-shadow: 0 4px 10px rgba(255,46,108,.3);
}
@keyframes dsBounce {
    0%, 100% { transform: translateY(0); }
    50%      { transform: translateY(4px); }
}
@media (prefers-reduced-motion: reduce) {
    .v2-reserveren-landing__arrow { animation: none; }
}


.v2-reserveren-landing.is-compact {
    padding: 14px 20px 12px;
}
.v2-reserveren-landing.is-compact .v2-reserveren-landing__eyebrow,
.v2-reserveren-landing.is-compact .v2-reserveren-landing__title,
.v2-reserveren-landing.is-compact .v2-reserveren-landing__sub,
.v2-reserveren-landing.is-compact .v2-reserveren-landing__cta {
    display: none !important;
}
.v2-reserveren-landing.is-compact .v2-reserveren-steps {
    margin: 0 auto !important;
}

@media (max-width: 640px) {
    .v2-reserveren-landing { padding: 22px 18px 16px; }
}



.v2-reserveren-page #reserveringHead {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 20px !important;
    display: block !important;
}
.v2-reserveren-page #reserveringHead.testimonial-heading::before,
.v2-reserveren-page #reserveringHead.testimonial-heading::after {
    display: none !important;
}



.account-page {
    min-height: 100vh;
    background: var(--bg);
    color: var(--text);
    font-family: var(--font-sans);
}


.ds-account-gate {
    min-height: calc(100vh - 80px);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 80px 24px;
}
.ds-account-gate__card {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 22px;
    padding: 48px 36px;
    max-width: 440px;
    width: 100%;
    text-align: center;
    box-shadow: var(--shadow-lg);
}
.ds-account-gate__icon {
    width: 72px; height: 72px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--brand-soft), rgba(30,144,255,.10));
    color: var(--brand-strong);
    display: flex; align-items: center; justify-content: center;
    margin: 0 auto 18px;
    font-size: 28px;
}
[data-theme="dark"] .ds-account-gate__icon { color: #ffb3c8; background: linear-gradient(135deg, rgba(255,46,108,.15), rgba(30,144,255,.10)); }
.ds-account-gate__card h1 { font-size: 22px; font-weight: 700; margin: 0 0 8px; color: var(--text); }
.ds-account-gate__card p  { color: var(--text-muted); font-size: 14px; margin: 0 0 22px; }
.ds-account-gate__actions { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; }


.ds-gate-form {
    display: flex;
    flex-direction: column;
    gap: 12px;
    text-align: left;
    margin-bottom: 16px;
}
.ds-gate-form .v2-field > label {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--text-muted);
    margin-bottom: 4px;
    display: block;
}
.ds-gate-form .v2-input-wrap {
    position: relative;
    display: flex;
    align-items: center;
}
.ds-gate-form .v2-input-icon {
    position: absolute;
    left: 12px;
    color: var(--text-soft);
    font-size: 14px;
    pointer-events: none;
}
.ds-gate-form input {
    width: 100%;
    padding: 11px 14px 11px 38px !important;
    background: var(--surface-2);
    border: 1px solid var(--border-strong);
    border-radius: 10px;
    color: var(--text);
    font-size: 14px;
    font-family: var(--font-sans);
    transition: border-color .15s, box-shadow .15s;
    box-sizing: border-box;
}
.ds-gate-form input:focus {
    outline: none;
    border-color: var(--brand);
    background: var(--surface);
    box-shadow: 0 0 0 3px rgba(255,46,108,.14);
}
.ds-gate-form .v2-btn { margin-top: 4px; }
.ds-gate-alt {
    text-align: center;
    color: var(--text-muted);
    font-size: 13px;
    margin: 12px 0 0 !important;
}
.ds-gate-alt a { color: var(--brand-strong); font-weight: 600; text-decoration: none; }
.ds-gate-alt a:hover { text-decoration: underline; }


.ds-account { max-width: 1200px; margin: 100px auto 60px; padding: 0 24px; }
@media (max-width: 720px) { .ds-account { padding: 0 16px; margin: 90px auto 40px; } }

.ds-account__hero {
    position: relative;
    background: linear-gradient(135deg, var(--surface), rgba(255,46,108,.05));
    border: 1px solid var(--border);
    border-radius: 22px;
    padding: 36px 32px 28px;
    margin-bottom: 20px;
    overflow: hidden;
    box-shadow: var(--shadow-md);
}
.ds-account__hero-blob {
    position: absolute;
    border-radius: 50%;
    filter: blur(70px);
    opacity: .3;
    pointer-events: none;
}
.ds-account__hero-blob--pink { width: 280px; height: 280px; background: #ff2e6c; top: -100px; left: -60px; }
.ds-account__hero-blob--blue { width: 240px; height: 240px; background: #1e90ff; bottom: -100px; right: -40px; }
.ds-account__hero-inner { position: relative; z-index: 1; }
.ds-account__eyebrow {
    display: inline-flex; align-items: center; gap: 6px;
    padding: 5px 14px;
    background: var(--brand-soft);
    color: var(--brand-strong);
    border-radius: 999px;
    font-size: 11px; font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    margin-bottom: 12px;
}
[data-theme="dark"] .ds-account__eyebrow { background: rgba(255,46,108,.15); color: #ffb3c8; }
.ds-account__title {
    font-size: clamp(24px, 3.2vw, 32px);
    font-weight: 800;
    margin: 0 0 8px;
    color: var(--text);
    letter-spacing: -0.02em;
}
.ds-account__name {
    background: linear-gradient(135deg, #ff2e6c, #ff8b3d);
    -webkit-background-clip: text; background-clip: text;
    -webkit-text-fill-color: transparent;
    font-style: italic;
}
.ds-account__sub { color: var(--text-muted); font-size: 14px; margin: 0 0 22px; }
.ds-account__header-actions {
    display: flex; gap: 12px; flex-wrap: wrap; align-items: center;
}


.ds-account__online-toggle { display: flex; align-items: center; gap: 8px; font-size: 13px; color: var(--text); }
.ds-switch { position: relative; display: inline-block; width: 44px; height: 24px; }
.ds-switch input { opacity: 0; width: 0; height: 0; }
.ds-switch__slider {
    position: absolute; cursor: pointer; inset: 0;
    background: var(--border-strong);
    border-radius: 999px;
    transition: background .2s;
}
.ds-switch__slider::before {
    content: ''; position: absolute;
    height: 18px; width: 18px;
    left: 3px; top: 3px;
    background: #fff;
    border-radius: 50%;
    transition: transform .2s;
}
.ds-switch input:checked + .ds-switch__slider { background: var(--success); }
.ds-switch input:checked + .ds-switch__slider::before { transform: translateX(20px); }


.ds-kpis {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 12px;
    margin-bottom: 20px;
}

@media (max-width: 880px) {
    .ds-kpis {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }
    .ds-kpi {
        padding: 12px;
        gap: 10px;
    }
    .ds-kpi__icon {
        width: 38px; height: 38px;
        font-size: 16px;
    }
    .ds-kpi__value { font-size: 19px; }
}
.ds-kpi {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 14px;
    padding: 16px;
    display: flex; align-items: center; gap: 14px;
    box-shadow: var(--shadow-sm);
    color: var(--text);
    text-decoration: none;
}
.ds-kpi--link {
    cursor: pointer;
    transition: transform .15s, border-color .15s, box-shadow .15s;
}
.ds-kpi--link:hover {
    transform: translateY(-2px);
    border-color: var(--brand);
    box-shadow: var(--shadow-md);
    color: var(--text);
}
.ds-kpi__icon {
    width: 44px; height: 44px;
    border-radius: 12px;
    display: flex; align-items: center; justify-content: center;
    color: #fff;
    font-size: 18px;
    flex-shrink: 0;
}
.ds-kpi__label { font-size: 11px; color: var(--text-muted); text-transform: uppercase; letter-spacing: .04em; font-weight: 700; }
.ds-kpi__value { font-size: 22px; font-weight: 800; color: var(--text); line-height: 1.1; margin-top: 2px; }
.ds-kpi__sub   { font-size: 11px; color: var(--text-soft); margin-top: 2px; }



.ds-account__layout {
    display: grid;
    grid-template-columns: 260px minmax(0, 1fr);
    gap: 24px;
    align-items: flex-start;
}
.ds-account__sidebar { position: sticky; top: 84px; align-self: flex-start; display: flex; flex-direction: column; gap: 12px; }
.ds-account__main { min-width: 0; }
@media (max-width: 880px) {
    .ds-account__layout { grid-template-columns: minmax(0, 1fr); gap: 16px; }
    .ds-account__sidebar { position: static; }
}


.ds-side-profile {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 14px;
    padding: 18px 16px 16px;
    box-shadow: var(--shadow-sm);
    display: flex; flex-direction: column; align-items: center;
    gap: 10px;
    text-align: center;
}
.ds-side-profile__avatar {
    width: 84px; height: 84px;
    border-radius: 50%;
    background: linear-gradient(135deg, rgba(255,46,108,.18), rgba(30,144,255,.18)) center/cover no-repeat;
    border: 2px solid var(--border);
    display: flex; align-items: center; justify-content: center;
    color: var(--text-soft);
    font-size: 32px;
    overflow: hidden;
    position: relative;
}
.ds-side-profile__avatar.is-filled .ds-side-profile__avatar-fallback { display: none; }
.ds-side-profile__name {
    font-weight: 700;
    font-size: 15px;
    color: var(--text);
    line-height: 1.2;
    word-break: break-word;
}
.ds-side-profile__view {
    display: inline-flex; align-items: center; gap: 6px;
    font-size: 12px;
    color: var(--text-muted);
    text-decoration: none;
    padding: 6px 10px;
    border-radius: 999px;
    background: var(--surface-2);
    border: 1px solid var(--border);
    transition: background .15s, color .15s, border-color .15s;
}
.ds-side-profile__view:hover {
    background: var(--surface-3);
    color: var(--text);
    border-color: var(--border-strong);
}


@media (max-width: 880px) {
    .ds-side-profile {
        display: grid;
        grid-template-columns: 1fr 1fr;       
        grid-template-rows: auto auto;
        align-items: center;
        justify-items: stretch;
        gap: 8px 14px;
        text-align: center;
        padding: 16px 16px 18px;
    }
    .ds-side-profile__avatar {
        grid-column: 1;
        grid-row: 1;
        justify-self: center;
        align-self: end;                       
        width: 84px; height: 84px;
        font-size: 28px;
        margin: 0;
    }
    .ds-side-profile__name {
        grid-column: 1;
        grid-row: 2;
        justify-self: center;
        align-self: start;
        font-size: 15px;
        margin: 0;
        padding-top: 2px;
    }
    
    .ds-side-profile__view {
        grid-column: 2;
        grid-row: 1;
        justify-self: stretch;
        align-self: end;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 6px;
        font-size: 13px;
        font-weight: 600;
        padding: 10px 14px;
        border-radius: 10px;
        line-height: 1.2;
        min-height: 40px;
        box-sizing: border-box;
    }
    
    .ds-side-profile__actions {
        grid-column: 2;
        grid-row: 1 / span 2;
        align-self: start;          
        display: flex;
        flex-direction: column;
        gap: 8px;
        min-width: 0;
        width: 100%;
    }
    
    .ds-side-profile__actions > .ds-side-profile__view,
    .ds-side-profile__actions > .ds-side-status {
        grid-column: auto;
        grid-row: auto;
        align-self: stretch;
        justify-self: stretch;
        width: 100%;
        margin: 0;
    }
    
    .ds-side-profile > .ds-side-status,
    .ds-side-profile__actions > .ds-side-status {
        grid-column: 2;
        grid-row: 2;
        width: 100%;
        justify-self: stretch;
        align-self: start;
        margin: 0;
    }
    
    .ds-side-profile .ds-side-status .ds-side-status__btn {
        width: 100%;
        min-height: 40px;
        height: auto;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 6px;
        font-size: 13px;             
        font-weight: 600;
        padding: 10px 14px;          
        border-radius: 10px;
        background: linear-gradient(135deg, var(--brand), var(--brand-strong)) !important;
        color: #fff !important;
        border: 1px solid var(--brand) !important;
        white-space: nowrap;
        line-height: 1.2;
        box-sizing: border-box;
        box-shadow: 0 2px 6px rgba(255,46,108,.22);
    }
    .ds-side-profile .ds-side-status .ds-side-status__btn i { color: #fff !important; }
    .ds-side-profile .ds-side-status .ds-side-status__btn:disabled {
        opacity: .55;
        cursor: default;
    }
    
    .ds-side-profile .ds-side-status[data-state="online"]  .ds-side-status__btn {
        background: rgba(22,163,74,.16) !important;
        color: var(--success) !important;
        border-color: rgba(22,163,74,.4) !important;
        box-shadow: none;
    }
    .ds-side-profile .ds-side-status[data-state="offline"] .ds-side-status__btn {
        background: var(--surface-2) !important;
        color: var(--text-muted) !important;
        border-color: var(--border) !important;
        box-shadow: none;
    }
    .ds-side-profile .ds-side-status[data-state="hidden"]  .ds-side-status__btn {
        background: rgba(245,158,11,.18) !important;
        color: #f59e0b !important;
        border-color: rgba(245,158,11,.4) !important;
        box-shadow: none;
    }
    .ds-side-profile .ds-side-status[data-state="online"]  .ds-side-status__btn i,
    .ds-side-profile .ds-side-status[data-state="offline"] .ds-side-status__btn i,
    .ds-side-profile .ds-side-status[data-state="hidden"]  .ds-side-status__btn i {
        color: inherit !important;
    }
    .ds-side-profile .ds-side-status .ds-side-status__hint {
        font-size: 10.5px;
        margin: 4px 0 0;
        padding: 0;
        text-align: left;
        color: var(--text-soft);
    }
    .ds-side-profile .ds-side-status .ds-side-status__menu {
        right: auto;
        left: 0;
        top: calc(100% + 4px);
        min-width: 160px;
    }
}


.ds-side-status { width: 100%; position: relative; }
.ds-side-status__btn {
    width: 100%;
    display: inline-flex; align-items: center; justify-content: center;
    gap: 8px;
    padding: 10px 12px;
    border: 0;
    border-radius: 12px;
    cursor: pointer;
    font-family: var(--font-sans);
    font-size: 13px;
    font-weight: 700;
    background: var(--surface-2);
    color: var(--text);
    transition: filter .15s, transform .05s;
}
.ds-side-status__btn:disabled { opacity: .65; cursor: default; }
.ds-side-status__btn:hover:not(:disabled) { filter: brightness(1.08); }
.ds-side-status__btn:active:not(:disabled) { transform: translateY(1px); }
.ds-side-status__caret { font-size: 10px; opacity: .8; margin-left: auto; }


.ds-side-status--in-nav { width: 100%; margin-bottom: 6px; position: relative; }
.ds-side-status--in-nav .ds-side-status__btn.ds-primary-tab {
    padding: 11px 14px;
    font-size: 14px;
    font-weight: 600;
    justify-content: flex-start;
    text-align: left;
}
.ds-side-status--in-nav .ds-side-status__hint { padding: 0 6px; }

.ds-side-status[data-state="activate"] .ds-side-status__btn,
.ds-side-status[data-state="locked"] .ds-side-status__btn {
    background: linear-gradient(135deg, var(--brand), var(--brand-strong)) !important;
    color: #fff !important;
    box-shadow: 0 6px 14px rgba(255,46,108,.28);
    border: 0 !important;
}
.ds-side-status[data-state="activate"] .ds-side-status__btn i,
.ds-side-status[data-state="locked"]   .ds-side-status__btn i { color: #fff !important; }
.ds-side-status[data-state="locked"] .ds-side-status__btn {
    background: linear-gradient(135deg, #475569, #64748b) !important;
    box-shadow: none;
}
.ds-side-status[data-state="activate"] .ds-side-status__caret,
.ds-side-status[data-state="locked"]   .ds-side-status__caret { display: none; }
.ds-side-status[data-state="online"]  .ds-side-status__btn { background: rgba(22,163,74,.14) !important; color: var(--success) !important; }
.ds-side-status[data-state="offline"] .ds-side-status__btn { background: var(--surface-2) !important; color: var(--text-muted) !important; }
.ds-side-status[data-state="hidden"]  .ds-side-status__btn { background: rgba(245,158,11,.16) !important; color: #f59e0b !important; }
.ds-side-status[data-state="online"]  .ds-side-status__btn i,
.ds-side-status[data-state="offline"] .ds-side-status__btn i,
.ds-side-status[data-state="hidden"]  .ds-side-status__btn i { color: inherit !important; }


.ds-side-status__dot {
    width: 9px; height: 9px;
    flex: 0 0 9px;
    min-width: 9px;
    max-width: 9px;
    border-radius: 50%;
    background: var(--text-soft);
    box-shadow: 0 0 0 0 currentColor;
    display: inline-block;
}
.ds-side-status__dot--online  { background: var(--success); box-shadow: 0 0 8px rgba(22,163,74,.6); }
.ds-side-status__dot--offline { background: var(--text-muted); }
.ds-side-status__dot--hidden  { background: #f59e0b; }
.ds-side-status[data-state="online"]  .ds-side-status__btn > .ds-side-status__dot { background: var(--success); box-shadow: 0 0 8px rgba(22,163,74,.55); }
.ds-side-status[data-state="offline"] .ds-side-status__btn > .ds-side-status__dot { background: currentColor; opacity: .7; }
.ds-side-status[data-state="hidden"]  .ds-side-status__btn > .ds-side-status__dot { background: #f59e0b; }
.ds-side-status[data-state="activate"] .ds-side-status__btn > .ds-side-status__dot,
.ds-side-status[data-state="locked"]   .ds-side-status__btn > .ds-side-status__dot { display: none; }


.ds-side-status__menu {
    position: absolute;
    top: calc(100% + 6px);
    left: 0; right: 0;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 12px;
    box-shadow: var(--shadow-md);
    padding: 6px;
    z-index: 60;
    display: flex; flex-direction: column; gap: 2px;
    animation: dsStatusFade .15s ease;
}
.ds-side-status__menu[hidden] { display: none !important; }
@keyframes dsStatusFade { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: translateY(0); } }
.ds-side-status__opt {
    display: inline-flex; align-items: center; gap: 9px;
    padding: 8px 10px;
    border: 0;
    background: transparent;
    color: var(--text);
    border-radius: 8px;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    text-align: left;
    font-family: var(--font-sans);
    transition: background .15s;
}
.ds-side-status__opt:hover { background: var(--surface-2); }
.ds-side-status__opt.is-current { background: var(--surface-3); font-weight: 700; }
.ds-side-status__hint {
    margin: 8px 0 0;
    font-size: 11px;
    color: var(--text-soft);
    line-height: 1.4;
    text-align: center;
}
.ds-side-status__hint:empty { display: none; }
.ds-side-status[data-state="locked"] .ds-side-status__hint { color: var(--text-muted); }


@keyframes dsFlashHighlight {
    0%   { box-shadow: 0 0 0 0 rgba(255,46,108,.0), var(--shadow-sm); border-color: var(--border); }
    30%  { box-shadow: 0 0 0 6px rgba(255,46,108,.18), 0 6px 24px rgba(255,46,108,.18); border-color: var(--brand); }
    60%  { box-shadow: 0 0 0 3px rgba(255,46,108,.10), var(--shadow-md);                border-color: rgba(255,46,108,.55); }
    100% { box-shadow: 0 0 0 0 rgba(255,46,108,.0), var(--shadow-sm); border-color: var(--border); }
}
.ds-flash {
    animation: dsFlashHighlight 1.4s ease-in-out 2;
}
.ds-flash .ds-tips li[data-required="true"],
.ds-flash .ds-tip--required {
    animation: dsFlashHighlight 1.4s ease-in-out 2;
}

.ds-account__primary-tabs {
    display: flex;
    flex-direction: column;
    gap: 4px;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 14px;
    padding: 8px;
    box-shadow: var(--shadow-sm);
}
.ds-primary-tab {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 11px 14px;
    background: transparent;
    color: var(--text-muted);
    border: none;
    border-radius: 10px;
    font-weight: 600;
    font-size: 14px;
    cursor: pointer;
    text-align: left;
    width: 100%;
    font-family: var(--font-sans);
    transition: background .15s, color .15s;
}
.ds-primary-tab:hover {
    background: var(--surface-2);
    color: var(--text);
}

.ds-primary-tab.is-active {
    background: linear-gradient(180deg, var(--brand-soft), var(--surface-2));
    color: var(--text);
    border: 1px solid var(--brand);
    
    padding: 10px 13px;
    box-shadow: 0 4px 10px rgba(255,46,108,.10);
}
.ds-primary-tab.is-active i { color: var(--brand); }
[data-theme="dark"] .ds-primary-tab.is-active {
    background: linear-gradient(180deg, rgba(255,46,108,.12), var(--surface-2));
}
.ds-primary-tab i {
    font-size: 14px;
    width: 18px;
    text-align: center;
    flex-shrink: 0;
}
.ds-primary-tab > span:not(.ds-primary-tab__badge) { flex: 1; min-width: 0; }
.ds-primary-tab__badge {
    background: var(--brand);
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
    padding: 4px 7px;
    border-radius: 999px;
    margin-left: auto;
    min-width: 20px;
    text-align: center;
    box-shadow: 0 0 0 2px var(--surface);
}
.ds-primary-tab.is-active .ds-primary-tab__badge {
    background: var(--brand);
    color: #fff;
    box-shadow: 0 0 0 2px var(--surface-2);
}
.ds-primary-tab__badge[hidden] { display: none; }


@media (max-width: 880px) {
    .ds-account__primary-tabs {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
        gap: 6px;
        overflow: visible;          
        padding: 8px;
    }
    
    .ds-account__primary-tabs > .ds-side-status {
        flex: 0 0 100%;
        width: 100%;
        order: -1;
        margin-bottom: 4px;
    }
    
    .ds-account__primary-tabs > .ds-primary-tab[data-primary] {
        display: none;
    }
    .ds-account__primary-tabs > .ds-primary-tab[data-primary].is-active {
        display: inline-flex;
        
        width: auto;
        flex: 1 1 0;
        min-width: 0;
        justify-content: center;
        order: 1;
        white-space: nowrap;
        text-align: center;
    }
}


.ds-slider-arrow { display: none; }   

@media (max-width: 880px) {
    .ds-slider-arrow {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 36px;
        height: 36px;
        flex: 0 0 36px;
        border: 1px solid var(--border);
        border-radius: 50%;
        background: var(--surface-2);
        color: var(--text);
        cursor: pointer;
        font-size: 13px;
        padding: 0;
        font-family: inherit;
        transition: background .15s, transform .12s;
    }
    .ds-slider-arrow:hover { background: var(--surface); }
    .ds-slider-arrow:active { transform: scale(0.94); }
    .ds-slider-arrow--prev { order: 0; }
    .ds-slider-arrow--next { order: 2; }
}


@media (max-width: 880px) {
    
    .ds-account__primary-tabs {
        display: flex;
        flex-direction: column;
        gap: 6px;
        padding: 10px;
        background: var(--surface);
        border: 1px solid var(--border);
        border-radius: 14px;
        box-shadow: var(--shadow-sm);
        overflow: visible;
    }
    
    .ds-account__primary-tabs > .ds-side-status {
        width: 100%;
        margin: 0;
        order: -1;
    }
    
    .ds-account__primary-tabs > .ds-primary-tab[data-primary] {
        display: none;
        width: 100%;
        order: 1;                  
    }
    .ds-account__primary-tabs > .ds-primary-tab[data-primary].is-active {
        display: inline-flex;
        width: 100%;
        position: relative;
        padding-right: 36px;       
        justify-content: flex-start;
        text-align: left;
        order: 0;                  
        flex: 0 0 auto;            
    }
    
    .ds-account__primary-tabs > .ds-primary-tab[data-primary].is-active::after {
        content: '\f078';            
        font-family: 'Font Awesome 6 Free';
        font-weight: 900;
        position: absolute;
        right: 14px;
        top: 50%;
        transform: translateY(-50%);
        font-size: 11px;
        opacity: 0.65;
        transition: transform .18s ease;
    }
    .ds-account__primary-tabs.is-open > .ds-primary-tab[data-primary].is-active::after {
        transform: translateY(-50%) rotate(180deg);
    }
    
    .ds-account__primary-tabs.is-open > .ds-primary-tab[data-primary]:not(.is-active) {
        display: inline-flex;
        width: 100%;
        justify-content: flex-start;
        text-align: left;
    }
    
    .ds-account__primary-tabs > .ds-slider-arrow { display: none !important; }
}


.ds-account__tabs {
    display: flex;
    gap: 4px;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 14px;
    padding: 6px;
    margin-bottom: 20px;
    box-shadow: var(--shadow-sm);
}
.ds-account__tabs::-webkit-scrollbar { display: none; }
.ds-tab {
    display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    padding: 10px 12px;
    background: transparent;
    color: var(--text-muted);
    border: none;
    border-radius: 10px;
    font-weight: 600;
    font-size: 13px;
    cursor: pointer;
    white-space: nowrap;
    font-family: var(--font-sans);
    transition: all .15s;
    flex: 1 1 0;
    min-width: 0;
}

@media (max-width: 880px) {
    .ds-account__tabs {
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;          
        align-items: center;
        gap: 6px;
        overflow: visible;
        padding: 6px;
    }
    .ds-account__tabs > .ds-tab[data-tab] {
        display: none;
    }
    .ds-account__tabs > .ds-tab[data-tab].is-active {
        display: inline-flex;
        flex: 1 1 auto;
        min-width: 0;
        justify-content: center;
        order: 1;
        white-space: nowrap;
        text-align: center;
    }
}
.ds-tab:hover { background: var(--surface-2); color: var(--text); }
.ds-tab.is-active {
    background: linear-gradient(135deg, var(--brand), var(--brand-strong));
    color: #fff;
    box-shadow: 0 4px 12px rgba(255,46,108,.28);
}
.ds-tab i { font-size: 13px; }


.ds-tabpane { display: none; }
.ds-tabpane.is-active { display: block; }
.ds-cols-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
@media (max-width: 760px) { .ds-cols-2 { grid-template-columns: 1fr; } }


.ds-tips { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 10px; }
.ds-tips li.ds-tip {
    display: flex; align-items: center; gap: 12px;
    padding: 12px 14px;
    background: var(--surface-2);
    border: 1px solid var(--border);
    border-radius: 10px;
    font-size: 13px;
    color: var(--text);
    margin: 0 !important;
}
.ds-tip > i { color: var(--brand); font-size: 14px; flex-shrink: 0; }
.ds-tip > span { flex: 1; line-height: 1.4; }
.ds-tip__cta {
    background: var(--surface);
    border: 1px solid var(--border-strong);
    color: var(--text);
    padding: 8px 10px;
    border-top-left-radius: 999px;
    border-bottom-left-radius: 999px;
    border-top-right-radius: 400px;
    border-bottom-right-radius: 400px;
    font-size: 11px; font-weight: 600;
    cursor: pointer;
    font-family: var(--font-sans);
    flex-shrink: 0;
    transition: all .15s;
}
.ds-tip__cta:hover { border-color: var(--brand); color: var(--brand-strong); }


.ds-tip.is-required {
    background: linear-gradient(180deg, rgba(245,158,11,.10), var(--surface-2)) !important;
    border: 1px solid var(--warning) !important;
    border-top: 1px solid var(--warning) !important;
    border-left: 1px solid var(--warning) !important;
    box-shadow: 0 4px 10px rgba(245,158,11,.10);
}
[data-theme="dark"] .ds-tip.is-required {
    background: linear-gradient(180deg, rgba(245,158,11,.12), var(--surface-2)) !important;
}
.ds-tip__badge {
    display: inline-block;
    background: var(--warning);
    color: #422006;
    font-size: 9px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .06em;
    padding: 2px 7px;
    border-radius: 999px;
    margin-right: 6px;
    vertical-align: middle;
    margin-left:10px;
    margin-bottom: 2px;
}
.ds-tip.is-required .ds-tip__cta {
    border-color: var(--warning);
    color: var(--warning);
}
.ds-tip.is-required .ds-tip__cta:hover {
    background: var(--warning);
    color: #422006;
}
.ds-tip.is-required .ds-tip__cta i { font-size: 10px; margin-left: 3px; }
.ds-tip.is-complete {
    background: rgba(22,163,74,.08) !important;
    border-color: rgba(22,163,74,.40) !important;
    border-top: 1px solid rgba(22,163,74,.40) !important;
    padding-top: 7px !important;
    padding-bottom: 8px !important;
}
.ds-tip.is-complete > i { color: var(--success); }


.ds-quick-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
@media (max-width: 520px) { .ds-quick-actions { grid-template-columns: 1fr; } }
.ds-quick-action {
    background: var(--surface-2);
    border: 1px solid var(--border);
    color: var(--text);
    padding: 14px;
    border-radius: 12px;
    font-weight: 600;
    font-size: 13px;
    cursor: pointer;
    font-family: var(--font-sans);
    display: flex; align-items: center; gap: 10px;
    transition: all .15s;
}
.ds-quick-action:hover {
    border-color: var(--brand);
    color: var(--brand-strong);
    transform: translateY(-1px);
    box-shadow: var(--shadow-md);
}
.ds-quick-action i { color: var(--brand); font-size: 14px; }


.ds-recent-activity { display: flex; flex-direction: column; gap: 10px; }
.ds-activity-row {
    display: flex; align-items: center; gap: 12px;
    padding: 12px 14px;
    background: var(--surface-2);
    border: 1px solid var(--border);
    border-radius: 10px;
}
.ds-activity-row__icon {
    width: 36px; height: 36px; border-radius: 50%;
    background: var(--brand-soft); color: var(--brand-strong);
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0; font-size: 13px;
}
[data-theme="dark"] .ds-activity-row__icon { background: rgba(255,46,108,.15); color: #ffb3c8; }
.ds-activity-row__body { flex: 1; min-width: 0; }
.ds-activity-row__title { font-size: 13px; font-weight: 700; color: var(--text); }
.ds-activity-row__title small { color: var(--text-muted); font-weight: 500; margin-left: 6px; }
.ds-activity-row__meta { font-size: 12px; color: var(--text-muted); margin-top: 2px; overflow: hidden; text-overflow: ellipsis; }
.ds-activity-row__when { color: var(--text-soft); font-size: 11px; white-space: nowrap; }


.ds-form .v2-card__title { margin-bottom: 20px; }
.ds-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.ds-form-grid--prices { grid-template-columns: repeat(4, 1fr); }
@media (max-width: 880px) {
    .ds-form-grid { grid-template-columns: 1fr 1fr; }
    .ds-form-grid--prices { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 520px) {
    .ds-form-grid { grid-template-columns: 1fr; }
    .ds-form-grid--prices { grid-template-columns: 1fr 1fr; }
}
.ds-field { display: flex; flex-direction: column; gap: 6px; }
.ds-field--block { grid-column: 1 / -1; }
.ds-field > span {
    font-size: 11px; font-weight: 700;
    text-transform: uppercase; letter-spacing: .04em;
    color: var(--text-muted);
}
.ds-field input,
.ds-field select,
.ds-field textarea {
    background: var(--surface-2) !important;
    border: 1px solid var(--border-strong) !important;
    border-radius: 10px !important;
    padding: 10px 12px !important;
    color: var(--text) !important;
    font-size: 14px !important;
    font-family: var(--font-sans) !important;
    transition: border-color .15s, background .15s, box-shadow .15s;
    width: 100%;
    box-sizing: border-box;
}
.ds-field input:focus,
.ds-field select:focus,
.ds-field textarea:focus {
    outline: none !important;
    border-color: var(--brand) !important;
    background: var(--surface) !important;
    box-shadow: 0 0 0 3px rgba(255,46,108,.14) !important;
}
.ds-field textarea { resize: vertical; min-height: 100px; }
.ds-section-h {
    margin: 26px 0 14px;
    padding-top: 14px;
    border-top: 1px solid var(--border);
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: var(--text);
    display: flex; align-items: center; gap: 8px;
}
.ds-section-h i { color: var(--brand); }
.ds-form-actions { margin-top: 20px; display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.ds-form-msg { font-size: 13px; font-weight: 600; }
.ds-form-msg.is-ok  { color: var(--success); }
.ds-form-msg.is-err { color: var(--danger); }


.ds-photo-add { display: flex; gap: 8px; margin-bottom: 18px; }
.ds-photo-add input {
    flex: 1;
    background: var(--surface-2);
    border: 1px solid var(--border-strong);
    border-radius: 10px;
    padding: 10px 12px;
    color: var(--text);
    font-size: 14px;
    font-family: var(--font-sans);
}
.ds-photo-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    gap: 12px;
    margin-bottom: 18px;
}
.ds-photo-card {
    position: relative;
    background: var(--surface-2);
    border: 1px solid var(--border);
    border-radius: 12px;
    aspect-ratio: 3/4;
    overflow: hidden;
}
.ds-photo-card img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ds-photo-card__main {
    position: absolute; top: 8px; left: 8px;
    background: linear-gradient(135deg, #fbbf24, #f59e0b);
    color: #422006;
    font-size: 10px;
    font-weight: 700;
    padding: 3px 8px;
    border-radius: 999px;
    z-index: 1;
}
.ds-photo-card__actions {
    position: absolute; bottom: 6px; right: 6px;
    display: flex; gap: 4px;
    opacity: 0;
    transition: opacity .15s;
}
.ds-photo-card:hover .ds-photo-card__actions { opacity: 1; }
.ds-photo-btn {
    width: 28px; height: 28px;
    background: rgba(0,0,0,.7);
    color: #fff;
    border: none;
    border-radius: 999px;
    cursor: pointer;
    font-size: 11px;
    display: flex; align-items: center; justify-content: center;
    backdrop-filter: blur(8px);
}
.ds-photo-btn:hover { background: rgba(0,0,0,.85); }
.ds-photo-btn--danger:hover { background: var(--danger); }


.ds-services-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 8px;
    margin-bottom: 18px;
}
.ds-svc {
    display: flex; align-items: center; gap: 8px;
    padding: 10px 12px;
    background: var(--surface-2);
    border: 1px solid var(--border);
    border-radius: 10px;
    cursor: pointer;
    font-size: 13px;
    color: var(--text);
    user-select: none;
    transition: all .15s;
}
.ds-svc:hover { border-color: var(--border-strong); }
.ds-svc input { appearance: none; width: 16px; height: 16px; border: 2px solid var(--border-strong); border-radius: 4px; flex-shrink: 0; cursor: pointer; transition: all .15s; }
.ds-svc.is-on { border-color: var(--brand); background: var(--brand-soft); color: var(--brand-strong); }
[data-theme="dark"] .ds-svc.is-on { background: rgba(255,46,108,.12); color: #ffb3c8; }
.ds-svc.is-on input { background: var(--brand); border-color: var(--brand); position: relative; }
.ds-svc.is-on input::after {
    content: ''; position: absolute;
    left: 3px; top: -1px;
    width: 5px; height: 9px;
    border: solid #fff; border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}


.ds-progress {
    margin: 6px 0 22px;
    max-width: 540px;
}

.ds-progress--in-tips {
    margin: 0 0 14px;
    max-width: none;
    padding: 12px 14px;
    background: var(--surface-2);
    border: 1px solid var(--border);
    border-radius: 12px;
}

.ds-progress--as-title {
    margin: 0 0 16px;
    max-width: none;
    padding: 0;
    background: none;
    border: 0;
}
.ds-progress--as-title .ds-progress__row {
    font-size: 16px;
    font-weight: 700;
    margin-bottom: 10px;
    color: var(--text);
}
.ds-progress--as-title .ds-progress__label {
    text-transform: none;
    letter-spacing: -0.005em;
    font-size: 16px;
    font-weight: 700;
    color: var(--text);
    display: inline-flex; align-items: center; gap: 10px;
}
.ds-progress--as-title .ds-progress__label i { color: var(--brand); font-size: 14px; }
.ds-progress--as-title .ds-progress__pct { font-size: 18px; }
.ds-progress--as-title .ds-progress__bar { height: 10px; }
.ds-progress__row {
    display: flex; align-items: baseline; justify-content: space-between;
    margin-bottom: 6px;
    font-size: 12px;
}
.ds-progress__label { color: var(--text-muted); font-weight: 600; text-transform: uppercase; letter-spacing: .04em; }
.ds-progress__pct {
    color: var(--text);
    font-weight: 800;
    font-size: 14px;
    background: linear-gradient(135deg, var(--brand), #ff8b3d);
    -webkit-background-clip: text; background-clip: text;
    -webkit-text-fill-color: transparent;
}
.ds-progress__bar {
    height: 8px;
    background: var(--surface-2);
    border-radius: 999px;
    overflow: hidden;
    border: 1px solid var(--border);
}
.ds-progress__fill {
    height: 100%;
    background: linear-gradient(90deg, var(--brand), #ff8b3d);
    border-radius: 999px;
    transition: width .4s ease;
    box-shadow: 0 0 8px rgba(255,46,108,.4);
}


.ds-dropzone {
    display: block;
    border: 2px dashed var(--border-strong);
    border-radius: 14px;
    padding: 32px 20px;
    text-align: center;
    cursor: pointer;
    background: var(--surface-2);
    transition: all .2s ease;
    margin-bottom: 14px;
}
.ds-dropzone:hover,
.ds-dropzone.is-dragging {
    border-color: var(--brand);
    background: var(--brand-soft);
    transform: scale(1.005);
}
[data-theme="dark"] .ds-dropzone:hover,
[data-theme="dark"] .ds-dropzone.is-dragging { background: rgba(255,46,108,.10); }
.ds-dropzone__icon {
    font-size: 36px;
    color: var(--brand);
    margin-bottom: 10px;
}
.ds-dropzone__title { font-size: 16px; font-weight: 700; color: var(--text); margin-bottom: 4px; }
.ds-dropzone__sub { font-size: 12px; color: var(--text-muted); }
.ds-dropzone__sub span { color: var(--brand-strong); font-weight: 600; }


.ds-upload-queue { display: flex; flex-direction: column; gap: 8px; margin-bottom: 14px; }
.ds-upload-row {
    display: flex; align-items: center; gap: 12px;
    background: var(--surface-2);
    border: 1px solid var(--border);
    border-radius: 10px;
    padding: 8px 12px;
    transition: background .2s;
}
.ds-upload-row.is-ok  { background: rgba(22,163,74,.10); border-color: rgba(22,163,74,.35); }
.ds-upload-row.is-err { background: rgba(220,38,38,.10); border-color: rgba(220,38,38,.35); }
.ds-upload-row__thumb {
    width: 48px; height: 48px; border-radius: 8px;
    background: var(--surface-3) center/cover no-repeat;
    flex-shrink: 0;
}
.ds-upload-row__body { flex: 1; min-width: 0; }
.ds-upload-row__name { font-size: 13px; color: var(--text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-bottom: 4px; }
.ds-upload-row__bar { height: 4px; background: var(--surface-3); border-radius: 999px; overflow: hidden; }
.ds-upload-row__bar-fill {
    height: 100%; width: 0%;
    background: linear-gradient(90deg, var(--brand), #ff8b3d);
    transition: width .2s;
}
.ds-upload-row__msg { font-size: 11px; color: var(--text-muted); font-weight: 600; min-width: 60px; text-align: right; }
.ds-upload-row.is-ok .ds-upload-row__msg  { color: var(--success); }
.ds-upload-row.is-err .ds-upload-row__msg { color: var(--danger); }


.ds-credits-balance { text-align: center; padding: 28px; }
.ds-credits-display { display: flex; flex-direction: column; align-items: center; margin: 10px 0; }
.ds-credits-display__amount {
    font-size: 64px;
    font-weight: 800;
    line-height: 1;
    background: linear-gradient(135deg, #fbbf24, #f59e0b);
    -webkit-background-clip: text; background-clip: text;
    -webkit-text-fill-color: transparent;
    letter-spacing: -0.04em;
}
.ds-credits-display__label { color: var(--text-muted); font-size: 14px; margin-top: 4px; }
.ds-credits-status { display: flex; flex-direction: column; gap: 8px; margin-top: 14px; }


.ds-credits-status-banner {
    margin: 18px 0 0;
    padding: 14px 18px;
    background: linear-gradient(135deg, rgba(251,191,36,.10), rgba(255,46,108,.06));
    border: 1px solid rgba(251,191,36,.45);
    border-radius: 14px;
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
}
.ds-credits-status-banner .ds-credit-active {
    background: var(--surface);
    border-color: var(--border-strong);
}
.ds-credit-active {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 14px;
    background: rgba(251,191,36,.15);
    border: 1px solid rgba(251,191,36,.4);
    border-radius: 999px;
    font-size: 13px;
    font-weight: 600;
    color: var(--text);
}

.ds-credits-packs {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
}

@media (max-width: 480px) {
    .ds-credits-packs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.ds-credit-pack {
    position: relative;
    background: var(--surface-2);
    border: 1px solid var(--border);
    border-radius: 12px;
    padding: 18px 14px;
    cursor: pointer;
    font-family: var(--font-sans);
    display: flex; flex-direction: column; align-items: center; gap: 2px;
    transition: all .15s;
}
.ds-credit-pack:hover {
    border-color: var(--brand);
    transform: translateY(-2px);
    box-shadow: var(--shadow-md);
}
.ds-credit-pack--popular {
    border-color: var(--brand);
    background: linear-gradient(180deg, var(--brand-soft), var(--surface-2));
}
[data-theme="dark"] .ds-credit-pack--popular { background: linear-gradient(180deg, rgba(255,46,108,.10), var(--surface-2)); }
.ds-credit-pack__badge {
    position: absolute; top: -10px; right: 10px;
    background: linear-gradient(135deg, #fbbf24, #f59e0b);
    color: #422006;
    font-size: 10px; font-weight: 700; padding: 3px 10px; border-radius: 999px;
    text-transform: uppercase; letter-spacing: .04em;
}
.ds-credit-pack__amt {
    font-size: 28px; font-weight: 800;
    color: var(--text);
    line-height: 1;
}
.ds-credit-pack__label { font-size: 11px; color: var(--text-muted); text-transform: uppercase; letter-spacing: .04em; }
.ds-credit-pack__price {
    font-size: 16px; font-weight: 700;
    color: var(--brand-strong);
    margin-top: 6px;
}

.ds-spend-options { display: flex; flex-direction: column; gap: 10px; }
.ds-spend-option {
    display: flex; align-items: center; gap: 14px;
    background: var(--surface-2);
    border: 1px solid var(--border);
    border-radius: 12px;
    padding: 14px;
    cursor: pointer;
    font-family: var(--font-sans);
    text-align: left;
    transition: all .15s;
}
.ds-spend-option:hover {
    border-color: var(--brand);
    transform: translateY(-1px);
    box-shadow: var(--shadow-md);
}
.ds-spend-option__icon {
    width: 44px; height: 44px; border-radius: 12px;
    display: flex; align-items: center; justify-content: center;
    color: #fff; font-size: 18px; flex-shrink: 0;
}
.ds-spend-option__body { flex: 1; min-width: 0; }
.ds-spend-option__title { font-size: 14px; font-weight: 700; color: var(--text); margin-bottom: 2px; }
.ds-spend-option__desc { font-size: 12px; color: var(--text-muted); line-height: 1.4; }
.ds-spend-option__cost {
    font-size: 22px; font-weight: 800; color: var(--text);
    background: linear-gradient(135deg, #fbbf24, #f59e0b);
    -webkit-background-clip: text; background-clip: text;
    -webkit-text-fill-color: transparent;
    flex-shrink: 0;
    line-height: 1;
}
.ds-spend-option__cost small { font-size: 11px; font-weight: 600; color: var(--text-muted); display: block; margin-top: 2px; -webkit-text-fill-color: var(--text-muted); }


.ds-type-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    margin-top: 4px;
}
@media (max-width: 540px) { .ds-type-grid { grid-template-columns: 1fr; } }
.ds-type {
    cursor: pointer;
    display: block;
}
.ds-type input { position: absolute; opacity: 0; pointer-events: none; }
.ds-type__inner {
    display: flex; flex-direction: column; align-items: center; gap: 4px;
    padding: 16px 12px;
    background: var(--surface-2);
    border: 2px solid var(--border);
    border-radius: 14px;
    color: var(--text);
    text-align: center;
    transition: all .15s;
    height: 100%;
}
.ds-type__inner i {
    font-size: 22px;
    color: var(--text-muted);
    margin-bottom: 4px;
    transition: color .15s;
}
.ds-type__inner strong { font-size: 14px; font-weight: 700; }
.ds-type__inner span { font-size: 11px; color: var(--text-muted); line-height: 1.3; }
.ds-type input:checked + .ds-type__inner {
    border-color: var(--brand);
    background: var(--brand-soft);
    color: var(--brand-strong);
    box-shadow: 0 6px 16px rgba(255,46,108,.2);
}
[data-theme="dark"] .ds-type input:checked + .ds-type__inner {
    background: rgba(255,46,108,.14);
}
.ds-type input:checked + .ds-type__inner i { color: var(--brand-strong); }
.ds-type input:checked + .ds-type__inner span { color: var(--brand-strong); opacity: .85; }


.ds-typedate-grid { grid-template-columns: repeat(5, 1fr); }
@media (max-width: 900px) { .ds-typedate-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 540px) { .ds-typedate-grid { grid-template-columns: repeat(2, 1fr); } }
.ds-typedate-grid .ds-type__inner { padding: 14px 10px; }
.ds-typedate-grid .ds-type__inner i { font-size: 20px; margin-bottom: 2px; }
.ds-typedate-grid .ds-type__inner strong { font-size: 13.5px; }
.ds-typedate.is-disabled { cursor: not-allowed; }
.ds-typedate.is-disabled .ds-type__inner {
    opacity: 0.42;
    filter: grayscale(0.4);
}
.ds-typedate-hint {
    display: flex; align-items: center; gap: 8px;
    margin-top: 8px;
    padding: 8px 12px;
    background: rgba(255,46,108,.08);
    border: 1px solid rgba(255,46,108,.22);
    border-radius: 10px;
    color: var(--brand-strong);
    font-size: 12px;
    line-height: 1.4;
}
.ds-typedate-hint i { color: var(--brand); font-size: 13px; }

#ds-typedate-field.is-error .ds-type:not(.is-selected) .ds-type__inner {
    border-color: var(--danger, #f87171);
    box-shadow: 0 0 0 2px rgba(248,113,113,0.18);
}


.ds-verif-status { margin-bottom: 4px; }
.ds-verif-status__card {
    display: flex; align-items: center; gap: 14px;
    padding: 16px 18px;
    border-radius: 14px;
    border: 1px solid var(--border);
    margin-bottom: 16px;
}
.ds-verif-status__card i { font-size: 24px; flex-shrink: 0; }
.ds-verif-status__card strong { font-size: 15px; color: var(--text); display: block; margin-bottom: 2px; }
.ds-verif-status__card span { font-size: 13px; color: var(--text-muted); line-height: 1.4; display: block; }
.ds-verif-status__card.is-pending  { background: rgba(217,119,6,.10); border-color: rgba(217,119,6,.5); }
.ds-verif-status__card.is-pending i { color: var(--warning); }
.ds-verif-status__card.is-approved { background: rgba(22,163,74,.10); border-color: rgba(22,163,74,.5); }
.ds-verif-status__card.is-approved i { color: var(--success); }
.ds-verif-status__card.is-denied   { background: rgba(220,38,38,.10); border-color: rgba(220,38,38,.5); }
.ds-verif-status__card.is-denied i { color: var(--danger); }
.ds-verif-status__card.is-changes  { background: rgba(30,144,255,.10); border-color: rgba(30,144,255,.5); }
.ds-verif-status__card.is-changes i { color: var(--accent); }

.ds-verif-slots {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
    margin-bottom: 16px;
}
@media (max-width: 900px) { .ds-verif-slots { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .ds-verif-slots { grid-template-columns: 1fr; } }
.ds-verif-slot {
    background: var(--surface-2);
    border: 1px dashed var(--border-strong);
    border-radius: 14px;
    padding: 14px;
    display: flex; flex-direction: column; gap: 10px;
}
.ds-verif-slot__illustration {
    position: relative;
    width: 100%;
    aspect-ratio: 3/2;
    background: linear-gradient(135deg, rgba(255,46,108,.08), rgba(30,144,255,.08));
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px;
    border: 1px solid rgba(255,255,255,.06);
    overflow: hidden;
    transition: border-color .2s;
}
.ds-verif-slot__illustration svg {
    width: 100%;
    height: 100%;
    max-height: 110px;
    display: block;
}
.ds-verif-slot__illustration.is-filled {
    padding: 0;
    border-color: var(--success);
    box-shadow: 0 0 0 2px rgba(22,163,74,.25);
}
.ds-verif-slot__illustration.is-filled svg { display: none; }
.ds-verif-slot__illustration.is-loading::after {
    content: var(--txt-uploading);
    position: absolute; inset: 0;
    display: flex; align-items: center; justify-content: center;
    background: rgba(0,0,0,.55); color: #fff;
    font-size: 13px; border-radius: 12px;
    z-index: 2;
}
.ds-verif-slot__label strong { font-size: 13px; font-weight: 700; color: var(--text); display: block; margin-bottom: 2px; }
.ds-verif-slot__label span { font-size: 12px; color: var(--text-muted); line-height: 1.4; }
.ds-verif-slot__photo {
    aspect-ratio: 4/3;
    background: var(--surface-3) center/cover no-repeat;
    border-radius: 10px;
    position: relative;
    border: 1px solid var(--border);
}
.ds-verif-slot__photo.is-filled { border-color: var(--success); }
.ds-verif-slot__photo.is-loading::after {
    content: var(--txt-uploading);
    position: absolute; inset: 0;
    display: flex; align-items: center; justify-content: center;
    background: rgba(0,0,0,.5); color: #fff;
    font-size: 13px; border-radius: 10px;
}
.ds-verif-slot__btn { padding: 8px 14px !important; font-size: 12px !important; }

.ds-verif-promise {
    display: flex; flex-direction: column; gap: 8px;
    padding: 14px 16px;
    background: var(--surface-2);
    border-radius: 12px;
    font-size: 12px;
    color: var(--text-muted);
}
.ds-verif-promise__item { display: flex; align-items: center; gap: 8px; }
.ds-verif-promise__item i { color: var(--success); }


.ds-msg-list { display: flex; flex-direction: column; gap: 10px; }
.ds-msg-card {
    background: var(--surface-2);
    border: 1px solid var(--border);
    border-left: 3px solid var(--brand);
    border-radius: 10px;
    padding: 14px;
}
.ds-msg-card__head {
    display: flex; align-items: center; gap: 8px;
    margin-bottom: 8px;
    font-size: 13px;
    flex-wrap: wrap;
}
.ds-msg-card__head strong { color: var(--text); }
.ds-msg-card__email { color: var(--text-muted); font-size: 12px; }
.ds-msg-card__when  { color: var(--text-soft); font-size: 11px; margin-left: auto; }
.ds-msg-card__body  { color: var(--text-muted); font-size: 13px; line-height: 1.5; white-space: pre-wrap; }
.ds-msg-card--verzonden { border-left-color: var(--accent); }


.ds-msg-list { display: flex; flex-direction: column; gap: 8px; }
.ds-conv-row {
    position: relative;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 14px;
    background: var(--surface-2);
    border: 1px solid var(--border);
    border-radius: 12px;
    cursor: pointer;
    transition: background .15s, border-color .15s, transform .05s;
}
.ds-conv-row:hover { background: var(--surface-3); border-color: var(--border-strong); }
.ds-conv-row:active { transform: translateY(1px); }
.ds-conv-row.is-pinned {
    border-color: rgba(251,191,36,.45);
    background: linear-gradient(180deg, rgba(251,191,36,.05), var(--surface-2));
}
.ds-conv-row__avatar {
    width: 44px; height: 44px;
    border-radius: 50%;
    flex-shrink: 0;
    background: linear-gradient(135deg, rgba(255,46,108,.18), rgba(30,144,255,.18)) center/cover no-repeat;
    border: 1px solid var(--border);
    position: relative;
    display: flex; align-items: center; justify-content: center;
    color: var(--text-soft);
    font-size: 16px;
}
.ds-conv-row__pin {
    position: absolute;
    top: -4px; left: -4px;
    background: #fbbf24; color: #422006;
    width: 18px; height: 18px;
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-size: 10px;
    border: 2px solid var(--surface);
}
.ds-conv-row__body {
    flex: 1; min-width: 0;
    display: flex; flex-direction: column; gap: 2px;
}
.ds-conv-row__top {
    display: flex; align-items: baseline; gap: 8px;
}
.ds-conv-row__name {
    font-weight: 700;
    color: var(--text);
    font-size: 14px;
    line-height: 1.2;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    min-width: 0;
    flex: 0 1 auto;
}
.ds-conv-row__when {
    color: var(--text-soft);
    font-size: 11px;
    margin-left: auto;
    flex-shrink: 0;
}
.ds-conv-row__snippet {
    color: var(--text-muted);
    font-size: 12.5px;
    line-height: 1.35;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    min-width: 0;
}
.ds-conv-row__snippet b { color: var(--text); font-weight: 600; margin-right: 4px; }
.ds-conv-row__unread {
    background: var(--brand);
    color: #fff;
    border-radius: 999px;
    padding: 2px 8px;
    font-size: 11px;
    font-weight: 700;
    min-width: 20px;
    text-align: center;
}
.ds-conv-row__actions {
    position: relative;
    flex-shrink: 0;
    margin-left: 4px;
}
.ds-conv-row__menu-btn {
    background: transparent;
    border: 0;
    color: var(--text-muted);
    cursor: pointer;
    padding: 6px 10px;
    border-radius: 8px;
    font-size: 16px;
    line-height: 1;
    transition: background .15s, color .15s;
}
.ds-conv-row__menu-btn:hover { background: var(--surface); color: var(--text); }
.ds-conv-row__menu {
    position: absolute;
    top: calc(100% + 6px);
    right: 0;
    min-width: 200px;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 12px;
    box-shadow: var(--shadow-md);
    padding: 6px;
    z-index: 30;
    display: flex; flex-direction: column; gap: 2px;
    animation: dsStatusFade .15s ease;
}
.ds-conv-row__menu[hidden] { display: none !important; }
.ds-conv-row__menu-opt {
    display: inline-flex; align-items: center; gap: 9px;
    padding: 8px 10px;
    border: 0;
    background: transparent;
    color: var(--text);
    border-radius: 8px;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    text-align: left;
    font-family: var(--font-sans);
    transition: background .15s, color .15s;
}
.ds-conv-row__menu-opt:hover { background: var(--surface-2); }
.ds-conv-row__menu-opt i { width: 14px; text-align: center; color: var(--text-muted); }
.ds-conv-row__menu-opt--danger { color: var(--danger); }
.ds-conv-row__menu-opt--danger:hover { background: rgba(220,38,38,.10); }
.ds-conv-row__menu-opt--danger i { color: var(--danger); }


@media (min-width: 881px) {
    #ds-messages-inbox,
    .ds-tabpane[data-pane="reservations"] > .v2-card,
    .ds-tabpane[data-pane="favorites"] > .v2-card {
        min-height: calc(100vh - 600px);
        display: flex;
        flex-direction: column;
    }
    #ds-messages-inbox #ds-messages-list,
    .ds-tabpane[data-pane="reservations"] #ds-reservations-list,
    .ds-tabpane[data-pane="favorites"] #ds-favorites-list {
        flex: 1;
    }
}


.ds-settings-card + .ds-settings-card { margin-top: 16px; }
.ds-settings-card .v2-card__title { margin-bottom: 10px; }
.ds-settings-hint { color: var(--text-muted); font-size: 13px; margin: 0 0 14px; line-height: 1.5; }
.ds-settings-badge {
    display: inline-block;
    background: rgba(245,158,11,.15);
    color: #f59e0b;
    font-size: 10px;
    font-weight: 700;
    padding: 3px 9px;
    border-radius: 999px;
    text-transform: uppercase;
    letter-spacing: .06em;
    margin-left: 10px;
    vertical-align: middle;
}
.ds-settings-badge--inline {
    margin-left: 6px;
    padding: 1px 7px;
    font-size: 9px;
    vertical-align: 1px;
}


.ds-settings-row {
    display: flex; align-items: center; justify-content: space-between; gap: 12px;
    padding: 10px 0;
    border-top: 1px solid var(--border);
    font-size: 13px;
}
.ds-settings-row:first-of-type { border-top: 0; padding-top: 0; }
.ds-settings-row__label {
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: .04em;
    font-size: 11px;
    font-weight: 700;
    flex-shrink: 0;
}
.ds-settings-row__value {
    color: var(--text);
    font-weight: 500;
    text-align: right;
    word-break: break-word;
}
.ds-settings-row__meta {
    display: block;
    font-size: 11px;
    color: var(--text-soft);
    font-weight: 400;
    margin-top: 2px;
}


.ds-settings-options {
    display: flex; flex-direction: column; gap: 10px;
}
.ds-settings-options--inline {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 8px;
}
.ds-set-check, .ds-set-radio {
    display: flex; align-items: flex-start; gap: 12px;
    padding: 12px 14px;
    background: var(--surface-2);
    border: 1px solid var(--border);
    border-radius: 10px;
    cursor: pointer;
    transition: background .15s, border-color .15s;
}
.ds-set-check:hover, .ds-set-radio:hover {
    background: var(--surface-3);
    border-color: var(--border-strong);
}
.ds-set-check input[type="checkbox"],
.ds-set-radio input[type="radio"] {
    accent-color: var(--brand);
    width: 16px; height: 16px;
    margin-top: 2px;
    flex-shrink: 0;
}
.ds-set-check > span,
.ds-set-radio > span {
    flex: 1;
    color: var(--text);
    font-size: 13px;
    line-height: 1.4;
    display: flex; flex-direction: column; gap: 2px;
}
.ds-set-check small,
.ds-set-radio small {
    color: var(--text-muted);
    font-size: 12px;
    font-weight: 400;
}
.ds-set-check input[type="checkbox"]:checked ~ span strong,
.ds-set-radio input[type="radio"]:checked ~ span {
    color: var(--brand);
}
.ds-set-check:has(input:checked),
.ds-set-radio:has(input:checked) {
    background: linear-gradient(180deg, rgba(255,46,108,.06), var(--surface-2));
    border-color: var(--brand);
}
.ds-settings-options--inline .ds-set-radio {
    flex: 0 0 auto;
    align-items: center;
    padding: 8px 14px;
}
.ds-set-flag { font-size: 16px; margin-right: 4px; }


.ds-settings-toggles { display: flex; flex-direction: column; gap: 10px; }
.ds-set-toggle {
    display: flex; align-items: center; gap: 14px;
    padding: 12px 14px;
    background: var(--surface-2);
    border: 1px solid var(--border);
    border-radius: 10px;
}
.ds-set-toggle__body { display: flex; flex-direction: column; gap: 2px; }
.ds-set-toggle__body strong { color: var(--text); font-size: 13px; }
.ds-set-toggle__body small { color: var(--text-muted); font-size: 12px; line-height: 1.4; }


.ds-settings-country {
    display: flex; gap: 8px; align-items: center; flex-wrap: wrap;
    margin-bottom: 12px;
}
.ds-set-input {
    flex: 1;
    min-width: 180px;
    padding: 10px 12px;
    background: var(--surface-2);
    border: 1px solid var(--border-strong);
    border-radius: 10px;
    color: var(--text);
    font-family: var(--font-sans);
    font-size: 13px;
}
.ds-set-input:focus { outline: none; border-color: var(--brand); }
.ds-set-chips { display: flex; gap: 6px; flex-wrap: wrap; }
.ds-set-chip {
    display: inline-flex; align-items: center; gap: 6px;
    padding: 6px 10px 6px 12px;
    background: var(--surface-2);
    border: 1px solid var(--border);
    border-radius: 999px;
    font-size: 12px;
    font-weight: 600;
    color: var(--text);
}
.ds-set-chip button {
    background: transparent; border: 0; cursor: pointer;
    color: var(--text-muted);
    font-size: 13px; padding: 0; line-height: 1;
}
.ds-set-chip button:hover { color: var(--danger); }
.ds-set-chips:empty::before {
    content: var(--txt-no-blocked);
    color: var(--text-soft);
    font-size: 12px;
    font-style: italic;
}


.ds-settings-danger { border-color: var(--border) !important; }
.ds-danger-row {
    display: flex; align-items: center; justify-content: space-between; gap: 14px;
    padding: 14px 0;
    border-top: 1px solid var(--border);
}
.ds-danger-row:first-of-type { border-top: 0; padding-top: 4px; }
.ds-danger-row__text { display: flex; flex-direction: column; gap: 2px; min-width: 0; flex: 1; }
.ds-danger-row__text strong { color: var(--text); font-size: 13px; }
.ds-danger-row__text small { color: var(--text-muted); font-size: 12px; line-height: 1.4; }
.ds-danger-row .v2-btn { flex: 0 0 auto; }
@media (max-width: 540px) {
    .ds-danger-row { flex-direction: column; align-items: flex-start; }
}


.ds-pw-row {
    display: flex;
    gap: 8px;
    align-items: stretch;
    flex-wrap: wrap;
}
.ds-pw-row input[type="password"] {
    flex: 1 1 180px;
    min-width: 0;
    padding: 10px 14px;
    background: var(--surface-2);
    border: 1px solid var(--border-strong);
    border-radius: 10px;
    color: var(--text);
    font-family: var(--font-sans);
    font-size: 13px;
    transition: border-color .15s;
}
.ds-pw-row input[type="password"]:focus { outline: none; border-color: var(--brand); }
.ds-pw-row__btn { flex: 0 0 auto; padding: 10px 18px; }


.ds-lang-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.ds-lang-opt {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 14px;
    background: var(--surface-2);
    border: 1px solid var(--border);
    border-radius: 999px;
    cursor: pointer;
    font-size: 13px;
    font-weight: 600;
    color: var(--text);
    line-height: 1;
    flex: 0 0 auto;
    transition: background .15s, border-color .15s, color .15s;
}
.ds-lang-opt:hover { background: var(--surface-3); border-color: var(--border-strong); }
.ds-lang-opt input[type="radio"] {
    accent-color: var(--brand);
    width: 14px; height: 14px;
    flex-shrink: 0;
    margin: 0;
}
.ds-lang-opt .ds-set-flag { font-size: 16px; line-height: 1; }
.ds-lang-opt .ds-lang-name { white-space: nowrap; }
.ds-lang-opt:has(input:checked) {
    background: linear-gradient(180deg, rgba(255,46,108,.08), var(--surface-2));
    border-color: var(--brand);
    color: var(--brand-strong);
}


.ds-settings-savebar {
    margin-top: 18px;
    padding: 14px 18px;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 14px;
    display: flex;
    align-items: center;
    gap: 14px;
    box-shadow: var(--shadow-sm);
    margin-bottom: 18px;
}
.ds-settings-savebar__hint {
    color: var(--text-muted);
    font-size: 12px;
    flex: 1;
}
.ds-settings-savebar .v2-btn { flex: 0 0 auto; padding: 10px 22px; }
.ds-settings-savebar .ds-form-msg { flex-shrink: 0; }
@media (max-width: 540px) {
    .ds-settings-savebar { flex-direction: column; align-items: stretch; }
    .ds-settings-savebar .v2-btn { width: 100%; }
}


#ds-i18n-fab {
    position: fixed;
    bottom: 16px;
    right: 70px;
    z-index: 1500;
    background: var(--surface);
    box-shadow: 0 6px 18px rgba(0,0,0,.25);
}
@media (max-width: 540px) {
    #ds-i18n-fab { bottom: 12px; right: 60px; }
    #ds-i18n-fab button { padding: 4px 8px; font-size: 10px; }
}


[data-i18n-switcher] {
    display: inline-flex;
    gap: 4px;
    background: var(--surface-2);
    border: 1px solid var(--border);
    border-radius: 999px;
    padding: 3px;
    vertical-align: middle;
}
[data-i18n-switcher] button {
    appearance: none;
    border: 0;
    background: transparent;
    color: var(--text-muted);
    font-family: var(--font-sans);
    font-size: 11px;
    font-weight: 700;
    padding: 5px 10px;
    border-radius: 999px;
    cursor: pointer;
    line-height: 1;
    letter-spacing: .02em;
    transition: background .15s, color .15s;
}
[data-i18n-switcher] button:hover { background: var(--surface-3); color: var(--text); }
[data-i18n-switcher] button.is-active {
    background: var(--brand);
    color: #fff;
    box-shadow: 0 2px 6px rgba(255,46,108,.25);
}


.ds-conversation {
    
    display: flex;
    flex-direction: column;
    height: calc(100vh - 200px);
    min-height: 480px;
    max-height: 760px;
    padding: 18px;
}
.ds-conv-header {
    display: flex; align-items: center; gap: 12px;
    padding-bottom: 12px;
    margin-bottom: 12px;
    border-bottom: 1px solid var(--border);
    flex-shrink: 0;
}
.ds-conv-header__who { display: flex; align-items: center; gap: 12px; flex: 1; min-width: 0; }
.ds-conv-header__avatar {
    width: 44px; height: 44px;
    border-radius: 50%;
    flex-shrink: 0;
    background: linear-gradient(135deg, rgba(255,46,108,.18), rgba(30,144,255,.18)) center/cover no-repeat;
    border: 1px solid var(--border);
    
    display: flex; align-items: center; justify-content: center;
    color: var(--text-soft);
    font-size: 16px;
}
.ds-conv-header__name {
    font-weight: 700;
    color: var(--text);
    font-size: 17px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.ds-conv-back {
    flex-shrink: 0;
    display: inline-flex; align-items: center; gap: 6px;
    padding: 6px 12px;
    background: var(--surface-2);
    border: 1px solid var(--border);
    color: var(--text-muted);
    border-radius: 999px;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    font-family: var(--font-sans);
    transition: background .15s, color .15s, border-color .15s;
}
.ds-conv-back:hover {
    background: var(--surface-3);
    color: var(--text);
    border-color: var(--border-strong);
}
.ds-conv-back i { font-size: 11px; }

.ds-conv-body {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    display: flex; flex-direction: column; gap: 10px;
    padding-right: 4px;
}


.ds-conv-compose {
    display: flex; align-items: flex-end; gap: 8px;
    padding-top: 12px;
    margin-top: 12px;
    border-top: 1px solid var(--border);
    flex-shrink: 0;
}
.ds-conv-compose__input {
    flex: 1;
    min-height: 40px;
    max-height: 140px;
    resize: none;
    padding: 10px 14px;
    border-radius: 12px;
    border: 1px solid var(--border-strong);
    background: var(--surface-2);
    color: var(--text);
    font-family: var(--font-sans);
    font-size: 13px;
    line-height: 1.4;
    transition: border-color .15s, background .15s;
}
.ds-conv-compose__input:focus {
    outline: none;
    border-color: var(--brand);
    background: var(--surface);
}
.ds-conv-compose__send {
    flex-shrink: 0;
    width: 44px; height: 44px;
    border-radius: 50%;
    border: 0;
    background: linear-gradient(135deg, var(--brand), var(--brand-strong));
    color: #fff;
    cursor: pointer;
    font-size: 14px;
    box-shadow: 0 4px 10px rgba(255,46,108,.28);
    transition: filter .15s, transform .05s;
}
.ds-conv-compose__send:disabled { opacity: .5; cursor: not-allowed; }
.ds-conv-compose__send:hover:not(:disabled) { filter: brightness(1.08); }
.ds-conv-compose__send:active:not(:disabled) { transform: translateY(1px); }

.ds-conv-compose__attach {
    flex-shrink: 0;
    width: 40px; height: 40px;
    border-radius: 50%;
    border: 1px solid var(--border-strong);
    background: var(--surface-2);
    color: var(--text);
    cursor: pointer; font-size: 14px;
    transition: background .15s, border-color .15s, color .15s;
    display: inline-flex; align-items: center; justify-content: center;
}
.ds-conv-compose__attach:hover { background: var(--surface); border-color: var(--brand); color: var(--brand); }
.ds-conv-compose__attach:disabled { opacity: .5; cursor: not-allowed; }

.ds-conv-bubble--image { padding: 4px 4px 6px; max-width: 260px; }
.ds-conv-bubble--image .ds-conv-img {
    display: block; width: 100%; max-height: 260px; object-fit: cover;
    border-radius: 10px; cursor: zoom-in; background: var(--surface);
}
.ds-conv-bubble--image .ds-conv-img-caption { padding: 6px 8px 0; font-size: 12.5px; white-space: pre-wrap; }
.ds-conv-bubble--image .ds-conv-bubble__when { padding: 0 8px; }

.ds-img-lightbox {
    position: fixed; inset: 0; background: rgba(0,0,0,0.85);
    display: none; align-items: center; justify-content: center;
    z-index: 10000; cursor: zoom-out; padding: 20px;
}
.ds-img-lightbox.show { display: flex; }
.ds-img-lightbox img { max-width: 95vw; max-height: 95vh; object-fit: contain; box-shadow: 0 20px 60px rgba(0,0,0,0.6); border-radius: 6px; }


.ds-conv-bubble__receipt {
    display: inline-flex;
    align-items: center;
    margin-left: 6px;
    font-size: 10px;
    opacity: .85;
}
.ds-conv-bubble--sent .ds-conv-bubble__receipt i { color: rgba(255,255,255,.85); }
.ds-conv-bubble--sent.is-read .ds-conv-bubble__receipt i { color: #5fe3a6; }
.ds-conv-bubble {
    max-width: 78%;
    padding: 10px 14px;
    border-radius: 14px;
    font-size: 13px;
    line-height: 1.5;
    white-space: pre-wrap;
    word-break: break-word;
    
    display: block !important;
    flex: 0 0 auto !important;
    flex-shrink: 0 !important;
    min-height: max-content;
    height: auto !important;
}
.ds-conv-bubble__when { font-size: 10px; opacity: .65; margin-top: 4px; }
.ds-conv-bubble--received {
    align-self: flex-start;
    background: var(--surface-2);
    color: var(--text);
    border: 1px solid var(--border);
    border-bottom-left-radius: 4px;
}
.ds-conv-bubble--sent {
    align-self: flex-end;
    background: linear-gradient(135deg, var(--brand), var(--brand-strong));
    color: #fff;
    border-bottom-right-radius: 4px;
}
.ds-conv-bubble--sent .ds-conv-bubble__when { color: rgba(255,255,255,.85); }


.ds-nav-dropdown > a[data-ds-account-linked] { position: relative; }
.ds-nav-dot {
    display: inline-block;
    width: 8px; height: 8px;
    border-radius: 50%;
    background: #ff2e6c;
    box-shadow: 0 0 0 2px var(--surface), 0 0 6px rgba(255,46,108,0.7);
    margin-left: 6px;
    vertical-align: middle;
}
.ds-nav-dropdown__menu a { position: relative; }
.ds-nav-dropdown__menu a .ds-nav-dot {
    position: absolute;
    right: 14px; top: 50%;
    margin-left: 0;
    transform: translateY(-50%);
    box-shadow: 0 0 0 2px var(--bg, #fff);
}
@media (prefers-color-scheme: dark) {
    .ds-nav-dot { box-shadow: 0 0 0 2px var(--bg), 0 0 6px rgba(255,46,108,0.7); }
}


.ds-out-count {
    display: inline-block;
    background: var(--brand, #ff2e6c);
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    padding: 2px 9px;
    border-radius: 11px;
    margin-left: 8px;
    vertical-align: middle;
}
.ds-out-list { display: flex; flex-direction: column; gap: 10px; }
.ds-out-card {
    display: flex;
    gap: 14px;
    padding: 12px 14px;
    border: 1px solid var(--border);
    background: var(--surface);
    border-radius: 12px;
    align-items: center;
}
.ds-out-card__avatar {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: var(--surface-2);
    background-size: cover;
    background-position: center;
    flex-shrink: 0;
    border: 1px solid var(--border);
    color: var(--text-muted, #888);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
}
.ds-out-card__body { flex: 1; min-width: 0; }
.ds-out-card__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    flex-wrap: wrap;
}
.ds-out-card__name { font-weight: 700; font-size: 14px; color: var(--text); }
.ds-out-card__name a { color: inherit; text-decoration: none; }
.ds-out-card__name a:hover { color: var(--brand, #ff2e6c); }
.ds-out-card__status {
    font-size: 10.5px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .4px;
    padding: 2px 9px;
    border-radius: 10px;
}
.ds-out-card__status--Ongelezen   { background: rgba(255,46,108,.14); color: var(--brand, #ff2e6c); }
.ds-out-card__status--Gelezen     { background: rgba(96,165,250,.14); color: #60a5fa; }
.ds-out-card__status--Klaar       { background: rgba(52,211,153,.16); color: #22c55e; }
.ds-out-card__status--Done        { background: rgba(160,160,180,.16); color: var(--text-muted, #888); }
.ds-out-card__status--Geannuleerd { background: rgba(251,191,36,.18); color: #f59e0b; }
.ds-out-card__meta { color: var(--text-muted, #888); font-size: 12.5px; margin-top: 3px; line-height: 1.5; }
.ds-out-card__meta b { color: var(--text); font-weight: 600; }
.ds-out-card__actions { display: flex; gap: 8px; margin-top: 9px; flex-wrap: wrap; }
.ds-out-card__btn {
    background: var(--surface-2);
    border: 1px solid var(--border);
    color: var(--text);
    padding: 7px 13px;
    border-radius: 8px;
    font-size: 12.5px;
    font-weight: 600;
    cursor: pointer;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    transition: all .15s;
}
.ds-out-card__btn:hover { border-color: var(--brand, #ff2e6c); color: var(--brand, #ff2e6c); }
.ds-out-card__btn--primary {
    background: linear-gradient(135deg, var(--brand, #ff2e6c), var(--brand-strong, #b937ff));
    color: #fff;
    border: 0;
}
.ds-out-card__btn--primary:hover { color: #fff; filter: brightness(1.06); }
.ds-out-card__btn--pay {
    background: linear-gradient(135deg, #22c55e, #10b981);
    color: #fff;
    border: 0;
}
.ds-out-card__btn--pay:hover { color: #fff; filter: brightness(1.08); }
@media (max-width: 600px) {
    .ds-out-card { flex-direction: column; align-items: stretch; text-align: left; }
    .ds-out-card__avatar { width: 44px; height: 44px; align-self: flex-start; }
}


.ds-res-card {
    max-width: 82%;
    border-radius: 14px;
    overflow: hidden;
    border: 1px solid var(--border);
    background: var(--surface);
    box-shadow: 0 2px 8px rgba(0,0,0,0.06);
    font-size: 13px;
    
    display: block !important;
    flex: 0 0 auto !important;
    flex-shrink: 0 !important;
    min-height: max-content;
    height: auto !important;
}
.ds-res-card--received { align-self: flex-start; border-bottom-left-radius: 4px; }
.ds-res-card--sent     { align-self: flex-end;   border-bottom-right-radius: 4px; }
.ds-res-card__head {
    padding: 10px 14px;
    font-weight: 700;
    font-size: 13px;
    display: flex;
    align-items: center;
    gap: 8px;
    background: linear-gradient(135deg, rgba(255,46,108,.12), rgba(185,55,255,.12));
    border-bottom: 1px solid var(--border);
    color: var(--text);
}
.ds-res-card__head--confirmed {
    background: linear-gradient(135deg, rgba(52,211,153,.16), rgba(96,165,250,.16));
}
.ds-res-card__head--canceled {
    background: linear-gradient(135deg, rgba(251,191,36,.18), rgba(248,113,113,.18));
}
.ds-res-card__body { padding: 12px 14px 14px; line-height: 1.55; color: var(--text); }
.ds-res-card__row { display: flex; gap: 8px; padding: 3px 0; }
.ds-res-card__row .k { color: var(--text-soft, #888); min-width: 90px; font-size: 12.5px; }
.ds-res-card__row .v { color: var(--text); font-weight: 500; font-size: 13px; }
.ds-res-card__pay {
    margin-top: 12px;
    padding: 12px 14px;
    background: linear-gradient(135deg, rgba(255,46,108,.10), rgba(185,55,255,.10));
    border: 1px solid rgba(255,46,108,.28);
    border-radius: 10px;
}
.ds-res-card__pay-label {
    font-size: 10.5px;
    text-transform: uppercase;
    letter-spacing: .5px;
    color: var(--brand, #ff2e6c);
    font-weight: 700;
    margin-bottom: 8px;
}
.ds-res-card__pay-btn {
    display: inline-block;
    background: linear-gradient(135deg, var(--brand, #ff2e6c), var(--brand-strong, #b937ff));
    color: #fff !important;
    text-decoration: none;
    padding: 10px 18px;
    border-radius: 8px;
    font-weight: 700;
    font-size: 13px;
    box-shadow: 0 4px 12px rgba(255,46,108,.25);
}
.ds-res-card__pay-btn:hover { filter: brightness(1.06); transform: translateY(-1px); transition: all .15s; }
.ds-res-card__pay-info { display: block; font-size: 11.5px; color: var(--text-soft, #888); margin-top: 10px; }
.ds-res-card__foot {
    padding: 7px 14px;
    font-size: 10.5px;
    color: var(--text-soft, #888);
    background: var(--surface-2);
    border-top: 1px solid var(--border);
}


[data-theme="dark"] .hero {
    background: linear-gradient(180deg, transparent 0%, rgba(255,46,108,.08) 100%);
}
[data-theme="dark"] .testimonial-heading span {
    background: var(--surface);
    color: var(--text);
    border-color: var(--border-strong);
}


[data-theme="dark"] [style*="color: black"],
[data-theme="dark"] [style*="color:black"],
[data-theme="dark"] [style*="color: rgb(0, 0, 0)"] {
    color: var(--text) !important;
}
[data-theme="dark"] [style*="color:white"],
[data-theme="dark"] [style*="color: white"] {
    
}
[data-theme="dark"] [style*="background-color:white"],
[data-theme="dark"] [style*="background-color: white"],
[data-theme="dark"] [style*="background:white"],
[data-theme="dark"] [style*="background: white"] {
    background: var(--surface) !important;
}
[data-theme="dark"] [style*="border-color: black"],
[data-theme="dark"] [style*="border-color:black"] {
    border-color: var(--border-strong) !important;
}
[data-theme="dark"] hr[style*="border-color: black"],
[data-theme="dark"] hr[style*="border-color:black"] {
    border-color: var(--border) !important;
}


[data-theme="dark"] .nav-logo {
    
}


.ds-favorites-grid {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
}
.ds-favorites-empty {
    font-style: italic;
}
.ds-fav-card {
    display: flex;
    flex-direction: column;
    background: var(--surface-2);
    border: 1px solid var(--border);
    border-radius: 14px;
    overflow: hidden;
    transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
    max-height: 350px;
}
.ds-fav-card:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-md);
    border-color: var(--brand-soft);
}
.ds-fav-card__photo {
    width: 100%;
    height: 180px;
    background-size: cover;
    background-position: center;
    background-color: var(--surface-3);
}
.ds-fav-card__body {
    padding: 12px 14px 14px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.ds-fav-card__name {
    font-weight: 700;
    font-size: 16px;
    color: var(--text);
}
.ds-fav-card__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    font-size: 12px;
    color: var(--text-muted);
}
.ds-fav-card__meta i { margin-right: 4px; }
.ds-fav-card__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 4px;
}
.ds-fav-card__actions .v2-btn {
    flex: 1 1 auto;
    min-width: 0;
    padding: 6px 10px;
    font-size: 12px;
    white-space: nowrap;
}
.ds-fav-card__actions .ds-fav-remove {
    flex: 0 0 auto;
}
.v2-btn--sm {
    padding: 6px 10px;
    font-size: 12px;
}
.v2-btn--favorited {
    background: linear-gradient(135deg, rgba(255,46,108,.18), rgba(255,46,108,.08));
    color: var(--brand) !important;
    border-color: var(--brand) !important;
}
.v2-btn--favorited i { color: var(--brand) !important; }


.ds-field.is-error > input,
.ds-field.is-error > select,
.ds-field.is-error > textarea {
    border-color: #ef4444 !important;
    background: rgba(239, 68, 68, .06) !important;
    box-shadow: 0 0 0 3px rgba(239, 68, 68, .15) !important;
    animation: dsFieldShake .35s ease-in-out;
}
.ds-field.is-error > span {
    color: #ef4444 !important;
}
@keyframes dsFieldShake {
    0%, 100% { transform: translateX(0); }
    25%      { transform: translateX(-4px); }
    50%      { transform: translateX(4px); }
    75%      { transform: translateX(-2px); }
}


.ds-extra-rows {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.ds-extra-row {
    display: grid;
    grid-template-columns: 1fr 140px 40px;
    gap: 8px;
    align-items: center;
}
.ds-extra-row__service,
.ds-extra-row__price {
    background: var(--surface-2);
    border: 1px solid var(--border);
    border-radius: 10px;
    padding: 8px 12px;
    font-family: var(--font-sans);
    font-size: 13px;
    color: var(--text);
    min-width: 0;
}
.ds-extra-row__service:focus,
.ds-extra-row__price:focus {
    outline: none;
    border-color: var(--brand);
}
.ds-extra-row__remove {
    background: transparent;
    border: 1px solid var(--border);
    border-radius: 10px;
    color: var(--text-muted);
    cursor: pointer;
    padding: 8px;
    transition: all .15s ease;
}
.ds-extra-row__remove:hover {
    color: var(--danger, #ef4444);
    border-color: var(--danger, #ef4444);
}
@media (max-width: 520px) {
    .ds-extra-row {
        grid-template-columns: 1fr 100px 36px;
        gap: 6px;
    }
}


.v2-price-row[data-prices="ontvangst"] > .v2-price-col:first-child,
.v2-price-row[data-prices="escort"]    > .v2-price-col:last-child {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
}
.v2-price-row[data-prices="ontvangst"] > .v2-price-col:last-child,
.v2-price-row[data-prices="escort"]    > .v2-price-col:first-child {
    display: none !important;
}




:root {
    --badge-verified: 'Verifiziert';
    --badge-gold: 'Gold Member';
    --txt-no-services: 'Keine Services angegeben.';
    --txt-no-reviews: 'Noch keine Bewertungen. Sei der Erste!';
    --txt-no-rates: 'Keine Preise angegeben';
    --txt-album-loading: 'Fotoalbum wird geladen…';
    --txt-uploading: 'Wird hochgeladen…';
    --txt-no-blocked: 'Keine Länder blockiert.';
}
html[lang="fr"] {
    --badge-verified: 'Vérifié';
    --badge-gold: 'Membre Gold';
    --txt-no-services: 'Aucune prestation indiquée.';
    --txt-no-reviews: 'Pas encore d’avis. Soyez le premier !';
    --txt-no-rates: 'Aucun tarif indiqué';
    --txt-album-loading: 'Chargement de l’album photo…';
    --txt-uploading: 'Téléversement…';
    --txt-no-blocked: 'Aucun pays bloqué.';
}
html[lang="en"] {
    --badge-verified: 'Verified';
    --badge-gold: 'Gold member';
    --txt-no-services: 'No services listed.';
    --txt-no-reviews: 'No reviews yet. Be the first!';
    --txt-no-rates: 'No rates listed';
    --txt-album-loading: 'Loading photo album…';
    --txt-uploading: 'Uploading…';
    --txt-no-blocked: 'No countries blocked.';
}
html[lang="nl"] {
    --badge-verified: 'Geverifieerd';
    --badge-gold: 'Gold member';
    --txt-no-services: 'Geen mogelijkheden opgegeven.';
    --txt-no-reviews: 'Nog geen reviews. Wees de eerste!';
    --txt-no-rates: 'Geen tarieven opgegeven';
    --txt-album-loading: 'Foto album wordt geladen…';
    --txt-uploading: 'Uploaden…';
    --txt-no-blocked: 'Geen landen geblokkeerd.';
}


.profilecard {
    position: relative;
}

.profilecard > div[style*="float:right"]:has(> i.fa-circle-check),
.profilecard > div[style*="float: right"]:has(> i.fa-circle-check),
.profilecard > div[style*="float:right"]:has(> i.fa-crown),
.profilecard > div[style*="float: right"]:has(> i.fa-crown),
.profilecard .p-4 div[style*="float:right"]:has(> i.fa-circle-check),
.profilecard .p-4 div[style*="float: right"]:has(> i.fa-circle-check),
.profilecard .p-4 div[style*="float:right"]:has(> i.fa-crown),
.profilecard .p-4 div[style*="float: right"]:has(> i.fa-crown) {
    float: none !important;
    position: absolute;
    top: 12px;
    z-index: 5;
    display: inline-flex !important;
    align-items: center;
    gap: 6px;
    padding: 5px 12px 5px 10px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.03em;
    line-height: 1;
    margin: 0 !important;
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
}

.profilecard > div[style*="float:right"]:has(> i.fa-circle-check),
.profilecard > div[style*="float: right"]:has(> i.fa-circle-check),
.profilecard .p-4 div[style*="float:right"]:has(> i.fa-circle-check),
.profilecard .p-4 div[style*="float: right"]:has(> i.fa-circle-check) {
    left: 12px;
    background: linear-gradient(135deg, var(--accent, #1e90ff), var(--accent-strong, #0f6dd5));
    color: #fff;
    box-shadow: 0 4px 14px rgba(30,144,255,.4), 0 0 0 1px rgba(255,255,255,.08) inset;
}
.profilecard > div[style*="float:right"]:has(> i.fa-circle-check) > i,
.profilecard > div[style*="float: right"]:has(> i.fa-circle-check) > i,
.profilecard .p-4 div[style*="float:right"]:has(> i.fa-circle-check) > i,
.profilecard .p-4 div[style*="float: right"]:has(> i.fa-circle-check) > i {
    color: #fff !important;
    font-size: 11px !important;
    float: none !important;
}
.profilecard > div[style*="float:right"]:has(> i.fa-circle-check)::after,
.profilecard > div[style*="float: right"]:has(> i.fa-circle-check)::after,
.profilecard .p-4 div[style*="float:right"]:has(> i.fa-circle-check)::after,
.profilecard .p-4 div[style*="float: right"]:has(> i.fa-circle-check)::after {
    content: var(--badge-verified);
}

.profilecard > div[style*="float:right"]:has(> i.fa-crown),
.profilecard > div[style*="float: right"]:has(> i.fa-crown),
.profilecard .p-4 div[style*="float:right"]:has(> i.fa-crown),
.profilecard .p-4 div[style*="float: right"]:has(> i.fa-crown) {
    right: 12px;
    background: linear-gradient(135deg, #fbbf24, #f59e0b);
    color: #422006;
    box-shadow: 0 4px 14px rgba(245,158,11,.4), 0 0 0 1px rgba(255,255,255,.18) inset;
}
.profilecard > div[style*="float:right"]:has(> i.fa-crown) > i,
.profilecard > div[style*="float: right"]:has(> i.fa-crown) > i,
.profilecard .p-4 div[style*="float:right"]:has(> i.fa-crown) > i,
.profilecard .p-4 div[style*="float: right"]:has(> i.fa-crown) > i {
    color: #422006 !important;
    font-size: 11px !important;
    float: none !important;
}
.profilecard > div[style*="float:right"]:has(> i.fa-crown)::after,
.profilecard > div[style*="float: right"]:has(> i.fa-crown)::after,
.profilecard .p-4 div[style*="float:right"]:has(> i.fa-crown)::after,
.profilecard .p-4 div[style*="float: right"]:has(> i.fa-crown)::after {
    content: var(--badge-gold);
}

.profilecard .p-4 > div:first-child > br { display: none; }

.profilecard { overflow: visible !important; }
.profilecard .image-wrapper,
.profilecard .rowpic3 {
    border-radius: 16px 16px 0 0;
    overflow: hidden;
}

.profilecard .rowpic3 {
    display: flex !important;
    width: 100%;
    height: 192px;
}
.profilecard .rowpic3 > .columnpic3 {
    float: none !important;
    flex: 1 1 0 !important;
    width: auto !important;
    height: 100% !important;
    background-size: cover !important;
    background-position: center !important;
    border-top-left-radius: 0 !important;
    border-top-right-radius: 0 !important;
}


.profilecard em[style*="font-style:italic"]:only-child,
.profilecard .mb-4 > em[style*="font-style:italic"],
.profilecard .text-grey-darker em[style*="font-style:italic"] {
    display: none !important;
}
.profilecard .mb-4:empty,
.profilecard .text-grey-darker.flex-1:empty {
    display: none !important;
}

.profilecard .mb-4:has(> em[style*="font-style:italic"]:only-child),
.profilecard .text-grey-darker.flex-1:has(> em[style*="font-style:italic"]:only-child) {
    display: none !important;
    min-height: 0 !important;
}


.special-style .profilecard .p-4 > div[style*="font-size:12px"] > div[style*="margin-top:15px"],
.special-style .profilecard .p-4 > div[style*="font-size: 12px"] > div[style*="margin-top:15px"],
.special-style .profilecard .p-4 > div > div[style*="margin-top:15px"][style*="margin-bottom:15px"] {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
    align-content: flex-start;
    align-items: center;
    line-height: 1.4 !important;   
    min-height: 0 !important;       
    margin-top: 12px !important;
    margin-bottom: 12px !important;
    font-size: 0 !important;        
}
.special-style .profilecard .p-4 > div > div[style*="margin-top:15px"][style*="margin-bottom:15px"] > span {
    margin: 0 !important;
    white-space: nowrap;
    flex: 0 0 auto;
    font-size: 11px !important;
}
.special-style .profilecard .p-4 > div > div[style*="margin-top:15px"][style*="margin-bottom:15px"] br,
.special-style .profilecard .p-4 > div > div[style*="margin-top:15px"][style*="margin-bottom:15px"] .image_mobile {
    display: none !important;
}
.special-style .profilecard .p-4 > div > div[style*="margin-top:15px"][style*="margin-bottom:15px"] > span:has(> i.fa-mars),
.special-style .profilecard .p-4 > div > div[style*="margin-top:15px"][style*="margin-bottom:15px"] > span:has(> i.fa-venus),
.special-style .profilecard .p-4 > div > div[style*="margin-top:15px"][style*="margin-bottom:15px"] > span:has(> i.fa-transgender) {
    order: 1;
}
.special-style .profilecard .p-4 > div > div[style*="margin-top:15px"][style*="margin-bottom:15px"] > span:has(> i.fa-user) {
    order: 2;
}
.special-style .profilecard .p-4 > div > div[style*="margin-top:15px"][style*="margin-bottom:15px"] > span:has(> i.fa-location-dot) {
    order: 3;
}
.special-style .profilecard .p-4 > div > div[style*="margin-top:15px"][style*="margin-bottom:15px"]::before {
    content: '';
    flex-basis: 100%;
    height: 0;
    order: 5;
}
.special-style .profilecard .p-4 > div > div[style*="margin-top:15px"][style*="margin-bottom:15px"] > span:has(> i.fa-house),
.special-style .profilecard .p-4 > div > div[style*="margin-top:15px"][style*="margin-bottom:15px"] > span:has(> i.fa-car),
.special-style .profilecard .p-4 > div > div[style*="margin-top:15px"][style*="margin-bottom:15px"] > span:has(> i.fa-bed),
.special-style .profilecard .p-4 > div > div[style*="margin-top:15px"][style*="margin-bottom:15px"] > span:has(> i.fa-mask),
.special-style .profilecard .p-4 > div > div[style*="margin-top:15px"][style*="margin-bottom:15px"] > span:has(> i.fa-computer) {
    order: 6;
}


.ds-avail-section {
    margin-bottom: 4px;
}
.ds-avail-section__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
}
.ds-avail-section__title {
    margin: 0 0 4px;
    font-size: 15px;
    font-weight: 700;
    color: var(--text);
    display: inline-flex;
    align-items: center;
    gap: 8px;
}
.ds-avail-section__title i { color: var(--brand); }
.ds-avail-section__summary {
    margin: 0;
    color: var(--text-muted);
    font-size: 13px;
    line-height: 1.5;
}
.ds-avail-toggle-btn {
    padding: 8px 16px !important;
    font-size: 13px !important;
    background: var(--surface-2) !important;
    color: var(--text) !important;
    border: 1px solid var(--border-strong) !important;
    border-radius: 999px !important;
    cursor: pointer;
    transition: all .15s ease;
    display: inline-flex !important;
    align-items: center;
    gap: 6px;
    text-decoration: none !important;
    width: auto !important;
    flex-shrink: 0;
}
.ds-avail-toggle-btn:hover {
    border-color: var(--brand) !important;
    color: var(--brand) !important;
}
.ds-avail-toggle-btn.is-open {
    background: linear-gradient(135deg, var(--brand), var(--brand-strong)) !important;
    color: #fff !important;
    border-color: transparent !important;
}

.ds-avail-editor {
    margin-top: 18px;
    padding-top: 18px;
    border-top: 1px dashed var(--border);
    animation: dsAvailExpand .25s ease;
}
@keyframes dsAvailExpand {
    from { opacity: 0; transform: translateY(-6px); }
    to   { opacity: 1; transform: translateY(0); }
}

.ds-avail-h5 {
    margin: 8px 0 6px;
    font-size: 13px;
    font-weight: 700;
    color: var(--text);
    letter-spacing: -0.005em;
}


.ds-avail-weekly {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}
.ds-avail-day {
    background: var(--surface-2);
    border: 1px solid var(--border);
    border-radius: 12px;
    padding: 10px 12px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    transition: border-color .15s ease, background .15s ease;
}
.ds-avail-day--on {
    border-color: rgba(255, 46, 108, .35);
    background: linear-gradient(180deg, rgba(255,46,108,.04), transparent 60%), var(--surface-2);
}
.ds-avail-day__label {
    font-weight: 600;
    font-size: 13px;
    color: var(--text);
    display: inline-flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    user-select: none;
}
.ds-avail-day__label input[type="checkbox"] {
    accent-color: var(--brand);
    width: 16px; height: 16px;
    cursor: pointer;
}
.ds-avail-day__ranges {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.ds-avail-day--off .ds-avail-day__ranges {
    opacity: 0.55;
}
.ds-avail-day--off .ds-avail-day__ranges:hover {
    opacity: 0.85;
}

.ds-avail-range {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}
.ds-avail-range select {
    width: auto !important;
    padding: 6px 8px !important;
    font-size: 13px !important;
    border-radius: 8px !important;
    cursor: pointer;
    min-width: 78px;
}
.ds-avail-range__sep {
    color: var(--text-muted);
    font-size: 13px;
}
.ds-avail-range__del,
.ds-avail-range__add {
    background: transparent;
    border: 1px solid var(--border-strong);
    color: var(--text-muted);
    border-radius: 8px;
    padding: 4px 9px;
    font-size: 12px;
    cursor: pointer;
    transition: all .15s;
    font-family: inherit;
}
.ds-avail-range__del:hover { color: var(--brand); border-color: var(--brand); }
.ds-avail-range__add {
    width: 100%;
    text-align: center;
    margin-top: 2px;
    border-style: dashed;
}
.ds-avail-range__add:hover { color: var(--brand); border-color: var(--brand); }


.ds-avail-overrides {
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.ds-avail-override {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 10px;
    overflow: hidden;          
}

.ds-avail-override__summary {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 10px;
}
.ds-avail-override__summary-text {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
    line-height: 1.3;
}
.ds-avail-override__summary-text > strong {
    font-size: 13px;
    color: var(--text);
    font-weight: 700;
}
.ds-avail-override__summary-detail {
    font-size: 11px;
    color: var(--text-muted);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.ds-avail-override__summary-actions {
    display: flex;
    gap: 4px;
    flex-shrink: 0;
}
.ds-avail-override__edit,
.ds-avail-override__del {
    background: transparent;
    border: 1px solid var(--border-strong);
    color: var(--text-muted);
    border-radius: 8px;
    padding: 5px 9px;
    font-size: 11px;
    cursor: pointer;
    transition: all .15s;
    line-height: 1;
}
.ds-avail-override__edit:hover { color: var(--brand); border-color: var(--brand); }
.ds-avail-override__del:hover  { color: #fff; background: var(--brand); border-color: var(--brand); }


.ds-avail-override__editor {
    display: none;
    padding: 0 10px 10px;
    border-top: 1px dashed var(--border);
    margin-top: -1px;
    flex-direction: column;
    gap: 8px;
}
.ds-avail-override.is-expanded .ds-avail-override__editor {
    display: flex;
}
.ds-avail-override.is-expanded .ds-avail-override__summary {
    padding-bottom: 8px;
    border-bottom: 0;
}
.ds-avail-override__field-label {
    font-size: 11px;
    font-weight: 600;
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-top: 6px;
    margin-bottom: -2px;
}
.ds-avail-override__date {
    width: 100% !important;
    box-sizing: border-box;
    padding: 7px 10px !important;
    cursor: pointer;
}
.ds-avail-override__kinds {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-top: 4px;
}
.ds-avail-override__editor-actions {
    display: flex;
    justify-content: flex-end;
    margin-top: 4px;
}
.ds-avail-override__done {
    background: linear-gradient(135deg, var(--brand), var(--brand-strong));
    color: #fff;
    border: none;
    border-radius: 8px;
    padding: 6px 14px;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    transition: filter .15s;
}
.ds-avail-override__done:hover { filter: brightness(1.08); }


.ds-avail-override__editor .ranges-area {
    display: flex;
    flex-direction: column;
    gap: 6px;
    width: 100%;
}
.ds-avail-override__editor .ds-avail-range {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
    width: 100%;
}
.ds-avail-override__editor .ds-avail-range select {
    flex: 0 1 auto;
    min-width: 0;
}
.ds-avail-override__editor .ds-avail-range__add {
    width: 100%;
    margin-top: 2px;
}


.ds-avail-day.ds-avail-exc {
    border-style: dashed;
    border-color: var(--border-strong);
    background:
        linear-gradient(180deg, rgba(255,140,0,.05), transparent 60%),
        var(--surface-2);
}
.ds-avail-exc__head {
    display: flex;
    align-items: flex-start;
    gap: 10px;
}
.ds-avail-exc__head > i {
    font-size: 16px;
    color: var(--brand);
    margin-top: 2px;
    flex-shrink: 0;
}
.ds-avail-exc__sub {
    margin-top: 2px;
    font-size: 11px;
    color: var(--text-muted);
    line-height: 1.4;
}

.ds-avail-override input[type="date"] {
    width: auto !important;
    padding: 6px 10px !important;
    cursor: pointer;
}
.ds-avail-override label.kind-toggle {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 13px;
    color: var(--text);
    cursor: pointer;
}
.ds-avail-override label.kind-toggle input { accent-color: var(--brand); }
.ds-avail-override .ranges-area {
    display: flex;
    flex-direction: column;
    gap: 6px;
    flex: 1 1 220px;
    min-width: 200px;
}
.ds-avail-override .ranges-area.is-closed {
    display: none;
}

.ds-avail-save-btn {
    background: linear-gradient(135deg, var(--brand), var(--brand-strong)) !important;
    color: #fff !important;
    font-weight: 600 !important;
    border: none !important;
    text-decoration: none !important;
}
.ds-avail-actions {
    margin-top: 22px;
    display: flex;
    gap: 10px;
    align-items: center;
    flex-wrap: wrap;
}
.ds-avail-actions .v2-btn { flex: 0 0 auto; }



.v2-cat__label[data-short],
.v2-cat__sub[data-short] {
    display: flex;
    align-items: center;
}
.v2-cat__label[data-short]::before,
.v2-cat__sub[data-short]::before {
    content: '';   
    display: none;
}



@media (max-width: 1040px) {
    .v2-cat__label[data-short="Massage"] {
        font-size: 0 !important;
    }
    .v2-cat__label[data-short="Massage"]::before {
        content: attr(data-short);
        display: inline;
        font-size: 16px;
        font-weight: 700;
        color: var(--text);
    }
}

@media (max-width: 950px) {
    .v2-cat__sub[data-short="Avontuurlijk"] {
        font-size: 0 !important;
    }
    .v2-cat__sub[data-short="Avontuurlijk"]::before {
        content: attr(data-short);
        display: inline;
        font-size: 13px;
        color: var(--text-muted);
    }
}

@media (max-width: 940px) {
    .v2-cat__label[data-short="Ontvangst"] {
        font-size: 0 !important;
    }
    .v2-cat__label[data-short="Ontvangst"]::before {
        content: attr(data-short);
        display: inline;
        font-size: 16px;
        font-weight: 700;
        color: var(--text);
    }
}

@media (max-width: 900px) {
    .v2-cat__sub[data-short="Bekijken"] {
        font-size: 0 !important;
    }
    .v2-cat__sub[data-short="Bekijken"]::before {
        content: attr(data-short);
        display: inline;
        font-size: 13px;
        color: var(--text-muted);
    }
}

@media (max-width: 870px) {
    .v2-cat__sub[data-short="Ontspan"] {
        font-size: 0 !important;
    }
    .v2-cat__sub[data-short="Ontspan"]::before {
        content: attr(data-short);
        display: inline;
        font-size: 13px;
        color: var(--text-muted);
    }
}

@media (max-width: 850px) {
    .v2-cat__sub[data-short="Privé"] {
        font-size: 0 !important;
    }
    .v2-cat__sub[data-short="Privé"]::before {
        content: attr(data-short);
        display: inline;
        font-size: 13px;
        color: var(--text-muted);
    }
}

@media (max-width: 835px) {
    .v2-cat__sub[data-short="Bezoek"] {
        font-size: 0 !important;
    }
    .v2-cat__sub[data-short="Bezoek"]::before {
        content: attr(data-short);
        display: inline;
        font-size: 13px;
        color: var(--text-muted);
    }
}

@media (max-width: 820px) {
    .v2-cat__sub[data-short="Online"] {
        font-size: 0 !important;
    }
    .v2-cat__sub[data-short="Online"]::before {
        content: attr(data-short);
        display: inline;
        font-size: 13px;
        color: var(--text-muted);
    }
}

@media (max-width: 700px) {
    .v2-cat-grid .v2-cat__label,
    .v2-cat-grid .v2-cat__sub {
        display: none !important;
    }
    .v2-cat-grid .v2-cat__icon {
        margin: 0 auto;
    }
    .v2-cat-grid .v2-cat {
        justify-content: center;
        text-align: center;
        padding: 14px !important;
    }
}


.ds-card-divider {
    border: 0;
    height: 1px;
    background: var(--border);
    margin: 22px 0 18px;
}

@media (max-width: 640px) {
    .ds-avail-weekly { grid-template-columns: 1fr; }
}


@media (max-width: 768px) {

    
    .v2-navbar .nav-toggle:checked ~ .nav-menu::before {
        content: '';
        position: fixed;
        left: 0; right: 0; bottom: 0; top: 64px;
        background: rgba(6,8,14,.55);
        backdrop-filter: blur(2px);
        -webkit-backdrop-filter: blur(2px);
        z-index: -1;
        pointer-events: none;
    }

    
    .v2-navbar .nav-menu {
        background: linear-gradient(180deg, rgba(18,19,26,.985) 0%, rgba(26,28,38,.985) 100%) !important;
        backdrop-filter: blur(22px) saturate(140%);
        -webkit-backdrop-filter: blur(22px) saturate(140%);
        padding: 12px 12px 22px !important;
        gap: 2px !important;
        border-top: 1px solid rgba(255,255,255,.06) !important;
        border-bottom-left-radius: 18px;
        border-bottom-right-radius: 18px;
        box-shadow: 0 26px 50px rgba(0,0,0,.55), 0 8px 16px rgba(0,0,0,.35) !important;
        max-height: calc(100vh - 64px);
        overflow-y: auto;
        overscroll-behavior: contain;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: thin;
        scrollbar-color: rgba(255,255,255,.15) transparent;
    }
    .v2-navbar .nav-menu::-webkit-scrollbar { width: 4px; }
    .v2-navbar .nav-menu::-webkit-scrollbar-thumb {
        background: rgba(255,255,255,.12);
        border-radius: 4px;
    }

    
    .v2-navbar .nav-menu > a,
    .v2-navbar .nav-menu .ds-nav-dropdown > a {
        display: flex !important;
        align-items: center !important;
        gap: 14px !important;
        padding: 13px 14px !important;
        border-radius: 12px !important;
        font-size: 15px !important;
        font-weight: 500 !important;
        line-height: 1.2 !important;
        color: rgba(255,255,255,.92) !important;
        background: transparent !important;
        border: 1px solid transparent !important;
        text-transform: none !important;
        text-decoration: none !important;
        transition: background .18s ease, transform .12s ease !important;
        margin: 1px 0 !important;
        width: auto !important;
        white-space: nowrap;
    }
    .v2-navbar .nav-menu > a:active,
    .v2-navbar .nav-menu .ds-nav-dropdown > a:active {
        background: rgba(255,255,255,.06) !important;
        transform: scale(.985);
    }

    
    .v2-navbar .nav-menu > a > i:first-child,
    .v2-navbar .nav-menu .ds-nav-dropdown > a > i:first-child {
        font-size: 14px !important;
        width: 30px !important;
        height: 30px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        color: var(--brand) !important;
        background: rgba(255,46,108,.10);
        border-radius: 9px;
        flex: 0 0 auto;
        margin: 0 !important;
    }

    
    .v2-navbar .nav-menu .ds-nav-dropdown {
        margin-top: 6px;
        display: flex !important;
        flex-direction: column !important;
        width: 100%;
        position: relative;
        contain: layout;
    }
    .v2-navbar .nav-menu .ds-nav-dropdown::before {
        content: '';
        display: block;
        height: 1px;
        background: rgba(255,255,255,.06);
        margin: 4px 6px 6px;
    }
    .v2-navbar .nav-menu .ds-nav-dropdown > a {
        font-weight: 600 !important;
    }
    
    .v2-navbar .nav-menu .ds-nav-dropdown > a > i.fa-chevron-down {
        margin: 0 0 0 auto !important;
        font-size: 11px !important;
        opacity: .55 !important;
        background: transparent !important;
        color: rgba(255,255,255,.6) !important;
        width: auto !important;
        height: auto !important;
        border-radius: 0 !important;
        transition: transform .25s ease, color .2s ease, opacity .2s ease;
    }
    .v2-navbar .nav-menu .ds-nav-dropdown.is-open > a {
        background: rgba(255,46,108,.08) !important;
    }
    .v2-navbar .nav-menu .ds-nav-dropdown.is-open > a > i.fa-chevron-down {
        transform: rotate(180deg);
        opacity: .95 !important;
        color: var(--brand) !important;
    }

    
    .v2-navbar .nav-menu .ds-nav-dropdown__menu {
        position: static !important;
        top: auto !important;
        left: auto !important;
        right: auto !important;
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
        padding: 2px 0 8px 38px !important;
        margin: 0 !important;
        border-radius: 0 !important;
        display: none !important;
        min-width: 0 !important;
        width: 100% !important;
        flex: 1 1 auto !important;
    }
    
    .v2-navbar .nav-menu .ds-nav-dropdown::after {
        display: none !important;
        content: none !important;
    }
    .v2-navbar .nav-menu .ds-nav-dropdown.is-open .ds-nav-dropdown__menu {
        display: block !important;
        animation: dsMobileSubOpen .22s ease;
    }
    @keyframes dsMobileSubOpen {
        from { opacity: 0; transform: translateY(-4px); }
        to   { opacity: 1; transform: translateY(0); }
    }
    
    .v2-navbar .nav-menu .ds-nav-dropdown.is-open .ds-nav-dropdown__menu::before {
        content: '';
        position: absolute;
        left: 24px;
        top: 4px;
        bottom: 10px;
        width: 1px;
        background: rgba(255,255,255,.08);
    }

    
    .v2-navbar .nav-menu .ds-nav-dropdown__menu a {
        display: flex !important;
        align-items: center !important;
        gap: 12px !important;
        padding: 11px 12px !important;
        font-size: 14px !important;
        font-weight: 500 !important;
        color: rgba(255,255,255,.78) !important;
        border-radius: 10px !important;
        margin: 1px 0 !important;
    }
    .v2-navbar .nav-menu .ds-nav-dropdown__menu a:active {
        background: rgba(255,255,255,.05) !important;
        color: #fff !important;
    }
    .v2-navbar .nav-menu .ds-nav-dropdown__menu a i {
        font-size: 13px !important;
        width: 20px !important;
        height: 20px !important;
        background: transparent !important;
        color: rgba(255,255,255,.55) !important;
        border-radius: 0 !important;
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
    }
    .v2-navbar .nav-menu .ds-nav-dropdown__menu hr {
        margin: 6px 4px !important;
        border: 0 !important;
        border-top: 1px solid rgba(255,255,255,.07) !important;
    }
    
    .v2-navbar .nav-menu .ds-nav-dropdown__menu .ds-nav-dropdown__logout {
        color: #ff8aa6 !important;
    }
    .v2-navbar .nav-menu .ds-nav-dropdown__menu .ds-nav-dropdown__logout i {
        color: #ff5b87 !important;
    }
    .v2-navbar .nav-menu .ds-nav-dropdown__menu .ds-nav-dropdown__logout:active {
        background: rgba(255,46,108,.16) !important;
        color: #fff !important;
    }

    
    .v2-navbar .nav-toggle-label {
        position: relative;
        z-index: 2;
        width: 30px;
        height: 22px;
        justify-content: center;
        align-items: center;
    }
    .v2-navbar .nav-toggle-label span {
        transition: transform .28s cubic-bezier(.4,0,.2,1), opacity .2s ease !important;
        transform-origin: center;
    }
    .v2-navbar .nav-toggle:checked ~ .nav-toggle-label span:nth-child(1) {
        transform: translateY(6px) rotate(45deg);
    }
    .v2-navbar .nav-toggle:checked ~ .nav-toggle-label span:nth-child(2) {
        opacity: 0;
        transform: scaleX(0);
    }
    .v2-navbar .nav-toggle:checked ~ .nav-toggle-label span:nth-child(3) {
        transform: translateY(-6px) rotate(-45deg);
    }

    
    .v2-nav-container {
        padding: 12px 16px !important;
    }
    .v2-logo {
        font-size: 19px !important;
    }
}


@media (max-width: 768px) {

    
    .v2-navbar .nav-menu {
        display: none;       
        grid-template-columns: 1fr 1fr !important;
        column-gap: 8px !important;
        row-gap: 8px !important;
    }
    .v2-navbar .nav-toggle:checked ~ .nav-menu {
        display: grid !important;
    }

    
    .v2-navbar .nav-menu > a[href*="/zoeken?"] {
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        text-align: center !important;
        gap: 8px !important;
        padding: 18px 8px !important;
        min-height: 92px;
        background: linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.015)) !important;
        border: 1px solid rgba(255,255,255,.07) !important;
        border-radius: 14px !important;
        font-size: 13.5px !important;
        font-weight: 600 !important;
        color: rgba(255,255,255,.92) !important;
        white-space: normal !important;
        line-height: 1.25 !important;
        margin: 0 !important;
        transition: background .18s ease, border-color .18s ease, transform .12s ease !important;
    }
    .v2-navbar .nav-menu > a[href*="/zoeken?"]:active {
        background: linear-gradient(180deg, rgba(255,46,108,.16), rgba(255,46,108,.06)) !important;
        border-color: rgba(255,46,108,.40) !important;
        transform: scale(.97);
    }

    
    .v2-navbar .nav-menu > a[href*="/zoeken?"] > i:first-child {
        width: 46px !important;
        height: 46px !important;
        font-size: 19px !important;
        background: linear-gradient(135deg, rgba(255,46,108,.22), rgba(255,139,61,.14)) !important;
        border-radius: 13px !important;
        margin: 0 !important;
    }

    
    .v2-navbar .nav-menu > .ds-nav-dropdown,
    .v2-navbar .nav-menu > a:not([href*="/zoeken?"]) {
        grid-column: 1 / -1 !important;
    }

    
    .v2-navbar .nav-menu .ds-nav-dropdown::before {
        margin: 8px 6px 6px !important;
    }

    
    .v2-navbar .nav-menu {
        padding-top: 14px !important;
    }
}


@media (max-width: 768px) {

    .v2-navbar .nav-menu #ds-extra-categories {
        display: contents;
        grid-column: 1 / -1 !important;
    }

    
    .v2-navbar .nav-menu #ds-extra-categories > a[href*="/zoeken?"] {
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        text-align: center !important;
        gap: 8px !important;
        padding: 18px 8px !important;
        min-height: 92px !important;
        background: linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.015)) !important;
        border: 1px solid rgba(255,255,255,.07) !important;
        border-radius: 14px !important;
        font-size: 13.5px !important;
        font-weight: 600 !important;
        color: rgba(255,255,255,.92) !important;
        white-space: normal !important;
        line-height: 1.25 !important;
        margin: 0 !important;
        transition: background .18s ease, border-color .18s ease, transform .12s ease !important;
        display: flex !important;
        width: 100% !important;
    }

    .v2-navbar .nav-menu #ds-extra-categories > a[href*="/zoeken?"]:active {
        background: linear-gradient(180deg, rgba(255,46,108,.16), rgba(255,46,108,.06)) !important;
        border-color: rgba(255,46,108,.40) !important;
        transform: scale(.97);
    }

    
    .v2-navbar .nav-menu #ds-extra-categories > a[href*="/zoeken?"] > i:first-child {
        width: 46px !important;
        height: 46px !important;
        font-size: 19px !important;
        background: linear-gradient(135deg, rgba(255,46,108,.22), rgba(255,139,61,.14)) !important;
        border-radius: 13px !important;
        margin: 0 !important;
        padding-top: 15px !important;     
    }
}


.v2-profile__tab-arrow { display: none !important; }

@media (max-width: 880px) {
    body.v2-profile-page nav.v2-profile__tabs {
        display: grid !important;
        grid-template-columns: 1fr 1fr;       
        gap: 8px !important;
        padding: 10px 14px !important;
        overflow: visible !important;
        flex-wrap: nowrap !important;
        align-items: stretch !important;
    }
    
    body.v2-profile-page nav.v2-profile__tabs > .v2-profile__tab {
        display: inline-flex !important;
        width: 100% !important;
        height: auto !important;        
        min-height: 44px;
        margin: 0 !important;
        padding: 10px 12px !important;
        justify-content: center !important;
        align-items: center;
        white-space: nowrap;
        text-align: center;
        font-size: 13px !important;
        line-height: 1.2;
    }
    
    body.v2-profile-page nav.v2-profile__tabs > .v2-profile__tab--cta {
        margin-left: 0 !important;
    }
    
    body.v2-profile-page nav.v2-profile__tabs > .v2-profile__tab-arrow {
        display: none !important;
    }
}


.v2-mobile-afspraak-slot { display: none; }

@media (max-width: 880px) {
    .v2-profile-page .v2-mobile-afspraak-slot {
        display: block;
        order: 35;                       
        width: 100%;
    }
    
    .v2-profile-page .v2-mobile-afspraak-slot > #afspraakButton2 {
        margin: 0 !important;
        width: 100%;
    }
}



.v2-bezoeker-gallery {
    display: flex !important;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 8px;
    width: 100%;
    box-sizing: border-box;
}
.v2-bezoeker-gallery__item {
    
    flex: 0 0 calc((100% - 20px) / 3);
    max-width: calc((100% - 20px) / 3);
    box-sizing: border-box;
    position: relative;
    display: block;
    padding-bottom: calc((100% - 20px) / 3);   
    height: 0;
    border-radius: 10px;
    overflow: hidden;
    background: var(--surface-2);
    border: 1px solid var(--border);
    transition: transform .18s ease, box-shadow .18s ease;
    text-decoration: none;
}
.v2-bezoeker-gallery__item:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-md);
}
.v2-bezoeker-gallery__item img {
    position: absolute !important;
    inset: 0;
    top: 0; left: 0; right: 0; bottom: 0;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
    border: 0;
}
@media (max-width: 600px) {
    
    .v2-bezoeker-gallery__item {
        flex: 0 0 calc((100% - 10px) / 2);
        max-width: calc((100% - 10px) / 2);
        padding-bottom: calc((100% - 10px) / 2);
    }
}




.ds-card-title {
    color: var(--brand);
    font-weight: 600;
    font-size: 13px;
    line-height: 1.4;
    margin-top: 6px;
}


.ds-card-price {
    margin-top: 10px;
    font-size: 13px;
    color: var(--text-muted);
}
.ds-card-price b { color: var(--text); font-weight: 700; }


.ds-card-online {
    color: var(--brand) !important;
    font-size: 12px;
    font-weight: 600;
    margin-left: 6px;
    font-style: italic;
}
.ds-card-online i { color: inherit !important; font-style: italic; }


.profilecard.ds-card--premium {
    border-color: rgba(251, 191, 36, .55) !important;
    background:
        linear-gradient(160deg, rgba(251,191,36,.10) 0%, rgba(251,191,36,.02) 38%, transparent 70%),
        var(--surface) !important;
    box-shadow: 0 4px 18px rgba(245, 158, 11, .12), var(--shadow-sm);
}
.profilecard.ds-card--premium:hover {
    border-color: rgba(251, 191, 36, .85) !important;
    box-shadow: 0 12px 32px rgba(245, 158, 11, .22), var(--shadow-lg);
}
[data-theme="dark"] .profilecard.ds-card--premium {
    background:
        linear-gradient(160deg, rgba(251,191,36,.14) 0%, rgba(251,191,36,.03) 38%, transparent 70%),
        var(--surface) !important;
}


.ds-card-foot {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 10px;
    margin-top: 10px;
}
.ds-card-foot .ds-card-price { margin-top: 0; }
.ds-card-dist {
    flex: 0 0 auto;
    font-size: 12px;
    font-weight: 600;
    color: var(--text-soft);
    white-space: nowrap;
}
.ds-card-dist i { font-size: 10px; margin-right: 3px; opacity: .8; }





.profilecard .p-4 > div[style*="max-height"] {
    display: -webkit-box !important;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden !important;
    max-height: none !important;
    line-height: 1.5 !important;
    min-height: 3em;                 
}


.ds-card-title {
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 1.4em;               
}


.ds-pill {
    transition: border-color var(--t-fast, .15s), color var(--t-fast, .15s),
                background var(--t-fast, .15s), transform var(--t-fast, .15s);
}
.ds-pill:hover,
.ds-pill:focus-visible {
    border-color: var(--brand, #ff2e6c) !important;
    color: var(--brand, #ff2e6c) !important;
    transform: translateY(-1px);
}

.ds-pill--cta:hover,
.ds-pill--cta:focus-visible {
    background: var(--brand, #ff2e6c) !important;
    border-color: var(--brand, #ff2e6c) !important;
    color: #fff !important;
    transform: translateY(-1px);
}


.ds-card-foot { min-height: 20px; }


.profilecard hr.ds-card-rule {
    border: 0;
    border-top: 1px solid var(--border);
    opacity: .55;
    margin: 14px 0 0;
    width: 100%;
    flex: 0 0 auto;
}

.profilecard hr.ds-card-rule + div {
    margin-top: 14px !important;
    margin-bottom: 14px !important;
}


.profilecard .p-4 > div:first-child > span:first-child {
    font-size: 16px !important;
    line-height: 1.45 !important;
    display: inline-block;
    max-width: 100%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    vertical-align: bottom;
}


.profilecard .image-wrapper,
.profilecard .rowpic3 {
    height: 192px !important;
    flex: 0 0 192px;
}
.profilecard .rowpic3 > .bg-cover { height: 192px !important; }


.profilecard .p-4 .image_mobile { display: none !important; }


.profilecard:hover .image-wrapper,
.profilecard:hover .rowpic3 {
    transform: none !important;
}
.profilecard .image-wrapper,
.profilecard .rowpic3 {
    overflow: hidden !important;
    isolation: isolate;              
}
.profilecard .image-wrapper > img,
.profilecard .rowpic3 > .bg-cover {
    transition: transform .4s ease;
    will-change: transform;
}
.profilecard:hover .image-wrapper > img,
.profilecard:hover .rowpic3 > .bg-cover {
    transform: scale(1.05);
}


.profilecard .p-4 span:has(> i.fa-bed) { display: none !important; }


.profilecard .p-4 span:has(> i.fa-computer) { display: none !important; }


.seo-foot__legal {
    max-width: 900px; margin: 14px auto 0;
    font-size: 12px; color: var(--text-soft); line-height: 1.6;
    text-align: center;
}
