/* ════════════════════════════════════════════════════════════════════════
   1on1fun — stylesheet (vanilla, geen build-step)
   Stijl geënt op de screenshot: hot-pink topbar, cyaan subbar, witte kaarten.
   ════════════════════════════════════════════════════════════════════════ */
:root{
  --pink:#2b2b2b;       --pink-hi:#f8419b;   --pink-dk:#c1107a;
  --cyan:#f8419b;       --cyan-hi:#f8419b;
  --green:#8cc63f;      --green-hi:#9ed64f;
  --bg:#eef0f3;         --card:#ffffff;
  --ink:#2b2b33;        --muted:#8a909c;     --line:#e3e6ec;
  --online:#2ecc56;     --offline:#b9bfc9;
  --shadow:0 1px 3px rgba(20,20,40,.08), 0 6px 18px rgba(20,20,40,.06);
  --radius:12px;
  --font: "Segoe UI", system-ui, -apple-system, Roboto, Arial, sans-serif;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;overflow-x:hidden}
body{
  background:#19191a; color:#fff; font-family:var(--font);
  font-size:14px; line-height:1.45; -webkit-font-smoothing:antialiased;
  min-width:0; width:100%;
}
a{color:var(--cyan); text-decoration:none}
a:hover{color:var(--cyan-hi)}
img{max-width:100%; display:block}

/* ── Topbar ─────────────────────────────────────────────────────────────── */
.topbar{
  background:#f8419b; color:#fff; display:flex; align-items:center;
  gap:12px; padding:0 16px; height:56px;
  position:sticky; top:0; z-index:50;
  will-change:transform;
  -webkit-transform:translateZ(0);
  transform:translateZ(0);
  min-width:0; overflow:visible;
}
.brand{font-weight:800; font-size:22px; letter-spacing:.5px; color:#fff;
  display:flex; align-items:center; gap:6px; white-space:nowrap}
.brand .dot{color:#fff; background:rgba(255,255,255,.18); border-radius:8px;
  padding:2px 8px; font-size:13px; font-weight:700}
