/* prices.css — /prices/ only (Ohio Price Watch, design/13-prices.md). Tokens from tokens.css; classes px-. */
.px-hero .sub{max-width:var(--prose);font-size:var(--fs-4);line-height:var(--lh-body)}
.px-new{max-width:var(--prose);margin:var(--s-4) 0}
.px-new p{margin:0 0 var(--s-2)}
.px-new p:last-child{margin:0}
.px-count{font-weight:600}
.px-cta{display:flex;flex-wrap:wrap;gap:var(--s-2);margin:var(--s-4) 0 0}
.px-steps{max-width:var(--prose);padding-left:1.4em;line-height:var(--lh-body)}
.px-steps li{margin-bottom:var(--s-2)}

.px-gate p{max-width:var(--prose)}
.px-form{max-width:40rem}
.px-form fieldset{border:1px solid var(--line);border-radius:var(--r-3);padding:var(--s-4);margin:0 0 var(--s-4);background:var(--panel)}
.px-form legend{font-weight:600;padding:0 var(--s-2)}
.px-f{display:flex;flex-direction:column;gap:6px;margin-bottom:var(--s-3)}
.px-f:last-child{margin-bottom:0}
.px-f label{font-weight:500;font-size:var(--fs-3)}
.px-form input:not([type=checkbox]):not([type=file]),.px-form select,.px-form textarea,.px-queue input{
  font:inherit;font-size:var(--fs-4);color:var(--ink);background:var(--panel-2);border:1px solid var(--line-strong);
  border-radius:var(--r-2);padding:8px 10px;min-height:44px;width:100%;box-sizing:border-box}
.px-form textarea{min-height:88px;resize:vertical}
.px-form input:focus-visible,.px-form select:focus-visible,.px-form textarea:focus-visible,.px-queue input:focus-visible{outline:2px solid var(--focus);outline-offset:1px}
.px-form [aria-invalid=true]{border-color:var(--bad)}
.px-form input[type=file]{font-size:var(--fs-3);min-height:44px}
.px-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-3)}
.px-money,.px-size{display:flex;align-items:center;gap:6px}
.px-money span{font-weight:600;color:var(--muted)}
.px-unit{color:var(--muted);white-space:nowrap;min-width:3.5em}
.px-check label{display:flex;gap:10px;align-items:flex-start;font-weight:400;line-height:1.4;min-height:32px}
.px-check input{width:20px;height:20px;margin:1px 0 0;flex:none;accent-color:var(--accent)}
.px-hint{color:var(--muted);font-size:var(--fs-2);margin:0;line-height:1.4}
.px-err{color:var(--bad);font-size:var(--fs-2);margin:0}
.px-msg{min-height:1.4em;font-weight:500;max-width:var(--prose)}
.px-previews{display:flex;gap:var(--s-2);flex-wrap:wrap}
.px-prev{width:96px;height:96px;object-fit:cover;border-radius:var(--r-2);border:1px solid var(--line)}

.px-list th[scope=row],.px-t th[scope=row]{font-weight:600;color:var(--ink);font-size:var(--fs-2);letter-spacing:normal;text-transform:none}
.px-list th[scope=row]{min-width:10rem}
.px-t th[scope=row]{min-width:9rem}
.px-list td,.px-list th,.px-t td,.px-t th{padding:8px 10px;border-bottom:1px solid var(--line);vertical-align:top;text-align:left}
.px-list .n,.px-t .n{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.px-t th[scope=row] a{font-weight:600}
#results h3,#items h3{margin:var(--s-5) 0 var(--s-2)}

.px-cards{list-style:none;padding:0;margin:0;display:grid;gap:var(--s-3);grid-template-columns:repeat(auto-fill,minmax(min(100%,22rem),1fr))}
.px-card{display:flex;gap:var(--s-3);padding:var(--s-3);border:1px solid var(--line);border-radius:var(--r-3);background:var(--panel)}
.px-phs{display:flex;flex-direction:column;gap:6px;flex:none}
.px-ph img{display:block;width:96px;height:96px;object-fit:cover;border-radius:var(--r-2);border:1px solid var(--line);background:var(--panel-2)}
.px-body{min-width:0;flex:1}
.px-body p{margin:0 0 4px;font-size:var(--fs-3);line-height:1.4;overflow-wrap:anywhere}
.px-big{font-family:var(--font-display);font-weight:700;font-size:var(--fs-6)}
.px-tags{display:flex;flex-wrap:wrap;gap:4px}
.px-notes{font-style:italic}
.px-vs{font-weight:600;color:var(--warm)}
.px-cards.px-queue{grid-template-columns:minmax(0,44rem)}
.px-queue .px-card{flex-direction:column}
.px-queue .px-phs{flex-direction:row;flex-wrap:wrap}
.px-queue .px-ph img{width:auto;height:auto;max-width:100%;max-height:360px;object-fit:contain}
.px-fix label{display:inline-flex;align-items:center;gap:4px}
.px-fix input{width:7em;min-height:36px}
.px-note{min-height:36px}

@media (max-width:560px){
  .px-row{grid-template-columns:1fr}
  .px-card{flex-direction:column}
  .px-phs{flex-direction:row}
}
