/* The pages where a contractor picks (Astra's taste audit, Boss D6D07ABC "contractors shouldn't have to read"): the bid lists
   (TASTE #5, templates/bid_list.html), the prepare picker (#11, d_prepare.html) and the review step before payment (#15, bid_order.html
   mode "review"). Page rules only, from the D tokens (static/d/system.css); the shared sheets are not edited. Linked with a literal ?v=:
   bump it in all three templates on any change (the edge keeps a static file for 4 hours). */

/* ---------- the list's filter row (bids.css .filter, made compact on this page): two columns on a phone, one row wider ---------- */
.lhead .filter{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px 12px;align-items:end;margin:0;padding:0 0 16px;background:none;box-shadow:none;border-radius:0;border-bottom:1px solid var(--rule)}
.lhead .filter label{gap:4px;margin:0}
.lhead .filter .label{padding-top:0}
.lhead .filter select{min-height:44px;font-size:var(--fs-small)}
.lhead .filter .btn{min-height:44px;padding:0 18px;font-size:var(--fs-small)}
.lhead .filter:not(:has(select[name=county])) .pb-trade{grid-column:1/-1}
@media (min-width:768px){.lhead .filter{display:flex;flex-wrap:wrap}.lhead .filter label{flex:1 1 200px}.lhead .filter .btn{flex:0 0 auto;min-width:96px}}

/* ---------- #5 the bid lists: one surface, the count, the filter row, then the bids ---------- */
.lhead .crumbs{padding-top:14px}
.lh{display:grid;gap:6px;padding:6px 0 14px}
.lh h1{font-size:clamp(28px,3.6vw,44px);line-height:1.08;max-width:24ch;text-wrap:balance}
.lhead .listcount{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 10px;font-size:var(--fs-small);line-height:1.4;color:var(--ink-2)}
.lhead .listcount .v{font-size:var(--fs-block);font-weight:650;letter-spacing:-.01em;line-height:1.3;color:var(--ink)}
.lhead .listcount .u{font-size:var(--fs-small)}
.lhead .listcount .upd::before{content:"·";margin-right:10px}
.listpage .due-group{padding-top:20px}
.listpage .ob-cta{background:var(--sheet);border-color:var(--rule)}
.listpage .l-main>.ob-cta:first-child{margin-top:16px;padding:12px 16px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px}
.listpage .l-main>.ob-cta:first-child p{font-size:var(--fs-small);max-width:none}
.listpage .l-main>.ob-cta:first-child .btn{width:auto;min-height:44px;padding:0 16px;font-size:var(--fs-small)}
.listpage .lfeed{margin-top:24px}

/* ---------- #11 the picker: the price badge, the two selectors (money-d.css .prep-pick, stacked on a phone: UI-FIXES U5), the bids ---------- */
.pk{padding:20px 0 56px}
.pk-top{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px 16px}
.pk-top h1{font-size:clamp(30px,3.6vw,44px);line-height:1.08}
.pk-price{display:inline-flex;align-items:baseline;gap:6px;padding:6px 12px;border-radius:999px;background:var(--well);box-shadow:inset 0 0 0 1px var(--rule);white-space:nowrap}
.pk-price .v{font-size:var(--fs-block);font-weight:650;letter-spacing:-.01em;color:var(--ink)}
.pk-price .u{font-size:var(--fs-small);font-weight:600;color:var(--ink-2)}
.acct .pk .prep-pick{margin:14px 0 0}
.acct .pk .prep-line{margin:16px 0 0}
.acct .pk .picks{margin-top:16px}
.pk-after{margin-top:40px;padding-top:20px;border-top:1px solid var(--rule);max-width:720px;display:grid;gap:8px}
.pk-after h2{font-size:var(--fs-block);line-height:1.3;font-weight:600}
.pk-after p{font-size:var(--fs-small);line-height:1.5;color:var(--ink-2);max-width:68ch}

/* ---------- #15 the review step: steps, the selected bid, the charge, the box beside the button ---------- */
.acct:has(.rv) .ahero .kicker{display:none}
.rv-band{padding:20px 0 48px}
.rv-col{max-width:560px;margin:0 auto;display:grid;gap:14px}
.rv-steps{display:flex;gap:8px;list-style:none;margin:0;padding:0;font-size:var(--fs-small);font-weight:600;color:var(--ink-3)}
.rv-steps li{display:flex;align-items:center;gap:8px}
.rv-steps li+li::before{content:"";width:24px;height:1.5px;background:var(--rule-2)}
.rv-steps .n{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;box-shadow:inset 0 0 0 1.5px var(--rule-2);font-size:var(--fs-fine)}
.rv-steps [aria-current]{color:var(--ink)}
.rv-steps [aria-current] .n{background:var(--ink);color:var(--paper);box-shadow:none}
.acct .rv{display:grid;gap:14px;padding:20px;background:var(--sheet);border:1px solid var(--rule);border-radius:8px}
.acct .rv>p{margin:0}
.rv-bid{display:grid;gap:2px}
.acct .rv .rv-title{font-size:var(--fs-block);line-height:1.3;font-weight:600;color:var(--ink);text-wrap:balance;overflow-wrap:anywhere}
.acct .rv .rv-agency{font-size:var(--fs-small);color:var(--ink-2)}
.rv-sum{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px}
.rv-sum .amt{display:flex;align-items:baseline;gap:8px}
.rv-sum .amt .v{font-size:clamp(40px,7vw,52px);line-height:1;font-weight:600;letter-spacing:-.03em;color:var(--ink)}
.rv-sum .amt .u{font-size:var(--fs-lede);font-weight:500;color:var(--ink-2)}
.rv-chip{display:inline-flex;align-items:baseline;gap:8px;padding:6px 12px;border-radius:999px;background:var(--well);box-shadow:inset 0 0 0 1px var(--rule-2);font-size:var(--fs-small);font-weight:600;color:var(--ink)}
.rv-chip .label{padding-top:0}
.acct .rv .slip-lines{border-top:1px solid var(--rule)}
.acct .rv .slip-lines li{padding:10px 0}
.rv-more{border-bottom:1px solid var(--rule)}
.rv-more summary{display:flex;align-items:center;justify-content:space-between;min-height:44px;cursor:pointer;font-size:var(--fs-small);font-weight:600;color:var(--ink);list-style:none}
.rv-more summary::-webkit-details-marker{display:none}
.rv-more summary::after{content:"";width:8px;height:8px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg);margin-right:4px}
.rv-more[open] summary::after{transform:translateY(2px) rotate(-135deg)}
.rv-more p{margin:0 0 12px;font-size:var(--fs-small);line-height:1.5;color:var(--ink-2)}
.rv-go{display:grid;gap:10px;padding-top:4px}
.acct .rv-go .consent-box{margin:0;padding:14px 16px;background:var(--well);border-radius:6px;font-size:var(--fs-body);font-weight:600;line-height:1.4;cursor:pointer}
.acct .rv-go .consent-box:has(input:not(:checked)){box-shadow:inset 0 0 0 1.5px var(--control-edge)}
.acct .rv-go .slip-hint{display:flex;align-items:center;gap:8px;margin:0;font-size:var(--fs-small);font-weight:600;color:var(--ink)}
.acct .rv-go .slip-hint[hidden]{display:none}
.acct .rv-go .slip-hint::before{content:"";flex:none;width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:8px solid currentColor}
.acct .rv-go .btn{width:100%}
.rv-col .bid-back{margin:0;padding:0}
@media (min-width:768px){.acct .rv{padding:28px}}
@media (max-width:359px){.acct .rv{padding:16px}}
