/*
Theme Name: Naomi Black
Theme URI: https://naomiblack.site
Author: duka515
Description: Creator landing theme for Naomi Black.
Version: 1.5.2
Text Domain: naomiblack
*/

:root{--bg:#08060f;--pink:#ff2ea8;--text:#f5f2fa;--muted:#c9c4d4;--line:rgba(255,46,168,.18);--green:#22c55e}
*{box-sizing:border-box;margin:0;padding:0}
html{width:100%;max-width:100%;overflow-x:hidden;-webkit-text-size-adjust:100%}
html,body{background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,sans-serif;min-height:100%;width:100%;max-width:100%}
img,svg,video{max-width:100%;height:auto;display:block}
.page{width:100%;max-width:1366px;margin:0 auto;padding:24px 16px 48px}
.hero,.profile,.ctas,.gallery-block,.gallery,.stats,.name-row{width:100%;min-width:0}
.hero{display:flex;flex-direction:column;gap:22px;align-items:center;text-align:center}
.profile{display:flex;flex-direction:column;align-items:center;gap:16px}
.avatar-wrap{position:relative;width:132px;height:132px;flex:0 0 132px}
.avatar{width:132px;height:132px;object-fit:cover;object-position:50% 12%;border-radius:50%;box-shadow:0 0 0 4px var(--pink),0 0 28px rgba(255,46,168,.55)}
.online{position:absolute;right:6px;bottom:8px;width:18px;height:18px;background:var(--green);border:3px solid var(--bg);border-radius:50%;animation:livePulse 1.4s ease-out infinite;z-index:2}
.online::after{content:"";position:absolute;inset:-4px;border-radius:50%;border:3px solid rgba(34,197,94,.55);animation:liveRing 1.4s ease-out infinite}
@keyframes livePulse{0%{box-shadow:0 0 0 0 rgba(34,197,94,.75)}70%{box-shadow:0 0 0 12px rgba(34,197,94,0)}100%{box-shadow:0 0 0 0 rgba(34,197,94,0)}}
@keyframes liveRing{0%{transform:scale(.7);opacity:.9}100%{transform:scale(1.7);opacity:0}}
.identity{width:100%}
.name-row{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap}
h1{font-family:"Bebas Neue",sans-serif;font-size:42px;letter-spacing:1px;line-height:.9}
.badges{display:flex;align-items:center;gap:8px}
.flag{font-size:24px}
.verified{width:28px;height:28px;border-radius:50%;background:#2f6bff;display:grid;place-items:center}
.verified svg{width:16px;height:16px;fill:#fff}
.tagline{margin-top:8px;color:var(--muted);font-weight:300;line-height:1.45}
.stats{display:flex;justify-content:center;gap:28px;margin-top:16px}
.stat strong{display:block;font-size:20px}
.stat span{color:var(--muted);font-size:11px;letter-spacing:1px}
.ctas{display:flex;flex-direction:column;gap:12px}
.cta{display:flex;align-items:center;gap:12px;padding:16px 18px;min-height:54px;text-decoration:none;color:inherit;width:100%}
.cta-copy{flex:1;text-align:left}
.cta-copy strong,.cta-copy small{display:block}
.arrow{width:32px;height:32px;border:1px solid #fff;border-radius:50%;display:grid;place-items:center;font-size:24px;flex:0 0 32px}
.gallery-block{margin-top:32px}
.gallery-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;gap:8px;flex-wrap:wrap}
.gallery-head .left{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.updated{color:#ff7cc8;font-size:10px;letter-spacing:.16em;text-transform:lowercase}
.view-all{color:var(--pink);text-decoration:none;font-size:13px}
.gallery{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.shot{position:relative;border-radius:14px;overflow:hidden;background:#1a1024}
.shot img{width:100%;height:100%;min-height:180px;object-fit:cover;object-position:50% 16%}
.shot.locked img{filter:blur(14px) brightness(.45);transform:scale(1.08)}
.shot.locked .lock-overlay{position:absolute;inset:0;display:grid;place-items:center;color:#fff;pointer-events:none}
.shot.locked .lock-overlay svg{width:44px;height:44px;stroke:#fff;fill:none;stroke-width:2}
footer{width:100%;max-width:1366px;margin:0 auto;padding:18px 16px 28px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;color:#8d8798;font-size:13px}
footer a{color:#8d8798;text-decoration:none}
html.funnel-open,body.funnel-open{overflow:hidden}
body.funnel-open .page,body.funnel-open footer{filter:blur(14px);pointer-events:none}
.funnel-overlay[hidden]{display:none!important}
.funnel-card{position:relative;width:min(400px,calc(100vw - 24px));max-height:90vh;overflow:auto;background:#1c1a22;border-radius:18px;padding:26px 16px 16px;text-align:center}
.funnel-x{position:absolute;top:6px;right:6px;width:44px;height:44px;border:0;border-radius:50%;background:#2a2830;color:#fff;font-size:24px}
.funnel-card h2{font-family:Georgia,serif;color:var(--pink);font-size:24px;margin:8px 36px 10px}
#popupHeadline{font-weight:700;font-size:14px;margin-bottom:10px}
.funnel-steps{color:#cfc9d6;font-size:13px;line-height:1.65;margin-bottom:12px}
.funnel-banner{width:100%;max-height:160px;object-fit:cover;object-position:50% 25%;border-radius:8px;margin:0 auto 14px}

@media (min-width:700px){
  .page{padding:36px 28px 64px}
  .avatar-wrap,.avatar{width:160px;height:160px}
  h1{font-size:64px}
  .shot{min-height:230px}
  .gallery{gap:14px}
}

@media (min-width:981px){
  .page{padding:56px 48px 80px}
  .hero{display:grid;grid-template-columns:1.4fr .8fr;gap:40px;align-items:center;text-align:left}
  .profile{display:grid;grid-template-columns:220px 1fr;gap:28px;justify-items:stretch;align-items:center}
  .avatar-wrap,.avatar{width:210px;height:210px;margin:0}
  .identity{text-align:left}
  .name-row{justify-content:flex-start}
  .stats{justify-content:flex-start;gap:36px}
  .gallery{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
  .shot{min-height:280px}
  footer{padding:22px 48px 40px}
  .funnel-banner{max-height:220px}
}

.avatar{object-fit:cover!important;object-position:50% 12%!important}
.shot{aspect-ratio:3/4}
.shot img{width:100%!important;height:100%!important;object-fit:cover!important}
.shot-1 img{object-position:50% 18%!important}
.shot-2 img{object-position:50% 10%!important}
.shot-3 img{object-position:50% 16%!important}
.shot-4 img{object-position:50% 14%!important}
