/* =============================================================
   INPULSE PROFILES — Profile Page CSS
   Full Inpulse brand design system for the DJ profile template
   ============================================================= */

/* ── HARD RESET — override theme interference ── */
#inpp-profile *,
#inpp-profile *::before,
#inpp-profile *::after {
	box-sizing: border-box !important;
	margin: 0;
	padding: 0;
}

/* Force all images inside the profile to behave */
#inpp-profile img {
	max-width: 100% !important;
	width: auto !important;
	height: auto !important;
	display: block !important;
}

/* Hero photo is the exception — it fills its container */
#inpp-profile .inpp-hero-photo img,
#inpp-profile .inpp-about-photo img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	object-position: center top !important;
}

/* Kill any theme max-width containers wrapping our content */
#inpp-profile {
	max-width: 100vw !important;
	width: 100% !important;
	padding: 0 !important;
	margin: 0 !important;
}

/* Force grid and flex to actually work regardless of theme */
#inpp-profile .inpp-stats            { display: grid !important; }
#inpp-profile .inpp-mixes-grid       { display: grid !important; }
#inpp-profile .inpp-about-grid       { display: grid !important; }
#inpp-profile .inpp-booking-grid     { display: grid !important; }
#inpp-profile .inpp-hero-actions     { display: flex !important; }
#inpp-profile .inpp-tags             { display: flex !important; }
#inpp-profile .inpp-socials          { display: flex !important; }
#inpp-profile .inpp-genre-wall       { display: flex !important; }
#inpp-profile .inpp-waveform         { display: flex !important; }
#inpp-profile .inpp-mix-top          { display: flex !important; }
#inpp-profile .inpp-mix-footer       { display: flex !important; }
#inpp-profile .inpp-detail-row       { display: flex !important; }
#inpp-profile .inpp-live-tag         { display: inline-flex !important; }
#inpp-profile .inpp-btn              { display: inline-flex !important; }
#inpp-profile .inpp-bform-wrap       { display: flex !important; flex-direction: column !important; }

#inpp-profile {
	--void:#080810;--deep:#0D0D1A;--surface:#12121F;--panel:#1A1A2E;
	--border:rgba(255,255,255,0.07);
	--neon:#E8FF00;--pulse:#FF2D6B;--electric:#00D4FF;--warm:#FF6B35;
	--white:#F0F0FF;--muted:rgba(240,240,255,0.48);
	--fd:'Black Ops One',sans-serif;--fh:'Bebas Neue',sans-serif;
	--fb:'DM Sans',sans-serif;--fm:'Space Mono',monospace;
	background:var(--void);color:var(--white);font-family:var(--fb);
	line-height:1.6;overflow-x:hidden;
}

