/* MerchForge Digital Products store. Uses the site CSS variables (light/dark aware). Loaded only on store pages. */
.mfs-wrap{max-width:1120px;margin:0 auto;padding-left:16px;padding-right:16px}
.mfs-cats{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 22px}
.mfs-cats a{padding:7px 14px;border:1px solid var(--line);border-radius:999px;text-decoration:none;font-size:13px;font-weight:600;color:var(--dim);background:var(--panel)}
.mfs-cats a.on,.mfs-cats a:hover{color:var(--text);border-color:var(--accent)}
.mfs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px}
.mfs-card{background:var(--panel);border:1px solid var(--line);border-radius:12px;overflow:hidden;display:flex;flex-direction:column}
.mfs-thumb{display:block;aspect-ratio:16/10;background:var(--panel2);overflow:hidden}
.mfs-thumb img{width:100%;height:100%;object-fit:cover}
.mfs-thumb-empty{display:flex;align-items:center;justify-content:center;height:100%;font-size:44px;font-weight:800;color:var(--accent)}
.mfs-card-body{padding:16px;display:flex;flex-direction:column;gap:8px;flex:1}
.mfs-card-body h3{margin:0;font-size:18px}.mfs-card-body h3 a{text-decoration:none}
.mfs-card-body p{margin:0;color:var(--dim);font-size:14px;flex:1}
.mfs-card-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:6px}
.mfs-price{font-weight:800}.mfs-price.big{font-size:28px;margin-bottom:12px}
.mfs-badge{display:inline-block;align-self:flex-start;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:700;background:var(--panel2);color:var(--dim);border:1px solid var(--line)}
.mfs-st-available,.mfs-paid{background:#e7f6ec;color:#17623a;border-color:#b7e1c6}
.mfs-st-coming_soon,.mfs-st-in_testing,.mfs-pending{background:#fff4de;color:#7a4b00;border-color:#f0d9a6}
.mfs-failed,.mfs-st-discontinued,.mfs-refunded,.mfs-cancelled{background:#fdeaea;color:#8c1d1d;border-color:#f2c1c1}
:root[data-theme="dark"] .mfs-badge{filter:brightness(.9)}
.mfs-empty{color:var(--dim)}
.mfs-crumb{font-size:13px;color:var(--dim);margin-bottom:12px}
.mfs-hero{display:grid;grid-template-columns:1fr 340px;gap:32px;align-items:start;margin-bottom:28px}
.mfs-hero h1{margin:10px 0}
.mfs-lead{font-size:18px;color:var(--dim)}
.mfs-buy{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:20px}
.mfs-buy .mf-btn{width:100%;padding:13px 16px;font-size:15px}
.mfs-buy button[disabled]{opacity:.55;cursor:not-allowed}
.mfs-small{font-size:13px;color:var(--dim);margin:10px 0 0}
.mfs-checkout fieldset{border:0;padding:0;margin:0 0 14px}
.mfs-checkout legend{font-weight:700;margin-bottom:8px;font-size:14px}
.mfs-method{display:block;padding:10px;border:1px solid var(--line);border-radius:8px;margin-bottom:8px;cursor:pointer}
.mfs-method small{display:block;color:var(--dim);margin-left:22px}
.mfs-sec{margin:34px 0}
.mfs-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}
.mfs-gallery img{border-radius:8px;border:1px solid var(--line);width:100%;height:auto}
.mfs-video iframe,.mfs-video video{max-width:100%;border-radius:8px}
.mfs-body h2{margin-top:30px}.mfs-body li{margin:6px 0}
.mfs-note{padding:12px 14px;border-radius:8px;border:1px solid var(--line);background:var(--panel2);margin:12px 0;font-size:14px}
.mfs-note.mfs-ok{background:#e7f6ec;color:#17623a}.mfs-note.mfs-err{background:#fdeaea;color:#8c1d1d}
.mfs-orders{max-width:820px;margin:0 auto}
.mfs-order{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:18px;margin-bottom:16px}
.mfs-order.focus{border-color:var(--accent)}
.mfs-order header{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.mfs-order h3{margin:0}
.mfs-order dl{display:grid;grid-template-columns:auto 1fr;gap:4px 16px;margin:12px 0;font-size:14px}.mfs-order dt{color:var(--dim)}.mfs-order dd{margin:0}
.mfs-key{background:var(--panel2);padding:3px 8px;border-radius:6px;cursor:pointer;user-select:all}
.mfs-lic,.mfs-dl{margin-top:12px}
.mfs-sandbox{border:2px dashed #b32d2e;border-radius:8px;padding:12px;margin:12px 0}
.mfs-sandbox form{margin-top:8px;display:flex;gap:8px;flex-wrap:wrap}
@media (max-width:820px){.mfs-hero{grid-template-columns:1fr}}
