  /* RESULT LIST (replaces card grid) */
  .result-list{display:flex;flex-direction:column;gap:12px;}
  .result-row-highlight{animation:tgbResultHighlight 1.8s ease;}
  @keyframes tgbResultHighlight{
    0%{box-shadow:0 0 0 3px var(--green,#8FC22A);background:rgba(143,194,42,.14);}
    75%{box-shadow:0 0 0 3px var(--green,#8FC22A);background:rgba(143,194,42,.08);}
    100%{box-shadow:0 0 0 0 rgba(143,194,42,0);background:var(--white);}
  }
  .result-row{
    display:flex;align-items:center;gap:18px;background:var(--white);
    border:1px solid var(--line);border-radius:10px;padding:14px;
  }
  .result-row .thumb{width:220px;height:220px;border-radius:8px;object-fit:contain;background:#fff;flex-shrink:0;border:1px solid var(--line);align-self:center;cursor:pointer;}
  .result-row .thumb-icon{
    width:220px;height:220px;border-radius:8px;flex-shrink:0;background:var(--bg-soft);
    display:flex;align-items:center;justify-content:center;border:1px solid var(--line);align-self:center;
  }
  .result-row .thumb-icon svg{width:64px;height:64px;}
  .result-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:10px;}
  .result-info h4{margin:0 0 4px;font-family:'Poppins';font-weight:340;font-size:1.1rem;color:var(--ink);line-height:1.25;}
  .result-info .tag{font-size:.85rem;color:var(--ink-soft);text-transform:capitalize;}
  .result-info .completeness-note{display:block;font-size:.75rem;color:var(--ink-soft);margin-top:2px;}
  .result-cond{margin-top:auto;}
  .result-cond select{font-size:.85rem;padding:8px 10px;border-radius:8px;border:1px solid var(--line);font-family:'Inter';font-weight:500;color:#333333;background:#fff;width:170px;}
  .result-right{display:flex;align-items:center;justify-content:flex-start;gap:26px;margin-top:8px;}
  .result-price{display:inline-block;width:100px;text-align:left;font-family:'Inter';font-weight:600;color:var(--green-dark);font-size:1.8rem;white-space:nowrap;}
  .result-price .dollar{font-size:84%;position:relative;top:-1px;}
  .result-price .amount{}
  .result-add{background:#1565f0;color:#fff;border:none;border-radius:10px;padding:14px 30px;font-weight:700;font-size:1.05rem;white-space:nowrap;box-shadow:0 3px 8px rgba(21,101,240,.35);}
  .result-add:hover{background:#0d3fa3;}
  .result-add.added{background:#0d3fa3;}
  @media (max-width:560px){
    .result-row{flex-wrap:wrap;}
    .result-row .thumb, .result-row .thumb-icon{width:140px;height:140px;}
    /* Price length (1–3+ digits) was shrinking the flex-basis of .result-price
       unevenly (default flex-shrink), which moved .result-add left/right and
       could push it outside the card. A grid with a fixed "auto" button
       column removes that dependency: the button's column is sized only by
       the button's own (unchanged) padding/font, never by the price text. */
    .result-right{display:grid;grid-template-columns:1fr auto;align-items:center;gap:26px;}
    .result-price{width:auto;min-width:0;}
    .result-add{justify-self:end;}
  }
  .no-results{color:var(--ink-soft);font-size:.92rem;text-align:center;padding:30px 0;}

  @media (min-width:761px){
    .result-info h4{font-size:calc(1.1rem + 3px);}
    .result-cond select{width:204px;}
    .result-add{padding:16px 39px;font-size:1.21rem;border-radius:11px;}
    .result-right{position:relative;left:-10px;}
    .result-price{position:relative;left:15px;}
  }

  .lightbox-overlay{
    display:none;position:fixed;inset:0;background:rgba(16,18,16,.85);
    z-index:1000;align-items:center;justify-content:center;padding:24px;
  }
  .lightbox-overlay.show{display:flex;}
  .lightbox-overlay img{
    max-width:min(90vw,500px);max-height:80vh;border-radius:10px;
    box-shadow:0 20px 60px rgba(0,0,0,.5);background:#fff;
  }
  .lightbox-close{
    position:absolute;top:20px;right:24px;background:var(--white);color:var(--ink);
    border:none;width:40px;height:40px;border-radius:50%;font-size:1.3rem;cursor:pointer;
    display:flex;align-items:center;justify-content:center;line-height:1;
  }

