/* ================= Store / Blog / Account ================= */
.nav-right{display:flex;align-items:center;gap:12px}
.nav-right .btn{padding:11px 20px;font-size:14px}
.user-chip{display:inline-flex;align-items:center;gap:8px;padding:6px 14px 6px 6px;border-radius:999px;border:1px solid var(--card-border);background:var(--card);font-weight:600;font-size:14px}
.user-chip .avatar{width:30px;height:30px;font-size:12px}
.nav-links a.active{color:var(--text)}
.mobile-only{display:none}
.services-grid .card.in:hover,.process .card.in:hover,.testi .card.in:hover{transform:translateY(-8px)}
.prose iframe{width:100%;aspect-ratio:16/9;height:auto;border:0;border-radius:16px;margin:1.2em 0}
@media (max-width:760px){.mobile-only{display:block}}

.page-hero{padding:150px 0 50px;text-align:center}
.page-hero h1{font-size:clamp(34px,5vw,58px);font-weight:800;letter-spacing:-1.5px;line-height:1.1;margin-bottom:14px}
.page-hero p{color:var(--muted);max-width:620px;margin:0 auto;font-size:17px}
.page-section{padding:30px 0 100px}

.alert{padding:14px 18px;border-radius:14px;margin-bottom:20px;font-weight:500}
.alert-success{background:rgba(34,197,94,.12);border:1px solid rgba(34,197,94,.35);color:#86efac}
.alert-error{background:rgba(239,68,68,.12);border:1px solid rgba(239,68,68,.35);color:#fca5a5}
.alert-info{background:rgba(59,130,246,.12);border:1px solid rgba(59,130,246,.35);color:#93c5fd}
.flash-wrap{position:fixed;top:92px;left:50%;transform:translateX(-50%);z-index:120;width:min(560px,calc(100% - 32px));transition:opacity .5s}
.flash-wrap .alert{background-color:#101018;box-shadow:0 20px 40px rgba(0,0,0,.5)}

.toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:36px}
.toolbar .filters{margin:0}
.filters a{padding:10px 22px;border-radius:999px;border:1px solid var(--card-border);color:var(--muted);font-weight:600;transition:.25s}
.filters a.active,.filters a:hover{background:var(--grad);color:#fff;border-color:transparent}
.search{display:flex;gap:8px;flex:1;max-width:360px}
.search input{padding:12px 18px;border-radius:999px}

/* product cards */
.products{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.product{background:var(--card);border:1px solid var(--card-border);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;transition:.4s;position:relative}
.product:hover{transform:translateY(-8px);border-color:rgba(139,92,246,.5);box-shadow:0 30px 60px -30px rgba(139,92,246,.5)}
.product .thumb{aspect-ratio:16/10;position:relative;overflow:hidden;background:linear-gradient(135deg,#1e1b4b,#831843);display:block}
.product .thumb img{width:100%;height:100%;object-fit:cover;transition:.6s}
.product:hover .thumb img{transform:scale(1.07)}
.product .thumb .ph{position:absolute;inset:0;display:grid;place-items:center;font-size:54px}
.type-tag{position:absolute;top:14px;left:14px;padding:5px 12px;border-radius:999px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:1px;background:rgba(7,7,13,.75);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.15)}
.sale-tag{position:absolute;top:14px;right:14px;padding:5px 12px;border-radius:999px;font-size:12px;font-weight:800;background:var(--grad)}
.product .body{padding:22px;display:flex;flex-direction:column;flex:1}
.product h3{font-size:19px;margin-bottom:8px;line-height:1.3}
.product p{color:var(--muted);font-size:14.5px;flex:1}
.product .foot-row{display:flex;justify-content:space-between;align-items:center;margin-top:18px;gap:10px}
.prices{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.prices strong{font-size:24px;font-weight:800}
.prices del{color:var(--muted);font-size:15px}
.product .btn{padding:10px 18px;font-size:14px}
.empty{text-align:center;color:var(--muted);padding:60px 20px;border:1px dashed var(--card-border);border-radius:var(--radius)}

/* product detail */
.pd{display:grid;grid-template-columns:1.3fr 1fr;gap:40px;align-items:start}
.pd-media{border-radius:24px;overflow:hidden;border:1px solid var(--card-border);background:linear-gradient(135deg,#1e1b4b,#831843);aspect-ratio:16/10;display:grid;place-items:center;font-size:90px;margin-bottom:36px}
.pd-media img{width:100%;height:100%;object-fit:cover}
.buy-box{position:sticky;top:100px}
.buy-box:hover{transform:none}
.buy-box h1{font-size:28px;line-height:1.25;margin:10px 0}
.buy-box .prices strong{font-size:40px}
.meta-list{list-style:none;margin:22px 0;display:grid;gap:12px}
.meta-list li{display:flex;justify-content:space-between;color:var(--muted);font-size:15px;padding-bottom:12px;border-bottom:1px solid var(--card-border)}
.meta-list li b{color:var(--text)}
.buy-box .btn{width:100%;justify-content:center;margin-top:10px}
.prose{color:#d8d8e6;font-size:17px;line-height:1.8}
.prose h2,.prose h3{color:var(--text);margin:1.6em 0 .6em;line-height:1.3}
.prose p,.prose ul,.prose ol{margin-bottom:1.1em}
.prose ul,.prose ol{padding-left:1.4em}
.prose a{color:#c4b5fd;text-decoration:underline}
.prose img{border-radius:16px;margin:1.2em 0;height:auto}
.prose blockquote{border-left:4px solid var(--pink);padding:6px 0 6px 18px;color:var(--muted);margin:1.2em 0}
.prose code{background:rgba(255,255,255,.08);padding:2px 6px;border-radius:6px}

/* blog */
.posts{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.post-card{background:var(--card);border:1px solid var(--card-border);border-radius:var(--radius);overflow:hidden;transition:.4s;display:flex;flex-direction:column}
.post-card:hover{transform:translateY(-8px);border-color:rgba(236,72,153,.45)}
.post-card .thumb{aspect-ratio:16/9;background:linear-gradient(135deg,#0c1a2e,#3b0764);overflow:hidden;display:grid;place-items:center;font-size:46px}
.post-card .thumb img{width:100%;height:100%;object-fit:cover}
.post-card .body{padding:22px;flex:1;display:flex;flex-direction:column}
.post-meta{display:flex;gap:12px;color:var(--muted);font-size:13px;margin-bottom:10px;flex-wrap:wrap;justify-content:inherit}
.post-meta .cat{color:#f9a8d4;font-weight:700}
.post-card h3{font-size:19px;line-height:1.35;margin-bottom:8px}
.post-card p{color:var(--muted);font-size:14.5px;flex:1}
.article{max-width:780px;margin:0 auto}
.article .cover{border-radius:24px;overflow:hidden;margin-bottom:40px;border:1px solid var(--card-border)}
.article-head .post-meta{justify-content:center}
.pager{display:flex;gap:8px;justify-content:center;margin-top:44px;flex-wrap:wrap}
.pager a,.pager span{min-width:42px;height:42px;padding:0 12px;border-radius:12px;display:grid;place-items:center;border:1px solid var(--card-border);color:var(--muted);font-weight:600}
.pager .cur{background:var(--grad);color:#fff;border-color:transparent}

/* forms & auth */
.auth{max-width:460px;margin:0 auto}
.auth .card:hover{transform:none}
.auth h1{font-size:30px;margin-bottom:6px}
.auth p.sub{color:var(--muted);margin-bottom:26px}
label{display:block;font-weight:600;font-size:14px;margin-bottom:6px;color:#d4d4e0}
.field{margin-bottom:16px}
.auth .btn{width:100%;justify-content:center}
.small-link{color:var(--muted);text-align:center;margin-top:18px;font-size:15px}
.small-link a{color:#c4b5fd;font-weight:600}

/* checkout */
.checkout{display:grid;grid-template-columns:1fr 1.1fr;gap:28px;align-items:start}
.checkout .card:hover{transform:none}
.pay-methods{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:18px}
.pay-methods label{margin:0;cursor:pointer}
.pay-methods input{display:none}
.pay-methods span{display:block;text-align:center;padding:14px 8px;border-radius:14px;border:1px solid var(--card-border);background:rgba(0,0,0,.25);font-weight:700;transition:.2s}
.pay-methods input:checked+span{border-color:var(--pink);background:rgba(236,72,153,.15);box-shadow:0 0 0 3px rgba(236,72,153,.2)}
.pay-number{padding:18px;border-radius:16px;background:rgba(0,0,0,.3);border:1px dashed rgba(236,72,153,.5);margin-bottom:18px}
.pay-number strong{font-size:24px;letter-spacing:1px;display:block;margin:4px 0}
.pay-number small{color:var(--muted)}
.copy-btn{background:none;border:1px solid var(--card-border);color:var(--text);padding:6px 12px;border-radius:999px;cursor:pointer;font-family:inherit;font-size:13px}
.steps-list{color:var(--muted);padding-left:20px;margin:14px 0 20px;display:grid;gap:6px}

/* account */
.tabs{display:flex;gap:8px;margin-bottom:26px;flex-wrap:wrap}
.tabs a{padding:10px 20px;border-radius:999px;border:1px solid var(--card-border);color:var(--muted);font-weight:600}
.tabs a.active{background:var(--grad);color:#fff;border-color:transparent}
.table-wrap{overflow-x:auto;border-radius:18px;border:1px solid var(--card-border)}
table{width:100%;border-collapse:collapse;font-size:15px}
th,td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--card-border);white-space:nowrap}
th{color:var(--muted);font-weight:600;font-size:13px;text-transform:uppercase;letter-spacing:1px;background:rgba(255,255,255,.02)}
tr:last-child td{border-bottom:none}
.pill{display:inline-block;padding:4px 12px;border-radius:999px;font-size:12.5px;font-weight:700}
.pill-pending{background:rgba(245,158,11,.15);color:#fcd34d}
.pill-approved,.pill-published,.pill-active{background:rgba(34,197,94,.15);color:#86efac}
.pill-rejected,.pill-blocked{background:rgba(239,68,68,.15);color:#fca5a5}
.pill-draft{background:rgba(148,163,184,.15);color:#cbd5e1}
.dl-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.dl-item{display:flex;gap:16px;align-items:center;padding:18px;border-radius:18px;background:var(--card);border:1px solid var(--card-border)}
.dl-item .ic{width:56px;height:56px;border-radius:14px;background:var(--grad);display:grid;place-items:center;font-size:24px;flex:none;overflow:hidden}
.dl-item .ic img{width:100%;height:100%;object-fit:cover}
.dl-item>div{flex:1;min-width:0}
.dl-item h4{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dl-item small{color:var(--muted)}
.dl-item .btn{padding:10px 16px;font-size:14px}

.section-cta{text-align:center;margin-top:44px}

@media (max-width:980px){
  .products,.posts{grid-template-columns:1fr 1fr}
  .pd,.checkout{grid-template-columns:1fr}
  .buy-box{position:static}
}
@media (max-width:760px){
  .products,.posts,.dl-grid{grid-template-columns:1fr}
  .nav-links.open{max-height:640px}
  .nav-right .btn{display:none}
  .user-chip .nm{display:none}
  .search{max-width:none;width:100%}
  .pay-methods{grid-template-columns:1fr 1fr 1fr}
}
