/* AstraFrame Downloads - synthwave front-end styles. Everything is scoped under .afd-wrap / .afd- so it won't touch your theme. */
.afd-wrap{
  --afd-bg:#0b0618;--afd-card:#140b2b;--afd-card2:#1c0f3d;--afd-line:rgba(255,255,255,.08);
  --afd-text:#ece6ff;--afd-dim:#a99fc9;--afd-pink:#ff2bd6;--afd-purple:#8a2bff;--afd-cyan:#21e6ff;
  --afd-ok:#3dffb0;--afd-bad:#ff4d6d;
  color:var(--afd-text);font-family:inherit;line-height:1.5;margin:24px 0;box-sizing:border-box
}
.afd-wrap *,.afd-wrap *:before,.afd-wrap *:after{box-sizing:border-box}
.afd-grid{display:grid;gap:22px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.afd-card{position:relative;background:linear-gradient(160deg,var(--afd-card2),var(--afd-card) 60%);border:1px solid var(--afd-line);border-radius:18px;padding:26px 22px;box-shadow:0 0 0 1px rgba(138,43,255,.15),0 20px 50px rgba(0,0,0,.45);overflow:hidden}
.afd-card:before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:linear-gradient(90deg,var(--afd-cyan),var(--afd-purple),var(--afd-pink))}
.afd-card--nsfw:before,.afd-card--both:before{background:linear-gradient(90deg,var(--afd-pink),#ff7a2b)}
.afd-card--msg{text-align:center}
.afd-title{margin:6px 0 10px;font-size:1.45em;letter-spacing:.02em;color:#fff;text-shadow:0 0 18px rgba(33,230,255,.35)}
.afd-card--nsfw .afd-title,.afd-card--both .afd-title{text-shadow:0 0 18px rgba(255,43,214,.45)}
.afd-badge{display:inline-block;font-size:.72em;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:4px 10px;border-radius:999px;border:1px solid var(--afd-cyan);color:var(--afd-cyan)}
.afd-badge--hot{border-color:var(--afd-pink);color:var(--afd-pink)}
.afd-desc{color:var(--afd-dim);font-size:.96em}
.afd-desc p{margin:0 0 .7em}
.afd-shots{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0}
.afd-shots img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:8px;border:1px solid var(--afd-line);display:block}
.afd-plans{display:grid;gap:12px;margin-top:16px}
.afd-plan{position:relative;display:grid;grid-template-columns:1fr auto;grid-template-areas:"name price" "per btn";align-items:center;gap:4px 12px;background:rgba(255,255,255,.03);border:1px solid var(--afd-line);border-radius:12px;padding:14px}
.afd-plan--best{border-color:rgba(255,43,214,.55);box-shadow:0 0 22px rgba(255,43,214,.18) inset}
.afd-plan-name{grid-area:name;font-weight:700;font-size:1.05em}
.afd-price{grid-area:price;font-size:1.35em;font-weight:800;color:#fff;text-align:right}
.afd-price .woocommerce-Price-amount{color:inherit}
.afd-per{grid-area:per;color:var(--afd-dim);font-size:.85em}
.afd-plan .afd-btn{grid-area:btn}
.afd-ribbon{position:absolute;top:-10px;right:12px;background:linear-gradient(90deg,var(--afd-pink),var(--afd-purple));color:#fff;font-size:.68em;font-weight:800;letter-spacing:.1em;text-transform:uppercase;padding:3px 9px;border-radius:999px}
.afd-wrap .afd-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 18px;border-radius:10px;border:1px solid var(--afd-cyan);background:transparent;color:var(--afd-cyan)!important;text-decoration:none!important;font-weight:700;font-size:.95em;cursor:pointer;transition:all .15s ease;line-height:1.2;font-family:inherit;white-space:nowrap}
.afd-wrap .afd-btn:hover{background:var(--afd-cyan);color:#0b0618!important;box-shadow:0 0 18px rgba(33,230,255,.5)}
.afd-wrap .afd-btn--hot{border-color:transparent;background:linear-gradient(90deg,var(--afd-pink),var(--afd-purple));color:#fff!important}
.afd-wrap .afd-btn--hot:hover{color:#fff!important;box-shadow:0 0 22px rgba(255,43,214,.6);filter:brightness(1.1)}
.afd-wrap .afd-btn--ghost{border-color:var(--afd-line);color:var(--afd-dim)!important}
.afd-wrap .afd-btn--ghost:hover{background:var(--afd-bad);border-color:var(--afd-bad);color:#fff!important;box-shadow:none}
.afd-wrap .afd-btn--small{padding:6px 12px;font-size:.82em}
.afd-wrap .afd-btn--big{padding:14px 26px;font-size:1.05em;width:100%}
.afd-wrap .afd-btn--off{opacity:.45;cursor:default;pointer-events:none}
.afd-fine{color:var(--afd-dim);font-size:.8em;margin:14px 0 0}
.afd-owned{background:rgba(61,255,176,.08);border:1px solid rgba(61,255,176,.35);border-radius:10px;padding:10px 12px;font-size:.92em}
.afd-owned a,.afd-meta a{color:var(--afd-cyan)}
.afd-gate{text-align:center;padding:18px 6px}
.afd-gate-badge{width:64px;height:64px;margin:0 auto 10px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:1.3em;color:#fff;background:radial-gradient(circle,var(--afd-pink),var(--afd-purple));box-shadow:0 0 30px rgba(255,43,214,.55)}
.afd-gate h3{margin:4px 0;color:#fff}
.afd-gate p{color:var(--afd-dim)}
.afd-gate-actions{margin-top:12px}
/* Customer area */
.afd-account .afd-card{margin-bottom:22px}
.afd-lic-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.afd-pill{font-size:.75em;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:4px 10px;border-radius:999px}
.afd-pill--active{background:rgba(61,255,176,.12);color:var(--afd-ok);border:1px solid rgba(61,255,176,.4)}
.afd-pill--expired,.afd-pill--revoked{background:rgba(255,77,109,.12);color:var(--afd-bad);border:1px solid rgba(255,77,109,.4)}
.afd-meta{color:var(--afd-dim);font-size:.92em;margin:6px 0}
.afd-warn{color:#ffb4c2}
.afd-key{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:#07040f;border:1px dashed rgba(33,230,255,.45);border-radius:12px;padding:12px 14px;margin:14px 0}
.afd-key-label{font-size:.75em;text-transform:uppercase;letter-spacing:.12em;color:var(--afd-dim);width:100%}
.afd-key code{flex:1;min-width:0;font-size:1.1em;color:var(--afd-cyan);background:none;padding:0;letter-spacing:.06em;word-break:break-all}
.afd-dl{margin:16px 0}
.afd-sum{font-size:.78em;color:var(--afd-dim);word-break:break-all}
.afd-sum code{background:none;color:var(--afd-text);padding:0}
.afd-changelog{margin-top:10px;background:rgba(255,255,255,.03);border-radius:10px;padding:8px 12px}
.afd-changelog summary{cursor:pointer;font-weight:700}
.afd-devices{border-top:1px solid var(--afd-line);margin-top:16px;padding-top:12px}
.afd-devices h4{margin:0 0 8px;font-size:.95em;color:#fff}
.afd-devices ul{list-style:none;margin:0;padding:0}
.afd-devices li{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--afd-line)}
.afd-devices li small{color:var(--afd-dim);margin-left:6px}
.afd-devices form{margin:0}
.afd-renew{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:16px}
.afd-renew span{color:var(--afd-dim);font-size:.9em;margin-right:4px}
.afd-notice{background:rgba(33,230,255,.08);border:1px solid rgba(33,230,255,.4);border-radius:10px;padding:10px 14px;margin-bottom:16px}
.afd-req{background:var(--afd-card);border:1px solid var(--afd-line);border-radius:14px;padding:18px 22px}
.afd-req h3{margin:0 0 8px;color:#fff}
.afd-req ul{margin:0;padding-left:18px;color:var(--afd-dim)}
.afd-copied{background:var(--afd-ok)!important;border-color:var(--afd-ok)!important;color:#0b0618!important}
@media (max-width:600px){
  .afd-card{padding:20px 16px}
  .afd-shots{grid-template-columns:repeat(2,1fr)}
  .afd-plan{grid-template-columns:1fr;grid-template-areas:"name" "price" "per" "btn"}
  .afd-price{text-align:left}
  .afd-plan .afd-btn{width:100%}
}
