/* Origin Plugs marketplace (browse, plug pages, builds). Ported from the former Library. */
/* Marketplace components (formerly the Library): calm, spacious, lots of icon tiles. */



.eyebrow { margin: 0 0 10px; font: 400 12px/1.4 var(--f-head); letter-spacing: .3em; text-transform: uppercase; color: var(--gold); }
.muted { color: var(--ink-3); }
.empty { color: var(--ink-3); }

.lv__q { margin: 28px 0 0; color: var(--ink-2); display: flex; gap: 14px; align-items: center; }
.link { border: 0; background: none; cursor: pointer; color: var(--ink-2); font-size: 14px; padding: 2px 0; border-bottom: 1px dotted var(--ink-3); }

.sec { margin-top: 44px; }
.sec__h { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 12px 24px; margin-bottom: 16px; }
.sec__h h2 { margin: 0; font: 300 28px/1.2 var(--f-head); }
.sec__h p { margin: 0; color: var(--ink-3); font-size: 14px; flex-basis: 100%; }

.cats { display: flex; gap: 6px; overflow-x: auto; scrollbar-width: none; max-width: 100%; }
.cats::-webkit-scrollbar { display: none; }
.cat { flex: none; cursor: pointer; padding: 8px 14px; border-radius: 999px; border: 1px solid var(--line-2); background: transparent; font-size: 13px; color: var(--ink-2); }
.cat[aria-selected="true"] { border-color: var(--gold); color: #1a1206; background: var(--gold); }

.grid { display: grid; gap: 12px; grid-template-columns: 1fr; }
@media (min-width: 620px) { .grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 980px) { .grid { grid-template-columns: repeat(3, 1fr); } }
.pc { display: flex; flex-direction: column; gap: 8px; padding: 18px; border-radius: var(--r-lg); border: 1px solid var(--line-2); background: rgba(255,255,255,.02); color: var(--ink); transition: border-color .2s, transform .2s var(--ease), background .2s; }
.pc:hover { color: var(--ink); border-color: var(--line); background: rgba(232,196,126,.035); transform: translateY(-2px); }
.pc .ico { margin-bottom: 4px; }
.pc__t { font: 400 18px/1.3 var(--f-head); }
.pc__s { font-size: 14px; color: var(--ink-2); flex: 1; }
.pc__m { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin-top: 6px; font-size: 12.5px; color: var(--ink-3); }

.brow { display: flex; gap: 12px; overflow-x: auto; padding-bottom: 6px; scroll-snap-type: x mandatory; scrollbar-width: none; }
.brow::-webkit-scrollbar { display: none; }
.bt { flex: none; width: min(78vw, 300px); scroll-snap-align: start; display: flex; flex-direction: column; gap: 8px; padding: 18px; border-radius: var(--r-lg); border: 1px solid var(--line); background: radial-gradient(120% 90% at 0% 0%, rgba(232,196,126,.09), rgba(255,255,255,.015) 60%); color: var(--ink); }
.bt:hover { color: var(--ink); border-color: rgba(232,196,126,.45); }
.bt__t { font: 400 18px/1.3 var(--f-head); }
.bt__s { font-size: 13.5px; color: var(--ink-2); flex: 1; }
.bt__chain { display: flex; gap: 6px; margin-top: 4px; }
.bt__chain .ico--sm { width: 28px; height: 28px; border-radius: 50%; }
.bt__chain .ico--sm svg { width: 15px; height: 15px; }

.cta { display: flex; flex-wrap: wrap; align-items: center; gap: 18px; margin-top: 56px; padding: 24px; border-radius: var(--r-lg); border: 1px dashed var(--line); }
.cta div { flex: 1; min-width: 220px; }
.cta h2 { margin: 0 0 4px; font: 400 22px/1.3 var(--f-head); }
.cta p { margin: 0; color: var(--ink-2); font-size: 14.5px; }

/* plug + build pages */
.back { display: inline-block; margin: 26px 0 0; font-size: 14px; color: var(--ink-3); }
.ph { display: flex; gap: 18px; align-items: flex-start; margin-top: 22px; }
.ph h1 { margin: 0 0 8px; font: 300 clamp(30px, 7vw, 46px)/1.1 var(--f-head); }
.ph__s { margin: 0 0 12px; font-size: 17px; color: var(--ink-2); }
.ph__m { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; margin: 0; font-size: 13px; color: var(--ink-3); }
.ph__go { display: flex; flex-wrap: wrap; gap: 10px; margin: 22px 0 0; }
.pd { display: grid; grid-template-columns: minmax(0, 1fr); gap: 28px; margin-top: 30px; }
.pd > * { min-width: 0; }
@media (min-width: 980px) { .pd { grid-template-columns: minmax(0, 1fr) 300px; gap: 48px; } }
.blk { margin-bottom: 32px; }
.blk h2 { margin: 0 0 12px; font: 400 20px/1.3 var(--f-head); color: var(--gold-hi); }
.blk p { color: var(--ink-2); }
.pend { color: var(--gold); font-family: var(--f-body); }
.side { padding: 16px; border-radius: var(--r-md); border: 1px solid var(--line-2); margin-bottom: 14px; }
.side h3 { margin: 0 0 10px; font: 400 12px/1.4 var(--f-head); letter-spacing: .24em; text-transform: uppercase; color: var(--ink-3); }
.mini { display: flex; align-items: center; gap: 10px; padding: 7px 0; font-size: 14.5px; color: var(--ink); }
.mini:hover { color: var(--gold-hi); }
.tags { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; }
.tags a { padding: 4px 10px; border-radius: 999px; border: 1px solid var(--line-2); font-size: 12.5px; color: var(--ink-2); }

.steps { list-style: none; margin: 30px 0 0; padding: 0; max-width: 720px; }
.st { display: flex; gap: 14px; position: relative; padding-bottom: 14px; }
.st:not(:last-child)::before { content: ""; position: absolute; left: 15px; top: 34px; bottom: 0; width: 1px; background: var(--line); }
.st__n { flex: none; width: 31px; height: 31px; border-radius: 50%; display: grid; place-items: center; font: 400 13px/1 var(--f-head); color: #1a1206; background: linear-gradient(180deg, var(--gold-hi), var(--gold) 60%, var(--gold-lo)); }
.st__card { flex: 1; display: flex; align-items: center; gap: 14px; padding: 14px 16px; border-radius: var(--r-md); border: 1px solid var(--line-2); background: rgba(255,255,255,.02); color: var(--ink); }
.st__card:hover { border-color: var(--line); color: var(--ink); }
.st__b { flex: 1; display: flex; flex-direction: column; gap: 2px; }
.st__t { font: 400 17px/1.3 var(--f-head); display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.st__s { font-size: 14px; color: var(--ink-2); }
.st__go { color: var(--gold); }


.badge-prev { margin: 4px 0 14px; padding: 18px; border-radius: var(--r-md); border: 1px dashed var(--line); display: flex; align-items: center; justify-content: center; min-height: 64px; }
#badge .code pre { max-height: 180px; }

/* hero */
.mh { padding: 56px 0 8px; max-width: 760px; }
.mh h1 { margin: 0 0 14px; font: 300 clamp(36px, 8.6vw, 62px)/1.05 var(--f-head); letter-spacing: -.015em; }
.mh__p { margin: 0 0 22px; font-size: 18px; color: var(--ink-2); max-width: 600px; }
.mh__sf { max-width: 560px; }
.mh__go { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 16px; }
.mh__stats { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin: 22px 0 0; font-size: 14px; color: var(--ink-3); }
.mh__stats b { color: var(--gold-hi); font-weight: 500; }
.mh__stats i { width: 4px; height: 4px; border-radius: 50%; background: var(--ink-3); }

/* sell your own */
.sell { margin-top: 88px; padding-top: 56px; border-top: 1px solid var(--line-2); }
.sell__h h2 { margin: 0; font: 300 clamp(30px, 7vw, 48px)/1.1 var(--f-head); letter-spacing: -.01em; }
.sell .pipe { margin-top: 40px; }
.sell__go { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 40px; }
@media (max-width: 480px) { .mh__go .btn, .sell__go .btn { flex: 1 1 100%; } }
