/* ============================================================
   ENTHUSIAST EXCHANGE — MOBILE-FIRST LISTING COMPOSER
   The Reverb moment: chrome-free, one column, thumb targets,
   sticky Publish. Desktop gets the same form centered at 560px.
   ============================================================ */
body{ background:var(--bone); padding-bottom:96px; }
.cmp-top{ position:sticky; top:0; z-index:100; background:#101214; color:#fff;
  display:flex; align-items:center; justify-content:space-between; padding:13px 16px; }
.cmp-top__x{ font-size:22px; line-height:1; color:rgba(255,255,255,.75); text-decoration:none; padding:4px 8px; }
.cmp-top__t{ font-family:var(--f-mono); font-size:10.5px; letter-spacing:.14em; text-transform:uppercase; }
.cmp-top__save{ font-family:var(--f-mono); font-size:9.5px; letter-spacing:.06em; text-transform:uppercase; color:#E8505C; }
.cmp{ max-width:560px; margin:0 auto; padding:16px var(--gutter) 24px; display:flex; flex-direction:column; gap:18px; }
.blk{ background:var(--paper); border:1px solid var(--line); border-radius:var(--r); padding:16px; }
.blk__lbl{ font-family:var(--f-mono); font-size:9.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--carbon); margin-bottom:11px; display:flex; justify-content:space-between; }
.blk__lbl .req{ color:#CE202F; }
/* photos */
.ph-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:9px; }
.ph{ position:relative; aspect-ratio:1/1; border-radius:var(--r-sm); overflow:hidden; border:1px solid var(--line); }
.ph img{ width:100%; height:100%; object-fit:cover; }
.ph__tag{ position:absolute; bottom:5px; left:5px; font-family:var(--f-mono); font-size:8px; letter-spacing:.05em;
  text-transform:uppercase; background:rgba(10,12,14,.8); color:#fff; padding:2px 6px; border-radius:3px; }
.ph--add{ border:1.5px dashed var(--line-input); display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:6px; color:var(--carbon); background:var(--paper); cursor:pointer; font-family:var(--f-mono); font-size:9px;
  letter-spacing:.06em; text-transform:uppercase; text-align:center; padding:6px; }
.ph--add svg{ width:22px; height:22px; color:#CE202F; }
.ph--add:hover{ border-color:#CE202F; }
.ph-hint{ margin-top:9px; font-size:12px; color:var(--carbon); line-height:1.5; }
.ph-hint b{ color:var(--ink); }
/* fields */
.fld{ margin-bottom:12px; }
.fld:last-child{ margin-bottom:0; }
.fld label{ display:block; font-family:var(--f-mono); font-size:10px; letter-spacing:.08em; text-transform:uppercase; color:var(--carbon); margin-bottom:6px; }
.fld input, .fld textarea, .fld select{ width:100%; padding:13px; border:1px solid var(--line-input); border-radius:var(--r-sm);
  font-size:16px; color:var(--ink); font-family:var(--f-body); background:var(--paper); }
.fld textarea{ line-height:1.5; resize:vertical; }
.fld input:focus, .fld textarea:focus{ outline:2px solid #CE202F; outline-offset:1px; }
/* prefill result */
.match{ border:1.5px solid #CE202F; border-radius:var(--r-sm); overflow:hidden; margin-top:10px; }
.match__head{ display:flex; align-items:center; gap:8px; padding:9px 12px; background:#101214; color:#fff;
  font-family:var(--f-mono); font-size:9px; letter-spacing:.08em; text-transform:uppercase; }
.match__head svg{ width:13px; height:13px; color:#E8505C; flex:none; }
.match__head b{ color:#E8505C; font-weight:500; }
.match__body{ display:flex; gap:11px; padding:11px 12px; align-items:center; }
.match__img{ width:52px; height:52px; border:1px solid var(--line); border-radius:var(--r-sm); object-fit:contain; padding:4px; background:#fff; flex:none; }
.match__specs{ font-family:var(--f-mono); font-size:10.5px; color:var(--carbon); line-height:1.8; }
.match__specs b{ color:var(--ink); }
/* condition chips */
.cond-chips{ display:grid; grid-template-columns:1fr 1fr; gap:9px; }
.cchip{ border:1.5px solid var(--line-input); border-radius:var(--r-sm); padding:12px; cursor:pointer; transition:var(--t); background:var(--paper); text-align:left; }
.cchip:hover{ border-color:#CE202F; }
.cchip.is-active{ border-color:#CE202F; box-shadow:inset 0 0 0 1.5px #CE202F; background:rgba(206,32,47,.03); }
.cchip b{ display:block; font-family:var(--f-head); font-weight:800; text-transform:uppercase; font-size:13.5px; color:var(--ink); margin-bottom:3px; }
.cchip span{ font-size:11px; color:var(--carbon); line-height:1.4; display:block; }
/* price */
.price-row{ position:relative; }
.price-row .cur{ position:absolute; left:13px; top:50%; transform:translateY(-50%); font-family:var(--f-head); font-weight:800; font-size:18px; color:var(--carbon); }
.price-row input{ padding-left:32px; font-family:var(--f-head); font-weight:800; font-size:22px !important; }
.comp-hint{ display:flex; gap:8px; align-items:flex-start; margin-top:10px; padding:10px 12px; background:var(--bone);
  border-radius:var(--r-sm); font-size:12px; color:var(--carbon); line-height:1.5; }
.comp-hint svg{ width:14px; height:14px; color:#15803d; flex:none; margin-top:2px; }
.comp-hint b{ color:var(--ink); }
.offers-tog{ display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:12px; font-size:13.5px; color:var(--ink); }
.svtog{ position:relative; width:44px; height:25px; border-radius:999px; background:var(--line-input); cursor:pointer; transition:var(--t); border:none; padding:0; flex:none; }
.svtog.is-on{ background:#CE202F; }
.svtog::after{ content:""; position:absolute; top:3px; left:3px; width:19px; height:19px; border-radius:50%; background:#fff; transition:var(--t); }
.svtog.is-on::after{ left:22px; }
/* payout */
.pay2{ display:grid; grid-template-columns:1fr 1fr; gap:9px; }
.psopt{ position:relative; border:1.5px solid var(--line-input); border-radius:var(--r-sm); padding:13px 12px; cursor:pointer; transition:var(--t); background:var(--paper); }
.psopt:hover{ border-color:#CE202F; }
.psopt.is-selected{ border-color:#CE202F; box-shadow:inset 0 0 0 1.5px #CE202F; background:rgba(206,32,47,.03); }
.psopt__lbl{ font-family:var(--f-mono); font-size:8.5px; letter-spacing:.08em; text-transform:uppercase; color:var(--carbon); }
.psopt__amt{ font-family:var(--f-head); font-weight:800; font-size:19px; color:var(--ink); margin-top:4px; }
.psopt__sub{ font-family:var(--f-mono); font-size:8.5px; letter-spacing:.03em; text-transform:uppercase; color:var(--carbon); margin-top:3px; }
.psopt.is-selected .psopt__amt{ color:#CE202F; }
/* terms + sticky publish */
.terms{ display:flex; gap:10px; align-items:flex-start; font-size:12.5px; color:var(--carbon); line-height:1.55; cursor:pointer; }
.terms input{ margin-top:2px; accent-color:#CE202F; width:17px; height:17px; flex:none; }
.terms a{ color:#CE202F; text-decoration:underline; text-underline-offset:2px; }
.pubbar{ position:fixed; left:0; right:0; bottom:0; z-index:110; background:#fff; border-top:1px solid var(--line);
  padding:11px var(--gutter) calc(11px + env(safe-area-inset-bottom)); }
.pubbar__in{ max-width:560px; margin:0 auto; display:flex; align-items:center; gap:12px; }
.pubbar__hint{ font-family:var(--f-mono); font-size:8.5px; letter-spacing:.05em; text-transform:uppercase; color:var(--carbon); line-height:1.5; flex:1; min-width:0; }
.pubbar .btn{ white-space:nowrap; }
.pubbar .btn.is-disabled{ opacity:.45; pointer-events:none; }
.trustline{ text-align:center; font-family:var(--f-mono); font-size:9px; letter-spacing:.08em; text-transform:uppercase; color:var(--carbon); }
.trustline b{ color:#CE202F; }

/* ==== utilities (extracted from inline style attributes) ==== */
.u02c266c{ font-family:var(--f-mono) !important; font-size:9px !important; letter-spacing:.06em !important; text-transform:uppercase !important; color:var(--carbon) !important; }
.u4b744a9{ font-weight:400 !important; text-transform:none !important; letter-spacing:0 !important; }
.u4ba32c1{ font-family:var(--f-head) !important; font-weight:800 !important; font-size:16px !important; color:var(--ink) !important; }
.u576d1f1{ color:#15803d !important; }
.u65a5d11{ font-family:var(--f-mono) !important; font-size:8.5px !important; letter-spacing:.05em !important; text-transform:uppercase !important; color:var(--carbon) !important; }
.u92d1733{ margin-top:10px !important; }
.u989c36e{ color:#CE202F !important; }
.ua1ec103{ font-family:var(--f-mono) !important; font-size:10px !important; letter-spacing:.06em !important; text-transform:uppercase !important; border:1.5px solid #CE202F !important; color:#CE202F !important; background:none !important; border-radius:var(--pill) !important; padding:8px 15px !important; cursor:pointer !important; }
.ua2b47b4{ color:var(--carbon) !important; font-weight:400 !important; }
.ua641404{ font-family:var(--f-mono) !important; font-size:8.5px !important; letter-spacing:.05em !important; text-transform:uppercase !important; color:var(--carbon) !important; margin-top:6px !important; }

/* pickup-only note (2026-08-10) */
.pknote{ border:1.5px dashed var(--line-input); border-radius:var(--r); background:var(--paper); padding:10px 12px; margin:8px 0 2px; font-size:12px; line-height:1.6; color:var(--carbon); }
.pknote b{ color:var(--ink); }
.uc4ca009{ font-family:var(--f-mono) !important; font-size:9px !important; letter-spacing:.05em !important; text-transform:uppercase !important; color:var(--carbon) !important; margin-top:7px !important; line-height:1.7 !important; }
.ucd96c42{ margin-top:8px !important; background:var(--bone) !important; border:1px solid var(--line-2) !important; border-radius:9px !important; padding:9px 12px !important; display:flex !important; justify-content:space-between !important; align-items:center !important; gap:10px !important; }
.ud79ce2b{ margin-top:8px !important; }
.uf2659cc{ display:flex !important; align-items:center !important; gap:10px !important; margin-top:7px !important; flex-wrap:wrap !important; }
.uf7d1426{ display:grid !important; grid-template-columns:repeat(4,1fr) !important; gap:8px !important; }

/* signed-out strip — account is step one, but never blocks the draft (2026-07-27) */
.acct{ background:var(--paper); border:1px solid var(--line); border-radius:var(--r); padding:14px 16px; }
.acct__msg{ font-size:12.5px; line-height:1.5; color:var(--carbon); margin-bottom:10px; }
.acct__msg b{ color:var(--ink); }
.acct__row{ display:flex; gap:8px; }
.acct__row .btn{ flex:1; text-align:center; }

/* ===== v3 (2026-07-27): demo auth lock ===== */
.blk.is-locked{ filter:blur(2px) grayscale(.4); opacity:.55; user-select:none; cursor:pointer; }
.acct--in .acct__msg{ margin-bottom:0; }
.acct--in .ok{ color:#15803d; }
.acct--in a{ color:var(--carbon); text-decoration:underline; text-underline-offset:2px; }

/* sign-in modal — DOM built by ee-auth.js, styled here (CSP: no injected styles) */
.eeam{ position:fixed; inset:0; z-index:1000; display:grid; place-items:center; padding:18px; }
.eeam__back{ position:absolute; inset:0; background:rgba(10,12,14,.62); }
.eeam__card{ position:relative; width:min(400px,100%); background:var(--paper); border-radius:var(--r); box-shadow:0 24px 60px rgba(0,0,0,.35); padding:24px 22px 18px; }
.eeam__x{ position:absolute; top:10px; right:12px; font-size:22px; line-height:1; color:var(--carbon); background:none; border:none; cursor:pointer; padding:4px 8px; }
.eeam__title{ font-family:var(--f-head); font-weight:800; text-transform:uppercase; font-size:19px; color:var(--ink); margin-bottom:6px; }
.eeam__sub{ font-size:12.5px; line-height:1.55; color:var(--carbon); margin-bottom:6px; }
.eeam__lbl{ display:block; font-family:var(--f-mono); font-size:10px; letter-spacing:.08em; text-transform:uppercase; color:var(--carbon); margin:11px 0 5px; }
.eeam__in{ width:100%; padding:12px 13px; border:1px solid var(--line-input); border-radius:var(--r-sm); font-size:15px; color:var(--ink); background:var(--paper); }
.eeam__in:focus{ outline:2px solid var(--command); outline-offset:1px; }
.eeam__err{ background:rgba(206,32,47,.08); border:1px solid var(--command); color:var(--command); border-radius:var(--r-sm); font-size:12px; line-height:1.5; padding:8px 10px; margin-top:10px; }
.eeam__go{ margin:14px 0 8px; }
.eeam__demo{ font-family:var(--f-mono); font-size:8.5px; letter-spacing:.06em; text-transform:uppercase; color:var(--carbon); text-align:center; margin-top:10px; line-height:1.6; }
body.eeam-open{ overflow:hidden; }

.pk{ display:flex; gap:9px; align-items:flex-start; font-size:12px; line-height:1.5; color:var(--carbon); margin-top:11px; }
.pk input{ margin-top:2px; accent-color:#CE202F; width:15px; height:15px; flex:none; }
.pk b{ color:var(--ink); }