.topnav{display:flex; gap:14px; flex:1 1 auto; min-width:0; overflow:hidden}
.topnav a{color:#fff; font-weight:600; opacity:.92; font-size:14px; white-space:nowrap}
.topnav a:hover{opacity:1; text-decoration:underline}
.search{flex:0 1 220px; display:flex; align-items:center; background:#fff;
  border-radius:6px; padding:0 10px; height:34px; min-width:0}
.search input{border:0; outline:0; width:100%; font-size:14px; color:#333; background:transparent}
.topactions{display:flex; gap:8px; align-items:center; flex-shrink:0}
.btn{border:0; cursor:pointer; font-weight:700; border-radius:6px; padding:9px 16px;
  font-size:13px; color:#fff; font-family:inherit; line-height:1; white-space:nowrap;
  transition:filter .12s, transform .05s}
.btn:active{transform:translateY(1px)}
.btn-signin{background:#060606;} .btn-signin:hover{background:var(--cyan-hi)}
.btn-join{background:#afff00; color:#1d3a00} .btn-join:hover{background:var(--green-hi)}
.credit-pill{background:rgba(0, 0, 0, 0.53); color:#fff; border-radius:20px;
  padding:7px 14px; font-weight:700; font-size:13px; display:flex; gap:6px; align-items:center}
.credit-pill b{font-size:14px}

/* ── Subbar (categorie-tabs) ───────────────────────────────────────────── */
.subbar{background:#1c1c1c; color:#fff; height:40px; display:flex;
  align-items:center; gap:22px; padding:0 18px; font-weight:600; font-size:13px;
  overflow-x:auto; white-space:nowrap}
.subbar a{color:#fff; opacity:.9}
.subbar a.active{opacity:1; border-bottom:2px solid #fff; padding-bottom:9px}

/* ── Layout ─────────────────────────────────────────────────────────────── */
.layout{display:grid; grid-template-columns:210px 1fr; gap:16px;
  max-width:1320px; width:100%; margin:16px auto; padding:0 16px; box-sizing:border-box}
.sidebar{background:#292828; border-radius:var(--radius); box-shadow:var(--shadow);
  padding:14px; height:max-content; position:sticky; top:72px}
.sidebar h4{margin:14px 0 6px; font-size:12px; text-transform:uppercase;
  letter-spacing:.5px; color:var(--muted)}
.sidebar h4:first-child{margin-top:0}
.sidebar a{display:block; padding:5px 8px; border-radius:6px; color:#fff;
  font-size:13px}
.sidebar a:hover{background:#f3f5f8; color:var(--pink)}
.content{min-width:0}
.content h1{font-size:20px; margin:2px 0 2px}
.content .sub{color:var(--muted); margin:0 0 14px; font-size:13px}

/* ── Host-grid ──────────────────────────────────────────────────────────── */
.grid{display:grid; grid-template-columns:repeat(auto-fill, minmax(220px,1fr)); gap:14px;
  content-visibility:auto; contain-intrinsic-size:340px}
.card{background:var(--card); border-radius:var(--radius); overflow:hidden;
  box-shadow:var(--shadow); display:flex; flex-direction:column; cursor:pointer;
  transition:transform .12s, box-shadow .12s}
.card:hover{transform:translateY(-3px);
  box-shadow:0 4px 10px rgba(20,20,40,.12), 0 14px 34px rgba(20,20,40,.12)}
.thumb{position:relative; aspect-ratio:3/4; background:#222; overflow:hidden}
.thumb .ph{width:100%; height:100%; display:flex; align-items:center; justify-content:center;
  color:#fff; font-weight:800; font-size:46px; letter-spacing:1px}
.thumb img{width:100%; height:100%; object-fit:cover}
.badge{position:absolute; padding:4px 9px; border-radius:6px; font-size:11px;
  font-weight:800; letter-spacing:.4px; color:#fff}
.badge-status{bottom:8px; right:8px; background:rgba(0,0,0,.62)}
.badge-status.live{background:var(--online)}
.badge-busy{top:8px; right:8px; background:#ff8a00; color:#1d1400; display:none}
.card.busy .badge-busy{display:inline-block}
.card.busy .thumb img, .card.busy .thumb .ph{filter:grayscale(.5) brightness(.85)}
.badge-free{top:8px; left:8px; background:#f8419b; color:#fff;}
.badge-new{top:8px; right:8px; background:#ff4d6d; transform:rotate(0)}
.online-dot{position:absolute; top:9px; left:9px; width:11px; height:11px;
  border-radius:50%; border:2px solid #fff; background:var(--offline)}
.online-dot.on{background:var(--online); box-shadow:0 0 0 3px rgba(46,204,86,.35)}
.preview-vid{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:1; background:#222}
.badge-preview{position:absolute; bottom:8px; left:8px; background:rgba(0,0,0,.6); color:#fff;
  width:24px; height:24px; border-radius:50%; display:flex; align-items:center; justify-content:center; z-index:2}
.badge-preview svg{width:12px; height:12px}

/* ── Overlay-card (foto vult de kaart, knoppen + naam als overlay) ──────── */
.card.ocard{position:relative; padding:0; cursor:pointer}
.card.ocard .thumb{aspect-ratio:3/4; border-radius:var(--radius)}
.ov{position:absolute; left:0; right:0; z-index:3; display:flex; align-items:center;
  gap:8px; padding:8px 10px; pointer-events:none}
.ov-top{top:0; justify-content:space-between;
  background:linear-gradient(to bottom, rgba(0, 0, 0, 0.98), black);}
.ov-name{color:#fff; font-weight:800; font-size:14px; letter-spacing:.2px;
  text-shadow:0 1px 3px rgba(0,0,0,.7); white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.ov-top .online-dot{position:static; width:13px; height:13px; flex:0 0 13px;
  border:2px solid rgba(255,255,255,.85)}
.ov-bottom{bottom:0; justify-content:space-between; padding-top:26px;
  background:linear-gradient(to top, rgba(0,0,0,.7), transparent)}
.ov-meta{color:#fff; font-weight:700; font-size:13px; display:flex; gap:8px; align-items:center;
  text-shadow:0 1px 3px rgba(0,0,0,.7)}
.ov-meta .star{color:#ffcf3f}
.ov-meta svg{width:13px; height:13px; opacity:.9}
.ov-right{top:50%; transform:translateY(-50%); right:0; left:auto; width:auto;
  flex-direction:column; padding:0 9px; gap:11px}
.ovbtn{width:40px; height:40px; border-radius:50%; border:0; cursor:pointer; pointer-events:auto;
  display:flex; align-items:center; justify-content:center; color:#fff;
  background:rgba(0,0,0,.42); -webkit-backdrop-filter:blur(4px); backdrop-filter:blur(4px);
  transition:transform .12s, background .12s; box-shadow:0 2px 8px rgba(0,0,0,.3)}
.ovbtn:hover{transform:scale(1.08)}
.ovbtn svg{width:19px; height:19px}
.ovbtn-call{background:#f8419b;}
.ovbtn-call:hover{background:var(--pink-hi)}
.ovbtn-call:disabled{background:rgba(120,120,130,.55); cursor:not-allowed; transform:none}
.ovbtn-call.busy{background:#ff8a00}
.card.ocard .badge-busy{top:auto; bottom:46px; left:10px; right:auto; z-index:3}
.card.ocard .badge-free{top:auto; bottom:9px; right:10px; left:auto; z-index:4}
.card.ocard.busy .thumb img, .card.ocard.busy .thumb .ph{filter:grayscale(.4) brightness(.8)}
.card-body{padding:9px 11px 11px; display:flex; flex-direction:column; gap:3px; flex:1}
.card-name{font-weight:700; color:var(--pink); font-size:15px; display:flex;
  align-items:center; gap:6px}
.card-name .age{color:var(--muted); font-weight:600; font-size:13px}
.card-bio{color:var(--muted); font-size:12.5px; overflow:hidden;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; min-height:34px}
.card-meta{display:flex; gap:10px; color:var(--muted); font-size:12px; margin-top:2px}
.card-meta .star{color:#f5a623}
.card-actions{display:flex; gap:7px; margin-top:8px; align-items:center}
.card-actions .btn{flex:1; display:flex; align-items:center; justify-content:center; gap:6px;
  text-align:center; padding:9px 8px; font-size:12.5px}
.card-actions .btn svg{width:16px; height:16px; flex:0 0 16px}
.btn-profile{background:#eef1f5; color:var(--ink)} .btn-profile:hover{background:#e2e7ee}
.btn-call{background:#ff00e3;} .btn-call:hover{background:var(--pink-hi)}
.btn-call:disabled{background:#cdd2da; cursor:not-allowed}
.btn-call.busy{background:#ff8a00; color:#1d1400}

/* ── Empty / loading ───────────────────────────────────────────────────── */
.state{grid-column:1/-1; text-align:center; color:var(--muted); padding:48px 12px}
.skeleton{background:linear-gradient(90deg,#e9ecf1 25%,#f4f6f9 37%,#e9ecf1 63%);
  background-size:400% 100%; animation:sk 1.3s ease infinite}
@keyframes sk{0%{background-position:100% 0}100%{background-position:-100% 0}}
.sk-card{height:280px; border-radius:var(--radius)}

/* ── Toast ─────────────────────────────────────────────────────────────── */
#toast{position:fixed; bottom:22px; left:50%; transform:translateX(-50%) translateY(20px);
  background:#16181d; color:#fff; padding:12px 20px; border-radius:24px; font-size:13px;
  font-weight:600; opacity:0; pointer-events:none; transition:.25s; z-index:9999; max-width:90vw}
#toast.show{opacity:1; transform:translateX(-50%) translateY(0)}

/* ── Profielpagina ─────────────────────────────────────────────────────── */
.profile-wrap{max-width:920px; margin:18px auto; padding:0 16px}
.profile-card{background:var(--card); border-radius:var(--radius); box-shadow:var(--shadow);
  overflow:hidden}
.profile-hero{display:grid; grid-template-columns:repeat(2,1fr); gap:2px; background:#222}
.profile-hero .shot{aspect-ratio:1/1; position:relative}
.profile-hero .shot .ph{width:100%;height:100%;display:flex;align-items:center;
  justify-content:center;color:#fff;font-size:64px;font-weight:800}
.profile-info{padding:18px 22px}
.profile-info h1{margin:0 0 2px; font-size:24px; display:flex; align-items:center; gap:10px}
.profile-info h1 .age{color:var(--muted); font-weight:600; font-size:18px}
.profile-info .row{display:flex; flex-wrap:wrap; gap:18px; color:var(--muted);
  font-size:13px; margin:8px 0 14px}
.profile-info .row b{color:var(--ink)}
.profile-bio{font-size:14px; color:#444; margin:0 0 18px; white-space:pre-wrap}
.profile-actions{display:flex; gap:10px}
.profile-actions .btn{padding:12px 22px; font-size:14px}

/* ── Responsive ─────────────────────────────────────────────────────────── */
@media (max-width:860px){
  .layout{grid-template-columns:1fr}
  .sidebar{display:none}
  .topnav{display:none}
  .profile-hero{grid-template-columns:1fr}
}
@media (max-width:600px){
  .topbar{gap:8px; padding:0 12px}
  .search{display:none}
  .brand{font-size:18px; flex-shrink:0}
  .topactions{gap:6px; margin-left:auto}
  .btn-signin{display:none}
  .btn-join{padding:8px 12px; font-size:12px}
  .credit-pill{padding:6px 10px; font-size:12px}
  .credit-pill b{font-size:13px}
  .layout{margin:10px auto; padding:0 10px}
  .grid{grid-template-columns:repeat(2, 1fr); gap:10px}
  .thumb{aspect-ratio:3/4}
  .card-name{font-size:14px}
  .card-actions .btn{padding:8px 6px; font-size:12px}
}
@media (max-width:400px){
  .btn-join{padding:7px 10px; font-size:11px}
}

/* ════════════════════════════════════════════════════════════════════════
   Formulieren, dashboards, tabellen, betaalpagina
   ════════════════════════════════════════════════════════════════════════ */
.wrap{max-width:1100px; margin:18px auto; padding:0 16px}
.narrow{max-width:440px}
.panel{background:var(--card); border-radius:var(--radius); box-shadow:var(--shadow); padding:22px}
.panel + .panel{margin-top:16px}
.panel h2{margin:0 0 14px; font-size:18px}
.panel h3{margin:18px 0 8px; font-size:15px; color:var(--muted)}
.field{margin-bottom:14px}
.field label{display:block; font-size:13px; font-weight:600; margin-bottom:5px; color:#555}
.field input, .field select, .field textarea{
  width:100%; padding:11px 12px; border:1px solid var(--line); border-radius:8px;
  font-family:inherit; font-size:14px; background:#fff; color:var(--ink)}
.field input:focus, .field select:focus, .field textarea:focus{
  outline:0; border-color:var(--pink); box-shadow:0 0 0 3px rgba(230,24,143,.12)}
.field textarea{min-height:90px; resize:vertical}
.field .hint{font-size:12px; color:var(--muted); margin-top:4px}
.checkrow{display:flex; gap:8px; align-items:flex-start; font-size:13px; color:#555}
.checkrow input{width:auto; margin-top:2px}
.btn-block{width:100%; padding:12px; font-size:15px}
.btn-primary{background:var(--pink)} .btn-primary:hover{background:var(--pink-hi)}
.btn-ghost{background:#eef1f5; color:var(--ink)} .btn-ghost:hover{background:#e2e7ee}
.btn-ok{background:var(--green); color:#1d3a00} .btn-ok:hover{background:var(--green-hi)}
.btn-danger{background:#e0414d} .btn-danger:hover{background:#f1525e}
.btn-sm{padding:6px 12px; font-size:12.5px}
.form-msg{font-size:13px; margin-top:10px; min-height:18px}
.form-msg.err{color:#d6324a} .form-msg.ok{color:#198f4b}
.center-page{display:flex; align-items:flex-start; justify-content:center; padding:36px 16px}
.auth-card{width:100%; max-width:420px}
.auth-card .brand-lg{font-size:26px; font-weight:800; color:var(--pink); text-align:center; margin-bottom:6px}
.auth-card .tag{text-align:center; color:var(--muted); margin:0 0 20px; font-size:13px}
.auth-switch{text-align:center; margin-top:14px; font-size:13px; color:var(--muted)}
.toggle-role{display:flex; gap:0; border:1px solid var(--line); border-radius:8px; overflow:hidden; margin-bottom:14px}
.toggle-role button{flex:1; padding:10px; border:0; background:#fff; cursor:pointer; font-weight:600; font-size:13px; color:#555}
.toggle-role button.active{background:var(--pink); color:#fff}

/* Tabs */
.tabs{display:flex; gap:6px; border-bottom:1px solid var(--line); margin-bottom:16px; overflow-x:auto}
.tabs button{border:0; background:none; padding:10px 14px; cursor:pointer; font-weight:600;
  font-size:14px; color:var(--muted); border-bottom:2px solid transparent; white-space:nowrap}
.tabs button.active{color:var(--pink); border-bottom-color:var(--pink)}
.tabpane{display:none} .tabpane.active{display:block}

/* Stat cards */
.stats{display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:12px; margin-bottom:18px}
.stat{background:var(--card); border-radius:var(--radius); box-shadow:var(--shadow); padding:16px}
.stat .n{font-size:24px; font-weight:800; color:var(--pink)}
.stat .l{font-size:12px; color:var(--muted); text-transform:uppercase; letter-spacing:.4px}

/* Tabel */
.table{width:100%; border-collapse:collapse; font-size:13px}
.table th, .table td{padding:9px 10px; text-align:left; border-bottom:1px solid var(--line); white-space:nowrap}
.table th{color:var(--muted); font-weight:600; font-size:12px; text-transform:uppercase; letter-spacing:.3px}
.table tr:hover td{background:#fafbfc}
.table .mono{font-family:ui-monospace,Menlo,Consolas,monospace; font-size:12px}
.tag{display:inline-block; padding:3px 9px; border-radius:12px; font-size:11px; font-weight:700}
.tag.pending{background:#fff3cd; color:#8a6d00}
.tag.approved{background:#d7f5e0; color:#198f4b}
.tag.rejected{background:#fde0e4; color:#c1102b}
.tag.free{background:#e7f0ff; color:#2455b8}
.tag.paid{background:#f0e7ff; color:#6b25b8}
.table-scroll{overflow-x:auto}

/* Wallet / betaling */
.wallet-box{background:#0f1115; color:#e8eaf0; border-radius:10px; padding:14px 16px; margin:10px 0}
.wallet-box .addr{font-family:ui-monospace,Menlo,Consolas,monospace; font-size:13px; word-break:break-all;
  background:#1b1e25; padding:10px 12px; border-radius:8px; margin-top:6px; cursor:pointer}
.pkgs{display:grid; grid-template-columns:repeat(auto-fit,minmax(120px,1fr)); gap:12px; margin-bottom:8px}
.pkg{border:2px solid var(--line); border-radius:10px; padding:16px; text-align:center; cursor:pointer; transition:.12s}
.pkg:hover{border-color:var(--pink)}
.pkg.sel{border-color:var(--pink); background:rgba(230,24,143,.05)}
.pkg .c{font-size:22px; font-weight:800; color:var(--pink)}
.pkg .m{font-size:12px; color:var(--muted)}

/* Foto-upload host */
.photo-slots{display:flex; gap:14px; flex-wrap:wrap}
.slot{width:140px}
.slot .pic{width:140px; height:186px; border-radius:10px; border:2px dashed var(--line);
  background:#f6f7f9 center/cover no-repeat; display:flex; align-items:center; justify-content:center;
  color:var(--muted); font-size:12px; text-align:center; overflow:hidden}
.slot input[type=file]{display:none}
.slot .row{display:flex; gap:6px; margin-top:8px}
.online-toggle{display:flex; align-items:center; gap:10px; margin-bottom:8px}
.switch{position:relative; width:50px; height:28px; flex:0 0 50px}
.switch input{opacity:0; width:0; height:0}
.switch .sl{position:absolute; inset:0; background:#cbd0d8; border-radius:28px; transition:.2s; cursor:pointer}
.switch .sl:before{content:''; position:absolute; width:22px; height:22px; left:3px; top:3px;
  background:#fff; border-radius:50%; transition:.2s}
.switch input:checked + .sl{background:var(--online)}
.switch input:checked + .sl:before{transform:translateX(22px)}
/* ════════════════════════════════════════════════════════════════════════
   Auth-modal (login / registreren overlay)
   ════════════════════════════════════════════════════════════════════════ */
.auth-overlay{position:fixed; inset:0; z-index:1000; display:none;
  align-items:flex-start; justify-content:center; padding:28px 14px; overflow-y:auto;
  background:rgba(10,8,16,.62); -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px)}
.auth-overlay.open{display:flex}
.auth-modal{position:relative; width:100%; max-width:430px; border-radius:18px;
  background:linear-gradient(180deg,#241a2e 0%, #1a141f 60%, #14101a 100%);
  box-shadow:0 24px 70px rgba(0,0,0,.55); color:#fff; overflow:hidden;
  animation:authpop .22s ease}
@keyframes authpop{from{opacity:0; transform:translateY(14px) scale(.98)}to{opacity:1; transform:none}}
.auth-modal .am-head{padding:30px 28px 10px; text-align:center}
.auth-modal .am-title{font-size:30px; font-weight:900; letter-spacing:.5px; margin:0;
  background:linear-gradient(90deg,#ff36c0,#ff6ad5); -webkit-background-clip:text;
  background-clip:text; color:transparent; text-transform:uppercase}
.auth-modal .am-sub{color:#cfc7d8; font-size:14px; margin:8px 0 0}
.auth-modal .am-sub a{color:#ff5ccd; font-weight:700}
.auth-modal .am-promo{color:#ff5ccd; font-weight:800; font-size:15px; text-align:center;
  margin:16px 28px 4px; display:flex; gap:8px; align-items:center; justify-content:center}
.auth-modal .am-body{padding:6px 28px 26px}
.am-close{position:absolute; top:14px; right:16px; width:34px; height:34px; border:0;
  border-radius:50%; background:rgba(255,255,255,.12); color:#fff; font-size:20px;
  cursor:pointer; line-height:1; z-index:2}
.am-close:hover{background:rgba(255,255,255,.22)}
.am-field{margin-bottom:16px}
.am-field label{display:block; font-size:13px; font-weight:600; color:#ccc4d6; margin-bottom:7px}
.am-input{position:relative}
.am-input input{width:100%; padding:13px 14px; border-radius:10px; font-size:15px;
  background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.18); color:#fff;
  font-family:inherit; outline:0; transition:border .15s, box-shadow .15s}
.am-input input::placeholder{color:#8d85a0}
.am-input input:focus{border-color:#ff5ccd; box-shadow:0 0 0 3px rgba(255,92,205,.18)}
.am-input.has-eye input{padding-right:46px}
.am-eye{position:absolute; right:8px; top:50%; transform:translateY(-50%); width:34px; height:34px;
  border:0; background:none; color:#b9b0c9; cursor:pointer; display:flex; align-items:center; justify-content:center; border-radius:8px}
.am-eye:hover{color:#fff; background:rgba(255,255,255,.08)}
.am-eye svg{width:20px; height:20px}
.am-roles{display:flex; border:1px solid rgba(255,255,255,.16); border-radius:10px; overflow:hidden; margin-bottom:16px}
.am-roles button{flex:1; padding:11px; background:transparent; border:0; color:#c9c1d6;
  font-weight:700; font-size:13px; cursor:pointer; font-family:inherit}
.am-roles button.active{background:linear-gradient(90deg,#d61f9a,#ff36c0); color:#fff}
.am-check{display:flex; gap:9px; align-items:flex-start; font-size:12.5px; color:#bcb4cb; margin:4px 0 16px}
.am-check input{width:auto; margin-top:2px; accent-color:#ff36c0}
.am-submit{width:100%; padding:14px; border:0; border-radius:26px; cursor:pointer;
  font-size:16px; font-weight:800; color:#fff; font-family:inherit;
  background:linear-gradient(90deg,#c81d8e,#ff2db0); transition:filter .15s}
.am-submit:hover{filter:brightness(1.08)}
.am-submit:disabled{opacity:.6; cursor:default}
.am-msg{font-size:13px; margin-top:12px; min-height:18px; text-align:center}
.am-msg.err{color:#ff7a90} .am-msg.ok{color:#7ee0a3}
.am-divider{display:flex; align-items:center; gap:12px; color:#8d85a0; font-size:12px; margin:20px 0 14px}
.am-divider::before,.am-divider::after{content:''; flex:1; height:1px; background:rgba(255,255,255,.14)}
.am-guest{width:100%; padding:13px; border-radius:26px; cursor:pointer; font-weight:700;
  font-size:14px; color:#fff; font-family:inherit; background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.18)}
.am-guest:hover{background:rgba(255,255,255,.12)}
.am-fine{font-size:11.5px; color:#9a92ab; text-align:center; margin-top:14px; line-height:1.5}
.am-fine a{color:#ff5ccd}
.am-hidden{display:none !important}


/* ════════════════════════════════════════════════════════════════════════
   Profielpagina — DONKER thema (responsive)
   ════════════════════════════════════════════════════════════════════════ */
body.profile-dark{background:#15171c}
.pd-top{position:relative; background:#0e0f13}
.pd-nav{position:absolute; top:0; left:0; right:0; height:52px; z-index:5;
  display:flex; align-items:center; justify-content:space-between; padding:0 8px;
  background:linear-gradient(to bottom, rgba(0,0,0,.6), transparent); color:#fff}
.pd-nav .pd-title{flex:1; text-align:center; font-weight:800; font-size:17px; color:#fff; text-shadow:0 1px 3px rgba(0,0,0,.7);
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis; padding:0 6px}
.pd-arrow{width:42px;height:42px;border-radius:50%;border:0;background:rgba(0,0,0,.35);color:#fff;
  cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:22px;flex:0 0 42px}
.pd-arrow:hover{background:rgba(0,0,0,.55)}
.pd-arrow.disabled{opacity:.3;pointer-events:none}
.pd-home{width:42px;height:42px;border-radius:50%;background:rgba(0,0,0,.35);color:#fff;
  display:flex;align-items:center;justify-content:center;flex:0 0 42px;text-decoration:none;margin-right:2px}
.pd-home:hover{background:rgba(0,0,0,.55);color:#fff}
.pd-home svg{width:20px;height:20px}
.pd-hero{position:relative; width:100%; aspect-ratio:1/1; background:#000; overflow:hidden}
@media(min-width:560px){ .pd-hero{aspect-ratio:4/5} }
.pd-hero img,.pd-hero video{width:100%;height:100%;object-fit:cover;display:block}
.pd-hero .ph{width:100%;height:100%;display:flex;align-items:center;justify-content:center;
  color:#fff;font-size:80px;font-weight:800;background:linear-gradient(135deg,#5a2a4a,#2a2440)}
.pd-hero::after{content:'';position:absolute;inset:0;
  background:linear-gradient(to bottom, rgba(0,0,0,.25) 0%, transparent 30%, rgba(0,0,0,.55) 100%)}
.pd-busy{position:absolute;top:60px;left:14px;z-index:4;background:#ff8a00;color:#1d1400;
  font-weight:800;font-size:12px;padding:5px 10px;border-radius:8px}
.pd-over{position:absolute; left:0; right:0; bottom:26px; z-index:3; text-align:center; padding:0 22px}
.pd-over h2{margin:0 0 6px;color:#fff;font-size:24px;font-weight:800;text-shadow:0 2px 8px rgba(0,0,0,.7)}
.pd-over p{margin:0 0 16px;color:#e7e7ee;font-size:14px;text-shadow:0 1px 4px rgba(0,0,0,.7)}
.pd-msgbtn{display:inline-flex;align-items:center;gap:10px;background:#e02aaa;color:#fff;
  font-weight:800;font-size:16px;border:0;border-radius:10px;padding:14px 30px;cursor:pointer;
  box-shadow:0 8px 24px rgba(224, 42, 161, 0.45); transition:transform .1s, filter .12s}
.pd-msgbtn:hover{filter:brightness(1.08)} .pd-msgbtn:active{transform:translateY(1px)}
.pd-msgbtn:disabled{background:#566; box-shadow:none; cursor:not-allowed}
.pd-msgbtn svg{width:20px;height:20px}
.pd-hint{margin-top:12px;color:#9aa0ad;font-size:12px}
.pd-hint b{color:#cfd3da}

.pd-body{max-width:560px;margin:0 auto}
.pd-id{display:flex;align-items:center;gap:14px;padding:16px 16px 10px;position:relative}
.pd-avatar{width:84px;height:84px;border-radius:50%;object-fit:cover;border:3px solid #e02ab2;
  flex:0 0 84px;margin-top:-46px;background:#222;position:relative;z-index:4;cursor:pointer}
.pd-idinfo{flex:1;min-width:0}
.pd-idinfo h1{margin:0;color:#fff;font-size:21px;font-weight:800;display:flex;align-items:center;gap:8px}
.pd-idinfo h1 .dot{width:11px;height:11px;border-radius:50%;background:#7a8089}
.pd-idinfo h1 .dot.on{background:#2ecc56;box-shadow:0 0 0 3px rgba(46,204,86,.3)}
.pd-stars{margin-top:4px;font-size:16px;letter-spacing:2px;color:#ffcf3f}
.pd-stars .off{color:#4a4d57}
.pd-actbtns{display:flex;gap:8px}
.pd-act{width:46px;height:46px;border-radius:10px;border:0;background:#243042;color:#cfe6ff;
  cursor:pointer;display:flex;align-items:center;justify-content:center}
.pd-act:hover{background:#2c3c52}
.pd-act svg{width:20px;height:20px}
.pd-act.fav.on{background:#3a2030;color:#ff5c8a}
.pd-bio{padding:6px 18px 18px;color:#c4c8d0;font-size:14px;line-height:1.6;white-space:pre-wrap}
.pd-rows{border-top:1px solid #23262e}
.pd-row{display:flex;justify-content:space-between;gap:14px;padding:14px 18px;
  border-bottom:1px solid #23262e;font-size:14px}
.pd-row .k{color:#fff;font-weight:700}
.pd-row .v{color:#9aa0ad;text-align:right}
.pd-row .v a{color:#ff7a18;font-weight:700}
.pd-linkwrap{padding:18px}
.pd-linkbtn{display:flex;align-items:center;justify-content:center;gap:9px;background:#020202;color:#fff;
  font-weight:800;border:0;border-radius:12px;padding:14px;font-size:15px;cursor:pointer;text-decoration:none;
  box-shadow:0 6px 18px rgba(39, 39, 39, 0.35);}
.pd-linkbtn:hover{filter:brightness(1.06);color:#fff}
.pd-toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%) translateY(20px);
  background:#000;color:#fff;padding:12px 20px;border-radius:24px;font-size:13px;font-weight:600;
  opacity:0;pointer-events:none;transition:.25s;z-index:9999}
.pd-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