/* HERO */
.inpp-hero{position:relative;min-height:92vh;display:flex;align-items:center;overflow:hidden;border-bottom:1px solid var(--border);}
.inpp-hero-bg{position:absolute;inset:0;background:radial-gradient(ellipse 65% 70% at 5% 60%,rgba(232,255,0,.055) 0%,transparent 55%),radial-gradient(ellipse 50% 60% at 90% 20%,rgba(255,45,107,.07) 0%,transparent 55%),radial-gradient(ellipse 40% 50% at 50% 100%,rgba(0,212,255,.04) 0%,transparent 55%);pointer-events:none;}
.inpp-hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.015) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.015) 1px,transparent 1px);background-size:48px 48px;pointer-events:none;}
.inpp-hero-inner{position:relative;z-index:1;padding:clamp(80px,10vh,140px) clamp(24px,6vw,80px);max-width:800px;}
.inpp-live-tag{display:inline-flex;align-items:center;gap:8px;font-family:var(--fm);font-size:10px;letter-spacing:.35em;text-transform:uppercase;color:var(--neon);margin-bottom:28px;}
.inpp-dot{width:7px;height:7px;border-radius:50%;background:var(--neon);flex-shrink:0;animation:inpp-blink 2s ease-in-out infinite;}
@keyframes inpp-blink{0%,100%{opacity:1}50%{opacity:.15}}
.inpp-hero-name{font-family:var(--fd);font-size:clamp(56px,12vw,140px);line-height:.9;letter-spacing:-.02em;color:var(--white);margin-bottom:14px;}
.inpp-hero-name span{color:var(--neon);}
.inpp-hero-tagline{font-family:var(--fh);font-size:clamp(16px,2.5vw,28px);letter-spacing:.25em;color:var(--muted);margin-bottom:22px;}
.inpp-hero-bio{font-size:17px;color:var(--muted);max-width:520px;line-height:1.8;margin-bottom:36px;}
.inpp-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:32px;}
.inpp-btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--fh);font-size:20px;letter-spacing:.12em;padding:13px 30px;border-radius:10px;text-decoration:none;cursor:pointer;border:none;transition:all .2s;white-space:nowrap;}
.inpp-btn-primary{background:var(--neon);color:var(--void);}
.inpp-btn-primary:hover{background:#f5ff33;transform:translateY(-2px);box-shadow:0 0 28px rgba(232,255,0,.3);}
.inpp-btn-secondary{background:transparent;color:var(--white);border:1px solid var(--border);}
.inpp-btn-secondary:hover{border-color:var(--neon);color:var(--neon);}
.inpp-tags{display:flex;flex-wrap:wrap;gap:8px;}
.inpp-tag{font-family:var(--fm);font-size:9px;letter-spacing:.2em;text-transform:uppercase;padding:5px 13px;border-radius:100px;border:1px solid currentColor;}
.inpp-tag-neon{color:var(--neon);background:rgba(232,255,0,.06);}
.inpp-tag-pulse{color:var(--pulse);background:rgba(255,45,107,.06);}
.inpp-tag-electric{color:var(--electric);background:rgba(0,212,255,.06);}
.inpp-tag-warm{color:var(--warm);background:rgba(255,107,53,.06);}
.inpp-hero-photo{position:absolute;right:0;top:0;bottom:0;width:clamp(280px,38vw,560px);overflow:hidden;mask-image:linear-gradient(to right,transparent 0%,black 30%);}
.inpp-hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center top;opacity:.6;}
.inpp-hero-photo-ph{width:100%;height:100%;background:linear-gradient(180deg,var(--surface),var(--panel));display:flex;align-items:center;justify-content:center;font-family:var(--fd);font-size:100px;color:rgba(232,255,0,.05);}

/* STATS */
.inpp-stats{display:grid;grid-template-columns:repeat(4,1fr);background:var(--deep);border-bottom:1px solid var(--border);}
.inpp-stat{padding:32px 20px;text-align:center;border-right:1px solid var(--border);}
.inpp-stat:last-child{border-right:none;}
.inpp-stat-num{font-family:var(--fd);font-size:38px;color:var(--neon);line-height:1;margin-bottom:7px;}
.inpp-stat-lbl{font-family:var(--fm);font-size:9px;letter-spacing:.28em;color:var(--muted);text-transform:uppercase;}

/* SECTIONS */
.inpp-section{padding:clamp(56px,7vw,96px) clamp(24px,6vw,80px);border-bottom:1px solid var(--border);}
.inpp-section-dark{background:var(--deep);}
.inpp-s-label{font-family:var(--fm);font-size:10px;letter-spacing:.38em;text-transform:uppercase;color:var(--neon);margin-bottom:10px;}
.inpp-s-title{font-family:var(--fh);font-size:clamp(30px,4.5vw,56px);letter-spacing:.05em;line-height:1;color:var(--white);margin-bottom:28px;}
.inpp-s-title em{font-style:normal;color:var(--pulse);}

