/* Storefront package "trust" — become a seller (/me/seller) + scammer
 * reports (/report-scammer …). Same tokens as theme-v2 / pages.css; every
 * class is sf-trust-*. Loaded on every page by the storefront layout, so
 * nothing here touches a bare element or another package's class. */

.sf-trust-req { color: var(--v2-pink); margin-left: 2px; }
.sf-trust-wide { width: 100%; }
.sf-trust-center { text-align: center; justify-content: center; }
.sf-trust-h2 { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; font: 800 17px/1.35 'Noto Sans Thai', var(--v2-display); margin-bottom: 6px; }
.sf-trust-h2 .icon { width: 19px; height: 19px; color: var(--v2-accent); }
.sf-trust-h2 small { font: 400 12px 'Noto Sans Thai', sans-serif; }
.sf-trust-h2.is-gap { margin-top: 28px; }
.sf-trust-sub { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; font-size: 13px; font-weight: 700; margin: 22px 0 10px; }
.sf-trust-sub small { font-size: 11px; font-weight: 400; color: var(--v2-muted); }
.sf-trust-privacy { display: flex; gap: 10px; align-items: flex-start; margin-top: 18px; padding: 10px 12px; font-size: 12px; color: var(--v2-muted); background: #00f0ff08; border-left: 2px solid var(--v2-accent); }
.sf-trust-privacy .icon { width: 16px; height: 16px; color: var(--v2-accent); margin-top: 2px; }
.sf-alert.sf-trust-info { border-color: #00f0ff55; background: #00f0ff0a; color: #bff9ff; margin: 0 0 18px; }
.sf-alert.sf-trust-ok { border-color: #3ee8a066; background: #3ee8a00d; color: #9ff5cf; margin: 0 0 20px; }
.sf-alert.sf-trust-info a { color: var(--v2-accent); padding: 0; font-size: inherit; }
.sf-trust-count { font: 700 10px var(--v2-mono); padding: 3px 6px; background: #ffffff14; color: var(--v2-muted); }
.sf-trust-spin { display: inline-block; width: 16px; height: 16px; border: 2px solid #00f0ff44; border-top-color: var(--v2-accent); border-radius: 50%; animation: sf-trust-spin .8s linear infinite; }
@keyframes sf-trust-spin { to { transform: rotate(360deg); } }

/* badges / avatar */
.sf-trust-badge { flex: 0 0 auto; width: 46px; height: 46px; display: inline-grid; place-items: center; border: 1px solid #ffffff33; color: var(--v2-text); }
.sf-trust-badge .icon { width: 22px; height: 22px; }
.sf-trust-badge.is-ok { color: #3ee8a0; border-color: #3ee8a066; background: #3ee8a00f; }
.sf-trust-badge.is-warn { color: #ffcf00; border-color: #ffcf0066; background: #ffcf000d; }
.sf-trust-badge.is-bad { color: #ff5c9d; border-color: #ff006e77; background: #ff006e12; }
.sf-trust-badge.is-big { width: 64px; height: 64px; margin: 0 auto 14px; }
.sf-trust-badge.is-big .icon { width: 30px; height: 30px; }
.sf-trust-avatar { flex: 0 0 auto; width: 42px; height: 42px; display: inline-grid; place-items: center; font: 900 20px var(--v2-display); color: #fff; background: linear-gradient(135deg, var(--v2-pink), #8a0040); clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%); }
.sf-trust-avatar.is-big { width: 58px; height: 58px; font-size: 26px; }

/* status head row (hub states, detail head) */
.sf-trust-status-head { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 16px; margin-bottom: 18px; }
.sf-trust-status-head > div { flex: 1 1 240px; min-width: 0; }
.sf-trust-status-head .sf-note { margin-top: 2px; }
.sf-trust-kv { max-width: 560px; }
.sf-trust-kv dd { word-break: break-word; }
.sf-trust-inline-form { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 12px; margin-top: 20px; padding-top: 18px; border-top: 1px dashed var(--v2-line); }
.sf-trust-inline-form .sf-field { flex: 1 1 240px; }
.sf-trust-reason { max-width: 520px; margin: 12px auto; padding: 10px 14px; border: 1px solid #ff006e55; background: #ff006e0d; color: #ffb3cf; font-size: 13px; text-align: left; }

/* pending timeline */
.sf-trust-timeline { list-style: none; margin: 0 0 6px; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); max-width: 560px; }
.sf-trust-timeline li { position: relative; display: grid; justify-items: center; gap: 8px; font-size: 11px; color: var(--v2-muted); text-align: center; }
.sf-trust-timeline li + li::before { content: ''; position: absolute; top: 18px; right: calc(50% + 24px); width: calc(100% - 48px); height: 1px; background: var(--v2-line); }
.sf-trust-timeline span { width: 36px; height: 36px; display: grid; place-items: center; border: 1px dashed #ffffff33; }
.sf-trust-timeline .icon { width: 16px; height: 16px; }
.sf-trust-timeline .is-done { color: #3ee8a0; }
.sf-trust-timeline .is-done span { border: 1px solid #3ee8a066; background: #3ee8a012; }
.sf-trust-timeline .is-now { color: #ffcf00; font-weight: 700; }
.sf-trust-timeline .is-now span { border: 1px solid #ffcf00; background: #ffcf0014; box-shadow: 0 0 16px #ffcf0026; }
.sf-trust-timeline .is-done + li::before, .sf-trust-timeline .is-now::before { background: linear-gradient(90deg, #3ee8a0, #ffcf00); }

/* summary tiles */
.sf-trust-tiles { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 10px; margin: 0; }
.sf-trust-tiles > div { padding: 12px 14px; background: #ffffff05; border: 1px solid var(--v2-line); min-width: 0; }
.sf-trust-tiles dt { font: 400 10px var(--v2-mono); letter-spacing: 1px; text-transform: uppercase; color: var(--v2-muted); }
.sf-trust-tiles dd { margin: 4px 0 0; font-weight: 600; font-size: 13px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* thumbnails (docs, evidence) */
.sf-trust-thumbs { display: flex; flex-wrap: wrap; gap: 10px; }
.sf-trust-thumb { position: relative; width: 104px; height: 104px; display: grid; place-items: center; overflow: hidden; background: var(--v2-surface-2); border: 1px solid #ffffff24; transition: border-color .2s, transform .2s; }
.sf-trust-thumb:hover { border-color: var(--v2-accent); transform: translateY(-2px); }
.sf-trust-thumb img { width: 100%; height: 100%; object-fit: cover; }
.sf-trust-thumb span { position: absolute; left: 0; right: 0; bottom: 0; padding: 3px 5px; font-size: 9px; text-align: center; background: #000000b3; color: #fff; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sf-trust-thumb.is-file { color: #ffcf00; }
.sf-trust-thumb.is-file b { font: 700 14px var(--v2-mono); }
.sf-trust-thumbs.is-sm { margin-bottom: 10px; }
.sf-trust-thumbs.is-sm .sf-trust-thumb { width: 64px; height: 64px; }
.sf-trust-thumb.is-evi { width: 132px; height: 132px; }

/* wizard stepper (hub: horizontal · report form: .is-rail vertical on desktop) */
.sf-trust-steps { list-style: none; margin: 0 0 18px; padding: 14px 16px; display: flex; gap: 6px; overflow-x: auto; scrollbar-width: none; background: var(--v2-surface); border: 1px solid #ffffff1a; }
.sf-trust-steps li { flex: 1 1 0; min-width: 72px; display: flex; justify-content: center; position: relative; }
.sf-trust-steps li + li::before { content: ''; position: absolute; top: 17px; right: calc(50% + 24px); width: calc(100% - 48px); height: 2px; background: var(--v2-line); }
.sf-trust-steps li.is-done + li::before, .sf-trust-steps li.is-done + li.is-now::before { background: var(--v2-accent); }
.sf-trust-steps li > .sf-trust-step-in, .sf-trust-steps li > button { display: grid; justify-items: center; gap: 6px; font-size: 11px; color: var(--v2-muted); text-align: center; padding: 0; }
.sf-trust-steps li > button:hover { color: var(--v2-accent); }
.sf-trust-step-dot { width: 36px; height: 36px; display: grid; place-items: center; font: 700 13px var(--v2-mono); border: 1px solid #ffffff33; background: var(--v2-bg); position: relative; z-index: 1; }
.sf-trust-step-dot .icon { width: 17px; height: 17px; }
.sf-trust-steps .is-done .sf-trust-step-dot { border-color: var(--v2-accent); color: var(--v2-accent); background: #00f0ff12; }
.sf-trust-steps .is-now .sf-trust-step-dot { border-color: var(--v2-accent); color: #07101a; background: var(--v2-accent); box-shadow: 0 0 18px #00f0ff55; }
.sf-trust-steps .is-now .sf-trust-step-label { color: var(--v2-text); font-weight: 700; }
.sf-trust-step-label { white-space: nowrap; }
.sf-trust-revisit { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 8px 16px; margin-bottom: 14px; padding: 10px 14px; border: 1px solid #ffcf0055; background: #ffcf000a; color: #ffe27a; font-size: 12px; }
.sf-trust-revisit .text-link { color: var(--v2-accent); padding: 0; font-size: 12px; }

.sf-trust-step .sf-form-grid { margin-top: 18px; }
.sf-trust-foot { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: 24px; padding-top: 18px; border-top: 1px solid var(--v2-line); }

/* step 1: type cards */
.sf-trust-types { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 18px; }
.sf-trust-type { position: relative; display: grid; justify-items: center; gap: 6px; padding: 24px 18px; text-align: center; border: 1px solid #ffffff24; background: #ffffff04; cursor: pointer; transition: border-color .2s, background .2s; }
.sf-trust-type:hover { border-color: #00f0ff88; }
.sf-trust-type input { position: absolute; top: 14px; right: 14px; width: 18px; height: 18px; accent-color: var(--v2-accent); }
.sf-trust-type:has(input:checked) { border-color: var(--v2-accent); background: #00f0ff0d; box-shadow: inset 0 0 30px #00f0ff0d; }
.sf-trust-type-ic { width: 52px; height: 52px; display: grid; place-items: center; border: 1px solid #00f0ff55; color: var(--v2-accent); margin-bottom: 4px; }
.sf-trust-type-ic .icon { width: 24px; height: 24px; }
.sf-trust-type b { font-size: 16px; }
.sf-trust-type small { font-size: 12px; color: var(--v2-muted); line-height: 1.6; }

/* step 2: OTP + postcode lookup */
.sf-trust-otp { max-width: 420px; margin-top: 18px; }
.sf-trust-pin { font: 700 22px var(--v2-mono) !important; letter-spacing: 8px; text-align: center; }
.sf-trust-otp-meta { display: flex; flex-wrap: wrap; gap: 6px 16px; align-items: center; margin-top: 10px; }
.sf-trust-otp-meta .text-link { padding: 0; color: var(--v2-accent); font-size: 12px; }
.sf-trust-zip { position: relative; }
.sf-trust-zip label small { font-weight: 400; }
.sf-trust-zip-menu { position: absolute; left: 0; right: 0; top: 100%; z-index: 20; margin-top: 4px; max-height: 280px; overflow: auto; background: var(--v2-surface); border: 1px solid #00f0ff55; box-shadow: 0 20px 40px #000c; }
.sf-trust-zip-menu button { display: flex; width: 100%; justify-content: space-between; gap: 12px; padding: 10px 12px; font-size: 12px; text-align: left; border-bottom: 1px solid var(--v2-line); }
.sf-trust-zip-menu button:hover, .sf-trust-zip-menu button:focus-visible { background: #00f0ff12; color: var(--v2-accent); }
.sf-trust-zip-menu b { font: 700 12px var(--v2-mono); color: var(--v2-accent); }
.sf-trust-zip-menu p { padding: 10px 12px; font-size: 12px; color: var(--v2-muted); }

/* file dropzone + previews (step 3, report evidence) */
.sf-trust-block + .sf-trust-block { margin-top: 8px; }
.sf-trust-dropzone { position: relative; display: grid; justify-items: center; gap: 4px; padding: 22px 16px; text-align: center; border: 1px dashed #ffffff40; background: #ffffff04; color: var(--v2-muted); font-size: 12px; cursor: pointer; transition: border-color .2s, background .2s; }
.sf-trust-dropzone:hover, .sf-trust-dropzone.is-over { border-color: var(--v2-accent); background: #00f0ff0a; color: var(--v2-text); }
.sf-trust-dropzone input { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; }
.sf-trust-dropzone .icon { width: 24px; height: 24px; color: var(--v2-accent); }
.sf-trust-dropzone small { font: 400 10px var(--v2-mono); letter-spacing: 1px; }
.sf-trust-preview { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.sf-trust-preview:empty { display: none; }
.sf-trust-pv { position: relative; width: 84px; height: 84px; background: var(--v2-surface-2); border: 1px solid #ffffff24; overflow: hidden; }
.sf-trust-pv > a, .sf-trust-pv > span.sf-trust-pv-doc { display: grid; place-items: center; width: 100%; height: 100%; }
.sf-trust-pv img { width: 100%; height: 100%; object-fit: cover; }
.sf-trust-pv-doc { font: 700 11px var(--v2-mono); color: #ffcf00; padding: 6px; text-align: center; word-break: break-all; }
.sf-trust-pv-n { position: absolute; left: 0; bottom: 0; padding: 2px 5px; font: 700 9px var(--v2-mono); background: #000000c0; color: var(--v2-accent); }
.sf-trust-pv-x { position: absolute; right: 0; top: 0; width: 24px; height: 24px; display: grid; place-items: center; background: #000000c0; color: #fff; font-size: 15px; line-height: 1; }
.sf-trust-pv-x:hover { background: var(--v2-pink); }

/* step 4/5: KYC photo zones */
.sf-trust-kyc { display: grid; gap: 6px; cursor: pointer; }
.sf-trust-kyc-title { font-size: 12px; color: var(--v2-muted); }
.sf-trust-kyc-zone { position: relative; display: grid; justify-items: center; align-content: center; gap: 6px; min-height: 150px; padding: 8px; overflow: hidden; text-align: center; font-size: 12px; color: var(--v2-muted); border: 1px dashed #ffffff40; background: #ffffff04; transition: border-color .2s; }
.sf-trust-kyc:hover .sf-trust-kyc-zone { border-color: var(--v2-accent); }
.sf-trust-kyc-zone > .icon { width: 26px; height: 26px; color: var(--v2-accent); }
.sf-trust-kyc-zone img { max-height: 200px; width: auto; max-width: 100%; object-fit: contain; }
.sf-trust-kyc-swap { font-size: 11px; color: var(--v2-accent); }
.sf-trust-kyc-busy { position: absolute; inset: 0; z-index: 2; display: none; align-items: center; justify-content: center; background: #0a0014d9; color: var(--v2-accent); font-size: 12px; }
.sf-trust-bank-pick { display: flex; align-items: center; gap: 10px; min-width: 0; }
.sf-trust-bank-pick img { flex: 0 0 34px; width: 34px; height: 34px; object-fit: contain; background: #fff; padding: 3px; }
.sf-trust-bank-pick select { flex: 1 1 auto; min-width: 0; }

/* upload overlay (native multipart submits) */
.sf-trust-overlay { position: fixed; inset: 0; z-index: 90; display: none; place-items: center; background: #05000cdd; backdrop-filter: blur(4px); }
.sf-trust-overlay > div { display: grid; justify-items: center; gap: 8px; padding: 26px 34px; background: var(--v2-surface); border: 1px solid #00f0ff55; text-align: center; }
.sf-trust-overlay .sf-trust-spin { width: 30px; height: 30px; border-width: 3px; }
.sf-trust-overlay small { color: var(--v2-muted); font-size: 11px; }
body.sf-trust-uploading .sf-trust-overlay { display: grid; }

/* ───────── /report-scammer list ───────── */
.sf-trust-hero { position: relative; display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr); gap: 20px 40px; align-items: center; padding: clamp(22px, 4vw, 44px); margin-bottom: 18px; overflow: hidden; background: radial-gradient(ellipse at 85% 40%, #ff006e22, transparent 60%), linear-gradient(150deg, #1a0d2a, #0d0716); border: 1px solid #ff006e44; clip-path: polygon(0 0, calc(100% - 22px) 0, 100% 22px, 100% 100%, 22px 100%, 0 calc(100% - 22px)); }
.sf-trust-hero .sf-kicker { display: inline-flex; align-items: center; gap: 8px; color: var(--v2-pink); }
.sf-trust-hero .sf-kicker .icon { width: 15px; height: 15px; }
.sf-trust-hero h1 { font: 900 clamp(30px, 4.6vw, 56px)/1.1 'Noto Sans Thai', var(--v2-display); letter-spacing: -1px; margin: 12px 0 10px; }
.sf-trust-hero h1 span { color: var(--v2-accent); text-shadow: 0 0 30px #00f0ff33; }
.sf-trust-hero-copy > p { color: var(--v2-muted); font-size: 14px; max-width: 520px; }
.sf-trust-hero-art { margin: 0; display: grid; place-items: center; }
.sf-trust-hero-art img { width: min(100%, 300px); height: auto; filter: drop-shadow(0 20px 40px #000c); }
.sf-trust-search { position: relative; display: flex; align-items: center; max-width: 560px; margin-top: 22px; }
.sf-trust-search > .icon { position: absolute; left: 14px; width: 18px; height: 18px; color: var(--v2-accent); pointer-events: none; }
.sf-trust-search .sf-input { min-height: 52px; padding-left: 44px; padding-right: 76px; font-size: 14px; background: #0a0014cc; }
.sf-trust-search .sf-trust-spin { position: absolute; right: 48px; }
.sf-trust-clear { position: absolute; right: 8px; width: 36px; height: 36px; display: grid; place-items: center; color: var(--v2-muted); }
.sf-trust-clear:hover { color: var(--v2-pink); }
.sf-trust-clear .icon { width: 16px; height: 16px; }
.sf-trust-hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 22px; margin-top: 18px; }
.sf-trust-trust { display: inline-flex; align-items: center; gap: 8px; font-size: 12px; color: var(--v2-muted); }
.sf-trust-trust .icon { width: 16px; height: 16px; color: #3ee8a0; }
.sf-trust-howto { list-style: none; margin: 0 0 26px; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.sf-trust-howto li { display: flex; gap: 12px; align-items: flex-start; padding: 14px 16px; background: var(--v2-surface); border: 1px solid #ffffff14; }
.sf-trust-howto b { flex: 0 0 30px; height: 30px; display: grid; place-items: center; font: 800 13px var(--v2-display); color: var(--v2-bg); background: var(--v2-accent); }
.sf-trust-howto strong { display: block; font-size: 13px; }
.sf-trust-howto span { font-size: 11px; color: var(--v2-muted); }
.sf-trust-result { margin: 0 0 16px; }
.sf-trust-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 16px; }
.sf-trust-card { display: flex; flex-direction: column; background: var(--v2-surface); border: 1px solid #ffffff1a; border-top: 2px solid var(--v2-pink); transition: border-color .2s, transform .2s; }
.sf-trust-card:hover { border-color: #ff006e77; transform: translateY(-2px); }
.sf-trust-card > header { display: flex; gap: 12px; align-items: center; padding: 16px 16px 12px; }
.sf-trust-card > header > div { min-width: 0; display: grid; gap: 6px; justify-items: start; }
.sf-trust-card h3 { font-size: 15px; font-weight: 700; line-height: 1.35; word-break: break-word; }
.sf-trust-facts { display: grid; gap: 0; margin: 0; padding: 0 16px; font-size: 12px; }
.sf-trust-facts > div { display: flex; justify-content: space-between; gap: 14px; padding: 7px 0; border-top: 1px dashed #ffffff14; }
.sf-trust-facts dt { color: var(--v2-muted); flex: 0 0 auto; }
.sf-trust-facts dd { margin: 0; text-align: right; font-weight: 600; min-width: 0; word-break: break-word; }
.sf-trust-facts.is-wide { padding: 0; font-size: 13px; }
.sf-trust-card > footer { margin-top: auto; display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 12px 16px; border-top: 1px solid var(--v2-line); }
.sf-trust-card > footer .text-link { margin-left: auto; color: var(--v2-accent); padding: 0; }
.sf-trust-card > footer { flex-wrap: wrap; }
.sf-trust-when { font: 11px var(--v2-mono); color: var(--v2-muted); }
.sf-trust-hidden-hint { display: inline-flex; gap: 5px; align-items: center; font-size: 11px; color: #ffcf5c; }
.sf-trust-hidden-hint .icon { width: 13px; height: 13px; }
.sf-trust-reveal { font-size: 11px; padding: 6px 10px; border: 1px solid #ffffff33; color: var(--v2-text); }
.sf-trust-reveal:hover { border-color: var(--v2-accent); color: var(--v2-accent); }
.sf-trust-mask { font-family: var(--v2-mono); letter-spacing: 2px; color: var(--v2-muted); }
.sf-trust-mask.is-shown { letter-spacing: 0; color: var(--v2-text); }
.sf-trust-scam .sf-pager button { min-width: 40px; height: 40px; display: inline-grid; place-items: center; padding: 0 10px; border: 1px solid #ffffff1f; font: 13px var(--v2-mono); }
.sf-trust-scam .sf-pager button:hover { border-color: var(--v2-accent); color: var(--v2-accent); }
.sf-trust-empty { text-align: center; }

/* ───────── /report-scammer/new wizard ───────── */
.sf-trust-wizard { display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: 24px; align-items: start; }
.sf-trust-rail { position: sticky; top: 150px; display: grid; gap: 12px; }
.sf-trust-progress { font: 400 10px var(--v2-mono); letter-spacing: 2px; text-transform: uppercase; color: var(--v2-muted); }
.sf-trust-progress b { color: var(--v2-accent); font-size: 14px; }
.sf-trust-steps.is-rail { flex-direction: column; margin: 0; gap: 0; padding: 8px; }
.sf-trust-steps.is-rail li { flex: none; justify-content: flex-start; }
.sf-trust-steps.is-rail li + li::before { display: none; }
.sf-trust-steps.is-rail li > button { display: flex; align-items: center; gap: 12px; width: 100%; padding: 8px; text-align: left; font-size: 13px; }
.sf-trust-steps.is-rail li > button:disabled { opacity: .55; cursor: default; }
.sf-trust-steps.is-rail .sf-trust-step-dot { width: 32px; height: 32px; flex: 0 0 32px; }
.sf-trust-rail .sf-trust-privacy { margin: 0; }
.sf-trust-wbody { min-width: 0; }
.sf-trust-wbody > .sf-alert, .sf-trust-pane > .sf-alert { margin: 0 0 18px; }
.sf-trust-errors { margin-bottom: 18px; padding: 12px 14px; border: 1px solid #ff006e66; background: #ff006e0f; color: #ffb3cf; font-size: 12px; }
.sf-trust-errors ul { margin: 6px 0 4px 18px; padding: 0; }
.sf-trust-errors small { color: var(--v2-muted); }
.sf-trust-pane + .sf-trust-pane { margin-top: 30px; padding-top: 26px; border-top: 1px solid var(--v2-line); }
.sf-trust-pane .sf-form-grid { margin-top: 14px; }
.sf-trust-wizard.is-js .sf-trust-pane { display: none; }
.sf-trust-wizard.is-js .sf-trust-pane.is-active { display: block; margin-top: 0; padding-top: 0; border-top: 0; }
.sf-trust-wizard:not(.is-js) [data-sf-trust-next], .sf-trust-wizard:not(.is-js) [data-sf-trust-back] { display: none; }
.sf-trust-banks { display: grid; gap: 10px; margin: 14px 0 12px; }
.sf-trust-bank-row { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr) 40px; gap: 10px; align-items: center; }
.sf-trust-x { width: 40px; height: 40px; display: grid; place-items: center; border: 1px solid #ffffff24; color: var(--v2-muted); }
.sf-trust-x:hover { color: var(--v2-pink); border-color: #ff006e77; }
.sf-trust-x .icon { width: 16px; height: 16px; }
.sf-trust-review { display: grid; margin: 12px 0 18px; font-size: 13px; border: 1px solid var(--v2-line); }
.sf-trust-review > div { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 12px; padding: 10px 14px; border-bottom: 1px solid var(--v2-line); }
.sf-trust-review > div:last-child { border-bottom: 0; }
.sf-trust-review > div.is-block { grid-template-columns: 1fr; gap: 6px; }
.sf-trust-review dt { color: var(--v2-muted); }
.sf-trust-review dd { margin: 0; font-weight: 600; word-break: break-word; white-space: pre-wrap; }
.sf-trust-review .is-empty dd { color: var(--v2-muted); font-weight: 400; }
.sf-trust-rv-group + .sf-trust-rv-group { margin-top: 10px; }
.sf-trust-rv-group > small { display: block; color: var(--v2-muted); font-weight: 400; margin-bottom: 6px; }
.sf-trust-rv-group .sf-trust-preview { margin-top: 0; }
.sf-trust-rv-group .sf-trust-pv { width: 60px; height: 60px; }

/* ───────── /report-scammer/{uuid} detail ───────── */
.sf-trust-gate > summary { list-style: none; cursor: pointer; display: grid; justify-items: center; gap: 10px; max-width: 620px; margin: 10px auto 0; padding: 36px 24px; text-align: center; background: var(--v2-surface); border: 1px solid #ff006e55; }
.sf-trust-gate > summary::-webkit-details-marker { display: none; }
.sf-trust-gate > summary .sf-trust-badge.is-big { margin: 0 0 4px; }
.sf-trust-gate > summary .button { margin-top: 8px; }
.sf-trust-gate[open] > summary { display: none; }
.sf-trust-detail-grid { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 18px; align-items: start; }
.sf-trust-detail-main, .sf-trust-detail-side { display: grid; gap: 18px; min-width: 0; }
.sf-trust-detail .sf-panel + .sf-panel { margin-top: 0; }
.sf-trust-name { font: 800 clamp(20px, 2.6vw, 28px)/1.3 'Noto Sans Thai', var(--v2-display); word-break: break-word; }
.sf-trust-prose { white-space: pre-wrap; word-break: break-word; font-size: 14px; line-height: 1.9; color: #ddd5ea; }
.sf-trust-banklist { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.sf-trust-banklist li { display: grid; grid-template-columns: 38px minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 10px 12px; background: #ffffff05; border: 1px solid var(--v2-line); }
.sf-trust-banklist img { width: 38px; height: 38px; object-fit: contain; background: #fff; padding: 3px; }
.sf-trust-banklist b { display: block; font-size: 15px; word-break: break-all; }
.sf-trust-banklist small { font-size: 11px; color: var(--v2-muted); }
.sf-trust-copy { font-size: 11px; padding: 6px 10px; border: 1px solid #ffffff33; }
.sf-trust-copy:hover, .sf-trust-copy.is-copied { border-color: var(--v2-accent); color: var(--v2-accent); }
.sf-trust-dispute .button { margin-top: 12px; }
.sf-dialog-head [data-sf-trust-close] { width: 32px; height: 32px; display: grid; place-items: center; color: var(--v2-muted); }
.sf-dialog-head [data-sf-trust-close]:hover { color: var(--v2-pink); }
.sf-dialog-head [data-sf-trust-close] .icon { width: 18px; height: 18px; }
.sf-trust-dispute-form { margin-top: 14px; }
.sf-trust-dispute-acts { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 10px; margin-top: 6px; }
.sf-form .sf-trust-dispute-acts .button { width: auto; flex: 0 1 auto; min-width: 120px; }
.sf-trust-dispute-form input[type=file].sf-input { min-height: 0; padding: 8px; font-size: 12px; }

/* lightbox / gallery (built by pkg-trust.js; pkg-selling's [data-sell-zoom] uses it too) */
.sf-trust-lightbox { width: min(1000px, calc(100% - 24px)); max-height: calc(100vh - 24px); padding: 0; background: #05000c; border: 1px solid #00f0ff55; overflow: hidden; }
.sf-trust-lightbox::backdrop { background: #05000ce6; }
.sf-trust-lightbox .sf-dialog-head { gap: 12px; font: 600 13px 'Noto Sans Thai', sans-serif; text-transform: none; }
.sf-trust-lb-cap { min-width: 0; flex: 1 1 auto; display: grid; }
.sf-trust-lb-cap b { font-weight: 700; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sf-trust-lb-cap small { font: 11px var(--v2-mono); color: var(--v2-accent); }
.sf-trust-lb-cap small:empty { display: none; }
.sf-trust-lb-n { flex: 0 0 auto; font: 700 11px var(--v2-mono); color: var(--v2-muted); }
.sf-trust-lb-stage { position: relative; display: grid; place-items: center; }
.sf-trust-lb-stage img { width: 100%; max-height: calc(100vh - 90px); object-fit: contain; }
.sf-trust-lb-nav { display: none; position: absolute; top: 50%; width: 44px; height: 44px; margin-top: -22px; place-items: center; background: #05000ccc; border: 1px solid #00f0ff55; color: var(--v2-accent); }
.sf-trust-lb-nav:hover { background: #00f0ff26; }
.sf-trust-lb-nav .icon { width: 20px; height: 20px; }
.sf-trust-lb-nav.is-prev { left: 10px; }
.sf-trust-lb-nav.is-next { right: 10px; }
.sf-trust-lightbox.is-set .sf-trust-lb-nav { display: grid; }

/* ───────── responsive ───────── */
@media (max-width: 1080px) {
  .sf-trust-wizard, .sf-trust-detail-grid { grid-template-columns: 1fr; }
  .sf-trust-rail { position: static; }
  .sf-trust-steps.is-rail { flex-direction: row; overflow-x: auto; }
  .sf-trust-steps.is-rail li { flex: 1 1 0; justify-content: center; }
  .sf-trust-steps.is-rail li > button { flex-direction: column; gap: 6px; font-size: 11px; text-align: center; }
  .sf-trust-rail .sf-trust-privacy { display: none; }
  /* one column: the accounts to check come right after the suspect facts */
  .sf-trust-detail-grid { display: flex; flex-direction: column; align-items: stretch; }
  .sf-trust-detail-main, .sf-trust-detail-side { display: contents; }
  .sf-trust-detail-grid > * > .sf-panel { order: 4; }
  .sf-trust-detail-grid .sf-trust-sec-facts { order: 1; }
  .sf-trust-detail-grid .sf-trust-sec-banks { order: 2; }
  .sf-trust-detail-grid .sf-trust-sec-contacts { order: 3; }
  .sf-trust-detail-grid .sf-trust-dispute { order: 9; }
}
@media (max-width: 680px) {
  .sf-trust-hero { grid-template-columns: 1fr; }
  .sf-trust-hero-art { display: none; }
  .sf-trust-howto { grid-template-columns: 1fr; gap: 6px; }
  .sf-trust-howto li { padding: 10px 12px; }
  .sf-trust-types { grid-template-columns: 1fr; }
  .sf-trust-grid { grid-template-columns: 1fr; }
  .sf-trust-steps { padding: 12px 8px; }
  .sf-trust-steps li { min-width: 58px; }
  .sf-trust-step-label { font-size: 10px; white-space: normal; }
  .sf-trust-bank-row { grid-template-columns: minmax(0, 1fr) 40px; }
  .sf-trust-bank-row > .sf-trust-bank-pick { grid-column: 1 / -1; }
  .sf-trust-review > div { grid-template-columns: 1fr; gap: 2px; }
  .sf-trust-foot { flex-wrap: wrap-reverse; }
  .sf-trust-foot .button { padding-inline: 16px; gap: 10px; white-space: nowrap; }
  .sf-trust-foot > .button-primary, .sf-trust-foot > .button-dark { flex: 1 1 auto; justify-content: center; }
  .sf-trust-thumb.is-evi { width: calc(50% - 5px); height: auto; aspect-ratio: 1; }
  .sf-trust-tiles { grid-template-columns: 1fr; }
}

/* instant validation (pkg-trust.js) */
[data-sf-trust-hub] .sf-input[aria-invalid="true"], [data-sf-trust-hub] .sf-select[aria-invalid="true"] { border-color: #ff006e99; }
[data-sf-trust-hub] .sf-trust-kyc[aria-invalid="true"] .sf-trust-kyc-zone, [data-sf-trust-hub] .sf-trust-types[aria-invalid="true"] .sf-trust-type { border-color: #ff006e99; }
