/*
Theme Name: 007aj Creator Membership
Theme URI: https://007aj.com/
Author: 007aj.com
Author URI: https://007aj.com/
Description: A creator membership platform theme. Fans join monthly or yearly tiers, unlock exclusive posts, video, audio and downloads, tip, buy pay-per-view posts and digital products, vote in polls and message creators. Multi-creator or single-creator mode, Stripe and PayPal payments, commission and payout ledger, moderation queue, GDPR tools, one-click setup and sample content import.
Version: 1.0.0
Requires at least: 6.2
Tested up to: 6.8
Requires PHP: 7.4
Text Domain: 007aj-creator-membership
Tags: blog, e-commerce, entertainment, grid-layout, custom-colors, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready
*/
:root{--p:#6d28d9;--a:#f43f5e;--ink:#1b1530;--mut:#6b6880;--bg:#f7f6fb;--card:#fff;--line:#e7e4f0;--r:14px;--sh:0 6px 24px rgba(27,21,48,.08)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font:16px/1.6 system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:var(--ink);background:var(--bg)}
img,video{max-width:100%;height:auto}
a{color:var(--p)}
a:hover{color:var(--a)}
h1,h2,h3{line-height:1.2;margin:.2em 0 .5em}
h1{font-size:clamp(1.8rem,4vw,2.6rem)}
input,select,textarea{font:inherit;padding:.6em .8em;border:1px solid var(--line);border-radius:10px;background:#fff;width:100%;max-width:100%;color:var(--ink)}
input[type=radio],input[type=checkbox]{width:auto}
input:focus,select:focus,textarea:focus,a:focus-visible,button:focus-visible{outline:3px solid color-mix(in srgb,var(--p) 40%,transparent);outline-offset:2px}
label{display:block;font-weight:600;margin:.6em 0 .2em}
.seg label,.check{font-weight:400}
.wrap{max-width:1200px;margin:0 auto;padding:0 20px}
.narrow-wrap,.narrow{max-width:760px;margin-left:auto;margin-right:auto}
.skip{position:absolute;left:-9999px}.skip:focus{left:10px;top:10px;z-index:99;background:#fff;padding:8px}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.muted{color:var(--mut)}.small{font-size:.88rem}.center{text-align:center}.lead{font-size:1.15rem}
.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.row.center{justify-content:center}
.row input{flex:1;min-width:140px}
.inline{display:inline}
.btn,.button-like{display:inline-flex;align-items:center;gap:6px;justify-content:center;background:var(--p);color:#fff;border:2px solid var(--p);padding:.6em 1.15em;border-radius:999px;font-weight:700;text-decoration:none;cursor:pointer;font-size:.95rem;line-height:1.2;transition:transform .1s,background .2s}
.btn:hover{color:#fff;background:color-mix(in srgb,var(--p) 85%,#000);transform:translateY(-1px)}
.btn.ghost{background:transparent;color:var(--p)}.btn.ghost:hover{background:color-mix(in srgb,var(--p) 10%,#fff);color:var(--p)}
.btn.accent{background:var(--a);border-color:var(--a)}
.btn.light{background:#fff;color:var(--p);border-color:#fff}.btn.ghost.light{background:transparent;color:#fff}
.btn.danger{background:#b91c1c;border-color:#b91c1c}
.btn.small{padding:.4em .8em;font-size:.85rem}.btn.big{padding:.85em 1.6em;font-size:1.05rem}.btn.block{display:flex;width:100%}
.box{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:20px;margin:0 0 18px;box-shadow:var(--sh)}
.pad{padding:20px}
.chip{display:inline-block;background:#efeaff;color:var(--p);border-radius:999px;padding:.15em .7em;font-size:.8rem;font-weight:700;text-decoration:none;margin:2px}
.chip.big{font-size:1rem;padding:.5em 1.1em;background:#fff;border:1px solid var(--line)}
.chip.free{background:#dcfce7;color:#166534}.chip.lock{background:#fde7ec;color:#9f1239}.chip.ppv{background:#fff4d6;color:#8a5a00}.chip.ok{background:#dcfce7;color:#166534}
.badge{font-size:.75rem;vertical-align:middle;border-radius:999px;padding:.2em .6em;margin-left:6px}
.badge.plus{background:linear-gradient(90deg,var(--p),var(--a));color:#fff}.badge.feat{background:#fff4d6;color:#8a5a00}
.ajcm-flash{max-width:1160px;margin:14px auto;padding:12px 16px;border-radius:10px;background:#dcfce7;color:#14532d;font-weight:600}
.ajcm-flash.err{background:#fee2e2;color:#7f1d1d}
/* header */
.site-head{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}
.admin-bar .site-head{top:32px}
.head-in{display:flex;align-items:center;gap:20px;min-height:66px}
.brand{display:flex;align-items:center;gap:8px;font-weight:800;font-size:1.25rem;color:var(--ink);text-decoration:none}
.brand img{max-height:42px;width:auto}
.logo-mark{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,var(--p),var(--a));color:#fff}
.site-nav{display:flex;align-items:center;gap:20px;flex:1}
.site-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:18px}
.site-nav ul a{color:var(--ink);text-decoration:none;font-weight:600}
.site-nav ul a:hover{color:var(--p)}
.site-nav .sub-menu{display:none}
.head-acts{margin-left:auto;display:flex;gap:12px;align-items:center}
.head-acts a:not(.btn){text-decoration:none;color:var(--ink)}
.icon-link{font-size:1.2rem}
.nav-toggle{display:none;margin-left:auto;background:none;border:1px solid var(--line);border-radius:8px;font-size:1.3rem;padding:4px 10px;cursor:pointer}
@media(max-width:860px){.nav-toggle{display:block}.site-nav{display:none;position:absolute;left:0;right:0;top:66px;background:#fff;flex-direction:column;align-items:flex-start;padding:16px 20px;border-bottom:1px solid var(--line)}.site-nav.open{display:flex}.site-nav ul{flex-direction:column}.head-acts{margin-left:0}}
/* hero */
.hero{background-size:cover;background-position:center;color:#fff;padding:90px 0 80px}
.hero h1{font-size:clamp(2.1rem,5vw,3.6rem);max-width:760px}
.hero .lead{max-width:640px;opacity:.95}
.hero-search{display:flex;gap:8px;max-width:520px;margin-top:22px}
.hero-search input{border:0}
.sec{margin:46px 0}
.sec-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.cats{display:flex;flex-wrap:wrap;gap:8px}
.grid{display:grid;gap:20px}
.grid.creators{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}
.grid.posts{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
.grid.three,.cols3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.cols2{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.grid.prods{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}.grid.prods.one{grid-template-columns:1fr}
@media(max-width:760px){.grid.three,.cols3,.cols2{grid-template-columns:1fr}}
.cta-band{background:linear-gradient(120deg,var(--p),var(--a));color:#fff;border-radius:20px;padding:36px;display:flex;gap:20px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.cta-band p{max-width:620px}
.mini-post{display:flex;flex-direction:column;gap:4px;background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;text-decoration:none;color:var(--ink);padding-bottom:12px}
.mini-post img{aspect-ratio:16/10;object-fit:cover;width:100%}
.mini-post span,.mini-post strong{padding:0 12px}
/* creator card */
.cc-card{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;box-shadow:var(--sh);transition:transform .15s}
.cc-card:hover{transform:translateY(-3px)}
.cc-cover{display:block;height:120px;background-size:cover;background-position:center}
.cc-body{padding:0 16px 16px}
.cc-avatar{width:64px;height:64px;border-radius:50%;border:4px solid #fff;margin-top:-32px;object-fit:cover;background:#fff}
.cc-body h3{margin:.3em 0 .1em;font-size:1.1rem}.cc-body h3 a{color:var(--ink);text-decoration:none}
.cc-body p{margin:.2em 0}
.cc-meta{display:flex;justify-content:space-between;align-items:center;font-size:.85rem;color:var(--mut)}
.filters{margin:0 0 24px}.filters input{flex:2}.filters select{flex:1;width:auto}
.page-head{padding:30px 0 10px}
/* creator page */
.creator-banner{height:clamp(180px,26vw,340px);background-size:cover;background-position:center}
.creator-head{display:flex;gap:22px;align-items:flex-end;margin-top:-66px;flex-wrap:wrap}
.creator-av{width:132px;height:132px;border-radius:50%;border:6px solid #fff;object-fit:cover;background:#fff;box-shadow:var(--sh)}
.creator-id{flex:1;min-width:260px}
.creator-id h1{margin-top:70px;display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.creator-acts{display:flex;gap:8px;flex-wrap:wrap;align-items:flex-start}
.creator-acts details{position:relative}
.creator-acts details form{position:absolute;right:0;top:110%;width:300px;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:14px;box-shadow:var(--sh);z-index:5;display:flex;flex-direction:column;gap:8px}
details>summary{list-style:none;cursor:pointer}details>summary::-webkit-details-marker{display:none}
.socials{display:flex;gap:8px;flex-wrap:wrap;list-style:none;padding:0;margin:6px 0}
.socials a{display:inline-block;background:#fff;border:1px solid var(--line);border-radius:999px;padding:.2em .8em;font-size:.85rem;text-decoration:none}
.creator-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:28px;margin-top:24px}
@media(max-width:960px){.creator-grid{grid-template-columns:1fr}.creator-side{order:-1}}
.tabs{display:flex;gap:6px;border-bottom:1px solid var(--line);margin-bottom:18px}
.tabs a{padding:10px 16px;text-decoration:none;color:var(--mut);font-weight:700;border-bottom:3px solid transparent}
.tabs a.on{color:var(--p);border-color:var(--p)}
.tiers{display:flex;flex-direction:column;gap:14px}
.tier{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:18px;box-shadow:var(--sh)}
.tier.current{border:2px solid var(--p)}
.tier h3{margin:0}.price{font-size:1.7rem;font-weight:800;margin:.1em 0}.price small{font-size:.9rem;color:var(--mut);font-weight:500}
.perks{padding-left:1.1em;margin:.6em 0}.perks li{margin:.2em 0}
.sub-form{display:flex;flex-direction:column;gap:8px}
.seg{display:flex;gap:6px;flex-wrap:wrap}
.seg label{margin:0;border:1px solid var(--line);border-radius:999px;padding:.3em .8em;cursor:pointer;background:#fff}
.seg label:has(input:checked){border-color:var(--p);background:#efeaff}
.goal{padding:16px}.goal-t{font-weight:700;margin:0 0 8px}
.bar{height:10px;border-radius:99px;background:#ece9f6;overflow:hidden}.bar.big{height:14px}
.bar i{display:block;height:100%;background:linear-gradient(90deg,var(--p),var(--a));border-radius:99px}
.merch{padding-left:1.1em}
/* post card */
.post-card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:20px;margin:0 0 20px;box-shadow:var(--sh)}
.pc-head{display:flex;gap:10px;align-items:center}
.pc-head .av{border-radius:50%;width:40px;height:40px;object-fit:cover}
.pc-head>div{display:flex;flex-direction:column;line-height:1.3}
.pc-creator{font-weight:700;color:var(--ink);text-decoration:none}
.pc-chips{margin-left:auto;text-align:right}
.pc-title{font-size:1.3rem;margin:14px 0 6px}.pc-title a{color:var(--ink);text-decoration:none}
h1.pc-title{font-size:1.9rem}
.teaser{color:var(--mut);margin:0 0 10px}
.media-grid{display:grid;gap:8px;margin:12px 0;grid-template-columns:1fr}.media-grid.n2,.media-grid.n3,.media-grid.n4{grid-template-columns:1fr 1fr}
.m-item{position:relative;border-radius:12px;overflow:hidden;display:block}.m-item.wide{grid-column:1/-1}
.m-item img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block;border-radius:12px}
.m-item.locked{background:linear-gradient(135deg,#2a1f4d,#4c1d95);min-height:150px}
.m-item img.blur{filter:blur(14px);transform:scale(1.2);opacity:.9}
.m-item.ph{display:grid;place-items:center;aspect-ratio:16/6}
.m-item.file{border:1px dashed var(--line);padding:10px}
.lock-ico{position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-size:2.2rem;text-shadow:0 2px 12px rgba(0,0,0,.5)}
.post-card img{border-radius:12px}
.post-card video,.post-card audio{width:100%;border-radius:12px;margin:10px 0}
.file{display:flex;gap:10px;align-items:center;border:1px dashed var(--line);border-radius:10px;padding:10px 14px;margin:8px 0;text-decoration:none}
.unlock-box{background:linear-gradient(135deg,#f4f0ff,#fff1f4);border-radius:12px;padding:18px;text-align:center;margin:12px 0}
.unlock-box .row{justify-content:center}
.pc-foot{display:flex;gap:14px;align-items:center;border-top:1px solid var(--line);margin-top:14px;padding-top:10px;flex-wrap:wrap}
.act{background:none;border:0;color:var(--mut);font:inherit;cursor:pointer;text-decoration:none;padding:4px 6px;border-radius:8px}
.act:hover{background:#f3f0fa}.act.on{color:var(--a)}
.report{margin-left:auto;font-size:.85rem;color:var(--mut)}
.report summary{color:var(--mut)}
.report form{display:flex;flex-direction:column;gap:6px;min-width:240px;margin-top:6px}
.poll{border:1px solid var(--line);border-radius:12px;padding:14px;margin:12px 0}
.poll-q{font-weight:700;margin:0 0 8px}
.poll-row{margin:8px 0;display:grid;grid-template-columns:minmax(0,1fr) 48px;gap:4px 10px;align-items:center}.poll-row form,.poll-row>.poll-opt{grid-column:1/-1}.poll-row .bar{grid-column:1}.pct{grid-column:2;text-align:right;font-weight:700}
.poll-opt{display:block;width:100%;text-align:left;background:#f6f4fc;border:1px solid var(--line);border-radius:10px;padding:8px 12px;cursor:pointer;font:inherit;color:var(--ink)}.poll-opt.voted{border-color:var(--p);background:#efeaff;font-weight:700}
.poll-opt:hover{border-color:var(--p)}

.pager{display:flex;justify-content:space-between;margin:20px 0}
/* dashboard */
.dash{display:grid;grid-template-columns:230px minmax(0,1fr);gap:26px;margin:26px auto}
.dash-nav{display:flex;flex-direction:column;gap:4px;position:sticky;top:90px;align-self:start}
.dash-nav a{padding:9px 14px;border-radius:10px;text-decoration:none;color:var(--ink);font-weight:600}
.dash-nav a.on{background:var(--p);color:#fff}.dash-nav a:hover:not(.on){background:#efeaff}
.dash-body{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:24px;box-shadow:var(--sh);min-width:0}
@media(max-width:860px){.dash{grid-template-columns:1fr}.dash-nav{position:static;flex-direction:row;flex-wrap:wrap}}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;margin:14px 0}
.stat{background:var(--bg);border-radius:12px;padding:14px}.stat strong{display:block;font-size:1.5rem}
.tbl-wrap{overflow-x:auto}
.tbl{width:100%;border-collapse:collapse;font-size:.92rem}
.tbl th,.tbl td{text-align:left;padding:9px 8px;border-bottom:1px solid var(--line);vertical-align:top}
.tbl th{color:var(--mut);font-weight:700}
.form label+input,.form label+textarea,.form label+select{margin-bottom:4px}
.form .btn{margin-top:12px}
.composer,.tier-edit{border:1px solid var(--line);border-radius:12px;padding:16px;margin:12px 0;background:#fcfbff}
.copy{display:flex;gap:8px}
.steps{counter-reset:s;padding-left:0;list-style:none}.steps li{counter-increment:s;margin:8px 0}.steps li:before{content:counter(s);display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--p);color:#fff;margin-right:8px;font-weight:700}
.plans .tier{text-align:center}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:18px}
/* shop */
.prod{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;box-shadow:var(--sh);display:flex;flex-direction:column}
.prod img{aspect-ratio:4/3;object-fit:cover;width:100%;border-radius:0}
.prod>div{padding:14px;display:flex;flex-direction:column;gap:6px;flex:1}
/* messages */
.msgs{display:grid;grid-template-columns:260px minmax(0,1fr);gap:18px;margin:26px auto}
@media(max-width:760px){.msgs{grid-template-columns:1fr}}
.threads{display:flex;flex-direction:column;gap:4px}
.threads a{display:flex;gap:10px;align-items:center;padding:10px;border-radius:10px;text-decoration:none;color:var(--ink)}
.threads a.on,.threads a:hover{background:#efeaff}.threads img{width:36px;height:36px;border-radius:50%;object-fit:cover}
.thread-view{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:18px;min-width:0}
.bubbles{display:flex;flex-direction:column;gap:10px;max-height:60vh;overflow:auto;padding:6px}
.bubble{max-width:78%;background:#f1eefa;border-radius:14px 14px 14px 4px;padding:10px 14px;align-self:flex-start}
.bubble.me{align-self:flex-end;background:var(--p);color:#fff;border-radius:14px 14px 4px 14px}
.bubble.me a,.bubble.me .muted{color:#fff}
.threads .thread{display:flex;gap:10px;align-items:center;padding:10px;border-radius:10px;text-decoration:none;color:var(--ink)}.threads .thread.on,.threads .thread:hover{background:#efeaff}
.composer-big textarea{min-height:80px}
/* ads */
.ads{margin:30px 0}
.ad{display:block;background:#fff;border:1px dashed #cfc7e6;border-radius:var(--r);padding:14px 18px;text-decoration:none;color:var(--ink);margin:0 0 10px}
.ad-lbl{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--mut)}
/* comments, entries */
.entry{margin-bottom:24px}.entry img{border-radius:12px}
.comment-list{list-style:none;padding:0}.comment-list .comment-body{border-bottom:1px solid var(--line);padding:12px 0}
.comment-list .avatar{border-radius:50%;float:left;margin-right:10px}
.comment-form .btn,.comment-form input[type=submit]{width:auto}
.hp{position:absolute;left:-9999px}
/* footer */
.site-foot{background:#151027;color:#cfc9e6;margin-top:60px;padding:40px 0}
.site-foot a{color:#fff}
.foot-in{display:flex;gap:30px;justify-content:space-between;flex-wrap:wrap;align-items:flex-start}
.site-foot ul{list-style:none;padding:0;margin:0;display:flex;gap:16px;flex-wrap:wrap}
.credit{width:100%;border-top:1px solid #2c2448;padding-top:14px}
.age-gate{position:fixed;inset:0;background:rgba(15,10,30,.92);z-index:999;display:grid;place-items:center;padding:20px}
.age-gate[hidden]{display:none}.age-gate .box{max-width:440px}
.wp-block-image,.alignwide{margin:1em 0}.alignleft{float:left;margin:0 1em 1em 0}.alignright{float:right;margin:0 0 1em 1em}.aligncenter{margin:0 auto;display:block}
.wp-caption-text,.gallery-caption{font-size:.85rem;color:var(--mut)}.sticky,.bypostauthor{}