/* MIXES */
.inpp-mixes-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;}
.inpp-mix-card{background:var(--panel);border-radius:16px;border:1px solid var(--border);padding:22px;transition:border-color .3s,transform .3s;}
.inpp-mix-card:hover{border-color:rgba(232,255,0,.2);transform:translateY(-4px);}
.inpp-mix-top{display:flex;align-items:center;gap:14px;margin-bottom:14px;}
.inpp-mix-icon{width:50px;height:50px;border-radius:10px;background:var(--surface);display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0;}
.inpp-mix-title{font-family:var(--fh);font-size:19px;letter-spacing:.08em;color:var(--white);}
.inpp-mix-meta{font-family:var(--fm);font-size:10px;color:var(--muted);margin-top:3px;}
.inpp-waveform{display:flex;align-items:center;gap:3px;height:30px;margin-bottom:13px;}
.inpp-bar{flex:1;border-radius:2px;background:var(--neon);opacity:.35;animation:inpp-wave var(--d,1.1s) ease-in-out infinite alternate;}
.inpp-bar:nth-child(odd){background:var(--pulse);opacity:.45;}
@keyframes inpp-wave{from{transform:scaleY(.2)}to{transform:scaleY(1)}}
.inpp-mix-footer{display:flex;align-items:center;justify-content:space-between;padding-top:13px;border-top:1px solid var(--border);}
.inpp-mix-bpm{font-family:var(--fm);font-size:10px;color:var(--electric);}
.inpp-mix-link{font-family:var(--fm);font-size:10px;letter-spacing:.15em;color:var(--neon);text-decoration:none;}
.inpp-mix-link:hover{text-decoration:underline;}

/* ABOUT */
.inpp-about-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,4vw,72px);align-items:center;}
.inpp-about-photo{border-radius:20px;overflow:hidden;aspect-ratio:3/4;background:var(--panel);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:72px;color:rgba(232,255,0,.06);}
.inpp-about-photo img{width:100%;height:100%;object-fit:cover;object-position:center top;}
.inpp-about-bio{font-size:16px;color:var(--muted);line-height:1.85;margin-bottom:16px;}
.inpp-genre-wall{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px;}
.inpp-genre-big{font-family:var(--fh);font-size:22px;letter-spacing:.1em;padding:9px 18px;border-radius:10px;border:1px solid var(--border);background:var(--surface);transition:border-color .2s,color .2s;}
.inpp-genre-big:hover{border-color:var(--neon);color:var(--neon);}
.inpp-socials{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px;}
.inpp-social-link{font-family:var(--fm);font-size:9px;letter-spacing:.2em;text-transform:uppercase;padding:6px 13px;border-radius:100px;border:1px solid var(--border);color:var(--muted);text-decoration:none;transition:all .2s;}
.inpp-social-link:hover{border-color:var(--neon);color:var(--neon);}

