@media (max-width: 520px){
  #tpSlRow .tpsl-inline { flex-direction: column; align-items: stretch; }
  #applyTpSlBtn { width: 100%; }
}

@media (max-width: 980px){
  /* 좁으면 TP/SL 옵션들이 자연스럽게 줄바꿈 */
  .tpsl-keep{ padding:0 8px; }
  .tpsl-pct{ min-width:88px; }
}

@media (max-width: 640px){
      .tpsl-block{
        grid-template-columns: minmax(56px, 1.00fr) minmax(72px, 0.80fr) minmax(72px, 0.80fr) 48px;
        gap:7px;
        padding:7px;
      }
      .tpsl-input, .tpsl-pct, .tpsl-keep{ height:34px; }
      .tpsl-keep{ font-size:11px; padding:0 6px; }
      .tpsl-set{ font-size:17px; }
    }

@media (max-width: 520px){
      .tpsl-block{
        grid-template-columns: 1fr 1fr;
        grid-template-rows:auto auto auto;
      }
      #tpPrice{ grid-column:1; grid-row:1; }
      #slPrice{ grid-column:2; grid-row:1; }

      #tpPctSelect{ grid-column:1; grid-row:2; }
      #slPctSelect{ grid-column:2; grid-row:2; }

      #tpKeepToggleLabel{ grid-column:1; grid-row:3; }
      #slKeepToggleLabel{ grid-column:2; grid-row:3; }

      .tpsl-set{
        grid-column:1 / span 2;
        grid-row:4;
        writing-mode: horizontal-tb;
        text-orientation: mixed;
        padding:10px 0;
        font-size:18px;
      }
    }
