/* ============================================================
   ENTHUSIAST EXCHANGE — BUILD GALLERY (native render of the shared gallery)
   ============================================================ */
.chero{ background:var(--ocean-900); color:#fff; padding:38px 0 30px; }
.chero__kick{ font-family:var(--f-mono); font-size:10px; letter-spacing:.16em; text-transform:uppercase; color:var(--lime); margin-bottom:10px; }
.chero h1{ font-family:var(--f-head); font-weight:800; text-transform:uppercase; font-size:clamp(1.7rem,4.5vw,2.6rem); line-height:.95; }
.chero h1 .hl{ color:var(--lime); }
.chero p{ margin-top:10px; font-size:13.5px; line-height:1.6; color:rgba(255,255,255,.75); max-width:66ch; }
.chero p b{ color:#fff; }
.gtools{ background:var(--ocean-900); padding-bottom:22px; }
.gtools .wrap{ display:flex; gap:8px; flex-wrap:wrap; }
.gpill{ font-family:var(--f-mono); font-size:10px; letter-spacing:.06em; text-transform:uppercase; color:#fff; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.18); border-radius:var(--pill); padding:8px 14px; text-decoration:none; }
.gpill--active{ background:#CE202F; border-color:#CE202F; }
.psec{ padding-block:28px 48px; background:var(--bone); }
.ggrid{ display:grid; grid-template-columns:1fr; gap:16px; }
@media (min-width:700px){ .ggrid{ grid-template-columns:1fr 1fr; } }
@media (min-width:1080px){ .ggrid{ grid-template-columns:repeat(3,1fr); } }
.xgc{ background:var(--paper); border:1px solid var(--line); border-radius:var(--r); overflow:hidden; display:flex; flex-direction:column; }
.xgc__head{ display:flex; align-items:center; gap:10px; padding:11px 13px; }
.xgc__av{ width:32px; height:32px; border-radius:50%; background:#101214; color:#fff; display:grid; place-items:center; font-family:var(--f-head); font-weight:800; font-size:11px; flex:none; }
.xgc__hi{ min-width:0; flex:1; }
.xgc__hi b{ display:block; font-size:13px; color:var(--ink); line-height:1.2; }
.xgc__hi span{ font-family:var(--f-mono); font-size:9px; letter-spacing:.04em; text-transform:uppercase; color:var(--carbon); }
.xgc__votes{ font-family:var(--f-mono); font-size:10.5px; color:#F5A623; white-space:nowrap; }
.xgc__photo img{ width:100%; height:210px; object-fit:cover; display:block; }
.xgc__chips{ display:flex; flex-wrap:wrap; gap:6px; padding:10px 13px 2px; }
.xgc__chip{ font-family:var(--f-mono); font-size:9px; letter-spacing:.04em; text-transform:uppercase; background:var(--bone); border:1px solid var(--line-2); border-radius:var(--pill); padding:4px 9px; color:var(--ink); }
.xgc__shop{ padding:10px 13px 13px; display:flex; flex-direction:column; gap:8px; margin-top:auto; }
.xgc__lbl{ font-family:var(--f-mono); font-size:8.5px; letter-spacing:.1em; text-transform:uppercase; color:var(--carbon); }
.xgc__row{ display:flex; align-items:center; gap:10px; border:1px solid var(--line-2); border-radius:9px; padding:9px 11px; }
.xgc__row--used{ border:1.5px solid #CE202F; }
.xgc__ri{ flex:1; min-width:0; }
.xgc__tag{ display:block; font-family:var(--f-mono); font-size:8px; letter-spacing:.07em; text-transform:uppercase; color:var(--carbon); }
.xgc__tag--used{ color:#CE202F; font-weight:700; }
.xgc__ri b{ font-size:12px; color:var(--ink); }
.xgc__price{ display:block; font-family:var(--f-mono); font-size:10px; color:var(--carbon); }
.xgc__btn{ font-family:var(--f-mono); font-size:9.5px; letter-spacing:.06em; text-transform:uppercase; border:1.5px solid var(--ink); border-radius:var(--pill); padding:6px 13px; color:var(--ink); text-decoration:none; white-space:nowrap; }
.xgc__btn--x{ background:#fff; border:2px solid #101214; display:inline-flex; padding:4px 8px; border-radius:var(--pill); }
.xgc__btn--x svg [stroke="#FFFFFF"]{ stroke:#141619; }
.xgc__btn--x:hover{ border-color:#CE202F; }
.glayout{ display:grid; grid-template-columns:1fr; gap:18px; }
@media (min-width:1000px){ .glayout{ grid-template-columns:250px 1fr; align-items:start; } }
.grail{ background:var(--paper); border:1px solid var(--line); border-radius:var(--r); }
.grail summary{ list-style:none; cursor:pointer; padding:13px 15px; font-family:var(--f-head); font-weight:800; text-transform:uppercase; font-size:13.5px; color:var(--ink); display:flex; justify-content:space-between; align-items:center; }
.grail summary::-webkit-details-marker{ display:none; }
.grail summary::after{ content:"+"; font-size:17px; color:#CE202F; }
.grail[open] summary::after{ content:"–"; }
.grail__body{ padding:0 15px 15px; }
.gfg{ border-top:1px solid var(--line-2); padding:11px 0; }
.gfg > b{ display:block; font-family:var(--f-mono); font-size:9px; letter-spacing:.1em; text-transform:uppercase; color:var(--carbon); margin-bottom:8px; }
.gfg label{ display:flex; align-items:center; gap:8px; font-size:12.5px; color:var(--ink); padding:3px 0; cursor:pointer; }
.gfg label input{ accent-color:#CE202F; width:15px; height:15px; }
.gfg label span{ margin-left:auto; font-family:var(--f-mono); font-size:9px; color:var(--carbon); }
.gfg select{ width:100%; font-size:14px; padding:9px 11px; border:1px solid var(--line-input); border-radius:8px; background:#fff; color:var(--ink); margin-bottom:6px; }
.gsort{ display:flex; justify-content:space-between; align-items:center; gap:10px; flex-wrap:wrap; margin-bottom:13px; }
.gsort .res{ font-family:var(--f-mono); font-size:10px; letter-spacing:.05em; text-transform:uppercase; color:var(--carbon); }
.gsort select{ font-size:13px; padding:9px 12px; border:1px solid var(--line-input); border-radius:8px; background:#fff; color:var(--ink); }
.gnote{ margin-top:20px; background:var(--paper); border:1.5px solid #CE202F; border-radius:var(--r); padding:16px 18px; }
.gnote .k{ font-family:var(--f-mono); font-size:9px; letter-spacing:.12em; text-transform:uppercase; color:#CE202F; margin-bottom:6px; }
.gnote p{ font-size:13px; line-height:1.65; color:var(--ink); }
.gcta{ margin-top:16px; background:var(--ocean-900); border-radius:var(--r); padding:24px 22px; display:flex; flex-wrap:wrap; gap:14px; align-items:center; justify-content:space-between; }
.gcta h2{ font-family:var(--f-head); font-weight:800; text-transform:uppercase; color:#fff; font-size:clamp(1.05rem,2.4vw,1.4rem); }
.gcta p{ color:rgba(255,255,255,.7); font-size:12px; margin-top:4px; }

/* ==== utilities (extracted from inline style attributes) ==== */
.u514b1a5{ color:#fff !important; border-color:rgba(255,255,255,.4) !important; }
.u78f6f2c{ margin-top:12px !important; }
.uca8b030{ display:flex !important; align-items:center !important; gap:8px !important; font-family:var(--f-mono) !important; font-size:9.5px !important; letter-spacing:.06em !important; text-transform:uppercase !important; color:var(--carbon) !important; }
.ucafc782{ display:flex !important; gap:10px !important; flex-wrap:wrap !important; }