/* BOOKING */
.inpp-booking-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,56px);}
.inpp-booking-info h3{font-family:var(--fh);font-size:26px;letter-spacing:.08em;color:var(--white);margin-bottom:12px;}
.inpp-booking-info p{font-size:15px;color:var(--muted);line-height:1.75;margin-bottom:22px;}
.inpp-details{display:flex;flex-direction:column;}
.inpp-detail-row{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--border);}
.inpp-detail-label{font-family:var(--fm);font-size:9px;letter-spacing:.28em;color:var(--muted);text-transform:uppercase;}
.inpp-detail-value{font-family:var(--fm);font-size:11px;color:var(--white);}
.inpp-form-wrap{background:var(--panel);border-radius:20px;border:1px solid var(--border);padding:32px;display:flex;flex-direction:column;gap:14px;}
.inpp-form-title{font-family:var(--fh);font-size:22px;letter-spacing:.1em;color:var(--white);margin-bottom:4px;}
.inpp-bfield{display:flex;flex-direction:column;gap:6px;}
.inpp-bfield label{font-family:var(--fm);font-size:9px;letter-spacing:.28em;text-transform:uppercase;color:var(--muted);}
.inpp-bfield input,.inpp-bfield select,.inpp-bfield textarea{background:var(--surface);border:1px solid var(--border);border-radius:8px;color:var(--white);padding:11px 15px;font-family:var(--fb);font-size:14px;width:100%;transition:border-color .2s;-webkit-appearance:none;}
.inpp-bfield input:focus,.inpp-bfield select:focus,.inpp-bfield textarea:focus{outline:none;border-color:var(--neon);box-shadow:0 0 0 3px rgba(232,255,0,.08);}
.inpp-bfield input::placeholder,.inpp-bfield textarea::placeholder{color:var(--muted);}
.inpp-bfield select{color:var(--white);cursor:pointer;}
.inpp-bfield select option{background:var(--surface);}
.inpp-bfield textarea{resize:vertical;min-height:100px;}
.inpp-bform-msg{padding:12px 16px;border-radius:8px;font-family:var(--fm);font-size:11px;display:none;}
.inpp-bform-msg.success{background:rgba(232,255,0,.08);border:1px solid rgba(232,255,0,.3);color:var(--neon);display:block;}
.inpp-bform-msg.error{background:rgba(255,45,107,.08);border:1px solid rgba(255,45,107,.3);color:#ff8fab;display:block;}
.inpp-bform-submit{width:100%;padding:15px;font-family:var(--fh);font-size:20px;letter-spacing:.12em;color:var(--void);background:var(--neon);border:none;border-radius:10px;cursor:pointer;transition:all .2s;margin-top:4px;}
.inpp-bform-submit:hover{background:#f5ff33;transform:translateY(-2px);box-shadow:0 0 24px rgba(232,255,0,.3);}

/* CTA */
.inpp-cta{background:var(--neon);padding:clamp(56px,7vw,96px) clamp(24px,6vw,80px);text-align:center;}
.inpp-cta-title{font-family:var(--fd);font-size:clamp(32px,7vw,80px);color:var(--void);line-height:.92;margin-bottom:18px;}
.inpp-cta-sub{font-size:16px;color:rgba(8,8,16,.6);margin-bottom:28px;max-width:460px;margin-inline:auto;line-height:1.7;}
.inpp-cta-btn{display:inline-flex;align-items:center;font-family:var(--fh);font-size:20px;letter-spacing:.12em;padding:15px 40px;border-radius:10px;border:none;background:var(--void);color:var(--neon);text-decoration:none;cursor:pointer;transition:all .2s;}
.inpp-cta-btn:hover{transform:translateY(-2px);box-shadow:0 8px 28px rgba(0,0,0,.4);}

/* EDIT BAR */
.inpp-edit-bar{background:rgba(232,255,0,.08);border-bottom:1px solid rgba(232,255,0,.2);padding:12px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;}
.inpp-edit-bar p{font-family:var(--fm);font-size:11px;letter-spacing:.1em;color:var(--neon);}
.inpp-edit-bar a{font-family:var(--fh);font-size:16px;letter-spacing:.1em;padding:8px 20px;background:var(--neon);color:var(--void);border-radius:8px;text-decoration:none;}

/* BADGE */
.inpp-badge{text-align:center;padding:24px;background:var(--deep);}
.inpp-badge a{font-family:var(--fd);font-size:18px;color:var(--white);text-decoration:none;}
.inpp-badge a span{color:var(--neon);}
.inpp-badge p{font-family:var(--fm);font-size:9px;letter-spacing:.28em;color:var(--muted);margin-top:5px;text-transform:uppercase;}

/* RESPONSIVE */
@media(max-width:900px){
	.inpp-hero-photo{display:none;}
	.inpp-stats{grid-template-columns:repeat(2,1fr);}
	.inpp-mixes-grid{grid-template-columns:1fr;}
	.inpp-about-grid{grid-template-columns:1fr;}
	.inpp-booking-grid{grid-template-columns:1fr;}
}
@media(max-width:560px){
	.inpp-stats{grid-template-columns:1fr 1fr;}
	.inpp-stat{padding:20px 12px;}
	.inpp-stat-num{font-size:28px;}
}
