/* If I Don't Hustle Media — Phase 1 styles
   Design source: hero-mockup.html. Dark base, RBG accents. */
:root{
  --bg:#0a0a0a; --card:#141414; --line:#1e1e1e; --line2:#2c2c2c; --line3:#333;
  --txt:#fff; --mut:#8a8a8a; --mut2:#555;
  --red:#e63946; --red-btn:#c92a2a; --green:#1db954; --gold:#c9962e;
  --font:-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{background:var(--bg);color:var(--txt);font-family:var(--font);-webkit-font-smoothing:antialiased}
a{color:inherit}
img{max-width:100%}
.wrap{max-width:1120px;margin:0 auto;padding:0 14px}
.muted{color:var(--mut);font-size:12px;line-height:1.6}

/* ---------- Sticky nav ---------- */
.nav{position:sticky;top:0;z-index:100;display:flex;align-items:center;gap:10px;
  padding:10px 14px;background:#0a0a0a;border-bottom:1px solid var(--line);
  box-shadow:0 4px 18px rgba(0,0,0,.55)}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none}
.brand img{width:30px;height:30px;border-radius:50%;object-fit:cover}
.brand span{font-weight:800;font-size:12px;letter-spacing:1px}
.brand em{font-style:normal;color:var(--red)}
.nav nav{margin-left:auto;display:flex;gap:12px}
.nav nav a{font-size:10px;font-weight:700;letter-spacing:1px;color:var(--mut);text-decoration:none}
.nav nav a.on,.nav nav a:hover{color:#fff}
@media(max-width:640px){.nav nav a{font-size:9px}.nav nav{gap:8px}}

/* ---------- Hero ---------- */
.strip{height:8px}
.strip.red{background:linear-gradient(90deg,#8f0f24,#e63946,#8f0f24)}
.strip.green{background:linear-gradient(90deg,#0a5c32,#1db954,#0a5c32)}
.banner{position:relative;aspect-ratio:21/9;background:#000 url('/img/logo.jpg') center 52%/cover no-repeat}
.banner::after{content:'';position:absolute;inset:0;
  background:linear-gradient(to bottom,rgba(0,0,0,.30),rgba(0,0,0,0) 35%,rgba(0,0,0,0) 58%,rgba(0,0,0,.80))}
.tagline{position:absolute;left:0;right:0;bottom:12px;z-index:1;text-align:center;padding:0 10px;
  font-weight:800;letter-spacing:1.5px;font-size:clamp(12px,3.4vw,18px);
  white-space:nowrap;text-shadow:0 2px 10px rgba(0,0,0,.95)}

/* ---------- Panels & sections ---------- */
.panel{background:var(--card);border:1px solid var(--line2);border-radius:12px;
  padding:18px 16px;margin:14px 0;text-align:center}
.panel-title{font-size:13px;font-weight:800;letter-spacing:1.5px}
.badge{display:inline-block;font-size:9px;font-weight:800;letter-spacing:1px;border-radius:20px;
  padding:3px 9px;vertical-align:middle;background:#c9962e;color:#000}
.badge.red{background:var(--red);color:#fff}
.badge.gold{background:var(--gold);color:#000}
.lane-title{font-size:13px;font-weight:800;letter-spacing:1.5px;margin:22px 0 10px;
  display:flex;align-items:center;gap:8px}
.tick{display:inline-block;width:4px;height:16px;border-radius:2px}

/* ---------- Signup ---------- */
#signup-form{display:flex;gap:8px;margin-top:14px}
#signup-email{flex:1;background:#0a0a0a;border:1px solid var(--line3);border-radius:8px;
  padding:12px;color:#fff;font-size:14px;font-family:var(--font)}
#signup-email::placeholder{color:var(--mut2)}
#signup-form button{background:var(--red-btn);border:none;border-radius:8px;color:#fff;
  font-weight:800;letter-spacing:1px;font-size:12px;padding:0 22px;cursor:pointer;font-family:var(--font)}
#signup-form button:hover{background:#e63946}
#signup-msg{font-size:12px;margin-top:10px;min-height:18px}
#signup-msg.ok{color:var(--green)}
#signup-msg.err{color:var(--red)}
.login-line{font-size:11px;color:var(--mut);margin-top:10px}
.login-line a{color:#fff}
#login-note{color:var(--gold)}

/* ---------- Lanes ---------- */
.row{display:flex;gap:10px;overflow-x:auto;padding:4px 2px 14px;
  scroll-snap-type:x mandatory;scrollbar-width:none}
.row::-webkit-scrollbar{display:none}
.card{flex:0 0 210px;scroll-snap-align:start;background:var(--card);
  border:1px solid #262626;border-radius:10px;overflow:hidden;text-decoration:none}
@media(min-width:760px){.card{flex-basis:250px}}
.card:hover{border-color:#444}
.thumb{position:relative;aspect-ratio:16/9;display:flex;align-items:center;justify-content:center;overflow:hidden}
.thumb-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.play{width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.25);display:flex;align-items:center;justify-content:center}
.play i{width:0;height:0;border-left:13px solid rgba(255,255,255,.92);
  border-top:8px solid transparent;border-bottom:8px solid transparent;margin-left:3px}
.ext{position:absolute;top:6px;right:8px;font-size:9px;color:rgba(255,255,255,.65);
  background:rgba(0,0,0,.55);border-radius:4px;padding:2px 6px}
.card-body{padding:10px}
.card-title{font-size:12.5px;font-weight:700;line-height:1.4;min-height:36px;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.card-meta{display:flex;align-items:center;gap:6px;color:var(--mut);font-size:11px;margin-top:8px}
.card-meta .heart{color:var(--red);font-size:13px}
.card-meta .dot{color:#444}

/* ---------- Rooms / promos ---------- */
.room{text-align:center}
.room.dashed{border-style:dashed}
.room-icon{font-size:30px}
.room-head{font-size:15px;font-weight:800;margin:10px 0 6px}
.vault,.stage{text-align:center;border-color:#3a2f16}
.vault-kicker{font-size:11px;font-weight:800;letter-spacing:2px;color:var(--gold)}
.vault-head{font-size:18px;font-weight:800;margin:8px 0}
.btn{display:inline-block;background:var(--red-btn);color:#fff;text-decoration:none;
  font-size:12px;font-weight:800;letter-spacing:1.5px;padding:13px 26px;border-radius:10px;margin-top:12px}
.btn:hover{background:#e63946}
.fine-note{font-size:10px;color:var(--mut2);margin-top:10px}

/* ---------- Dating preview ---------- */
#dating .panel .room-head{letter-spacing:1.5px}

/* ---------- Socials ---------- */
.socials{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
@media(min-width:760px){.socials{grid-template-columns:repeat(4,1fr)}}
.soc{background:var(--card);border:1px solid var(--line2);border-radius:10px;
  padding:18px 10px;text-align:center;text-decoration:none;font-size:11px;font-weight:800;letter-spacing:1px}
.soc:hover{border-color:var(--red)}

/* ---------- Doc pages ---------- */
.doc{padding-top:26px;padding-bottom:40px;max-width:760px}
.doc h1{font-size:22px;letter-spacing:1px}
.doc h2{font-size:15px;margin-top:26px;color:var(--gold);letter-spacing:.5px}
.doc h3{font-size:13px;margin-top:20px}
.doc p,.doc li{font-size:13.5px;line-height:1.7;color:#cfcfcf}
.doc a{color:#fff}
.doc hr{border:none;border-top:1px solid var(--line2);margin:22px 0}
.mission{font-size:16px !important;color:#fff !important;border-left:3px solid var(--red);padding-left:14px}

/* ---------- Footer ---------- */
footer{border-top:1px solid var(--line);margin-top:34px;padding:22px 14px 30px;text-align:center}
.foot-inner{max-width:1120px;margin:0 auto}
footer .copy{font-size:11px;font-weight:800;letter-spacing:1px}
.flinks{font-size:11px;margin:10px 0;display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.flinks a{color:#bbb;text-decoration:underline}
.flinks span{color:#444}
footer .fine{font-size:10px;color:var(--mut2);margin-top:4px}

/* ---------- Age gate ---------- */
#agegate{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;
  padding:20px;background:rgba(0,0,0,.55);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}
#agegate[hidden]{display:none}
.ag-card{background:#111;border:1px solid #2c2c2c;border-radius:14px;max-width:380px;width:100%;
  padding:30px 24px;text-align:center;box-shadow:0 20px 60px rgba(0,0,0,.8)}
.ag-title{font-size:19px;font-weight:900;letter-spacing:1.5px}
.ag-sub{font-size:12.5px;color:var(--mut);line-height:1.6;margin:12px 0 20px}
#ag-yes{display:block;width:100%;background:var(--red-btn);border:none;border-radius:10px;color:#fff;
  font-size:14px;font-weight:900;letter-spacing:1px;padding:14px;cursor:pointer;font-family:var(--font)}
#ag-yes:hover{background:#e63946}
#ag-no.ghost{display:block;width:100%;background:none;border:none;color:var(--mut);
  font-size:12px;margin-top:12px;cursor:pointer;text-decoration:underline;font-family:var(--font)}
#ag-bye{margin-top:16px;font-size:13px;color:var(--mut)}
#ag-bye a{color:#fff}
body.locked{overflow:hidden}
body.locked #app{filter:blur(7px);pointer-events:none;user-select:none}

/* ---------- Phase 2 ---------- */
.narrow{max-width:640px}
.red-t{color:var(--red)}

/* Nav auth */
.nav nav{align-items:center;flex-wrap:wrap;justify-content:flex-end}
.nav-auth{display:inline-flex;align-items:center;gap:12px;margin-left:8px}
.nav-cta{background:var(--red-btn);color:#fff !important;border-radius:6px;padding:6px 12px}
.nav-cta:hover{background:#e63946}
.bell{position:relative;text-decoration:none}
.bell i{position:absolute;top:-7px;right:-9px;background:var(--red);color:#fff;font-style:normal;
  font-size:9px;font-weight:800;border-radius:10px;padding:1px 5px}
.bell.has{color:#fff}
.admin-link{color:var(--gold) !important}

/* Auth forms */
.auth{text-align:left}
.auth .panel-title,.auth .auth-tag{text-align:center}
.auth-tag{color:var(--mut);font-size:13px;margin:6px 0 14px}
.aform{display:flex;flex-direction:column;gap:12px;margin-top:8px}
.aform label{font-size:10px;font-weight:800;letter-spacing:1px;color:var(--mut);display:flex;flex-direction:column;gap:6px}
.aform input,.aform textarea{background:#0a0a0a;border:1px solid var(--line3);border-radius:8px;
  padding:12px;color:#fff;font-size:14px;font-family:var(--font);width:100%}
.aform textarea{resize:vertical}
.aform input:focus,.aform textarea:focus{outline:none;border-color:var(--red)}
.aform .check{flex-direction:row;align-items:flex-start;gap:10px;font-weight:400;letter-spacing:0;font-size:12px;text-transform:none}
.aform .check input{width:auto;margin-top:2px}
.aform .check a{color:#fff}
.btn.wide{width:100%}
.btn.sm{padding:9px 16px;font-size:11px;margin-top:0}
.btn.ghost-btn{background:transparent;border:1px solid var(--line3);color:#fff}
.btn.ghost-btn:hover{border-color:#666;background:transparent}
.btn.danger{background:#7a1f1f}
.btn.danger:hover{background:#a02a2a}
.form-err{background:#2a0f0f;border:1px solid #7a1f1f;color:#ff9d9d;border-radius:8px;padding:10px 12px;font-size:12px}
.form-ok{background:#0f2a14;border:1px solid #1d5c2c;color:#9dffb0;border-radius:8px;padding:10px 12px;font-size:12px}
.dev-box{background:#141007;border:1px dashed var(--gold);border-radius:8px;padding:12px;margin:12px 0;font-size:12px;word-break:break-all}
.dev-tag{font-size:10px;font-weight:800;letter-spacing:1px;color:var(--gold);margin-bottom:6px}
.dev-pre{background:#0a0a0a;border:1px solid var(--line2);border-radius:8px;padding:10px;font-size:11px;white-space:pre-wrap;color:#cfcfcf}
.warn{color:var(--red);font-weight:700}
.auth .muted{text-align:center}

/* Avatars + user lines */
.avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;
  background:linear-gradient(135deg,#3a0d14,#0d3a1c);border:1px solid var(--line3);color:#fff;font-weight:800;flex:0 0 auto}
.u-link{display:flex;align-items:center;gap:10px;text-decoration:none}
.u-link span b{display:block;font-size:13px}
.u-link span i{display:block;font-style:normal;font-size:11px;color:var(--mut)}
.c-time{font-size:11px;color:var(--mut2);margin-left:6px;white-space:nowrap}
.linklike{background:none;border:none;color:#fff;text-decoration:underline;cursor:pointer;font-size:12px;font-family:var(--font);padding:0}

/* Watch page */
.watch{display:grid;gap:18px}
@media(min-width:900px){.watch{grid-template-columns:1fr 300px}}
.embed-wrap{position:relative;aspect-ratio:4/5;max-height:640px;background:#000;border-radius:12px;overflow:hidden;border:1px solid var(--line2)}
.embed-wrap iframe{position:absolute;inset:0;width:100%;height:100%}
.watch-title{font-size:19px;margin:14px 0 6px}
.watch-meta{font-size:12px;color:var(--mut);display:flex;align-items:center;gap:8px}
.lane-tag{display:inline-block;width:4px;height:14px;border-radius:2px}
.watch-actions{display:flex;gap:10px;align-items:center;margin:14px 0;flex-wrap:wrap}
#like-btn{background:var(--card);border:1px solid var(--line3);color:#fff;border-radius:20px;
  padding:9px 18px;font-size:14px;font-weight:800;cursor:pointer;font-family:var(--font)}
#like-btn.on{background:#2a0f14;border-color:var(--red);color:var(--red)}
.watch-desc{font-size:13px;color:#cfcfcf;line-height:1.6}
.comments-head{font-size:12px;font-weight:800;letter-spacing:1.5px;margin:20px 0 10px}
.cform{display:flex;gap:8px;margin:10px 0}
.cform input{flex:1;background:#0a0a0a;border:1px solid var(--line3);border-radius:20px;padding:11px 16px;color:#fff;font-size:13px;font-family:var(--font)}
.cform button{background:var(--red-btn);border:none;border-radius:20px;color:#fff;font-weight:800;font-size:11px;letter-spacing:1px;padding:0 20px;cursor:pointer;font-family:var(--font)}
.comment{border-top:1px solid var(--line);padding:12px 0}
.c-body{font-size:13px;line-height:1.55;margin:8px 0 6px;color:#e8e8e8}
.c-actions{display:flex;gap:12px;align-items:center}
.c-like{background:none;border:none;color:var(--mut);font-size:12px;cursor:pointer;font-family:var(--font)}
.c-like.on{color:var(--red)}
.c-del{background:none;border:none;color:var(--mut2);font-size:11px;cursor:pointer;text-decoration:underline;font-family:var(--font)}
.lock-note{background:var(--card);border:1px solid var(--line2);border-radius:10px;padding:12px;text-align:center}
.lock-note a{color:#fff;font-weight:700}
.upnext-card{display:flex;gap:10px;text-decoration:none;margin-bottom:12px}
.thumb.sm{width:110px;flex:0 0 110px}
.play.smp{width:28px;height:28px}
.play.smp i{border-left-width:9px;border-top-width:6px;border-bottom-width:6px}
.upnext-title{font-size:12px;font-weight:700;line-height:1.4}

/* Profile */
.profile{text-align:center}
.p-name{font-size:20px;font-weight:800;margin:12px 0 2px}
.p-user{color:var(--mut);font-size:13px}
.p-stats{display:flex;gap:18px;justify-content:center;margin:14px 0}
.p-stats,.p-stats a{font-size:13px;color:var(--mut);text-decoration:none}
.p-stats b{color:#fff}
.p-bio{font-size:13px;line-height:1.6;max-width:420px;margin:0 auto}
.p-actions{display:flex;gap:10px;justify-content:center;margin:14px 0;flex-wrap:wrap}
.p-tabs{display:flex;gap:0;border-bottom:1px solid var(--line2);margin:18px 0 12px}
.p-tabs a{flex:1;text-align:center;padding:10px;font-size:11px;font-weight:800;letter-spacing:1.5px;color:var(--mut);text-decoration:none;border-bottom:2px solid transparent}
.p-tabs a.on{color:#fff;border-bottom-color:var(--red)}
.p-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;text-align:left}
.p-grid .card{flex:none}
.flist{display:flex;flex-direction:column}
.frow{display:flex;align-items:center;gap:10px;padding:10px 4px;border-top:1px solid var(--line)}
.frow .u-link{flex:1}
.convo-main{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}
.convo-main b{font-size:13px}
.convo-main i{font-style:normal;font-size:12px;color:var(--mut);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
a.frow{text-decoration:none;color:inherit}

/* DMs */
.dm{text-align:left}
.dm-head{display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--line2);padding-bottom:12px}
.dm-who{flex:1;display:flex;flex-direction:column}
.dm-who b{font-size:14px}
.dm-who i{font-style:normal;font-size:11px;color:var(--mut)}
.dm-tools{display:flex;gap:8px}
.dm-notice{background:#141007;border:1px solid #3a2f16;border-radius:8px;padding:10px 12px;font-size:12px;margin:12px 0;color:#e8d9a8}
.dm-body{display:flex;flex-direction:column;gap:8px;max-height:420px;overflow-y:auto;padding:14px 4px}
.msg{max-width:78%;padding:9px 13px;border-radius:14px;font-size:13px;line-height:1.5}
.msg p{margin:0}
.msg span{display:block;font-size:10px;color:var(--mut2);margin-top:4px}
.msg.me{align-self:flex-end;background:#7a1f1f;border-bottom-right-radius:4px}
.msg.them{align-self:flex-start;background:#1c1c1c;border-bottom-left-radius:4px}
.dm-form{margin-top:8px}

/* Report */
.cat-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.cat{background:#0a0a0a;border:1px solid var(--line3);border-radius:8px;padding:10px;cursor:pointer;font-size:12px !important}
.cat input{width:auto !important}

/* Notifications */
.notif-tools{display:flex;gap:10px;justify-content:center;margin:10px 0;align-items:center}
.nicon{font-size:18px;width:34px;text-align:center;flex:0 0 auto}
.notif.fresh{background:#141014}

/* Settings */
.set-row{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line2);padding:14px 0;font-size:13px;font-weight:700}
.set-block{border-top:1px solid var(--line2);padding:14px 0;text-align:left}
.inner{background:#0e0e0e;margin:16px 0}

/* Admin */
.admin{text-align:left}
.admin .panel-title{text-align:center}
.stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:16px 0}
.stat{background:#0a0a0a;border:1px solid var(--line2);border-radius:10px;padding:14px;text-align:center}
.stat b{display:block;font-size:24px;color:var(--gold)}
.stat span{font-size:10px;letter-spacing:1px;color:var(--mut)}
.rep-card{background:#0e0e0e;border:1px solid var(--line2);border-radius:10px;padding:14px;margin:12px 0}
.rep-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.rep-reason{font-size:13px;color:#e8e8e8;font-style:italic;line-height:1.6}
.rep-actions{display:flex;gap:10px;margin-top:8px}

/* Search */
.recent-q{display:inline-block;background:var(--card);border:1px solid var(--line2);border-radius:16px;
  padding:7px 14px;margin:4px;font-size:12px;text-decoration:none}

/* Analytics */
.wchart{display:flex;gap:8px;align-items:flex-end;justify-content:center;margin:14px 0;min-height:130px}
.wbar{display:flex;flex-direction:column;align-items:center;gap:4px;flex:1;max-width:70px}
.wn{font-size:11px;font-weight:800;color:#fff}
.wfill{width:100%;max-width:44px;background:linear-gradient(to top,#8f0f24,#e63946);border-radius:4px 4px 0 0;min-height:3px}
.wd{font-size:10px;color:var(--mut)}

/* ---------- Phase 3 ---------- */
.nav nav{flex-wrap:wrap;row-gap:6px}

/* Chrono feed toggle */
.feed-toggle{max-width:1120px;margin:14px auto 0;padding:0 14px;font-size:11px;font-weight:800;letter-spacing:1.5px;color:var(--mut)}
.feed-toggle a{color:var(--mut);text-decoration:none;padding:4px 8px}
.feed-toggle a.on{color:#fff;background:#1c1c1c;border-radius:6px}

/* Dropzones (upload forms) */
.dropzone{display:block;border:2px dashed #3a3a3a;border-radius:12px;padding:26px 16px;text-align:center;background:#101010;cursor:pointer;margin-bottom:12px}
.dropzone:hover{border-color:var(--red)}
.dropzone.sm{padding:16px}
.dz-icon{font-size:26px}
.dz-title{font-size:12px;font-weight:800;letter-spacing:1px;margin-top:6px}
.dz-sub{font-size:11px;color:var(--mut);margin-top:6px;line-height:1.6}
.req{color:var(--red)}

/* Lane / category / genre pickers */
.lane-pick{margin:12px 0}
.lane-pick-t{font-size:10px;font-weight:800;letter-spacing:1px;color:var(--mut);margin-bottom:8px}
.lane-pick-r{display:flex;gap:8px;flex-wrap:wrap}
.lpick{cursor:pointer}
.lpick input{display:none}
.lpick span{display:inline-block;background:#1a1a1a;border:1px solid var(--line3);color:#aaa;border-radius:20px;font-size:11px;font-weight:700;padding:8px 14px}
.lpick input:checked+span{background:#fff;color:#000;border-color:#fff}

/* Segmented control (Stage audio/video toggle) */
.seg{display:flex;gap:8px;margin-bottom:14px}
.seg-btn{flex:1;background:#141414;border:1px solid var(--line3);color:#aaa;border-radius:10px;font-size:12px;font-weight:700;padding:12px;letter-spacing:1px;cursor:pointer;font-family:var(--font)}
.seg-btn.on{background:#fff;color:#000;border-color:#fff;font-weight:800}

/* Chips (vault categories, stage filters) */
.chips{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}
.chip{background:#1a1a1a;border:1px solid var(--line3);color:#aaa;border-radius:20px;font-size:11px;font-weight:700;padding:8px 16px;text-decoration:none}
.chip.on{background:#fff;color:#000;border-color:#fff}
.vault-tools{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin:12px 0}
.vault-tools .cform{flex:1;min-width:220px;margin:0}

/* Business cards */
.biz-grid,.track-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;margin-top:12px}
.card.biz,.card.track{flex:none;display:block}
.biz-top{display:flex;gap:12px;align-items:center;padding:14px 14px 0}
.biz-logo{width:52px;height:52px;border-radius:12px;object-fit:cover;flex:0 0 auto;background:#1c1c1c}
.biz-logo.ph{display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:800;background:linear-gradient(135deg,#3a2f16,#0d3a1c);border:1px solid var(--line3)}
.biz-logo.lg{width:88px;height:88px;font-size:34px;margin:0 auto}
.vouch-line{font-weight:700;color:#fff}
.vouch-check{color:var(--gold);font-weight:900}
.soc-row{display:flex;gap:6px;margin-top:10px;flex-wrap:wrap}
.soc-ic{background:#1c1c1c;border:1px solid var(--line3);border-radius:6px;font-size:10px;font-weight:800;padding:5px 9px;text-decoration:none;color:#ddd}
.soc-ic:hover{border-color:var(--red);color:#fff}
.biz-detail{text-align:center}
.biz-contact{margin:12px 0;font-size:13px;line-height:2;color:#cfcfcf}
.biz-contact a{color:#fff}

/* Stage */
.track-top{display:flex;gap:12px;align-items:center;padding:14px 14px 0}
.track-cover{width:64px;height:64px;border-radius:10px;object-fit:cover;flex:0 0 auto;background:#1c1c1c}
.track-cover.ph{display:flex;align-items:center;justify-content:center;font-size:28px}
.track-info{flex:1;min-width:0}
.play.smp2{width:38px;height:38px;flex:0 0 auto}
.stage-player{margin:6px 0 10px}
.stage-player video{width:100%;border-radius:12px;background:#000;max-height:420px}
.stage-player.audio{display:flex;flex-direction:column;gap:12px;align-items:center}
.stage-cover-lg{width:200px;height:200px;border-radius:14px;object-fit:cover}
.stage-player audio{width:100%}
.stage-detail{text-align:center}

/* Copyright block */
.copy-block{background:#141414;border:1px solid #5a2b2b;border-radius:10px;padding:14px;margin:14px 0;text-align:left}
.copy-t{color:var(--red);font-size:10.5px;font-weight:800;letter-spacing:1px;margin-bottom:8px}
.copy-body{font-size:12px;color:#bbb;line-height:1.65}
.copy-body b{color:#fff}

/* Dating */
.date-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;margin-top:12px}
.card.date{flex:none;display:block}
.date-photo{aspect-ratio:3/4;overflow:hidden;background:#1c1c1c}
.date-photo img{width:100%;height:100%;object-fit:cover;display:block}
.date-detail{text-align:center}
.date-hero{border-radius:12px;overflow:hidden;max-height:480px;background:#000}
.date-hero img{width:100%;height:100%;max-height:480px;object-fit:cover;display:block}

/* Local media (community uploads on watch page) */
.local-media{border-radius:12px;overflow:hidden;background:#000;border:1px solid var(--line2)}
.local-media img{width:100%;display:block;max-height:70vh;object-fit:contain;background:#000}
.local-media video{width:100%;display:block;max-height:70vh;background:#000}

/* Receipts */
.receipts{margin-top:8px}

/* Pending badge on profile grid */
.pv-wrap{position:relative}
.pv-badge{position:absolute;top:6px;left:6px;z-index:2}
