/* MrFibsTrades store + account pages */
.store-hero{ padding:56px 0 28px; }
.notice-line{ color:var(--gold); }
.products{ display:grid; grid-template-columns:repeat(auto-fill, minmax(min(340px,100%),1fr)); gap:18px; }
.product{ display:flex; flex-direction:column; border:1px solid var(--line); border-radius:16px; background:var(--panel); overflow:hidden; }
.product .shot img{ display:block; width:100%; height:200px; object-fit:cover; object-position:top; border-bottom:1px solid var(--line); }
.product-body{ padding:20px; display:flex; flex-direction:column; flex-grow:1; }
.product-top{ display:flex; justify-content:space-between; align-items:baseline; gap:12px; margin-bottom:6px; }
.product-top h2{ font-size:1.3rem; margin:0; }
.price{ font-family:var(--mono); font-size:1.35rem; color:var(--text); white-space:nowrap; }
.price.free{ color:var(--green); }
.ticks{ list-style:none; padding:0; margin:0 0 16px; display:grid; gap:6px; }
.ticks li{ color:var(--muted); font-size:.95rem; padding-left:22px; position:relative; }
.ticks li::before{ content:""; position:absolute; left:2px; top:.45em; width:10px; height:5px; border-left:2px solid var(--gold); border-bottom:2px solid var(--gold); transform:rotate(-45deg); }
.product-actions{ margin-top:auto; display:flex; align-items:center; gap:12px; flex-wrap:wrap; }

.mf-dialog{ border:1px solid var(--line2); border-radius:16px; background:var(--panel); color:var(--text); padding:0; width:min(440px, calc(100vw - 32px)); }
.mf-dialog::backdrop{ background:rgba(0,0,0,.65); }
.mf-dialog-body{ padding:22px; display:flex; flex-direction:column; gap:10px; }
.mf-dialog-head{ display:flex; justify-content:space-between; align-items:center; gap:12px; }
.mf-dialog-head h2{ font-size:1.35rem; margin:0; }
.mf-dialog .btn{ width:100%; }
.mf-or{ display:flex; align-items:center; gap:10px; color:var(--faint); font-size:.85rem; }
.mf-or::before,.mf-or::after{ content:""; flex:1; border-top:1px solid var(--line); }
.mf-err{ color:var(--red); min-height:1.2em; margin:0; font-size:.92rem; }
.mf-links{ text-align:center; margin:4px 0 0; }
.check{ display:flex; align-items:center; gap:8px; color:var(--muted); }
.pp-wrap{ min-height:44px; }
.mf-notice{ position:fixed; left:50%; bottom:20px; transform:translate(-50%, 20px); opacity:0; pointer-events:none; z-index:300;
  background:var(--panel2); border:1px solid var(--line2); color:var(--text); padding:12px 16px; border-radius:12px; transition:.2s; max-width:calc(100vw - 32px); }
.mf-notice.show{ opacity:1; transform:translate(-50%,0); }

.order .order-top{ display:flex; justify-content:space-between; align-items:baseline; gap:12px; flex-wrap:wrap; }
.order h2{ font-size:1.2rem; margin:0; }
.lic{ font-size:.92rem; margin:8px 0 12px; }
.lic.pending{ color:var(--gold); }
.lic.created{ color:var(--green); }

/* Checkout: NinjaTrader license choice */
.lic-choice{ border:1px solid var(--line); border-radius:12px; padding:12px 14px 14px; margin:0 0 14px; }
.lic-choice legend{ padding:0 6px; font-weight:600; }
.lic-choice .radio{ display:flex; gap:10px; align-items:flex-start; padding:8px 0; cursor:pointer; line-height:1.35; }
.lic-choice .radio input{ margin-top:4px; accent-color:var(--gold); flex:none; }
.lic-choice #licAccount, .lic-choice #licMachine{ margin-top:10px; }
.lic-choice [hidden]{ display:none !important; }
.mf-dialog[open]{ max-height:92vh; overflow:auto; }

