/* MT Bidding — cards.css (thẻ gói thầu kiểu TGDD) */
.card{background:var(--surface);border:1px solid var(--line);border-radius:8px;overflow:hidden;position:relative;transition:.16s;display:flex;flex-direction:column}
.card:hover{border-color:var(--mt-red);box-shadow:0 8px 22px rgba(179,20,26,.16);transform:translateY(-3px);z-index:3}
.card .thumb{position:relative;aspect-ratio:16/10;overflow:hidden;background:#fff}
.card .thumb img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.card:hover .thumb img{transform:scale(1.05)}
.ribbon{position:absolute;top:8px;left:0;color:#fff;font-size:10.5px;font-weight:700;padding:3px 9px 3px 8px;border-radius:0 20px 20px 0;letter-spacing:.2px;box-shadow:0 2px 5px rgba(0,0,0,.18)}
.st-open{background:var(--green)}.st-soon{background:var(--blue)}.st-closed{background:var(--slate)}.st-result{background:var(--amber)}
.fav{position:absolute;top:6px;right:6px;background:rgba(255,255,255,.95);color:#5B6B7C;font-size:11px;font-weight:700;padding:4px 10px;border-radius:20px;box-shadow:0 1px 4px rgba(0,0,0,.18);transition:.15s;z-index:2}
.fav:hover{color:var(--mt-red)}
.fav.on{background:var(--mt-red);color:#fff}
/* CTA hiện khi hover, trượt lên từ đáy ảnh — không đẩy layout */
.pcta{position:absolute;left:0;right:0;bottom:0;transform:translateY(101%);display:flex;align-items:center;justify-content:center;gap:6px;font-size:12px;font-weight:700;color:#fff;background:var(--brand-grad);padding:8px;transition:transform .2s}
.card:hover .pcta{transform:translateY(0)}

.card .body{padding:9px 10px 10px;display:flex;flex-direction:column;gap:6px;flex:1}
.ptitle{margin:0;font-size:13px;font-weight:600;line-height:1.4;color:var(--text);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:37px}
.pcode{font-size:10.5px;color:var(--text-3);font-family:ui-monospace,Consolas,monospace}
.pprice{display:flex;align-items:baseline;gap:7px;flex-wrap:wrap}
.pprice .price{color:var(--mt-red);font-weight:800;font-size:18px;letter-spacing:-.4px}
.ptag{font-size:10px;font-weight:700;color:#B3141A;background:var(--brand-grad-soft);border-radius:4px;padding:1px 6px}

/* thanh tiến độ kiểu flash-sale TGDD */
.gauge{display:flex;align-items:center;gap:6px;background:#FFF3E0;border-radius:6px;padding:4px 7px}
.gauge .gi{font-size:12px;line-height:1}
.gbar{flex:1;height:8px;border-radius:5px;background:#F3D9C0;overflow:hidden;position:relative}
.gbar i{position:absolute;inset:0 auto 0 0;border-radius:5px;background:linear-gradient(90deg,#FF7A00,#E01F26)}
.gauge b{font-size:10.5px;font-weight:700;color:#B3141A;white-space:nowrap}
.gauge.cool{background:var(--surface-2)}
.gauge.cool .gbar{background:var(--line)}
.gauge.cool .gbar i{background:linear-gradient(90deg,#8FA0AE,#5B6B7C)}
.gauge.cool b{color:var(--slate)}
.gauge.win{background:#FFF6E0}
.gauge.win .gbar i{background:linear-gradient(90deg,#F0B400,#B26A00)}
.gauge.win b{color:var(--amber)}

.pinfo{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--text-2);background:var(--surface-2);border:1px dashed var(--line-strong);border-radius:5px;padding:4px 7px;line-height:1.3}
.pinfo b{color:var(--mt-red);font-weight:700}
.powner{font-size:11px;color:var(--text-2);display:flex;gap:5px;align-items:flex-start;line-height:1.35}
.powner svg{flex:0 0 auto;margin-top:2px;opacity:.55}
.pmeta{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--text-3);margin-top:auto}
.pmeta .loc{margin-left:auto;display:flex;align-items:center;gap:3px;max-width:54%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}

/* specs — vẫn dùng trong modal chi tiết */
.specs{display:flex;flex-wrap:wrap;gap:4px}
.specs span{font-size:10.5px;color:var(--text-2);background:var(--surface-2);border:1px solid var(--line);border-radius:3px;padding:1px 5px}
