
/* Voxnik Marketplace */
.vxm,.vxm *,.vxm *::before,.vxm *::after{box-sizing:border-box}
.vxm{--vxm-a:#2563eb;--vxm-b:#7c3aed;--ink:#0f172a;--muted:#64748b;--line:#e5e9f2;--bg:#f6f8fc;--card:#fff;--r:18px;
	font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink);line-height:1.6;-webkit-font-smoothing:antialiased;width:100%;overflow-x:clip}
.vxm h1,.vxm h2,.vxm h3,.vxm p,.vxm ul,.vxm ol,.vxm dl,.vxm dd{margin:0;padding:0}
.vxm a{text-decoration:none;color:inherit}
.vxm img{max-width:100%;height:auto;display:block}
.vxm-wrap{width:100%;max-width:1200px;margin:0 auto;padding:0 20px}
.vxm-wrap--narrow{max-width:820px}

/* buttons */
.vxm-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 20px;border-radius:12px;font:600 14px/1.2 inherit;border:1.5px solid transparent;cursor:pointer;transition:transform .15s,box-shadow .2s,background .2s,color .2s;white-space:nowrap}
.vxm-btn:focus-visible,.vxm a:focus-visible,.vxm select:focus-visible,.vxm input:focus-visible,.vxm summary:focus-visible{outline:3px solid color-mix(in srgb,var(--vxm-a) 45%,transparent);outline-offset:2px}
.vxm-btn--primary{background:linear-gradient(135deg,var(--vxm-a),var(--vxm-b));color:#fff!important;box-shadow:0 8px 20px -8px var(--vxm-a)}
.vxm-btn--primary:hover{transform:translateY(-2px);box-shadow:0 12px 26px -8px var(--vxm-a)}
.vxm-btn--ghost{background:#fff;border-color:var(--line);color:var(--ink)!important}
.vxm-btn--ghost:hover{border-color:var(--vxm-a);color:var(--vxm-a)!important}
.vxm-btn--white{background:#fff;color:var(--vxm-a)!important}
.vxm-btn--white:hover{transform:translateY(-2px)}
.vxm-btn--outline{border-color:rgba(255,255,255,.6);color:#fff!important;background:transparent}
.vxm-btn--outline:hover{background:rgba(255,255,255,.12)}
.vxm-btn--lg{padding:14px 28px;font-size:15px}
.vxm-btn:disabled{opacity:.6;cursor:wait}

/* hero */
.vxm-hero{position:relative;background:#0b1220;color:#fff;padding:92px 0 72px;text-align:center;overflow:hidden;isolation:isolate}
.vxm-hero::before,.vxm-hero::after{content:"";position:absolute;width:520px;height:520px;border-radius:50%;filter:blur(110px);opacity:.45;z-index:-1}
.vxm-hero::before{background:var(--vxm-a);top:-220px;left:-140px}
.vxm-hero::after{background:var(--vxm-b);bottom:-260px;right:-120px}
.vxm-eyebrow{display:inline-block;padding:6px 16px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);font-size:13px;font-weight:600;letter-spacing:.04em}
.vxm-hero h1{font-size:clamp(32px,5.2vw,58px);line-height:1.1;font-weight:800;letter-spacing:-.02em;margin:22px auto 16px;max-width:880px;color:#fff}
.vxm-hero__sub{max-width:640px;margin:0 auto 34px;color:#b6c2d9;font-size:clamp(15px,1.8vw,18px)}
.vxm-search{display:flex;gap:8px;max-width:720px;margin:0 auto;background:#fff;border-radius:16px;padding:8px;box-shadow:0 24px 60px -20px rgba(0,0,0,.6)}
.vxm-search input,.vxm-search select{border:0;background:transparent;font:500 15px inherit;color:var(--ink);padding:10px 14px;min-width:0;outline:0;margin:0;box-shadow:none}
.vxm-search input{flex:1}
.vxm-search select{border-left:1px solid var(--line);border-radius:0;cursor:pointer}
.vxm-chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;align-items:center;margin-top:20px;font-size:13px;color:#8fa0bd}
.vxm-chips a{padding:5px 13px;border-radius:999px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);color:#dbe4f5;transition:.2s}
.vxm-chips a:hover{background:rgba(255,255,255,.16)}
.vxm-stats{list-style:none;display:flex;justify-content:center;gap:clamp(24px,6vw,72px);margin-top:48px!important}
.vxm-stats li{text-align:center}
.vxm-stats b{display:block;font-size:clamp(26px,3.4vw,38px);font-weight:800;line-height:1.1}
.vxm-stats span{font-size:13px;color:#8fa0bd;text-transform:uppercase;letter-spacing:.08em}

/* sections */
.vxm-section{padding:84px 0}
.vxm-section--alt{background:var(--bg)}
.vxm-head{text-align:center;max-width:680px;margin:0 auto 44px}
.vxm-kicker{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--vxm-a);margin-bottom:10px}
.vxm-head h2{font-size:clamp(26px,3.4vw,38px);line-height:1.2;font-weight:800;letter-spacing:-.015em}
.vxm-head p{color:var(--muted);margin-top:12px}

/* type cards */
.vxm-types{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.vxm-type{display:block;padding:32px 28px;border-radius:var(--r);background:var(--card);border:1px solid var(--line);transition:transform .25s,box-shadow .25s,border-color .25s;position:relative;overflow:hidden}
.vxm-type::after{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:linear-gradient(90deg,var(--vxm-a),var(--vxm-b));transform:scaleX(0);transform-origin:left;transition:transform .35s}
.vxm-type:hover{transform:translateY(-6px);box-shadow:0 24px 48px -24px rgba(15,23,42,.25);border-color:transparent}
.vxm-type:hover::after{transform:scaleX(1)}
.vxm-type__icon{display:grid;place-items:center;width:56px;height:56px;border-radius:16px;font-size:26px;background:linear-gradient(135deg,color-mix(in srgb,var(--vxm-a) 14%,#fff),color-mix(in srgb,var(--vxm-b) 14%,#fff));margin-bottom:18px}
.vxm-type h3{font-size:20px;font-weight:700;margin-bottom:8px}
.vxm-type p{color:var(--muted);font-size:15px;margin-bottom:18px}
.vxm-type__count{font-weight:600;font-size:14px;color:var(--vxm-a)}

/* categories */
.vxm-cats{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px}
.vxm-cat{display:flex;align-items:center;gap:12px;padding:16px 18px;background:#fff;border:1px solid var(--line);border-radius:14px;transition:.2s}
.vxm-cat:hover{border-color:var(--vxm-a);transform:translateY(-3px);box-shadow:0 14px 28px -16px var(--vxm-a)}
.vxm-cat__icon{font-size:22px;width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:var(--bg);flex:none}
.vxm-cat__name{font-weight:600;font-size:15px;flex:1;line-height:1.3}
.vxm-cat__count{font-size:12px;font-weight:700;color:var(--muted);background:var(--bg);border-radius:999px;padding:2px 9px}

/* toolbar */
.vxm-toolbar{display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;align-items:center;margin-bottom:14px}
.vxm-tabs{display:inline-flex;gap:4px;padding:4px;background:var(--bg);border-radius:14px;flex-wrap:wrap}
.vxm-tab{border:0;background:transparent;padding:9px 18px;border-radius:10px;font:600 14px inherit;color:var(--muted);cursor:pointer;transition:.2s}
.vxm-tab:hover{color:var(--ink)}
.vxm-tab[aria-pressed="true"]{background:#fff;color:var(--vxm-a);box-shadow:0 2px 10px rgba(15,23,42,.1)}
.vxm-filters{display:flex;gap:10px;flex-wrap:wrap}
.vxm-filters input,.vxm-filters select{padding:10px 14px;border:1.5px solid var(--line);border-radius:12px;font:500 14px inherit;background:#fff;color:var(--ink);min-width:150px;margin:0;height:auto}
.vxm-filters input:focus,.vxm-filters select:focus{border-color:var(--vxm-a);outline:0}
.vxm-count{color:var(--muted);font-size:14px;margin:6px 0 20px}

/* grid + card */
.vxm-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;transition:opacity .2s;min-height:200px}
.vxm-grid.is-loading{opacity:.45;pointer-events:none}
.vxm-card{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;transition:transform .25s,box-shadow .25s}
.vxm-card:hover{transform:translateY(-6px);box-shadow:0 26px 50px -26px rgba(15,23,42,.35)}
.vxm-card__media{position:relative;display:block;aspect-ratio:16/10;background:var(--bg);overflow:hidden}
.vxm-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.vxm-card:hover .vxm-card__media img{transform:scale(1.05)}
.vxm-ph{width:100%;height:100%;display:grid;place-items:center;font-size:54px}
.vxm-ph--themes{background:linear-gradient(135deg,#dbeafe,#ede9fe)}
.vxm-ph--plugins{background:linear-gradient(135deg,#dcfce7,#cffafe)}
.vxm-ph--extensions{background:linear-gradient(135deg,#fef3c7,#fde2e4)}
.vxm-badge{position:absolute;left:12px;top:12px;background:rgba(15,23,42,.82);color:#fff;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:4px 10px;border-radius:999px;backdrop-filter:blur(6px)}
.vxm-price{position:absolute;right:12px;top:12px;background:#fff;color:var(--ink);font-size:12px;font-weight:700;padding:4px 11px;border-radius:999px;box-shadow:0 4px 12px rgba(0,0,0,.12)}
.vxm-price.is-free{background:#16a34a;color:#fff}
.vxm-card__body{padding:20px 22px 8px;flex:1}
.vxm-card__cat{font-size:12px;font-weight:700;color:var(--vxm-a);text-transform:uppercase;letter-spacing:.07em}
.vxm-card__title{font-size:18px;line-height:1.35;font-weight:700;margin:6px 0 6px}
.vxm-card__title a:hover{color:var(--vxm-a)}
.vxm-card__tag{color:var(--muted);font-size:14px;margin-bottom:12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.vxm-card__meta{display:flex;gap:14px;align-items:center;flex-wrap:wrap;font-size:13px;color:var(--muted);min-height:20px}
.vxm-card__meta b{color:var(--ink)}
.vxm-stars{position:relative;display:inline-block;color:#d5dae6;letter-spacing:2px;line-height:1;font-size:14px;margin-right:-8px}
.vxm-stars::before{content:"★★★★★"}
.vxm-stars i{position:absolute;left:0;top:0;overflow:hidden;white-space:nowrap;color:#f5a524;width:calc(var(--r,0)/5*100%)}
.vxm-stars i::before{content:"★★★★★"}
.vxm-card__foot{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:16px 22px 22px}
.vxm-card__foot .vxm-btn{padding:10px 12px}

.vxm-more{text-align:center;margin-top:38px}
.vxm-more[hidden],.vxm-more [hidden]{display:none!important}
.vxm-empty{grid-column:1/-1;text-align:center;padding:60px 20px;background:var(--bg);border-radius:var(--r)}
.vxm-empty__icon{font-size:42px}
.vxm-empty h3{font-size:22px;margin:8px 0}
.vxm-empty p{color:var(--muted);max-width:460px;margin:0 auto 20px}
.vxm-empty__btns{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}

/* perks */
.vxm-perks{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.vxm-perk{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:28px 24px}
.vxm-perk__icon{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:linear-gradient(135deg,color-mix(in srgb,var(--vxm-a) 14%,#fff),color-mix(in srgb,var(--vxm-b) 14%,#fff));font-size:22px;margin-bottom:14px}
.vxm-perk h3{font-size:17px;font-weight:700;margin-bottom:6px}
.vxm-perk p{font-size:14.5px;color:var(--muted)}

/* steps */
.vxm-steps{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:28px;counter-reset:s}
.vxm-step{text-align:center;padding:10px 20px}
.vxm-step__n{display:grid;place-items:center;width:56px;height:56px;margin:0 auto 16px;border-radius:50%;background:linear-gradient(135deg,var(--vxm-a),var(--vxm-b));color:#fff;font-size:22px;font-weight:800;box-shadow:0 10px 24px -10px var(--vxm-a)}
.vxm-step h3{font-size:19px;font-weight:700;margin-bottom:6px}
.vxm-step p{color:var(--muted);font-size:15px}

/* faq */
.vxm-faq{display:grid;gap:12px}
.vxm-faq details{background:#fff;border:1px solid var(--line);border-radius:14px;padding:0 22px;transition:border-color .2s}
.vxm-faq details[open]{border-color:var(--vxm-a)}
.vxm-faq summary{cursor:pointer;list-style:none;padding:18px 28px 18px 0;font-weight:600;font-size:16px;position:relative}
.vxm-faq summary::-webkit-details-marker{display:none}
.vxm-faq summary::after{content:"+";position:absolute;right:0;top:50%;transform:translateY(-50%);font-size:24px;font-weight:400;color:var(--vxm-a);transition:transform .2s}
.vxm-faq details[open] summary::after{content:"\2212"}
.vxm-faq details p{padding:0 0 20px;color:var(--muted);font-size:15px}

/* cta */
.vxm-cta{text-align:center;color:#fff;border-radius:28px;padding:68px 28px;background:linear-gradient(135deg,var(--vxm-a),var(--vxm-b));position:relative;overflow:hidden}
.vxm-cta::before{content:"";position:absolute;width:340px;height:340px;border-radius:50%;background:rgba(255,255,255,.1);top:-140px;right:-80px}
.vxm-cta h2{font-size:clamp(26px,3.6vw,40px);font-weight:800;margin-bottom:10px;color:#fff;position:relative}
.vxm-cta p{max-width:560px;margin:0 auto 28px;color:rgba(255,255,255,.88);position:relative}
.vxm-cta__btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;position:relative}

/* single product */
.vxm-single{margin:0 0 28px}
.vxm-back{display:inline-block;margin-bottom:14px;font-weight:600;color:var(--vxm-a)!important}
.vxm-single__tag{font-size:18px;color:var(--muted);margin-bottom:18px!important}
.vxm-single__panel{display:flex;flex-wrap:wrap;gap:22px;justify-content:space-between;align-items:center;background:var(--bg);border:1px solid var(--line);border-radius:var(--r);padding:22px 26px}
.vxm-single__panel dl{display:flex;flex-wrap:wrap;gap:12px 34px}
.vxm-single__panel dt{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:700}
.vxm-single__panel dd{font-weight:600}
.vxm-single__btns{display:flex;gap:10px;flex-wrap:wrap}

/* reveal (only when JS + IO available) */
.vxm.vxm-js .vxm-reveal{opacity:0;transform:translateY(22px);transition:opacity .6s ease,transform .6s ease}
.vxm.vxm-js .vxm-reveal.is-in{opacity:1;transform:none}

/* responsive */
@media (max-width:1020px){
	.vxm-grid{grid-template-columns:repeat(2,1fr)}
	.vxm-perks{grid-template-columns:repeat(2,1fr)}
	.vxm-types{grid-template-columns:1fr}
}
@media (max-width:700px){
	.vxm-hero{padding:68px 0 52px}
	.vxm-section{padding:60px 0}
	.vxm-search{flex-direction:column;padding:10px}
	.vxm-search select{border-left:0;border-top:1px solid var(--line)}
	.vxm-grid,.vxm-perks,.vxm-steps{grid-template-columns:1fr}
	.vxm-toolbar{flex-direction:column;align-items:stretch}
	.vxm-tabs{display:flex;overflow-x:auto;flex-wrap:nowrap}
	.vxm-tab{flex:1;white-space:nowrap}
	.vxm-filters input,.vxm-filters select{flex:1 1 100%}
	.vxm-cats{grid-template-columns:repeat(2,1fr)}
	.vxm-cat{padding:12px}
	.vxm-single__panel{flex-direction:column;align-items:flex-start}
}
@media (prefers-reduced-motion:reduce){
	.vxm *,.vxm *::before,.vxm *::after{transition:none!important;animation:none!important}
}

/* ===== Voxnik site theme match ===== */
.vxm{--vxm-a:#1a6ef0;--vxm-b:#0f4fc4;--ink:#0b1630;--muted:#5b6b86;--line:#e3e9f4;--bg:#f4f7fc;font-family:Inter,system-ui,sans-serif}
.vxm h1,.vxm h2,.vxm h3,.vx-logo{font-family:"Plus Jakarta Sans",Inter,system-ui,sans-serif}
.vxm-btn{border-radius:12px}
.vxm-btn--primary{background:#1a6ef0;box-shadow:none}
.vxm-btn--primary:hover{background:#0f5bd8;box-shadow:0 10px 22px -10px #1a6ef0}
.vxm-step__n{background:#1a6ef0;box-shadow:0 10px 24px -10px #1a6ef0}
.vxm-type::after{background:#1a6ef0}
.vxm-cta{background:linear-gradient(135deg,#071533,#0f3a86 55%,#1a6ef0)}
.vxm-ph--themes{background:linear-gradient(135deg,#dbeafe,#e0e7ff)}

/* header (same look as voxnik.com) */

/* hero (dark navy, left aligned) */
.vxm-hero{text-align:left;padding:84px 0 88px;background:radial-gradient(60% 80% at 88% 0%,rgba(26,110,240,.45),transparent 60%),radial-gradient(40% 50% at 0% 100%,rgba(26,110,240,.18),transparent 70%),linear-gradient(135deg,#050b1c 0%,#08142f 55%,#0b2354 100%)}
.vxm-hero::before,.vxm-hero::after{display:none}
.vxm-hero__grid{display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center}
.vxm-eyebrow{background:#fff;color:#0b1630;border:0;padding:9px 18px;font-size:14px}
.vxm .vxm-hero h1{margin:22px 0 18px;max-width:640px;font-size:clamp(34px,4.6vw,56px);line-height:1.08;letter-spacing:-.025em}
.vxm .vxm-hero__sub{margin:0 0 30px;max-width:560px;color:#b9c7e6}
.vxm .vxm-search{margin:0;max-width:600px}
.vxm-chips{justify-content:flex-start}
.vxm-stats{justify-content:flex-start;gap:clamp(22px,4vw,48px)}
.vxm-stats li{text-align:left}

/* hero panel */
.vxm-panel{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);border-radius:22px;padding:22px;backdrop-filter:blur(14px);box-shadow:0 30px 70px -30px rgba(0,0,0,.7)}
.vxm-panel__head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;color:#fff}
.vxm-panel__head span{font-size:12px;color:#9fb4dd;text-transform:uppercase;letter-spacing:.08em}
.vxm-prow{display:flex;align-items:center;gap:14px;padding:12px;border-radius:14px;color:#fff!important;transition:.2s}
.vxm-prow:hover{background:rgba(255,255,255,.1)}
.vxm-prow__ico{width:44px;height:44px;border-radius:12px;background:#fff;display:grid;place-items:center;font-size:21px;flex:none}
.vxm-prow__txt{flex:1;min-width:0;display:flex;flex-direction:column}
.vxm-prow__txt b{font-size:15px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vxm-prow__txt small{font-size:12.5px;color:#9fb4dd}
.vxm-prow__tag{font-size:12px;font-weight:700;padding:4px 11px;border-radius:999px;background:#fff;color:#0b1630}
.vxm-prow__tag.is-free{background:#16a34a;color:#fff}
.vxm-panel__all{display:block;margin-top:10px;text-align:center;padding:13px;border-radius:12px;background:#1a6ef0;color:#fff!important;font-weight:700;font-size:14.5px}
.vxm-panel__all:hover{background:#0f5bd8}

/* footer */

@media (max-width:1260px){
}
@media (max-width:1100px){
}
@media (max-width:980px){
	.vxm-hero__grid{grid-template-columns:minmax(0,1fr);gap:36px}
}
@media (max-width:520px){.vx-foot__in{grid-template-columns:1fr}}

.vxm-hero__grid>*{min-width:0}
.vxm-hero{overflow:hidden}


/* ===== Inner pages ===== */
.vxm-subnav{background:#fff;border-bottom:1px solid #e3e9f4;font-family:Inter,system-ui,sans-serif}
.vxm-subnav>div{max-width:1200px;margin:0 auto;padding:0 20px;display:flex;gap:4px;overflow-x:auto}
.vxm-subnav a{padding:12px 14px;font-weight:600;font-size:14px;color:#5b6b86;border-bottom:2px solid transparent;white-space:nowrap;text-decoration:none}
.vxm-subnav a:hover{color:#1a6ef0}
.vxm-subnav a.on{color:#1a6ef0;border-color:#1a6ef0}
.vxm-shero{background:radial-gradient(60% 90% at 90% 0%,rgba(26,110,240,.4),transparent 60%),linear-gradient(135deg,#050b1c,#0b2354);color:#fff;padding:40px 0 46px}
.vxm .vxm-shero h1{font-size:clamp(28px,4vw,44px);line-height:1.12;margin:0 0 10px;color:#fff;letter-spacing:-.02em}
.vxm-shero p{color:#b9c7e6;max-width:640px}
.vxm-crumb{font-size:13px;color:#9fb4dd;margin-bottom:12px}
.vxm-crumb a{color:#cfe0ff}
.vxm-crumb--dark{color:#5b6b86;margin:24px 0 0}
.vxm-crumb--dark a{color:#1a6ef0}

/* listing */
.vxl{display:grid;grid-template-columns:250px minmax(0,1fr);gap:32px;padding:36px 0 80px;align-items:start}
.vxl-side{position:sticky;top:84px;display:grid;gap:22px}
.vxl-side h4{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:#5b6b86;margin:0 0 6px}
.vxl-side button{display:flex;justify-content:space-between;gap:8px;width:100%;text-align:left;border:0;background:transparent;padding:8px 12px;border-radius:10px;font-family:inherit;font-weight:500;font-size:14.5px;color:#0b1630;cursor:pointer}
.vxl-side button:hover{background:#f4f7fc}
.vxl-side button.on{background:#e8f0fe;color:#1a6ef0;font-weight:700}
.vxl-side small{color:#5b6b86}
.vxl .vxm-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}
.vxl .vxm-toolbar{align-items:center}
.vxl .vxm-toolbar b{font-weight:700}

/* product */
.vxp{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:36px;padding:22px 0 30px;align-items:start}
.vxp h1{font-size:clamp(26px,3.4vw,38px);line-height:1.15;margin:8px 0}
.vxp-main{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:18px;border:1px solid var(--line);background:var(--bg);margin-top:18px}
.vxp-thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:10px}
.vxp-thumbs button{padding:0;border:2px solid transparent;border-radius:12px;overflow:hidden;cursor:pointer;background:none}
.vxp-thumbs button.on{border-color:#1a6ef0}
.vxp-thumbs img{aspect-ratio:16/10;object-fit:cover;width:100%}
.vxp-box{position:sticky;top:84px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px;display:grid;gap:12px;box-shadow:0 20px 40px -28px rgba(15,23,42,.3)}
.vxp-price{font-family:"Plus Jakarta Sans",Inter,sans-serif;font-size:34px;font-weight:800}
.vxp-price.is-free{color:#16a34a}
.vxp-box ul{list-style:none;display:grid;gap:6px;font-size:14px;color:var(--muted)}
.vxp-box .vxm-btn{width:100%}
.vxp-sec{margin-top:34px}
.vxp-sec h2{font-size:22px;margin-bottom:12px}
.vxp-sec p{color:var(--muted)}
.vxp-feat{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:10px 24px}
.vxp-feat li::before{content:"✓";color:#16a34a;font-weight:800;margin-right:8px}
.vxp-table{width:100%;border-collapse:collapse}
.vxp-table td{padding:11px 0;border-bottom:1px solid var(--line);font-size:15px}
.vxp-table td:first-child{color:var(--muted);width:40%}
.vxp-rel{padding:10px 0 80px}
.vxp-rel h2{font-size:24px;margin-bottom:18px}

/* categories */
.vxcat{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:22px}
.vxcat-card{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;transition:.25s}
.vxcat-card:hover{transform:translateY(-5px);box-shadow:0 24px 44px -26px rgba(15,23,42,.35)}
.vxcat-th{display:grid;grid-template-columns:1fr 1fr;gap:2px;aspect-ratio:16/8;background:var(--bg);place-items:center;font-size:44px}
.vxcat-th img{width:100%;height:100%;object-fit:cover}
.vxcat-th:has(span){grid-template-columns:1fr}
.vxcat-b{display:flex;align-items:center;gap:12px;padding:16px 18px}
.vxcat-b b{flex:1}
.vxcat-b small{color:var(--muted)}

/* custom request */
.vxc{display:grid;grid-template-columns:.8fr 1.2fr;gap:40px;align-items:start}
.vxc-info h2{font-size:28px;margin-bottom:12px}
.vxc-info ol{padding-left:20px;display:grid;gap:12px;color:var(--muted);margin-top:18px}
.vxc-info ol b{color:var(--ink)}
.vxc-form{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:28px;display:grid;grid-template-columns:1fr 1fr;gap:16px;box-shadow:0 20px 40px -28px rgba(15,23,42,.25)}
.vxc-form label{display:grid;gap:6px;font-weight:600;font-size:14px}
.vxc-form .full{grid-column:1/-1}
.vxc-form input,.vxc-form select,.vxc-form textarea{padding:12px 14px;border:1.5px solid var(--line);border-radius:12px;font-family:inherit;font-size:15px;background:#fff;color:var(--ink);width:100%;margin:0}
.vxc-form input:focus,.vxc-form select:focus,.vxc-form textarea:focus{border-color:#1a6ef0;outline:0}
.vxc-ok{grid-column:1/-1;background:#ecfdf3;border:1px solid #bbf7d0;color:#166534;border-radius:12px;padding:14px 16px;font-size:14.5px}
.vxc-ok[hidden]{display:none}

/* live preview (Envato-style) */
.vxm.vxd{height:100vh;display:flex;flex-direction:column;background:#e9eef8}
.vxd-bar{display:flex;align-items:center;gap:14px;background:#0b1630;color:#fff;padding:10px 18px;flex-wrap:wrap}
.vxd-bar a{color:#cfe0ff;font-weight:600;font-size:14px}
.vxd-bar b{font-family:"Plus Jakarta Sans",Inter,sans-serif;font-size:16px}
.vxd-bar .sp{flex:1}
.vxd-dev{display:inline-flex;background:rgba(255,255,255,.1);border-radius:10px;padding:3px}
.vxd-dev button{border:0;background:transparent;color:#cfe0ff;padding:7px 12px;border-radius:8px;cursor:pointer;font-size:13px;font-weight:600;font-family:inherit}
.vxd-dev button.on{background:#fff;color:#0b1630}
.vxd-stage{flex:1;min-height:0;display:flex;justify-content:center;padding:18px;overflow:auto}
.vxd-frame{width:100%;max-width:100%;background:#fff;border-radius:12px;box-shadow:0 30px 70px -30px rgba(0,0,0,.5);overflow:auto;transition:width .3s}
.vxd-frame iframe{width:100%;height:100%;border:0;display:block}
.vxd-frame img{width:100%}
.vxd-note{padding:14px 18px;font-size:14px;color:var(--muted);background:#fffbeb;border-top:1px solid #fde68a}

@media (max-width:900px){
	.vxl,.vxp,.vxc{grid-template-columns:minmax(0,1fr)}
	.vxl-side{position:static;grid-template-columns:1fr 1fr}
	.vxp-box{position:static}
	.vxp-feat,.vxc-form{grid-template-columns:1fr}
}
@media (max-width:520px){.vxl-side{grid-template-columns:1fr}}

/* ===== Envato-style listing ===== */
.vxn{padding-bottom:70px}
.vxn h1{font-size:clamp(28px,3.6vw,42px);line-height:1.15;margin:14px 0 8px;letter-spacing:-.02em}
.vxl-desc{color:var(--muted);max-width:780px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.vxl-desc.open{display:block}
.vxl-sm{background:none;border:0;padding:4px 0;font-weight:700;font-size:14px;color:var(--ink);text-decoration:underline;cursor:pointer;font-family:inherit}
.vxl-chips{display:flex;gap:8px;overflow-x:auto;padding:16px 0 4px;scrollbar-width:none;margin-top:6px}
.vxl-chips::-webkit-scrollbar{display:none}
.vxl-chips button{flex:none;border:1px solid #c3cde2;background:#fff;border-radius:999px;padding:6px 14px;font-family:inherit;font-size:13.5px;cursor:pointer;color:var(--ink)}
.vxl-chips button:hover,.vxl-chips button.on{border-color:#1a6ef0;color:#1a6ef0;background:#e8f0fe}
.vxl-bar{display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding:26px 0 16px}
.vxl-bar button{background:none;border:0;font-family:inherit;font-weight:600;font-size:14px;cursor:pointer;color:var(--ink);padding:6px 0}
.vxl-bar .sp{flex:1}
.vxl-bar input,.vxl-bar select{padding:9px 12px;border:1px solid var(--line);border-radius:10px;font-family:inherit;font-size:14px;background:#fff;color:var(--ink);margin:0}
.vxn-lay{display:grid;grid-template-columns:230px minmax(0,1fr);gap:28px;align-items:start}
.vxn-lay.nofilter{grid-template-columns:minmax(0,1fr)}
.vxn-lay.nofilter aside{display:none}
.vxl-g{padding-bottom:16px;margin-bottom:18px;border-bottom:1px solid var(--line)}
.vxl-g h4{font-size:14px;font-weight:700;margin:0 0 8px}
.vxl-ck{display:flex;align-items:center;gap:10px;padding:6px 0;cursor:pointer;font-size:14.5px}
.vxl-ck input{width:18px;height:18px;margin:0;accent-color:#1a6ef0;flex:none}
.vxl-ck span{flex:1}
.vxl-ck small{color:var(--muted)}
.vxl-ck.hid{display:none}
.vxl-more{background:none;border:0;color:var(--ink);font-weight:600;font-size:14px;cursor:pointer;padding:6px 0;font-family:inherit}
.vxn-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.vxt{position:relative;border-radius:6px;overflow:hidden;background:var(--bg);aspect-ratio:3/2}
.vxt-a{display:block;width:100%;height:100%}
.vxt img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}
.vxt:hover img{transform:scale(1.04)}
.vxt-ov{position:absolute;inset:auto 0 0 0;padding:36px 14px 12px;background:linear-gradient(transparent,rgba(5,11,28,.88));color:#fff;opacity:0;transition:opacity .2s;display:flex;flex-direction:column}
.vxt-ov b{font-size:14.5px;line-height:1.3}
.vxt-ov small{font-size:12.5px;color:#cfe0ff}
.vxt-pv{position:absolute;top:10px;right:10px;width:36px;height:36px;border-radius:50%;background:#fff;display:grid;place-items:center;font-size:16px;opacity:0;transition:opacity .2s;box-shadow:0 4px 12px rgba(0,0,0,.2)}
.vxt:hover .vxt-ov,.vxt:hover .vxt-pv,.vxt:focus-within .vxt-ov,.vxt:focus-within .vxt-pv{opacity:1}
@media (hover:none){.vxt-ov,.vxt-pv{opacity:1}}
.vxn-pg{display:flex;gap:6px;justify-content:center;margin-top:34px}
.vxn-pg button{min-width:38px;height:38px;border-radius:8px;border:1.5px solid transparent;background:none;font-family:inherit;font-weight:600;cursor:pointer;color:var(--ink)}
.vxn-pg button.on{border-color:var(--ink)}
.vxn-faq{display:grid;grid-template-columns:1fr 1.6fr;gap:40px;margin-top:70px;align-items:start}
.vxn-faq h2{font-size:28px}

/* ===== Envato-style product ===== */
.vxq-wrap{padding-bottom:70px}
.vxq{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:40px;padding-top:18px;align-items:start}
.vxq-big{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:6px;display:block;background:var(--bg)}
.vxq-th{display:flex;gap:10px;margin:14px 0 32px;overflow-x:auto}
.vxq-th button{flex:none;width:96px;padding:0;border:2px solid transparent;border-radius:6px;overflow:hidden;cursor:pointer;background:none}
.vxq-th button.on{border-color:var(--ink)}
.vxq-th img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block}
.vxq aside h1{font-size:22px;line-height:1.25;margin:0 0 4px}
.vxq-by{color:var(--muted);font-size:14px;margin-bottom:16px}
.vxq-box{border:2px solid var(--ink);padding:22px;border-radius:4px;display:grid;gap:14px}
.vxq-box h2{font-size:21px;line-height:1.25;margin:0}
.vxq-box ul{list-style:none;display:grid;gap:8px;font-size:14px}
.vxq-box li::before{content:"✓";display:inline-grid;place-items:center;width:18px;height:18px;border:1.5px solid var(--ink);border-radius:50%;font-size:10px;margin-right:10px}
.vxq-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin-top:10px;padding:13px;border:1.5px solid var(--ink);background:#fff;font-weight:600;border-radius:4px;font-size:15px;color:var(--ink)}
.vxq-btn:hover{background:var(--bg)}
.vxq-attr{margin-top:34px}
.vxq-attr h3{font-size:16px;margin-bottom:14px}
.vxq-attr dl{display:grid;grid-template-columns:120px 1fr;gap:14px 12px;font-size:14px;margin:0}
.vxq-attr dt{color:var(--muted)}
.vxq-attr dd{margin:0}
.vxq-desc h2.s{font-size:20px;margin:0 0 12px}
.vxq-desc h3{font-size:16px;margin:20px 0 8px}
.vxq-desc p{color:var(--muted)}
.vxq-desc ul{padding-left:20px;display:grid;gap:6px;margin:0}
.vxq-tags{display:flex;flex-wrap:wrap;gap:10px}
.vxq-tags span{border:1px solid #9aa7bf;border-radius:999px;padding:8px 18px;font-size:14px}
.vxq-tabs{display:flex;gap:24px;border-bottom:1px solid var(--line);margin:56px 0 26px}
.vxq-tabs a{padding:10px 0;font-weight:600;font-size:14px;color:var(--muted)}
.vxq-tabs a:first-child{color:var(--ink);border-bottom:2px solid var(--ink)}
.vxq-sec{margin-bottom:36px}
.vxq-sec header{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.vxq-sec h2{font-size:22px}
.vxq-row{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
@media (max-width:1000px){.vxq-row{grid-template-columns:repeat(3,1fr)}}
@media (max-width:900px){
	.vxn-lay,.vxq,.vxn-faq{grid-template-columns:minmax(0,1fr)}
	.vxq-row{grid-template-columns:repeat(2,1fr)}
}



/* ===== WordPress / Elementor integration ===== */
.elementor-widget[class*="elementor-widget-vxm_"]{margin-bottom:0!important}
.elementor-widget[class*="elementor-widget-vxm_"]>.elementor-widget-container{margin:0;padding:0}
.vxm{position:relative}
.vxm.vxd{height:88vh;min-height:560px}
.vxm :where(h1,h2,h3,h4){letter-spacing:normal;text-transform:none}
.vxm-hero__form{margin:0}
.vxm-subnav{position:relative;z-index:5}