/* Product picture gallery */
.gallery .thumbs{ display:flex; gap:8px; flex-wrap:wrap; padding:8px 12px 0; }
.gallery .thumb{ width:72px; height:46px; padding:0; border:2px solid var(--line); border-radius:6px; overflow:hidden; background:none; cursor:pointer; opacity:.75; }
.gallery .thumb.on, .gallery .thumb:hover{ border-color:var(--gold); opacity:1; }
.gallery .thumb img{ width:100%; height:100%; object-fit:cover; display:block; }
/* Sales */
.price .was{ color:var(--faint); font-size:.85em; text-decoration:line-through; margin-right:4px; }
.price .now{ color:var(--gold); }
.sale-tag{ margin:-2px 0 8px; font-size:.9rem; color:var(--gold); }
.sale-banner{ display:inline-block; margin:14px 0 0; padding:10px 16px; border-radius:12px; border:1px solid rgba(233,185,73,.45); background:rgba(233,185,73,.1); color:var(--gold); }
.sale-banner strong{ color:var(--gold-hi); }
/* Demo video */
.gallery .vidbox{ position:relative; aspect-ratio:16/9; border-bottom:1px solid var(--line); background:#000; }
.gallery .vidbox iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; }
.gallery .vcover{ position:relative; display:block; width:100%; height:200px; padding:0; border:0; border-bottom:1px solid var(--line); border-radius:0; background:#000; cursor:pointer; }
.gallery .vcover img{ width:100%; height:100%; object-fit:cover; display:block; opacity:.85; }
.gallery .play{ position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); width:54px; height:54px; border-radius:50%; background:rgba(233,185,73,.95); color:#1A1300; display:grid; place-items:center; font-size:22px; padding-left:4px; box-shadow:0 4px 18px rgba(0,0,0,.5); }
.gallery .vthumb{ position:relative; background:#000; }
.gallery .vthumb .play{ width:22px; height:22px; font-size:10px; padding-left:2px; }

/* Checkout: 2nd license, total, store credit, policy box */
.lic-choice .seats{ display:grid; grid-template-columns:1fr 1fr; gap:8px; margin:0 0 10px; }
.lic-choice .seats .radio{ border:1px solid var(--line); border-radius:10px; padding:10px 12px; }
.lic-choice .seats .radio:has(input:checked){ border-color:var(--gold); }
@media (max-width:520px){ .lic-choice .seats{ grid-template-columns:1fr; } }
.buy-total{ margin:0 0 12px; padding:10px 14px; border-radius:10px; background:var(--panel2, rgba(255,255,255,.04)); color:var(--muted); }
.buy-total strong{ color:var(--text); }
.check:has(#agree){ align-items:flex-start; margin-top:8px; }
.check #agree{ margin-top:4px; flex:none; }
#payCredit{ width:100%; margin-bottom:8px; }
[hidden]{ display:none !important; }

/* My Account: licenses and store credit */
.credit-box{ border-color:var(--gold-line, var(--gold)); margin-bottom:16px; }
.lics{ list-style:none; margin:10px 0 14px; padding:0; display:grid; gap:8px; }
.lics li{ border:1px solid var(--line); border-radius:10px; padding:10px 12px; }
.lics .lic-head{ display:flex; flex-wrap:wrap; gap:6px 12px; align-items:baseline; }
.lics code{ font-family:var(--mono); font-size:.88rem; color:var(--text); word-break:break-all; }
.lics .st{ font-size:.85rem; }
.lics .st.pending{ color:var(--gold); } .lics .st.created{ color:var(--green); } .lics .st.empty, .lics .st.off{ color:var(--faint); }
.lics form{ display:flex; flex-wrap:wrap; gap:8px; margin-top:8px; }
.lics form input{ flex:1 1 220px; margin:0; }
.lics form .btn{ padding:8px 14px; }
.lics .linkbtn{ background:none; border:0; color:var(--gold); padding:0; cursor:pointer; font:inherit; font-size:.88rem; }
